Package com.android.dx.dex.code
Class CstInsn
java.lang.Object
com.android.dx.dex.code.DalvInsn
com.android.dx.dex.code.FixedSizeInsn
com.android.dx.dex.code.CstInsn
Instruction which has a single constant argument in addition
to all the normal instruction information.
-
Constructor Summary
ConstructorDescriptionCstInsn
(Dop opcode, SourcePosition position, RegisterSpecList registers, Constant constant) Constructs an instance. -
Method Summary
Modifier and TypeMethodDescriptionprotected String
Gets the string form for any arguments to this instance.Helper which returns the comment form of the associated constants for inclusion in a human oriented listing dump.Helper which returns the string form of the associated constants for inclusion in a human oriented listing dump.int
Gets the constant's class index.Gets the constant argument.int
getIndex()
Gets the constant's index.boolean
Returns whether the constant's class index has been set for this instance.boolean
hasIndex()
Returns whether the constant's index has been set for this instance.void
setClassIndex
(int index) Sets the constant's class index.void
setIndex
(int index) Sets the constant's index.withOpcode
(Dop opcode) Returns an instance that is just like this one, except that its opcode is replaced by the one given, and its address is reset.withRegisters
(RegisterSpecList registers) Returns an instance that is just like this one, except that the register list is replaced by the given one, and its address is reset.Methods inherited from class com.android.dx.dex.code.FixedSizeInsn
codeSize, listingString0, withRegisterOffset, writeTo
Methods inherited from class com.android.dx.dex.code.DalvInsn
expandedPrefix, expandedSuffix, expandedVersion, getAddress, getLowRegVersion, getMinimumRegisterRequirement, getNextAddress, getOpcode, getPosition, getRegisters, hasAddress, hasResult, identifierString, listingString, makeMove, setAddress, toString, withMapper
-
Constructor Details
-
CstInsn
Constructs an instance. The output address of this instance is initially unknown (-1
) as is the constant pool index.- Parameters:
opcode
- the opcode; one of the constants fromDops
position
-non-null;
source positionregisters
-non-null;
register list, including a result register if appropriate (that is, registers may be either ins or outs)constant
-non-null;
constant argument
-
-
Method Details
-
withOpcode
Returns an instance that is just like this one, except that its opcode is replaced by the one given, and its address is reset.- Specified by:
withOpcode
in classDalvInsn
- Parameters:
opcode
-non-null;
the new opcode- Returns:
non-null;
an appropriately-constructed instance
-
withRegisters
Returns an instance that is just like this one, except that the register list is replaced by the given one, and its address is reset.- Specified by:
withRegisters
in classDalvInsn
- Parameters:
registers
-non-null;
new register list- Returns:
non-null;
an appropriately-constructed instance
-
getConstant
Gets the constant argument.- Returns:
non-null;
the constant argument
-
getIndex
public int getIndex()Gets the constant's index. It is only valid to call this aftersetIndex(int)
has been called.- Returns:
>= 0;
the constant pool index
-
hasIndex
public boolean hasIndex()Returns whether the constant's index has been set for this instance.- Returns:
true
iff the index has been set- See Also:
-
setIndex
public void setIndex(int index) Sets the constant's index. It is only valid to call this method once per instance.- Parameters:
index
-index >= 0;
the constant pool index
-
getClassIndex
public int getClassIndex()Gets the constant's class index. It is only valid to call this aftersetClassIndex(int)
has been called.- Returns:
>= 0;
the constant's class's constant pool index
-
hasClassIndex
public boolean hasClassIndex()Returns whether the constant's class index has been set for this instance.- Returns:
true
iff the index has been set- See Also:
-
setClassIndex
public void setClassIndex(int index) Sets the constant's class index. This is the constant pool index for the class referred to by this instance's constant. Only reference constants have a class, so it is only on instances with reference constants that this method should ever be called. It is only valid to call this method once per instance.- Parameters:
index
-index >= 0;
the constant's class's constant pool index
-
argString
Gets the string form for any arguments to this instance. Subclasses must override this. -
cstString
Helper which returns the string form of the associated constants for inclusion in a human oriented listing dump. This method is only implemented for instructions with one or more constants. -
cstComment
Helper which returns the comment form of the associated constants for inclusion in a human oriented listing dump. This method is only implemented for instructions with one or more constants.- Overrides:
cstComment
in classDalvInsn
- Returns:
- the comment as a string.
-