Class StackMap

  • All Implemented Interfaces:
    java.lang.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:
    Code, StackMapEntry, StackMapType
    • Constructor Detail

      • StackMap

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

      • 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​(java.io.DataOutputStream file)
                  throws java.io.IOException
        Dump stack map table attribute to file stream in binary format.
        Overrides:
        dump in class Attribute
        Parameters:
        file - Output file stream
        Throws:
        java.io.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 java.lang.String toString()
        Overrides:
        toString in class Attribute
        Returns:
        String representation.