Class ImmutableCallSiteReference
java.lang.Object
org.jf.dexlib2.base.reference.BaseReference
org.jf.dexlib2.base.reference.BaseCallSiteReference
org.jf.dexlib2.immutable.reference.ImmutableCallSiteReference
- All Implemented Interfaces:
CallSiteReference,Reference,ImmutableReference
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.jf.dexlib2.iface.reference.Reference
Reference.InvalidReferenceException -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final com.google.common.collect.ImmutableList<? extends ImmutableEncodedValue> protected final ImmutableMethodHandleReferenceprotected final Stringprotected final ImmutableMethodProtoReferenceprotected final String -
Constructor Summary
ConstructorsConstructorDescriptionImmutableCallSiteReference(String name, MethodHandleReference methodHandle, String methodName, MethodProtoReference methodProto, Iterable<? extends EncodedValue> extraArguments) ImmutableCallSiteReference(String name, ImmutableMethodHandleReference methodHandle, String methodName, ImmutableMethodProtoReference methodProto, com.google.common.collect.ImmutableList<? extends ImmutableEncodedValue> extraArguments) -
Method Summary
Modifier and TypeMethodDescriptionList<? extends EncodedValue> Gets a reference to a method handle for the bootstrap linker methodgetName()Gets a name for this call site.static ImmutableCallSiteReferenceof(CallSiteReference callSiteReference) Methods inherited from class org.jf.dexlib2.base.reference.BaseCallSiteReference
equals, hashCode, toStringMethods inherited from class org.jf.dexlib2.base.reference.BaseReference
validateReferenceMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.jf.dexlib2.iface.reference.Reference
validateReference
-
Field Details
-
name
-
methodHandle
-
methodName
-
methodProto
-
extraArguments
@Nonnull protected final com.google.common.collect.ImmutableList<? extends ImmutableEncodedValue> extraArguments
-
-
Constructor Details
-
ImmutableCallSiteReference
public ImmutableCallSiteReference(@Nonnull String name, @Nonnull MethodHandleReference methodHandle, @Nonnull String methodName, @Nonnull MethodProtoReference methodProto, @Nonnull Iterable<? extends EncodedValue> extraArguments) -
ImmutableCallSiteReference
public ImmutableCallSiteReference(@Nonnull String name, @Nonnull ImmutableMethodHandleReference methodHandle, @Nonnull String methodName, @Nonnull ImmutableMethodProtoReference methodProto, @Nullable com.google.common.collect.ImmutableList<? extends ImmutableEncodedValue> extraArguments)
-
-
Method Details
-
of
-
getName
Description copied from interface:CallSiteReferenceGets a name for this call site. This is an arbitrary synthetic string that serves to differentiate call sites that would otherwise be identical. It can be any arbitrary string, with the only requirement being that 2 different, but otherwise identical call sites in the same dex file must not share the same name. Multiple non-identical call sites may use the same name however.- Specified by:
getNamein interfaceCallSiteReference- Returns:
- The name for this call site.
-
getMethodHandle
Description copied from interface:CallSiteReferenceGets a reference to a method handle for the bootstrap linker method- Specified by:
getMethodHandlein interfaceCallSiteReference- Returns:
- A MethodHandleReference to the bootstrap linker method
-
getMethodName
- Specified by:
getMethodNamein interfaceCallSiteReference- Returns:
- A method name that the bootstrap linker should resolve.
-
getMethodProto
- Specified by:
getMethodProtoin interfaceCallSiteReference- Returns:
- A MethodProtoReference corresponding to the prototype of the method that the bootstrap linker should resolve
-
getExtraArguments
- Specified by:
getExtraArgumentsin interfaceCallSiteReference- Returns:
- A list of extra arguments to pass to the bootstrap linker
-