Class StackMapEntry

java.lang.Object
org.apache.bcel.classfile.StackMapEntry
All Implemented Interfaces:
Cloneable, Node

public final class StackMapEntry extends Object implements Node, Cloneable
This class represents a stack map entry recording the types of local variables and the the of stack items at a given byte code offset. See CLDC specification 5.3.1.2
See Also:
  • Field Details

    • frame_type

      private int frame_type
    • byte_code_offset

      private int byte_code_offset
    • types_of_locals

      private StackMapType[] types_of_locals
    • types_of_stack_items

      private StackMapType[] types_of_stack_items
    • constant_pool

      private ConstantPool constant_pool
  • Constructor Details

  • Method Details

    • dump

      public void dump(DataOutputStream file) throws IOException
      Dump stack map entry
      Parameters:
      file - Output file stream
      Throws:
      IOException
    • toString

      public String toString()
      Overrides:
      toString in class Object
      Returns:
      String representation.
    • getMapEntrySize

      int getMapEntrySize()
      Calculate stack map entry size
    • setFrameType

      public void setFrameType(int f)
    • getFrameType

      public int getFrameType()
    • setByteCodeOffset

      public void setByteCodeOffset(int new_offset)
    • updateByteCodeOffset

      public void updateByteCodeOffset(int delta)
      Update the distance (as an offset delta) from this StackMap entry to the next. Note that this might cause the the frame type to change. Note also that delta may be negative.
      Parameters:
      delta - offset delta
    • getByteCodeOffset

      public int getByteCodeOffset()
    • setNumberOfLocals

      @Deprecated public void setNumberOfLocals(int n)
      Deprecated.
      since 6.0
    • getNumberOfLocals

      public int getNumberOfLocals()
    • setTypesOfLocals

      public void setTypesOfLocals(StackMapType[] types)
    • getTypesOfLocals

      public StackMapType[] getTypesOfLocals()
    • setNumberOfStackItems

      @Deprecated public void setNumberOfStackItems(int n)
      Deprecated.
      since 6.0
    • getNumberOfStackItems

      public int getNumberOfStackItems()
    • setTypesOfStackItems

      public void setTypesOfStackItems(StackMapType[] types)
    • getTypesOfStackItems

      public StackMapType[] getTypesOfStackItems()
    • copy

      public StackMapEntry copy()
      Returns:
      deep copy of this object
    • accept

      public void accept(Visitor v)
      Called by objects that are traversing the nodes of the tree implicitely defined by the contents of a Java class. I.e., the hierarchy of methods, fields, attributes, etc. spawns a tree of objects.
      Specified by:
      accept in interface Node
      Parameters:
      v - Visitor object
    • getConstantPool

      public ConstantPool getConstantPool()
      Returns:
      Constant pool used by this object.
    • setConstantPool

      public void setConstantPool(ConstantPool constant_pool)
      Parameters:
      constant_pool - Constant pool to be used for this object.