diff options
Diffstat (limited to 'src/proguard/classfile/ClassConstants.java')
-rw-r--r-- | src/proguard/classfile/ClassConstants.java | 457 |
1 files changed, 236 insertions, 221 deletions
diff --git a/src/proguard/classfile/ClassConstants.java b/src/proguard/classfile/ClassConstants.java index 59580c5..7220285 100644 --- a/src/proguard/classfile/ClassConstants.java +++ b/src/proguard/classfile/ClassConstants.java @@ -2,7 +2,7 @@ * ProGuard -- shrinking, optimization, obfuscation, and preverification * of Java bytecode. * - * Copyright (c) 2002-2013 Eric Lafortune (eric@graphics.cornell.edu) + * Copyright (c) 2002-2014 Eric Lafortune (eric@graphics.cornell.edu) * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free @@ -21,118 +21,94 @@ package proguard.classfile; /** - * Constants used in representing a Java class (*.class). + * Constants used in representing a Java class file (*.class). * * @author Eric Lafortune */ -public interface ClassConstants +public class ClassConstants { public static final String CLASS_FILE_EXTENSION = ".class"; public static final int MAGIC = 0xCAFEBABE; - public static final int INTERNAL_CLASS_VERSION_1_0_MAJOR = 45; - public static final int INTERNAL_CLASS_VERSION_1_0_MINOR = 3; - public static final int INTERNAL_CLASS_VERSION_1_2_MAJOR = 46; - public static final int INTERNAL_CLASS_VERSION_1_2_MINOR = 0; - public static final int INTERNAL_CLASS_VERSION_1_3_MAJOR = 47; - public static final int INTERNAL_CLASS_VERSION_1_3_MINOR = 0; - public static final int INTERNAL_CLASS_VERSION_1_4_MAJOR = 48; - public static final int INTERNAL_CLASS_VERSION_1_4_MINOR = 0; - public static final int INTERNAL_CLASS_VERSION_1_5_MAJOR = 49; - public static final int INTERNAL_CLASS_VERSION_1_5_MINOR = 0; - public static final int INTERNAL_CLASS_VERSION_1_6_MAJOR = 50; - public static final int INTERNAL_CLASS_VERSION_1_6_MINOR = 0; - public static final int INTERNAL_CLASS_VERSION_1_7_MAJOR = 51; - public static final int INTERNAL_CLASS_VERSION_1_7_MINOR = 0; + public static final int CLASS_VERSION_1_0_MAJOR = 45; + public static final int CLASS_VERSION_1_0_MINOR = 3; + public static final int CLASS_VERSION_1_2_MAJOR = 46; + public static final int CLASS_VERSION_1_2_MINOR = 0; + public static final int CLASS_VERSION_1_3_MAJOR = 47; + public static final int CLASS_VERSION_1_3_MINOR = 0; + public static final int CLASS_VERSION_1_4_MAJOR = 48; + public static final int CLASS_VERSION_1_4_MINOR = 0; + public static final int CLASS_VERSION_1_5_MAJOR = 49; + public static final int CLASS_VERSION_1_5_MINOR = 0; + public static final int CLASS_VERSION_1_6_MAJOR = 50; + public static final int CLASS_VERSION_1_6_MINOR = 0; + public static final int CLASS_VERSION_1_7_MAJOR = 51; + public static final int CLASS_VERSION_1_7_MINOR = 0; + public static final int CLASS_VERSION_1_8_MAJOR = 52; + public static final int CLASS_VERSION_1_8_MINOR = 0; - public static final int INTERNAL_CLASS_VERSION_1_0 = (INTERNAL_CLASS_VERSION_1_0_MAJOR << 16) | INTERNAL_CLASS_VERSION_1_0_MINOR; - public static final int INTERNAL_CLASS_VERSION_1_2 = (INTERNAL_CLASS_VERSION_1_2_MAJOR << 16) | INTERNAL_CLASS_VERSION_1_2_MINOR; - public static final int INTERNAL_CLASS_VERSION_1_3 = (INTERNAL_CLASS_VERSION_1_3_MAJOR << 16) | INTERNAL_CLASS_VERSION_1_3_MINOR; - public static final int INTERNAL_CLASS_VERSION_1_4 = (INTERNAL_CLASS_VERSION_1_4_MAJOR << 16) | INTERNAL_CLASS_VERSION_1_4_MINOR; - public static final int INTERNAL_CLASS_VERSION_1_5 = (INTERNAL_CLASS_VERSION_1_5_MAJOR << 16) | INTERNAL_CLASS_VERSION_1_5_MINOR; - public static final int INTERNAL_CLASS_VERSION_1_6 = (INTERNAL_CLASS_VERSION_1_6_MAJOR << 16) | INTERNAL_CLASS_VERSION_1_6_MINOR; - public static final int INTERNAL_CLASS_VERSION_1_7 = (INTERNAL_CLASS_VERSION_1_7_MAJOR << 16) | INTERNAL_CLASS_VERSION_1_7_MINOR; + public static final int CLASS_VERSION_1_0 = (CLASS_VERSION_1_0_MAJOR << 16) | CLASS_VERSION_1_0_MINOR; + public static final int CLASS_VERSION_1_2 = (CLASS_VERSION_1_2_MAJOR << 16) | CLASS_VERSION_1_2_MINOR; + public static final int CLASS_VERSION_1_3 = (CLASS_VERSION_1_3_MAJOR << 16) | CLASS_VERSION_1_3_MINOR; + public static final int CLASS_VERSION_1_4 = (CLASS_VERSION_1_4_MAJOR << 16) | CLASS_VERSION_1_4_MINOR; + public static final int CLASS_VERSION_1_5 = (CLASS_VERSION_1_5_MAJOR << 16) | CLASS_VERSION_1_5_MINOR; + public static final int CLASS_VERSION_1_6 = (CLASS_VERSION_1_6_MAJOR << 16) | CLASS_VERSION_1_6_MINOR; + public static final int CLASS_VERSION_1_7 = (CLASS_VERSION_1_7_MAJOR << 16) | CLASS_VERSION_1_7_MINOR; + public static final int CLASS_VERSION_1_8 = (CLASS_VERSION_1_8_MAJOR << 16) | CLASS_VERSION_1_8_MINOR; - public static final String EXTERNAL_CLASS_VERSION_1_0 = "1.0"; - public static final String EXTERNAL_CLASS_VERSION_1_1 = "1.1"; - public static final String EXTERNAL_CLASS_VERSION_1_2 = "1.2"; - public static final String EXTERNAL_CLASS_VERSION_1_3 = "1.3"; - public static final String EXTERNAL_CLASS_VERSION_1_4 = "1.4"; - public static final String EXTERNAL_CLASS_VERSION_1_5 = "1.5"; - public static final String EXTERNAL_CLASS_VERSION_1_6 = "1.6"; - public static final String EXTERNAL_CLASS_VERSION_1_7 = "1.7"; - public static final String EXTERNAL_CLASS_VERSION_1_5_ALIAS = "5"; - public static final String EXTERNAL_CLASS_VERSION_1_6_ALIAS = "6"; - public static final String EXTERNAL_CLASS_VERSION_1_7_ALIAS = "7"; + public static final int ACC_PUBLIC = 0x0001; + public static final int ACC_PRIVATE = 0x0002; + public static final int ACC_PROTECTED = 0x0004; + public static final int ACC_STATIC = 0x0008; + public static final int ACC_FINAL = 0x0010; + public static final int ACC_SUPER = 0x0020; + public static final int ACC_SYNCHRONIZED = 0x0020; + public static final int ACC_VOLATILE = 0x0040; + public static final int ACC_TRANSIENT = 0x0080; + public static final int ACC_BRIDGE = 0x0040; + public static final int ACC_VARARGS = 0x0080; + public static final int ACC_NATIVE = 0x0100; + public static final int ACC_INTERFACE = 0x0200; + public static final int ACC_ABSTRACT = 0x0400; + public static final int ACC_STRICT = 0x0800; + public static final int ACC_SYNTHETIC = 0x1000; + public static final int ACC_ANNOTATTION = 0x2000; + public static final int ACC_ENUM = 0x4000; + public static final int ACC_MANDATED = 0x8000; - public static final int INTERNAL_ACC_PUBLIC = 0x0001; - public static final int INTERNAL_ACC_PRIVATE = 0x0002; - public static final int INTERNAL_ACC_PROTECTED = 0x0004; - public static final int INTERNAL_ACC_STATIC = 0x0008; - public static final int INTERNAL_ACC_FINAL = 0x0010; - public static final int INTERNAL_ACC_SUPER = 0x0020; - public static final int INTERNAL_ACC_SYNCHRONIZED = 0x0020; - public static final int INTERNAL_ACC_VOLATILE = 0x0040; - public static final int INTERNAL_ACC_TRANSIENT = 0x0080; - public static final int INTERNAL_ACC_BRIDGE = 0x0040; - public static final int INTERNAL_ACC_VARARGS = 0x0080; - public static final int INTERNAL_ACC_NATIVE = 0x0100; - public static final int INTERNAL_ACC_INTERFACE = 0x0200; - public static final int INTERNAL_ACC_ABSTRACT = 0x0400; - public static final int INTERNAL_ACC_STRICT = 0x0800; - public static final int INTERNAL_ACC_SYNTHETIC = 0x1000; - public static final int INTERNAL_ACC_ANNOTATTION = 0x2000; - public static final int INTERNAL_ACC_ENUM = 0x4000; - - public static final int VALID_INTERNAL_ACC_CLASS = INTERNAL_ACC_PUBLIC | - INTERNAL_ACC_FINAL | - INTERNAL_ACC_SUPER | - INTERNAL_ACC_INTERFACE | - INTERNAL_ACC_ABSTRACT | - INTERNAL_ACC_SYNTHETIC | - INTERNAL_ACC_ANNOTATTION | - INTERNAL_ACC_ENUM; - public static final int VALID_INTERNAL_ACC_FIELD = INTERNAL_ACC_PUBLIC | - INTERNAL_ACC_PRIVATE | - INTERNAL_ACC_PROTECTED | - INTERNAL_ACC_STATIC | - INTERNAL_ACC_FINAL | - INTERNAL_ACC_VOLATILE | - INTERNAL_ACC_TRANSIENT | - INTERNAL_ACC_SYNTHETIC | - INTERNAL_ACC_ENUM; - public static final int VALID_INTERNAL_ACC_METHOD = INTERNAL_ACC_PUBLIC | - INTERNAL_ACC_PRIVATE | - INTERNAL_ACC_PROTECTED | - INTERNAL_ACC_STATIC | - INTERNAL_ACC_FINAL | - INTERNAL_ACC_SYNCHRONIZED | - INTERNAL_ACC_BRIDGE | - INTERNAL_ACC_VARARGS | - INTERNAL_ACC_NATIVE | - INTERNAL_ACC_ABSTRACT | - INTERNAL_ACC_STRICT | - INTERNAL_ACC_SYNTHETIC; - - public static final String EXTERNAL_ACC_PUBLIC = "public"; - public static final String EXTERNAL_ACC_PRIVATE = "private"; - public static final String EXTERNAL_ACC_PROTECTED = "protected"; - public static final String EXTERNAL_ACC_STATIC = "static"; - public static final String EXTERNAL_ACC_FINAL = "final"; - public static final String EXTERNAL_ACC_SUPER = "super"; - public static final String EXTERNAL_ACC_SYNCHRONIZED = "synchronized"; - public static final String EXTERNAL_ACC_VOLATILE = "volatile"; - public static final String EXTERNAL_ACC_TRANSIENT = "transient"; - public static final String EXTERNAL_ACC_BRIDGE = "bridge"; - public static final String EXTERNAL_ACC_VARARGS = "varargs"; - public static final String EXTERNAL_ACC_NATIVE = "native"; - public static final String EXTERNAL_ACC_INTERFACE = "interface"; - public static final String EXTERNAL_ACC_ABSTRACT = "abstract"; - public static final String EXTERNAL_ACC_STRICT = "strictfp"; - public static final String EXTERNAL_ACC_SYNTHETIC = "synthetic"; - public static final String EXTERNAL_ACC_ANNOTATION = "@"; - public static final String EXTERNAL_ACC_ENUM = "enum"; + public static final int VALID_ACC_CLASS = ACC_PUBLIC | + ACC_FINAL | + ACC_SUPER | + ACC_INTERFACE | + ACC_ABSTRACT | + ACC_SYNTHETIC | + ACC_ANNOTATTION | + ACC_ENUM; + public static final int VALID_ACC_FIELD = ACC_PUBLIC | + ACC_PRIVATE | + ACC_PROTECTED | + ACC_STATIC | + ACC_FINAL | + ACC_VOLATILE | + ACC_TRANSIENT | + ACC_SYNTHETIC | + ACC_ENUM; + public static final int VALID_ACC_METHOD = ACC_PUBLIC | + ACC_PRIVATE | + ACC_PROTECTED | + ACC_STATIC | + ACC_FINAL | + ACC_SYNCHRONIZED | + ACC_BRIDGE | + ACC_VARARGS | + ACC_NATIVE | + ACC_ABSTRACT | + ACC_STRICT | + ACC_SYNTHETIC; + public static final int VALID_ACC_PARAMETER = ACC_FINAL | + ACC_SYNTHETIC | + ACC_MANDATED; public static final int CONSTANT_Utf8 = 1; public static final int CONSTANT_Integer = 3; @@ -168,6 +144,7 @@ public interface ClassConstants public static final String ATTR_Synthetic = "Synthetic"; public static final String ATTR_Signature = "Signature"; public static final String ATTR_ConstantValue = "ConstantValue"; + public static final String ATTR_MethodParameters = "MethodParameters"; public static final String ATTR_Exceptions = "Exceptions"; public static final String ATTR_Code = "Code"; public static final String ATTR_StackMap = "StackMap"; @@ -179,145 +156,183 @@ public interface ClassConstants public static final String ATTR_RuntimeInvisibleAnnotations = "RuntimeInvisibleAnnotations"; public static final String ATTR_RuntimeVisibleParameterAnnotations = "RuntimeVisibleParameterAnnotations"; public static final String ATTR_RuntimeInvisibleParameterAnnotations = "RuntimeInvisibleParameterAnnotations"; + public static final String ATTR_RuntimeVisibleTypeAnnotations = "RuntimeVisibleTypeAnnotations"; + public static final String ATTR_RuntimeInvisibleTypeAnnotations = "RuntimeInvisibleTypeAnnotations"; public static final String ATTR_AnnotationDefault = "AnnotationDefault"; + public static final int ANNOTATION_TARGET_ParameterGenericClass = 0x00; + public static final int ANNOTATION_TARGET_ParameterGenericMethod = 0x01; + public static final int ANNOTATION_TARGET_Extends = 0x10; + public static final int ANNOTATION_TARGET_BoundGenericClass = 0x11; + public static final int ANNOTATION_TARGET_BoundGenericMethod = 0x12; + public static final int ANNOTATION_TARGET_Field = 0x13; + public static final int ANNOTATION_TARGET_Return = 0x14; + public static final int ANNOTATION_TARGET_Receiver = 0x15; + public static final int ANNOTATION_TARGET_Parameter = 0x16; + public static final int ANNOTATION_TARGET_Throws = 0x17; + public static final int ANNOTATION_TARGET_LocalVariable = 0x40; + public static final int ANNOTATION_TARGET_ResourceVariable = 0x41; + public static final int ANNOTATION_TARGET_Catch = 0x42; + public static final int ANNOTATION_TARGET_InstanceOf = 0x43; + public static final int ANNOTATION_TARGET_New = 0x44; + public static final int ANNOTATION_TARGET_MethodReferenceNew = 0x45; + public static final int ANNOTATION_TARGET_MethodReference = 0x46; + public static final int ANNOTATION_TARGET_Cast = 0x47; + public static final int ANNOTATION_TARGET_ArgumentGenericMethodNew = 0x48; + public static final int ANNOTATION_TARGET_ArgumentGenericMethod = 0x49; + public static final int ANNOTATION_TARGET_ArgumentGenericMethodReferenceNew = 0x4a; + public static final int ANNOTATION_TARGET_ArgumentGenericMethodReference = 0x4b; + public static final char ELEMENT_VALUE_STRING_CONSTANT = 's'; public static final char ELEMENT_VALUE_ENUM_CONSTANT = 'e'; public static final char ELEMENT_VALUE_CLASS = 'c'; public static final char ELEMENT_VALUE_ANNOTATION = '@'; public static final char ELEMENT_VALUE_ARRAY = '['; - public static final char EXTERNAL_PACKAGE_SEPARATOR = '.'; - public static final char EXTERNAL_INNER_CLASS_SEPARATOR = '.'; - public static final char INTERNAL_PACKAGE_SEPARATOR = '/'; - public static final char INTERNAL_INNER_CLASS_SEPARATOR = '$'; - public static final char SPECIAL_CLASS_CHARACTER = '-'; - public static final char SPECIAL_MEMBER_SEPARATOR = '$'; - - public static final char EXTERNAL_METHOD_ARGUMENTS_OPEN = '('; - public static final char EXTERNAL_METHOD_ARGUMENTS_CLOSE = ')'; - public static final char EXTERNAL_METHOD_ARGUMENTS_SEPARATOR = ','; - - public static final char INTERNAL_METHOD_ARGUMENTS_OPEN = '('; - public static final char INTERNAL_METHOD_ARGUMENTS_CLOSE = ')'; + public static final char PACKAGE_SEPARATOR = '/'; + public static final char INNER_CLASS_SEPARATOR = '$'; + public static final char SPECIAL_CLASS_CHARACTER = '-'; + public static final char SPECIAL_MEMBER_SEPARATOR = '$'; - public static final String INTERNAL_PACKAGE_JAVA_LANG = "java/lang/"; - public static final String INTERNAL_NAME_JAVA_LANG_OBJECT = "java/lang/Object"; - public static final String INTERNAL_TYPE_JAVA_LANG_OBJECT = "Ljava/lang/Object;"; - public static final String INTERNAL_NAME_JAVA_LANG_CLONEABLE = "java/lang/Cloneable"; - public static final String INTERNAL_NAME_JAVA_LANG_THROWABLE = "java/lang/Throwable"; - public static final String INTERNAL_NAME_JAVA_LANG_CLASS = "java/lang/Class"; - public static final String INTERNAL_NAME_JAVA_LANG_STRING = "java/lang/String"; - public static final String INTERNAL_NAME_JAVA_LANG_STRING_BUFFER = "java/lang/StringBuffer"; - public static final String INTERNAL_NAME_JAVA_LANG_STRING_BUILDER = "java/lang/StringBuilder"; - public static final String INTERNAL_NAME_JAVA_LANG_INVOKE_METHOD_HANDLE = "java/lang/invoke/MethodHandle"; - public static final String INTERNAL_NAME_JAVA_LANG_INVOKE_METHOD_TYPE = "java/lang/invoke/MethodType"; - public static final String INTERNAL_NAME_JAVA_IO_SERIALIZABLE = "java/io/Serializable"; + public static final char METHOD_ARGUMENTS_OPEN = '('; + public static final char METHOD_ARGUMENTS_CLOSE = ')'; - public static final String INTERNAL_NAME_JAVA_UTIL_CONCURRENT_ATOMIC_ATOMIC_INTEGER_FIELD_UPDATER = "java/util/concurrent/atomic/AtomicIntegerFieldUpdater"; - public static final String INTERNAL_NAME_JAVA_UTIL_CONCURRENT_ATOMIC_ATOMIC_LONG_FIELD_UPDATER = "java/util/concurrent/atomic/AtomicLongFieldUpdater"; - public static final String INTERNAL_NAME_JAVA_UTIL_CONCURRENT_ATOMIC_ATOMIC_REFERENCE_FIELD_UPDATER = "java/util/concurrent/atomic/AtomicReferenceFieldUpdater"; + public static final String PACKAGE_JAVA_LANG = "java/lang/"; + public static final String NAME_JAVA_LANG_OBJECT = "java/lang/Object"; + public static final String TYPE_JAVA_LANG_OBJECT = "Ljava/lang/Object;"; + public static final String NAME_JAVA_LANG_CLONEABLE = "java/lang/Cloneable"; + public static final String NAME_JAVA_LANG_THROWABLE = "java/lang/Throwable"; + public static final String NAME_JAVA_LANG_CLASS = "java/lang/Class"; + public static final String NAME_JAVA_LANG_STRING = "java/lang/String"; + public static final String NAME_JAVA_LANG_STRING_BUFFER = "java/lang/StringBuffer"; + public static final String NAME_JAVA_LANG_STRING_BUILDER = "java/lang/StringBuilder"; + public static final String NAME_JAVA_LANG_INVOKE_METHOD_HANDLE = "java/lang/invoke/MethodHandle"; + public static final String NAME_JAVA_LANG_INVOKE_METHOD_TYPE = "java/lang/invoke/MethodType"; + public static final String NAME_JAVA_LANG_VOID = "java/lang/Void"; + public static final String NAME_JAVA_LANG_BOOLEAN = "java/lang/Boolean"; + public static final String NAME_JAVA_LANG_BYTE = "java/lang/Byte"; + public static final String NAME_JAVA_LANG_SHORT = "java/lang/Short"; + public static final String NAME_JAVA_LANG_CHARACTER = "java/lang/Character"; + public static final String NAME_JAVA_LANG_INTEGER = "java/lang/Integer"; + public static final String NAME_JAVA_LANG_LONG = "java/lang/Long"; + public static final String NAME_JAVA_LANG_FLOAT = "java/lang/Float"; + public static final String NAME_JAVA_LANG_DOUBLE = "java/lang/Double"; + public static final String NAME_JAVA_LANG_MATH = "java/lang/Math"; + public static final String NAME_JAVA_LANG_SYSTEM = "java/lang/System"; + public static final String NAME_JAVA_LANG_RUNTIME = "java/lang/Runtime"; + public static final String NAME_JAVA_LANG_REFLECT_ARRAY = "java/lang/reflect/Array"; + public static final String NAME_JAVA_LANG_REFLECT_FIELD = "java/lang/reflect/Field"; + public static final String NAME_JAVA_LANG_REFLECT_METHOD = "java/lang/reflect/Method"; + public static final String NAME_JAVA_LANG_REFLECT_CONSTRUCTOR = "java/lang/reflect/Constructor"; + public static final String NAME_JAVA_LANG_REFLECT_ACCESSIBLE_OBJECT = "java/lang/reflect/AccessibleObject"; + public static final String NAME_JAVA_IO_SERIALIZABLE = "java/io/Serializable"; - public static final String INTERNAL_METHOD_NAME_INIT = "<init>"; - public static final String INTERNAL_METHOD_TYPE_INIT = "()V"; - public static final String INTERNAL_METHOD_NAME_CLINIT = "<clinit>"; - public static final String INTERNAL_METHOD_TYPE_CLINIT = "()V"; + public static final String NAME_JAVA_UTIL_CONCURRENT_ATOMIC_ATOMIC_INTEGER_FIELD_UPDATER = "java/util/concurrent/atomic/AtomicIntegerFieldUpdater"; + public static final String NAME_JAVA_UTIL_CONCURRENT_ATOMIC_ATOMIC_LONG_FIELD_UPDATER = "java/util/concurrent/atomic/AtomicLongFieldUpdater"; + public static final String NAME_JAVA_UTIL_CONCURRENT_ATOMIC_ATOMIC_REFERENCE_FIELD_UPDATER = "java/util/concurrent/atomic/AtomicReferenceFieldUpdater"; - public static final String INTERNAL_METHOD_NAME_CLASS_FOR_NAME = "forName"; - public static final String INTERNAL_METHOD_TYPE_CLASS_FOR_NAME = "(Ljava/lang/String;)Ljava/lang/Class;"; - public static final String INTERNAL_METHOD_NAME_CLASS_GET_COMPONENT_TYPE = "getComponentType"; - public static final String INTERNAL_METHOD_TYPE_CLASS_GET_COMPONENT_TYPE = "()Ljava/lang/Class;"; - public static final String INTERNAL_METHOD_NAME_CLASS_GET_FIELD = "getField"; - public static final String INTERNAL_METHOD_TYPE_CLASS_GET_FIELD = "(Ljava/lang/String;)Ljava/lang/reflect/Field;"; - public static final String INTERNAL_METHOD_NAME_CLASS_GET_DECLARED_FIELD = "getDeclaredField"; - public static final String INTERNAL_METHOD_TYPE_CLASS_GET_DECLARED_FIELD = "(Ljava/lang/String;)Ljava/lang/reflect/Field;"; - public static final String INTERNAL_CONSTRUCTOR_NAME_CLASS_GET_CONSTRUCTOR = "getConstructor"; - public static final String INTERNAL_CONSTRUCTOR_TYPE_CLASS_GET_CONSTRUCTOR = "([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;"; - public static final String INTERNAL_CONSTRUCTOR_NAME_CLASS_GET_DECLARED_CONSTRUCTOR = "getDeclaredConstructor"; - public static final String INTERNAL_CONSTRUCTOR_TYPE_CLASS_GET_DECLARED_CONSTRUCTOR = "([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;"; - public static final String INTERNAL_METHOD_NAME_CLASS_GET_METHOD = "getMethod"; - public static final String INTERNAL_METHOD_TYPE_CLASS_GET_METHOD = "(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;"; - public static final String INTERNAL_METHOD_NAME_CLASS_GET_DECLARED_METHOD = "getDeclaredMethod"; - public static final String INTERNAL_METHOD_TYPE_CLASS_GET_DECLARED_METHOD = "(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;"; - public static final String INTERNAL_METHOD_NAME_NEW_UPDATER = "newUpdater"; - public static final String INTERNAL_METHOD_TYPE_NEW_INTEGER_UPDATER = "(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;"; - public static final String INTERNAL_METHOD_TYPE_NEW_LONG_UPDATER = "(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;"; - public static final String INTERNAL_METHOD_TYPE_NEW_REFERENCE_UPDATER = "(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;"; + public static final String METHOD_NAME_INIT = "<init>"; + public static final String METHOD_TYPE_INIT = "()V"; + public static final String METHOD_NAME_CLINIT = "<clinit>"; + public static final String METHOD_TYPE_CLINIT = "()V"; - public static final String INTERNAL_METHOD_NAME_DOT_CLASS_JAVAC = "class$"; - public static final String INTERNAL_METHOD_TYPE_DOT_CLASS_JAVAC = "(Ljava/lang/String;)Ljava/lang/Class;"; - public static final String INTERNAL_METHOD_NAME_DOT_CLASS_JIKES = "class"; - public static final String INTERNAL_METHOD_TYPE_DOT_CLASS_JIKES = "(Ljava/lang/String;Z)Ljava/lang/Class;"; + public static final String METHOD_NAME_CLASS_FOR_NAME = "forName"; + public static final String METHOD_TYPE_CLASS_FOR_NAME = "(Ljava/lang/String;)Ljava/lang/Class;"; + public static final String METHOD_NAME_CLASS_GET_COMPONENT_TYPE = "getComponentType"; + public static final String METHOD_TYPE_CLASS_GET_COMPONENT_TYPE = "()Ljava/lang/Class;"; + public static final String METHOD_NAME_CLASS_GET_FIELD = "getField"; + public static final String METHOD_TYPE_CLASS_GET_FIELD = "(Ljava/lang/String;)Ljava/lang/reflect/Field;"; + public static final String METHOD_NAME_CLASS_GET_DECLARED_FIELD = "getDeclaredField"; + public static final String METHOD_TYPE_CLASS_GET_DECLARED_FIELD = "(Ljava/lang/String;)Ljava/lang/reflect/Field;"; + public static final String CONSTRUCTOR_NAME_CLASS_GET_CONSTRUCTOR = "getConstructor"; + public static final String CONSTRUCTOR_TYPE_CLASS_GET_CONSTRUCTOR = "([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;"; + public static final String CONSTRUCTOR_NAME_CLASS_GET_DECLARED_CONSTRUCTOR = "getDeclaredConstructor"; + public static final String CONSTRUCTOR_TYPE_CLASS_GET_DECLARED_CONSTRUCTOR = "([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;"; + public static final String METHOD_NAME_CLASS_GET_METHOD = "getMethod"; + public static final String METHOD_TYPE_CLASS_GET_METHOD = "(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;"; + public static final String METHOD_NAME_CLASS_GET_DECLARED_METHOD = "getDeclaredMethod"; + public static final String METHOD_TYPE_CLASS_GET_DECLARED_METHOD = "(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;"; + public static final String METHOD_NAME_CLASS_GET_DECLARING_CLASS = "getDeclaringClass"; + public static final String METHOD_NAME_CLASS_GET_ENCLOSING_CLASS = "getEnclosingClass"; + public static final String METHOD_NAME_CLASS_GET_ENCLOSING_CONSTRUCTOR = "getEnclosingConstructor"; + public static final String METHOD_NAME_CLASS_GET_ENCLOSING_METHOD = "getEnclosingMethod"; + public static final String METHOD_NAME_GET_ANNOTATION = "getAnnotation"; + public static final String METHOD_NAME_GET_ANNOTATIONS = "getAnnotations"; + public static final String METHOD_NAME_GET_DECLARED_ANNOTATIONS = "getDeclaredAnnotations"; + public static final String METHOD_NAME_GET_PARAMETER_ANNOTATIONS = "getParameterAnnotations"; + public static final String METHOD_NAME_GET_TYPE_PREFIX = "getType"; + public static final String METHOD_NAME_GET_GENERIC_PREFIX = "getGeneric"; + public static final String METHOD_NAME_NEW_UPDATER = "newUpdater"; + public static final String METHOD_TYPE_NEW_INTEGER_UPDATER = "(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;"; + public static final String METHOD_TYPE_NEW_LONG_UPDATER = "(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;"; + public static final String METHOD_TYPE_NEW_REFERENCE_UPDATER = "(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;"; - public static final String INTERNAL_METHOD_TYPE_INIT_ENUM = "(Ljava/lang/String;I)V"; + public static final String METHOD_NAME_DOT_CLASS_JAVAC = "class$"; + public static final String METHOD_TYPE_DOT_CLASS_JAVAC = "(Ljava/lang/String;)Ljava/lang/Class;"; + public static final String METHOD_NAME_DOT_CLASS_JIKES = "class"; + public static final String METHOD_TYPE_DOT_CLASS_JIKES = "(Ljava/lang/String;Z)Ljava/lang/Class;"; - public static final String INTERNAL_METHOD_NAME_NEW_INSTANCE = "newInstance"; - public static final String INTERNAL_METHOD_TYPE_NEW_INSTANCE = "()Ljava/lang/Object;"; + public static final String METHOD_TYPE_INIT_ENUM = "(Ljava/lang/String;I)V"; - public static final String INTERNAL_METHOD_NAME_EQUALS = "equals"; - public static final String INTERNAL_METHOD_TYPE_EQUALS = "(Ljava/lang/Object;)Z"; - public static final String INTERNAL_METHOD_NAME_LENGTH = "length"; - public static final String INTERNAL_METHOD_NAME_VALUEOF = "valueOf"; - public static final String INTERNAL_METHOD_TYPE_VALUEOF_BOOLEAN = "(Z)Ljava/lang/String;"; - public static final String INTERNAL_METHOD_TYPE_VALUEOF_CHAR = "(C)Ljava/lang/String;"; - public static final String INTERNAL_METHOD_TYPE_VALUEOF_INT = "(I)Ljava/lang/String;"; - public static final String INTERNAL_METHOD_TYPE_VALUEOF_LONG = "(J)Ljava/lang/String;"; - public static final String INTERNAL_METHOD_TYPE_VALUEOF_FLOAT = "(F)Ljava/lang/String;"; - public static final String INTERNAL_METHOD_TYPE_VALUEOF_DOUBLE = "(D)Ljava/lang/String;"; - public static final String INTERNAL_METHOD_TYPE_VALUEOF_OBJECT = "(Ljava/lang/Object;)Ljava/lang/String;"; + public static final String METHOD_NAME_NEW_INSTANCE = "newInstance"; + public static final String METHOD_TYPE_NEW_INSTANCE = "()Ljava/lang/Object;"; - public static final String INTERNAL_METHOD_TYPE_LENGTH = "()I"; - public static final String INTERNAL_METHOD_NAME_APPEND = "append"; - public static final String INTERNAL_METHOD_TYPE_STRING_VOID = "(Ljava/lang/String;)V"; - public static final String INTERNAL_METHOD_TYPE_BOOLEAN_STRING_BUFFER = "(Z)Ljava/lang/StringBuffer;"; - public static final String INTERNAL_METHOD_TYPE_CHAR_STRING_BUFFER = "(C)Ljava/lang/StringBuffer;"; - public static final String INTERNAL_METHOD_TYPE_INT_STRING_BUFFER = "(I)Ljava/lang/StringBuffer;"; - public static final String INTERNAL_METHOD_TYPE_LONG_STRING_BUFFER = "(J)Ljava/lang/StringBuffer;"; - public static final String INTERNAL_METHOD_TYPE_FLOAT_STRING_BUFFER = "(F)Ljava/lang/StringBuffer;"; - public static final String INTERNAL_METHOD_TYPE_DOUBLE_STRING_BUFFER = "(D)Ljava/lang/StringBuffer;"; - public static final String INTERNAL_METHOD_TYPE_STRING_STRING_BUFFER = "(Ljava/lang/String;)Ljava/lang/StringBuffer;"; - public static final String INTERNAL_METHOD_TYPE_OBJECT_STRING_BUFFER = "(Ljava/lang/Object;)Ljava/lang/StringBuffer;"; - public static final String INTERNAL_METHOD_TYPE_BOOLEAN_STRING_BUILDER = "(Z)Ljava/lang/StringBuilder;"; - public static final String INTERNAL_METHOD_TYPE_CHAR_STRING_BUILDER = "(C)Ljava/lang/StringBuilder;"; - public static final String INTERNAL_METHOD_TYPE_INT_STRING_BUILDER = "(I)Ljava/lang/StringBuilder;"; - public static final String INTERNAL_METHOD_TYPE_LONG_STRING_BUILDER = "(J)Ljava/lang/StringBuilder;"; - public static final String INTERNAL_METHOD_TYPE_FLOAT_STRING_BUILDER = "(F)Ljava/lang/StringBuilder;"; - public static final String INTERNAL_METHOD_TYPE_DOUBLE_STRING_BUILDER = "(D)Ljava/lang/StringBuilder;"; - public static final String INTERNAL_METHOD_TYPE_STRING_STRING_BUILDER = "(Ljava/lang/String;)Ljava/lang/StringBuilder;"; - public static final String INTERNAL_METHOD_TYPE_OBJECT_STRING_BUILDER = "(Ljava/lang/Object;)Ljava/lang/StringBuilder;"; - public static final String INTERNAL_METHOD_NAME_TOSTRING = "toString"; - public static final String INTERNAL_METHOD_TYPE_TOSTRING = "()Ljava/lang/String;"; + public static final String METHOD_NAME_EQUALS = "equals"; + public static final String METHOD_TYPE_EQUALS = "(Ljava/lang/Object;)Z"; + public static final String METHOD_NAME_LENGTH = "length"; + public static final String METHOD_NAME_VALUEOF = "valueOf"; + public static final String METHOD_TYPE_VALUEOF_BOOLEAN = "(Z)Ljava/lang/String;"; + public static final String METHOD_TYPE_VALUEOF_CHAR = "(C)Ljava/lang/String;"; + public static final String METHOD_TYPE_VALUEOF_INT = "(I)Ljava/lang/String;"; + public static final String METHOD_TYPE_VALUEOF_LONG = "(J)Ljava/lang/String;"; + public static final String METHOD_TYPE_VALUEOF_FLOAT = "(F)Ljava/lang/String;"; + public static final String METHOD_TYPE_VALUEOF_DOUBLE = "(D)Ljava/lang/String;"; + public static final String METHOD_TYPE_VALUEOF_OBJECT = "(Ljava/lang/Object;)Ljava/lang/String;"; - public static final char INTERNAL_TYPE_VOID = 'V'; - public static final char INTERNAL_TYPE_BOOLEAN = 'Z'; - public static final char INTERNAL_TYPE_BYTE = 'B'; - public static final char INTERNAL_TYPE_CHAR = 'C'; - public static final char INTERNAL_TYPE_SHORT = 'S'; - public static final char INTERNAL_TYPE_INT = 'I'; - public static final char INTERNAL_TYPE_LONG = 'J'; - public static final char INTERNAL_TYPE_FLOAT = 'F'; - public static final char INTERNAL_TYPE_DOUBLE = 'D'; - public static final char INTERNAL_TYPE_CLASS_START = 'L'; - public static final char INTERNAL_TYPE_CLASS_END = ';'; - public static final char INTERNAL_TYPE_ARRAY = '['; - public static final char INTERNAL_TYPE_GENERIC_VARIABLE_START = 'T'; - public static final char INTERNAL_TYPE_GENERIC_START = '<'; - public static final char INTERNAL_TYPE_GENERIC_BOUND = ':'; - public static final char INTERNAL_TYPE_GENERIC_END = '>'; + public static final String METHOD_TYPE_LENGTH = "()I"; + public static final String METHOD_NAME_APPEND = "append"; + public static final String METHOD_TYPE_STRING_VOID = "(Ljava/lang/String;)V"; + public static final String METHOD_TYPE_BOOLEAN_STRING_BUFFER = "(Z)Ljava/lang/StringBuffer;"; + public static final String METHOD_TYPE_CHAR_STRING_BUFFER = "(C)Ljava/lang/StringBuffer;"; + public static final String METHOD_TYPE_INT_STRING_BUFFER = "(I)Ljava/lang/StringBuffer;"; + public static final String METHOD_TYPE_LONG_STRING_BUFFER = "(J)Ljava/lang/StringBuffer;"; + public static final String METHOD_TYPE_FLOAT_STRING_BUFFER = "(F)Ljava/lang/StringBuffer;"; + public static final String METHOD_TYPE_DOUBLE_STRING_BUFFER = "(D)Ljava/lang/StringBuffer;"; + public static final String METHOD_TYPE_STRING_STRING_BUFFER = "(Ljava/lang/String;)Ljava/lang/StringBuffer;"; + public static final String METHOD_TYPE_OBJECT_STRING_BUFFER = "(Ljava/lang/Object;)Ljava/lang/StringBuffer;"; + public static final String METHOD_TYPE_BOOLEAN_STRING_BUILDER = "(Z)Ljava/lang/StringBuilder;"; + public static final String METHOD_TYPE_CHAR_STRING_BUILDER = "(C)Ljava/lang/StringBuilder;"; + public static final String METHOD_TYPE_INT_STRING_BUILDER = "(I)Ljava/lang/StringBuilder;"; + public static final String METHOD_TYPE_LONG_STRING_BUILDER = "(J)Ljava/lang/StringBuilder;"; + public static final String METHOD_TYPE_FLOAT_STRING_BUILDER = "(F)Ljava/lang/StringBuilder;"; + public static final String METHOD_TYPE_DOUBLE_STRING_BUILDER = "(D)Ljava/lang/StringBuilder;"; + public static final String METHOD_TYPE_STRING_STRING_BUILDER = "(Ljava/lang/String;)Ljava/lang/StringBuilder;"; + public static final String METHOD_TYPE_OBJECT_STRING_BUILDER = "(Ljava/lang/Object;)Ljava/lang/StringBuilder;"; + public static final String METHOD_NAME_TOSTRING = "toString"; + public static final String METHOD_TYPE_TOSTRING = "()Ljava/lang/String;"; + public static final String METHOD_NAME_CLONE = "clone"; + public static final String METHOD_TYPE_CLONE = "()Ljava/lang/Object;"; - public static final String EXTERNAL_TYPE_JAVA_LANG_OBJECT = "java.lang.Object"; - public static final String EXTERNAL_PACKAGE_JAVA_LANG = "java.lang."; + public static final String METHOD_NAME_VALUES = "values"; + public static final String METHOD_NAME_ORDINAL = "ordinal"; + public static final String METHOD_TYPE_ORDINAL = "()I"; - public static final String EXTERNAL_TYPE_VOID = "void"; - public static final String EXTERNAL_TYPE_BOOLEAN = "boolean"; - public static final String EXTERNAL_TYPE_BYTE = "byte"; - public static final String EXTERNAL_TYPE_CHAR = "char"; - public static final String EXTERNAL_TYPE_SHORT = "short"; - public static final String EXTERNAL_TYPE_INT = "int"; - public static final String EXTERNAL_TYPE_FLOAT = "float"; - public static final String EXTERNAL_TYPE_LONG = "long"; - public static final String EXTERNAL_TYPE_DOUBLE = "double"; - public static final String EXTERNAL_TYPE_ARRAY = "[]"; + public static final char TYPE_VOID = 'V'; + public static final char TYPE_BOOLEAN = 'Z'; + public static final char TYPE_BYTE = 'B'; + public static final char TYPE_CHAR = 'C'; + public static final char TYPE_SHORT = 'S'; + public static final char TYPE_INT = 'I'; + public static final char TYPE_LONG = 'J'; + public static final char TYPE_FLOAT = 'F'; + public static final char TYPE_DOUBLE = 'D'; + public static final char TYPE_CLASS_START = 'L'; + public static final char TYPE_CLASS_END = ';'; + public static final char TYPE_ARRAY = '['; + public static final char TYPE_GENERIC_VARIABLE_START = 'T'; + public static final char TYPE_GENERIC_START = '<'; + public static final char TYPE_GENERIC_BOUND = ':'; + public static final char TYPE_GENERIC_END = '>'; public static final int TYPICAL_CONSTANT_POOL_SIZE = 256; public static final int TYPICAL_FIELD_COUNT = 64; |