Class AbstractIntStackMachine.MachineState
java.lang.Object
com.ibm.wala.util.graph.impl.NodeWithNumber
com.ibm.wala.fixpoint.AbstractVariable<AbstractIntStackMachine.MachineState>
com.ibm.wala.analysis.stackMachine.AbstractIntStackMachine.MachineState
- All Implemented Interfaces:
IVariable<AbstractIntStackMachine.MachineState>
,INodeWithNumber
- Enclosing class:
AbstractIntStackMachine
public class AbstractIntStackMachine.MachineState
extends AbstractVariable<AbstractIntStackMachine.MachineState>
Representation of the state of the JVM stack machine at some program point.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
void
Set this variable to have the same state as another oneI'm not using clone because I don't want to necessarily inherit the AbstractVariable state from the superclassint
getLocal
(int i) int[]
Use with care.int
Returns the stackHeight.boolean
hasValue
(int val) int
peek()
int
pop()
void
push
(int i) void
replaceValue
(int from, int to) void
setLocal
(int i, int j) set the value of local i to symbol jvoid
swap()
toString()
Methods inherited from class com.ibm.wala.fixpoint.AbstractVariable
equals, getOrderNumber, hashCode, nextHash, setOrderNumber
Methods inherited from class com.ibm.wala.util.graph.impl.NodeWithNumber
getGraphNodeId, setGraphNodeId
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.ibm.wala.util.graph.INodeWithNumber
getGraphNodeId, setGraphNodeId
-
Constructor Details
-
MachineState
-
-
Method Details
-
duplicate
I'm not using clone because I don't want to necessarily inherit the AbstractVariable state from the superclass -
getBasicBlock
-
push
public void push(int i) -
pop
public int pop() -
peek
public int peek() -
swap
public void swap() -
clearStack
public void clearStack() -
setLocal
public void setLocal(int i, int j) set the value of local i to symbol j -
getLocal
public int getLocal(int i) - Returns:
- the number of the symbol corresponding to local i
-
replaceValue
public void replaceValue(int from, int to) -
hasValue
public boolean hasValue(int val) -
toString
-
copyState
Description copied from interface:IVariable
Set this variable to have the same state as another one -
getStackHeight
public int getStackHeight()Returns the stackHeight.- Returns:
- int
-
getLocals
public int[] getLocals()Use with care.
-