public class Jimple
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
ABSTRACT |
static java.lang.String |
ANNOTATION |
static java.lang.String |
BOOLEAN |
static java.lang.String |
BREAK |
static java.lang.String |
BREAKPOINT |
static java.lang.String |
BYTE |
static java.lang.String |
CASE |
static java.lang.String |
CATCH |
static java.lang.String |
CHAR |
static java.lang.String |
CLASS |
static java.lang.String |
CLS |
static java.lang.String |
CMP |
static java.lang.String |
CMPG |
static java.lang.String |
CMPL |
static java.lang.String |
DEFAULT |
static java.lang.String |
DOUBLE |
static java.lang.String |
DYNAMICINVOKE |
static java.lang.String |
ENTERMONITOR |
static java.lang.String |
ENUM |
static java.lang.String |
EXITMONITOR |
static java.lang.String |
EXTENDS |
static java.lang.String |
FALSE |
static java.lang.String |
FINAL |
static java.lang.String |
FLOAT |
static java.lang.String |
FROM |
static java.lang.String |
GOTO |
static java.lang.String |
IF |
static java.lang.String |
IMPLEMENTS |
static java.lang.String |
INSTANCEOF |
static java.lang.String |
INT |
static java.lang.String |
INTERFACE |
static java.lang.String |
INTERFACEINVOKE |
static java.lang.String |
LENGTHOF |
static java.lang.String |
LONG |
static java.lang.String |
LOOKUPSWITCH |
static java.lang.String |
NATIVE |
static java.lang.String |
NEG |
static java.lang.String |
NEW |
static java.lang.String |
NEWARRAY |
static java.lang.String |
NEWMULTIARRAY |
static java.lang.String |
NOP |
static java.lang.String |
NULL |
static java.lang.String |
NULL_TYPE |
static java.lang.String |
PRIVATE |
static java.lang.String |
PROTECTED |
static java.lang.String |
PUBLIC |
static java.lang.String |
RET |
static java.lang.String |
RETURN |
static java.lang.String |
SHORT |
static java.lang.String |
SPECIALINVOKE |
static java.lang.String |
STATIC |
static java.lang.String |
STATICINVOKE |
static java.lang.String |
STRICTFP |
static java.lang.String |
SYNCHRONIZED |
static java.lang.String |
TABLESWITCH |
static java.lang.String |
THROW |
static java.lang.String |
THROWS |
static java.lang.String |
TO |
static java.lang.String |
TRANSIENT |
static java.lang.String |
TRUE |
static java.lang.String |
UNKNOWN |
static java.lang.String |
VIRTUALINVOKE |
static java.lang.String |
VOID |
static java.lang.String |
VOLATILE |
static java.lang.String |
WITH |
Constructor and Description |
---|
Jimple(Singletons.Global g) |
Modifier and Type | Method and Description |
---|---|
static Value |
cloneIfNecessary(Value val) |
static boolean |
isJavaKeywordType(Type t) |
static java.util.List<java.lang.String> |
jimpleKeywordList() |
AddExpr |
newAddExpr(Value op1,
Value op2)
Constructs a AddExpr(Immediate, Immediate) grammar chunk.
|
AndExpr |
newAndExpr(Value op1,
Value op2)
Constructs a AndExpr(Immediate, Immediate) grammar chunk.
|
ValueBox |
newArgBox(Value value) |
ArrayRef |
newArrayRef(Value base,
Value index)
Constructs a ArrayRef(Local, Immediate) grammar chunk.
|
AssignStmt |
newAssignStmt(Value variable,
Value rvalue)
Constructs a AssignStmt(Variable, RValue) grammar chunk.
|
JimpleBody |
newBody()
Returns an empty JimpleBody with no associated method.
|
JimpleBody |
newBody(SootMethod m)
Returns an empty JimpleBody associated with method m.
|
BreakpointStmt |
newBreakpointStmt()
Constructs a BreakpointStmt() grammar chunk.
|
CastExpr |
newCastExpr(Value op1,
Type t)
Constructs a CastExpr(Immediate, Type) grammar chunk.
|
CaughtExceptionRef |
newCaughtExceptionRef()
Constructs a CaughtExceptionRef() grammar chunk.
|
CmpExpr |
newCmpExpr(Value op1,
Value op2)
Constructs a CmpExpr(Immediate, Immediate) grammar chunk.
|
CmpgExpr |
newCmpgExpr(Value op1,
Value op2)
Constructs a CmpgExpr(Immediate, Immediate) grammar chunk.
|
CmplExpr |
newCmplExpr(Value op1,
Value op2)
Constructs a CmplExpr(Immediate, Immediate) grammar chunk.
|
ValueBox |
newConditionExprBox(Value value) |
DivExpr |
newDivExpr(Value op1,
Value op2)
Constructs a DivExpr(Immediate, Immediate) grammar chunk.
|
DynamicInvokeExpr |
newDynamicInvokeExpr(SootMethodRef bootstrapMethodRef,
java.util.List<? extends Value> bootstrapArgs,
SootMethodRef methodRef,
int tag,
java.util.List<? extends Value> args)
Constructs a NewDynamicInvokeExpr(SootMethodRef bootstrapMethodRef, List
bootstrapArgs, SootMethodRef methodRef, List args) grammar chunk.
|
DynamicInvokeExpr |
newDynamicInvokeExpr(SootMethodRef bootstrapMethodRef,
java.util.List<? extends Value> bootstrapArgs,
SootMethodRef methodRef,
java.util.List<? extends Value> args)
Constructs a NewDynamicInvokeExpr(SootMethodRef bootstrapMethodRef, List
bootstrapArgs, SootMethodRef methodRef, List args) grammar chunk.
|
EnterMonitorStmt |
newEnterMonitorStmt(Value op)
Constructs a EnterMonitorStmt(Immediate) grammar chunk.
|
EqExpr |
newEqExpr(Value op1,
Value op2)
Constructs a EqExpr(Immediate, Immediate) grammar chunk.
|
ExitMonitorStmt |
newExitMonitorStmt(Value op)
Constructs a ExitMonitorStmt(Immediate) grammar chunk
|
GeExpr |
newGeExpr(Value op1,
Value op2)
Constructs a GeExpr(Immediate, Immediate) grammar chunk.
|
GotoStmt |
newGotoStmt(Unit target)
Constructs a GotoStmt(Stmt) grammar chunk.
|
GotoStmt |
newGotoStmt(UnitBox stmtBox) |
GtExpr |
newGtExpr(Value op1,
Value op2)
Constructs a GtExpr(Immediate, Immediate) grammar chunk.
|
ValueBox |
newIdentityRefBox(Value value) |
IdentityStmt |
newIdentityStmt(Value local,
Value identityRef)
Constructs a IdentityStmt(Local, IdentityRef) grammar chunk.
|
IfStmt |
newIfStmt(Value condition,
Unit target)
Constructs a IfStmt(Condition, Stmt) grammar chunk.
|
IfStmt |
newIfStmt(Value condition,
UnitBox target)
Constructs a IfStmt(Condition, UnitBox) grammar chunk.
|
ValueBox |
newImmediateBox(Value value) |
InstanceFieldRef |
newInstanceFieldRef(Value base,
SootFieldRef f)
Constructs a InstanceFieldRef(Local, SootFieldRef) grammar chunk.
|
InstanceOfExpr |
newInstanceOfExpr(Value op1,
Type t)
Constructs a InstanceOfExpr(Immediate, Type) grammar chunk.
|
InterfaceInvokeExpr |
newInterfaceInvokeExpr(Local base,
SootMethodRef method) |
InterfaceInvokeExpr |
newInterfaceInvokeExpr(Local base,
SootMethodRef method,
java.util.List<? extends Value> args)
Constructs a NewInterfaceInvokeExpr(Local base, SootMethodRef method,
List of Immediate) grammar chunk.
|
InterfaceInvokeExpr |
newInterfaceInvokeExpr(Local base,
SootMethodRef method,
Value... args)
Constructs a NewInterfaceInvokeExpr(Local base, SootMethodRef method,
List of Immediate) grammar chunk.
|
InterfaceInvokeExpr |
newInterfaceInvokeExpr(Local base,
SootMethodRef method,
Value arg) |
ValueBox |
newInvokeExprBox(Value value) |
InvokeStmt |
newInvokeStmt(Value op)
Constructs a InvokeStmt(InvokeExpr) grammar chunk.
|
LeExpr |
newLeExpr(Value op1,
Value op2)
Constructs a LeExpr(Immediate, Immediate) grammar chunk.
|
LengthExpr |
newLengthExpr(Value op)
Constructs a LengthExpr(Immediate) grammar chunk.
|
Local |
newLocal(java.lang.String name,
Type t)
Constructs a Local with the given name and type.
|
ValueBox |
newLocalBox(Value value) |
LookupSwitchStmt |
newLookupSwitchStmt(Value key,
java.util.List<IntConstant> lookupValues,
java.util.List<? extends Unit> targets,
Unit defaultTarget)
Constructs a LookupSwitchStmt(Immediate, List of Immediate, List of Unit,
Stmt) grammar chunk.
|
LookupSwitchStmt |
newLookupSwitchStmt(Value key,
java.util.List<IntConstant> lookupValues,
java.util.List<? extends UnitBox> targets,
UnitBox defaultTarget) |
LtExpr |
newLtExpr(Value op1,
Value op2)
Constructs a LtExpr(Immediate, Immediate) grammar chunk.
|
MulExpr |
newMulExpr(Value op1,
Value op2)
Constructs a MulExpr(Immediate, Immediate) grammar chunk.
|
NeExpr |
newNeExpr(Value op1,
Value op2)
Constructs a NeExpr(Immediate, Immediate) grammar chunk.
|
NegExpr |
newNegExpr(Value op)
Constructs a NegExpr(Immediate, Immediate) grammar chunk.
|
NewArrayExpr |
newNewArrayExpr(Type type,
Value size)
Constructs a NewArrayExpr(Type, Immediate) grammar chunk.
|
NewExpr |
newNewExpr(RefType type)
Constructs a NewExpr(RefType) grammar chunk.
|
NewMultiArrayExpr |
newNewMultiArrayExpr(ArrayType type,
java.util.List<? extends Value> sizes)
Constructs a NewMultiArrayExpr(ArrayType, List of Immediate) grammar
chunk.
|
NopStmt |
newNopStmt()
Constructs a NopStmt() grammar chunk.
|
OrExpr |
newOrExpr(Value op1,
Value op2)
Constructs a OrExpr(Immediate, Immediate) grammar chunk.
|
ParameterRef |
newParameterRef(Type paramType,
int number)
Constructs a ParameterRef(SootMethod, int) grammar chunk.
|
RemExpr |
newRemExpr(Value op1,
Value op2)
Constructs a RemExpr(Immediate, Immediate) grammar chunk.
|
RetStmt |
newRetStmt(Value stmtAddress)
Constructs a RetStmt(Local) grammar chunk.
|
ReturnStmt |
newReturnStmt(Value op)
Constructs a ReturnStmt(Immediate) grammar chunk.
|
ReturnVoidStmt |
newReturnVoidStmt()
Constructs a ReturnVoidStmt() grammar chunk.
|
ValueBox |
newRValueBox(Value value) |
ShlExpr |
newShlExpr(Value op1,
Value op2)
Constructs a ShlExpr(Immediate, Immediate) grammar chunk.
|
ShrExpr |
newShrExpr(Value op1,
Value op2)
Constructs a ShrExpr(Immediate, Immediate) grammar chunk.
|
SpecialInvokeExpr |
newSpecialInvokeExpr(Local base,
SootMethodRef method) |
SpecialInvokeExpr |
newSpecialInvokeExpr(Local base,
SootMethodRef method,
java.util.List<? extends Value> args)
Constructs a NewSpecialInvokeExpr(Local base, SootMethodRef method, List
of Immediate) grammar chunk.
|
SpecialInvokeExpr |
newSpecialInvokeExpr(Local base,
SootMethodRef method,
Value... args)
Constructs a NewSpecialInvokeExpr(Local base, SootMethodRef method, List
of Immediate) grammar chunk.
|
SpecialInvokeExpr |
newSpecialInvokeExpr(Local base,
SootMethodRef method,
Value arg) |
StaticFieldRef |
newStaticFieldRef(SootFieldRef f)
Constructs a StaticFieldRef(SootFieldRef) grammar chunk.
|
StaticInvokeExpr |
newStaticInvokeExpr(SootMethodRef method) |
StaticInvokeExpr |
newStaticInvokeExpr(SootMethodRef method,
java.util.List<? extends Value> args)
Constructs a NewStaticInvokeExpr(ArrayType, List of Immediate) grammar
chunk.
|
StaticInvokeExpr |
newStaticInvokeExpr(SootMethodRef method,
Value... args) |
StaticInvokeExpr |
newStaticInvokeExpr(SootMethodRef method,
Value arg) |
UnitBox |
newStmtBox(Unit unit) |
SubExpr |
newSubExpr(Value op1,
Value op2)
Constructs a SubExpr(Immediate, Immediate) grammar chunk.
|
TableSwitchStmt |
newTableSwitchStmt(Value key,
int lowIndex,
int highIndex,
java.util.List<? extends Unit> targets,
Unit defaultTarget)
Constructs a TableSwitchStmt(Immediate, int, int, List of Unit, Stmt)
grammar chunk.
|
TableSwitchStmt |
newTableSwitchStmt(Value key,
int lowIndex,
int highIndex,
java.util.List<? extends UnitBox> targets,
UnitBox defaultTarget) |
ThisRef |
newThisRef(RefType t)
Constructs a ThisRef(RefType) grammar chunk.
|
ThrowStmt |
newThrowStmt(Value op)
Constructs a ThrowStmt(Immediate) grammar chunk.
|
Trap |
newTrap(SootClass exception,
UnitBox beginStmt,
UnitBox endStmt,
UnitBox handlerStmt) |
Trap |
newTrap(SootClass exception,
Unit beginStmt,
Unit endStmt,
Unit handlerStmt)
Constructs a new JTrap for the given exception on the given Stmt range
with the given Stmt handler.
|
UshrExpr |
newUshrExpr(Value op1,
Value op2)
Constructs a UshrExpr(Immediate, Immediate) grammar chunk.
|
ValueBox |
newVariableBox(Value value) |
VirtualInvokeExpr |
newVirtualInvokeExpr(Local base,
SootMethodRef method) |
VirtualInvokeExpr |
newVirtualInvokeExpr(Local base,
SootMethodRef method,
java.util.List<? extends Value> args)
Constructs a NewVirtualInvokeExpr(Local base, SootMethodRef method, List
of Immediate) grammar chunk.
|
VirtualInvokeExpr |
newVirtualInvokeExpr(Local base,
SootMethodRef method,
Value... args)
Constructs a NewVirtualInvokeExpr(Local base, SootMethodRef method, List
of Immediate) grammar chunk.
|
VirtualInvokeExpr |
newVirtualInvokeExpr(Local base,
SootMethodRef method,
Value arg) |
XorExpr |
newXorExpr(Value op1,
Value op2)
Constructs a XorExpr(Immediate, Immediate) grammar chunk.
|
static Jimple |
v() |
public static final java.lang.String NEWARRAY
public static final java.lang.String NEWMULTIARRAY
public static final java.lang.String NOP
public static final java.lang.String RET
public static final java.lang.String SPECIALINVOKE
public static final java.lang.String DYNAMICINVOKE
public static final java.lang.String STATICINVOKE
public static final java.lang.String TABLESWITCH
public static final java.lang.String VIRTUALINVOKE
public static final java.lang.String NULL_TYPE
public static final java.lang.String UNKNOWN
public static final java.lang.String CMP
public static final java.lang.String CMPG
public static final java.lang.String CMPL
public static final java.lang.String ENTERMONITOR
public static final java.lang.String EXITMONITOR
public static final java.lang.String INTERFACEINVOKE
public static final java.lang.String LENGTHOF
public static final java.lang.String LOOKUPSWITCH
public static final java.lang.String NEG
public static final java.lang.String IF
public static final java.lang.String ABSTRACT
public static final java.lang.String BOOLEAN
public static final java.lang.String BREAK
public static final java.lang.String BYTE
public static final java.lang.String CASE
public static final java.lang.String CATCH
public static final java.lang.String CHAR
public static final java.lang.String CLASS
public static final java.lang.String FINAL
public static final java.lang.String NATIVE
public static final java.lang.String PUBLIC
public static final java.lang.String PROTECTED
public static final java.lang.String PRIVATE
public static final java.lang.String STATIC
public static final java.lang.String SYNCHRONIZED
public static final java.lang.String TRANSIENT
public static final java.lang.String VOLATILE
public static final java.lang.String STRICTFP
public static final java.lang.String ENUM
public static final java.lang.String ANNOTATION
public static final java.lang.String INTERFACE
public static final java.lang.String VOID
public static final java.lang.String SHORT
public static final java.lang.String INT
public static final java.lang.String LONG
public static final java.lang.String FLOAT
public static final java.lang.String DOUBLE
public static final java.lang.String EXTENDS
public static final java.lang.String IMPLEMENTS
public static final java.lang.String BREAKPOINT
public static final java.lang.String DEFAULT
public static final java.lang.String GOTO
public static final java.lang.String INSTANCEOF
public static final java.lang.String NEW
public static final java.lang.String RETURN
public static final java.lang.String THROW
public static final java.lang.String THROWS
public static final java.lang.String NULL
public static final java.lang.String FROM
public static final java.lang.String TO
public static final java.lang.String WITH
public static final java.lang.String CLS
public static final java.lang.String TRUE
public static final java.lang.String FALSE
public static Jimple v()
public static java.util.List<java.lang.String> jimpleKeywordList()
public static boolean isJavaKeywordType(Type t)
public XorExpr newXorExpr(Value op1, Value op2)
public UshrExpr newUshrExpr(Value op1, Value op2)
public SubExpr newSubExpr(Value op1, Value op2)
public ShrExpr newShrExpr(Value op1, Value op2)
public ShlExpr newShlExpr(Value op1, Value op2)
public RemExpr newRemExpr(Value op1, Value op2)
public OrExpr newOrExpr(Value op1, Value op2)
public NeExpr newNeExpr(Value op1, Value op2)
public MulExpr newMulExpr(Value op1, Value op2)
public LeExpr newLeExpr(Value op1, Value op2)
public GeExpr newGeExpr(Value op1, Value op2)
public EqExpr newEqExpr(Value op1, Value op2)
public DivExpr newDivExpr(Value op1, Value op2)
public CmplExpr newCmplExpr(Value op1, Value op2)
public CmpgExpr newCmpgExpr(Value op1, Value op2)
public CmpExpr newCmpExpr(Value op1, Value op2)
public GtExpr newGtExpr(Value op1, Value op2)
public LtExpr newLtExpr(Value op1, Value op2)
public AddExpr newAddExpr(Value op1, Value op2)
public AndExpr newAndExpr(Value op1, Value op2)
public NegExpr newNegExpr(Value op)
public LengthExpr newLengthExpr(Value op)
public CastExpr newCastExpr(Value op1, Type t)
public InstanceOfExpr newInstanceOfExpr(Value op1, Type t)
public NewArrayExpr newNewArrayExpr(Type type, Value size)
public NewMultiArrayExpr newNewMultiArrayExpr(ArrayType type, java.util.List<? extends Value> sizes)
public StaticInvokeExpr newStaticInvokeExpr(SootMethodRef method, java.util.List<? extends Value> args)
public StaticInvokeExpr newStaticInvokeExpr(SootMethodRef method, Value... args)
public StaticInvokeExpr newStaticInvokeExpr(SootMethodRef method, Value arg)
public StaticInvokeExpr newStaticInvokeExpr(SootMethodRef method)
public SpecialInvokeExpr newSpecialInvokeExpr(Local base, SootMethodRef method, java.util.List<? extends Value> args)
public SpecialInvokeExpr newSpecialInvokeExpr(Local base, SootMethodRef method, Value... args)
public SpecialInvokeExpr newSpecialInvokeExpr(Local base, SootMethodRef method, Value arg)
public SpecialInvokeExpr newSpecialInvokeExpr(Local base, SootMethodRef method)
public DynamicInvokeExpr newDynamicInvokeExpr(SootMethodRef bootstrapMethodRef, java.util.List<? extends Value> bootstrapArgs, SootMethodRef methodRef, java.util.List<? extends Value> args)
public DynamicInvokeExpr newDynamicInvokeExpr(SootMethodRef bootstrapMethodRef, java.util.List<? extends Value> bootstrapArgs, SootMethodRef methodRef, int tag, java.util.List<? extends Value> args)
public VirtualInvokeExpr newVirtualInvokeExpr(Local base, SootMethodRef method, java.util.List<? extends Value> args)
public VirtualInvokeExpr newVirtualInvokeExpr(Local base, SootMethodRef method, Value... args)
public VirtualInvokeExpr newVirtualInvokeExpr(Local base, SootMethodRef method, Value arg)
public VirtualInvokeExpr newVirtualInvokeExpr(Local base, SootMethodRef method)
public InterfaceInvokeExpr newInterfaceInvokeExpr(Local base, SootMethodRef method, java.util.List<? extends Value> args)
public InterfaceInvokeExpr newInterfaceInvokeExpr(Local base, SootMethodRef method, Value... args)
public InterfaceInvokeExpr newInterfaceInvokeExpr(Local base, SootMethodRef method, Value arg)
public InterfaceInvokeExpr newInterfaceInvokeExpr(Local base, SootMethodRef method)
public ThrowStmt newThrowStmt(Value op)
public ExitMonitorStmt newExitMonitorStmt(Value op)
public EnterMonitorStmt newEnterMonitorStmt(Value op)
public BreakpointStmt newBreakpointStmt()
public NopStmt newNopStmt()
public ReturnVoidStmt newReturnVoidStmt()
public ReturnStmt newReturnStmt(Value op)
public IfStmt newIfStmt(Value condition, Unit target)
public IfStmt newIfStmt(Value condition, UnitBox target)
public IdentityStmt newIdentityStmt(Value local, Value identityRef)
public AssignStmt newAssignStmt(Value variable, Value rvalue)
public InvokeStmt newInvokeStmt(Value op)
public TableSwitchStmt newTableSwitchStmt(Value key, int lowIndex, int highIndex, java.util.List<? extends Unit> targets, Unit defaultTarget)
public TableSwitchStmt newTableSwitchStmt(Value key, int lowIndex, int highIndex, java.util.List<? extends UnitBox> targets, UnitBox defaultTarget)
public LookupSwitchStmt newLookupSwitchStmt(Value key, java.util.List<IntConstant> lookupValues, java.util.List<? extends Unit> targets, Unit defaultTarget)
public LookupSwitchStmt newLookupSwitchStmt(Value key, java.util.List<IntConstant> lookupValues, java.util.List<? extends UnitBox> targets, UnitBox defaultTarget)
public Local newLocal(java.lang.String name, Type t)
public Trap newTrap(SootClass exception, Unit beginStmt, Unit endStmt, Unit handlerStmt)
public Trap newTrap(SootClass exception, UnitBox beginStmt, UnitBox endStmt, UnitBox handlerStmt)
public StaticFieldRef newStaticFieldRef(SootFieldRef f)
public ParameterRef newParameterRef(Type paramType, int number)
public InstanceFieldRef newInstanceFieldRef(Value base, SootFieldRef f)
public CaughtExceptionRef newCaughtExceptionRef()
public ArrayRef newArrayRef(Value base, Value index)
public JimpleBody newBody(SootMethod m)
public JimpleBody newBody()