Package sootup.core.jimple
Class Jimple
java.lang.Object
sootup.core.jimple.Jimple
- Direct Known Subclasses:
JavaJimple
The Jimple class contains all the constructors for the components of the Jimple grammar for the
Jimple body.
Immediate -> Local | Constant
RValue -> Local | Constant | ConcreteRef | Expr
Variable -> Local | ArrayRef | InstanceFieldRef | StaticFieldRef
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final String -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReturns a list of keywords for Jimple.static JAddExprnewAddExpr(Immediate op1, Immediate op2) Constructs a AddExpr(Immediate, Immediate) grammar chunk.static JAndExprnewAndExpr(Immediate op1, Immediate op2) Constructs a AndExpr(Immediate, Immediate) grammar chunk.static JArrayRefnewArrayRef(Local base, Immediate index) Constructs a ArrayRef(Local, Immediate) grammar chunk.static JAssignStmtnewAssignStmt(LValue variable, Value rvalue, StmtPositionInfo posInfo) Constructs a AssignStmt(Variable, RValue) grammar chunk.static JBreakpointStmtnewBreakpointStmt(StmtPositionInfo posInfo) Constructs a BreakpointStmt() grammar chunk.static JCastExprnewCastExpr(Immediate op1, Type t) Constructs a CastExpr(Immediate, Type) grammar chunk.static JCmpExprnewCmpExpr(Immediate op1, Immediate op2) Constructs a CmpExpr(Immediate, Immediate) grammar chunk.static JCmpgExprnewCmpgExpr(Immediate op1, Immediate op2) Constructs a CmpgExpr(Immediate, Immediate) grammar chunk.static JCmplExprnewCmplExpr(Immediate op1, Immediate op2) Constructs a CmplExpr(Immediate, Immediate) grammar chunk.static JDivExprnewDivExpr(Immediate op1, Immediate op2) Constructs a DivExpr(Immediate, Immediate) grammar chunk.static JDynamicInvokeExprnewDynamicInvokeExpr(MethodSignature bootstrapMethodSignature, List<Immediate> bootstrapArgs, MethodSignature methodSignature, int tag, List<Immediate> args) Constructs a NewDynamicInvokeExpr(SootMethod bootstrapMethodSignature, List bootstrapArgs, SootMethod methodSignature, List args) grammar chunk.static JDynamicInvokeExprnewDynamicInvokeExpr(MethodSignature bootstrapMethodSignature, List<Immediate> bootstrapArgs, MethodSignature methodSignature, List<Immediate> args) Constructs a NewDynamicInvokeExpr(SootMethod bootstrapMethodSignature, List bootstrapArgs, SootMethod methodSignature, List args) grammar chunk.static JEnterMonitorStmtnewEnterMonitorStmt(Immediate op, StmtPositionInfo posInfo) Constructs a EnterMonitorStmt(Immediate) grammar chunk.static JEqExprConstructs a EqExpr(Immediate, Immediate) grammar chunk.static JExitMonitorStmtnewExitMonitorStmt(Immediate op, StmtPositionInfo posInfo) Constructs a ExitMonitorStmt(Immediate) grammar chunk.static JGeExprConstructs a GeExpr(Immediate, Immediate) grammar chunk.static JGotoStmtnewGotoStmt(StmtPositionInfo posInfo) Constructs a GotoStmt(Stmt) grammar chunk.static JGtExprConstructs a GtExpr(Immediate, Immediate) grammar chunk.static <L extends IdentityRef>
JIdentityStmtnewIdentityStmt(Local local, L identityRef, StmtPositionInfo posInfo) Constructs a IdentityStmt(Local, IdentityRef) grammar chunk.static JIfStmtnewIfStmt(AbstractConditionExpr condition, StmtPositionInfo posInfo) Constructs a IfStmt(Condition, Stmt) grammar chunk.static JInstanceFieldRefnewInstanceFieldRef(Local base, FieldSignature f) Constructs a InstanceFieldRef(Local, FieldSignature) grammar chunk.static JInstanceOfExprnewInstanceOfExpr(Immediate op1, Type t) Constructs a InstanceOfExpr(Immediate, Type) grammar chunk.static JInterfaceInvokeExprnewInterfaceInvokeExpr(Local base, MethodSignature method) static JInterfaceInvokeExprnewInterfaceInvokeExpr(Local base, MethodSignature method, List<Immediate> args) Constructs a NewInterfaceInvokeExpr(Local base, SootMethod method, List of Immediate) grammar chunk.static JInterfaceInvokeExprnewInterfaceInvokeExpr(Local base, MethodSignature method, Immediate arg) static JInvokeStmtnewInvokeStmt(AbstractInvokeExpr op, StmtPositionInfo posInfo) Constructs a InvokeStmt(InvokeExpr) grammar chunk.static JLeExprConstructs a LeExpr(Immediate, Immediate) grammar chunk.static JLengthExprConstructs a LengthExpr(Immediate) grammar chunk.static LocalConstructs a Local with the given name and type.static JSwitchStmtnewLookupSwitchStmt(Immediate key, List<IntConstant> lookupValues, StmtPositionInfo posInfo) Constructs a LookupSwitchStmt(Immediate, List of Immediate, List of Stmt, Stmt) grammar chunk.static JLtExprConstructs a LtExpr(Immediate, Immediate) grammar chunk.static JMulExprnewMulExpr(Immediate op1, Immediate op2) Constructs a MulExpr(Immediate, Immediate) grammar chunk.static JNeExprConstructs a NeExpr(Immediate, Immediate) grammar chunk.static JNegExprnewNegExpr(Immediate op) Constructs a NegExpr(Immediate, Immediate) grammar chunk.static JNewArrayExprnewNewArrayExpr(Type type, Immediate size, IdentifierFactory identifierFactory) Constructs a NewArrayExpr(Type, Immediate) grammar chunk.static JNewExprnewNewExpr(ClassType type) Constructs a NewExpr(RefType) grammar chunk.static JNewMultiArrayExprnewNewMultiArrayExpr(ArrayType type, List<Immediate> sizes) static JNopStmtnewNopStmt(StmtPositionInfo posInfo) Constructs a NopStmt() grammar chunk.static JOrExprConstructs a OrExpr(Immediate, Immediate) grammar chunk.static JParameterRefnewParameterRef(Type paramType, int number) Constructs a ParameterRef(SootMethod, int) grammar chunk.static JPhiExprnewPhiExpr(List<Local> args, Map<Local, BasicBlock<?>> argToBlock) static JRemExprnewRemExpr(Immediate op1, Immediate op2) Constructs a RemExpr(Immediate, Immediate) grammar chunk.static JRetStmtnewRetStmt(Immediate stmtAddress, StmtPositionInfo posInfo) Constructs a RetStmt(Local) grammar chunk.static JReturnStmtnewReturnStmt(Immediate op, StmtPositionInfo posInfo) Constructs a ReturnStmt(Immediate) grammar chunk.static JReturnVoidStmtnewReturnVoidStmt(StmtPositionInfo posInfo) Constructs a ReturnVoidStmt() grammar chunk.static JShlExprnewShlExpr(Immediate op1, Immediate op2) Constructs a ShlExpr(Immediate, Immediate) grammar chunk.static JShrExprnewShrExpr(Immediate op1, Immediate op2) Constructs a ShrExpr(Immediate, Immediate) grammar chunk.static JSpecialInvokeExprnewSpecialInvokeExpr(Local base, MethodSignature method) static JSpecialInvokeExprnewSpecialInvokeExpr(Local base, MethodSignature method, List<Immediate> args) Constructs a NewSpecialInvokeExpr(Local base, SootMethod method, List of Immediate) grammar chunk.static JSpecialInvokeExprnewSpecialInvokeExpr(Local base, MethodSignature method, Immediate arg) static JStaticFieldRefConstructs a JStaticFieldRef(FieldSignature) grammar chunk.static JStaticInvokeExprnewStaticInvokeExpr(MethodSignature method) static JStaticInvokeExprnewStaticInvokeExpr(MethodSignature method, List<Immediate> args) Constructs a NewStaticInvokeExpr(ArrayType, List of Immediate) grammar chunk.static JStaticInvokeExprnewStaticInvokeExpr(MethodSignature method, Immediate arg) static JSubExprnewSubExpr(Immediate op1, Immediate op2) Constructs a SubExpr(Immediate, Immediate) grammar chunk.static JSwitchStmtnewTableSwitchStmt(Immediate key, int lowIndex, int highIndex, StmtPositionInfo posInfo) Constructs a TableSwitchStmt(Immediate, int, int, List of Stmt, Stmt) grammar chunk.static JThisRefConstructs a ThisRef(ClassType) grammar chunk.static JThrowStmtnewThrowStmt(Immediate op, StmtPositionInfo posInfo) Constructs a ThrowStmt(Immediate) grammar chunk.static Trapstatic JUshrExprnewUshrExpr(Immediate op1, Immediate op2) Constructs a UshrExpr(Immediate, Immediate) grammar chunk.static JVirtualInvokeExprnewVirtualInvokeExpr(Local base, MethodSignature method) static JVirtualInvokeExprnewVirtualInvokeExpr(Local base, MethodSignature method, List<Immediate> args) Constructs a NewVirtualInvokeExpr(Local base, SootMethod method, List of Immediate) grammar chunk.static JVirtualInvokeExprnewVirtualInvokeExpr(Local base, MethodSignature method, Immediate arg) static JXorExprnewXorExpr(Immediate op1, Immediate op2) Constructs a XorExpr(Immediate, Immediate) grammar chunk.
-
Field Details
-
NEWARRAY
- See Also:
-
NEWMULTIARRAY
- See Also:
-
NOP
- See Also:
-
RET
- See Also:
-
SPECIALINVOKE
- See Also:
-
DYNAMICINVOKE
- See Also:
-
STATICINVOKE
- See Also:
-
VIRTUALINVOKE
- See Also:
-
CMP
- See Also:
-
CMPG
- See Also:
-
CMPL
- See Also:
-
ENTERMONITOR
- See Also:
-
EXITMONITOR
- See Also:
-
INTERFACEINVOKE
- See Also:
-
LENGTHOF
- See Also:
-
NEG
- See Also:
-
IF
- See Also:
-
ABSTRACT
- See Also:
-
CASE
- See Also:
-
CATCH
- See Also:
-
CLASS
- See Also:
-
FINAL
- See Also:
-
NATIVE
- See Also:
-
PUBLIC
- See Also:
-
PROTECTED
- See Also:
-
PRIVATE
- See Also:
-
STATIC
- See Also:
-
SYNCHRONIZED
- See Also:
-
TRANSIENT
- See Also:
-
VOLATILE
- See Also:
-
STRICTFP
- See Also:
-
ENUM
- See Also:
-
ANNOTATION
- See Also:
-
INTERFACE
- See Also:
-
EXTENDS
- See Also:
-
IMPLEMENTS
- See Also:
-
BREAKPOINT
- See Also:
-
DEFAULT
- See Also:
-
GOTO
- See Also:
-
INSTANCEOF
- See Also:
-
NEW
- See Also:
-
RETURN
- See Also:
-
SWITCH
- See Also:
-
THROW
- See Also:
-
THROWS
- See Also:
-
NULL
- See Also:
-
FROM
- See Also:
-
TO
- See Also:
-
WITH
- See Also:
-
TRUE
- See Also:
-
FALSE
- See Also:
-
PHI
- See Also:
-
-
Constructor Details
-
Jimple
public Jimple()
-
-
Method Details
-
jimpleKeywordList
Returns a list of keywords for Jimple. This list has to be in sync with the tokens for the jimple parser. This way StmtPrinter can escape reserved words while serializing if needed. -
newXorExpr
Constructs a XorExpr(Immediate, Immediate) grammar chunk. -
newUshrExpr
Constructs a UshrExpr(Immediate, Immediate) grammar chunk. -
newSubExpr
Constructs a SubExpr(Immediate, Immediate) grammar chunk. -
newShrExpr
Constructs a ShrExpr(Immediate, Immediate) grammar chunk. -
newShlExpr
Constructs a ShlExpr(Immediate, Immediate) grammar chunk. -
newRemExpr
Constructs a RemExpr(Immediate, Immediate) grammar chunk. -
newOrExpr
Constructs a OrExpr(Immediate, Immediate) grammar chunk. -
newNeExpr
Constructs a NeExpr(Immediate, Immediate) grammar chunk. -
newMulExpr
Constructs a MulExpr(Immediate, Immediate) grammar chunk. -
newLeExpr
Constructs a LeExpr(Immediate, Immediate) grammar chunk. -
newGeExpr
Constructs a GeExpr(Immediate, Immediate) grammar chunk. -
newEqExpr
Constructs a EqExpr(Immediate, Immediate) grammar chunk. -
newDivExpr
Constructs a DivExpr(Immediate, Immediate) grammar chunk. -
newCmplExpr
Constructs a CmplExpr(Immediate, Immediate) grammar chunk. -
newCmpgExpr
Constructs a CmpgExpr(Immediate, Immediate) grammar chunk. -
newCmpExpr
Constructs a CmpExpr(Immediate, Immediate) grammar chunk. -
newGtExpr
Constructs a GtExpr(Immediate, Immediate) grammar chunk. -
newLtExpr
Constructs a LtExpr(Immediate, Immediate) grammar chunk. -
newAddExpr
Constructs a AddExpr(Immediate, Immediate) grammar chunk. -
newAndExpr
Constructs a AndExpr(Immediate, Immediate) grammar chunk. -
newNegExpr
Constructs a NegExpr(Immediate, Immediate) grammar chunk. -
newLengthExpr
Constructs a LengthExpr(Immediate) grammar chunk. -
newCastExpr
Constructs a CastExpr(Immediate, Type) grammar chunk. -
newInstanceOfExpr
Constructs a InstanceOfExpr(Immediate, Type) grammar chunk. -
newNewArrayExpr
public static JNewArrayExpr newNewArrayExpr(Type type, Immediate size, IdentifierFactory identifierFactory) Constructs a NewArrayExpr(Type, Immediate) grammar chunk. -
newPhiExpr
-
newStaticInvokeExpr
Constructs a NewStaticInvokeExpr(ArrayType, List of Immediate) grammar chunk. -
newStaticInvokeExpr
-
newStaticInvokeExpr
-
newSpecialInvokeExpr
public static JSpecialInvokeExpr newSpecialInvokeExpr(Local base, MethodSignature method, List<Immediate> args) Constructs a NewSpecialInvokeExpr(Local base, SootMethod method, List of Immediate) grammar chunk. -
newSpecialInvokeExpr
public static JSpecialInvokeExpr newSpecialInvokeExpr(Local base, MethodSignature method, Immediate arg) -
newSpecialInvokeExpr
-
newDynamicInvokeExpr
public static JDynamicInvokeExpr newDynamicInvokeExpr(MethodSignature bootstrapMethodSignature, List<Immediate> bootstrapArgs, MethodSignature methodSignature, List<Immediate> args) Constructs a NewDynamicInvokeExpr(SootMethod bootstrapMethodSignature, List bootstrapArgs, SootMethod methodSignature, List args) grammar chunk. -
newDynamicInvokeExpr
public static JDynamicInvokeExpr newDynamicInvokeExpr(MethodSignature bootstrapMethodSignature, List<Immediate> bootstrapArgs, MethodSignature methodSignature, int tag, List<Immediate> args) Constructs a NewDynamicInvokeExpr(SootMethod bootstrapMethodSignature, List bootstrapArgs, SootMethod methodSignature, List args) grammar chunk. -
newVirtualInvokeExpr
public static JVirtualInvokeExpr newVirtualInvokeExpr(Local base, MethodSignature method, List<Immediate> args) Constructs a NewVirtualInvokeExpr(Local base, SootMethod method, List of Immediate) grammar chunk. -
newVirtualInvokeExpr
public static JVirtualInvokeExpr newVirtualInvokeExpr(Local base, MethodSignature method, Immediate arg) -
newVirtualInvokeExpr
-
newInterfaceInvokeExpr
public static JInterfaceInvokeExpr newInterfaceInvokeExpr(Local base, MethodSignature method, List<Immediate> args) Constructs a NewInterfaceInvokeExpr(Local base, SootMethod method, List of Immediate) grammar chunk. -
newInterfaceInvokeExpr
public static JInterfaceInvokeExpr newInterfaceInvokeExpr(Local base, MethodSignature method, Immediate arg) -
newInterfaceInvokeExpr
-
newThrowStmt
Constructs a ThrowStmt(Immediate) grammar chunk. -
newExitMonitorStmt
Constructs a ExitMonitorStmt(Immediate) grammar chunk. -
newEnterMonitorStmt
Constructs a EnterMonitorStmt(Immediate) grammar chunk. -
newBreakpointStmt
Constructs a BreakpointStmt() grammar chunk. -
newGotoStmt
Constructs a GotoStmt(Stmt) grammar chunk. -
newNopStmt
Constructs a NopStmt() grammar chunk. -
newReturnVoidStmt
Constructs a ReturnVoidStmt() grammar chunk. -
newReturnStmt
Constructs a ReturnStmt(Immediate) grammar chunk. -
newRetStmt
Constructs a RetStmt(Local) grammar chunk. -
newIfStmt
Constructs a IfStmt(Condition, Stmt) grammar chunk. -
newIdentityStmt
public static <L extends IdentityRef> JIdentityStmt newIdentityStmt(Local local, L identityRef, StmtPositionInfo posInfo) Constructs a IdentityStmt(Local, IdentityRef) grammar chunk. -
newAssignStmt
Constructs a AssignStmt(Variable, RValue) grammar chunk. -
newInvokeStmt
Constructs a InvokeStmt(InvokeExpr) grammar chunk. -
newTableSwitchStmt
public static JSwitchStmt newTableSwitchStmt(Immediate key, int lowIndex, int highIndex, StmtPositionInfo posInfo) Constructs a TableSwitchStmt(Immediate, int, int, List of Stmt, Stmt) grammar chunk. -
newLookupSwitchStmt
public static JSwitchStmt newLookupSwitchStmt(Immediate key, List<IntConstant> lookupValues, StmtPositionInfo posInfo) Constructs a LookupSwitchStmt(Immediate, List of Immediate, List of Stmt, Stmt) grammar chunk. -
newLocal
Constructs a Local with the given name and type. -
newStaticFieldRef
Constructs a JStaticFieldRef(FieldSignature) grammar chunk. -
newThisRef
Constructs a ThisRef(ClassType) grammar chunk. -
newParameterRef
Constructs a ParameterRef(SootMethod, int) grammar chunk. -
newInstanceFieldRef
Constructs a InstanceFieldRef(Local, FieldSignature) grammar chunk. -
newArrayRef
Constructs a ArrayRef(Local, Immediate) grammar chunk. -
newNewExpr
Constructs a NewExpr(RefType) grammar chunk. -
newNewMultiArrayExpr
-
newTrap
-