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>
extraArguments
protected ImmutableMethodHandleReference
methodHandle
protected java.lang.String
methodName
protected ImmutableMethodProtoReference
methodProto
protected java.lang.String
name
-
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()
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.static ImmutableCallSiteReference
of(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: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.- Specified by:
getName
in interfaceCallSiteReference
- 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- Specified by:
getMethodHandle
in interfaceCallSiteReference
- Returns:
- A MethodHandleReference to the bootstrap linker method
-
getMethodName
@Nonnull public java.lang.String getMethodName()
- Specified by:
getMethodName
in interfaceCallSiteReference
- Returns:
- A method name that the bootstrap linker should resolve.
-
getMethodProto
@Nonnull public MethodProtoReference getMethodProto()
- Specified by:
getMethodProto
in 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:
getExtraArguments
in interfaceCallSiteReference
- Returns:
- A list of extra arguments to pass to the bootstrap linker
-
-