public final class ConstantPoolParser extends java.lang.Object implements ClassConstants
| Modifier and Type | Class and Description |
|---|---|
static class |
ConstantPoolParser.ReferenceToken |
ACC_ABSTRACT, ACC_FINAL, ACC_INTERFACE, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_TRANSIENT, ACC_VOLATILE, CONSTANT_Class, CONSTANT_Double, CONSTANT_FieldRef, CONSTANT_Float, CONSTANT_Integer, CONSTANT_InterfaceMethodRef, CONSTANT_InvokeDynamic, CONSTANT_Long, CONSTANT_MethodHandle, CONSTANT_MethodRef, CONSTANT_MethodType, CONSTANT_NameAndType, CONSTANT_String, CONSTANT_Utf8, MAGIC, REF_getField, REF_getStatic, REF_invokeInterface, REF_invokeSpecial, REF_invokeStatic, REF_invokeVirtual, REF_newInvokeSpecial, REF_putField, REF_putStatic| Constructor and Description |
|---|
ConstantPoolParser(byte[] bytes,
int offset,
int itemCount) |
| Modifier and Type | Method and Description |
|---|---|
java.lang.String |
getCPClass(int i) |
double |
getCPDouble(int i) |
BootstrapMethodsReader.BootstrapMethod |
getCPDynBootstrap(int i) |
java.lang.String |
getCPDynName(int i) |
java.lang.String |
getCPDynType(int i) |
float |
getCPFloat(int i) |
java.lang.String |
getCPHandleClass(int i) |
byte |
getCPHandleKind(int i) |
java.lang.String |
getCPHandleName(int i) |
java.lang.String |
getCPHandleType(int i) |
int |
getCPInt(int i) |
long |
getCPLong(int i) |
java.lang.String |
getCPMethodType(int i) |
java.lang.String |
getCPNATName(int i) |
java.lang.String |
getCPNATType(int i) |
java.lang.String |
getCPRefClass(int i) |
java.lang.String |
getCPRefName(int i) |
java.lang.String |
getCPRefType(int i) |
java.lang.String |
getCPString(int i) |
java.lang.String |
getCPUtf8(int i) |
int |
getItemCount() |
byte |
getItemType(int i) |
byte[] |
getRawBytes() |
int |
getRawOffset() |
int |
getRawSize() |
static boolean |
isRef(byte b)
Does b represent the tag of a constant pool reference to an (interface) method or field?
|
public ConstantPoolParser(byte[] bytes,
int offset,
int itemCount)
throws InvalidClassFileException
bytes - the raw class file dataoffset - the start of the constant pool dataitemCount - the number of items in the poolInvalidClassFileExceptionpublic byte[] getRawBytes()
public int getRawOffset()
throws java.lang.IllegalStateException
java.lang.IllegalStateExceptionpublic int getRawSize()
throws java.lang.IllegalStateException
java.lang.IllegalStateExceptionpublic int getItemCount()
public byte getItemType(int i)
throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentExceptionpublic java.lang.String getCPClass(int i)
throws InvalidClassFileException,
java.lang.IllegalArgumentException
InvalidClassFileExceptionjava.lang.IllegalArgumentExceptionpublic java.lang.String getCPMethodType(int i)
throws InvalidClassFileException,
java.lang.IllegalArgumentException
InvalidClassFileExceptionjava.lang.IllegalArgumentExceptionpublic java.lang.String getCPString(int i)
throws InvalidClassFileException,
java.lang.IllegalArgumentException
InvalidClassFileExceptionjava.lang.IllegalArgumentExceptionpublic static boolean isRef(byte b)
public java.lang.String getCPRefClass(int i)
throws InvalidClassFileException,
java.lang.IllegalArgumentException
InvalidClassFileExceptionjava.lang.IllegalArgumentExceptionpublic java.lang.String getCPRefName(int i)
throws InvalidClassFileException,
java.lang.IllegalArgumentException
InvalidClassFileExceptionjava.lang.IllegalArgumentExceptionpublic java.lang.String getCPRefType(int i)
throws InvalidClassFileException,
java.lang.IllegalArgumentException
InvalidClassFileExceptionjava.lang.IllegalArgumentExceptionpublic java.lang.String getCPNATName(int i)
throws InvalidClassFileException,
java.lang.IllegalArgumentException
InvalidClassFileExceptionjava.lang.IllegalArgumentExceptionpublic java.lang.String getCPNATType(int i)
throws InvalidClassFileException,
java.lang.IllegalArgumentException
InvalidClassFileExceptionjava.lang.IllegalArgumentExceptionpublic java.lang.String getCPHandleName(int i)
throws InvalidClassFileException,
java.lang.IllegalArgumentException
InvalidClassFileExceptionjava.lang.IllegalArgumentExceptionpublic java.lang.String getCPHandleType(int i)
throws InvalidClassFileException,
java.lang.IllegalArgumentException
InvalidClassFileExceptionjava.lang.IllegalArgumentExceptionpublic java.lang.String getCPHandleClass(int i)
throws InvalidClassFileException,
java.lang.IllegalArgumentException
InvalidClassFileExceptionjava.lang.IllegalArgumentExceptionpublic byte getCPHandleKind(int i)
throws InvalidClassFileException,
java.lang.IllegalArgumentException
InvalidClassFileExceptionjava.lang.IllegalArgumentExceptionpublic int getCPInt(int i)
throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentExceptionpublic float getCPFloat(int i)
throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentExceptionpublic long getCPLong(int i)
throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentExceptionpublic double getCPDouble(int i)
throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentExceptionpublic BootstrapMethodsReader.BootstrapMethod getCPDynBootstrap(int i) throws InvalidClassFileException, java.lang.IllegalArgumentException
InvalidClassFileExceptionjava.lang.IllegalArgumentExceptionpublic java.lang.String getCPDynName(int i)
throws InvalidClassFileException,
java.lang.IllegalArgumentException
InvalidClassFileExceptionjava.lang.IllegalArgumentExceptionpublic java.lang.String getCPDynType(int i)
throws InvalidClassFileException,
java.lang.IllegalArgumentException
InvalidClassFileExceptionjava.lang.IllegalArgumentExceptionpublic java.lang.String getCPUtf8(int i)
throws InvalidClassFileException,
java.lang.IllegalArgumentException
InvalidClassFileExceptionjava.lang.IllegalArgumentException