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.coffi |
Contains classes from the Coffi tool, by Clark Verbrugge.
|
soot.dava | |
soot.dava.internal.AST | |
soot.dava.internal.javaRep | |
soot.dava.internal.SET | |
soot.dava.toolkits.base.AST | |
soot.dava.toolkits.base.AST.analysis | |
soot.dava.toolkits.base.AST.structuredAnalysis | |
soot.dava.toolkits.base.AST.transformations | |
soot.dava.toolkits.base.AST.traversals | |
soot.dexpler.typing | |
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.builder | |
soot.jimple.spark.pag | |
soot.jimple.toolkits.annotation.nullcheck |
Classes that carry out an analysis to determine whether or not null pointer
checks are necessary.
|
soot.jimple.toolkits.annotation.parity | |
soot.jimple.toolkits.ide.exampleproblems | |
soot.jimple.toolkits.ide.icfg | |
soot.jimple.toolkits.infoflow | |
soot.jimple.toolkits.pointer | |
soot.jimple.toolkits.scalar |
A toolkit for scalar optimization of Jimple.
|
soot.jimple.toolkits.scalar.pre |
Particial redundency elimination.
|
soot.jimple.toolkits.thread | |
soot.jimple.toolkits.thread.synchronization | |
soot.jimple.toolkits.typing.fast | |
soot.shimple |
Public classes for the SSA Shimple intermediate representation.
|
soot.shimple.internal |
Shimple internal messy stuff.
|
soot.shimple.toolkits.graph | |
soot.shimple.toolkits.scalar |
Some analyses based on Shimple.
|
soot.sootify | |
soot.toDex | |
soot.toolkits.exceptions | |
soot.toolkits.scalar |
A number of scalar optimizations, and the flow analysis framework.
|
Modifier and Type | Interface and Description |
---|---|
interface |
Immediate
A local or constant.
|
interface |
Local
A local variable, used within Body
classes.
|
Modifier and Type | Class and Description |
---|---|
class |
EquivalentValue
Encapsulates the Value class, but uses EquivTo for equality comparisons.
|
Modifier and Type | Method and Description |
---|---|
Value |
EquivalentValue.getDeepestValue()
Deprecated.
|
Value |
EquivalentValue.getDeepestValue()
Deprecated.
|
Value |
IdentityUnit.getLeftOp() |
Value |
IdentityUnit.getLeftOp() |
Value |
IdentityUnit.getRightOp() |
Value |
IdentityUnit.getRightOp() |
Value |
AbstractValueBox.getValue() |
Value |
EquivalentValue.getValue() |
Value |
ValueBox.getValue()
Returns the value contained in this box.
|
Value |
EquivalentValue.getValue() |
Value |
AbstractValueBox.getValue() |
Value |
ValueBox.getValue()
Returns the value contained in this box.
|
Modifier and Type | Method and Description |
---|---|
List<Value> |
Body.getParameterRefs()
Returns the list of parameter references used in this body.
|
List<Value> |
Body.getParameterRefs()
Returns the list of parameter references used in this body.
|
Modifier and Type | Method and Description |
---|---|
boolean |
ValueBox.canContainValue(Value value)
Returns true if the given Value fits in this box.
|
boolean |
ValueBox.canContainValue(Value value)
Returns true if the given Value fits in this box.
|
boolean |
EquivalentValue.equalsToValue(Value v)
compares the encapsulated value with
v , using
equals |
boolean |
EquivalentValue.equalsToValue(Value v)
compares the encapsulated value with
v , using
equals |
boolean |
EquivalentValue.equivToValue(Value v)
compares the encapsulated value with
v , using
equivTo |
boolean |
EquivalentValue.equivToValue(Value v)
compares the encapsulated value with
v , using
equivTo |
void |
AbstractValueBox.setValue(Value value) |
void |
ValueBox.setValue(Value value)
Sets the value contained in this box as given.
|
void |
AbstractValueBox.setValue(Value value) |
void |
ValueBox.setValue(Value value)
Sets the value contained in this box as given.
|
boolean |
SideEffectTester.unitCanReadFrom(Unit u,
Value v) |
boolean |
SideEffectTester.unitCanReadFrom(Unit u,
Value v) |
boolean |
SideEffectTester.unitCanWriteTo(Unit u,
Value v) |
boolean |
SideEffectTester.unitCanWriteTo(Unit u,
Value v) |
Constructor and Description |
---|
EquivalentValue(Value e) |
EquivalentValue(Value e) |
Modifier and Type | Method and Description |
---|---|
Value |
IdentityInst.getLeftOp() |
Value |
IdentityInst.getLeftOp() |
Value |
IdentityInst.getRightOp() |
Value |
IdentityInst.getRightOp() |
Modifier and Type | Method and Description |
---|---|
List<Value> |
DynamicInvokeInst.getBootstrapArgs() |
List<Value> |
DynamicInvokeInst.getBootstrapArgs() |
Modifier and Type | Method and Description |
---|---|
IdentityInst |
Baf.newIdentityInst(Value local,
Value identityRef) |
IdentityInst |
Baf.newIdentityInst(Value local,
Value identityRef) |
ValueBox |
Baf.newIdentityRefBox(Value value) |
ValueBox |
Baf.newIdentityRefBox(Value value) |
ValueBox |
Baf.newLocalBox(Value value) |
ValueBox |
Baf.newLocalBox(Value value) |
void |
IdentityInst.setLeftOp(Value variable) |
void |
IdentityInst.setLeftOp(Value variable) |
void |
IdentityInst.setRightOp(Value rvalue) |
void |
IdentityInst.setRightOp(Value rvalue) |
Modifier and Type | Method and Description |
---|---|
DynamicInvokeInst |
Baf.newDynamicInvokeInst(SootMethodRef bsmMethodRef,
List<Value> bsmArgs,
SootMethodRef methodRef,
int tag) |
DynamicInvokeInst |
Baf.newDynamicInvokeInst(SootMethodRef bsmMethodRef,
List<Value> bsmArgs,
SootMethodRef methodRef,
int tag) |
Modifier and Type | Class and Description |
---|---|
class |
BafLocal |
Modifier and Type | Method and Description |
---|---|
Value |
BIdentityInst.getLeftOp() |
Value |
BIdentityInst.getLeftOp() |
Value |
BIdentityInst.getRightOp() |
Value |
BIdentityInst.getRightOp() |
Modifier and Type | Method and Description |
---|---|
List<Value> |
BDynamicInvokeInst.getBootstrapArgs() |
List<Value> |
BDynamicInvokeInst.getBootstrapArgs() |
Modifier and Type | Method and Description |
---|---|
boolean |
BafLocalBox.canContainValue(Value value) |
boolean |
BafLocalBox.canContainValue(Value value) |
void |
BIdentityInst.setLeftOp(Value local) |
void |
BIdentityInst.setLeftOp(Value local) |
void |
BIdentityInst.setRightOp(Value identityRef) |
void |
BIdentityInst.setRightOp(Value identityRef) |
Constructor and Description |
---|
BafLocalBox(Value value) |
BafLocalBox(Value value) |
BIdentityInst(Value local,
Value identityValue) |
BIdentityInst(Value local,
Value identityValue) |
Constructor and Description |
---|
BDynamicInvokeInst(SootMethodRef bsmMethodRef,
List<Value> bsmArgs,
SootMethodRef methodRef,
int tag) |
BDynamicInvokeInst(SootMethodRef bsmMethodRef,
List<Value> bsmArgs,
SootMethodRef methodRef,
int tag) |
Modifier and Type | Method and Description |
---|---|
Value |
CONSTANT_Class_info.createJimpleConstantValue(soot.coffi.cp_info[] constant_pool) |
Value |
CONSTANT_Utf8_info.createJimpleConstantValue(soot.coffi.cp_info[] constant_pool) |
Value |
CONSTANT_Class_info.createJimpleConstantValue(soot.coffi.cp_info[] constant_pool) |
Value |
CONSTANT_Utf8_info.createJimpleConstantValue(soot.coffi.cp_info[] constant_pool) |
Modifier and Type | Method and Description |
---|---|
Map<Integer,Value> |
DavaBody.get_ParamMap() |
Map<Integer,Value> |
DavaBody.get_ParamMap() |
Modifier and Type | Method and Description |
---|---|
void |
DavaBody.set_ParamMap(Map<Integer,Value> map) |
void |
DavaBody.set_ParamMap(Map<Integer,Value> map) |
Modifier and Type | Method and Description |
---|---|
Value |
ASTSwitchNode.get_Key() |
Value |
ASTSwitchNode.get_Key() |
Value |
ASTUnaryCondition.getValue() |
Value |
ASTUnaryCondition.getValue() |
Modifier and Type | Method and Description |
---|---|
void |
ASTSwitchNode.set_Key(Value key) |
void |
ASTSwitchNode.set_Key(Value key) |
void |
ASTUnaryCondition.setValue(Value value) |
void |
ASTUnaryCondition.setValue(Value value) |
Constructor and Description |
---|
ASTSwitchNode(SETNodeLabel label,
Value key,
List<Object> indexList,
Map<Object,List<Object>> index2BodyList) |
ASTSwitchNode(SETNodeLabel label,
Value key,
List<Object> indexList,
Map<Object,List<Object>> index2BodyList) |
ASTSynchronizedBlockNode(SETNodeLabel label,
List<Object> body,
Value local) |
ASTSynchronizedBlockNode(SETNodeLabel label,
List<Object> body,
Value local) |
ASTUnaryCondition(Value value) |
ASTUnaryCondition(Value value) |
Modifier and Type | Class and Description |
---|---|
class |
DArrayInitExpr |
class |
DCmpExpr |
class |
DCmpgExpr |
class |
DCmplExpr |
class |
DInstanceFieldRef |
class |
DIntConstant |
class |
DInterfaceInvokeExpr |
class |
DLengthExpr |
class |
DNegExpr |
class |
DNewArrayExpr |
class |
DNewInvokeExpr |
class |
DNewMultiArrayExpr |
class |
DNotExpr |
class |
DShortcutIf |
class |
DSpecialInvokeExpr |
class |
DStaticFieldRef |
class |
DStaticInvokeExpr |
class |
DThisRef |
class |
DVirtualInvokeExpr |
Modifier and Type | Method and Description |
---|---|
boolean |
DArrayInitValueBox.canContainValue(Value value) |
boolean |
DArrayInitValueBox.canContainValue(Value value) |
void |
DAssignStmt.setLeftOp(Value variable) |
void |
DAssignStmt.setLeftOp(Value variable) |
void |
DAssignStmt.setRightOp(Value rvalue) |
void |
DAssignStmt.setRightOp(Value rvalue) |
Constructor and Description |
---|
SETSwitchNode(AugmentedStmt characterizingStmt,
Value key,
IterableSet body,
List<SwitchNode> switchNodeList,
IterableSet junkBody) |
SETSwitchNode(AugmentedStmt characterizingStmt,
Value key,
IterableSet body,
List<SwitchNode> switchNodeList,
IterableSet junkBody) |
SETSynchronizedBlockNode(ExceptionNode en,
Value local) |
SETSynchronizedBlockNode(ExceptionNode en,
Value local) |
Modifier and Type | Method and Description |
---|---|
void |
ASTAnalysis.analyseValue(Value v) |
void |
ASTAnalysis.analyseValue(Value v) |
void |
ASTWalker.walk_value(ASTAnalysis a,
Value v) |
void |
ASTWalker.walk_value(ASTAnalysis a,
Value v) |
Modifier and Type | Method and Description |
---|---|
void |
Analysis.caseValue(Value v) |
void |
AnalysisAdapter.caseValue(Value v) |
void |
DepthFirstAdapter.caseValue(Value v) |
void |
DepthFirstAdapter.caseValue(Value v) |
void |
AnalysisAdapter.caseValue(Value v) |
void |
Analysis.caseValue(Value v) |
void |
DepthFirstAdapter.decideCaseExprOrRef(Value v) |
void |
DepthFirstAdapter.decideCaseExprOrRef(Value v) |
void |
DepthFirstAdapter.inValue(Value v) |
void |
DepthFirstAdapter.inValue(Value v) |
void |
DepthFirstAdapter.outValue(Value v) |
void |
DepthFirstAdapter.outValue(Value v) |
Modifier and Type | Method and Description |
---|---|
static Value |
CPHelper.createConstant(Object toConvert) |
static Value |
CPHelper.createConstant(Object toConvert) |
Modifier and Type | Method and Description |
---|---|
CPTuple |
CP.createCPTupleIfPossible(Value a,
Value b,
CPFlowSet input) |
CPTuple |
CP.createCPTupleIfPossible(Value a,
Value b,
CPFlowSet input) |
List |
MustMayInitialize.getDefs(Value local) |
List |
MustMayInitialize.getDefs(Value local) |
static Object |
CPHelper.isAConstantValue(Value toCheck) |
static Object |
CPHelper.isAConstantValue(Value toCheck) |
boolean |
MustMayInitialize.isMayInitialized(Value local) |
boolean |
MustMayInitialize.isMayInitialized(Value local) |
boolean |
MustMayInitialize.isMustInitialized(Value local) |
boolean |
MustMayInitialize.isMustInitialized(Value local) |
DavaFlowSet |
CP.processSwitchKey(Value key,
DavaFlowSet input) |
DavaFlowSet |
MustMayInitialize.processSwitchKey(Value key,
DavaFlowSet input) |
DavaFlowSet |
ReachingCopies.processSwitchKey(Value key,
DavaFlowSet input) |
DavaFlowSet |
UnreachableCodeFinder.processSwitchKey(Value key,
DavaFlowSet input) |
DavaFlowSet |
MustMayInitialize.processSwitchKey(Value key,
DavaFlowSet input) |
DavaFlowSet |
UnreachableCodeFinder.processSwitchKey(Value key,
DavaFlowSet input) |
DavaFlowSet |
CP.processSwitchKey(Value key,
DavaFlowSet input) |
DavaFlowSet |
ReachingCopies.processSwitchKey(Value key,
DavaFlowSet input) |
abstract DavaFlowSet<E> |
StructuredAnalysis.processSwitchKey(Value key,
DavaFlowSet<E> input)
Deal with the key in the switch construct
|
abstract DavaFlowSet<E> |
StructuredAnalysis.processSwitchKey(Value key,
DavaFlowSet<E> input)
Deal with the key in the switch construct
|
DavaFlowSet<Stmt> |
ReachingDefs.processSwitchKey(Value key,
DavaFlowSet<Stmt> inSet) |
DavaFlowSet<Stmt> |
ReachingDefs.processSwitchKey(Value key,
DavaFlowSet<Stmt> inSet) |
Modifier and Type | Method and Description |
---|---|
Value |
SuperFirstStmtHandler.getProperCasting(Type tempType,
DVirtualInvokeExpr tempInvokeExpr) |
Value |
SuperFirstStmtHandler.getProperCasting(Type tempType,
DVirtualInvokeExpr tempInvokeExpr) |
Modifier and Type | Method and Description |
---|---|
Object |
DeInliningFinalFields.check(Value val) |
Object |
DeInliningFinalFields.check(Value val) |
AugmentedStmt |
SuperFirstStmtHandler.createStmtAccordingToType(Type tempType,
Value tempVal,
Local newLocal,
SootMethodRef getMethodRef) |
AugmentedStmt |
SuperFirstStmtHandler.createStmtAccordingToType(Type tempType,
Value tempVal,
Local newLocal,
SootMethodRef getMethodRef) |
Boolean |
EliminateConditions.isBooleanConstant(Value internal) |
Boolean |
SimplifyConditions.isBooleanConstant(Value internal) |
Boolean |
SimplifyConditions.isBooleanConstant(Value internal) |
Boolean |
EliminateConditions.isBooleanConstant(Value internal) |
boolean |
ShortcutArrayInit.isInSequenceAssignment(Stmt s,
Value leftOp,
int index) |
boolean |
ShortcutArrayInit.isInSequenceAssignment(Stmt s,
Value leftOp,
int index) |
boolean |
ShortcutArrayInit.isInSequenceAssignmentPatternTwo(Stmt one,
Stmt two,
Value leftOp,
int index) |
boolean |
ShortcutArrayInit.isInSequenceAssignmentPatternTwo(Stmt one,
Stmt two,
Value leftOp,
int index) |
void |
ShortcutArrayInit.markLocal(Value shortcutLocal) |
void |
ShortcutArrayInit.markLocal(Value shortcutLocal) |
Modifier and Type | Method and Description |
---|---|
List<Value> |
ASTUsesAndDefs.getUseList(ASTCondition cond) |
List<Value> |
AllVariableUses.getUseList(ASTCondition cond) |
List<Value> |
ASTUsesAndDefs.getUseList(ASTCondition cond) |
List<Value> |
AllVariableUses.getUseList(ASTCondition cond) |
Modifier and Type | Class and Description |
---|---|
class |
UntypedConstant |
class |
UntypedIntOrFloatConstant |
class |
UntypedLongOrDoubleConstant |
Modifier and Type | Method and Description |
---|---|
abstract Value |
UntypedConstant.defineType(Type type) |
Value |
UntypedIntOrFloatConstant.defineType(Type t) |
Value |
UntypedLongOrDoubleConstant.defineType(Type t) |
Value |
UntypedIntOrFloatConstant.defineType(Type t) |
abstract Value |
UntypedConstant.defineType(Type type) |
Value |
UntypedLongOrDoubleConstant.defineType(Type t) |
Modifier and Type | Method and Description |
---|---|
protected void |
DalvikTyper.checkExpr(Value v,
Type t) |
protected void |
DalvikTyper.checkExpr(Value v,
Type t) |
Modifier and Type | Interface and Description |
---|---|
interface |
NewInvokeExpr |
Modifier and Type | Method and Description |
---|---|
static Value |
Grimp.cloneIfNecessary(Value val) |
static Value |
Grimp.cloneIfNecessary(Value val) |
Value |
Grimp.newExpr(Value value)
Carries out the mapping from other Value's to Grimp Value's
|
Value |
Grimp.newExpr(Value value)
Carries out the mapping from other Value's to Grimp Value's
|
Modifier and Type | Method and Description |
---|---|
static Value |
Grimp.cloneIfNecessary(Value val) |
static Value |
Grimp.cloneIfNecessary(Value val) |
static boolean |
PrecedenceTest.needsBrackets(ValueBox subExprBox,
Value expr) |
static boolean |
PrecedenceTest.needsBrackets(ValueBox subExprBox,
Value expr) |
static boolean |
PrecedenceTest.needsBracketsRight(ValueBox subExprBox,
Value expr) |
static boolean |
PrecedenceTest.needsBracketsRight(ValueBox subExprBox,
Value expr) |
AddExpr |
Grimp.newAddExpr(Value op1,
Value op2)
Constructs a AddExpr(Expr, Expr) grammar chunk.
|
AddExpr |
Grimp.newAddExpr(Value op1,
Value op2)
Constructs a AddExpr(Expr, Expr) grammar chunk.
|
AndExpr |
Grimp.newAndExpr(Value op1,
Value op2)
Constructs a AndExpr(Expr, Expr) grammar chunk.
|
AndExpr |
Grimp.newAndExpr(Value op1,
Value op2)
Constructs a AndExpr(Expr, Expr) grammar chunk.
|
ValueBox |
Grimp.newArgBox(Value value) |
ValueBox |
Grimp.newArgBox(Value value) |
ArrayRef |
Grimp.newArrayRef(Value base,
Value index)
Constructs a ArrayRef(Local, Expr) grammar chunk.
|
ArrayRef |
Grimp.newArrayRef(Value base,
Value index)
Constructs a ArrayRef(Local, Expr) grammar chunk.
|
AssignStmt |
Grimp.newAssignStmt(Value variable,
Value rvalue)
Constructs a AssignStmt(Variable, RValue) grammar chunk.
|
AssignStmt |
Grimp.newAssignStmt(Value variable,
Value rvalue)
Constructs a AssignStmt(Variable, RValue) grammar chunk.
|
CastExpr |
Grimp.newCastExpr(Value op1,
Type t)
Constructs a CastExpr(Expr, Type) grammar chunk.
|
CastExpr |
Grimp.newCastExpr(Value op1,
Type t)
Constructs a CastExpr(Expr, Type) grammar chunk.
|
CmpExpr |
Grimp.newCmpExpr(Value op1,
Value op2)
Constructs a CmpExpr(Expr, Expr) grammar chunk.
|
CmpExpr |
Grimp.newCmpExpr(Value op1,
Value op2)
Constructs a CmpExpr(Expr, Expr) grammar chunk.
|
CmpgExpr |
Grimp.newCmpgExpr(Value op1,
Value op2)
Constructs a CmpgExpr(Expr, Expr) grammar chunk.
|
CmpgExpr |
Grimp.newCmpgExpr(Value op1,
Value op2)
Constructs a CmpgExpr(Expr, Expr) grammar chunk.
|
CmplExpr |
Grimp.newCmplExpr(Value op1,
Value op2)
Constructs a CmplExpr(Expr, Expr) grammar chunk.
|
CmplExpr |
Grimp.newCmplExpr(Value op1,
Value op2)
Constructs a CmplExpr(Expr, Expr) grammar chunk.
|
ValueBox |
Grimp.newConditionExprBox(Value value) |
ValueBox |
Grimp.newConditionExprBox(Value value) |
DivExpr |
Grimp.newDivExpr(Value op1,
Value op2)
Constructs a DivExpr(Expr, Expr) grammar chunk.
|
DivExpr |
Grimp.newDivExpr(Value op1,
Value op2)
Constructs a DivExpr(Expr, Expr) grammar chunk.
|
EnterMonitorStmt |
Grimp.newEnterMonitorStmt(Value op)
Constructs a EnterMonitorStmt(Expr) grammar chunk.
|
EnterMonitorStmt |
Grimp.newEnterMonitorStmt(Value op)
Constructs a EnterMonitorStmt(Expr) grammar chunk.
|
EqExpr |
Grimp.newEqExpr(Value op1,
Value op2)
Constructs a EqExpr(Expr, Expr) grammar chunk.
|
EqExpr |
Grimp.newEqExpr(Value op1,
Value op2)
Constructs a EqExpr(Expr, Expr) grammar chunk.
|
ExitMonitorStmt |
Grimp.newExitMonitorStmt(Value op)
Constructs a ExitMonitorStmt(Expr) grammar chunk
|
ExitMonitorStmt |
Grimp.newExitMonitorStmt(Value op)
Constructs a ExitMonitorStmt(Expr) grammar chunk
|
Value |
Grimp.newExpr(Value value)
Carries out the mapping from other Value's to Grimp Value's
|
Value |
Grimp.newExpr(Value value)
Carries out the mapping from other Value's to Grimp Value's
|
ValueBox |
Grimp.newExprBox(Value value) |
ValueBox |
Grimp.newExprBox(Value value) |
GeExpr |
Grimp.newGeExpr(Value op1,
Value op2)
Constructs a GeExpr(Expr, Expr) grammar chunk.
|
GeExpr |
Grimp.newGeExpr(Value op1,
Value op2)
Constructs a GeExpr(Expr, Expr) grammar chunk.
|
GtExpr |
Grimp.newGtExpr(Value op1,
Value op2)
Constructs a GtExpr(Expr, Expr) grammar chunk.
|
GtExpr |
Grimp.newGtExpr(Value op1,
Value op2)
Constructs a GtExpr(Expr, Expr) grammar chunk.
|
ValueBox |
Grimp.newIdentityRefBox(Value value) |
ValueBox |
Grimp.newIdentityRefBox(Value value) |
IdentityStmt |
Grimp.newIdentityStmt(Value local,
Value identityRef)
Constructs a IdentityStmt(Local, IdentityRef) grammar chunk.
|
IdentityStmt |
Grimp.newIdentityStmt(Value local,
Value identityRef)
Constructs a IdentityStmt(Local, IdentityRef) grammar chunk.
|
IfStmt |
Grimp.newIfStmt(Value condition,
Unit target)
Constructs a IfStmt(Condition, Stmt) grammar chunk.
|
IfStmt |
Grimp.newIfStmt(Value condition,
Unit target)
Constructs a IfStmt(Condition, Stmt) grammar chunk.
|
ValueBox |
Grimp.newImmediateBox(Value value) |
ValueBox |
Grimp.newImmediateBox(Value value) |
InstanceFieldRef |
Grimp.newInstanceFieldRef(Value base,
SootFieldRef f)
Constructs a InstanceFieldRef(Value, SootFieldRef) grammar chunk.
|
InstanceFieldRef |
Grimp.newInstanceFieldRef(Value base,
SootFieldRef f)
Constructs a InstanceFieldRef(Value, SootFieldRef) grammar chunk.
|
InstanceOfExpr |
Grimp.newInstanceOfExpr(Value op1,
Type t)
Constructs a InstanceOfExpr(Expr, Type)
grammar chunk.
|
InstanceOfExpr |
Grimp.newInstanceOfExpr(Value op1,
Type t)
Constructs a InstanceOfExpr(Expr, Type)
grammar chunk.
|
ValueBox |
Grimp.newInvokeExprBox(Value value) |
ValueBox |
Grimp.newInvokeExprBox(Value value) |
InvokeStmt |
Grimp.newInvokeStmt(Value op)
Constructs a InvokeStmt(InvokeExpr) grammar chunk.
|
InvokeStmt |
Grimp.newInvokeStmt(Value op)
Constructs a InvokeStmt(InvokeExpr) grammar chunk.
|
LeExpr |
Grimp.newLeExpr(Value op1,
Value op2)
Constructs a LeExpr(Expr, Expr) grammar chunk.
|
LeExpr |
Grimp.newLeExpr(Value op1,
Value op2)
Constructs a LeExpr(Expr, Expr) grammar chunk.
|
LengthExpr |
Grimp.newLengthExpr(Value op)
Constructs a LengthExpr(Expr) grammar chunk.
|
LengthExpr |
Grimp.newLengthExpr(Value op)
Constructs a LengthExpr(Expr) grammar chunk.
|
ValueBox |
Grimp.newLocalBox(Value value) |
ValueBox |
Grimp.newLocalBox(Value value) |
LookupSwitchStmt |
Grimp.newLookupSwitchStmt(Value key,
List lookupValues,
List targets,
Unit defaultTarget)
Constructs a LookupSwitchStmt(Expr, List of Expr, List of Unit, Stmt) grammar chunk.
|
LookupSwitchStmt |
Grimp.newLookupSwitchStmt(Value key,
List lookupValues,
List targets,
Unit defaultTarget)
Constructs a LookupSwitchStmt(Expr, List of Expr, List of Unit, Stmt) grammar chunk.
|
LtExpr |
Grimp.newLtExpr(Value op1,
Value op2)
Constructs a LtExpr(Expr, Expr) grammar chunk.
|
LtExpr |
Grimp.newLtExpr(Value op1,
Value op2)
Constructs a LtExpr(Expr, Expr) grammar chunk.
|
MulExpr |
Grimp.newMulExpr(Value op1,
Value op2)
Constructs a MulExpr(Expr, Expr) grammar chunk.
|
MulExpr |
Grimp.newMulExpr(Value op1,
Value op2)
Constructs a MulExpr(Expr, Expr) grammar chunk.
|
NeExpr |
Grimp.newNeExpr(Value op1,
Value op2)
Constructs a NeExpr(Expr, Expr) grammar chunk.
|
NeExpr |
Grimp.newNeExpr(Value op1,
Value op2)
Constructs a NeExpr(Expr, Expr) grammar chunk.
|
NegExpr |
Grimp.newNegExpr(Value op)
Constructs a NegExpr(Expr, Expr) grammar chunk.
|
NegExpr |
Grimp.newNegExpr(Value op)
Constructs a NegExpr(Expr, Expr) grammar chunk.
|
NewArrayExpr |
Grimp.newNewArrayExpr(Type type,
Value size)
Constructs a NewArrayExpr(Type, Expr) grammar chunk.
|
NewArrayExpr |
Grimp.newNewArrayExpr(Type type,
Value size)
Constructs a NewArrayExpr(Type, Expr) grammar chunk.
|
ValueBox |
Grimp.newObjExprBox(Value value) |
ValueBox |
Grimp.newObjExprBox(Value value) |
OrExpr |
Grimp.newOrExpr(Value op1,
Value op2)
Constructs a OrExpr(Expr, Expr) grammar chunk.
|
OrExpr |
Grimp.newOrExpr(Value op1,
Value op2)
Constructs a OrExpr(Expr, Expr) grammar chunk.
|
RemExpr |
Grimp.newRemExpr(Value op1,
Value op2)
Constructs a RemExpr(Expr, Expr) grammar chunk.
|
RemExpr |
Grimp.newRemExpr(Value op1,
Value op2)
Constructs a RemExpr(Expr, Expr) grammar chunk.
|
ReturnStmt |
Grimp.newReturnStmt(Value op)
Constructs a ReturnStmt(Expr) grammar chunk.
|
ReturnStmt |
Grimp.newReturnStmt(Value op)
Constructs a ReturnStmt(Expr) grammar chunk.
|
ValueBox |
Grimp.newRValueBox(Value value) |
ValueBox |
Grimp.newRValueBox(Value value) |
ShlExpr |
Grimp.newShlExpr(Value op1,
Value op2)
Constructs a ShlExpr(Expr, Expr) grammar chunk.
|
ShlExpr |
Grimp.newShlExpr(Value op1,
Value op2)
Constructs a ShlExpr(Expr, Expr) grammar chunk.
|
ShrExpr |
Grimp.newShrExpr(Value op1,
Value op2)
Constructs a ShrExpr(Expr, Expr) grammar chunk.
|
ShrExpr |
Grimp.newShrExpr(Value op1,
Value op2)
Constructs a ShrExpr(Expr, Expr) grammar chunk.
|
SubExpr |
Grimp.newSubExpr(Value op1,
Value op2)
Constructs a SubExpr(Expr, Expr) grammar chunk.
|
SubExpr |
Grimp.newSubExpr(Value op1,
Value op2)
Constructs a SubExpr(Expr, Expr) grammar chunk.
|
TableSwitchStmt |
Grimp.newTableSwitchStmt(Value key,
int lowIndex,
int highIndex,
List targets,
Unit defaultTarget)
Constructs a TableSwitchStmt(Expr, int, int, List of Unit, Stmt) grammar chunk.
|
TableSwitchStmt |
Grimp.newTableSwitchStmt(Value key,
int lowIndex,
int highIndex,
List targets,
Unit defaultTarget)
Constructs a TableSwitchStmt(Expr, int, int, List of Unit, Stmt) grammar chunk.
|
ThrowStmt |
Grimp.newThrowStmt(Value op)
Constructs a ThrowStmt(Expr) grammar chunk.
|
ThrowStmt |
Grimp.newThrowStmt(Value op)
Constructs a ThrowStmt(Expr) grammar chunk.
|
UshrExpr |
Grimp.newUshrExpr(Value op1,
Value op2)
Constructs a UshrExpr(Expr, Expr) grammar chunk.
|
UshrExpr |
Grimp.newUshrExpr(Value op1,
Value op2)
Constructs a UshrExpr(Expr, Expr) grammar chunk.
|
ValueBox |
Grimp.newVariableBox(Value value) |
ValueBox |
Grimp.newVariableBox(Value value) |
XorExpr |
Grimp.newXorExpr(Value op1,
Value op2)
Constructs a XorExpr(Expr, Expr) grammar chunk.
|
XorExpr |
Grimp.newXorExpr(Value op1,
Value op2)
Constructs a XorExpr(Expr, Expr) grammar chunk.
|
Modifier and Type | Method and Description |
---|---|
DynamicInvokeExpr |
Grimp.newDynamicInvokeExpr(SootMethodRef bootstrapMethodRef,
List<Value> bootstrapArgs,
SootMethodRef methodRef,
int tag,
List args)
Constructs a new DynamicInvokeExpr grammar chunk.
|
DynamicInvokeExpr |
Grimp.newDynamicInvokeExpr(SootMethodRef bootstrapMethodRef,
List<Value> bootstrapArgs,
SootMethodRef methodRef,
int tag,
List args)
Constructs a new DynamicInvokeExpr grammar chunk.
|
Modifier and Type | Class and Description |
---|---|
class |
AbstractGrimpFloatBinopExpr |
class |
AbstractGrimpIntBinopExpr |
class |
AbstractGrimpIntLongBinopExpr |
class |
GAddExpr |
class |
GAndExpr |
class |
GArrayRef |
class |
GCastExpr |
class |
GCmpExpr |
class |
GCmpgExpr |
class |
GCmplExpr |
class |
GDivExpr |
class |
GDynamicInvokeExpr |
class |
GEqExpr |
class |
GGeExpr |
class |
GGtExpr |
class |
GInstanceFieldRef |
class |
GInstanceOfExpr |
class |
GInterfaceInvokeExpr |
class |
GLeExpr |
class |
GLengthExpr |
class |
GLtExpr |
class |
GMulExpr |
class |
GNeExpr |
class |
GNegExpr |
class |
GNewArrayExpr |
class |
GNewInvokeExpr |
class |
GNewMultiArrayExpr |
class |
GOrExpr |
class |
GRemExpr |
class |
GShlExpr |
class |
GShrExpr |
class |
GSpecialInvokeExpr |
class |
GStaticInvokeExpr |
class |
GSubExpr |
class |
GUshrExpr |
class |
GVirtualInvokeExpr |
class |
GXorExpr |
Modifier and Type | Method and Description |
---|---|
Value |
GDynamicInvokeExpr.getBootstrapArg(int i) |
Value |
GDynamicInvokeExpr.getBootstrapArg(int i) |
Modifier and Type | Method and Description |
---|---|
List<Value> |
GDynamicInvokeExpr.getBootstrapArgs() |
List<Value> |
GDynamicInvokeExpr.getBootstrapArgs() |
Modifier and Type | Method and Description |
---|---|
boolean |
ExprBox.canContainValue(Value value) |
boolean |
GRValueBox.canContainValue(Value value) |
boolean |
ObjExprBox.canContainValue(Value value) |
boolean |
ObjExprBox.canContainValue(Value value) |
boolean |
GRValueBox.canContainValue(Value value) |
boolean |
ExprBox.canContainValue(Value value) |
Constructor and Description |
---|
GDynamicInvokeExpr(SootMethodRef bootStrapMethodRef,
List<Value> bootstrapArgs,
SootMethodRef methodRef,
int tag,
List args) |
GDynamicInvokeExpr(SootMethodRef bootStrapMethodRef,
List<Value> bootstrapArgs,
SootMethodRef methodRef,
int tag,
List args) |
Modifier and Type | Field and Description |
---|---|
protected Stack<Value> |
JimpleBodyBuilder.monitorStack |
protected Stack<Value> |
JimpleBodyBuilder.monitorStack |
Modifier and Type | Method and Description |
---|---|
protected Value |
AbstractJimpleBodyBuilder.createAggressiveExpr(polyglot.ast.Expr expr,
boolean reduceAggressively,
boolean reverseCondIfNec) |
protected Value |
AccessFieldJBB.createAggressiveExpr(polyglot.ast.Expr expr,
boolean redAgg,
boolean revIfNec) |
protected Value |
CommaJBB.createAggressiveExpr(polyglot.ast.Expr expr,
boolean redAggr,
boolean revIfNec) |
protected Value |
JimpleBodyBuilder.createAggressiveExpr(polyglot.ast.Expr expr,
boolean reduceAggressively,
boolean reverseCondIfNec)
Aggressive Expression Creation
make reduceAggressively true to not reduce all the way to a local
|
protected Value |
CommaJBB.createAggressiveExpr(polyglot.ast.Expr expr,
boolean redAggr,
boolean revIfNec) |
protected Value |
AccessFieldJBB.createAggressiveExpr(polyglot.ast.Expr expr,
boolean redAgg,
boolean revIfNec) |
protected Value |
JimpleBodyBuilder.createAggressiveExpr(polyglot.ast.Expr expr,
boolean reduceAggressively,
boolean reverseCondIfNec)
Aggressive Expression Creation
make reduceAggressively true to not reduce all the way to a local
|
protected Value |
AbstractJimpleBodyBuilder.createAggressiveExpr(polyglot.ast.Expr expr,
boolean reduceAggressively,
boolean reverseCondIfNec) |
protected Value |
AbstractJimpleBodyBuilder.createLHS(polyglot.ast.Expr expr) |
protected Value |
AccessFieldJBB.createLHS(polyglot.ast.Expr expr) |
protected Value |
JimpleBodyBuilder.createLHS(polyglot.ast.Expr expr)
create LHS expressions
|
protected Value |
AccessFieldJBB.createLHS(polyglot.ast.Expr expr) |
protected Value |
JimpleBodyBuilder.createLHS(polyglot.ast.Expr expr)
create LHS expressions
|
protected Value |
AbstractJimpleBodyBuilder.createLHS(polyglot.ast.Expr expr) |
protected Value |
JimpleBodyBuilder.getAssignLocal(polyglot.ast.Assign assign)
Assign Expression Creation
|
protected Value |
JimpleBodyBuilder.getAssignLocal(polyglot.ast.Assign assign)
Assign Expression Creation
|
protected Value |
AbstractJimpleBodyBuilder.getAssignRightLocal(polyglot.ast.Assign assign,
Local leftLocal) |
protected Value |
JimpleBodyBuilder.getAssignRightLocal(polyglot.ast.Assign assign,
Local leftLocal) |
protected Value |
JimpleBodyBuilder.getAssignRightLocal(polyglot.ast.Assign assign,
Local leftLocal) |
protected Value |
AbstractJimpleBodyBuilder.getAssignRightLocal(polyglot.ast.Assign assign,
Local leftLocal) |
protected Value |
AbstractJimpleBodyBuilder.getBaseLocal(polyglot.ast.Receiver receiver) |
protected Value |
JimpleBodyBuilder.getBaseLocal(polyglot.ast.Receiver receiver) |
protected Value |
JimpleBodyBuilder.getBaseLocal(polyglot.ast.Receiver receiver) |
protected Value |
AbstractJimpleBodyBuilder.getBaseLocal(polyglot.ast.Receiver receiver) |
protected Value |
AbstractJimpleBodyBuilder.getSimpleAssignRightLocal(polyglot.ast.Assign assign) |
protected Value |
JimpleBodyBuilder.getSimpleAssignRightLocal(polyglot.ast.Assign assign) |
protected Value |
JimpleBodyBuilder.getSimpleAssignRightLocal(polyglot.ast.Assign assign) |
protected Value |
AbstractJimpleBodyBuilder.getSimpleAssignRightLocal(polyglot.ast.Assign assign) |
Modifier and Type | Method and Description |
---|---|
protected Local |
AbstractJimpleBodyBuilder.handlePrivateFieldSet(polyglot.ast.Expr expr,
Value right,
Value base) |
protected Local |
AccessFieldJBB.handlePrivateFieldSet(polyglot.ast.Expr expr,
Value right,
Value baseLocal) |
protected Local |
JimpleBodyBuilder.handlePrivateFieldSet(polyglot.ast.Expr expr,
Value right,
Value base) |
protected Local |
AccessFieldJBB.handlePrivateFieldSet(polyglot.ast.Expr expr,
Value right,
Value baseLocal) |
protected Local |
JimpleBodyBuilder.handlePrivateFieldSet(polyglot.ast.Expr expr,
Value right,
Value base) |
protected Local |
AbstractJimpleBodyBuilder.handlePrivateFieldSet(polyglot.ast.Expr expr,
Value right,
Value base) |
Modifier and Type | Interface and Description |
---|---|
interface |
AddExpr |
interface |
AndExpr |
interface |
AnyNewExpr
Any expression that allocates objects.
|
interface |
ArrayRef |
interface |
BinopExpr |
interface |
CastExpr |
interface |
CaughtExceptionRef |
interface |
CmpExpr |
interface |
CmpgExpr |
interface |
CmplExpr |
interface |
ConcreteRef |
interface |
ConditionExpr |
interface |
DivExpr |
interface |
DynamicInvokeExpr |
interface |
EqExpr |
interface |
Expr |
interface |
FieldRef |
interface |
GeExpr |
interface |
GtExpr |
interface |
IdentityRef |
interface |
InstanceFieldRef |
interface |
InstanceInvokeExpr |
interface |
InstanceOfExpr |
interface |
InterfaceInvokeExpr |
interface |
InvokeExpr |
interface |
LeExpr |
interface |
LengthExpr |
interface |
LtExpr |
interface |
MulExpr |
interface |
NeExpr |
interface |
NegExpr |
interface |
NewArrayExpr |
interface |
NewExpr |
interface |
NewMultiArrayExpr |
interface |
OrExpr |
interface |
Ref |
interface |
RemExpr |
interface |
ShlExpr |
interface |
ShrExpr |
interface |
SpecialInvokeExpr |
interface |
StaticInvokeExpr |
interface |
SubExpr |
interface |
UnopExpr |
interface |
UshrExpr |
interface |
VirtualInvokeExpr |
interface |
XorExpr |
Modifier and Type | Class and Description |
---|---|
class |
ArithmeticConstant |
class |
ClassConstant |
class |
Constant |
class |
DoubleConstant |
class |
FloatConstant |
class |
IntConstant |
class |
LongConstant |
class |
MethodHandle |
class |
NullConstant |
class |
NumericConstant |
class |
ParameterRef
ParameterRef objects are used by Body
objects to refer to the parameter slots on method entry. |
class |
RealConstant |
class |
StaticFieldRef |
class |
StringConstant |
class |
ThisRef |
Modifier and Type | Method and Description |
---|---|
static Value |
Jimple.cloneIfNecessary(Value val) |
static Value |
Jimple.cloneIfNecessary(Value val) |
Value |
InvokeExpr.getArg(int index) |
Value |
InvokeExpr.getArg(int index) |
Value |
ArrayRef.getBase() |
Value |
InstanceFieldRef.getBase() |
Value |
InstanceInvokeExpr.getBase() |
Value |
InstanceInvokeExpr.getBase() |
Value |
ArrayRef.getBase() |
Value |
InstanceFieldRef.getBase() |
Value |
DynamicInvokeExpr.getBootstrapArg(int index) |
Value |
DynamicInvokeExpr.getBootstrapArg(int index) |
Value |
IfStmt.getCondition() |
Value |
IfStmt.getCondition() |
Value |
ArrayRef.getIndex() |
Value |
ArrayRef.getIndex() |
Value |
SwitchStmt.getKey() |
Value |
SwitchStmt.getKey() |
Value |
DefinitionStmt.getLeftOp() |
Value |
DefinitionStmt.getLeftOp() |
Value |
CastExpr.getOp() |
Value |
EnterMonitorStmt.getOp() |
Value |
ExitMonitorStmt.getOp() |
Value |
InstanceOfExpr.getOp() |
Value |
MonitorStmt.getOp() |
Value |
ReturnStmt.getOp() |
Value |
ThrowStmt.getOp() |
Value |
UnopExpr.getOp() |
Value |
InstanceOfExpr.getOp() |
Value |
MonitorStmt.getOp() |
Value |
ExitMonitorStmt.getOp() |
Value |
EnterMonitorStmt.getOp() |
Value |
ReturnStmt.getOp() |
Value |
CastExpr.getOp() |
Value |
UnopExpr.getOp() |
Value |
ThrowStmt.getOp() |
Value |
BinopExpr.getOp1() |
Value |
BinopExpr.getOp1() |
Value |
BinopExpr.getOp2() |
Value |
BinopExpr.getOp2() |
Value |
DefinitionStmt.getRightOp() |
Value |
DefinitionStmt.getRightOp() |
Value |
NewArrayExpr.getSize() |
Value |
NewArrayExpr.getSize() |
Value |
NewMultiArrayExpr.getSize(int index) |
Value |
NewMultiArrayExpr.getSize(int index) |
Value |
RetStmt.getStmtAddress() |
Value |
RetStmt.getStmtAddress() |
Modifier and Type | Method and Description |
---|---|
List<Value> |
InvokeExpr.getArgs() |
List<Value> |
InvokeExpr.getArgs() |
List<Value> |
DynamicInvokeExpr.getBootstrapArgs() |
List<Value> |
DynamicInvokeExpr.getBootstrapArgs() |
List<Value> |
NewMultiArrayExpr.getSizes() |
List<Value> |
NewMultiArrayExpr.getSizes() |
Modifier and Type | Method and Description |
---|---|
protected abstract void |
PointerStmtSwitch.caseAssignConstStmt(Value dest,
Constant c)
A statement of the form l = constant;
|
protected abstract void |
PointerStmtSwitch.caseAssignConstStmt(Value dest,
Constant c)
A statement of the form l = constant;
|
static Value |
Jimple.cloneIfNecessary(Value val) |
static Value |
Jimple.cloneIfNecessary(Value val) |
AddExpr |
Jimple.newAddExpr(Value op1,
Value op2)
Constructs a AddExpr(Immediate, Immediate) grammar chunk.
|
AddExpr |
Jimple.newAddExpr(Value op1,
Value op2)
Constructs a AddExpr(Immediate, Immediate) grammar chunk.
|
AndExpr |
Jimple.newAndExpr(Value op1,
Value op2)
Constructs a AndExpr(Immediate, Immediate) grammar chunk.
|
AndExpr |
Jimple.newAndExpr(Value op1,
Value op2)
Constructs a AndExpr(Immediate, Immediate) grammar chunk.
|
ValueBox |
Jimple.newArgBox(Value value) |
ValueBox |
Jimple.newArgBox(Value value) |
ArrayRef |
Jimple.newArrayRef(Value base,
Value index)
Constructs a ArrayRef(Local, Immediate) grammar chunk.
|
ArrayRef |
Jimple.newArrayRef(Value base,
Value index)
Constructs a ArrayRef(Local, Immediate) grammar chunk.
|
AssignStmt |
Jimple.newAssignStmt(Value variable,
Value rvalue)
Constructs a AssignStmt(Variable, RValue) grammar chunk.
|
AssignStmt |
Jimple.newAssignStmt(Value variable,
Value rvalue)
Constructs a AssignStmt(Variable, RValue) grammar chunk.
|
CastExpr |
Jimple.newCastExpr(Value op1,
Type t)
Constructs a CastExpr(Immediate, Type) grammar chunk.
|
CastExpr |
Jimple.newCastExpr(Value op1,
Type t)
Constructs a CastExpr(Immediate, Type) grammar chunk.
|
CmpExpr |
Jimple.newCmpExpr(Value op1,
Value op2)
Constructs a CmpExpr(Immediate, Immediate) grammar chunk.
|
CmpExpr |
Jimple.newCmpExpr(Value op1,
Value op2)
Constructs a CmpExpr(Immediate, Immediate) grammar chunk.
|
CmpgExpr |
Jimple.newCmpgExpr(Value op1,
Value op2)
Constructs a CmpgExpr(Immediate, Immediate) grammar chunk.
|
CmpgExpr |
Jimple.newCmpgExpr(Value op1,
Value op2)
Constructs a CmpgExpr(Immediate, Immediate) grammar chunk.
|
CmplExpr |
Jimple.newCmplExpr(Value op1,
Value op2)
Constructs a CmplExpr(Immediate, Immediate) grammar chunk.
|
CmplExpr |
Jimple.newCmplExpr(Value op1,
Value op2)
Constructs a CmplExpr(Immediate, Immediate) grammar chunk.
|
ValueBox |
Jimple.newConditionExprBox(Value value) |
ValueBox |
Jimple.newConditionExprBox(Value value) |
DivExpr |
Jimple.newDivExpr(Value op1,
Value op2)
Constructs a DivExpr(Immediate, Immediate) grammar chunk.
|
DivExpr |
Jimple.newDivExpr(Value op1,
Value op2)
Constructs a DivExpr(Immediate, Immediate) grammar chunk.
|
EnterMonitorStmt |
Jimple.newEnterMonitorStmt(Value op)
Constructs a EnterMonitorStmt(Immediate) grammar chunk.
|
EnterMonitorStmt |
Jimple.newEnterMonitorStmt(Value op)
Constructs a EnterMonitorStmt(Immediate) grammar chunk.
|
EqExpr |
Jimple.newEqExpr(Value op1,
Value op2)
Constructs a EqExpr(Immediate, Immediate) grammar chunk.
|
EqExpr |
Jimple.newEqExpr(Value op1,
Value op2)
Constructs a EqExpr(Immediate, Immediate) grammar chunk.
|
ExitMonitorStmt |
Jimple.newExitMonitorStmt(Value op)
Constructs a ExitMonitorStmt(Immediate) grammar chunk
|
ExitMonitorStmt |
Jimple.newExitMonitorStmt(Value op)
Constructs a ExitMonitorStmt(Immediate) grammar chunk
|
GeExpr |
Jimple.newGeExpr(Value op1,
Value op2)
Constructs a GeExpr(Immediate, Immediate) grammar chunk.
|
GeExpr |
Jimple.newGeExpr(Value op1,
Value op2)
Constructs a GeExpr(Immediate, Immediate) grammar chunk.
|
GtExpr |
Jimple.newGtExpr(Value op1,
Value op2)
Constructs a GtExpr(Immediate, Immediate) grammar chunk.
|
GtExpr |
Jimple.newGtExpr(Value op1,
Value op2)
Constructs a GtExpr(Immediate, Immediate) grammar chunk.
|
ValueBox |
Jimple.newIdentityRefBox(Value value) |
ValueBox |
Jimple.newIdentityRefBox(Value value) |
IdentityStmt |
Jimple.newIdentityStmt(Value local,
Value identityRef)
Constructs a IdentityStmt(Local, IdentityRef) grammar chunk.
|
IdentityStmt |
Jimple.newIdentityStmt(Value local,
Value identityRef)
Constructs a IdentityStmt(Local, IdentityRef) grammar chunk.
|
IfStmt |
Jimple.newIfStmt(Value condition,
Unit target)
Constructs a IfStmt(Condition, Stmt) grammar chunk.
|
IfStmt |
Jimple.newIfStmt(Value condition,
Unit target)
Constructs a IfStmt(Condition, Stmt) grammar chunk.
|
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.
|
ValueBox |
Jimple.newImmediateBox(Value value) |
ValueBox |
Jimple.newImmediateBox(Value value) |
InstanceFieldRef |
Jimple.newInstanceFieldRef(Value base,
SootFieldRef f)
Constructs a InstanceFieldRef(Local, SootFieldRef) grammar chunk.
|
InstanceFieldRef |
Jimple.newInstanceFieldRef(Value base,
SootFieldRef f)
Constructs a InstanceFieldRef(Local, SootFieldRef) grammar chunk.
|
InstanceOfExpr |
Jimple.newInstanceOfExpr(Value op1,
Type t)
Constructs a InstanceOfExpr(Immediate, Type) grammar chunk.
|
InstanceOfExpr |
Jimple.newInstanceOfExpr(Value op1,
Type t)
Constructs a InstanceOfExpr(Immediate, Type) grammar chunk.
|
InterfaceInvokeExpr |
Jimple.newInterfaceInvokeExpr(Local base,
SootMethodRef method,
Value... args)
Constructs a NewInterfaceInvokeExpr(Local base, SootMethodRef method,
List of Immediate) grammar chunk.
|
InterfaceInvokeExpr |
Jimple.newInterfaceInvokeExpr(Local base,
SootMethodRef method,
Value... args)
Constructs a NewInterfaceInvokeExpr(Local base, SootMethodRef method,
List of Immediate) grammar chunk.
|
InterfaceInvokeExpr |
Jimple.newInterfaceInvokeExpr(Local base,
SootMethodRef method,
Value arg) |
InterfaceInvokeExpr |
Jimple.newInterfaceInvokeExpr(Local base,
SootMethodRef method,
Value arg) |
ValueBox |
Jimple.newInvokeExprBox(Value value) |
ValueBox |
Jimple.newInvokeExprBox(Value value) |
InvokeStmt |
Jimple.newInvokeStmt(Value op)
Constructs a InvokeStmt(InvokeExpr) grammar chunk.
|
InvokeStmt |
Jimple.newInvokeStmt(Value op)
Constructs a InvokeStmt(InvokeExpr) grammar chunk.
|
LeExpr |
Jimple.newLeExpr(Value op1,
Value op2)
Constructs a LeExpr(Immediate, Immediate) grammar chunk.
|
LeExpr |
Jimple.newLeExpr(Value op1,
Value op2)
Constructs a LeExpr(Immediate, Immediate) grammar chunk.
|
LengthExpr |
Jimple.newLengthExpr(Value op)
Constructs a LengthExpr(Immediate) grammar chunk.
|
LengthExpr |
Jimple.newLengthExpr(Value op)
Constructs a LengthExpr(Immediate) grammar chunk.
|
ValueBox |
Jimple.newLocalBox(Value value) |
ValueBox |
Jimple.newLocalBox(Value value) |
LookupSwitchStmt |
Jimple.newLookupSwitchStmt(Value key,
List<IntConstant> lookupValues,
List<? extends Unit> targets,
Unit defaultTarget)
Constructs a LookupSwitchStmt(Immediate, List of Immediate, List of Unit,
Stmt) grammar chunk.
|
LookupSwitchStmt |
Jimple.newLookupSwitchStmt(Value key,
List<IntConstant> lookupValues,
List<? extends Unit> targets,
Unit defaultTarget)
Constructs a LookupSwitchStmt(Immediate, List of Immediate, List of Unit,
Stmt) 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) |
LtExpr |
Jimple.newLtExpr(Value op1,
Value op2)
Constructs a LtExpr(Immediate, Immediate) grammar chunk.
|
LtExpr |
Jimple.newLtExpr(Value op1,
Value op2)
Constructs a LtExpr(Immediate, Immediate) grammar chunk.
|
MulExpr |
Jimple.newMulExpr(Value op1,
Value op2)
Constructs a MulExpr(Immediate, Immediate) grammar chunk.
|
MulExpr |
Jimple.newMulExpr(Value op1,
Value op2)
Constructs a MulExpr(Immediate, Immediate) grammar chunk.
|
NeExpr |
Jimple.newNeExpr(Value op1,
Value op2)
Constructs a NeExpr(Immediate, Immediate) grammar chunk.
|
NeExpr |
Jimple.newNeExpr(Value op1,
Value op2)
Constructs a NeExpr(Immediate, Immediate) grammar chunk.
|
NegExpr |
Jimple.newNegExpr(Value op)
Constructs a NegExpr(Immediate, Immediate) grammar chunk.
|
NegExpr |
Jimple.newNegExpr(Value op)
Constructs a NegExpr(Immediate, Immediate) grammar chunk.
|
NewArrayExpr |
Jimple.newNewArrayExpr(Type type,
Value size)
Constructs a NewArrayExpr(Type, Immediate) grammar chunk.
|
NewArrayExpr |
Jimple.newNewArrayExpr(Type type,
Value size)
Constructs a NewArrayExpr(Type, Immediate) grammar chunk.
|
OrExpr |
Jimple.newOrExpr(Value op1,
Value op2)
Constructs a OrExpr(Immediate, Immediate) grammar chunk.
|
OrExpr |
Jimple.newOrExpr(Value op1,
Value op2)
Constructs a OrExpr(Immediate, Immediate) grammar chunk.
|
RemExpr |
Jimple.newRemExpr(Value op1,
Value op2)
Constructs a RemExpr(Immediate, Immediate) grammar chunk.
|
RemExpr |
Jimple.newRemExpr(Value op1,
Value op2)
Constructs a RemExpr(Immediate, Immediate) grammar chunk.
|
RetStmt |
Jimple.newRetStmt(Value stmtAddress)
Constructs a RetStmt(Local) grammar chunk.
|
RetStmt |
Jimple.newRetStmt(Value stmtAddress)
Constructs a RetStmt(Local) grammar chunk.
|
ReturnStmt |
Jimple.newReturnStmt(Value op)
Constructs a ReturnStmt(Immediate) grammar chunk.
|
ReturnStmt |
Jimple.newReturnStmt(Value op)
Constructs a ReturnStmt(Immediate) grammar chunk.
|
ValueBox |
Jimple.newRValueBox(Value value) |
ValueBox |
Jimple.newRValueBox(Value value) |
ShlExpr |
Jimple.newShlExpr(Value op1,
Value op2)
Constructs a ShlExpr(Immediate, Immediate) grammar chunk.
|
ShlExpr |
Jimple.newShlExpr(Value op1,
Value op2)
Constructs a ShlExpr(Immediate, Immediate) grammar chunk.
|
ShrExpr |
Jimple.newShrExpr(Value op1,
Value op2)
Constructs a ShrExpr(Immediate, Immediate) grammar chunk.
|
ShrExpr |
Jimple.newShrExpr(Value op1,
Value op2)
Constructs a ShrExpr(Immediate, Immediate) grammar chunk.
|
SpecialInvokeExpr |
Jimple.newSpecialInvokeExpr(Local base,
SootMethodRef method,
Value... args)
Constructs a NewSpecialInvokeExpr(Local base, SootMethodRef method, List
of Immediate) grammar chunk.
|
SpecialInvokeExpr |
Jimple.newSpecialInvokeExpr(Local base,
SootMethodRef method,
Value... args)
Constructs a NewSpecialInvokeExpr(Local base, SootMethodRef method, List
of Immediate) grammar chunk.
|
SpecialInvokeExpr |
Jimple.newSpecialInvokeExpr(Local base,
SootMethodRef method,
Value arg) |
SpecialInvokeExpr |
Jimple.newSpecialInvokeExpr(Local base,
SootMethodRef method,
Value arg) |
StaticInvokeExpr |
Jimple.newStaticInvokeExpr(SootMethodRef method,
Value... args) |
StaticInvokeExpr |
Jimple.newStaticInvokeExpr(SootMethodRef method,
Value... args) |
StaticInvokeExpr |
Jimple.newStaticInvokeExpr(SootMethodRef method,
Value arg) |
StaticInvokeExpr |
Jimple.newStaticInvokeExpr(SootMethodRef method,
Value arg) |
SubExpr |
Jimple.newSubExpr(Value op1,
Value op2)
Constructs a SubExpr(Immediate, Immediate) grammar chunk.
|
SubExpr |
Jimple.newSubExpr(Value op1,
Value op2)
Constructs a SubExpr(Immediate, Immediate) grammar chunk.
|
TableSwitchStmt |
Jimple.newTableSwitchStmt(Value key,
int lowIndex,
int highIndex,
List<? extends Unit> targets,
Unit defaultTarget)
Constructs a TableSwitchStmt(Immediate, int, int, List of Unit, Stmt)
grammar chunk.
|
TableSwitchStmt |
Jimple.newTableSwitchStmt(Value key,
int lowIndex,
int highIndex,
List<? extends Unit> targets,
Unit defaultTarget)
Constructs a TableSwitchStmt(Immediate, int, int, List of Unit, Stmt)
grammar chunk.
|
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) |
ThrowStmt |
Jimple.newThrowStmt(Value op)
Constructs a ThrowStmt(Immediate) grammar chunk.
|
ThrowStmt |
Jimple.newThrowStmt(Value op)
Constructs a ThrowStmt(Immediate) grammar chunk.
|
UshrExpr |
Jimple.newUshrExpr(Value op1,
Value op2)
Constructs a UshrExpr(Immediate, Immediate) grammar chunk.
|
UshrExpr |
Jimple.newUshrExpr(Value op1,
Value op2)
Constructs a UshrExpr(Immediate, Immediate) grammar chunk.
|
ValueBox |
Jimple.newVariableBox(Value value) |
ValueBox |
Jimple.newVariableBox(Value value) |
VirtualInvokeExpr |
Jimple.newVirtualInvokeExpr(Local base,
SootMethodRef method,
Value... args)
Constructs a NewVirtualInvokeExpr(Local base, SootMethodRef method, List
of Immediate) grammar chunk.
|
VirtualInvokeExpr |
Jimple.newVirtualInvokeExpr(Local base,
SootMethodRef method,
Value... args)
Constructs a NewVirtualInvokeExpr(Local base, SootMethodRef method, List
of Immediate) grammar chunk.
|
VirtualInvokeExpr |
Jimple.newVirtualInvokeExpr(Local base,
SootMethodRef method,
Value arg) |
VirtualInvokeExpr |
Jimple.newVirtualInvokeExpr(Local base,
SootMethodRef method,
Value arg) |
XorExpr |
Jimple.newXorExpr(Value op1,
Value op2)
Constructs a XorExpr(Immediate, Immediate) grammar chunk.
|
XorExpr |
Jimple.newXorExpr(Value op1,
Value op2)
Constructs a XorExpr(Immediate, Immediate) grammar chunk.
|
void |
InvokeExpr.setArg(int index,
Value arg) |
void |
InvokeExpr.setArg(int index,
Value arg) |
void |
InstanceFieldRef.setBase(Value base) |
void |
InstanceInvokeExpr.setBase(Value base) |
void |
InstanceInvokeExpr.setBase(Value base) |
void |
InstanceFieldRef.setBase(Value base) |
void |
IfStmt.setCondition(Value condition)
condition must be soot.jimple.ConditionExpr
|
void |
IfStmt.setCondition(Value condition)
condition must be soot.jimple.ConditionExpr
|
void |
ArrayRef.setIndex(Value index) |
void |
ArrayRef.setIndex(Value index) |
void |
InvokeStmt.setInvokeExpr(Value invokeExpr) |
void |
InvokeStmt.setInvokeExpr(Value invokeExpr) |
void |
SwitchStmt.setKey(Value key) |
void |
SwitchStmt.setKey(Value key) |
void |
AssignStmt.setLeftOp(Value variable) |
void |
AssignStmt.setLeftOp(Value variable) |
void |
CastExpr.setOp(Value op) |
void |
EnterMonitorStmt.setOp(Value op) |
void |
ExitMonitorStmt.setOp(Value op) |
void |
InstanceOfExpr.setOp(Value op) |
void |
MonitorStmt.setOp(Value op) |
void |
ReturnStmt.setOp(Value returnValue) |
void |
ThrowStmt.setOp(Value op) |
void |
UnopExpr.setOp(Value op) |
void |
InstanceOfExpr.setOp(Value op) |
void |
MonitorStmt.setOp(Value op) |
void |
ExitMonitorStmt.setOp(Value op) |
void |
EnterMonitorStmt.setOp(Value op) |
void |
ReturnStmt.setOp(Value returnValue) |
void |
CastExpr.setOp(Value op) |
void |
UnopExpr.setOp(Value op) |
void |
ThrowStmt.setOp(Value op) |
void |
BinopExpr.setOp1(Value op1) |
void |
BinopExpr.setOp1(Value op1) |
void |
BinopExpr.setOp2(Value op2) |
void |
BinopExpr.setOp2(Value op2) |
void |
AssignStmt.setRightOp(Value rvalue) |
void |
AssignStmt.setRightOp(Value rvalue) |
void |
NewMultiArrayExpr.setSize(int index,
Value size) |
void |
NewMultiArrayExpr.setSize(int index,
Value size) |
void |
NewArrayExpr.setSize(Value size) |
void |
NewArrayExpr.setSize(Value size) |
void |
RetStmt.setStmtAddress(Value stmtAddress) |
void |
RetStmt.setStmtAddress(Value stmtAddress) |
boolean |
NaiveSideEffectTester.unitCanReadFrom(Unit u,
Value v)
Returns true if the unit can read from v.
|
boolean |
NaiveSideEffectTester.unitCanReadFrom(Unit u,
Value v)
Returns true if the unit can read from v.
|
boolean |
NaiveSideEffectTester.unitCanWriteTo(Unit u,
Value v) |
boolean |
NaiveSideEffectTester.unitCanWriteTo(Unit u,
Value v) |
Modifier and Type | Method and Description |
---|---|
DynamicInvokeExpr |
Jimple.newDynamicInvokeExpr(SootMethodRef bootstrapMethodRef,
List<? extends Value> bootstrapArgs,
SootMethodRef methodRef,
int tag,
List<? extends Value> args)
Constructs a NewDynamicInvokeExpr(SootMethodRef bootstrapMethodRef, List
bootstrapArgs, SootMethodRef methodRef, List args) grammar chunk.
|
DynamicInvokeExpr |
Jimple.newDynamicInvokeExpr(SootMethodRef bootstrapMethodRef,
List<? extends Value> bootstrapArgs,
SootMethodRef methodRef,
int tag,
List<? extends Value> args)
Constructs a NewDynamicInvokeExpr(SootMethodRef bootstrapMethodRef, List
bootstrapArgs, SootMethodRef methodRef, List args) grammar chunk.
|
DynamicInvokeExpr |
Jimple.newDynamicInvokeExpr(SootMethodRef bootstrapMethodRef,
List<? extends Value> bootstrapArgs,
SootMethodRef methodRef,
int tag,
List<? extends Value> args)
Constructs a NewDynamicInvokeExpr(SootMethodRef bootstrapMethodRef, List
bootstrapArgs, SootMethodRef methodRef, List args) grammar chunk.
|
DynamicInvokeExpr |
Jimple.newDynamicInvokeExpr(SootMethodRef bootstrapMethodRef,
List<? extends Value> bootstrapArgs,
SootMethodRef methodRef,
int tag,
List<? extends Value> args)
Constructs a NewDynamicInvokeExpr(SootMethodRef bootstrapMethodRef, List
bootstrapArgs, SootMethodRef methodRef, List args) grammar chunk.
|
DynamicInvokeExpr |
Jimple.newDynamicInvokeExpr(SootMethodRef bootstrapMethodRef,
List<? extends Value> bootstrapArgs,
SootMethodRef methodRef,
List<? extends Value> args)
Constructs a NewDynamicInvokeExpr(SootMethodRef bootstrapMethodRef, List
bootstrapArgs, SootMethodRef methodRef, List args) grammar chunk.
|
DynamicInvokeExpr |
Jimple.newDynamicInvokeExpr(SootMethodRef bootstrapMethodRef,
List<? extends Value> bootstrapArgs,
SootMethodRef methodRef,
List<? extends Value> args)
Constructs a NewDynamicInvokeExpr(SootMethodRef bootstrapMethodRef, List
bootstrapArgs, SootMethodRef methodRef, List args) grammar chunk.
|
DynamicInvokeExpr |
Jimple.newDynamicInvokeExpr(SootMethodRef bootstrapMethodRef,
List<? extends Value> bootstrapArgs,
SootMethodRef methodRef,
List<? extends Value> args)
Constructs a NewDynamicInvokeExpr(SootMethodRef bootstrapMethodRef, List
bootstrapArgs, SootMethodRef methodRef, List args) grammar chunk.
|
DynamicInvokeExpr |
Jimple.newDynamicInvokeExpr(SootMethodRef bootstrapMethodRef,
List<? extends Value> bootstrapArgs,
SootMethodRef methodRef,
List<? extends Value> args)
Constructs a NewDynamicInvokeExpr(SootMethodRef bootstrapMethodRef, List
bootstrapArgs, SootMethodRef methodRef, List args) grammar chunk.
|
InterfaceInvokeExpr |
Jimple.newInterfaceInvokeExpr(Local base,
SootMethodRef method,
List<? extends Value> args)
Constructs a NewInterfaceInvokeExpr(Local base, SootMethodRef method,
List of Immediate) grammar chunk.
|
InterfaceInvokeExpr |
Jimple.newInterfaceInvokeExpr(Local base,
SootMethodRef method,
List<? extends Value> args)
Constructs a NewInterfaceInvokeExpr(Local base, SootMethodRef method,
List of Immediate) grammar chunk.
|
NewMultiArrayExpr |
Jimple.newNewMultiArrayExpr(ArrayType type,
List<? extends Value> sizes)
Constructs a NewMultiArrayExpr(ArrayType, List of Immediate) grammar
chunk.
|
NewMultiArrayExpr |
Jimple.newNewMultiArrayExpr(ArrayType type,
List<? extends Value> sizes)
Constructs a NewMultiArrayExpr(ArrayType, List of Immediate) grammar
chunk.
|
SpecialInvokeExpr |
Jimple.newSpecialInvokeExpr(Local base,
SootMethodRef method,
List<? extends Value> args)
Constructs a NewSpecialInvokeExpr(Local base, SootMethodRef method, List
of Immediate) grammar chunk.
|
SpecialInvokeExpr |
Jimple.newSpecialInvokeExpr(Local base,
SootMethodRef method,
List<? extends Value> args)
Constructs a NewSpecialInvokeExpr(Local base, SootMethodRef method, List
of Immediate) grammar chunk.
|
StaticInvokeExpr |
Jimple.newStaticInvokeExpr(SootMethodRef method,
List<? extends Value> args)
Constructs a NewStaticInvokeExpr(ArrayType, List of Immediate) grammar
chunk.
|
StaticInvokeExpr |
Jimple.newStaticInvokeExpr(SootMethodRef method,
List<? extends Value> args)
Constructs a NewStaticInvokeExpr(ArrayType, List of Immediate) grammar
chunk.
|
VirtualInvokeExpr |
Jimple.newVirtualInvokeExpr(Local base,
SootMethodRef method,
List<? extends Value> args)
Constructs a NewVirtualInvokeExpr(Local base, SootMethodRef method, List
of Immediate) grammar chunk.
|
VirtualInvokeExpr |
Jimple.newVirtualInvokeExpr(Local base,
SootMethodRef method,
List<? extends Value> args)
Constructs a NewVirtualInvokeExpr(Local base, SootMethodRef method, List
of Immediate) grammar chunk.
|
Modifier and Type | Method and Description |
---|---|
Value |
AbstractInvokeExpr.getArg(int index) |
Value |
AbstractInvokeExpr.getArg(int index) |
Value |
AbstractInstanceFieldRef.getBase() |
Value |
AbstractInstanceInvokeExpr.getBase() |
Value |
JArrayRef.getBase() |
Value |
AbstractInstanceInvokeExpr.getBase() |
Value |
AbstractInstanceFieldRef.getBase() |
Value |
JArrayRef.getBase() |
Value |
JDynamicInvokeExpr.getBootstrapArg(int index) |
Value |
JDynamicInvokeExpr.getBootstrapArg(int index) |
Value |
JIfStmt.getCondition() |
Value |
JIfStmt.getCondition() |
Value |
JArrayRef.getIndex() |
Value |
JArrayRef.getIndex() |
Value |
AbstractSwitchStmt.getKey() |
Value |
AbstractSwitchStmt.getKey() |
Value |
AbstractDefinitionStmt.getLeftOp() |
Value |
AbstractDefinitionStmt.getLeftOp() |
Value |
AbstractCastExpr.getOp() |
Value |
AbstractInstanceOfExpr.getOp() |
Value |
AbstractOpStmt.getOp() |
Value |
AbstractUnopExpr.getOp() |
Value |
AbstractOpStmt.getOp() |
Value |
AbstractUnopExpr.getOp() |
Value |
AbstractInstanceOfExpr.getOp() |
Value |
AbstractCastExpr.getOp() |
Value |
AbstractBinopExpr.getOp1() |
Value |
AbstractBinopExpr.getOp1() |
Value |
AbstractBinopExpr.getOp2() |
Value |
AbstractBinopExpr.getOp2() |
Value |
AbstractDefinitionStmt.getRightOp() |
Value |
AbstractDefinitionStmt.getRightOp() |
Value |
AbstractNewArrayExpr.getSize() |
Value |
AbstractNewArrayExpr.getSize() |
Value |
AbstractNewMultiArrayExpr.getSize(int index) |
Value |
AbstractNewMultiArrayExpr.getSize(int index) |
Value |
JRetStmt.getStmtAddress() |
Value |
JRetStmt.getStmtAddress() |
Modifier and Type | Method and Description |
---|---|
List<Value> |
AbstractInvokeExpr.getArgs() |
List<Value> |
AbstractInvokeExpr.getArgs() |
List<Value> |
JDynamicInvokeExpr.getBootstrapArgs() |
List<Value> |
JDynamicInvokeExpr.getBootstrapArgs() |
List<Value> |
AbstractNewMultiArrayExpr.getSizes() |
List<Value> |
AbstractNewMultiArrayExpr.getSizes() |
Modifier and Type | Method and Description |
---|---|
boolean |
ConditionExprBox.canContainValue(Value value) |
boolean |
IdentityRefBox.canContainValue(Value value) |
boolean |
ImmediateBox.canContainValue(Value value) |
boolean |
InvokeExprBox.canContainValue(Value value) |
boolean |
JimpleLocalBox.canContainValue(Value value) |
boolean |
RValueBox.canContainValue(Value value) |
boolean |
VariableBox.canContainValue(Value value) |
boolean |
VariableBox.canContainValue(Value value) |
boolean |
ImmediateBox.canContainValue(Value value) |
boolean |
InvokeExprBox.canContainValue(Value value) |
boolean |
JimpleLocalBox.canContainValue(Value value) |
boolean |
IdentityRefBox.canContainValue(Value value) |
boolean |
RValueBox.canContainValue(Value value) |
boolean |
ConditionExprBox.canContainValue(Value value) |
void |
AbstractInvokeExpr.setArg(int index,
Value arg) |
void |
AbstractInvokeExpr.setArg(int index,
Value arg) |
void |
AbstractInstanceFieldRef.setBase(Value base) |
void |
AbstractInstanceInvokeExpr.setBase(Value base) |
void |
AbstractInstanceInvokeExpr.setBase(Value base) |
void |
AbstractInstanceFieldRef.setBase(Value base) |
void |
JIfStmt.setCondition(Value condition) |
void |
JIfStmt.setCondition(Value condition) |
void |
JArrayRef.setIndex(Value index) |
void |
JArrayRef.setIndex(Value index) |
void |
JInvokeStmt.setInvokeExpr(Value invokeExpr) |
void |
JInvokeStmt.setInvokeExpr(Value invokeExpr) |
void |
AbstractSwitchStmt.setKey(Value key) |
void |
AbstractSwitchStmt.setKey(Value key) |
void |
JAssignStmt.setLeftOp(Value variable) |
void |
JIdentityStmt.setLeftOp(Value local) |
void |
JAssignStmt.setLeftOp(Value variable) |
void |
JIdentityStmt.setLeftOp(Value local) |
void |
AbstractCastExpr.setOp(Value op) |
void |
AbstractInstanceOfExpr.setOp(Value op) |
void |
AbstractOpStmt.setOp(Value op) |
void |
AbstractUnopExpr.setOp(Value op) |
void |
AbstractOpStmt.setOp(Value op) |
void |
AbstractUnopExpr.setOp(Value op) |
void |
AbstractInstanceOfExpr.setOp(Value op) |
void |
AbstractCastExpr.setOp(Value op) |
void |
AbstractBinopExpr.setOp1(Value op1) |
void |
AbstractBinopExpr.setOp1(Value op1) |
void |
AbstractBinopExpr.setOp2(Value op2) |
void |
AbstractBinopExpr.setOp2(Value op2) |
void |
JAssignStmt.setRightOp(Value rvalue) |
void |
JIdentityStmt.setRightOp(Value identityRef) |
void |
JAssignStmt.setRightOp(Value rvalue) |
void |
JIdentityStmt.setRightOp(Value identityRef) |
void |
AbstractNewMultiArrayExpr.setSize(int index,
Value size) |
void |
AbstractNewMultiArrayExpr.setSize(int index,
Value size) |
void |
AbstractNewArrayExpr.setSize(Value size) |
void |
AbstractNewArrayExpr.setSize(Value size) |
void |
JRetStmt.setStmtAddress(Value stmtAddress) |
void |
JRetStmt.setStmtAddress(Value stmtAddress) |
Constructor and Description |
---|
JDynamicInvokeExpr(SootMethodRef bootstrapMethodRef,
List<? extends Value> bootstrapArgs,
SootMethodRef methodRef,
int tag,
List<? extends Value> methodArgs) |
JDynamicInvokeExpr(SootMethodRef bootstrapMethodRef,
List<? extends Value> bootstrapArgs,
SootMethodRef methodRef,
int tag,
List<? extends Value> methodArgs) |
JDynamicInvokeExpr(SootMethodRef bootstrapMethodRef,
List<? extends Value> bootstrapArgs,
SootMethodRef methodRef,
int tag,
List<? extends Value> methodArgs) |
JDynamicInvokeExpr(SootMethodRef bootstrapMethodRef,
List<? extends Value> bootstrapArgs,
SootMethodRef methodRef,
int tag,
List<? extends Value> methodArgs) |
JDynamicInvokeExpr(SootMethodRef bootstrapMethodRef,
List<? extends Value> bootstrapArgs,
SootMethodRef methodRef,
List<? extends Value> methodArgs) |
JDynamicInvokeExpr(SootMethodRef bootstrapMethodRef,
List<? extends Value> bootstrapArgs,
SootMethodRef methodRef,
List<? extends Value> methodArgs) |
JDynamicInvokeExpr(SootMethodRef bootstrapMethodRef,
List<? extends Value> bootstrapArgs,
SootMethodRef methodRef,
List<? extends Value> methodArgs) |
JDynamicInvokeExpr(SootMethodRef bootstrapMethodRef,
List<? extends Value> bootstrapArgs,
SootMethodRef methodRef,
List<? extends Value> methodArgs) |
JInterfaceInvokeExpr(Value base,
SootMethodRef methodRef,
List<? extends Value> args) |
JInterfaceInvokeExpr(Value base,
SootMethodRef methodRef,
List<? extends Value> args) |
JNewMultiArrayExpr(ArrayType type,
List<? extends Value> sizes) |
JNewMultiArrayExpr(ArrayType type,
List<? extends Value> sizes) |
JSpecialInvokeExpr(Local base,
SootMethodRef methodRef,
List<? extends Value> args) |
JSpecialInvokeExpr(Local base,
SootMethodRef methodRef,
List<? extends Value> args) |
JStaticInvokeExpr(SootMethodRef methodRef,
List<? extends Value> args) |
JStaticInvokeExpr(SootMethodRef methodRef,
List<? extends Value> args) |
JVirtualInvokeExpr(Value base,
SootMethodRef methodRef,
List<? extends Value> args) |
JVirtualInvokeExpr(Value base,
SootMethodRef methodRef,
List<? extends Value> args) |
Modifier and Type | Method and Description |
---|---|
Node |
MethodNodeFactory.getNode(Value v) |
Node |
MethodNodeFactory.getNode(Value v) |
Modifier and Type | Method and Description |
---|---|
Value |
NewInstanceNode.getValue() |
Value |
NewInstanceNode.getValue() |
Modifier and Type | Method and Description |
---|---|
NewInstanceNode |
PAG.makeNewInstanceNode(Value value,
Type type,
SootMethod method) |
NewInstanceNode |
PAG.makeNewInstanceNode(Value value,
Type type,
SootMethod method) |
Modifier and Type | Field and Description |
---|---|
protected Map<Unit,HashSet<Value>> |
BranchedRefVarsAnalysis.unitToAnalyzedChecksSet
Deprecated.
|
protected Map<Unit,HashSet<Value>> |
BranchedRefVarsAnalysis.unitToAnalyzedChecksSet
Deprecated.
|
protected Map<Unit,HashSet<Value>> |
BranchedRefVarsAnalysis.unitToArrayRefChecksSet
Deprecated.
|
protected Map<Unit,HashSet<Value>> |
BranchedRefVarsAnalysis.unitToArrayRefChecksSet
Deprecated.
|
protected Map<Unit,HashSet<Value>> |
BranchedRefVarsAnalysis.unitToInstanceFieldRefChecksSet
Deprecated.
|
protected Map<Unit,HashSet<Value>> |
BranchedRefVarsAnalysis.unitToInstanceFieldRefChecksSet
Deprecated.
|
protected Map<Unit,HashSet<Value>> |
BranchedRefVarsAnalysis.unitToInstanceInvokeExprChecksSet
Deprecated.
|
protected Map<Unit,HashSet<Value>> |
BranchedRefVarsAnalysis.unitToInstanceInvokeExprChecksSet
Deprecated.
|
protected Map<Unit,HashSet<Value>> |
BranchedRefVarsAnalysis.unitToLengthExprChecksSet
Deprecated.
|
protected Map<Unit,HashSet<Value>> |
BranchedRefVarsAnalysis.unitToLengthExprChecksSet
Deprecated.
|
protected HashMap<Value,Integer> |
NullnessAnalysis.valueToIndex |
protected HashMap<Value,Integer> |
NullnessAnalysis.valueToIndex |
Modifier and Type | Method and Description |
---|---|
int |
BranchedRefVarsAnalysis.anyRefInfo(Value r,
FlowSet f)
Deprecated.
|
int |
BranchedRefVarsAnalysis.anyRefInfo(Value r,
FlowSet f)
Deprecated.
|
int |
NullnessAnalysis.AnalysisInfo.get(Value key) |
int |
NullnessAnalysis.AnalysisInfo.get(Value key) |
EquivalentValue |
BranchedRefVarsAnalysis.getEquivalentValue(Value v)
Deprecated.
|
EquivalentValue |
BranchedRefVarsAnalysis.getEquivalentValue(Value v)
Deprecated.
|
protected boolean |
BranchedRefVarsAnalysis.isAlwaysNonNull(Value ro)
Deprecated.
|
protected boolean |
NullnessAnalysis.isAlwaysNonNull(Value v)
This can be overwritten by sublasses to mark a certain value
as constantly non-null.
|
protected boolean |
NullnessAssumptionAnalysis.isAlwaysNonNull(Value v)
This can be overridden by sublasses to mark a certain value
as constantly non-null.
|
protected boolean |
NullnessAssumptionAnalysis.isAlwaysNonNull(Value v)
This can be overridden by sublasses to mark a certain value
as constantly non-null.
|
protected boolean |
BranchedRefVarsAnalysis.isAlwaysNonNull(Value ro)
Deprecated.
|
protected boolean |
NullnessAnalysis.isAlwaysNonNull(Value v)
This can be overwritten by sublasses to mark a certain value
as constantly non-null.
|
void |
NullnessAnalysis.AnalysisInfo.put(Value key,
int val) |
void |
NullnessAnalysis.AnalysisInfo.put(Value key,
int val) |
protected int |
BranchedRefVarsAnalysis.refInfo(Value r,
FlowSet fs)
Deprecated.
|
protected int |
BranchedRefVarsAnalysis.refInfo(Value r,
FlowSet fs)
Deprecated.
|
Modifier and Type | Method and Description |
---|---|
protected Map<Value,ParityAnalysis.Parity> |
ParityAnalysis.entryInitialFlow() |
protected Map<Value,ParityAnalysis.Parity> |
ParityAnalysis.entryInitialFlow() |
protected Map<Value,ParityAnalysis.Parity> |
ParityAnalysis.newInitialFlow() |
protected Map<Value,ParityAnalysis.Parity> |
ParityAnalysis.newInitialFlow() |
Modifier and Type | Method and Description |
---|---|
Value |
IFDSLiveVariables.createZeroValue() |
Value |
IFDSLiveVariables.createZeroValue() |
Modifier and Type | Method and Description |
---|---|
List<Value> |
BiDiInterproceduralCFG.getParameterRefs(M m) |
List<Value> |
BiDiInterproceduralCFG.getParameterRefs(M m) |
List<Value> |
AbstractJimpleBasedICFG.getParameterRefs(SootMethod m) |
List<Value> |
BackwardsInterproceduralCFG.getParameterRefs(SootMethod m) |
List<Value> |
AbstractJimpleBasedICFG.getParameterRefs(SootMethod m) |
List<Value> |
BackwardsInterproceduralCFG.getParameterRefs(SootMethod m) |
Modifier and Type | Class and Description |
---|---|
class |
AbstractDataSource |
class |
CachedEquivalentValue
An
EquivalentValue with cached hash code and equals-relation. |
class |
FakeJimpleLocal |
Modifier and Type | Field and Description |
---|---|
protected WeakHashMap<Value,Boolean> |
CachedEquivalentValue.isEquivalent |
protected WeakHashMap<Value,Boolean> |
CachedEquivalentValue.isEquivalent |
Modifier and Type | Method and Description |
---|---|
Value |
SimpleMethodInfoFlowAnalysis.getThisLocal() |
Value |
SmartMethodInfoFlowAnalysis.getThisLocal() |
Value |
SmartMethodLocalObjectsAnalysis.getThisLocal() |
Value |
SmartMethodLocalObjectsAnalysis.getThisLocal() |
Value |
SimpleMethodInfoFlowAnalysis.getThisLocal() |
Value |
SmartMethodInfoFlowAnalysis.getThisLocal() |
Modifier and Type | Method and Description |
---|---|
protected List<Value> |
SmartMethodInfoFlowAnalysis.handleInvokeExpr(InvokeExpr ie,
Stmt is) |
protected List<Value> |
SmartMethodInfoFlowAnalysis.handleInvokeExpr(InvokeExpr ie,
Stmt is) |
protected List<Value> |
SimpleMethodInfoFlowAnalysis.handleInvokeExpr(InvokeExpr ie,
Stmt is,
FlowSet<Pair<EquivalentValue,EquivalentValue>> fs) |
protected List<Value> |
SimpleMethodInfoFlowAnalysis.handleInvokeExpr(InvokeExpr ie,
Stmt is,
FlowSet<Pair<EquivalentValue,EquivalentValue>> fs) |
Modifier and Type | Method and Description |
---|---|
void |
SimpleMethodInfoFlowAnalysis.addToEntryInitialFlow(Value source,
Value sink) |
void |
SimpleMethodInfoFlowAnalysis.addToEntryInitialFlow(Value source,
Value sink) |
void |
SimpleMethodInfoFlowAnalysis.addToNewInitialFlow(Value source,
Value sink) |
void |
SimpleMethodInfoFlowAnalysis.addToNewInitialFlow(Value source,
Value sink) |
protected void |
SmartMethodInfoFlowAnalysis.handleFlowsToDataStructure(Value base,
Value source) |
protected void |
SmartMethodInfoFlowAnalysis.handleFlowsToDataStructure(Value base,
Value source) |
protected void |
SimpleMethodInfoFlowAnalysis.handleFlowsToDataStructure(Value base,
Value initialSource,
FlowSet<Pair<EquivalentValue,EquivalentValue>> fs) |
protected void |
SimpleMethodInfoFlowAnalysis.handleFlowsToDataStructure(Value base,
Value initialSource,
FlowSet<Pair<EquivalentValue,EquivalentValue>> fs) |
protected void |
SmartMethodInfoFlowAnalysis.handleFlowsToValue(Value sink,
Value source) |
protected void |
SmartMethodInfoFlowAnalysis.handleFlowsToValue(Value sink,
Value source) |
protected void |
SimpleMethodInfoFlowAnalysis.handleFlowsToValue(Value sink,
Value initialSource,
FlowSet<Pair<EquivalentValue,EquivalentValue>> fs) |
protected void |
SimpleMethodInfoFlowAnalysis.handleFlowsToValue(Value sink,
Value initialSource,
FlowSet<Pair<EquivalentValue,EquivalentValue>> fs) |
protected void |
SmartMethodInfoFlowAnalysis.handleInnerField(Value innerFieldRef) |
protected void |
SmartMethodInfoFlowAnalysis.handleInnerField(Value innerFieldRef) |
boolean |
SimpleMethodInfoFlowAnalysis.isInterestingSink(Value sink) |
boolean |
SimpleMethodLocalObjectsAnalysis.isInterestingSink(Value sink) |
boolean |
SimpleMethodInfoFlowAnalysis.isInterestingSink(Value sink) |
boolean |
SimpleMethodLocalObjectsAnalysis.isInterestingSink(Value sink) |
boolean |
SimpleMethodInfoFlowAnalysis.isInterestingSource(Value source) |
boolean |
SimpleMethodLocalObjectsAnalysis.isInterestingSource(Value source) |
boolean |
SimpleMethodInfoFlowAnalysis.isInterestingSource(Value source) |
boolean |
SimpleMethodLocalObjectsAnalysis.isInterestingSource(Value source) |
static boolean |
SmartMethodLocalObjectsAnalysis.isObjectLocal(InfoFlowAnalysis dfa,
SootMethod method,
CallLocalityContext context,
Value local) |
static boolean |
SmartMethodLocalObjectsAnalysis.isObjectLocal(InfoFlowAnalysis dfa,
SootMethod method,
CallLocalityContext context,
Value local) |
boolean |
SimpleMethodLocalObjectsAnalysis.isObjectLocal(Value local) |
boolean |
SimpleMethodLocalObjectsAnalysis.isObjectLocal(Value local) |
boolean |
SmartMethodLocalObjectsAnalysis.isObjectLocal(Value local,
CallLocalityContext context) |
boolean |
SmartMethodLocalObjectsAnalysis.isObjectLocal(Value local,
CallLocalityContext context) |
boolean |
ClassLocalObjectsAnalysis.isObjectLocal(Value localOrRef,
SootMethod sm) |
boolean |
ClassLocalObjectsAnalysis.isObjectLocal(Value localOrRef,
SootMethod sm) |
boolean |
LocalObjectsAnalysis.isObjectLocalToContext(Value localOrRef,
SootMethod sm,
SootMethod context) |
boolean |
LocalObjectsAnalysis.isObjectLocalToContext(Value localOrRef,
SootMethod sm,
SootMethod context) |
boolean |
LocalObjectsAnalysis.isObjectLocalToParent(Value localOrRef,
SootMethod sm) |
boolean |
LocalObjectsAnalysis.isObjectLocalToParent(Value localOrRef,
SootMethod sm) |
boolean |
SimpleMethodInfoFlowAnalysis.isTrackableSink(Value sink) |
boolean |
SimpleMethodInfoFlowAnalysis.isTrackableSink(Value sink) |
boolean |
SimpleMethodInfoFlowAnalysis.isTrackableSource(Value source) |
boolean |
SimpleMethodInfoFlowAnalysis.isTrackableSource(Value source) |
Constructor and Description |
---|
CachedEquivalentValue(Value e) |
CachedEquivalentValue(Value e) |
Modifier and Type | Field and Description |
---|---|
protected Set<Value> |
LocalMustAliasAnalysis.localsAndFieldRefs
The set of all local variables and field references that we track.
|
protected Set<Value> |
LocalMustAliasAnalysis.localsAndFieldRefs
The set of all local variables and field references that we track.
|
protected Map<Unit,Map<Value,Integer>> |
LocalMustAliasAnalysis.mergePointToValueToNumber
maps from a merge point (a unit) and a value to the unique value number of that value at this point
|
protected Map<Unit,Map<Value,Integer>> |
LocalMustAliasAnalysis.mergePointToValueToNumber
maps from a merge point (a unit) and a value to the unique value number of that value at this point
|
protected Map<Value,Integer> |
LocalMustAliasAnalysis.rhsToNumber
maps from right-hand side expressions (non-locals) to value numbers
|
protected Map<Value,Integer> |
LocalMustAliasAnalysis.rhsToNumber
maps from right-hand side expressions (non-locals) to value numbers
|
Modifier and Type | Method and Description |
---|---|
protected Set<Set<Value>> |
LocalMayAliasAnalysis.entryInitialFlow() |
protected HashMap<Value,Integer> |
LocalMustAliasAnalysis.entryInitialFlow()
Initial most conservative value: We leave it away to save memory, implicitly UNKNOWN.
|
protected HashMap<Value,Integer> |
LocalMustAliasAnalysis.entryInitialFlow()
Initial most conservative value: We leave it away to save memory, implicitly UNKNOWN.
|
protected Set<Set<Value>> |
LocalMayAliasAnalysis.entryInitialFlow() |
Set<Value> |
LocalMayAliasAnalysis.mayAliases(Value v,
Unit u)
Returns all values that may-alias with v before u.
|
Set<Value> |
LocalMayAliasAnalysis.mayAliases(Value v,
Unit u)
Returns all values that may-alias with v before u.
|
Set<Value> |
LocalMayAliasAnalysis.mayAliasesAtExit(Value v)
Returns all values that may-alias with v at the end of the procedure.
|
Set<Value> |
LocalMayAliasAnalysis.mayAliasesAtExit(Value v)
Returns all values that may-alias with v at the end of the procedure.
|
protected Set<Set<Value>> |
LocalMayAliasAnalysis.newInitialFlow() |
protected HashMap<Value,Integer> |
LocalMustAliasAnalysis.newInitialFlow()
Initial bottom value: objects have no definitions.
|
protected HashMap<Value,Integer> |
LocalMustAliasAnalysis.newInitialFlow()
Initial bottom value: objects have no definitions.
|
protected Set<Set<Value>> |
LocalMayAliasAnalysis.newInitialFlow() |
Modifier and Type | Method and Description |
---|---|
protected RWSet |
SideEffectAnalysis.addValue(Value v,
SootMethod m,
Stmt s) |
protected RWSet |
SideEffectAnalysis.addValue(Value v,
SootMethod m,
Stmt s) |
boolean |
LocalMayAliasAnalysis.mayAlias(Value v1,
Value v2,
Unit u)
Returns true if v1 and v2 may alias before u.
|
boolean |
LocalMayAliasAnalysis.mayAlias(Value v1,
Value v2,
Unit u)
Returns true if v1 and v2 may alias before u.
|
Set<Value> |
LocalMayAliasAnalysis.mayAliases(Value v,
Unit u)
Returns all values that may-alias with v before u.
|
Set<Value> |
LocalMayAliasAnalysis.mayAliases(Value v,
Unit u)
Returns all values that may-alias with v before u.
|
Set<Value> |
LocalMayAliasAnalysis.mayAliasesAtExit(Value v)
Returns all values that may-alias with v at the end of the procedure.
|
Set<Value> |
LocalMayAliasAnalysis.mayAliasesAtExit(Value v)
Returns all values that may-alias with v at the end of the procedure.
|
boolean |
PASideEffectTester.unitCanReadFrom(Unit u,
Value v)
Returns true if the unit can read from v.
|
boolean |
PASideEffectTester.unitCanReadFrom(Unit u,
Value v)
Returns true if the unit can read from v.
|
boolean |
PASideEffectTester.unitCanWriteTo(Unit u,
Value v)
Returns true if the unit can read from v.
|
boolean |
PASideEffectTester.unitCanWriteTo(Unit u,
Value v)
Returns true if the unit can read from v.
|
protected boolean |
PASideEffectTester.valueTouchesRWSet(RWSet s,
Value v,
List boxes) |
protected boolean |
PASideEffectTester.valueTouchesRWSet(RWSet s,
Value v,
List boxes) |
Modifier and Type | Method and Description |
---|---|
protected void |
LocalMustAliasAnalysis.copy(HashMap<Value,Integer> sourceMap,
HashMap<Value,Integer> destMap) |
protected void |
LocalMustAliasAnalysis.copy(HashMap<Value,Integer> sourceMap,
HashMap<Value,Integer> destMap) |
protected void |
LocalMustAliasAnalysis.copy(HashMap<Value,Integer> sourceMap,
HashMap<Value,Integer> destMap) |
protected void |
LocalMustAliasAnalysis.copy(HashMap<Value,Integer> sourceMap,
HashMap<Value,Integer> destMap) |
protected void |
LocalMayAliasAnalysis.copy(Set<Set<Value>> source,
Set<Set<Value>> target) |
protected void |
LocalMayAliasAnalysis.copy(Set<Set<Value>> source,
Set<Set<Value>> target) |
protected void |
LocalMayAliasAnalysis.copy(Set<Set<Value>> source,
Set<Set<Value>> target) |
protected void |
LocalMayAliasAnalysis.copy(Set<Set<Value>> source,
Set<Set<Value>> target) |
protected void |
LocalMustAliasAnalysis.flowThrough(HashMap<Value,Integer> in,
Unit u,
HashMap<Value,Integer> out) |
protected void |
LocalMustAliasAnalysis.flowThrough(HashMap<Value,Integer> in,
Unit u,
HashMap<Value,Integer> out) |
protected void |
LocalMustAliasAnalysis.flowThrough(HashMap<Value,Integer> in,
Unit u,
HashMap<Value,Integer> out) |
protected void |
LocalMustAliasAnalysis.flowThrough(HashMap<Value,Integer> in,
Unit u,
HashMap<Value,Integer> out) |
protected void |
LocalMayAliasAnalysis.flowThrough(Set<Set<Value>> source,
Unit unit,
Set<Set<Value>> target) |
protected void |
LocalMayAliasAnalysis.flowThrough(Set<Set<Value>> source,
Unit unit,
Set<Set<Value>> target) |
protected void |
LocalMayAliasAnalysis.flowThrough(Set<Set<Value>> source,
Unit unit,
Set<Set<Value>> target) |
protected void |
LocalMayAliasAnalysis.flowThrough(Set<Set<Value>> source,
Unit unit,
Set<Set<Value>> target) |
protected void |
LocalMustAliasAnalysis.merge(HashMap<Value,Integer> in1,
HashMap<Value,Integer> in2,
HashMap<Value,Integer> out) |
protected void |
LocalMustAliasAnalysis.merge(HashMap<Value,Integer> in1,
HashMap<Value,Integer> in2,
HashMap<Value,Integer> out) |
protected void |
LocalMustAliasAnalysis.merge(HashMap<Value,Integer> in1,
HashMap<Value,Integer> in2,
HashMap<Value,Integer> out) |
protected void |
LocalMustAliasAnalysis.merge(HashMap<Value,Integer> in1,
HashMap<Value,Integer> in2,
HashMap<Value,Integer> out) |
protected void |
LocalMustAliasAnalysis.merge(HashMap<Value,Integer> in1,
HashMap<Value,Integer> in2,
HashMap<Value,Integer> out) |
protected void |
LocalMustAliasAnalysis.merge(HashMap<Value,Integer> in1,
HashMap<Value,Integer> in2,
HashMap<Value,Integer> out) |
protected void |
LocalMayAliasAnalysis.merge(Set<Set<Value>> source1,
Set<Set<Value>> source2,
Set<Set<Value>> target) |
protected void |
LocalMayAliasAnalysis.merge(Set<Set<Value>> source1,
Set<Set<Value>> source2,
Set<Set<Value>> target) |
protected void |
LocalMayAliasAnalysis.merge(Set<Set<Value>> source1,
Set<Set<Value>> source2,
Set<Set<Value>> target) |
protected void |
LocalMayAliasAnalysis.merge(Set<Set<Value>> source1,
Set<Set<Value>> source2,
Set<Set<Value>> target) |
protected void |
LocalMayAliasAnalysis.merge(Set<Set<Value>> source1,
Set<Set<Value>> source2,
Set<Set<Value>> target) |
protected void |
LocalMayAliasAnalysis.merge(Set<Set<Value>> source1,
Set<Set<Value>> source2,
Set<Set<Value>> target) |
protected void |
LocalMustAliasAnalysis.merge(Unit succUnit,
HashMap<Value,Integer> inMap1,
HashMap<Value,Integer> inMap2,
HashMap<Value,Integer> outMap) |
protected void |
LocalMustAliasAnalysis.merge(Unit succUnit,
HashMap<Value,Integer> inMap1,
HashMap<Value,Integer> inMap2,
HashMap<Value,Integer> outMap) |
protected void |
LocalMustAliasAnalysis.merge(Unit succUnit,
HashMap<Value,Integer> inMap1,
HashMap<Value,Integer> inMap2,
HashMap<Value,Integer> outMap) |
protected void |
LocalMustAliasAnalysis.merge(Unit succUnit,
HashMap<Value,Integer> inMap1,
HashMap<Value,Integer> inMap2,
HashMap<Value,Integer> outMap) |
protected void |
LocalMustAliasAnalysis.merge(Unit succUnit,
HashMap<Value,Integer> inMap1,
HashMap<Value,Integer> inMap2,
HashMap<Value,Integer> outMap) |
protected void |
LocalMustAliasAnalysis.merge(Unit succUnit,
HashMap<Value,Integer> inMap1,
HashMap<Value,Integer> inMap2,
HashMap<Value,Integer> outMap) |
Modifier and Type | Method and Description |
---|---|
static Value |
Evaluator.getConstantValueOf(Value op)
Returns the constant value of
op if it is easy
to find the constant value; else returns null . |
static Value |
Evaluator.getConstantValueOf(Value op)
Returns the constant value of
op if it is easy
to find the constant value; else returns null . |
Modifier and Type | Method and Description |
---|---|
protected FlowSet<Value> |
FastAvailableExpressionsAnalysis.entryInitialFlow() |
protected FlowSet<Value> |
SlowAvailableExpressionsAnalysis.entryInitialFlow() |
protected FlowSet<Value> |
FastAvailableExpressionsAnalysis.entryInitialFlow() |
protected FlowSet<Value> |
SlowAvailableExpressionsAnalysis.entryInitialFlow() |
protected FlowSet<Value> |
FastAvailableExpressionsAnalysis.newInitialFlow() |
protected FlowSet<Value> |
PessimisticAvailableExpressionsAnalysis.newInitialFlow() |
protected FlowSet<Value> |
SlowAvailableExpressionsAnalysis.newInitialFlow() |
protected FlowSet<Value> |
PessimisticAvailableExpressionsAnalysis.newInitialFlow() |
protected FlowSet<Value> |
FastAvailableExpressionsAnalysis.newInitialFlow() |
protected FlowSet<Value> |
SlowAvailableExpressionsAnalysis.newInitialFlow() |
Modifier and Type | Method and Description |
---|---|
static Value |
Evaluator.getConstantValueOf(Value op)
Returns the constant value of
op if it is easy
to find the constant value; else returns null . |
static Value |
Evaluator.getConstantValueOf(Value op)
Returns the constant value of
op if it is easy
to find the constant value; else returns null . |
static boolean |
Evaluator.isValueConstantValued(Value op) |
static boolean |
Evaluator.isValueConstantValued(Value op) |
Modifier and Type | Method and Description |
---|---|
protected void |
FastAvailableExpressionsAnalysis.copy(FlowSet<Value> sourceSet,
FlowSet<Value> destSet) |
protected void |
FastAvailableExpressionsAnalysis.copy(FlowSet<Value> sourceSet,
FlowSet<Value> destSet) |
protected void |
SlowAvailableExpressionsAnalysis.copy(FlowSet<Value> sourceSet,
FlowSet<Value> destSet) |
protected void |
SlowAvailableExpressionsAnalysis.copy(FlowSet<Value> sourceSet,
FlowSet<Value> destSet) |
protected void |
FastAvailableExpressionsAnalysis.copy(FlowSet<Value> sourceSet,
FlowSet<Value> destSet) |
protected void |
FastAvailableExpressionsAnalysis.copy(FlowSet<Value> sourceSet,
FlowSet<Value> destSet) |
protected void |
SlowAvailableExpressionsAnalysis.copy(FlowSet<Value> sourceSet,
FlowSet<Value> destSet) |
protected void |
SlowAvailableExpressionsAnalysis.copy(FlowSet<Value> sourceSet,
FlowSet<Value> destSet) |
protected void |
FastAvailableExpressionsAnalysis.flowThrough(FlowSet<Value> in,
Unit u,
FlowSet<Value> out) |
protected void |
FastAvailableExpressionsAnalysis.flowThrough(FlowSet<Value> in,
Unit u,
FlowSet<Value> out) |
protected void |
SlowAvailableExpressionsAnalysis.flowThrough(FlowSet<Value> in,
Unit unit,
FlowSet<Value> out) |
protected void |
SlowAvailableExpressionsAnalysis.flowThrough(FlowSet<Value> in,
Unit unit,
FlowSet<Value> out) |
protected void |
FastAvailableExpressionsAnalysis.flowThrough(FlowSet<Value> in,
Unit u,
FlowSet<Value> out) |
protected void |
FastAvailableExpressionsAnalysis.flowThrough(FlowSet<Value> in,
Unit u,
FlowSet<Value> out) |
protected void |
SlowAvailableExpressionsAnalysis.flowThrough(FlowSet<Value> in,
Unit unit,
FlowSet<Value> out) |
protected void |
SlowAvailableExpressionsAnalysis.flowThrough(FlowSet<Value> in,
Unit unit,
FlowSet<Value> out) |
protected void |
FastAvailableExpressionsAnalysis.merge(FlowSet<Value> inSet1,
FlowSet<Value> inSet2,
FlowSet<Value> outSet) |
protected void |
FastAvailableExpressionsAnalysis.merge(FlowSet<Value> inSet1,
FlowSet<Value> inSet2,
FlowSet<Value> outSet) |
protected void |
FastAvailableExpressionsAnalysis.merge(FlowSet<Value> inSet1,
FlowSet<Value> inSet2,
FlowSet<Value> outSet) |
protected void |
SlowAvailableExpressionsAnalysis.merge(FlowSet<Value> inSet1,
FlowSet<Value> inSet2,
FlowSet<Value> outSet) |
protected void |
SlowAvailableExpressionsAnalysis.merge(FlowSet<Value> inSet1,
FlowSet<Value> inSet2,
FlowSet<Value> outSet) |
protected void |
SlowAvailableExpressionsAnalysis.merge(FlowSet<Value> inSet1,
FlowSet<Value> inSet2,
FlowSet<Value> outSet) |
protected void |
FastAvailableExpressionsAnalysis.merge(FlowSet<Value> inSet1,
FlowSet<Value> inSet2,
FlowSet<Value> outSet) |
protected void |
FastAvailableExpressionsAnalysis.merge(FlowSet<Value> inSet1,
FlowSet<Value> inSet2,
FlowSet<Value> outSet) |
protected void |
FastAvailableExpressionsAnalysis.merge(FlowSet<Value> inSet1,
FlowSet<Value> inSet2,
FlowSet<Value> outSet) |
protected void |
SlowAvailableExpressionsAnalysis.merge(FlowSet<Value> inSet1,
FlowSet<Value> inSet2,
FlowSet<Value> outSet) |
protected void |
SlowAvailableExpressionsAnalysis.merge(FlowSet<Value> inSet1,
FlowSet<Value> inSet2,
FlowSet<Value> outSet) |
protected void |
SlowAvailableExpressionsAnalysis.merge(FlowSet<Value> inSet1,
FlowSet<Value> inSet2,
FlowSet<Value> outSet) |
Modifier and Type | Method and Description |
---|---|
static Value |
SootFilter.binop(Value val)
only lets binary expression through.
|
static Value |
SootFilter.binop(Value val)
only lets binary expression through.
|
static Value |
SootFilter.binopRhs(Unit unit)
only lets binary RHS through.
|
static Value |
SootFilter.binopRhs(Unit unit)
only lets binary RHS through.
|
static Value |
SootFilter.concreteRef(Value val)
only lets concrete references through.
|
static Value |
SootFilter.concreteRef(Value val)
only lets concrete references through.
|
static Value |
SootFilter.getEquivalentValueRoot(Value val)
returns the Value of an EquivalentValue.
|
static Value |
SootFilter.getEquivalentValueRoot(Value val)
returns the Value of an EquivalentValue.
|
static Value |
SootFilter.local(Value val)
filters out Locals.
returns null if val is null. |
static Value |
SootFilter.local(Value val)
filters out Locals.
returns null if val is null. |
static Value |
SootFilter.noExceptionThrowing(Value val)
filters out Exception-throwing Values.
|
static Value |
SootFilter.noExceptionThrowing(Value val)
filters out Exception-throwing Values.
|
static Value |
SootFilter.noExceptionThrowingRhs(Unit unit)
filters out RHS that don't throw any exception.
|
static Value |
SootFilter.noExceptionThrowingRhs(Unit unit)
filters out RHS that don't throw any exception.
|
static Value |
SootFilter.noInvoke(Value val)
filters out Invokes.
returns null if val is null. |
static Value |
SootFilter.noInvoke(Value val)
filters out Invokes.
returns null if val is null. |
static Value |
SootFilter.noInvokeRhs(Unit unit)
filters out RHS that aren't invokes.
|
static Value |
SootFilter.noInvokeRhs(Unit unit)
filters out RHS that aren't invokes.
|
static Value |
SootFilter.noLocal(Value val)
only lets non-Locals through.
returns null if val is null. |
static Value |
SootFilter.noLocal(Value val)
only lets non-Locals through.
returns null if val is null. |
static Value |
SootFilter.rhs(Unit unit)
filters out the RHS of an assignmentStmt.
|
static Value |
SootFilter.rhs(Unit unit)
filters out the RHS of an assignmentStmt.
|
Modifier and Type | Method and Description |
---|---|
static Value |
SootFilter.binop(Value val)
only lets binary expression through.
|
static Value |
SootFilter.binop(Value val)
only lets binary expression through.
|
static Value |
SootFilter.concreteRef(Value val)
only lets concrete references through.
|
static Value |
SootFilter.concreteRef(Value val)
only lets concrete references through.
|
static EquivalentValue |
SootFilter.equiVal(Value val)
wraps a value into a EquivalentValue.
|
static EquivalentValue |
SootFilter.equiVal(Value val)
wraps a value into a EquivalentValue.
|
static Value |
SootFilter.getEquivalentValueRoot(Value val)
returns the Value of an EquivalentValue.
|
static Value |
SootFilter.getEquivalentValueRoot(Value val)
returns the Value of an EquivalentValue.
|
static boolean |
SootFilter.isInvoke(Value val)
returns true, if
val is an invoke. |
static boolean |
SootFilter.isInvoke(Value val)
returns true, if
val is an invoke. |
static boolean |
SootFilter.isLocal(Value val)
returns true, if
val is a Local. |
static boolean |
SootFilter.isLocal(Value val)
returns true, if
val is a Local. |
static Value |
SootFilter.local(Value val)
filters out Locals.
returns null if val is null. |
static Value |
SootFilter.local(Value val)
filters out Locals.
returns null if val is null. |
static Value |
SootFilter.noExceptionThrowing(Value val)
filters out Exception-throwing Values.
|
static Value |
SootFilter.noExceptionThrowing(Value val)
filters out Exception-throwing Values.
|
static Value |
SootFilter.noInvoke(Value val)
filters out Invokes.
returns null if val is null. |
static Value |
SootFilter.noInvoke(Value val)
filters out Invokes.
returns null if val is null. |
static Value |
SootFilter.noLocal(Value val)
only lets non-Locals through.
returns null if val is null. |
static Value |
SootFilter.noLocal(Value val)
only lets non-Locals through.
returns null if val is null. |
static boolean |
SootFilter.throwsException(Value val)
a (probably) conservative way of telling, if a Value throws an exception
or not.
|
static boolean |
SootFilter.throwsException(Value val)
a (probably) conservative way of telling, if a Value throws an exception
or not.
|
Modifier and Type | Method and Description |
---|---|
List |
ThreadLocalObjectsAnalysis.escapesThrough(Value sharedValue,
SootMethod containingMethod)
Returns a list of thread-shared sources and sinks.
|
List |
ThreadLocalObjectsAnalysis.escapesThrough(Value sharedValue,
SootMethod containingMethod)
Returns a list of thread-shared sources and sinks.
|
boolean |
IThreadLocalObjectsAnalysis.isObjectThreadLocal(Value localOrRef,
SootMethod sm) |
boolean |
ThreadLocalObjectsAnalysis.isObjectThreadLocal(Value localOrRef,
SootMethod sm) |
boolean |
IThreadLocalObjectsAnalysis.isObjectThreadLocal(Value localOrRef,
SootMethod sm) |
boolean |
ThreadLocalObjectsAnalysis.isObjectThreadLocal(Value localOrRef,
SootMethod sm) |
Modifier and Type | Class and Description |
---|---|
class |
DeadlockAvoidanceEdge |
class |
NewStaticLock |
Modifier and Type | Method and Description |
---|---|
static Value |
LockAllocationBodyTransformer.getLockFor(EquivalentValue lockEqVal) |
static Value |
LockAllocationBodyTransformer.getLockFor(EquivalentValue lockEqVal) |
Modifier and Type | Method and Description |
---|---|
Integer |
LockableReferenceAnalysis.addFromSubanalysis(soot.jimple.toolkits.thread.synchronization.LocksetFlowInfo outInfo,
LockableReferenceAnalysis la,
Stmt stmt,
Value lock) |
Integer |
LockableReferenceAnalysis.addFromSubanalysis(soot.jimple.toolkits.thread.synchronization.LocksetFlowInfo outInfo,
LockableReferenceAnalysis la,
Stmt stmt,
Value lock) |
protected RWSet |
CriticalSectionAwareSideEffectAnalysis.addValue(Value v,
SootMethod m,
Stmt s) |
protected RWSet |
CriticalSectionAwareSideEffectAnalysis.addValue(Value v,
SootMethod m,
Stmt s) |
RWSet |
CriticalSectionAwareSideEffectAnalysis.approximatedReadSet(SootMethod method,
Stmt stmt,
Value specialRead,
boolean allFields) |
RWSet |
CriticalSectionAwareSideEffectAnalysis.approximatedReadSet(SootMethod method,
Stmt stmt,
Value specialRead,
boolean allFields) |
RWSet |
CriticalSectionAwareSideEffectAnalysis.approximatedWriteSet(SootMethod method,
Stmt stmt,
Value v,
boolean allFields) |
RWSet |
CriticalSectionAwareSideEffectAnalysis.approximatedWriteSet(SootMethod method,
Stmt stmt,
Value v,
boolean allFields) |
RWSet |
CriticalSectionAwareSideEffectAnalysis.valueRWSet(Value v,
SootMethod m,
Stmt s,
soot.jimple.toolkits.thread.synchronization.CriticalSection tn) |
RWSet |
CriticalSectionAwareSideEffectAnalysis.valueRWSet(Value v,
SootMethod m,
Stmt s,
soot.jimple.toolkits.thread.synchronization.CriticalSection tn) |
Modifier and Type | Method and Description |
---|---|
MutableEdgeLabelledDirectedGraph |
DeadlockDetector.detectLocksetDeadlock(Map<Value,Integer> lockToLockNum,
List<PointsToSetInternal> lockPTSets) |
MutableEdgeLabelledDirectedGraph |
DeadlockDetector.detectLocksetDeadlock(Map<Value,Integer> lockToLockNum,
List<PointsToSetInternal> lockPTSets) |
protected void |
LockAllocator.findLockableReferences(List<soot.jimple.toolkits.thread.synchronization.CriticalSection> AllTransactions,
PointsToAnalysis pta,
CriticalSectionAwareSideEffectAnalysis tasea,
Map<Value,Integer> lockToLockNum,
List<PointsToSetInternal> lockPTSets) |
protected void |
LockAllocator.findLockableReferences(List<soot.jimple.toolkits.thread.synchronization.CriticalSection> AllTransactions,
PointsToAnalysis pta,
CriticalSectionAwareSideEffectAnalysis tasea,
Map<Value,Integer> lockToLockNum,
List<PointsToSetInternal> lockPTSets) |
static String |
LockAllocator.locksetToLockNumString(List<EquivalentValue> lockset,
Map<Value,Integer> lockToLockNum) |
static String |
LockAllocator.locksetToLockNumString(List<EquivalentValue> lockset,
Map<Value,Integer> lockToLockNum) |
void |
LockAllocator.printGraph(Collection<soot.jimple.toolkits.thread.synchronization.CriticalSection> AllTransactions,
CriticalSectionInterferenceGraph ig,
Map<Value,Integer> lockToLockNum) |
void |
LockAllocator.printGraph(Collection<soot.jimple.toolkits.thread.synchronization.CriticalSection> AllTransactions,
CriticalSectionInterferenceGraph ig,
Map<Value,Integer> lockToLockNum) |
void |
DeadlockDetector.reorderLocksets(Map<Value,Integer> lockToLockNum,
MutableEdgeLabelledDirectedGraph lockOrder) |
void |
DeadlockDetector.reorderLocksets(Map<Value,Integer> lockToLockNum,
MutableEdgeLabelledDirectedGraph lockOrder) |
Modifier and Type | Method and Description |
---|---|
Value |
IUseVisitor.visit(Value op,
Type useType,
Stmt stmt) |
Value |
IUseVisitor.visit(Value op,
Type useType,
Stmt stmt) |
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) |
Collection<Type> |
AugEvalFunction.eval(Typing tg,
Value expr,
Stmt stmt) |
Collection<Type> |
IEvalFunction.eval(Typing tg,
Value expr,
Stmt stmt) |
Collection<Type> |
AugEvalFunction.eval(Typing tg,
Value expr,
Stmt stmt) |
Collection<Type> |
IEvalFunction.eval(Typing tg,
Value expr,
Stmt stmt) |
Value |
IUseVisitor.visit(Value op,
Type useType,
Stmt stmt) |
Value |
IUseVisitor.visit(Value op,
Type useType,
Stmt stmt) |
Modifier and Type | Interface and Description |
---|---|
interface |
PhiExpr
A fully defined PhiExpr usually consists of a list of Values for
the arguments alongst with the corresponding control flow
predecessor for each argument.
|
interface |
PiExpr |
interface |
ShimpleExpr |
Modifier and Type | Method and Description |
---|---|
Value |
PiExpr.getValue() |
Value |
PiExpr.getValue() |
Value |
PhiExpr.getValue(Block pred)
Get the PhiExpr argument corresponding to the given control flow
predecessor, returns null if not available.
|
Value |
PhiExpr.getValue(Block pred)
Get the PhiExpr argument corresponding to the given control flow
predecessor, returns null if not available.
|
Value |
PhiExpr.getValue(int index)
Returns the value for the given index into the PhiExpr.
|
Value |
PhiExpr.getValue(int index)
Returns the value for the given index into the PhiExpr.
|
Value |
PhiExpr.getValue(Unit predTailUnit)
Get the PhiExpr argument corresponding to the given control
flow predecessor, returns null if not available.
|
Value |
PhiExpr.getValue(Unit predTailUnit)
Get the PhiExpr argument corresponding to the given control
flow predecessor, returns null if not available.
|
Modifier and Type | Method and Description |
---|---|
List<Value> |
PhiExpr.getValues()
Returns a list of the values used by this PhiExpr.
|
List<Value> |
PhiExpr.getValues()
Returns a list of the values used by this PhiExpr.
|
Modifier and Type | Method and Description |
---|---|
boolean |
PhiExpr.addArg(Value arg,
Block pred)
Add the given argument associated with the given CFG
predecessor.
|
boolean |
PhiExpr.addArg(Value arg,
Block pred)
Add the given argument associated with the given CFG
predecessor.
|
boolean |
PhiExpr.addArg(Value arg,
Unit predTailUnit)
Add the given argument associated with the given CFG
predecessor.
|
boolean |
PhiExpr.addArg(Value arg,
Unit predTailUnit)
Add the given argument associated with the given CFG
predecessor.
|
static boolean |
Shimple.isPhiExpr(Value value)
Returns true if the value is a Phi expression, false otherwise.
|
static boolean |
Shimple.isPhiExpr(Value value)
Returns true if the value is a Phi expression, false otherwise.
|
static boolean |
Shimple.isPiExpr(Value value) |
static boolean |
Shimple.isPiExpr(Value value) |
boolean |
PhiExpr.setArg(int index,
Value arg,
Block pred)
Modify the PhiExpr argument at the given index with the given
information.
|
boolean |
PhiExpr.setArg(int index,
Value arg,
Block pred)
Modify the PhiExpr argument at the given index with the given
information.
|
boolean |
PhiExpr.setArg(int index,
Value arg,
Unit predTailUnit)
Modify the PhiExpr argument at the given index with the given
information.
|
boolean |
PhiExpr.setArg(int index,
Value arg,
Unit predTailUnit)
Modify the PhiExpr argument at the given index with the given
information.
|
boolean |
PhiExpr.setValue(Block pred,
Value arg)
Locate the argument associated with the given CFG predecessor
and set the value.
|
boolean |
PhiExpr.setValue(Block pred,
Value arg)
Locate the argument associated with the given CFG predecessor
and set the value.
|
boolean |
PhiExpr.setValue(int index,
Value arg)
Set the value at the given index into the PhiExpr.
|
boolean |
PhiExpr.setValue(int index,
Value arg)
Set the value at the given index into the PhiExpr.
|
boolean |
PhiExpr.setValue(Unit predTailUnit,
Value arg)
Locate the argument associated with the given CFG predecessor unit
and set the value.
|
boolean |
PhiExpr.setValue(Unit predTailUnit,
Value arg)
Locate the argument associated with the given CFG predecessor unit
and set the value.
|
void |
PiExpr.setValue(Value v) |
void |
PiExpr.setValue(Value v) |
Modifier and Type | Method and Description |
---|---|
PhiExpr |
Shimple.newPhiExpr(List<Value> args,
List<Unit> preds)
Create a PhiExpr with the provided list of Values (Locals or
Constants) and the corresponding control flow predecessor
Blocks.
|
PhiExpr |
Shimple.newPhiExpr(List<Value> args,
List<Unit> preds)
Create a PhiExpr with the provided list of Values (Locals or
Constants) and the corresponding control flow predecessor
Blocks.
|
Modifier and Type | Class and Description |
---|---|
class |
SPhiExpr
Internal implementation of Phi nodes.
|
class |
SPiExpr |
Modifier and Type | Method and Description |
---|---|
Value |
SPiExpr.getValue() |
Value |
SPiExpr.getValue() |
Value |
SPhiExpr.getValue(Block pred) |
Value |
SPhiExpr.getValue(Block pred) |
Value |
SPhiExpr.getValue(int index) |
Value |
SPhiExpr.getValue(int index) |
Value |
SPhiExpr.getValue(Unit predTailUnit) |
Value |
SPhiExpr.getValue(Unit predTailUnit) |
Modifier and Type | Method and Description |
---|---|
List<Value> |
SPhiExpr.getValues() |
List<Value> |
SPhiExpr.getValues() |
Modifier and Type | Method and Description |
---|---|
boolean |
SPhiExpr.addArg(Value arg,
Block pred) |
boolean |
SPhiExpr.addArg(Value arg,
Block pred) |
boolean |
SPhiExpr.addArg(Value arg,
Unit predTailUnit) |
boolean |
SPhiExpr.addArg(Value arg,
Unit predTailUnit) |
protected int |
ShimpleBodyBuilder.indexOfLocal(Value local)
Convenient function that maps new Locals to the originating
Local, and finds the appropriate array index into the naming
structures.
|
protected int |
ShimpleBodyBuilder.indexOfLocal(Value local)
Convenient function that maps new Locals to the originating
Local, and finds the appropriate array index into the naming
structures.
|
boolean |
SPhiExpr.setArg(int index,
Value arg,
Block pred) |
boolean |
SPhiExpr.setArg(int index,
Value arg,
Block pred) |
boolean |
SPhiExpr.setArg(int index,
Value arg,
Unit predTailUnit) |
boolean |
SPhiExpr.setArg(int index,
Value arg,
Unit predTailUnit) |
boolean |
SPhiExpr.setValue(Block pred,
Value arg) |
boolean |
SPhiExpr.setValue(Block pred,
Value arg) |
boolean |
SPhiExpr.setValue(int index,
Value arg) |
boolean |
SPhiExpr.setValue(int index,
Value arg) |
boolean |
SPhiExpr.setValue(Unit predTailUnit,
Value arg) |
boolean |
SPhiExpr.setValue(Unit predTailUnit,
Value arg) |
void |
SPiExpr.setValue(Value value) |
void |
SPiExpr.setValue(Value value) |
Constructor and Description |
---|
SPiExpr(Value v,
Unit u,
Object o) |
SPiExpr(Value v,
Unit u,
Object o) |
SValueUnitPair(Value value,
Unit unit) |
SValueUnitPair(Value value,
Unit unit) |
Constructor and Description |
---|
SPhiExpr(List<Value> args,
List<Unit> preds)
Create a Phi expression from the given list of Values and Blocks.
|
SPhiExpr(List<Value> args,
List<Unit> preds)
Create a Phi expression from the given list of Values and Blocks.
|
Modifier and Type | Class and Description |
---|---|
protected static class |
ValueGraph.TypeValueWrapper |
Modifier and Type | Field and Description |
---|---|
protected Value |
ValueGraph.Node.node |
protected Value |
ValueGraph.Node.node |
Modifier and Type | Field and Description |
---|---|
protected Map<Value,ValueGraph.Node> |
ValueGraph.localToNode |
protected Map<Value,ValueGraph.Node> |
ValueGraph.localToNode |
protected Map<ValueGraph.Node,Value> |
ValueGraph.nodeToLocal |
protected Map<ValueGraph.Node,Value> |
ValueGraph.nodeToLocal |
Modifier and Type | Method and Description |
---|---|
protected ValueGraph.Node |
ValueGraph.fetchGraph(Value value) |
protected ValueGraph.Node |
ValueGraph.fetchGraph(Value value) |
protected ValueGraph.Node |
ValueGraph.fetchNode(Value value) |
protected ValueGraph.Node |
ValueGraph.fetchNode(Value value) |
ValueGraph.Node |
ValueGraph.getNode(Value local) |
ValueGraph.Node |
ValueGraph.getNode(Value local) |
protected void |
ValueGraph.Node.setNode(Value node) |
protected void |
ValueGraph.Node.setNode(Value node) |
Constructor and Description |
---|
Node(Value node) |
Node(Value node) |
Node(Value local,
boolean ignored) |
Node(Value local,
boolean ignored) |
Node(Value node,
boolean ordered,
List<ValueGraph.Node> children) |
Node(Value node,
boolean ordered,
List<ValueGraph.Node> children) |
Modifier and Type | Class and Description |
---|---|
static class |
SEvaluator.BottomConstant
Bottom i.e.
|
static class |
SEvaluator.MetaConstant
Head of a new hierarchy of constants -- Top and Bottom.
|
static class |
SEvaluator.TopConstant
Top i.e.
|
Modifier and Type | Field and Description |
---|---|
protected Map<Value,List<Unit>> |
ShimpleLocalDefs.localToDefs |
protected Map<Value,List<Unit>> |
ShimpleLocalDefs.localToDefs |
Modifier and Type | Method and Description |
---|---|
static Value |
SEvaluator.getConstantValueOf(Value op)
Returns the constant value of
op if it is easy to
find the constant value; else returns null . |
static Value |
SEvaluator.getConstantValueOf(Value op)
Returns the constant value of
op if it is easy to
find the constant value; else returns null . |
Modifier and Type | Method and Description |
---|---|
static Value |
SEvaluator.getConstantValueOf(Value op)
Returns the constant value of
op if it is easy to
find the constant value; else returns null . |
static Value |
SEvaluator.getConstantValueOf(Value op)
Returns the constant value of
op if it is easy to
find the constant value; else returns null . |
static Constant |
SEvaluator.getFuzzyConstantValueOf(Value v)
If a normal expression contains Bottom, always return Bottom.
|
static Constant |
SEvaluator.getFuzzyConstantValueOf(Value v)
If a normal expression contains Bottom, always return Bottom.
|
static Constant |
SEvaluator.getFuzzyConstantValueOf(Value v,
Map<Local,Constant> localToConstant)
Get the constant value of the expression given the assumptions
in the localToConstant map (may contain Top and Bottom).
|
static Constant |
SEvaluator.getFuzzyConstantValueOf(Value v,
Map<Local,Constant> localToConstant)
Get the constant value of the expression given the assumptions
in the localToConstant map (may contain Top and Bottom).
|
static boolean |
SEvaluator.isValueConstantValued(Value op)
Returns true if given value is determined to be constant valued,
false otherwise
|
static boolean |
SEvaluator.isValueConstantValued(Value op)
Returns true if given value is determined to be constant valued,
false otherwise
|
Modifier and Type | Method and Description |
---|---|
String |
ValueTemplatePrinter.printValueAssignment(Value value,
String varName) |
String |
ValueTemplatePrinter.printValueAssignment(Value value,
String varName) |
Modifier and Type | Method and Description |
---|---|
List<Value> |
DexArrayInitDetector.getValuesForArrayInit(Unit arrayInit) |
List<Value> |
DexArrayInitDetector.getValuesForArrayInit(Unit arrayInit) |
Modifier and Type | Method and Description |
---|---|
Register |
RegisterAllocator.asImmediate(Value v,
soot.toDex.ConstantVisitor constantV) |
Register |
RegisterAllocator.asImmediate(Value v,
soot.toDex.ConstantVisitor constantV) |
Modifier and Type | Method and Description |
---|---|
protected ThrowableSet |
UnitThrowAnalysis.mightThrow(Value v) |
protected ThrowableSet |
UnitThrowAnalysis.mightThrow(Value v) |
Modifier and Type | Method and Description |
---|---|
boolean |
ValueUnitPair.canContainValue(Value value) |
boolean |
ValueUnitPair.canContainValue(Value value) |
Constructor and Description |
---|
ValueUnitPair(Value value,
Unit unit)
Constructs a ValueUnitPair from a Unit object and a Value object.
|
ValueUnitPair(Value value,
Unit unit)
Constructs a ValueUnitPair from a Unit object and a Value object.
|