Class StackMap

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

public final class StackMap extends Attribute
This class represents a stack map attribute used for preverification of Java classes for the Java 2 Micro Edition (J2ME). This attribute is used by the KVM and contained within the Code attribute of a method. See CLDC specification �5.3.1.2
 StackMapTable_attribute {
   u2              attribute_name_index;
   u4              attribute_length;
   u2              number_of_entries;
   stack_map_frame entries[number_of_entries];
 }
 
See Also:
  • Field Details

  • Constructor Details

    • StackMap

      StackMap(int nameIndex, int length, DataInput dataInput, ConstantPool constantPool) throws IOException
      Constructs object from input stream.
      Parameters:
      nameIndex - Index of name
      length - Content length in bytes
      dataInput - Input stream
      constantPool - Array of constants
      Throws:
      IOException - if an I/O error occurs.
    • StackMap

      public StackMap(int nameIndex, int length, StackMapEntry[] table, ConstantPool constantPool)
  • 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
      Specified by:
      accept in class Attribute
      Parameters:
      v - Visitor object
    • copy

      public Attribute copy(ConstantPool constantPool)
      Specified by:
      copy in class Attribute
      Parameters:
      constantPool - constant pool to save.
      Returns:
      deep copy of this attribute
    • dump

      public void dump(DataOutputStream file) throws IOException
      Dump stack map table attribute to file stream in binary format.
      Overrides:
      dump in class Attribute
      Parameters:
      file - Output file stream
      Throws:
      IOException - if an I/O error occurs.
    • getMapLength

      public int getMapLength()
    • getStackMap

      public StackMapEntry[] getStackMap()
      Returns:
      Array of stack map entries
    • setStackMap

      public void setStackMap(StackMapEntry[] table)
      Parameters:
      table - Array of stack map entries
    • toString

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