All Packages  Class Hierarchy  This Package  Previous  Next  Index

Class de.fub.bytecode.classfile.ConstantPool

java.lang.Object
   |
   +----de.fub.bytecode.classfile.ConstantPool

public class ConstantPool
extends Object
implements Constants, Cloneable
This class represents the constant pool, i.e. a table of constants. It may contain null references, due to the JVM specification that skips an entry after an 8-byte constant (double, long) entry.

Version:
$Id: ConstantPool.java,v 1.7 1999/09/13 08:38:34 dahm Exp $
Author:
M. Dahm
See Also:
Constant

Constructor Index

 o ConstantPool(Constant[])

Method Index

 o accept(Visitor)
Called by objects that are traversing the nodes of the tree implicitely defined by the contents of a Java class.
 o constantToString(Constant)
Resolve constant to a string representation.
 o constantToString(int, byte)
Retrieve constant at `index' from constant pool and resolve it to a string representation.
 o copy()
 o dump(DataOutputStream)
Dump constant pool to file stream in binary format.
 o getConstant(int)
Get constant from constant pool.
 o getConstant(int, byte)
Get constant from constant pool and check whether it has the expected type.
 o getConstantPool()
 o getConstantString(int, byte)
Get string from constant pool and bypass the indirection of `ConstantClass' and `ConstantString' objects.
 o getLength()
 o setConstant(int, Constant)
 o setConstantPool(Constant[])
 o toString()

Constructors

 o ConstantPool
 public ConstantPool(Constant constant_pool[])
Parameters:
constant_pool - Array of constants

Methods

 o 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.

Parameters:
v - Visitor object
 o constantToString
 public String constantToString(Constant c) throws ClassFormatError
Resolve constant to a string representation.

Parameters:
constant - Constant to be printed
Returns:
String representation
 o constantToString
 public String constantToString(int index,
                                byte tag) throws ClassFormatError
Retrieve constant at `index' from constant pool and resolve it to a string representation.

Parameters:
index - of constant in constant pool
tag - expected type
Returns:
String representation
 o dump
 public void dump(DataOutputStream file) throws IOException
Dump constant pool to file stream in binary format.

Parameters:
file - Output file stream
 o getConstant
 public Constant getConstant(int index)
Get constant from constant pool.

Parameters:
index - Index in constant pool
Returns:
Constant value
See Also:
Constant
 o getConstant
 public Constant getConstant(int index,
                             byte tag) throws ClassFormatError
Get constant from constant pool and check whether it has the expected type.

Parameters:
index - Index in constant pool
tag - Tag of expected constant, i.e. its type
Returns:
Constant value
See Also:
Constant
 o getConstantPool
 public Constant[] getConstantPool()
Returns:
Array of constants.
See Also:
Constant
 o getConstantString
 public String getConstantString(int index,
                                 byte tag) throws ClassFormatError
Get string from constant pool and bypass the indirection of `ConstantClass' and `ConstantString' objects. I.e. these classes have an index field that points to another entry of the constant pool of type `ConstantUtf8' which contains the real data.

Parameters:
index - Index in constant pool
tag - Tag of expected constant, either ConstantClass or ConstantString
Returns:
Contents of string reference
See Also:
ConstantClass, ConstantString
 o getLength
 public int getLength()
Returns:
Length of constant pool.
 o setConstant
 public void setConstant(int index,
                         Constant constant)
Parameters:
constant - Constant to set
 o setConstantPool
 public void setConstantPool(Constant constant_pool[])
 o toString
 public String toString()
Returns:
String representation.
Overrides:
toString in class Object
 o copy
 public ConstantPool copy()
Returns:
deep copy of this constant pool

All Packages  Class Hierarchy  This Package  Previous  Next  Index