org.apache.bcel.classfile
Class StackMap

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

public final class StackMap
extends Attribute
implements Node

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

Version:
$Id: StackMap.java 386056 2006-03-15 11:31:56Z tcurdt $
Author:
M. Dahm
See Also:
Code, StackMapEntry, StackMapType, Serialized Form

Field Summary
private  StackMapEntry[] map
           
private  int map_length
           
 
Fields inherited from class org.apache.bcel.classfile.Attribute
constant_pool, length, name_index, tag
 
Constructor Summary
StackMap(int name_index, int length, java.io.DataInputStream file, ConstantPool constant_pool)
          Construct object from file stream.
StackMap(int name_index, int length, StackMapEntry[] map, ConstantPool constant_pool)
           
 
Method Summary
 void accept(Visitor v)
          Called by objects that are traversing the nodes of the tree implicitely defined by the contents of a Java class.
 Attribute copy(ConstantPool _constant_pool)
           
 void dump(java.io.DataOutputStream file)
          Dump line number table attribute to file stream in binary format.
 int getMapLength()
           
 StackMapEntry[] getStackMap()
           
 void setStackMap(StackMapEntry[] map)
           
 java.lang.String toString()
           
 
Methods inherited from class org.apache.bcel.classfile.Attribute
addAttributeReader, clone, getConstantPool, getLength, getNameIndex, getTag, readAttribute, removeAttributeReader, setConstantPool, setLength, setNameIndex
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

map_length

private int map_length

map

private StackMapEntry[] map
Constructor Detail

StackMap

public StackMap(int name_index,
                int length,
                StackMapEntry[] map,
                ConstantPool constant_pool)

StackMap

StackMap(int name_index,
         int length,
         java.io.DataInputStream file,
         ConstantPool constant_pool)
   throws java.io.IOException
Construct object from file stream.

Parameters:
name_index - Index of name
length - Content length in bytes
file - Input stream
constant_pool - Array of constants
Throws:
java.io.IOException
Method Detail

dump

public final void dump(java.io.DataOutputStream file)
                throws java.io.IOException
Dump line number table attribute to file stream in binary format.

Overrides:
dump in class Attribute
Parameters:
file - Output file stream
Throws:
java.io.IOException

getStackMap

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

setStackMap

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

toString

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

copy

public Attribute copy(ConstantPool _constant_pool)
Specified by:
copy in class Attribute
Returns:
deep copy of this attribute

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
Specified by:
accept in class Attribute
Parameters:
v - Visitor object

getMapLength

public final int getMapLength()