gnu.bytecode

Class ConstantPool


public class ConstantPool
extends java.lang.Object

Manages a pool of constants, as used in .class files and Java interpreters.

Field Summary

static byte
CLASS
static byte
DOUBLE
static byte
FIELDREF
static byte
FLOAT
static byte
INTEGER
static byte
INTERFACE_METHODREF
static byte
LONG
static byte
METHODREF
static byte
NAME_AND_TYPE
static byte
STRING
static byte
UTF8

Constructor Summary

ConstantPool()
ConstantPool(java.io.DataInputStream dstr)

Method Summary

CpoolClass
addClass(String name)
CpoolClass
addClass(CpoolUtf8 name)
CpoolClass
addClass(ObjectType otype)
CpoolValue2
addDouble(double val)
CpoolRef
addFieldRef(Field field)
CpoolValue1
addFloat(float val)
CpoolValue1
addInt(int val)
CpoolValue2
addLong(long val)
CpoolRef
addMethodRef(Method method)
CpoolNameAndType
addNameAndType(CpoolUtf8 name, CpoolUtf8 type)
CpoolNameAndType
addNameAndType(Field field)
CpoolNameAndType
addNameAndType(Method method)
CpoolRef
addRef(int tag, CpoolClass clas, CpoolNameAndType nameAndType)
CpoolString
addString(String string)
CpoolString
addString(CpoolUtf8 str)
CpoolUtf8
addUtf8(String s)
int
getCount()
CpoolEntry
getPoolEntry(int index)
Get the index'th entry in pool.

Field Details

CLASS

public static final byte CLASS
Field Value:
7

DOUBLE

public static final byte DOUBLE
Field Value:
6

FIELDREF

public static final byte FIELDREF
Field Value:
9

FLOAT

public static final byte FLOAT
Field Value:
4

INTEGER

public static final byte INTEGER
Field Value:
3

INTERFACE_METHODREF

public static final byte INTERFACE_METHODREF
Field Value:
11

LONG

public static final byte LONG
Field Value:
5

METHODREF

public static final byte METHODREF
Field Value:
10

NAME_AND_TYPE

public static final byte NAME_AND_TYPE
Field Value:
12

STRING

public static final byte STRING
Field Value:
8

UTF8

public static final byte UTF8
Field Value:
1

Constructor Details

ConstantPool

public ConstantPool()

ConstantPool

public ConstantPool(java.io.DataInputStream dstr)
            throws java.io.IOException

Method Details

addClass

public CpoolClass addClass(String name)

addClass

public CpoolClass addClass(CpoolUtf8 name)

addClass

public CpoolClass addClass(ObjectType otype)

addDouble

public CpoolValue2 addDouble(double val)

addFieldRef

public CpoolRef addFieldRef(Field field)

addFloat

public CpoolValue1 addFloat(float val)

addInt

public CpoolValue1 addInt(int val)

addLong

public CpoolValue2 addLong(long val)

addMethodRef

public CpoolRef addMethodRef(Method method)

addNameAndType

public CpoolNameAndType addNameAndType(CpoolUtf8 name,
                                       CpoolUtf8 type)

addNameAndType

public CpoolNameAndType addNameAndType(Field field)

addNameAndType

public CpoolNameAndType addNameAndType(Method method)

addRef

public CpoolRef addRef(int tag,
                       CpoolClass clas,
                       CpoolNameAndType nameAndType)

addString

public final CpoolString addString(String string)

addString

public CpoolString addString(CpoolUtf8 str)

addUtf8

public CpoolUtf8 addUtf8(String s)

getCount

public final int getCount()

getPoolEntry

public final CpoolEntry getPoolEntry(int index)
Get the index'th entry in pool. Will throw ArrayIndexOutOfBoundsException on an invalid index