Package aQute.bnd.classfile
Class ConstantPool
- java.lang.Object
-
- aQute.bnd.classfile.ConstantPool
-
- Direct Known Subclasses:
MutableConstantPool
public class ConstantPool extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classConstantPool.AbstractDynamicInfostatic classConstantPool.AbstractRefInfostatic classConstantPool.ClassInfostatic classConstantPool.DynamicInfostatic classConstantPool.FieldrefInfostatic interfaceConstantPool.Infostatic classConstantPool.InterfaceMethodrefInfostatic classConstantPool.InvokeDynamicInfostatic classConstantPool.MethodHandleInfostatic classConstantPool.MethodrefInfostatic classConstantPool.MethodTypeInfostatic classConstantPool.ModuleInfostatic classConstantPool.NameAndTypeInfostatic classConstantPool.PackageInfostatic interfaceConstantPool.RefInfoFunctionstatic classConstantPool.StringInfo
-
Field Summary
Fields Modifier and Type Field Description static intCONSTANT_Classstatic intCONSTANT_Doublestatic intCONSTANT_Dynamicstatic intCONSTANT_Fieldrefstatic intCONSTANT_Floatstatic intCONSTANT_Integerstatic intCONSTANT_InterfaceMethodrefstatic intCONSTANT_InvokeDynamicstatic intCONSTANT_Longstatic intCONSTANT_MethodHandlestatic intCONSTANT_Methodrefstatic intCONSTANT_MethodTypestatic intCONSTANT_Modulestatic intCONSTANT_NameAndTypestatic intCONSTANT_Packagestatic intCONSTANT_Stringstatic intCONSTANT_Utf8(package private) java.lang.Object[]pool
-
Constructor Summary
Constructors Constructor Description ConstantPool(java.lang.Object[] pool)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected <I> intadd(java.lang.Class<I> infoType, java.util.function.Supplier<I> supplier)intclassInfo(java.lang.String class_name)java.lang.StringclassName(int class_info_index)intdoubleInfo(double constant)intdoubleInfo(java.lang.Double constant)intdynamicInfo(int bootstrap_method_attr_index, java.lang.String name, java.lang.String descriptor)<T> Tentry(int index)private booleanequalsAbstractDynamicInfo(int bootstrap_method_attr_index, java.lang.String name, java.lang.String descriptor, ConstantPool.AbstractDynamicInfo abstractDynamicInfo)private booleanequalsAbstractRefInfo(java.lang.String class_name, java.lang.String name, java.lang.String descriptor, ConstantPool.AbstractRefInfo refInfo)private booleanequalsClassInfo(java.lang.String class_name, ConstantPool.ClassInfo classInfo)private static booleanequalsDouble(double a, double b)private static booleanequalsFloat(float a, float b)private static booleanequalsInteger(int a, int b)private static booleanequalsLong(long a, long b)private booleanequalsMethodHandleInfo(int reference_kind, java.lang.String class_name, java.lang.String name, java.lang.String descriptor, ConstantPool.MethodHandleInfo methodHandleInfo)private booleanequalsMethodTypeInfo(java.lang.String descriptor, ConstantPool.MethodTypeInfo methodTypeInfo)private booleanequalsModuleInfo(java.lang.String module_name, ConstantPool.ModuleInfo moduleInfo)private booleanequalsNameAndTypeInfo(java.lang.String name, java.lang.String descriptor, ConstantPool.NameAndTypeInfo nameAndTypeInfo)private booleanequalsPackageInfo(java.lang.String package_name, ConstantPool.PackageInfo packageInfo)private booleanequalsStringInfo(java.lang.String string, ConstantPool.StringInfo stringInfo)intfieldrefInfo(java.lang.String class_name, java.lang.String name, java.lang.String descriptor)intfloatInfo(float constant)intfloatInfo(java.lang.Float constant)protected <I> intindex(java.lang.Class<I> infoType, java.util.function.Predicate<I> match, java.util.function.Supplier<I> supplier)intintegerInfo(int constant)intintegerInfo(java.lang.Boolean constant)intintegerInfo(java.lang.Byte constant)intintegerInfo(java.lang.Character constant)intintegerInfo(java.lang.Integer constant)intintegerInfo(java.lang.Short constant)intinterfaceMethodrefInfo(java.lang.String class_name, java.lang.String name, java.lang.String descriptor)intinvokeDynamicInfo(int bootstrap_method_attr_index, java.lang.String name, java.lang.String descriptor)intlongInfo(long constant)intlongInfo(java.lang.Long constant)intmethodHandleInfo(int reference_kind, java.lang.String class_name, java.lang.String name, java.lang.String descriptor, ConstantPool.RefInfoFunction refInfoFunction)intmethodrefInfo(java.lang.String class_name, java.lang.String name, java.lang.String descriptor)intmethodTypeInfo(java.lang.String descriptor)intmoduleInfo(java.lang.String module_name)java.lang.StringmoduleName(int module_info_index)intnameAndTypeInfo(java.lang.String name, java.lang.String descriptor)intpackageInfo(java.lang.String package_name)java.lang.StringpackageName(int package_info_index)static ConstantPoolread(java.io.DataInput in)(package private) static java.lang.DoublereadDoubleInfo(java.io.DataInput in)(package private) static java.lang.FloatreadFloatInfo(java.io.DataInput in)(package private) static java.lang.IntegerreadIntegerInfo(java.io.DataInput in)(package private) static java.lang.LongreadLongInfo(java.io.DataInput in)(package private) static java.lang.StringreadUtf8Info(java.io.DataInput in)intsize()java.lang.Stringstring(int string_info_index)intstringInfo(java.lang.String string)inttag(int index)java.lang.StringtoString()java.lang.Stringutf8(int utf8_index)intutf8Info(java.lang.String utf8)voidwrite(java.io.DataOutput out)(package private) static voidwriteDoubleInfo(java.io.DataOutput out, java.lang.Double constant)(package private) static voidwriteFloatInfo(java.io.DataOutput out, java.lang.Float constant)(package private) static voidwriteIntegerInfo(java.io.DataOutput out, java.lang.Integer constant)(package private) static voidwriteLongInfo(java.io.DataOutput out, java.lang.Long constant)(package private) static voidwriteUtf8Info(java.io.DataOutput out, java.lang.String constant)
-
-
-
Field Detail
-
CONSTANT_Utf8
public static final int CONSTANT_Utf8
- See Also:
- Constant Field Values
-
CONSTANT_Integer
public static final int CONSTANT_Integer
- See Also:
- Constant Field Values
-
CONSTANT_Float
public static final int CONSTANT_Float
- See Also:
- Constant Field Values
-
CONSTANT_Long
public static final int CONSTANT_Long
- See Also:
- Constant Field Values
-
CONSTANT_Double
public static final int CONSTANT_Double
- See Also:
- Constant Field Values
-
CONSTANT_Class
public static final int CONSTANT_Class
- See Also:
- Constant Field Values
-
CONSTANT_String
public static final int CONSTANT_String
- See Also:
- Constant Field Values
-
CONSTANT_Fieldref
public static final int CONSTANT_Fieldref
- See Also:
- Constant Field Values
-
CONSTANT_Methodref
public static final int CONSTANT_Methodref
- See Also:
- Constant Field Values
-
CONSTANT_InterfaceMethodref
public static final int CONSTANT_InterfaceMethodref
- See Also:
- Constant Field Values
-
CONSTANT_NameAndType
public static final int CONSTANT_NameAndType
- See Also:
- Constant Field Values
-
CONSTANT_MethodHandle
public static final int CONSTANT_MethodHandle
- See Also:
- Constant Field Values
-
CONSTANT_MethodType
public static final int CONSTANT_MethodType
- See Also:
- Constant Field Values
-
CONSTANT_Dynamic
public static final int CONSTANT_Dynamic
- See Also:
- Constant Field Values
-
CONSTANT_InvokeDynamic
public static final int CONSTANT_InvokeDynamic
- See Also:
- Constant Field Values
-
CONSTANT_Module
public static final int CONSTANT_Module
- See Also:
- Constant Field Values
-
CONSTANT_Package
public static final int CONSTANT_Package
- See Also:
- Constant Field Values
-
pool
final java.lang.Object[] pool
-
-
Method Detail
-
size
public int size()
-
entry
public <T> T entry(int index)
-
tag
public int tag(int index)
-
utf8
public java.lang.String utf8(int utf8_index)
-
className
public java.lang.String className(int class_info_index)
-
moduleName
public java.lang.String moduleName(int module_info_index)
-
packageName
public java.lang.String packageName(int package_info_index)
-
string
public java.lang.String string(int string_info_index)
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
read
public static ConstantPool read(java.io.DataInput in) throws java.io.IOException
- Throws:
java.io.IOException
-
readUtf8Info
static java.lang.String readUtf8Info(java.io.DataInput in) throws java.io.IOException- Throws:
java.io.IOException
-
writeUtf8Info
static void writeUtf8Info(java.io.DataOutput out, java.lang.String constant) throws java.io.IOException- Throws:
java.io.IOException
-
readIntegerInfo
static java.lang.Integer readIntegerInfo(java.io.DataInput in) throws java.io.IOException- Throws:
java.io.IOException
-
writeIntegerInfo
static void writeIntegerInfo(java.io.DataOutput out, java.lang.Integer constant) throws java.io.IOException- Throws:
java.io.IOException
-
readFloatInfo
static java.lang.Float readFloatInfo(java.io.DataInput in) throws java.io.IOException- Throws:
java.io.IOException
-
writeFloatInfo
static void writeFloatInfo(java.io.DataOutput out, java.lang.Float constant) throws java.io.IOException- Throws:
java.io.IOException
-
readLongInfo
static java.lang.Long readLongInfo(java.io.DataInput in) throws java.io.IOException- Throws:
java.io.IOException
-
writeLongInfo
static void writeLongInfo(java.io.DataOutput out, java.lang.Long constant) throws java.io.IOException- Throws:
java.io.IOException
-
readDoubleInfo
static java.lang.Double readDoubleInfo(java.io.DataInput in) throws java.io.IOException- Throws:
java.io.IOException
-
writeDoubleInfo
static void writeDoubleInfo(java.io.DataOutput out, java.lang.Double constant) throws java.io.IOException- Throws:
java.io.IOException
-
index
protected <I> int index(java.lang.Class<I> infoType, java.util.function.Predicate<I> match, java.util.function.Supplier<I> supplier)
-
add
protected <I> int add(java.lang.Class<I> infoType, java.util.function.Supplier<I> supplier)
-
integerInfo
public int integerInfo(int constant)
-
integerInfo
public int integerInfo(java.lang.Integer constant)
-
integerInfo
public int integerInfo(java.lang.Byte constant)
-
integerInfo
public int integerInfo(java.lang.Character constant)
-
integerInfo
public int integerInfo(java.lang.Short constant)
-
integerInfo
public int integerInfo(java.lang.Boolean constant)
-
equalsInteger
private static boolean equalsInteger(int a, int b)
-
longInfo
public int longInfo(java.lang.Long constant)
-
longInfo
public int longInfo(long constant)
-
equalsLong
private static boolean equalsLong(long a, long b)
-
floatInfo
public int floatInfo(java.lang.Float constant)
-
floatInfo
public int floatInfo(float constant)
-
equalsFloat
private static boolean equalsFloat(float a, float b)
-
doubleInfo
public int doubleInfo(java.lang.Double constant)
-
doubleInfo
public int doubleInfo(double constant)
-
equalsDouble
private static boolean equalsDouble(double a, double b)
-
utf8Info
public int utf8Info(java.lang.String utf8)
-
stringInfo
public int stringInfo(java.lang.String string)
-
equalsStringInfo
private boolean equalsStringInfo(java.lang.String string, ConstantPool.StringInfo stringInfo)
-
moduleInfo
public int moduleInfo(java.lang.String module_name)
-
equalsModuleInfo
private boolean equalsModuleInfo(java.lang.String module_name, ConstantPool.ModuleInfo moduleInfo)
-
packageInfo
public int packageInfo(java.lang.String package_name)
-
equalsPackageInfo
private boolean equalsPackageInfo(java.lang.String package_name, ConstantPool.PackageInfo packageInfo)
-
classInfo
public int classInfo(java.lang.String class_name)
-
equalsClassInfo
private boolean equalsClassInfo(java.lang.String class_name, ConstantPool.ClassInfo classInfo)
-
fieldrefInfo
public int fieldrefInfo(java.lang.String class_name, java.lang.String name, java.lang.String descriptor)
-
equalsAbstractRefInfo
private boolean equalsAbstractRefInfo(java.lang.String class_name, java.lang.String name, java.lang.String descriptor, ConstantPool.AbstractRefInfo refInfo)
-
methodrefInfo
public int methodrefInfo(java.lang.String class_name, java.lang.String name, java.lang.String descriptor)
-
interfaceMethodrefInfo
public int interfaceMethodrefInfo(java.lang.String class_name, java.lang.String name, java.lang.String descriptor)
-
nameAndTypeInfo
public int nameAndTypeInfo(java.lang.String name, java.lang.String descriptor)
-
equalsNameAndTypeInfo
private boolean equalsNameAndTypeInfo(java.lang.String name, java.lang.String descriptor, ConstantPool.NameAndTypeInfo nameAndTypeInfo)
-
methodHandleInfo
public int methodHandleInfo(int reference_kind, java.lang.String class_name, java.lang.String name, java.lang.String descriptor, ConstantPool.RefInfoFunction refInfoFunction)
-
equalsMethodHandleInfo
private boolean equalsMethodHandleInfo(int reference_kind, java.lang.String class_name, java.lang.String name, java.lang.String descriptor, ConstantPool.MethodHandleInfo methodHandleInfo)
-
methodTypeInfo
public int methodTypeInfo(java.lang.String descriptor)
-
equalsMethodTypeInfo
private boolean equalsMethodTypeInfo(java.lang.String descriptor, ConstantPool.MethodTypeInfo methodTypeInfo)
-
dynamicInfo
public int dynamicInfo(int bootstrap_method_attr_index, java.lang.String name, java.lang.String descriptor)
-
equalsAbstractDynamicInfo
private boolean equalsAbstractDynamicInfo(int bootstrap_method_attr_index, java.lang.String name, java.lang.String descriptor, ConstantPool.AbstractDynamicInfo abstractDynamicInfo)
-
invokeDynamicInfo
public int invokeDynamicInfo(int bootstrap_method_attr_index, java.lang.String name, java.lang.String descriptor)
-
write
public void write(java.io.DataOutput out) throws java.io.IOException- Throws:
java.io.IOException
-
-