Package sootup.apk.frontend.instruction
Class DexLibAbstractInstruction
java.lang.Object
sootup.apk.frontend.instruction.DexLibAbstractInstruction
- Direct Known Subclasses:
AgetInstruction
,ArrayLengthInstruction
,Binop2addrInstruction
,BinopInstruction
,BinopLitInstruction
,CastInstruction
,CheckCastInstruction
,CmpInstruction
,ConstClassInstruction
,ConstInstruction
,ConstStringInstruction
,FieldInstruction
,FillArrayDataInstruction
,FilledArrayInstruction
,InstanceOfInstruction
,JumpInstruction
,MethodInvocationInstruction
,MonitorEnterInstruction
,MonitorExitInstruction
,MoveExceptionInstruction
,MoveInstruction
,MoveResultInstruction
,NewArrayInstruction
,NewInstanceInstruction
,NopInstruction
,ReturnInstruction
,ReturnVoidInstruction
,SwitchInstruction
,ThrowInstruction
,UnOpInstruction
This class represents a wrapper around dexlib instruction.
-
Field Summary
Modifier and TypeFieldDescriptionprotected final int
protected final org.jf.dexlib2.iface.instruction.Instruction
protected int
protected Stmt
-
Constructor Summary
ConstructorDescriptionDexLibAbstractInstruction
(org.jf.dexlib2.iface.instruction.Instruction instruction, int codeAddress) -
Method Summary
Modifier and TypeMethodDescriptionorg.jf.dexlib2.iface.instruction.Instruction
int
getStmt()
getUsedRegistersNums
(org.jf.dexlib2.iface.instruction.FiveRegisterInstruction instruction) Return the indices used in the given instruction.getUsedRegistersNums
(org.jf.dexlib2.iface.instruction.RegisterRangeInstruction instruction) Return the indices used in the given instruction.abstract void
Jimplify this instruction.void
setLineNumber
(int lineNumber) protected void
-
Field Details
-
lineNumber
protected int lineNumber -
instruction
protected final org.jf.dexlib2.iface.instruction.Instruction instruction -
codeAddress
protected final int codeAddress -
stmt
-
-
Constructor Details
-
DexLibAbstractInstruction
public DexLibAbstractInstruction(org.jf.dexlib2.iface.instruction.Instruction instruction, int codeAddress) - Parameters:
instruction
- the underlying dexlib instructioncodeAddress
- the bytecode address of this instruction
-
-
Method Details
-
getInstruction
public org.jf.dexlib2.iface.instruction.Instruction getInstruction() -
jimplify
Jimplify this instruction.- Parameters:
body
- to jimplify into.
-
getLineNumber
public int getLineNumber() -
setLineNumber
public void setLineNumber(int lineNumber) -
setStmt
-
getStmt
-
getUsedRegistersNums
protected List<Integer> getUsedRegistersNums(org.jf.dexlib2.iface.instruction.RegisterRangeInstruction instruction) Return the indices used in the given instruction.- Parameters:
instruction
- a range invocation instruction- Returns:
- a list of register indices
-
getUsedRegistersNums
protected List<Integer> getUsedRegistersNums(org.jf.dexlib2.iface.instruction.FiveRegisterInstruction instruction) Return the indices used in the given instruction.- Parameters:
instruction
- a invocation instruction- Returns:
- a list of register indices
-