All Packages Class Hierarchy This Package Previous Next Index
Class DE.fub.inf.JVM.JavaClass.ConstantPool
java.lang.Object
|
+----DE.fub.inf.JVM.JavaClass.ConstantPool
- public final class ConstantPool
- extends Object
- implements Constants
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:
- 970918
- 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(short, byte)
- Retrieve constant at `index' from constant pool and resolve it to
a string representation.
-
dump(DataOutputStream)
-
Dump constant pool to file stream in binary format.
-
getConstant(short)
- Get constant from constant pool.
-
getConstant(short, byte)
- Get constant from constant pool and check whether it has the
expected type.
-
getConstantPool()
-
-
getConstantString(short, byte)
- Get string from constant pool and bypass the indirection of
`ConstantClass' and `ConstantString' objects.
-
getLength()
-
-
setConstant(short, 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(short 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 final Constant getConstant(short index)
- Get constant from constant pool.
- Parameters:
- index - Index in constant pool
- Returns:
- Constant value
- See Also:
- Constant
getConstant
public final Constant getConstant(short 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 final Constant[] getConstantPool()
- Returns:
- Array of constants.
- See Also:
- Constant
getConstantString
public final String getConstantString(short 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 final short getLength()
- Returns:
- Length of constant pool.
setConstant
public final void setConstant(short index,
Constant constant)
- Parameters:
- constant - Constant to set
setConstantPool
public final void setConstantPool(Constant constant_pool[])
toString
public final String toString()
- Returns:
- String representation.
- Overrides:
- toString in class Object
All Packages Class Hierarchy This Package Previous Next Index