public class ConstPool extends java.lang.Object implements WritableEntry
Modifier and Type | Class and Description |
---|---|
private static class |
ConstPool.MemberInfo |
private static class |
ConstPool.NameAndType |
Modifier and Type | Field and Description |
---|---|
private java.util.Map<java.lang.String,java.lang.Short> |
classLocations |
private short |
constPoolSize
The constant_pool_count field of the class file format
|
private short |
count |
private java.util.Map<java.lang.Double,java.lang.Short> |
doubleLocations |
private java.util.LinkedHashMap<java.lang.Short,ConstPoolEntry> |
entries |
private java.util.Map<ConstPool.MemberInfo,java.lang.Short> |
fieldLocations |
private java.util.Map<java.lang.Float,java.lang.Short> |
floatLocations |
private java.util.Map<java.lang.Integer,java.lang.Short> |
integerLocations |
private java.util.Map<ConstPool.MemberInfo,java.lang.Short> |
interfaceMethodLocations |
private java.util.Map<java.lang.Long,java.lang.Short> |
longLocations |
private java.util.Map<ConstPool.MemberInfo,java.lang.Short> |
methodLocations |
private java.util.Map<ConstPool.NameAndType,java.lang.Short> |
nameAndTypeLocations |
private java.util.Map<java.lang.String,java.lang.Short> |
stringLocations |
private java.util.Map<java.lang.String,java.lang.Short> |
utf8Locations |
Constructor and Description |
---|
ConstPool() |
Modifier and Type | Method and Description |
---|---|
short |
addClassEntry(java.lang.String className)
Adds a CONSTANT_Class_info to the const pool.
|
short |
addDoubleEntry(double entry) |
short |
addFieldEntry(java.lang.String className,
java.lang.String fieldName,
java.lang.String fieldType) |
short |
addFloatEntry(float entry) |
short |
addIntegerEntry(int entry) |
short |
addInterfaceMethodEntry(java.lang.String className,
java.lang.String methodName,
java.lang.String descriptor) |
short |
addLongEntry(long entry) |
short |
addMethodEntry(java.lang.String className,
java.lang.String methodName,
java.lang.String descriptor) |
short |
addNameAndTypeEntry(java.lang.String name,
java.lang.String type) |
short |
addStringEntry(java.lang.String string)
Adds a CONSTANT_String_info to the const pool.
|
short |
addUtf8Entry(java.lang.String entry) |
void |
write(ByteArrayDataOutputStream stream) |
private final java.util.LinkedHashMap<java.lang.Short,ConstPoolEntry> entries
private final java.util.Map<java.lang.String,java.lang.Short> utf8Locations
private final java.util.Map<java.lang.String,java.lang.Short> classLocations
private final java.util.Map<java.lang.String,java.lang.Short> stringLocations
private final java.util.Map<ConstPool.NameAndType,java.lang.Short> nameAndTypeLocations
private final java.util.Map<ConstPool.MemberInfo,java.lang.Short> fieldLocations
private final java.util.Map<ConstPool.MemberInfo,java.lang.Short> methodLocations
private final java.util.Map<ConstPool.MemberInfo,java.lang.Short> interfaceMethodLocations
private final java.util.Map<java.lang.Integer,java.lang.Short> integerLocations
private final java.util.Map<java.lang.Float,java.lang.Short> floatLocations
private final java.util.Map<java.lang.Long,java.lang.Short> longLocations
private final java.util.Map<java.lang.Double,java.lang.Short> doubleLocations
private short count
private short constPoolSize
public short addUtf8Entry(java.lang.String entry)
public short addClassEntry(java.lang.String className)
public short addStringEntry(java.lang.String string)
public short addIntegerEntry(int entry)
public short addFloatEntry(float entry)
public short addLongEntry(long entry)
public short addDoubleEntry(double entry)
public short addNameAndTypeEntry(java.lang.String name, java.lang.String type)
public short addFieldEntry(java.lang.String className, java.lang.String fieldName, java.lang.String fieldType)
public short addMethodEntry(java.lang.String className, java.lang.String methodName, java.lang.String descriptor)
public short addInterfaceMethodEntry(java.lang.String className, java.lang.String methodName, java.lang.String descriptor)
public void write(ByteArrayDataOutputStream stream) throws java.io.IOException
write
in interface WritableEntry
java.io.IOException