68 public class ClassFile { 69 70 public final static int JAVA_MAGIC = 0xCAFEBABE; 71 72 // see Target 73 public final static int CONSTANT_Utf8 = 1; 74 public final static int CONSTANT_Unicode = 2; 75 public final static int CONSTANT_Integer = 3; 76 public final static int CONSTANT_Float = 4; 77 public final static int CONSTANT_Long = 5; 78 public final static int CONSTANT_Double = 6; 79 public final static int CONSTANT_Class = 7; 80 public final static int CONSTANT_String = 8; 81 public final static int CONSTANT_Fieldref = 9; 82 public final static int CONSTANT_Methodref = 10; 83 public final static int CONSTANT_InterfaceMethodref = 11; 84 public final static int CONSTANT_NameandType = 12; 85 public final static int CONSTANT_MethodHandle = 15; 86 public final static int CONSTANT_MethodType = 16; 87 public final static int CONSTANT_InvokeDynamic = 18; 88 89 public final static int REF_getField = 1; 90 public final static int REF_getStatic = 2; 91 public final static int REF_putField = 3; 92 public final static int REF_putStatic = 4; 93 public final static int REF_invokeVirtual = 5; 94 public final static int REF_invokeStatic = 6; 95 public final static int REF_invokeSpecial = 7; 96 public final static int REF_newInvokeSpecial = 8; 97 public final static int REF_invokeInterface = 9; 98 99 public final static int MAX_PARAMETERS = 0xff; 100 public final static int MAX_DIMENSIONS = 0xff; 101 public final static int MAX_CODE = 0xffff; 102 public final static int MAX_LOCALS = 0xffff; 103 public final static int MAX_STACK = 0xffff; 104 105 public enum Version { 106 V45_3(45, 3), // base level for all attributes 107 V49(49, 0), // JDK 1.5: enum, generics, annotations | 68 public class ClassFile { 69 70 public final static int JAVA_MAGIC = 0xCAFEBABE; 71 72 // see Target 73 public final static int CONSTANT_Utf8 = 1; 74 public final static int CONSTANT_Unicode = 2; 75 public final static int CONSTANT_Integer = 3; 76 public final static int CONSTANT_Float = 4; 77 public final static int CONSTANT_Long = 5; 78 public final static int CONSTANT_Double = 6; 79 public final static int CONSTANT_Class = 7; 80 public final static int CONSTANT_String = 8; 81 public final static int CONSTANT_Fieldref = 9; 82 public final static int CONSTANT_Methodref = 10; 83 public final static int CONSTANT_InterfaceMethodref = 11; 84 public final static int CONSTANT_NameandType = 12; 85 public final static int CONSTANT_MethodHandle = 15; 86 public final static int CONSTANT_MethodType = 16; 87 public final static int CONSTANT_InvokeDynamic = 18; 88 public final static int CONSTANT_Module = 19; 89 public final static int CONSTANT_Package = 20; 90 91 public final static int REF_getField = 1; 92 public final static int REF_getStatic = 2; 93 public final static int REF_putField = 3; 94 public final static int REF_putStatic = 4; 95 public final static int REF_invokeVirtual = 5; 96 public final static int REF_invokeStatic = 6; 97 public final static int REF_invokeSpecial = 7; 98 public final static int REF_newInvokeSpecial = 8; 99 public final static int REF_invokeInterface = 9; 100 101 public final static int MAX_PARAMETERS = 0xff; 102 public final static int MAX_DIMENSIONS = 0xff; 103 public final static int MAX_CODE = 0xffff; 104 public final static int MAX_LOCALS = 0xffff; 105 public final static int MAX_STACK = 0xffff; 106 107 public enum Version { 108 V45_3(45, 3), // base level for all attributes 109 V49(49, 0), // JDK 1.5: enum, generics, annotations |