Generic Java classfiles have one additional attribute for classes, methods and fields:
"Signature" (u4 attr-length, u2 signature-index)
A signature gives the full Java type of a method or field. When used as a class attribute, it indicates type parameters, followed by supertype, followed by all interfaces.
methodOrFieldSignature ::= type classSignature ::= [ typeparams ] supertype { interfacetype }
The type syntax in signatures is extended as follows:
type ::= ... | classtype | methodtype | typevar classtype ::= classsig { '.' classsig } classig ::= 'L' name [typeargs] ';' methodtype ::= [ typeparams ] '(' { type } ')' type typevar ::= 'T' name ';' typeargs ::= '<' type { type } '>' typeparams ::= '<' typeparam { typeparam } '>' typeparam ::= name ':' type
This class defines constants used in class files as well as routines to convert between internal ``.'' and external ``/'' separators in class names.
This is NOT part of any supported API. If you write code that depends on this, you do so at your own risk. This code and its internal interfaces are subject to change or deletion without notice.
Modifier and Type | Class and Description |
---|---|
public static enum |
Modifier and Type | Field and Description |
---|---|
public static final int | |
public static final int | |
public static final int | |
public static final int | |
public static final int | |
public static final int | |
public static final int | |
public static final int | |
public static final int | |
public static final int | |
public static final int | |
public static final int | |
public static final int | |
public static final int | |
public static final int | |
public static final int | |
public static final int | |
public static final int | |
public static final int | |
public static final int | |
public static final int | |
public static final int | |
public static final int | |
public static final int | |
public static final int | |
public static final int | |
public static final int | |
public static final int | |
public static final int | |
public static final int | |
public static final int | |
public static final int | |
public static final int | |
public static final int |
Access | Constructor and Description |
---|---|
public |
Modifier and Type | Method and Description |
---|---|
public static Name | |
public static String | |
public static byte[] | internalize(byte[] buf, int offset, int len)
Return internal representation of buf[offset..offset+len-1], converting '/' to '.'. |
public static Name |
CONSTANT_Class | back to summary |
---|---|
public static final int CONSTANT_Class |
CONSTANT_Double | back to summary |
---|---|
public static final int CONSTANT_Double |
CONSTANT_Dynamic | back to summary |
---|---|
public static final int CONSTANT_Dynamic |
CONSTANT_Fieldref | back to summary |
---|---|
public static final int CONSTANT_Fieldref |
CONSTANT_Float | back to summary |
---|---|
public static final int CONSTANT_Float |
CONSTANT_Integer | back to summary |
---|---|
public static final int CONSTANT_Integer |
CONSTANT_InterfaceMethodref | back to summary |
---|---|
public static final int CONSTANT_InterfaceMethodref |
CONSTANT_InvokeDynamic | back to summary |
---|---|
public static final int CONSTANT_InvokeDynamic |
CONSTANT_Long | back to summary |
---|---|
public static final int CONSTANT_Long |
CONSTANT_MethodHandle | back to summary |
---|---|
public static final int CONSTANT_MethodHandle |
CONSTANT_Methodref | back to summary |
---|---|
public static final int CONSTANT_Methodref |
CONSTANT_MethodType | back to summary |
---|---|
public static final int CONSTANT_MethodType |
CONSTANT_Module | back to summary |
---|---|
public static final int CONSTANT_Module |
CONSTANT_NameandType | back to summary |
---|---|
public static final int CONSTANT_NameandType |
CONSTANT_Package | back to summary |
---|---|
public static final int CONSTANT_Package |
CONSTANT_String | back to summary |
---|---|
public static final int CONSTANT_String |
CONSTANT_Unicode | back to summary |
---|---|
public static final int CONSTANT_Unicode |
CONSTANT_Utf8 | back to summary |
---|---|
public static final int CONSTANT_Utf8 |
JAVA_MAGIC | back to summary |
---|---|
public static final int JAVA_MAGIC |
MAX_CODE | back to summary |
---|---|
public static final int MAX_CODE |
MAX_DIMENSIONS | back to summary |
---|---|
public static final int MAX_DIMENSIONS |
MAX_LOCALS | back to summary |
---|---|
public static final int MAX_LOCALS |
MAX_PARAMETERS | back to summary |
---|---|
public static final int MAX_PARAMETERS |
MAX_STACK | back to summary |
---|---|
public static final int MAX_STACK |
PREVIEW_MINOR_VERSION | back to summary |
---|---|
public static final int PREVIEW_MINOR_VERSION |
REF_getField | back to summary |
---|---|
public static final int REF_getField |
REF_getStatic | back to summary |
---|---|
public static final int REF_getStatic |
REF_invokeInterface | back to summary |
---|---|
public static final int REF_invokeInterface |
REF_invokeSpecial | back to summary |
---|---|
public static final int REF_invokeSpecial |
REF_invokeStatic | back to summary |
---|---|
public static final int REF_invokeStatic |
REF_invokeVirtual | back to summary |
---|---|
public static final int REF_invokeVirtual |
REF_newInvokeSpecial | back to summary |
---|---|
public static final int REF_newInvokeSpecial |
REF_putField | back to summary |
---|---|
public static final int REF_putField |
REF_putStatic | back to summary |
---|---|
public static final int REF_putStatic |
ClassFile | back to summary |
---|---|
public ClassFile() |
externalize | back to summary |
---|---|
public static Name externalize(Name name) Return external representation of given name, converting '/' to '.'. Note the naming is the inverse of that used by JVMS 4.2 The Internal Form Of Names, which defines "internal name" to be the form using "/" instead of "." |
externalize | back to summary |
---|---|
public static String externalize(String name) Return external representation of given name, converting '/' to '.'. Note the naming is the inverse of that used by JVMS 4.2 The Internal Form Of Names, which defines "internal name" to be the form using "/" instead of "." |
internalize | back to summary |
---|---|
public static byte[] internalize(byte[] buf, int offset, int len) Return internal representation of buf[offset..offset+len-1], converting '/' to '.'. Note the naming is the inverse of that used by JVMS 4.2 The Internal Form Of Names, which defines "internal name" to be the form using "/" instead of "." |
internalize | back to summary |
---|---|
public static Name internalize(Name name) Return internal representation of given name, converting '/' to '.'. Note the naming is the inverse of that used by JVMS 4.2 The Internal Form Of Names, which defines "internal name" to be the form using "/" instead of "." |
Modifier and Type | Field and Description |
---|---|
public final int | |
private static final ClassFile. | |
private static final ClassFile. | |
public final int | |
public static final ClassFile. | |
public static final ClassFile. | |
public static final ClassFile. | |
public static final ClassFile. | |
public static final ClassFile. | |
public static final ClassFile. | |
public static final ClassFile. | |
public static final ClassFile. | |
public static final ClassFile. | |
public static final ClassFile. | |
public static final ClassFile. | |
public static final ClassFile. | |
public static final ClassFile. | |
public static final ClassFile. | |
public static final ClassFile. | |
public static final ClassFile. | |
public static final ClassFile. | |
public static final ClassFile. | |
public static final ClassFile. | |
public static final ClassFile. |
Access | Constructor and Description |
---|---|
private |
Modifier and Type | Method and Description |
---|---|
public static ClassFile. | |
public static ClassFile. | |
public static ClassFile. | |
public static ClassFile. |
major | back to summary |
---|---|
public final int major |
MAX | back to summary |
---|---|
private static final ClassFile. |
MIN | back to summary |
---|---|
private static final ClassFile. |
minor | back to summary |
---|---|
public final int minor |
V45_3 | back to summary |
---|---|
public static final ClassFile. |
V48 | back to summary |
---|---|
public static final ClassFile. |
V49 | back to summary |
---|---|
public static final ClassFile. |
V50 | back to summary |
---|---|
public static final ClassFile. |
V51 | back to summary |
---|---|
public static final ClassFile. |
V52 | back to summary |
---|---|
public static final ClassFile. |
V53 | back to summary |
---|---|
public static final ClassFile. |
V54 | back to summary |
---|---|
public static final ClassFile. |
V55 | back to summary |
---|---|
public static final ClassFile. |
V56 | back to summary |
---|---|
public static final ClassFile. |
V57 | back to summary |
---|---|
public static final ClassFile. |
V58 | back to summary |
---|---|
public static final ClassFile. |
V59 | back to summary |
---|---|
public static final ClassFile. |
V60 | back to summary |
---|---|
public static final ClassFile. |
V61 | back to summary |
---|---|
public static final ClassFile. |
V62 | back to summary |
---|---|
public static final ClassFile. |
V63 | back to summary |
---|---|
public static final ClassFile. |
V64 | back to summary |
---|---|
public static final ClassFile. |
V65 | back to summary |
---|---|
public static final ClassFile. |
V66 | back to summary |
---|---|
public static final ClassFile. |
Version | back to summary |
---|---|
private Version(int major, int minor) |
MAX | back to summary |
---|---|
public static ClassFile. Return the largest version supported, MAX |
MIN | back to summary |
---|---|
public static ClassFile. Return the least version supported, MIN |
valueOf | back to summary |
---|---|
public static ClassFile. |
values | back to summary |
---|---|
public static ClassFile. |