| Package | Description |
|---|---|
| soot |
Base Soot classes, shared by different intermediate representations.
|
| soot.coffi |
Contains classes from the Coffi tool, by Clark Verbrugge.
|
| soot.javaToJimple | |
| soot.jimple |
Public classes for the Jimple intermediate representation.
|
| soot.jimple.internal |
Internal, messy, implementation-specific classes for the Jimple intermediate representation.
|
| soot.jimple.toolkits.annotation.purity | |
| soot.jimple.toolkits.callgraph | |
| soot.jimple.toolkits.infoflow | |
| soot.jimple.toolkits.pointer | |
| soot.jimple.toolkits.scalar |
A toolkit for scalar optimization of Jimple.
|
| soot.jimple.toolkits.typing.fast | |
| soot.toolkits.exceptions | |
| soot.toolkits.scalar |
A number of scalar optimizations, and the flow analysis framework.
|
| Modifier and Type | Field and Description |
|---|---|
protected Chain<Local> |
Body.localChain
The chain of locals for this Body.
|
| Modifier and Type | Method and Description |
|---|---|
Local |
Body.getParameterLocal(int i)
Return LHS of the first identity stmt assigning from \@parameter i.
|
Local |
Body.getThisLocal()
Return LHS of the first identity stmt assigning from \@this.
|
| Modifier and Type | Method and Description |
|---|---|
Chain<Local> |
Body.getLocals()
Returns a backed chain of the locals declared in this Body.
|
| Modifier and Type | Method and Description |
|---|---|
void |
UnitPrinter.local(Local l) |
void |
AbstractUnitPrinter.local(Local l) |
PointsToSet |
PointsToAnalysis.reachingObjects(Context c,
Local l)
Returns the set of objects pointed to by variable l in context c.
|
PointsToSet |
PointsToAnalysis.reachingObjects(Context c,
Local l,
SootField f)
Returns the set of objects pointed to by instance field f
of the objects pointed to by l in context c.
|
PointsToSet |
PointsToAnalysis.reachingObjects(Local l)
Returns the set of objects pointed to by variable l.
|
PointsToSet |
PointsToAnalysis.reachingObjects(Local l,
SootField f)
Returns the set of objects pointed to by instance field f
of the objects pointed to by l.
|
| Modifier and Type | Method and Description |
|---|---|
Local |
Util.getLocal(Body b,
java.lang.String name) |
| Modifier and Type | Method and Description |
|---|---|
Local |
LocalGenerator.generateLocal(Type type)
generates a new soot local given the type
|
| Modifier and Type | Method and Description |
|---|---|
Local |
Jimple.newLocal(java.lang.String name,
Type t)
Constructs a Local with the given name and type.
|
| Modifier and Type | Method and Description |
|---|---|
protected abstract void |
PointerStmtSwitch.caseAnyNewStmt(Local dest,
Expr e)
Any type of new statement (NewStmt, NewArrayStmt, NewMultiArrayStmt)
|
protected abstract void |
PointerStmtSwitch.caseArrayLoadStmt(Local dest,
ArrayRef src)
A statement of the form l1 = l2[i];
|
protected abstract void |
PointerStmtSwitch.caseArrayStoreStmt(ArrayRef dest,
Local src)
A statement of the form l1[i] = l2;
|
protected void |
PointerStmtSwitch.caseCastStmt(Local dest,
Local src,
CastExpr c)
A statement of the form l = (cl) v;
|
protected void |
PointerStmtSwitch.caseCatchStmt(Local dest,
CaughtExceptionRef cer)
A catch statement
|
protected abstract void |
PointerStmtSwitch.caseCopyStmt(Local dest,
Local src)
A statement of the form l = v;
|
protected abstract void |
PointerStmtSwitch.caseGlobalLoadStmt(Local dest,
StaticFieldRef src)
A statement of the form l = cl.f;
|
protected abstract void |
PointerStmtSwitch.caseGlobalStoreStmt(StaticFieldRef dest,
Local src)
A statement of the form cl.f = l;
|
protected abstract void |
PointerStmtSwitch.caseIdentityStmt(Local dest,
IdentityRef src)
An identity statement assigning a parameter to a local.
|
protected abstract void |
PointerStmtSwitch.caseInvokeStmt(Local dest,
InvokeExpr e)
A method invocation.
|
protected abstract void |
PointerStmtSwitch.caseLoadStmt(Local dest,
InstanceFieldRef src)
A statement of the form l1 = l2.f;
|
void |
JimpleValueSwitch.caseLocal(Local l) |
void |
AbstractJimpleValueSwitch.caseLocal(Local v) |
protected void |
PointerStmtSwitch.caseNewArrayStmt(Local dest,
NewArrayExpr e)
A newarray statement
|
protected void |
PointerStmtSwitch.caseNewMultiArrayStmt(Local dest,
NewMultiArrayExpr e)
A anewarray statement
|
protected void |
PointerStmtSwitch.caseNewStmt(Local dest,
NewExpr e)
A new statement
|
protected abstract void |
PointerStmtSwitch.caseReturnStmt(Local val)
A return statement.
|
protected abstract void |
PointerStmtSwitch.caseStoreStmt(InstanceFieldRef dest,
Local src)
A statement of the form l1.f = l2;
|
protected void |
PointerStmtSwitch.caseThrowStmt(Local thrownException)
A throw statement
|
boolean |
EqualLocals.isLocalEqualToAt(Local l1,
Local l2,
Stmt s) |
InterfaceInvokeExpr |
Jimple.newInterfaceInvokeExpr(Local base,
SootMethodRef method)
Constructs a NewInterfaceInvokeExpr(Local base, SootMethodRef method, List of Immediate) grammar chunk.
|
InterfaceInvokeExpr |
Jimple.newInterfaceInvokeExpr(Local base,
SootMethodRef method,
java.util.List args)
Constructs a NewInterfaceInvokeExpr(Local base, SootMethodRef method, List of Immediate) grammar chunk.
|
InterfaceInvokeExpr |
Jimple.newInterfaceInvokeExpr(Local base,
SootMethodRef method,
Value arg)
Constructs a NewInterfaceInvokeExpr(Local base, SootMethodRef method, List of Immediate) grammar chunk.
|
InterfaceInvokeExpr |
Jimple.newInterfaceInvokeExpr(Local base,
SootMethodRef method,
Value arg1,
Value arg2)
Constructs a NewInterfaceInvokeExpr(Local base, SootMethodRef method, List of Immediate) grammar chunk.
|
SpecialInvokeExpr |
Jimple.newSpecialInvokeExpr(Local base,
SootMethodRef method)
Constructs a NewSpecialInvokeExpr(Local base, SootMethodRef method, List of Immediate) grammar chunk.
|
SpecialInvokeExpr |
Jimple.newSpecialInvokeExpr(Local base,
SootMethodRef method,
java.util.List args)
Constructs a NewSpecialInvokeExpr(Local base, SootMethodRef method, List of Immediate) grammar chunk.
|
SpecialInvokeExpr |
Jimple.newSpecialInvokeExpr(Local base,
SootMethodRef method,
Value arg)
Constructs a NewSpecialInvokeExpr(Local base, SootMethodRef method, List of Immediate) grammar chunk.
|
SpecialInvokeExpr |
Jimple.newSpecialInvokeExpr(Local base,
SootMethodRef method,
Value arg1,
Value arg2)
Constructs a NewSpecialInvokeExpr(Local base, SootMethodRef method, List of Immediate) grammar chunk.
|
VirtualInvokeExpr |
Jimple.newVirtualInvokeExpr(Local base,
SootMethodRef method)
Constructs a NewVirtualInvokeExpr(Local base, SootMethodRef method, List of Immediate) grammar chunk.
|
VirtualInvokeExpr |
Jimple.newVirtualInvokeExpr(Local base,
SootMethodRef method,
java.util.List args)
Constructs a NewVirtualInvokeExpr(Local base, SootMethodRef method, List of Immediate) grammar chunk.
|
VirtualInvokeExpr |
Jimple.newVirtualInvokeExpr(Local base,
SootMethodRef method,
Value arg)
Constructs a NewVirtualInvokeExpr(Local base, SootMethodRef method, List of Immediate) grammar chunk.
|
VirtualInvokeExpr |
Jimple.newVirtualInvokeExpr(Local base,
SootMethodRef method,
Value arg1,
Value arg2)
Constructs a NewVirtualInvokeExpr(Local base, SootMethodRef method, List of Immediate) grammar chunk.
|
void |
ArrayRef.setBase(Local base) |
| Constructor and Description |
|---|
LocalStmtPair(Local local,
Stmt stmt) |
| Modifier and Type | Class and Description |
|---|---|
class |
JimpleLocal |
| Modifier and Type | Method and Description |
|---|---|
void |
JArrayRef.setBase(Local base) |
| Constructor and Description |
|---|
JSpecialInvokeExpr(Local base,
SootMethodRef methodRef,
java.util.List args) |
| Modifier and Type | Method and Description |
|---|---|
protected boolean |
PurityGraph.localsPut(Local local,
PurityNode node) |
protected boolean |
PurityGraph.localsPutAll(Local local,
java.util.Set nodes) |
protected boolean |
PurityGraph.localsRemove(Local local) |
| Modifier and Type | Method and Description |
|---|---|
void |
OnFlyCallGraphBuilder.addStringConstant(Local l,
Context srcContext,
java.lang.String constant) |
void |
OnFlyCallGraphBuilder.addType(Local receiver,
Context srcContext,
Type type,
Context typeContext) |
boolean |
OnFlyCallGraphBuilder.wantStringConstants(Local stringConst) |
boolean |
OnFlyCallGraphBuilder.wantTypes(Local receiver) |
| Modifier and Type | Class and Description |
|---|---|
class |
FakeJimpleLocal |
| Modifier and Type | Method and Description |
|---|---|
Local |
FakeJimpleLocal.getRealLocal() |
| Modifier and Type | Method and Description |
|---|---|
static EquivalentValue |
InfoFlowAnalysis.getNodeForFieldRef(SootMethod sm,
SootField sf,
Local realLocal) |
| Constructor and Description |
|---|
FakeJimpleLocal(java.lang.String name,
Type t,
Local realLocal)
Constructs a FakeJimpleLocal of the given name and type.
|
FakeJimpleLocal(java.lang.String name,
Type t,
Local realLocal,
java.lang.Object info) |
| Modifier and Type | Field and Description |
|---|---|
protected java.util.Set<Local> |
LocalMustNotAliasAnalysis.locals |
| Modifier and Type | Method and Description |
|---|---|
boolean |
LocalMustNotAliasAnalysis.hasInfoOn(Local l,
Stmt s)
Returns true if this analysis has any information about local l
at statement s (i.e.
|
boolean |
LocalMustAliasAnalysis.hasInfoOn(Local l,
Stmt s)
Returns true if this analysis has any information about local l
at statement s (i.e.
|
java.lang.String |
StrongLocalMustAliasAnalysis.instanceKeyString(Local l,
Stmt s)
Returns a string (natural number) representation of the instance key associated with l
at statement s or
null if there is no such key associated or UNKNOWN if
the value of l at s is LocalMustAliasAnalysis.UNKNOWN. |
java.lang.String |
LocalMustAliasAnalysis.instanceKeyString(Local l,
Stmt s)
Returns a string (natural number) representation of the instance key associated with l
at statement s or
null if there is no such key associated or UNKNOWN if
the value of l at s is LocalMustAliasAnalysis.UNKNOWN. |
boolean |
StrongLocalMustAliasAnalysis.mustAlias(Local l1,
Stmt s1,
Local l2,
Stmt s2) |
boolean |
LocalMustAliasAnalysis.mustAlias(Local l1,
Stmt s1,
Local l2,
Stmt s2) |
boolean |
LocalMustNotAliasAnalysis.notMayAlias(Local l1,
Stmt s1,
Local l2,
Stmt s2) |
PointsToSet |
DumbPointerAnalysis.reachingObjects(Context c,
Local l)
Returns the set of objects pointed to by variable l in context c.
|
PointsToSet |
DumbPointerAnalysis.reachingObjects(Context c,
Local l,
SootField f)
Returns the set of objects pointed to by instance field f
of the objects pointed to by l in context c.
|
protected PointsToSet |
PASideEffectTester.reachingObjects(Local l) |
PointsToSet |
DumbPointerAnalysis.reachingObjects(Local l)
Returns the set of objects pointed to by variable l.
|
PointsToSet |
DumbPointerAnalysis.reachingObjects(Local l,
SootField f)
Returns the set of objects pointed to by instance field f
of the objects pointed to by l.
|
| Modifier and Type | Method and Description |
|---|---|
Local |
LocalCreation.newLocal(java.lang.String prefix,
Type type)
returns a new local with the given prefix and the given type.
the returned local will automaticly added to the locals-chain. |
Local |
LocalCreation.newLocal(Type type)
returns a new local with the prefix given to the constructor (or the
default-prefix if none has been given) and the given type.
The returned local will automaticly added to the locals-chain. The local will be of the form: prefixX (where the last X is a number, so the localname is unique). |
| Modifier and Type | Method and Description |
|---|---|
boolean |
EqualUsesAnalysis.areEqualUses(Stmt firstStmt,
Local firstLocal,
Stmt secondStmt,
Local secondLocal)
Deprecated.
|
boolean |
EqualUsesAnalysis.areEqualUses(Stmt firstStmt,
Local firstLocal,
Stmt secondStmt,
Local secondLocal,
java.util.List boundaryStmts)
Deprecated.
|
java.util.List |
EqualLocalsAnalysis.getCopiesOfAt(Local l,
Stmt s)
Returns a list of EquivalentValue wrapped Locals and Refs that must always be equal to l at s
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
EqualUsesAnalysis.areEqualUses(java.util.Map<Stmt,Local> stmtToLocal)
Deprecated.
|
boolean |
EqualUsesAnalysis.areEqualUses(java.util.Map<Stmt,Local> stmtToLocal,
java.util.List boundaryStmts)
Deprecated.
|
| Modifier and Type | Method and Description |
|---|---|
Type |
Typing.get(Local v) |
Type |
Typing.set(Local v,
Type t) |
| Constructor and Description |
|---|
Typing(java.util.Collection<Local> vs) |
| Modifier and Type | Method and Description |
|---|---|
void |
UnitThrowAnalysis.ValueSwitch.caseLocal(Local l) |
| Modifier and Type | Method and Description |
|---|---|
Local |
LocalUnitPair.getLocal() |
| Modifier and Type | Method and Description |
|---|---|
java.util.Map<java.lang.Integer,Local> |
RoboVmLiveSlotLocals.getLocalsBeforUnit(Unit u) |
| Modifier and Type | Method and Description |
|---|---|
java.util.List<Unit> |
SmartLocalDefs.getDefsOfAt(Local l,
Unit s) |
java.util.List<Unit> |
SimpleLocalDefs.getDefsOfAt(Local l,
Unit s) |
java.util.List<Unit> |
LocalDefs.getDefsOfAt(Local l,
Unit s)
Returns the definition sites for a Local at a certain
point (Unit) in a method.
|
java.util.List<Unit> |
CombinedDUAnalysis.getDefsOfAt(Local l,
Unit s) |
boolean |
SimpleLocalDefs.hasDefsAt(Local l,
Unit s) |
boolean |
FastColorer.UnitInterferenceGraph.localsInterfere(Local l1,
Local l2) |
void |
FastColorer.UnitInterferenceGraph.setInterference(Local l1,
Local l2) |
| Modifier and Type | Method and Description |
|---|---|
static void |
FastColorer.assignColorsToLocals(Body unitBody,
java.util.Map<Local,java.lang.Object> localToGroup,
java.util.Map<Local,java.lang.Integer> localToColor,
java.util.Map<java.lang.Object,java.lang.Integer> groupToColorCount)
Provides an economical coloring for the locals of
unitBody. |
static void |
FastColorer.assignColorsToLocals(Body unitBody,
java.util.Map<Local,java.lang.Object> localToGroup,
java.util.Map<Local,java.lang.Integer> localToColor,
java.util.Map<java.lang.Object,java.lang.Integer> groupToColorCount)
Provides an economical coloring for the locals of
unitBody. |
static void |
FastColorer.unsplitAssignColorsToLocals(Body unitBody,
java.util.Map<Local,java.lang.Object> localToGroup,
java.util.Map<Local,java.lang.Integer> localToColor,
java.util.Map<java.lang.Object,java.lang.Integer> groupToColorCount)
Provides a coloring for the locals of
unitBody, attempting to not
split locals assigned the same name in the original Jimple. |
static void |
FastColorer.unsplitAssignColorsToLocals(Body unitBody,
java.util.Map<Local,java.lang.Object> localToGroup,
java.util.Map<Local,java.lang.Integer> localToColor,
java.util.Map<java.lang.Object,java.lang.Integer> groupToColorCount)
Provides a coloring for the locals of
unitBody, attempting to not
split locals assigned the same name in the original Jimple. |
| Constructor and Description |
|---|
LocalUnitPair(Local local,
Unit unit)
Constructs a LocalUnitPair from a Unit object and a Local object.
|
| Constructor and Description |
|---|
UnitInterferenceGraph(Body body,
java.util.Map<Local,java.lang.Object> localToGroup,
LiveLocals liveLocals) |
Copyright © 2012-2019 RoboVM AB. All Rights Reserved.