Class DexBackedCallSiteReference
- java.lang.Object
-
- org.jf.dexlib2.base.reference.BaseReference
-
- org.jf.dexlib2.base.reference.BaseCallSiteReference
-
- org.jf.dexlib2.dexbacked.reference.DexBackedCallSiteReference
-
- All Implemented Interfaces:
CallSiteReference
,Reference
public class DexBackedCallSiteReference extends BaseCallSiteReference
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.jf.dexlib2.iface.reference.Reference
Reference.InvalidReferenceException
-
-
Field Summary
Fields Modifier and Type Field Description int
callSiteIdOffset
int
callSiteIndex
DexBackedDexFile
dexFile
-
Constructor Summary
Constructors Constructor Description DexBackedCallSiteReference(DexBackedDexFile dexFile, int callSiteIndex)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.List<? extends EncodedValue>
getExtraArguments()
MethodHandleReference
getMethodHandle()
Gets a reference to a method handle for the bootstrap linker methodjava.lang.String
getMethodName()
MethodProtoReference
getMethodProto()
java.lang.String
getName()
Gets a name for this call site.void
validateReference()
Verifies that this reference is valid.-
Methods inherited from class org.jf.dexlib2.base.reference.BaseCallSiteReference
equals, hashCode, toString
-
-
-
-
Field Detail
-
dexFile
@Nonnull public final DexBackedDexFile dexFile
-
callSiteIndex
public final int callSiteIndex
-
callSiteIdOffset
public final int callSiteIdOffset
-
-
Constructor Detail
-
DexBackedCallSiteReference
public DexBackedCallSiteReference(DexBackedDexFile dexFile, int callSiteIndex)
-
-
Method Detail
-
getName
@Nonnull public java.lang.String getName()
Description copied from interface:CallSiteReference
Gets 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.- Returns:
- The name for this call site.
-
getMethodHandle
@Nonnull public MethodHandleReference getMethodHandle()
Description copied from interface:CallSiteReference
Gets a reference to a method handle for the bootstrap linker method- Returns:
- A MethodHandleReference to the bootstrap linker method
-
getMethodName
@Nonnull public java.lang.String getMethodName()
- Returns:
- A method name that the bootstrap linker should resolve.
-
getMethodProto
@Nonnull public MethodProtoReference getMethodProto()
- Returns:
- A MethodProtoReference corresponding to the prototype of the method that the bootstrap linker should resolve
-
getExtraArguments
@Nonnull public java.util.List<? extends EncodedValue> getExtraArguments()
- Returns:
- A list of extra arguments to pass to the bootstrap linker
-
validateReference
public void validateReference() throws Reference.InvalidReferenceException
Description copied from interface:Reference
Verifies that this reference is valid.- Specified by:
validateReference
in interfaceReference
- Overrides:
validateReference
in classBaseReference
- Throws:
Reference.InvalidReferenceException
- If the reference is not valid.
-
-