public class SootFilter extends Object
Constructor and Description |
---|
SootFilter() |
Modifier and Type | Method and Description |
---|---|
static Value |
binop(Value val)
only lets binary expression through.
|
static Value |
binopRhs(Unit unit)
only lets binary RHS through.
|
static Value |
concreteRef(Value val)
only lets concrete references through.
|
static EquivalentValue |
equiVal(Value val)
wraps a value into a EquivalentValue.
|
static Value |
getEquivalentValueRoot(Value val)
returns the Value of an EquivalentValue.
|
static boolean |
isInvoke(Value val)
returns true, if
val is an invoke. |
static boolean |
isLocal(Value val)
returns true, if
val is a Local. |
static Value |
local(Value val)
filters out Locals.
returns null if val is null. |
static Value |
noExceptionThrowing(Value val)
filters out Exception-throwing Values.
|
static Value |
noExceptionThrowingRhs(Unit unit)
filters out RHS that don't throw any exception.
|
static Value |
noInvoke(Value val)
filters out Invokes.
returns null if val is null. |
static Value |
noInvokeRhs(Unit unit)
filters out RHS that aren't invokes.
|
static Value |
noLocal(Value val)
only lets non-Locals through.
returns null if val is null. |
static Value |
rhs(Unit unit)
filters out the RHS of an assignmentStmt.
|
static boolean |
throwsException(Value val)
a (probably) conservative way of telling, if a Value throws an exception
or not.
|
public static EquivalentValue equiVal(Value val)
null
if val
is null.val
- the Value to wrap.public static Value rhs(Unit unit)
unit
- a Unit from which to extract the RHS.unit
or null
if
unit
wasn't an assignment-stmt.public static Value binop(Value val)
val
- the Value to test for.val
if it is a binary expression. otherwise
null
.public static Value binopRhs(Unit unit)
unit
- the Unit to test for.unit
is an
AssigStmt and its RHS is a binary expression. otherwise
null
.public static Value concreteRef(Value val)
null
if val
already was null.val
- the Value to test for.val
if it was a concrete reference. otherwise
null
.public static Value noExceptionThrowing(Value val)
null
if val
is null.val
- the Value to test for.val
if val doesn't throw any exception, or
null
otherwise.public static Value noExceptionThrowingRhs(Unit unit)
unit
- the Unit to test.unit
is an assignment-stmt and can't
throw any exception.public static Value noInvokeRhs(Unit unit)
unit
- the Unit to look at.unit
if it is an assignment-stmt, and its
RHS is not an invoke.public static Value noInvoke(Value val)
null
if val
is null.val
- the Value to inspectval
, if val is not an invoke, null
otherwise.public static boolean isInvoke(Value val)
val
is an invoke.val
- the Value to inspect.val
is an invoke.public static Value local(Value val)
null
if val
is null.val
- the Value to look at.val
, if it is a Local, null
otherwise.public static Value noLocal(Value val)
null
if val
is null.val
- the Value to look at.val
, if it is not a Local, null
otherwise.public static boolean isLocal(Value val)
val
is a Local.public static Value getEquivalentValueRoot(Value val)
null
if val
is null.val
- the Value to inspect.public static boolean throwsException(Value val)