| Package | Description |
|---|---|
| com.android.dx.cf.code |
Implementation of classes having to do with Java simulation, such as
is needed for verification or stack-to-register conversion.
|
| com.android.dx.cf.direct |
Implementation of
cf.iface.* based on a direct representation
of class files as byte[]s. |
| com.android.dx.dex.code | |
| com.android.dx.dex.file | |
| com.android.dx.rop.code |
Classes relating to a register-based opcode system.
|
| com.android.dx.rop.cst |
Interfaces and implementation of things related to the constant pool.
|
| com.android.dx.rop.type |
Implementation of classes that represent types (classes or primitives).
|
| Modifier and Type | Method and Description |
|---|---|
protected Type |
BaseMachine.getAuxType()
Gets the type auxiliary argument.
|
Type |
ReturnAddress.getType()
Gets the type associated with this instance.
|
Type |
LocalVariableList.Item.getType()
Gets the variable's type descriptor.
|
Type |
ExecutionStack.peekType(int n)
Peeks at the
nth element down from the top of the
stack, returning the type per se, as opposed to the
type-bearer. |
| Modifier and Type | Method and Description |
|---|---|
void |
Machine.auxType(Type type)
Indicates that the salient type of this operation is as
given.
|
void |
BaseMachine.auxType(Type type)
Indicates that the salient type of this operation is as
given.
|
void |
Machine.localTarget(int idx,
Type type,
LocalItem local)
Indicates that the target of this operation is the given local.
|
void |
BaseMachine.localTarget(int idx,
Type type,
LocalItem local)
Indicates that the target of this operation is the given local.
|
void |
LocalsArraySet.makeInitialized(Type type)
Replaces all the occurrences of the given uninitialized type in
this array with its initialized equivalent.
|
abstract void |
LocalsArray.makeInitialized(Type type)
Replaces all the occurrences of the given uninitialized type in
this array with its initialized equivalent.
|
void |
Frame.makeInitialized(Type type)
Replaces all the occurrences of the given uninitialized type in
this frame with its initialized equivalent.
|
void |
OneLocalsArray.makeInitialized(Type type)
Replaces all the occurrences of the given uninitialized type in
this array with its initialized equivalent.
|
void |
ExecutionStack.makeInitialized(Type type)
Replaces all the occurrences of the given uninitialized type in
this stack with its initialized equivalent.
|
void |
Machine.popArgs(Frame frame,
Type type)
Pops a value from the stack of the indicated type, and store it
in the arguments area, indicating that there are now that many
arguments.
|
void |
BaseMachine.popArgs(Frame frame,
Type type) |
void |
Machine.popArgs(Frame frame,
Type type1,
Type type2)
Pops values from the stack of the indicated types (popped in
reverse argument order, so the first indicated type is for the
deepest element of the stack), and store them in the arguments
area, indicating that there are now that many arguments.
|
void |
BaseMachine.popArgs(Frame frame,
Type type1,
Type type2)
Pops values from the stack of the indicated types (popped in
reverse argument order, so the first indicated type is for the
deepest element of the stack), and store them in the arguments
area, indicating that there are now that many arguments.
|
void |
Machine.popArgs(Frame frame,
Type type1,
Type type2,
Type type3)
Pops values from the stack of the indicated types (popped in
reverse argument order, so the first indicated type is for the
deepest element of the stack), and store them in the arguments
area, indicating that there are now that many arguments.
|
void |
BaseMachine.popArgs(Frame frame,
Type type1,
Type type2,
Type type3)
Pops values from the stack of the indicated types (popped in
reverse argument order, so the first indicated type is for the
deepest element of the stack), and store them in the arguments
area, indicating that there are now that many arguments.
|
void |
BytecodeArray.Visitor.visitLocal(int opcode,
int offset,
int length,
int idx,
Type type,
int value)
Visits an instruction which has a local variable index argument.
|
void |
BytecodeArray.BaseVisitor.visitLocal(int opcode,
int offset,
int length,
int idx,
Type type,
int value)
Visits an instruction which has a local variable index argument.
|
void |
BasicBlocker.visitLocal(int opcode,
int offset,
int length,
int idx,
Type type,
int value)
Visits an instruction which has a local variable index argument.
|
void |
BytecodeArray.Visitor.visitNoArgs(int opcode,
int offset,
int length,
Type type)
Visits an instruction which has no inline arguments
(implicit or explicit).
|
void |
BytecodeArray.BaseVisitor.visitNoArgs(int opcode,
int offset,
int length,
Type type)
Visits an instruction which has no inline arguments
(implicit or explicit).
|
void |
BasicBlocker.visitNoArgs(int opcode,
int offset,
int length,
Type type)
Visits an instruction which has no inline arguments
(implicit or explicit).
|
| Modifier and Type | Method and Description |
|---|---|
void |
CodeObserver.visitLocal(int opcode,
int offset,
int length,
int idx,
Type type,
int value)
Visits an instruction which has a local variable index argument.
|
void |
CodeObserver.visitNoArgs(int opcode,
int offset,
int length,
Type type)
Visits an instruction which has no inline arguments
(implicit or explicit).
|
| Modifier and Type | Method and Description |
|---|---|
java.util.HashSet<Type> |
CatchBuilder.getCatchTypes()
Gets the set of catch types associated with this instance.
|
java.util.HashSet<Type> |
StdCatchBuilder.getCatchTypes()
Gets the set of catch types associated with this instance.
|
java.util.HashSet<Type> |
DalvCode.getCatchTypes()
Gets the set of catch types handled anywhere in the code.
|
| Modifier and Type | Method and Description |
|---|---|
int |
TypeIdsSection.indexOf(Type type)
Gets the index of the given type, which must have
been added to this instance.
|
TypeIdItem |
TypeIdsSection.intern(Type type)
Interns an element into this instance.
|
| Modifier and Type | Field and Description |
|---|---|
static Type |
Exceptions.TYPE_ArithmeticException
non-null; the type java.lang.ArithmeticException |
static Type |
Exceptions.TYPE_ArrayIndexOutOfBoundsException
non-null; the type
java.lang.ArrayIndexOutOfBoundsException |
static Type |
Exceptions.TYPE_ArrayStoreException
non-null; the type java.lang.ArrayStoreException |
static Type |
Exceptions.TYPE_ClassCastException
non-null; the type java.lang.ClassCastException |
static Type |
Exceptions.TYPE_Error
non-null; the type java.lang.Error |
static Type |
Exceptions.TYPE_IllegalMonitorStateException
non-null; the type
java.lang.IllegalMonitorStateException |
static Type |
Exceptions.TYPE_NegativeArraySizeException
non-null; the type java.lang.NegativeArraySizeException |
static Type |
Exceptions.TYPE_NullPointerException
non-null; the type java.lang.NullPointerException |
| Modifier and Type | Method and Description |
|---|---|
Type |
Rop.getResult()
Gets the result type.
|
Type |
RegisterSpec.getType()
Gets the type associated with this instance.
|
Type |
RegisterSpecList.getType(int n)
Gets the indicated element.
|
| Modifier and Type | Method and Description |
|---|---|
Insn |
PlainCstInsn.withAddedCatch(Type type)
Returns an instance that is just like this one, except that it
has a catch list with the given item appended to the end.
|
abstract Insn |
Insn.withAddedCatch(Type type)
Returns an instance that is just like this one, except that it
has a catch list with the given item appended to the end.
|
Insn |
PlainInsn.withAddedCatch(Type type)
Returns an instance that is just like this one, except that it
has a catch list with the given item appended to the end.
|
Insn |
ThrowingInsn.withAddedCatch(Type type)
Returns an instance that is just like this one, except that it
has a catch list with the given item appended to the end.
|
Insn |
ThrowingCstInsn.withAddedCatch(Type type)
Returns an instance that is just like this one, except that it
has a catch list with the given item appended to the end.
|
Insn |
SwitchInsn.withAddedCatch(Type type)
Returns an instance that is just like this one, except that it
has a catch list with the given item appended to the end.
|
Insn |
InvokePolymorphicInsn.withAddedCatch(Type type)
Returns an instance that is just like this one, except that it
has a catch list with the given item appended to the end.
|
Insn |
FillArrayDataInsn.withAddedCatch(Type type)
Returns an instance that is just like this one, except that it
has a catch list with the given item appended to the end.
|
TypeList |
RegisterSpecList.withAddedType(Type type)
Returns a new instance which is identical to this one, except that
the given item is appended to the end and it is guaranteed to be
immutable.
|
| Constructor and Description |
|---|
Rop(int opcode,
Type result,
TypeList sources,
int branchingness,
java.lang.String nickname)
Constructs a no-exception instance.
|
Rop(int opcode,
Type result,
TypeList sources,
java.lang.String nickname)
Constructs a non-branching no-exception instance.
|
Rop(int opcode,
Type result,
TypeList sources,
TypeList exceptions,
int branchingness,
boolean isCallLike,
java.lang.String nickname)
Constructs an instance.
|
Rop(int opcode,
Type result,
TypeList sources,
TypeList exceptions,
int branchingness,
java.lang.String nickname)
Constructs an instance.
|
Rop(int opcode,
Type result,
TypeList sources,
TypeList exceptions,
java.lang.String nickname)
Constructs a non-empty exceptions instance.
|
| Modifier and Type | Method and Description |
|---|---|
Type |
CstType.getClassType()
Gets the underlying type (as opposed to the type corresponding
to this instance as a constant, which is always
Class). |
Type |
CstNat.getFieldType()
Gets the field type corresponding to this instance's descriptor.
|
Type |
CstCallSiteRef.getReturnType()
Gets the return type of the method handle resolved at the call site.
|
Type |
CstInvokeDynamic.getReturnType()
Gets the return type.
|
Type |
CstFloat.getType()
Gets the type associated with this instance.
|
Type |
CstBaseMethodRef.getType()
Gets the type associated with this instance.
|
Type |
CstByte.getType()
Gets the type associated with this instance.
|
Type |
CstShort.getType()
Gets the type associated with this instance.
|
Type |
CstBoolean.getType()
Gets the type associated with this instance.
|
Type |
CstInteger.getType()
Gets the type associated with this instance.
|
Type |
CstKnownNull.getType()
Gets the type associated with this instance.
|
Type |
CstDouble.getType()
Gets the type associated with this instance.
|
Type |
CstLong.getType()
Gets the type associated with this instance.
|
Type |
CstProtoRef.getType() |
Type |
CstChar.getType()
Gets the type associated with this instance.
|
Type |
CstEnumRef.getType()
Gets the type associated with this instance.
|
Type |
CstMethodHandle.getType() |
Type |
CstType.getType()
Gets the type associated with this instance.
|
Type |
CstFieldRef.getType()
Returns the type of this field.
|
Type |
CstString.getType() |
| Modifier and Type | Method and Description |
|---|---|
static CstType |
CstType.forBoxedPrimitiveType(Type primitiveType)
Returns an instance of this class that represents the wrapper
class corresponding to a given primitive type.
|
static CstFieldRef |
CstFieldRef.forPrimitiveType(Type primitiveType)
Returns an instance of this class that represents the static
field which should hold the class corresponding to a given
primitive type.
|
static CstType |
CstType.intern(Type type)
Returns an interned instance of this class for the given type.
|
static Constant |
Zeroes.zeroFor(Type type)
Gets the "zero" (or
null) value for the given type. |
| Constructor and Description |
|---|
CstType(Type type)
Constructs an instance.
|
| Modifier and Type | Field and Description |
|---|---|
static Type |
Type.ANNOTATION
non-null; instance representing
java.lang.annotation.Annotation |
static Type |
Type.BOOLEAN
non-null; instance representing boolean |
static Type |
Type.BOOLEAN_ARRAY
non-null; instance representing boolean[] |
static Type |
Type.BOOLEAN_CLASS
non-null; instance representing java.lang.Boolean; the
suffix on the name helps disambiguate this from the instance
representing a primitive type |
static Type |
Type.BYTE
non-null; instance representing byte |
static Type |
Type.BYTE_ARRAY
non-null; instance representing byte[] |
static Type |
Type.BYTE_CLASS
non-null; instance representing java.lang.Byte; the
suffix on the name helps disambiguate this from the instance
representing a primitive type |
static Type |
Type.CHAR
non-null; instance representing char |
static Type |
Type.CHAR_ARRAY
non-null; instance representing char[] |
static Type |
Type.CHARACTER_CLASS
non-null; instance representing java.lang.Character; the
suffix on the name helps disambiguate this from the instance
representing a primitive type |
static Type |
Type.CLASS
non-null; instance representing java.lang.Class |
static Type |
Type.CLONEABLE
non-null; instance representing java.lang.Cloneable |
static Type |
Type.DOUBLE
non-null; instance representing double |
static Type |
Type.DOUBLE_ARRAY
non-null; instance representing double[] |
static Type |
Type.DOUBLE_CLASS
non-null; instance representing java.lang.Double; the
suffix on the name helps disambiguate this from the instance
representing a primitive type |
static Type |
Type.FLOAT
non-null; instance representing float |
static Type |
Type.FLOAT_ARRAY
non-null; instance representing float[] |
static Type |
Type.FLOAT_CLASS
non-null; instance representing java.lang.Float; the
suffix on the name helps disambiguate this from the instance
representing a primitive type |
static Type |
Type.INT
non-null; instance representing int |
static Type |
Type.INT_ARRAY
non-null; instance representing int[] |
static Type |
Type.INTEGER_CLASS
non-null; instance representing java.lang.Integer; the
suffix on the name helps disambiguate this from the instance
representing a primitive type |
static Type |
Type.KNOWN_NULL
non-null; instance representing a known-null |
static Type |
Type.LONG
non-null; instance representing long |
static Type |
Type.LONG_ARRAY
non-null; instance representing long[] |
static Type |
Type.LONG_CLASS
non-null; instance representing java.lang.Long; the
suffix on the name helps disambiguate this from the instance
representing a primitive type |
static Type |
Type.METHOD_HANDLE
non-null; instance representing java.lang.invoke.MethodHandle |
static Type |
Type.METHOD_TYPE
non-null; instance representing java.lang.invoke.MethodType |
static Type |
Type.OBJECT
non-null; instance representing java.lang.Object |
static Type |
Type.OBJECT_ARRAY
non-null; instance representing Object[] |
static Type |
Type.RETURN_ADDRESS
non-null; instance representing a subroutine return address |
static Type |
Type.SERIALIZABLE
non-null; instance representing java.io.Serializable |
static Type |
Type.SHORT
non-null; instance representing short |
static Type |
Type.SHORT_ARRAY
non-null; instance representing short[] |
static Type |
Type.SHORT_CLASS
non-null; instance representing java.lang.Short; the
suffix on the name helps disambiguate this from the instance
representing a primitive type |
static Type |
Type.STRING
non-null; instance representing java.lang.String |
static Type |
Type.THROWABLE
non-null; instance representing java.lang.Throwable |
static Type |
Type.VAR_HANDLE
non-null; instance representing java.lang.invoke.VarHandle |
static Type |
Type.VOID
non-null; instance representing void |
static Type |
Type.VOID_CLASS
non-null; instance representing java.lang.Void; the
suffix on the name helps disambiguate this from the instance
representing a primitive type |
| Modifier and Type | Method and Description |
|---|---|
Type |
Type.asUninitialized(int newAt)
Returns a new interned instance which is identical to this one, except
it is indicated as uninitialized and allocated at the given bytecode
index.
|
Type |
StdTypeList.get(int n)
Gets the indicated element.
|
Type |
Type.getArrayType()
Gets the type corresponding to an array of this type.
|
Type |
Type.getComponentType()
Gets the component type of this type.
|
Type |
Type.getFrameType()
Gets the frame type corresponding to this type.
|
Type |
Type.getInitializedType()
Gets the initialized type corresponding to this instance, but only
if this instance is in fact an uninitialized object type.
|
Type |
Prototype.getReturnType()
Gets the return type.
|
Type |
TypeBearer.getType()
Gets the type associated with this instance.
|
Type |
Type.getType()
Gets the type associated with this instance.
|
Type |
StdTypeList.getType(int n)
Gets the indicated element.
|
Type |
TypeList.getType(int n)
Gets the indicated element.
|
static Type |
Type.intern(java.lang.String descriptor)
Returns the unique instance corresponding to the type with the
given descriptor.
|
static Type |
Type.internClassName(java.lang.String name)
Returns the unique instance corresponding to the type of the
class with the given name.
|
static Type |
Type.internReturnType(java.lang.String descriptor)
Returns the unique instance corresponding to the type with the
given descriptor, allowing
"V" to return the type
for void. |
| Modifier and Type | Method and Description |
|---|---|
int |
Type.compareTo(Type other) |
static Prototype |
Prototype.intern(java.lang.String descriptor,
Type definer,
boolean isStatic,
boolean isInit)
Interns an instance, adding to the descriptor as necessary based
on the given definer, name, and flags.
|
static Prototype |
Prototype.internInts(Type returnType,
int count)
Interns an instance which consists of the given number of
ints along with the given return type |
static StdTypeList |
StdTypeList.make(Type type)
Makes a single-element instance.
|
static StdTypeList |
StdTypeList.make(Type type0,
Type type1)
Makes a two-element instance.
|
static StdTypeList |
StdTypeList.make(Type type0,
Type type1,
Type type2)
Makes a three-element instance.
|
static StdTypeList |
StdTypeList.make(Type type0,
Type type1,
Type type2,
Type type3)
Makes a four-element instance.
|
void |
StdTypeList.set(int n,
Type type)
Sets the type at the given index.
|
TypeList |
StdTypeList.withAddedType(Type type)
Returns a new instance which is identical to this one, except that
the given item is appended to the end and it is guaranteed to be
immutable.
|
TypeList |
TypeList.withAddedType(Type type)
Returns a new instance which is identical to this one, except that
the given item is appended to the end and it is guaranteed to be
immutable.
|
StdTypeList |
StdTypeList.withFirst(Type type)
Returns a new instance, which is the same as this instance,
except that it has an additional type prepended to the
original.
|
Prototype |
Prototype.withFirstParameter(Type param)
Returns a new interned instance, which is the same as this instance,
except that it has an additional parameter prepended to the original's
argument list.
|
Copyright © 2020. All Rights Reserved.