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
-
ConstantPool(Constant[])
-
-
accept(Visitor)
- Called by objects that are traversing the nodes of the tree implicitely
defined by the contents of a Java class.
-
constantToString(Constant)
- Resolve constant to a string representation.
-
constantToString(int, byte)
- Retrieve constant at `index' from constant pool and resolve it to
a string representation.
-
copy()
-
-
dump(DataOutputStream)
-
Dump constant pool to file stream in binary format.
-
getConstant(int)
- Get constant from constant pool.
-
getConstant(int, byte)
- Get constant from constant pool and check whether it has the
expected type.
-
getConstantPool()
-
-
getConstantString(int, byte)
- Get string from constant pool and bypass the indirection of
`ConstantClass' and `ConstantString' objects.
-
getLength()
-
-
setConstant(int, Constant)
-
-
setConstantPool(Constant[])
-
-
toString()
-
ConstantPool
public ConstantPool(Constant constant_pool[])
- Parameters:
- constant_pool - Array of constants
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
constantToString
public String constantToString(Constant c) throws ClassFormatError
- Resolve constant to a string representation.
- Parameters:
- constant - Constant to be printed
- Returns:
- String representation
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
dump
public void dump(DataOutputStream file) throws IOException
- Dump constant pool to file stream in binary format.
- Parameters:
- file - Output file stream
getConstant
public Constant getConstant(int index)
- Get constant from constant pool.
- Parameters:
- index - Index in constant pool
- Returns:
- Constant value
- See Also:
- Constant
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
getConstantPool
public Constant[] getConstantPool()
- Returns:
- Array of constants.
- See Also:
- Constant
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
getLength
public int getLength()
- Returns:
- Length of constant pool.
setConstant
public void setConstant(int index,
Constant constant)
- Parameters:
- constant - Constant to set
setConstantPool
public void setConstantPool(Constant constant_pool[])
toString
public String toString()
- Returns:
- String representation.
- Overrides:
- toString in class Object
copy
public ConstantPool copy()
- Returns:
- deep copy of this constant pool
All Packages Class Hierarchy This Package Previous Next Index