Class StackMapType

java.lang.Object
org.apache.bcel.classfile.StackMapType
All Implemented Interfaces:
Cloneable

public final class StackMapType extends Object implements Cloneable
This class represents the type of a local variable or item on stack used in the StackMap entries.
See Also:
  • Field Details

    • EMPTY_ARRAY

      public static final StackMapType[] EMPTY_ARRAY
    • type

      private byte type
    • index

      private int index
    • constantPool

      private ConstantPool constantPool
  • Constructor Details

    • StackMapType

      public StackMapType(byte type, int index, ConstantPool constantPool)
      Parameters:
      type - type tag as defined in the Constants interface
      index - index to constant pool, or byte code offset
    • StackMapType

      StackMapType(DataInput file, ConstantPool constantPool) throws IOException
      Construct object from file stream.
      Parameters:
      file - Input stream
      Throws:
      IOException - if an I/O error occurs.
  • Method Details

    • checkType

      private byte checkType(byte type)
    • copy

      public StackMapType copy()
      Returns:
      deep copy of this object
    • dump

      public void dump(DataOutputStream file) throws IOException
      Dump type entries to file.
      Parameters:
      file - Output file stream
      Throws:
      IOException - if an I/O error occurs.
    • getConstantPool

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

      public int getIndex()
      Returns:
      index to constant pool if type == ITEM_Object, or offset in byte code, if type == ITEM_NewObject, and -1 otherwise
    • getType

      public byte getType()
    • hasIndex

      public boolean hasIndex()
      Returns:
      true, if type is either ITEM_Object or ITEM_NewObject
    • printIndex

      private String printIndex()
    • setConstantPool

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

      public void setIndex(int index)
    • setType

      public void setType(byte type)
    • toString

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