|
|||||||||
| 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 value
public 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 value
public 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.Defaultpublic 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 | ||||||||