Package | Description |
---|---|
soot.coffi |
Contains classes from the Coffi tool, by Clark Verbrugge.
|
soot.javaToJimple | |
soot.jimple |
Public classes for the Jimple intermediate representation.
|
soot.jimple.parser |
An interface to the Jimple parser.
|
soot.jimple.toolkits.invoke |
A toolkit to deal with Jimple and invoke statements.
|
soot.jimple.toolkits.typing |
Implements a typing algorithm for Jimple.
|
soot.jimple.toolkits.typing.fast | |
soot.jimple.toolkits.typing.integer | |
soot.shimple |
Public classes for the SSA Shimple intermediate representation.
|
soot.util.cfgcmd |
Modifier and Type | Method and Description |
---|---|
boolean |
CFG.jimplify(soot.coffi.cp_info[] constant_pool,
int this_class,
soot.coffi.BootstrapMethods_attribute bootstrap_methods_attribute,
JimpleBody listBody)
Main.v() entry point for converting list of Instructions to Jimple statements;
performs flow analysis, constructs Jimple statements, and fixes jumps.
|
boolean |
CFG.jimplify(soot.coffi.cp_info[] constant_pool,
int this_class,
soot.coffi.BootstrapMethods_attribute bootstrap_methods_attribute,
JimpleBody listBody)
Main.v() entry point for converting list of Instructions to Jimple statements;
performs flow analysis, constructs Jimple statements, and fixes jumps.
|
Modifier and Type | Field and Description |
---|---|
protected JimpleBody |
AbstractJimpleBodyBuilder.body |
protected JimpleBody |
AbstractJimpleBodyBuilder.body |
Modifier and Type | Method and Description |
---|---|
JimpleBody |
AnonInitBodyBuilder.createBody(SootMethod sootMethod) |
JimpleBody |
AnonInitBodyBuilder.createBody(SootMethod sootMethod) |
protected JimpleBody |
AbstractJimpleBodyBuilder.createJimpleBody(polyglot.ast.Block block,
List formals,
SootMethod sootMethod) |
JimpleBody |
JimpleBodyBuilder.createJimpleBody(polyglot.ast.Block block,
List formals,
SootMethod sootMethod)
Jimple Body Creation
|
JimpleBody |
JimpleBodyBuilder.createJimpleBody(polyglot.ast.Block block,
List formals,
SootMethod sootMethod)
Jimple Body Creation
|
protected JimpleBody |
AbstractJimpleBodyBuilder.createJimpleBody(polyglot.ast.Block block,
List formals,
SootMethod sootMethod) |
Modifier and Type | Method and Description |
---|---|
JimpleBody |
Jimple.newBody()
Returns an empty JimpleBody with no associated method.
|
JimpleBody |
Jimple.newBody()
Returns an empty JimpleBody with no associated method.
|
JimpleBody |
Jimple.newBody(SootMethod m)
Returns an empty JimpleBody associated with method m.
|
JimpleBody |
Jimple.newBody(SootMethod m)
Returns an empty JimpleBody associated with method m.
|
Constructor and Description |
---|
BodyExtractorWalker(SootClass sc,
SootResolver resolver,
Map<SootMethod,JimpleBody> methodToParsedBodyMap)
Constructs a walker, and attaches it to the given SootClass, sending
bodies to the given methodToParsedBodyMap.
|
BodyExtractorWalker(SootClass sc,
SootResolver resolver,
Map<SootMethod,JimpleBody> methodToParsedBodyMap)
Constructs a walker, and attaches it to the given SootClass, sending
bodies to the given methodToParsedBodyMap.
|
Modifier and Type | Method and Description |
---|---|
Local |
SynchronizerManager.addStmtsToFetchClassBefore(JimpleBody jb,
Stmt target)
Adds code to fetch the static Class object to the given JimpleBody
before the target Stmt.
|
Local |
SynchronizerManager.addStmtsToFetchClassBefore(JimpleBody jb,
Stmt target)
Adds code to fetch the static Class object to the given JimpleBody
before the target Stmt.
|
static Stmt |
ThrowManager.getNullPointerExceptionThrower(JimpleBody b)
Iterate through the statements in b (starting at the end), returning
the last instance of the following pattern:
r928 = new java.lang.NullPointerException;
specialinvoke r928."
|
static Stmt |
ThrowManager.getNullPointerExceptionThrower(JimpleBody b)
Iterate through the statements in b (starting at the end), returning
the last instance of the following pattern:
r928 = new java.lang.NullPointerException;
specialinvoke r928."
|
void |
SynchronizerManager.synchronizeStmtOn(Stmt stmt,
JimpleBody b,
Local lock)
Wraps stmt around a monitor associated with local lock.
|
void |
SynchronizerManager.synchronizeStmtOn(Stmt stmt,
JimpleBody b,
Local lock)
Wraps stmt around a monitor associated with local lock.
|
Modifier and Type | Method and Description |
---|---|
static void |
TypeResolver.resolve(JimpleBody stmtBody,
Scene scene) |
static void |
TypeResolverBV.resolve(JimpleBody stmtBody,
Scene scene)
Deprecated.
|
static void |
TypeResolverBV.resolve(JimpleBody stmtBody,
Scene scene)
Deprecated.
|
static void |
TypeResolver.resolve(JimpleBody stmtBody,
Scene scene) |
Modifier and Type | Method and Description |
---|---|
static Type |
AugEvalFunction.eval_(Typing tg,
Value expr,
Stmt stmt,
JimpleBody jb) |
static Type |
AugEvalFunction.eval_(Typing tg,
Value expr,
Stmt stmt,
JimpleBody jb) |
Constructor and Description |
---|
AugEvalFunction(JimpleBody jb) |
AugEvalFunction(JimpleBody jb) |
TypeResolver(JimpleBody jb) |
TypeResolver(JimpleBody jb) |
UseChecker(JimpleBody jb) |
UseChecker(JimpleBody jb) |
Modifier and Type | Method and Description |
---|---|
static void |
TypeResolver.resolve(JimpleBody stmtBody) |
static void |
TypeResolver.resolve(JimpleBody stmtBody) |
Modifier and Type | Method and Description |
---|---|
JimpleBody |
Shimple.newJimpleBody(ShimpleBody body)
Constructs a JimpleBody from a ShimpleBody.
|
JimpleBody |
Shimple.newJimpleBody(ShimpleBody body)
Constructs a JimpleBody from a ShimpleBody.
|
JimpleBody |
ShimpleBody.toJimpleBody()
Returns an equivalent unbacked JimpleBody of the current Body
by eliminating the Phi nodes.
|
JimpleBody |
ShimpleBody.toJimpleBody()
Returns an equivalent unbacked JimpleBody of the current Body
by eliminating the Phi nodes.
|
Modifier and Type | Method and Description |
---|---|
abstract Body |
CFGIntermediateRep.getBody(JimpleBody b)
Converts a
JimpleBody into the
corresponding Body in this intermediate
representation. |
abstract Body |
CFGIntermediateRep.getBody(JimpleBody b)
Converts a
JimpleBody into the
corresponding Body in this intermediate
representation. |