Package org.htmlunit.corejs.classfile
Class ConstantPool
- java.lang.Object
-
- org.htmlunit.corejs.classfile.ConstantPool
-
final class ConstantPool extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description private ClassFileWritercfw(package private) static byteCONSTANT_Class(package private) static byteCONSTANT_Double(package private) static byteCONSTANT_Fieldref(package private) static byteCONSTANT_Float(package private) static byteCONSTANT_Integer(package private) static byteCONSTANT_InterfaceMethodref(package private) static byteCONSTANT_InvokeDynamic(package private) static byteCONSTANT_Long(package private) static byteCONSTANT_MethodHandle(package private) static byteCONSTANT_Methodref(package private) static byteCONSTANT_MethodType(package private) static byteCONSTANT_NameAndType(package private) static byteCONSTANT_String(package private) static byteCONSTANT_Utf8private static intConstantPoolSizeprivate ObjToIntMapitsClassHashprivate UintMapitsConstantDataprivate ObjToIntMapitsConstantHashprivate ObjToIntMapitsFieldRefHashprivate ObjToIntMapitsMethodRefHashprivate byte[]itsPoolprivate UintMapitsPoolTypesprivate UintMapitsStringConstHashprivate intitsTopprivate intitsTopIndexprivate ObjToIntMapitsUtf8Hashprivate static intMAX_UTF_ENCODING_SIZE
-
Constructor Summary
Constructors Constructor Description ConstantPool(ClassFileWriter cfw)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) shortaddClass(java.lang.String className)(package private) intaddConstant(double k)(package private) intaddConstant(float k)(package private) intaddConstant(int k)(package private) intaddConstant(long k)(package private) intaddConstant(java.lang.Object value)(package private) intaddConstant(java.lang.String k)(package private) shortaddFieldRef(java.lang.String className, java.lang.String fieldName, java.lang.String fieldType)(package private) shortaddInterfaceMethodRef(java.lang.String className, java.lang.String methodName, java.lang.String methodType)(package private) shortaddInvokeDynamic(java.lang.String methodName, java.lang.String methodType, int bootstrapIndex)(package private) shortaddMethodHandle(ClassFileWriter.MHandle mh)(package private) shortaddMethodRef(java.lang.String className, java.lang.String methodName, java.lang.String methodType)private shortaddNameAndType(java.lang.String name, java.lang.String type)(package private) shortaddUtf8(java.lang.String k)private voidensure(int howMuch)(package private) java.lang.ObjectgetConstantData(int index)(package private) bytegetConstantType(int index)(package private) intgetUtfEncodingLimit(java.lang.String s, int start, int end)Get maximum i such thatstart <= i <= endands.substring(start, i)fits JVM UTF string encoding limit.(package private) intgetWriteSize()(package private) booleanisUnderUtfEncodingLimit(java.lang.String s)(package private) voidsetConstantData(int index, java.lang.Object data)(package private) intwrite(byte[] data, int offset)
-
-
-
Field Detail
-
ConstantPoolSize
private static final int ConstantPoolSize
- See Also:
- Constant Field Values
-
CONSTANT_Class
static final byte CONSTANT_Class
- See Also:
- Constant Field Values
-
CONSTANT_Fieldref
static final byte CONSTANT_Fieldref
- See Also:
- Constant Field Values
-
CONSTANT_Methodref
static final byte CONSTANT_Methodref
- See Also:
- Constant Field Values
-
CONSTANT_InterfaceMethodref
static final byte CONSTANT_InterfaceMethodref
- See Also:
- Constant Field Values
-
CONSTANT_String
static final byte CONSTANT_String
- See Also:
- Constant Field Values
-
CONSTANT_Integer
static final byte CONSTANT_Integer
- See Also:
- Constant Field Values
-
CONSTANT_Float
static final byte CONSTANT_Float
- See Also:
- Constant Field Values
-
CONSTANT_Long
static final byte CONSTANT_Long
- See Also:
- Constant Field Values
-
CONSTANT_Double
static final byte CONSTANT_Double
- See Also:
- Constant Field Values
-
CONSTANT_NameAndType
static final byte CONSTANT_NameAndType
- See Also:
- Constant Field Values
-
CONSTANT_Utf8
static final byte CONSTANT_Utf8
- See Also:
- Constant Field Values
-
CONSTANT_MethodType
static final byte CONSTANT_MethodType
- See Also:
- Constant Field Values
-
CONSTANT_MethodHandle
static final byte CONSTANT_MethodHandle
- See Also:
- Constant Field Values
-
CONSTANT_InvokeDynamic
static final byte CONSTANT_InvokeDynamic
- See Also:
- Constant Field Values
-
cfw
private ClassFileWriter cfw
-
MAX_UTF_ENCODING_SIZE
private static final int MAX_UTF_ENCODING_SIZE
- See Also:
- Constant Field Values
-
itsStringConstHash
private UintMap itsStringConstHash
-
itsUtf8Hash
private ObjToIntMap itsUtf8Hash
-
itsFieldRefHash
private ObjToIntMap itsFieldRefHash
-
itsMethodRefHash
private ObjToIntMap itsMethodRefHash
-
itsClassHash
private ObjToIntMap itsClassHash
-
itsConstantHash
private ObjToIntMap itsConstantHash
-
itsTop
private int itsTop
-
itsTopIndex
private int itsTopIndex
-
itsConstantData
private UintMap itsConstantData
-
itsPoolTypes
private UintMap itsPoolTypes
-
itsPool
private byte[] itsPool
-
-
Constructor Detail
-
ConstantPool
ConstantPool(ClassFileWriter cfw)
-
-
Method Detail
-
write
int write(byte[] data, int offset)
-
getWriteSize
int getWriteSize()
-
addConstant
int addConstant(int k)
-
addConstant
int addConstant(long k)
-
addConstant
int addConstant(float k)
-
addConstant
int addConstant(double k)
-
addConstant
int addConstant(java.lang.String k)
-
addConstant
int addConstant(java.lang.Object value)
-
isUnderUtfEncodingLimit
boolean isUnderUtfEncodingLimit(java.lang.String s)
-
getUtfEncodingLimit
int getUtfEncodingLimit(java.lang.String s, int start, int end)Get maximum i such thatstart <= i <= endands.substring(start, i)fits JVM UTF string encoding limit.
-
addUtf8
short addUtf8(java.lang.String k)
-
addNameAndType
private short addNameAndType(java.lang.String name, java.lang.String type)
-
addClass
short addClass(java.lang.String className)
-
addFieldRef
short addFieldRef(java.lang.String className, java.lang.String fieldName, java.lang.String fieldType)
-
addMethodRef
short addMethodRef(java.lang.String className, java.lang.String methodName, java.lang.String methodType)
-
addInterfaceMethodRef
short addInterfaceMethodRef(java.lang.String className, java.lang.String methodName, java.lang.String methodType)
-
addInvokeDynamic
short addInvokeDynamic(java.lang.String methodName, java.lang.String methodType, int bootstrapIndex)
-
addMethodHandle
short addMethodHandle(ClassFileWriter.MHandle mh)
-
getConstantData
java.lang.Object getConstantData(int index)
-
setConstantData
void setConstantData(int index, java.lang.Object data)
-
getConstantType
byte getConstantType(int index)
-
ensure
private void ensure(int howMuch)
-
-