Package soot.toDex.instructions
Class Insn35c
- java.lang.Object
-
- soot.toDex.instructions.AbstractInsn
-
- soot.toDex.instructions.Insn35c
-
- All Implemented Interfaces:
Cloneable,FiveRegInsn,Insn
public class Insn35c extends AbstractInsn implements FiveRegInsn
The "35c" instruction format: It needs three 16-bit code units, has five registers and is used for method/type items (hence the "c" for "constant pool").
It is used by the "filled-new-array" opcode and the various "invoke-" opcodes.
IMPLEMENTATION NOTE: the wide args for "35c" must be explicitly stated - internally, such args are implicitly represented by e.g. "regD = wide, regE = emptyReg" to avoid using null and to distinguish the first "half" of a wide reg from the second one. this is made explicit ("regD.num, regD.num + 1") while building the real insn and while getting the "real" explicit reg numbers.
-
-
Field Summary
-
Fields inherited from class soot.toDex.instructions.AbstractInsn
opc, regs
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description BitSetgetIncompatibleRegs()protected org.jf.dexlib2.builder.BuilderInstructiongetRealInsn0(LabelAssigner assigner)RegistergetRegA()RegistergetRegD()RegistergetRegE()RegistergetRegF()RegistergetRegG()StringtoString()-
Methods inherited from class soot.toDex.instructions.AbstractInsn
getMinimumRegsNeeded, getOpcode, getRealInsn, getRegs, getSize, hasIncompatibleRegs
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface soot.toDex.instructions.Insn
getMinimumRegsNeeded, getOpcode, getRealInsn, getRegs, getSize, hasIncompatibleRegs
-
-
-
-
Method Detail
-
getRegD
public Register getRegD()
- Specified by:
getRegDin interfaceFiveRegInsn
-
getRegE
public Register getRegE()
- Specified by:
getRegEin interfaceFiveRegInsn
-
getRegF
public Register getRegF()
- Specified by:
getRegFin interfaceFiveRegInsn
-
getRegG
public Register getRegG()
- Specified by:
getRegGin interfaceFiveRegInsn
-
getRegA
public Register getRegA()
- Specified by:
getRegAin interfaceFiveRegInsn
-
getRealInsn0
protected org.jf.dexlib2.builder.BuilderInstruction getRealInsn0(LabelAssigner assigner)
- Specified by:
getRealInsn0in classAbstractInsn
-
getIncompatibleRegs
public BitSet getIncompatibleRegs()
- Specified by:
getIncompatibleRegsin interfaceInsn- Overrides:
getIncompatibleRegsin classAbstractInsn
-
toString
public String toString()
- Overrides:
toStringin classAbstractInsn
-
-