classfilewriter 1.0.0.Final

org.jboss.classfilewriter.code
Class StackFrame

java.lang.Object
  extended by org.jboss.classfilewriter.code.StackFrame

public class StackFrame
extends Object

Represents a stack frame in the virtual machine. Holds the state of the local variable array and the stack

Author:
Stuart Douglas

Constructor Summary
StackFrame(ClassMethod method)
          Creates the initial stack frame
StackFrame(StackState stackState, LocalVariableState localVariableState, StackFrameType type)
           
 
Method Summary
 StackFrame aconstNull()
          pushes a null type onto the stack
 StackFrame constructorCall(int initializedValueStackPosition)
          marks the value in potition initializedValueStackPosition as initialized.
 StackFrame dup()
           
 StackFrame dup2()
           
 StackFrame dup2X1()
           
 StackFrame dup2X2()
           
 StackFrame dupX1()
           
 StackFrame dupX2()
           
 LocalVariableState getLocalVariableState()
           
 StackState getStackState()
           
 StackFrameType getType()
           
 StackFrame pop()
          pops an operand from the stack
 StackFrame pop(int no)
           
 StackFrame pop2()
          pops 2 operands from the stack
 StackFrame pop2push1(String type)
          remote the top two operands and replace them with an different operand
 StackFrame pop3()
          pops 3 operands from the stack
 StackFrame pop4()
          pops 4 operands from the stack
 StackFrame pop4push1(String type)
          remote the top two operands and replace them with an different operand
 StackFrame push(StackEntry entry)
          push an operand of the given type onto the stack.
 StackFrame push(String type)
          push an operand of the given type onto the stack
 StackFrame replace(String type)
          replace the operand at the top of the stack with the given operand
 StackFrame store(int no)
          Store the variable on top of the stack into a local variable, poping the variable from the stack.
 StackFrame swap()
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

StackFrame

public StackFrame(ClassMethod method)
Creates the initial stack frame


StackFrame

public StackFrame(StackState stackState,
                  LocalVariableState localVariableState,
                  StackFrameType type)
Method Detail

getStackState

public StackState getStackState()

getLocalVariableState

public LocalVariableState getLocalVariableState()

push

public StackFrame push(String type)
push an operand of the given type onto the stack

If the entry is wide then a corresponding TOP type will be created


push

public StackFrame push(StackEntry entry)
push an operand of the given type onto the stack.

If the entry is wide then a corresponding TOP type will be created


aconstNull

public StackFrame aconstNull()
pushes a null type onto the stack

Returns:

pop

public StackFrame pop(int no)

pop

public StackFrame pop()
pops an operand from the stack


pop2

public StackFrame pop2()
pops 2 operands from the stack


pop3

public StackFrame pop3()
pops 3 operands from the stack


pop4

public StackFrame pop4()
pops 4 operands from the stack


replace

public StackFrame replace(String type)
replace the operand at the top of the stack with the given operand


dup

public StackFrame dup()

dupX1

public StackFrame dupX1()

dupX2

public StackFrame dupX2()

dup2

public StackFrame dup2()

dup2X1

public StackFrame dup2X1()

dup2X2

public StackFrame dup2X2()

store

public StackFrame store(int no)
Store the variable on top of the stack into a local variable, poping the variable from the stack. Wide types are handled automatically


pop2push1

public StackFrame pop2push1(String type)
remote the top two operands and replace them with an different operand


pop4push1

public StackFrame pop4push1(String type)
remote the top two operands and replace them with an different operand


toString

public String toString()
Overrides:
toString in class Object

constructorCall

public StackFrame constructorCall(int initializedValueStackPosition)
marks the value in potition initializedValueStackPosition as initialized. This also pops this value and everything above it


swap

public StackFrame swap()

getType

public StackFrameType getType()

classfilewriter 1.0.0.Final

Copyright © 2011 JBoss, a division of Red Hat, Inc.. All Rights Reserved.