org.apache.tools.ant.taskdefs.optional.depend.constantpool
Class ConstantPool
java.lang.Object
org.apache.tools.ant.taskdefs.optional.depend.constantpool.ConstantPool
public class ConstantPool
extends java.lang.Object
The constant pool of a Java class. The constant pool is a collection of
constants used in a Java class file. It stores strings, constant values,
class names, method names, field names etc.
int | addEntry(ConstantPoolEntry entry) - Add an entry to the constant pool.
|
int | getClassEntry(String className) - Get the index of a given CONSTANT_CLASS entry in the constant pool.
|
int | getConstantEntry(Object constantValue) - Get the index of a given constant value entry in the constant pool.
|
ConstantPoolEntry | getEntry(int index) - Get an constant pool entry at a particular index.
|
int | getFieldRefEntry(String fieldClassName, String fieldName, String fieldType) - Get the index of a given CONSTANT_FIELDREF entry in the constant
pool.
|
int | getInterfaceMethodRefEntry(String interfaceMethodClassName, String interfaceMethodName, String interfaceMethodType) - Get the index of a given CONSTANT_INTERFACEMETHODREF entry in the
constant pool.
|
int | getMethodRefEntry(String methodClassName, String methodName, String methodType) - Get the index of a given CONSTANT_METHODREF entry in the constant
pool.
|
int | getNameAndTypeEntry(String name, String type) - Get the index of a given CONSTANT_NAMEANDTYPE entry in the constant
pool.
|
int | getUTF8Entry(String value) - Get the index of a given UTF8 constant pool entry.
|
void | read(DataInputStream classStream) - Read the constant pool from a class input stream.
|
void | resolve() - Resolve the entries in the constant pool.
|
int | size() - Get the size of the constant pool.
|
String | toString() - Dump the constant pool to a string.
|
ConstantPool
public ConstantPool()
Initialise the constant pool.
addEntry
public int addEntry(ConstantPoolEntry entry)
Add an entry to the constant pool.
entry
- the new entry to be added to the constant pool.
- the index into the constant pool at which the entry is
stored.
getClassEntry
public int getClassEntry(String className)
Get the index of a given CONSTANT_CLASS entry in the constant pool.
className
- the name of the class for which the class entry
index is required.
- the index at which the given class entry occurs in the
constant pool or -1 if the value does not occur.
getConstantEntry
public int getConstantEntry(Object constantValue)
Get the index of a given constant value entry in the constant pool.
constantValue
- the constant value for which the index is
required.
- the index at which the given value entry occurs in the
constant pool or -1 if the value does not occur.
getEntry
public ConstantPoolEntry getEntry(int index)
Get an constant pool entry at a particular index.
index
- the index into the constant pool.
- the constant pool entry at that index.
getFieldRefEntry
public int getFieldRefEntry(String fieldClassName,
String fieldName,
String fieldType)
Get the index of a given CONSTANT_FIELDREF entry in the constant
pool.
fieldClassName
- the name of the class which contains the field
being referenced.fieldName
- the name of the field being referenced.fieldType
- the type descriptor of the field being referenced.
- the index at which the given field ref entry occurs in the
constant pool or -1 if the value does not occur.
getInterfaceMethodRefEntry
public int getInterfaceMethodRefEntry(String interfaceMethodClassName,
String interfaceMethodName,
String interfaceMethodType)
Get the index of a given CONSTANT_INTERFACEMETHODREF entry in the
constant pool.
interfaceMethodClassName
- the name of the interface which
contains the method being referenced.interfaceMethodName
- the name of the method being referenced.interfaceMethodType
- the type descriptor of the method being
referenced.
- the index at which the given method ref entry occurs in the
constant pool or -1 if the value does not occur.
getMethodRefEntry
public int getMethodRefEntry(String methodClassName,
String methodName,
String methodType)
Get the index of a given CONSTANT_METHODREF entry in the constant
pool.
methodClassName
- the name of the class which contains the
method being referenced.methodName
- the name of the method being referenced.methodType
- the type descriptor of the method being referenced.
- the index at which the given method ref entry occurs in the
constant pool or -1 if the value does not occur.
getNameAndTypeEntry
public int getNameAndTypeEntry(String name,
String type)
Get the index of a given CONSTANT_NAMEANDTYPE entry in the constant
pool.
name
- the nametype
- the type
- the index at which the given NameAndType entry occurs in the
constant pool or -1 if the value does not occur.
getUTF8Entry
public int getUTF8Entry(String value)
Get the index of a given UTF8 constant pool entry.
value
- the string value of the UTF8 entry.
- the index at which the given string occurs in the constant
pool or -1 if the value does not occur.
read
public void read(DataInputStream classStream)
throws IOException
Read the constant pool from a class input stream.
classStream
- the DataInputStream of a class file.
resolve
public void resolve()
Resolve the entries in the constant pool. Resolution of the constant
pool involves transforming indexes to other constant pool entries
into the actual data for that entry.
size
public int size()
Get the size of the constant pool.
- the size of the constant pool
toString
public String toString()
Dump the constant pool to a string.
- the constant pool entries as strings