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.grimp |
Public classes for the Grimp intermediate representation.
|
soot.jimple |
Public classes for the Jimple intermediate representation.
|
soot.jimple.internal |
Internal, messy, implementation-specific classes for the Jimple 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 | Class and Description |
---|---|
class |
AbstractUnitBox
Reference implementation for UnitBox; just
add a canContainUnit method.
|
Modifier and Type | Field and Description |
---|---|
protected UnitBox |
AbstractTrap.beginUnitBox
The first unit being trapped.
|
protected UnitBox |
AbstractTrap.beginUnitBox
The first unit being trapped.
|
protected UnitBox |
AbstractTrap.endUnitBox
The unit just before the last unit being trapped.
|
protected UnitBox |
AbstractTrap.endUnitBox
The unit just before the last unit being trapped.
|
protected UnitBox |
AbstractTrap.handlerUnitBox
The unit to which execution flows after the caught exception is triggered.
|
protected UnitBox |
AbstractTrap.handlerUnitBox
The unit to which execution flows after the caught exception is triggered.
|
Modifier and Type | Field and Description |
---|---|
protected List<UnitBox> |
AbstractTrap.unitBoxes
The list of unitBoxes referred to in this Trap (begin, end and handler.
|
protected List<UnitBox> |
AbstractTrap.unitBoxes
The list of unitBoxes referred to in this Trap (begin, end and handler.
|
Modifier and Type | Method and Description |
---|---|
UnitBox |
AbstractTrap.getBeginUnitBox() |
UnitBox |
Trap.getBeginUnitBox()
Returns the box holding the unit returned by
Trap.getBeginUnit() . |
UnitBox |
Trap.getBeginUnitBox()
Returns the box holding the unit returned by
Trap.getBeginUnit() . |
UnitBox |
AbstractTrap.getBeginUnitBox() |
UnitBox |
AbstractTrap.getEndUnitBox() |
UnitBox |
Trap.getEndUnitBox()
Returns the box holding the unit returned by
Trap.getEndUnit() . |
UnitBox |
Trap.getEndUnitBox()
Returns the box holding the unit returned by
Trap.getEndUnit() . |
UnitBox |
AbstractTrap.getEndUnitBox() |
UnitBox |
AbstractTrap.getHandlerUnitBox() |
UnitBox |
Trap.getHandlerUnitBox()
Returns the box holding the exception handler's unit.
|
UnitBox |
Trap.getHandlerUnitBox()
Returns the box holding the exception handler's unit.
|
UnitBox |
AbstractTrap.getHandlerUnitBox() |
Modifier and Type | Method and Description |
---|---|
List<UnitBox> |
Body.getAllUnitBoxes()
Returns the result of iterating through all Units in this body
and querying them for their UnitBoxes.
|
List<UnitBox> |
Body.getAllUnitBoxes()
Returns the result of iterating through all Units in this body
and querying them for their UnitBoxes.
|
List<UnitBox> |
AbstractUnit.getBoxesPointingToThis()
Returns a list of Boxes pointing to this Unit.
|
List<UnitBox> |
Unit.getBoxesPointingToThis()
Returns a list of Boxes pointing to this Unit.
|
List<UnitBox> |
AbstractUnit.getBoxesPointingToThis()
Returns a list of Boxes pointing to this Unit.
|
List<UnitBox> |
Unit.getBoxesPointingToThis()
Returns a list of Boxes pointing to this Unit.
|
List<UnitBox> |
AbstractTrap.getUnitBoxes() |
List<UnitBox> |
AbstractUnit.getUnitBoxes()
Returns a list of Boxes containing Units defined in this Unit; typically
branch targets.
|
List<UnitBox> |
Trap.getUnitBoxes()
Returns the boxes for first, last and handler units.
|
List<UnitBox> |
Unit.getUnitBoxes()
Returns a list of Boxes containing Units defined in this Unit; typically
branch targets.
|
List<UnitBox> |
UnitBoxOwner.getUnitBoxes() |
List<UnitBox> |
Trap.getUnitBoxes()
Returns the boxes for first, last and handler units.
|
List<UnitBox> |
AbstractTrap.getUnitBoxes() |
List<UnitBox> |
AbstractUnit.getUnitBoxes()
Returns a list of Boxes containing Units defined in this Unit; typically
branch targets.
|
List<UnitBox> |
UnitBoxOwner.getUnitBoxes() |
List<UnitBox> |
Unit.getUnitBoxes()
Returns a list of Boxes containing Units defined in this Unit; typically
branch targets.
|
List<UnitBox> |
Body.getUnitBoxes(boolean branchTarget)
If branchTarget is true, returns the result of iterating
through all branching Units in this body and querying them for
their UnitBoxes.
|
List<UnitBox> |
Body.getUnitBoxes(boolean branchTarget)
If branchTarget is true, returns the result of iterating
through all branching Units in this body and querying them for
their UnitBoxes.
|
Modifier and Type | Method and Description |
---|---|
void |
AbstractUnit.addBoxPointingToThis(UnitBox b) |
void |
Unit.addBoxPointingToThis(UnitBox b)
Adds a box to the list returned by getBoxesPointingToThis.
|
void |
AbstractUnit.addBoxPointingToThis(UnitBox b) |
void |
Unit.addBoxPointingToThis(UnitBox b)
Adds a box to the list returned by getBoxesPointingToThis.
|
void |
AbstractUnitPrinter.endUnitBox(UnitBox ub) |
void |
UnitPrinter.endUnitBox(UnitBox u) |
void |
UnitPrinter.endUnitBox(UnitBox u) |
void |
AbstractUnitPrinter.endUnitBox(UnitBox ub) |
void |
AbstractUnit.removeBoxPointingToThis(UnitBox b) |
void |
Unit.removeBoxPointingToThis(UnitBox b)
Removes a box from the list returned by getBoxesPointingToThis.
|
void |
AbstractUnit.removeBoxPointingToThis(UnitBox b) |
void |
Unit.removeBoxPointingToThis(UnitBox b)
Removes a box from the list returned by getBoxesPointingToThis.
|
void |
AbstractUnitPrinter.startUnitBox(UnitBox ub) |
void |
UnitPrinter.startUnitBox(UnitBox u) |
void |
UnitPrinter.startUnitBox(UnitBox u) |
void |
AbstractUnitPrinter.startUnitBox(UnitBox ub) |
Constructor and Description |
---|
AbstractTrap(SootClass exception,
UnitBox beginUnitBox,
UnitBox endUnitBox,
UnitBox handlerUnitBox)
Creates an AbstractTrap with the given exception, handler, begin and end units.
|
AbstractTrap(SootClass exception,
UnitBox beginUnitBox,
UnitBox endUnitBox,
UnitBox handlerUnitBox)
Creates an AbstractTrap with the given exception, handler, begin and end units.
|
Modifier and Type | Method and Description |
---|---|
UnitBox |
LookupSwitchInst.getDefaultTargetBox() |
UnitBox |
TableSwitchInst.getDefaultTargetBox() |
UnitBox |
LookupSwitchInst.getDefaultTargetBox() |
UnitBox |
TableSwitchInst.getDefaultTargetBox() |
UnitBox |
TargetArgInst.getTargetBox() |
UnitBox |
TargetArgInst.getTargetBox() |
UnitBox |
LookupSwitchInst.getTargetBox(int index) |
UnitBox |
TableSwitchInst.getTargetBox(int index) |
UnitBox |
LookupSwitchInst.getTargetBox(int index) |
UnitBox |
TableSwitchInst.getTargetBox(int index) |
UnitBox |
Baf.newInstBox(Unit unit) |
UnitBox |
Baf.newInstBox(Unit unit) |
Modifier and Type | Method and Description |
---|---|
UnitBox |
BLookupSwitchInst.getDefaultTargetBox() |
UnitBox |
BTableSwitchInst.getDefaultTargetBox() |
UnitBox |
BTableSwitchInst.getDefaultTargetBox() |
UnitBox |
BLookupSwitchInst.getDefaultTargetBox() |
UnitBox |
AbstractBranchInst.getTargetBox() |
UnitBox |
AbstractBranchInst.getTargetBox() |
UnitBox |
BLookupSwitchInst.getTargetBox(int index) |
UnitBox |
BTableSwitchInst.getTargetBox(int index) |
UnitBox |
BTableSwitchInst.getTargetBox(int index) |
UnitBox |
BLookupSwitchInst.getTargetBox(int index) |
Modifier and Type | Method and Description |
---|---|
List<UnitBox> |
AbstractBranchInst.getUnitBoxes() |
List<UnitBox> |
AbstractBranchInst.getUnitBoxes() |
Modifier and Type | Method and Description |
---|---|
UnitBox |
Grimp.newStmtBox(Unit unit) |
UnitBox |
Grimp.newStmtBox(Unit unit) |
Modifier and Type | Method and Description |
---|---|
UnitBox |
SwitchStmt.getDefaultTargetBox() |
UnitBox |
SwitchStmt.getDefaultTargetBox() |
UnitBox |
GotoStmt.getTargetBox() |
UnitBox |
IfStmt.getTargetBox() |
UnitBox |
GotoStmt.getTargetBox() |
UnitBox |
IfStmt.getTargetBox() |
UnitBox |
SwitchStmt.getTargetBox(int index) |
UnitBox |
SwitchStmt.getTargetBox(int index) |
UnitBox |
Jimple.newStmtBox(Unit unit) |
UnitBox |
Jimple.newStmtBox(Unit unit) |
Modifier and Type | Method and Description |
---|---|
GotoStmt |
Jimple.newGotoStmt(UnitBox stmtBox) |
GotoStmt |
Jimple.newGotoStmt(UnitBox stmtBox) |
IfStmt |
Jimple.newIfStmt(Value condition,
UnitBox target)
Constructs a IfStmt(Condition, UnitBox) grammar chunk.
|
IfStmt |
Jimple.newIfStmt(Value condition,
UnitBox target)
Constructs a IfStmt(Condition, UnitBox) grammar chunk.
|
LookupSwitchStmt |
Jimple.newLookupSwitchStmt(Value key,
List<IntConstant> lookupValues,
List<? extends UnitBox> targets,
UnitBox defaultTarget) |
LookupSwitchStmt |
Jimple.newLookupSwitchStmt(Value key,
List<IntConstant> lookupValues,
List<? extends UnitBox> targets,
UnitBox defaultTarget) |
TableSwitchStmt |
Jimple.newTableSwitchStmt(Value key,
int lowIndex,
int highIndex,
List<? extends UnitBox> targets,
UnitBox defaultTarget) |
TableSwitchStmt |
Jimple.newTableSwitchStmt(Value key,
int lowIndex,
int highIndex,
List<? extends UnitBox> targets,
UnitBox defaultTarget) |
Trap |
Jimple.newTrap(SootClass exception,
UnitBox beginStmt,
UnitBox endStmt,
UnitBox handlerStmt) |
Trap |
Jimple.newTrap(SootClass exception,
UnitBox beginStmt,
UnitBox endStmt,
UnitBox handlerStmt) |
Modifier and Type | Method and Description |
---|---|
LookupSwitchStmt |
Jimple.newLookupSwitchStmt(Value key,
List<IntConstant> lookupValues,
List<? extends UnitBox> targets,
UnitBox defaultTarget) |
LookupSwitchStmt |
Jimple.newLookupSwitchStmt(Value key,
List<IntConstant> lookupValues,
List<? extends UnitBox> targets,
UnitBox defaultTarget) |
TableSwitchStmt |
Jimple.newTableSwitchStmt(Value key,
int lowIndex,
int highIndex,
List<? extends UnitBox> targets,
UnitBox defaultTarget) |
TableSwitchStmt |
Jimple.newTableSwitchStmt(Value key,
int lowIndex,
int highIndex,
List<? extends UnitBox> targets,
UnitBox defaultTarget) |
Modifier and Type | Class and Description |
---|---|
class |
StmtBox |
Modifier and Type | Field and Description |
---|---|
protected UnitBox[] |
AbstractSwitchStmt.targetBoxes |
protected UnitBox[] |
AbstractSwitchStmt.targetBoxes |
Modifier and Type | Method and Description |
---|---|
UnitBox |
AbstractSwitchStmt.getDefaultTargetBox() |
UnitBox |
AbstractSwitchStmt.getDefaultTargetBox() |
UnitBox |
JGotoStmt.getTargetBox() |
UnitBox |
JIfStmt.getTargetBox() |
UnitBox |
JGotoStmt.getTargetBox() |
UnitBox |
JIfStmt.getTargetBox() |
UnitBox |
AbstractSwitchStmt.getTargetBox(int index) |
UnitBox |
AbstractSwitchStmt.getTargetBox(int index) |
Modifier and Type | Method and Description |
---|---|
List<UnitBox> |
AbstractSwitchStmt.getUnitBoxes() |
List<UnitBox> |
JAssignStmt.getUnitBoxes() |
List<UnitBox> |
JGotoStmt.getUnitBoxes() |
List<UnitBox> |
JIfStmt.getUnitBoxes() |
List<UnitBox> |
JGotoStmt.getUnitBoxes() |
List<UnitBox> |
JAssignStmt.getUnitBoxes() |
List<UnitBox> |
AbstractSwitchStmt.getUnitBoxes() |
List<UnitBox> |
JIfStmt.getUnitBoxes() |
Constructor and Description |
---|
AbstractSwitchStmt(ValueBox keyBox,
UnitBox defaultTargetBox,
UnitBox... targetBoxes) |
AbstractSwitchStmt(ValueBox keyBox,
UnitBox defaultTargetBox,
UnitBox... targetBoxes) |
AbstractSwitchStmt(ValueBox keyBox,
UnitBox defaultTargetBox,
UnitBox... targetBoxes) |
AbstractSwitchStmt(ValueBox keyBox,
UnitBox defaultTargetBox,
UnitBox... targetBoxes) |
JGotoStmt(UnitBox box) |
JGotoStmt(UnitBox box) |
JIfStmt(ValueBox conditionBox,
UnitBox targetBox) |
JIfStmt(ValueBox conditionBox,
UnitBox targetBox) |
JIfStmt(Value condition,
UnitBox target) |
JIfStmt(Value condition,
UnitBox target) |
JLookupSwitchStmt(ValueBox keyBox,
List<IntConstant> lookupValues,
UnitBox[] targetBoxes,
UnitBox defaultTargetBox) |
JLookupSwitchStmt(ValueBox keyBox,
List<IntConstant> lookupValues,
UnitBox[] targetBoxes,
UnitBox defaultTargetBox) |
JLookupSwitchStmt(ValueBox keyBox,
List<IntConstant> lookupValues,
UnitBox[] targetBoxes,
UnitBox defaultTargetBox) |
JLookupSwitchStmt(ValueBox keyBox,
List<IntConstant> lookupValues,
UnitBox[] targetBoxes,
UnitBox defaultTargetBox) |
JLookupSwitchStmt(Value key,
List<IntConstant> lookupValues,
List<? extends UnitBox> targets,
UnitBox defaultTarget)
Constructs a new JLookupSwitchStmt.
|
JLookupSwitchStmt(Value key,
List<IntConstant> lookupValues,
List<? extends UnitBox> targets,
UnitBox defaultTarget)
Constructs a new JLookupSwitchStmt.
|
JTableSwitchStmt(ValueBox keyBox,
int lowIndex,
int highIndex,
UnitBox[] targetBoxes,
UnitBox defaultTargetBox) |
JTableSwitchStmt(ValueBox keyBox,
int lowIndex,
int highIndex,
UnitBox[] targetBoxes,
UnitBox defaultTargetBox) |
JTableSwitchStmt(ValueBox keyBox,
int lowIndex,
int highIndex,
UnitBox[] targetBoxes,
UnitBox defaultTargetBox) |
JTableSwitchStmt(ValueBox keyBox,
int lowIndex,
int highIndex,
UnitBox[] targetBoxes,
UnitBox defaultTargetBox) |
JTableSwitchStmt(Value key,
int lowIndex,
int highIndex,
List<? extends UnitBox> targets,
UnitBox defaultTarget) |
JTableSwitchStmt(Value key,
int lowIndex,
int highIndex,
List<? extends UnitBox> targets,
UnitBox defaultTarget) |
JTrap(SootClass exception,
UnitBox beginStmt,
UnitBox endStmt,
UnitBox handlerStmt) |
JTrap(SootClass exception,
UnitBox beginStmt,
UnitBox endStmt,
UnitBox handlerStmt) |
Constructor and Description |
---|
JLookupSwitchStmt(Value key,
List<IntConstant> lookupValues,
List<? extends UnitBox> targets,
UnitBox defaultTarget)
Constructs a new JLookupSwitchStmt.
|
JLookupSwitchStmt(Value key,
List<IntConstant> lookupValues,
List<? extends UnitBox> targets,
UnitBox defaultTarget)
Constructs a new JLookupSwitchStmt.
|
JTableSwitchStmt(Value key,
int lowIndex,
int highIndex,
List<? extends UnitBox> targets,
UnitBox defaultTarget) |
JTableSwitchStmt(Value key,
int lowIndex,
int highIndex,
List<? extends UnitBox> targets,
UnitBox defaultTarget) |
Modifier and Type | Interface and Description |
---|---|
interface |
SUnitBox
Extension of UnitBox to provide some extra information needed by
SPatchingChain.
|
Modifier and Type | Class and Description |
---|---|
class |
SValueUnitPair
Extension of ValueUnitPair that implements SUnitBox.
|
Modifier and Type | Field and Description |
---|---|
protected Map<UnitBox,Unit> |
SPatchingChain.boxToPhiNode
Map from UnitBox to the Phi node owning it.
|
protected Map<UnitBox,Unit> |
SPatchingChain.boxToPhiNode
Map from UnitBox to the Phi node owning it.
|
Modifier and Type | Method and Description |
---|---|
List<UnitBox> |
SPhiExpr.getUnitBoxes() |
List<UnitBox> |
SPiExpr.getUnitBoxes() |
List<UnitBox> |
SPhiExpr.getUnitBoxes() |
List<UnitBox> |
SPiExpr.getUnitBoxes() |
Modifier and Type | Method and Description |
---|---|
protected SUnitBox |
SPatchingChain.getSBox(UnitBox box) |
protected SUnitBox |
SPatchingChain.getSBox(UnitBox box) |
Modifier and Type | Method and Description |
---|---|
List<UnitBox> |
CodeAttribute.getUnitBoxes()
Returns a list of unit boxes that have tags attached.
|
List<UnitBox> |
GenericAttribute.getUnitBoxes() |
List<UnitBox> |
GenericAttribute.getUnitBoxes() |
List<UnitBox> |
CodeAttribute.getUnitBoxes()
Returns a list of unit boxes that have tags attached.
|
Modifier and Type | Class and Description |
---|---|
class |
ValueUnitPair
Utility class used to package a Value and a Unit together.
|