Class StackMapType

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

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

  • Constructor Details

    • StackMapType

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

    • accept

      public void accept(Visitor v)
      Called by objects that are traversing the nodes of the tree implicitly 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.
      Since:
      6.8.0
    • copy

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

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

      public String getClassName()
      Gets the class name of this StackMapType from the constant pool at index position.
      Returns:
      The fully qualified name of the class for this StackMapType.
      Since:
      6.8.0
    • getConstantPool

      Gets the constant pool.
      Returns:
      Constant pool used by this object.
    • getIndex

      public int getIndex()
      Gets the index.
      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()
      Gets the type.
      Returns:
      The type.
    • hasIndex

      public boolean hasIndex()
      Checks if this type has an index.
      Returns:
      true, if type is either ITEM_Object or ITEM_NewObject.
    • setConstantPool

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

      public void setIndex(int index)
      Sets the index.
      Parameters:
      index - The index.
    • setType

      public void setType(byte type)
      Sets the type.
      Parameters:
      type - The type.
    • toString

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