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 ClassFileWriter
cfw
(package private) static byte
CONSTANT_Class
(package private) static byte
CONSTANT_Double
(package private) static byte
CONSTANT_Fieldref
(package private) static byte
CONSTANT_Float
(package private) static byte
CONSTANT_Integer
(package private) static byte
CONSTANT_InterfaceMethodref
(package private) static byte
CONSTANT_InvokeDynamic
(package private) static byte
CONSTANT_Long
(package private) static byte
CONSTANT_MethodHandle
(package private) static byte
CONSTANT_Methodref
(package private) static byte
CONSTANT_MethodType
(package private) static byte
CONSTANT_NameAndType
(package private) static byte
CONSTANT_String
(package private) static byte
CONSTANT_Utf8
private static int
ConstantPoolSize
private ObjToIntMap
itsClassHash
private UintMap
itsConstantData
private ObjToIntMap
itsConstantHash
private ObjToIntMap
itsFieldRefHash
private ObjToIntMap
itsMethodRefHash
private byte[]
itsPool
private UintMap
itsPoolTypes
private UintMap
itsStringConstHash
private int
itsTop
private int
itsTopIndex
private ObjToIntMap
itsUtf8Hash
private static int
MAX_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) short
addClass(java.lang.String className)
(package private) int
addConstant(double k)
(package private) int
addConstant(float k)
(package private) int
addConstant(int k)
(package private) int
addConstant(long k)
(package private) int
addConstant(java.lang.Object value)
(package private) int
addConstant(java.lang.String k)
(package private) short
addFieldRef(java.lang.String className, java.lang.String fieldName, java.lang.String fieldType)
(package private) short
addInterfaceMethodRef(java.lang.String className, java.lang.String methodName, java.lang.String methodType)
(package private) short
addInvokeDynamic(java.lang.String methodName, java.lang.String methodType, int bootstrapIndex)
(package private) short
addMethodHandle(ClassFileWriter.MHandle mh)
(package private) short
addMethodRef(java.lang.String className, java.lang.String methodName, java.lang.String methodType)
private short
addNameAndType(java.lang.String name, java.lang.String type)
(package private) short
addUtf8(java.lang.String k)
private void
ensure(int howMuch)
(package private) java.lang.Object
getConstantData(int index)
(package private) byte
getConstantType(int index)
(package private) int
getUtfEncodingLimit(java.lang.String s, int start, int end)
Get maximum i such thatstart <= i <= end
ands.substring(start, i)
fits JVM UTF string encoding limit.(package private) int
getWriteSize()
(package private) boolean
isUnderUtfEncodingLimit(java.lang.String s)
(package private) void
setConstantData(int index, java.lang.Object data)
(package private) int
write(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 <= end
ands.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)
-
-