|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
An interface for describing an abstract model of JVM execution. It describes everything which is necessary to do data flow analysis on JVM byte code.
Inner Class Summary | |
static class |
Abstraction.Default
Container class for default implementations of methods. |
Field Summary | |
static int |
DIRECTION_BACKWARD
The constant DIRECTION_BACKWARD may be used as result of
getDirection() to indicate backward control flow. |
static int |
DIRECTION_FORWARD
The constant DIRECTION_FORWARD may be used as result of
getDirection() to indicate forward control flow. |
static int |
QUANTIFIER_ALL
The constant QUANTIFIER_ALL may be used as result of
getQuantifier() to indicate universal quantification. |
static int |
QUANTIFIER_EXISTS
The constant QUANTIFIER_EXISTS may be used as result of
getQuantifier() to indicate existential quantification. |
Method Summary | |
Function |
getAbstract(de.fub.bytecode.generic.InstructionHandle ih)
Returns the transfer function associated by this abstraction with an instruction in a method. |
Function |
getAbstract(InstructionHandleVector ihv)
Returns the transfer function associated by this abstraction with a sequence of JVM instructions without jumps in a method. |
int |
getDirection()
Returns the direction of control flow in this abstraction. |
java.lang.Object |
getInitialValue(de.fub.bytecode.generic.InstructionHandle ih,
boolean isEntry)
For a JVM instruction in a method, it returns the initial value of the computations. |
java.lang.Object |
getInitialValue(InstructionHandleVector ihs,
boolean isEntry)
For a sequence of JVM instructions without jumps in a method, it returns the initial value of the computations. |
Lattice |
getLattice()
Returns the lattice used to do all computations. |
int |
getQuantifier()
Returns the quantification of this abstraction. |
Field Detail |
public static final int DIRECTION_FORWARD
DIRECTION_FORWARD
may be used as result of
getDirection()
to indicate forward control flow.public static final int DIRECTION_BACKWARD
DIRECTION_BACKWARD
may be used as result of
getDirection()
to indicate backward control flow.public static final int QUANTIFIER_ALL
QUANTIFIER_ALL
may be used as result of
getQuantifier()
to indicate universal quantification.public static final int QUANTIFIER_EXISTS
QUANTIFIER_EXISTS
may be used as result of
getQuantifier()
to indicate existential quantification.Method Detail |
public Lattice getLattice()
Lattice
valuepublic java.lang.Object getInitialValue(de.fub.bytecode.generic.InstructionHandle ih, boolean isEntry)
In addition to the classes defined in the BCEL API, the instruction handle may
also be an instance of ExceptionHeaderInstructionHandle
. This pseudo
instruction is inserted before the first real instruction of an exception
handler. If the operand stack state of the real JVM execution is modeled by this
abstraction, the pseudo instruction must be used to make the abstract value
represent a state with a stack with only a non null reference to an exception as
the only entry.
ih
- an InstructionHandle
valueisEntry
- a boolean
value: true
if this
instruction is an entry with respect to the direction of control flow.Object
valuepublic java.lang.Object getInitialValue(InstructionHandleVector ihs, boolean isEntry)
ihs
- an InstructionHandleVector
valueisEntry
- a boolean
value: true
if this
instruction is an entry with respect to the direction of control flow.Object
valueAbstraction.Default
public int getDirection()
int
value: Either DIRECTION_FORWARD
or
DIRECTION_BACKWARD
.public int getQuantifier()
int
value: Either QUANTIFIER_ALL
or
QUANTIFIER_EXISTS
.public Function getAbstract(de.fub.bytecode.generic.InstructionHandle ih)
ih
- an InstructionHandle
valueFunction
valuepublic Function getAbstract(InstructionHandleVector ihv)
ih
- an InstructionHandle
valueFunction
valueAbstraction.Default
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |