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
FieldsModifier and TypeFieldDescriptionprotected final intprotected final org.jf.dexlib2.iface.instruction.Instructionprotected intprotected Stmt -
Constructor Summary
ConstructorsConstructorDescriptionDexLibAbstractInstruction(org.jf.dexlib2.iface.instruction.Instruction instruction, int codeAddress) -
Method Summary
Modifier and TypeMethodDescriptionorg.jf.dexlib2.iface.instruction.InstructionintgetStmt()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 voidJimplify this instruction.voidsetLineNumber(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
-