Package org.jf.dexlib2.iface.reference
Interface CallSiteReference
- All Superinterfaces:
Reference
- All Known Implementing Classes:
BaseCallSiteReference,BuilderCallSiteReference,DexBackedCallSiteReference,ImmutableCallSiteReference
This class represents a reference to a call site
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.jf.dexlib2.iface.reference.Reference
Reference.InvalidReferenceException -
Method Summary
Modifier and TypeMethodDescriptionbooleanCompares this CallSiteReference to another CallSiteReference for equality.List<? extends EncodedValue> Gets a reference to a method handle for the bootstrap linker methodgetName()Gets a name for this call site.inthashCode()Returns a hashcode for this CallSiteReference.Methods inherited from interface org.jf.dexlib2.iface.reference.Reference
validateReference
-
Method Details
-
getName
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
Gets a reference to a method handle for the bootstrap linker method- Returns:
- A MethodHandleReference to the bootstrap linker method
-
getMethodName
- Returns:
- A method name that the bootstrap linker should resolve.
-
getMethodProto
- Returns:
- A MethodProtoReference corresponding to the prototype of the method that the bootstrap linker should resolve
-
getExtraArguments
- Returns:
- A list of extra arguments to pass to the bootstrap linker
-
hashCode
int hashCode()Returns a hashcode for this CallSiteReference. This hashCode is defined to be the following:int hashCode = getName().hashCode(); hashCode = hashCode*31 + getMethodHandle().hashCode(); hashCode = hashCode*31 + getMethodName().hashCode(); hashCode = hashCode*31 + getMethodProto().hashCode(); hashCode = hashCode*31 + getExtraArguments().hashCode(); -
equals
Compares this CallSiteReference to another CallSiteReference for equality. This CallSiteReference is equal to another CallSiteReference if all of its fields are equal. That is, if the return values of getMethodHandle(), getMethodName(), getMethodProto() and getExtraArguments() are all equal.
-