Package | Description |
---|---|
soot |
Base Soot classes, shared by different intermediate representations.
|
soot.baf |
Public classes for the Baf intermediate representation.
|
soot.baf.internal |
Internal, messy, implementation-specific classes for the Baf intermediate representation.
|
soot.dava | |
soot.dava.internal.AST | |
soot.dava.internal.javaRep | |
soot.dexpler.instructions | |
soot.grimp |
Public classes for the Grimp intermediate representation.
|
soot.grimp.internal |
Internal, messy, implementation-specific classes for the Grimp intermediate representation.
|
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.spark | |
soot.jimple.toolkits.annotation.j5anno | |
soot.jimple.toolkits.thread.mhp.stmt | |
soot.shimple |
Public classes for the SSA Shimple intermediate representation.
|
soot.shimple.internal |
Shimple internal messy stuff.
|
soot.tagkit |
Classes supporting classfile annotation in Soot.
|
soot.toolkits.scalar |
A number of scalar optimizations, and the flow analysis framework.
|
Modifier and Type | Interface and Description |
---|---|
interface |
IdentityUnit
A unit that assigns to a variable from one of {parameters, this, caughtexception}.
|
interface |
Unit
A code fragment (eg Stmt or Inst), used within Body
classes.
|
interface |
ValueBox
A box which can contain values.
|
Modifier and Type | Class and Description |
---|---|
class |
AbstractUnit
Provides default implementations for the methods in Unit.
|
class |
AbstractValueBox
Reference implementation for ValueBox; just
add a canContainValue method.
|
class |
Body
Abstract base class that models the body (code attribute) of a Java method.
|
class |
SootClass
Soot representation of a Java class.
|
class |
SootField
Soot representation of a Java field.
|
class |
SootMethod
Soot representation of a Java method.
|
Modifier and Type | Method and Description |
---|---|
protected void |
AbstractASMBackend.generateAnnotations(Object visitor,
Host host)
Emits the bytecode for all annotations of a class, field or method
|
protected void |
AbstractASMBackend.generateAnnotations(Object visitor,
Host host)
Emits the bytecode for all annotations of a class, field or method
|
protected static int |
AbstractASMBackend.getModifiers(int modVal,
Host host)
Utility method to get the access modifiers of a Host
|
protected static int |
AbstractASMBackend.getModifiers(int modVal,
Host host)
Utility method to get the access modifiers of a Host
|
Modifier and Type | Interface and Description |
---|---|
interface |
AddInst |
interface |
AndInst |
interface |
ArrayLengthInst |
interface |
ArrayReadInst |
interface |
ArrayWriteInst |
interface |
CmpgInst |
interface |
CmpInst |
interface |
CmplInst |
interface |
DivInst |
interface |
Dup1_x1Inst |
interface |
Dup1_x2Inst |
interface |
Dup1Inst |
interface |
Dup2_x1Inst |
interface |
Dup2_x2Inst |
interface |
Dup2Inst |
interface |
DupInst |
interface |
DynamicInvokeInst |
interface |
EnterMonitorInst |
interface |
ExitMonitorInst |
interface |
FieldArgInst |
interface |
FieldGetInst |
interface |
FieldPutInst |
interface |
GotoInst |
interface |
IdentityInst |
interface |
IfCmpEqInst |
interface |
IfCmpGeInst |
interface |
IfCmpGtInst |
interface |
IfCmpLeInst |
interface |
IfCmpLtInst |
interface |
IfCmpNeInst |
interface |
IfEqInst |
interface |
IfGeInst |
interface |
IfGtInst |
interface |
IfLeInst |
interface |
IfLtInst |
interface |
IfNeInst |
interface |
IfNonNullInst |
interface |
IfNullInst |
interface |
IncInst |
interface |
Inst |
interface |
InstanceCastInst |
interface |
InstanceOfInst |
interface |
InterfaceInvokeInst |
interface |
JSRInst |
interface |
LoadInst |
interface |
LookupSwitchInst |
interface |
MethodArgInst |
interface |
MulInst |
interface |
NegInst |
interface |
NewArrayInst |
interface |
NewInst |
interface |
NewMultiArrayInst |
interface |
NoArgInst |
interface |
NopInst |
interface |
OpTypeArgInst |
interface |
OrInst |
interface |
PopInst |
interface |
PrimitiveCastInst |
interface |
PushInst |
interface |
RemInst |
interface |
RetInst |
interface |
ReturnInst |
interface |
ReturnVoidInst |
interface |
ShlInst |
interface |
ShrInst |
interface |
SpecialInvokeInst |
interface |
StaticGetInst |
interface |
StaticInvokeInst |
interface |
StaticPutInst |
interface |
StoreInst |
interface |
SubInst |
interface |
SwapInst |
interface |
TableSwitchInst |
interface |
TargetArgInst |
interface |
ThrowInst |
interface |
UshrInst |
interface |
VirtualInvokeInst |
interface |
XorInst |
Modifier and Type | Class and Description |
---|---|
class |
BafBody |
class |
PlaceholderInst |
Modifier and Type | Class and Description |
---|---|
class |
DavaBody |
Modifier and Type | Class and Description |
---|---|
class |
ASTControlFlowNode |
class |
ASTDoWhileNode |
class |
ASTForLoopNode |
class |
ASTIfElseNode |
class |
ASTIfNode |
class |
ASTLabeledBlockNode |
class |
ASTLabeledNode |
class |
ASTMethodNode |
class |
ASTNode |
class |
ASTStatementSequenceNode |
class |
ASTSwitchNode |
class |
ASTSynchronizedBlockNode |
class |
ASTTryNode |
class |
ASTUnconditionalLoopNode |
class |
ASTWhileNode |
Modifier and Type | Class and Description |
---|---|
class |
DAbruptStmt |
class |
DArrayInitValueBox |
class |
DAssignStmt |
class |
DDecrementStmt |
class |
DIdentityStmt |
class |
DIncrementStmt |
class |
DShortcutAssignStmt |
class |
DVariableDeclarationStmt |
Modifier and Type | Method and Description |
---|---|
protected void |
DexlibAbstractInstruction.addTags(Host host)
Tag the passed host with: - this instructions line number (if one is set)
- the original bytecode offset
|
protected void |
DexlibAbstractInstruction.addTags(Host host)
Tag the passed host with: - this instructions line number (if one is set)
- the original bytecode offset
|
Modifier and Type | Class and Description |
---|---|
class |
GrimpBody
Implementation of the Body class for the Grimp IR.
|
Modifier and Type | Class and Description |
---|---|
class |
ExprBox |
class |
GAssignStmt |
class |
GEnterMonitorStmt |
class |
GExitMonitorStmt |
class |
GIdentityStmt |
class |
GIfStmt |
class |
GInvokeStmt |
class |
GLookupSwitchStmt |
class |
GReturnStmt |
class |
GRValueBox |
class |
GTableSwitchStmt |
class |
GThrowStmt |
class |
ObjExprBox |
Modifier and Type | Method and Description |
---|---|
static void |
Util.addLineTag(Host host,
int sLine,
int eLine)
Line Tag Adder
|
static void |
Util.addLineTag(Host host,
int sLine,
int eLine)
Line Tag Adder
|
static void |
Util.addLineTag(Host host,
polyglot.ast.Node node)
Line Tag Adder
|
static void |
Util.addLineTag(Host host,
polyglot.ast.Node node)
Line Tag Adder
|
static void |
Util.addLnPosTags(Host host,
int sline,
int eline,
int spos,
int epos) |
static void |
Util.addLnPosTags(Host host,
int sline,
int eline,
int spos,
int epos) |
static void |
Util.addLnPosTags(Host host,
polyglot.util.Position pos) |
static void |
Util.addLnPosTags(Host host,
polyglot.util.Position pos) |
static void |
Util.addMethodLineTag(Host host,
int sline,
int eline) |
static void |
Util.addMethodLineTag(Host host,
int sline,
int eline) |
static void |
Util.addMethodPosTag(Host meth,
int start,
int end) |
static void |
Util.addMethodPosTag(Host meth,
int start,
int end) |
static void |
Util.addPosTag(Host host,
int sc,
int ec)
Position Tag Adder
|
static void |
Util.addPosTag(Host host,
int sc,
int ec)
Position Tag Adder
|
static void |
Util.addPosTag(Host host,
polyglot.util.Position pos)
Position Tag Adder
|
static void |
Util.addPosTag(Host host,
polyglot.util.Position pos)
Position Tag Adder
|
Modifier and Type | Interface and Description |
---|---|
interface |
AssignStmt |
interface |
BreakpointStmt |
interface |
DefinitionStmt |
interface |
EnterMonitorStmt |
interface |
ExitMonitorStmt |
interface |
GotoStmt |
interface |
IdentityStmt |
interface |
IfStmt |
interface |
InvokeStmt |
interface |
LookupSwitchStmt |
interface |
MonitorStmt |
interface |
NopStmt |
interface |
RetStmt |
interface |
ReturnStmt |
interface |
ReturnVoidStmt |
interface |
Stmt |
interface |
SwitchStmt |
interface |
TableSwitchStmt |
interface |
ThrowStmt |
Modifier and Type | Class and Description |
---|---|
class |
JimpleBody
Implementation of the Body class for the Jimple IR.
|
class |
PlaceholderStmt |
class |
StmtBody
Abstract base class for Body's on Stmts (Jimple and Grimp).
|
Modifier and Type | Class and Description |
---|---|
class |
AbstractDefinitionStmt |
class |
AbstractOpStmt |
class |
AbstractStmt |
class |
AbstractSwitchStmt |
class |
ConditionExprBox |
class |
IdentityRefBox |
class |
ImmediateBox |
class |
InvokeExprBox |
class |
JAssignStmt |
class |
JBreakpointStmt |
class |
JEnterMonitorStmt |
class |
JExitMonitorStmt |
class |
JGotoStmt |
class |
JIdentityStmt |
class |
JIfStmt |
class |
JimpleLocalBox |
class |
JInvokeStmt |
class |
JLookupSwitchStmt |
class |
JNopStmt |
class |
JRetStmt |
class |
JReturnStmt |
class |
JReturnVoidStmt |
class |
JTableSwitchStmt |
class |
JThrowStmt |
class |
RValueBox |
class |
VariableBox |
Modifier and Type | Method and Description |
---|---|
protected void |
SparkTransformer.addTag(Host h,
Node n,
Map<Node,Tag> nodeToTag,
Tag unknown) |
protected void |
SparkTransformer.addTag(Host h,
Node n,
Map<Node,Tag> nodeToTag,
Tag unknown) |
Modifier and Type | Method and Description |
---|---|
void |
AnnotationGenerator.annotate(Host h,
Class<? extends Annotation> klass,
AnnotationElem... elems)
Applies a Java 1.5-style annotation to a given Host.
|
void |
AnnotationGenerator.annotate(Host h,
Class<? extends Annotation> klass,
AnnotationElem... elems)
Applies a Java 1.5-style annotation to a given Host.
|
void |
AnnotationGenerator.annotate(Host h,
Class<? extends Annotation> klass,
List<AnnotationElem> elems)
Applies a Java 1.5-style annotation to a given Host.
|
void |
AnnotationGenerator.annotate(Host h,
Class<? extends Annotation> klass,
List<AnnotationElem> elems)
Applies a Java 1.5-style annotation to a given Host.
|
void |
AnnotationGenerator.annotate(Host h,
String annotationName,
int visibility,
List<AnnotationElem> elems)
Applies a Java 1.5-style annotation to a given Host.
|
void |
AnnotationGenerator.annotate(Host h,
String annotationName,
int visibility,
List<AnnotationElem> elems)
Applies a Java 1.5-style annotation to a given Host.
|
Modifier and Type | Class and Description |
---|---|
class |
BeginStmt |
class |
JoinStmt |
class |
JPegStmt |
class |
MonitorEntryStmt |
class |
MonitorExitStmt |
class |
NotifiedEntryStmt |
class |
NotifyAllStmt |
class |
NotifyStmt |
class |
OtherStmt |
class |
StartStmt |
class |
WaitingStmt |
class |
WaitStmt |
Modifier and Type | Class and Description |
---|---|
class |
ShimpleBody
Implementation of the Body class for the SSA Shimple IR.
|
Modifier and Type | Class and Description |
---|---|
class |
SValueUnitPair
Extension of ValueUnitPair that implements SUnitBox.
|
Modifier and Type | Class and Description |
---|---|
class |
AbstractHost
This class is the reference implementation for
the Host interface, which allows arbitrary taggable
data to be stored with Soot objects.
|
Modifier and Type | Method and Description |
---|---|
Host |
LinkTag.getLink() |
Host |
LinkTag.getLink() |
Modifier and Type | Method and Description |
---|---|
void |
AbstractHost.addAllTagsOf(Host h)
Adds all the tags from h to this host.
|
void |
Host.addAllTagsOf(Host h)
Adds all the tags from h to this host.
|
void |
AbstractHost.addAllTagsOf(Host h)
Adds all the tags from h to this host.
|
void |
Host.addAllTagsOf(Host h)
Adds all the tags from h to this host.
|
Constructor and Description |
---|
LinkTag(String string,
Host link,
String className) |
LinkTag(String string,
Host link,
String className) |
LinkTag(String string,
Host link,
String className,
String type) |
LinkTag(String string,
Host link,
String className,
String type) |
Modifier and Type | Class and Description |
---|---|
class |
ValueUnitPair
Utility class used to package a Value and a Unit together.
|