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
public class ImmutableCallSiteReference extends BaseCallSiteReference implements ImmutableReference
-
-
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 protected com.google.common.collect.ImmutableList<? extends ImmutableEncodedValue>extraArgumentsprotected ImmutableMethodHandleReferencemethodHandleprotected java.lang.StringmethodNameprotected ImmutableMethodProtoReferencemethodProtoprotected java.lang.Stringname
-
Constructor Summary
Constructors Constructor Description ImmutableCallSiteReference(java.lang.String name, MethodHandleReference methodHandle, java.lang.String methodName, MethodProtoReference methodProto, java.lang.Iterable<? extends EncodedValue> extraArguments)ImmutableCallSiteReference(java.lang.String name, ImmutableMethodHandleReference methodHandle, java.lang.String methodName, ImmutableMethodProtoReference methodProto, com.google.common.collect.ImmutableList<? extends ImmutableEncodedValue> extraArguments)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.List<? extends EncodedValue>getExtraArguments()MethodHandleReferencegetMethodHandle()Gets a reference to a method handle for the bootstrap linker methodjava.lang.StringgetMethodName()MethodProtoReferencegetMethodProto()java.lang.StringgetName()Gets a name for this call site.static ImmutableCallSiteReferenceof(CallSiteReference callSiteReference)-
Methods inherited from class org.jf.dexlib2.base.reference.BaseCallSiteReference
equals, hashCode, toString
-
Methods inherited from class org.jf.dexlib2.base.reference.BaseReference
validateReference
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.jf.dexlib2.iface.reference.Reference
validateReference
-
-
-
-
Field Detail
-
name
@Nonnull protected final java.lang.String name
-
methodHandle
@Nonnull protected final ImmutableMethodHandleReference methodHandle
-
methodName
@Nonnull protected final java.lang.String methodName
-
methodProto
@Nonnull protected final ImmutableMethodProtoReference methodProto
-
extraArguments
@Nonnull protected final com.google.common.collect.ImmutableList<? extends ImmutableEncodedValue> extraArguments
-
-
Constructor Detail
-
ImmutableCallSiteReference
public ImmutableCallSiteReference(@Nonnull java.lang.String name, @Nonnull MethodHandleReference methodHandle, @Nonnull java.lang.String methodName, @Nonnull MethodProtoReference methodProto, @Nonnull java.lang.Iterable<? extends EncodedValue> extraArguments)
-
ImmutableCallSiteReference
public ImmutableCallSiteReference(@Nonnull java.lang.String name, @Nonnull ImmutableMethodHandleReference methodHandle, @Nonnull java.lang.String methodName, @Nonnull ImmutableMethodProtoReference methodProto, @Nullable com.google.common.collect.ImmutableList<? extends ImmutableEncodedValue> extraArguments)
-
-
Method Detail
-
of
@Nonnull public static ImmutableCallSiteReference of(@Nonnull CallSiteReference callSiteReference)
-
getName
@Nonnull public java.lang.String 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
@Nonnull public MethodHandleReference 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
@Nonnull public java.lang.String getMethodName()
- Specified by:
getMethodNamein interfaceCallSiteReference- Returns:
- A method name that the bootstrap linker should resolve.
-
getMethodProto
@Nonnull public MethodProtoReference getMethodProto()
- Specified by:
getMethodProtoin interfaceCallSiteReference- 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()
- Specified by:
getExtraArgumentsin interfaceCallSiteReference- Returns:
- A list of extra arguments to pass to the bootstrap linker
-
-