|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--de.rwth.dfa.jvm.samples.CPAbstraction.CPFunction
The abstract base class of all function of this abstraction.
Inner classes inherited from class de.rwth.domains.Function |
Function.Tools |
Field Summary | |
protected int |
consume
The number of elements consumed from the operand stack by this function. |
protected int |
produce
The number of elements produced by this function on the operand stack. |
Constructor Summary | |
CPAbstraction.CPFunction(int consume,
int produce)
Creates a new CPFunction instance. |
Method Summary | |
java.lang.Object |
apply(java.lang.Object x)
Applies this function to an element of the CFPLattice for this
abstraction and returns the result. |
protected abstract void |
apply(java.lang.Object[] locals,
java.util.Stack stack)
Supposed to perform the actual operation. |
Set |
getDomain()
Returns the CFPLattice for this abstraction. |
Set |
getRange()
Returns the CFPLattice for this abstraction. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
protected int consume
protected int produce
Constructor Detail |
public CPAbstraction.CPFunction(int consume, int produce)
CPFunction
instance.consume
- an int
valueproduce
- an int
valueMethod Detail |
public Set getRange()
CFPLattice
for this abstraction.getRange
in interface Function
Set
valuepublic Set getDomain()
CFPLattice
for this abstraction.getDomain
in interface Function
Set
valuepublic java.lang.Object apply(java.lang.Object x) throws FunctionException
CFPLattice
for this
abstraction and returns the result. It extracts the components and calls
apply(Object[],Stack)
. If the stack component is not a stack, but top
or bottom of CFPStackLattice
, the second argument in
null
.apply
in interface Function
x
- an Object
valueObject
valueFunctionException
- if an error occursprotected abstract void apply(java.lang.Object[] locals, java.util.Stack stack) throws FunctionException
locals
- an Object[]
valuestack
- a Stack
valueFunctionException
- if an error occurs
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |