|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--de.fub.bytecode.classfile.ConstantPool
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.
Constant
Constructor Summary | |
ConstantPool(Constant[] 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. |
java.lang.String |
constantToString(Constant c)
Resolve constant to a string representation. |
java.lang.String |
constantToString(int index,
byte tag)
Retrieve constant at `index' from constant pool and resolve it to a string representation. |
ConstantPool |
copy()
|
void |
dump(java.io.DataOutputStream file)
Dump constant pool to file stream in binary format. |
Constant |
getConstant(int index)
Get constant from constant pool. |
Constant |
getConstant(int index,
byte tag)
Get constant from constant pool and check whether it has the expected type. |
Constant[] |
getConstantPool()
|
java.lang.String |
getConstantString(int index,
byte tag)
Get string from constant pool and bypass the indirection of `ConstantClass' and `ConstantString' objects. |
int |
getLength()
|
void |
setConstant(int index,
Constant constant)
|
void |
setConstantPool(Constant[] constant_pool)
|
java.lang.String |
toString()
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
public ConstantPool(Constant[] constant_pool)
constant_pool
- Array of constantsMethod Detail |
public void accept(Visitor v)
accept
in interface Node
v
- Visitor objectpublic java.lang.String constantToString(Constant c) throws java.lang.ClassFormatError
constant
- Constant to be printedpublic java.lang.String constantToString(int index, byte tag) throws java.lang.ClassFormatError
index
- of constant in constant pooltag
- expected typepublic void dump(java.io.DataOutputStream file) throws java.io.IOException
file
- Output file streampublic Constant getConstant(int index)
index
- Index in constant poolConstant
public Constant getConstant(int index, byte tag) throws java.lang.ClassFormatError
index
- Index in constant pooltag
- Tag of expected constant, i.e., its typeConstant
public Constant[] getConstantPool()
Constant
public java.lang.String getConstantString(int index, byte tag) throws java.lang.ClassFormatError
index
- Index in constant pooltag
- Tag of expected constant, either ConstantClass or ConstantStringConstantClass
,
ConstantString
public int getLength()
public void setConstant(int index, Constant constant)
constant
- Constant to setpublic void setConstantPool(Constant[] constant_pool)
constant_pool
- public java.lang.String toString()
toString
in class java.lang.Object
public ConstantPool copy()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |