Package org.jboss.classfilewriter.code
Class StackState
- java.lang.Object
-
- org.jboss.classfilewriter.code.StackState
-
public class StackState extends java.lang.Object
In immutable stack state, which may be shared between frames
-
-
Field Summary
Fields Modifier and Type Field Description private ConstPool
constPool
private java.util.List<StackEntry>
contents
The contents of the stack
-
Constructor Summary
Constructors Modifier Constructor Description StackState(java.lang.String exceptionType, ConstPool constPool)
private
StackState(java.util.List<StackEntry> contents, ConstPool constPool)
StackState(ConstPool constPool)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StackState
aconstNull()
StackState
constructorCall(int initializedValueStackPosition, StackEntry entry)
StackState
dup()
StackState
dup2()
StackState
dup2X1()
StackState
dup2X2()
StackState
dupX1()
StackState
dupX2()
java.util.List<StackEntry>
getContents()
boolean
isOnTop(java.lang.String descriptor)
checks that the appropriate object type is on top of the stackprivate StackState
newStack(StackEntry... pushValues)
StackState
pop(int no)
pop a non-wide type from the top of the stackStackState
push(java.lang.String type)
push a type on to the top of the stackStackState
push(StackEntry entry)
push a type on to the top of the stackint
size()
StackState
swap()
StackEntry
top()
StackEntry
top_1()
StackEntry
top_2()
StackEntry
top_3()
java.lang.String
toString()
-
-
-
Field Detail
-
contents
private final java.util.List<StackEntry> contents
The contents of the stackThis list may be shared between frames, so it must never be modified
The very first element represents the bottom of the stack, with the last element representing the top. Wide elements are stored as Wide, Top, with the
StackEntryType.TOP
on the top of the stack
-
constPool
private final ConstPool constPool
-
-
Constructor Detail
-
StackState
public StackState(ConstPool constPool)
-
StackState
public StackState(java.lang.String exceptionType, ConstPool constPool)
-
StackState
private StackState(java.util.List<StackEntry> contents, ConstPool constPool)
-
-
Method Detail
-
isOnTop
public boolean isOnTop(java.lang.String descriptor)
checks that the appropriate object type is on top of the stack
-
size
public int size()
-
push
public StackState push(java.lang.String type)
push a type on to the top of the stack
-
push
public StackState push(StackEntry entry)
push a type on to the top of the stack
-
aconstNull
public StackState aconstNull()
-
pop
public StackState pop(int no)
pop a non-wide type from the top of the stack
-
dup
public StackState dup()
-
dupX1
public StackState dupX1()
-
dupX2
public StackState dupX2()
-
dup2
public StackState dup2()
-
dup2X1
public StackState dup2X1()
-
dup2X2
public StackState dup2X2()
-
newStack
private StackState newStack(StackEntry... pushValues)
-
top
public StackEntry top()
-
top_1
public StackEntry top_1()
-
top_2
public StackEntry top_2()
-
top_3
public StackEntry top_3()
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
getContents
public java.util.List<StackEntry> getContents()
-
constructorCall
public StackState constructorCall(int initializedValueStackPosition, StackEntry entry)
-
swap
public StackState swap()
-
-