de.rwth.dfa.jvm.samples
Class CPAbstraction.PushLocalFunction

java.lang.Object
  |
  +--de.rwth.dfa.jvm.samples.CPAbstraction.CPFunction
        |
        +--de.rwth.dfa.jvm.samples.CPAbstraction.PushLocalFunction
All Implemented Interfaces:
Function
Enclosing class:
CPAbstraction

protected class CPAbstraction.PushLocalFunction
extends CPAbstraction.CPFunction

Pushes the content of a local variable slot onto the stack.


Inner classes inherited from class de.rwth.domains.Function
Function.Tools
 
Field Summary
protected  int index
          The index of the local variable to push.
 
Fields inherited from class de.rwth.dfa.jvm.samples.CPAbstraction.CPFunction
consume, produce
 
Constructor Summary
CPAbstraction.PushLocalFunction(int index, int consume, int produce)
          Creates a new PushLocalFunction instance.
 
Method Summary
protected  void apply(java.lang.Object[] locals, java.util.Stack stack)
          Pushes the content of the local variable slot of this function after pushing as many CFPComponentLattice.UNKNOWNCOMPONENT as necessary to fulfill correct stack behavior.
 java.lang.String toString()
           
 
Methods inherited from class de.rwth.dfa.jvm.samples.CPAbstraction.CPFunction
apply, getDomain, getRange
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

index

protected int index
The index of the local variable to push.
Constructor Detail

CPAbstraction.PushLocalFunction

public CPAbstraction.PushLocalFunction(int index,
                                       int consume,
                                       int produce)
Creates a new PushLocalFunction instance.
Parameters:
index - an int value
consume - an int value
produce - an int value
Method Detail

apply

protected void apply(java.lang.Object[] locals,
                     java.util.Stack stack)
              throws FunctionException
Pushes the content of the local variable slot of this function after pushing as many CFPComponentLattice.UNKNOWNCOMPONENT as necessary to fulfill correct stack behavior.
Overrides:
apply in class CPAbstraction.CPFunction
Parameters:
locals - an Object[] value
stack - a Stack value
Throws:
FunctionException - if an error occurs

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object