public final class java.lang.Class<T> implements java.io.Serializable, java.lang.reflect.GenericDeclaration, java.lang.reflect.Type, java.lang.reflect.AnnotatedElement
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: java.lang.Class
super_class: java.lang.Object
{
private static final int ANNOTATION;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8192
private static final int ENUM;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16384
private static final int SYNTHETIC;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4096
private volatile transient java.lang.reflect.Constructor<T> cachedConstructor;
descriptor: Ljava/lang/reflect/Constructor;
flags: (0x00c2) ACC_PRIVATE, ACC_VOLATILE, ACC_TRANSIENT
Signature: Ljava/lang/reflect/Constructor<TT;>;
private volatile transient java.lang.Class<?> newInstanceCallerCache;
descriptor: Ljava/lang/Class;
flags: (0x00c2) ACC_PRIVATE, ACC_VOLATILE, ACC_TRANSIENT
Signature: Ljava/lang/Class<*>;
private transient java.lang.String name;
descriptor: Ljava/lang/String;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private static java.security.ProtectionDomain allPermDomain;
descriptor: Ljava/security/ProtectionDomain;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static boolean useCaches;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private volatile transient java.lang.ref.SoftReference<java.lang.Class$ReflectionData<T>> reflectionData;
descriptor: Ljava/lang/ref/SoftReference;
flags: (0x00c2) ACC_PRIVATE, ACC_VOLATILE, ACC_TRANSIENT
Signature: Ljava/lang/ref/SoftReference<Ljava/lang/Class$ReflectionData<TT;>;>;
private volatile transient int classRedefinedCount;
descriptor: I
flags: (0x00c2) ACC_PRIVATE, ACC_VOLATILE, ACC_TRANSIENT
private transient sun.reflect.generics.repository.ClassRepository genericInfo;
descriptor: Lsun/reflect/generics/repository/ClassRepository;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3206093459760846163
private static final java.io.ObjectStreamField[] serialPersistentFields;
descriptor: [Ljava/io/ObjectStreamField;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static sun.reflect.ReflectionFactory reflectionFactory;
descriptor: Lsun/reflect/ReflectionFactory;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static boolean initted;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private volatile transient T[] enumConstants;
descriptor: [Ljava/lang/Object;
flags: (0x00c2) ACC_PRIVATE, ACC_VOLATILE, ACC_TRANSIENT
Signature: [TT;
private volatile transient java.util.Map<java.lang.String, T> enumConstantDirectory;
descriptor: Ljava/util/Map;
flags: (0x00c2) ACC_PRIVATE, ACC_VOLATILE, ACC_TRANSIENT
Signature: Ljava/util/Map<Ljava/lang/String;TT;>;
private static java.lang.annotation.Annotation[] EMPTY_ANNOTATIONS_ARRAY;
descriptor: [Ljava/lang/annotation/Annotation;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private transient java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>, java.lang.annotation.Annotation> annotations;
descriptor: Ljava/util/Map;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
Signature: Ljava/util/Map<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;Ljava/lang/annotation/Annotation;>;
private transient java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>, java.lang.annotation.Annotation> declaredAnnotations;
descriptor: Ljava/util/Map;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
Signature: Ljava/util/Map<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;Ljava/lang/annotation/Annotation;>;
private transient int lastAnnotationsRedefinedCount;
descriptor: I
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private volatile transient sun.reflect.annotation.AnnotationType annotationType;
descriptor: Lsun/reflect/annotation/AnnotationType;
flags: (0x00c2) ACC_PRIVATE, ACC_VOLATILE, ACC_TRANSIENT
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic java.lang.Class.registerNatives:()V
1: iconst_1
putstatic java.lang.Class.useCaches:Z
2: iconst_0
anewarray java.io.ObjectStreamField
3: putstatic java.lang.Class.serialPersistentFields:[Ljava/io/ObjectStreamField;
4: iconst_0
putstatic java.lang.Class.initted:Z
5: iconst_0
anewarray java.lang.annotation.Annotation
putstatic java.lang.Class.EMPTY_ANNOTATIONS_ARRAY:[Ljava/lang/annotation/Annotation;
return
LocalVariableTable:
Start End Slot Name Signature
private static native void registerNatives();
descriptor: ()V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield java.lang.Class.classRedefinedCount:I
2: aload 0
aconst_null
putfield java.lang.Class.enumConstants:[Ljava/lang/Object;
3: aload 0
aconst_null
putfield java.lang.Class.enumConstantDirectory:Ljava/util/Map;
4: aload 0
iconst_0
putfield java.lang.Class.lastAnnotationsRedefinedCount:I
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/lang/Class<TT;>;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
invokevirtual java.lang.Class.isInterface:()Z
ifeq 1
ldc "interface "
goto 3
StackMap locals: java.lang.Class
StackMap stack: new 0 new 0
1: aload 0
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 2
ldc ""
goto 3
StackMap locals: java.lang.Class
StackMap stack: new 0 new 0
2: ldc "class "
StackMap locals: java.lang.Class
StackMap stack: new 0 new 0 java.lang.String
3: invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
4: aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/lang/Class<TT;>;
public static java.lang.Class<?> forName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Class;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: invokestatic sun.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
astore 1
start local 1 1: aload 0
iconst_1
aload 1
invokestatic java.lang.ClassLoader.getClassLoader:(Ljava/lang/Class;)Ljava/lang/ClassLoader;
aload 1
invokestatic java.lang.Class.forName0:(Ljava/lang/String;ZLjava/lang/ClassLoader;Ljava/lang/Class;)Ljava/lang/Class;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 className Ljava/lang/String;
1 2 1 caller Ljava/lang/Class<*>;
Exceptions:
throws java.lang.ClassNotFoundException
Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
RuntimeVisibleAnnotations:
sun.reflect.CallerSensitive()
MethodParameters:
Name Flags
className
public static java.lang.Class<?> forName(java.lang.String, boolean, java.lang.ClassLoader);
descriptor: (Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 4
start local 4 2: aload 4
ifnull 10
3: invokestatic sun.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
astore 3
4: aload 2
ifnonnull 10
5: aload 3
invokestatic java.lang.ClassLoader.getClassLoader:(Ljava/lang/Class;)Ljava/lang/ClassLoader;
astore 5
start local 5 6: aload 5
ifnull 10
7: aload 4
8: getstatic sun.security.util.SecurityConstants.GET_CLASSLOADER_PERMISSION:Ljava/lang/RuntimePermission;
9: invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
end local 5 10: StackMap locals: java.lang.Class java.lang.SecurityManager
StackMap stack:
aload 0
iload 1
aload 2
aload 3
invokestatic java.lang.Class.forName0:(Ljava/lang/String;ZLjava/lang/ClassLoader;Ljava/lang/Class;)Ljava/lang/Class;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 name Ljava/lang/String;
0 11 1 initialize Z
0 11 2 loader Ljava/lang/ClassLoader;
1 11 3 caller Ljava/lang/Class<*>;
2 11 4 sm Ljava/lang/SecurityManager;
6 10 5 ccl Ljava/lang/ClassLoader;
Exceptions:
throws java.lang.ClassNotFoundException
Signature: (Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class<*>;
RuntimeVisibleAnnotations:
sun.reflect.CallerSensitive()
MethodParameters:
Name Flags
name
initialize
loader
private static native java.lang.Class<?> forName0(java.lang.String, boolean, java.lang.ClassLoader, java.lang.Class<?>);
descriptor: (Ljava/lang/String;ZLjava/lang/ClassLoader;Ljava/lang/Class;)Ljava/lang/Class;
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
Exceptions:
throws java.lang.ClassNotFoundException
Signature: (Ljava/lang/String;ZLjava/lang/ClassLoader;Ljava/lang/Class<*>;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
name
initialize
loader
caller
public T newInstance();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
ifnull 2
1: aload 0
iconst_0
invokestatic sun.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
iconst_0
invokevirtual java.lang.Class.checkMemberAccess:(ILjava/lang/Class;Z)V
2: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.Class.cachedConstructor:Ljava/lang/reflect/Constructor;
ifnonnull 15
3: aload 0
ldc Ljava/lang/Class;
if_acmpne 7
4: new java.lang.IllegalAccessException
dup
5: ldc "Can not call newInstance() on the Class for java.lang.Class"
6: invokespecial java.lang.IllegalAccessException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
iconst_0
anewarray java.lang.Class
astore 1
start local 1 8: aload 0
aload 1
iconst_1
invokevirtual java.lang.Class.getConstructor0:([Ljava/lang/Class;I)Ljava/lang/reflect/Constructor;
astore 2
start local 2 9: new java.lang.Class$1
dup
aload 0
aload 2
invokespecial java.lang.Class$1.<init>:(Ljava/lang/Class;Ljava/lang/reflect/Constructor;)V
10: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
11: aload 0
aload 2
putfield java.lang.Class.cachedConstructor:Ljava/lang/reflect/Constructor;
end local 2 end local 1 12: goto 15
StackMap locals:
StackMap stack: java.lang.NoSuchMethodException
13: pop
14: new java.lang.InstantiationException
dup
aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokespecial java.lang.InstantiationException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.Class.cachedConstructor:Ljava/lang/reflect/Constructor;
astore 1
start local 1 16: aload 1
invokevirtual java.lang.reflect.Constructor.getModifiers:()I
istore 2
start local 2 17: aload 0
iload 2
invokestatic sun.reflect.Reflection.quickCheckMemberAccess:(Ljava/lang/Class;I)Z
ifne 22
18: invokestatic sun.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
astore 3
start local 3 19: aload 0
getfield java.lang.Class.newInstanceCallerCache:Ljava/lang/Class;
aload 3
if_acmpeq 22
20: aload 3
aload 0
aconst_null
iload 2
invokestatic sun.reflect.Reflection.ensureMemberAccess:(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Object;I)V
21: aload 0
aload 3
putfield java.lang.Class.newInstanceCallerCache:Ljava/lang/Class;
end local 3 22: StackMap locals: java.lang.reflect.Constructor int
StackMap stack:
aload 1
aconst_null
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
23: areturn
24: StackMap locals:
StackMap stack: java.lang.reflect.InvocationTargetException
astore 3
start local 3 25: invokestatic sun.misc.Unsafe.getUnsafe:()Lsun/misc/Unsafe;
aload 3
invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
invokevirtual sun.misc.Unsafe.throwException:(Ljava/lang/Throwable;)V
26: aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Ljava/lang/Class<TT;>;
8 12 1 empty [Ljava/lang/Class;
9 12 2 c Ljava/lang/reflect/Constructor<TT;>;
16 27 1 tmpConstructor Ljava/lang/reflect/Constructor<TT;>;
17 27 2 modifiers I
19 22 3 caller Ljava/lang/Class<*>;
25 27 3 e Ljava/lang/reflect/InvocationTargetException;
Exception table:
from to target type
7 12 13 Class java.lang.NoSuchMethodException
22 23 24 Class java.lang.reflect.InvocationTargetException
Exceptions:
throws java.lang.InstantiationException, java.lang.IllegalAccessException
Signature: ()TT;
RuntimeVisibleAnnotations:
sun.reflect.CallerSensitive()
public native boolean isInstance(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
obj
public native boolean isAssignableFrom(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Z
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
Signature: (Ljava/lang/Class<*>;)Z
MethodParameters:
Name Flags
cls
public native boolean isInterface();
descriptor: ()Z
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
public native boolean isArray();
descriptor: ()Z
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
public native boolean isPrimitive();
descriptor: ()Z
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
public boolean isAnnotation();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Class.getModifiers:()I
sipush 8192
iand
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/Class<TT;>;
public boolean isSynthetic();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Class.getModifiers:()I
sipush 4096
iand
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/Class<TT;>;
public java.lang.String getName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield java.lang.Class.name:Ljava/lang/String;
ifnonnull 2
1: aload 0
aload 0
invokevirtual java.lang.Class.getName0:()Ljava/lang/String;
putfield java.lang.Class.name:Ljava/lang/String;
2: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.Class.name:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/lang/Class<TT;>;
private native java.lang.String getName0();
descriptor: ()Ljava/lang/String;
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
public java.lang.ClassLoader getClassLoader();
descriptor: ()Ljava/lang/ClassLoader;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Class.getClassLoader0:()Ljava/lang/ClassLoader;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: java.lang.ClassLoader
StackMap stack:
invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 2
start local 2 4: aload 2
ifnull 6
5: aload 1
invokestatic sun.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
invokestatic java.lang.ClassLoader.checkClassLoaderPermission:(Ljava/lang/ClassLoader;Ljava/lang/Class;)V
6: StackMap locals: java.lang.SecurityManager
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/lang/Class<TT;>;
1 7 1 cl Ljava/lang/ClassLoader;
4 7 2 sm Ljava/lang/SecurityManager;
RuntimeVisibleAnnotations:
sun.reflect.CallerSensitive()
native java.lang.ClassLoader getClassLoader0();
descriptor: ()Ljava/lang/ClassLoader;
flags: (0x0100) ACC_NATIVE
public java.lang.reflect.TypeVariable<java.lang.Class<T>>[] getTypeParameters();
descriptor: ()[Ljava/lang/reflect/TypeVariable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Class.getGenericSignature:()Ljava/lang/String;
ifnull 2
1: aload 0
invokevirtual java.lang.Class.getGenericInfo:()Lsun/reflect/generics/repository/ClassRepository;
invokevirtual sun.reflect.generics.repository.ClassRepository.getTypeParameters:()[Ljava/lang/reflect/TypeVariable;
areturn
2: StackMap locals:
StackMap stack:
iconst_0
anewarray java.lang.reflect.TypeVariable
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/lang/Class<TT;>;
Signature: ()[Ljava/lang/reflect/TypeVariable<Ljava/lang/Class<TT;>;>;
public native java.lang.Class<? super T> getSuperclass();
descriptor: ()Ljava/lang/Class;
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
Signature: ()Ljava/lang/Class<-TT;>;
public java.lang.reflect.Type getGenericSuperclass();
descriptor: ()Ljava/lang/reflect/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Class.getGenericSignature:()Ljava/lang/String;
ifnull 4
1: aload 0
invokevirtual java.lang.Class.isInterface:()Z
ifeq 3
2: aconst_null
areturn
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Class.getGenericInfo:()Lsun/reflect/generics/repository/ClassRepository;
invokevirtual sun.reflect.generics.repository.ClassRepository.getSuperclass:()Ljava/lang/reflect/Type;
areturn
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/lang/Class<TT;>;
public java.lang.Package getPackage();
descriptor: ()Ljava/lang/Package;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic java.lang.Package.getPackage:(Ljava/lang/Class;)Ljava/lang/Package;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/Class<TT;>;
public native java.lang.Class<?>[] getInterfaces();
descriptor: ()[Ljava/lang/Class;
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
Signature: ()[Ljava/lang/Class<*>;
public java.lang.reflect.Type[] getGenericInterfaces();
descriptor: ()[Ljava/lang/reflect/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Class.getGenericSignature:()Ljava/lang/String;
ifnull 2
1: aload 0
invokevirtual java.lang.Class.getGenericInfo:()Lsun/reflect/generics/repository/ClassRepository;
invokevirtual sun.reflect.generics.repository.ClassRepository.getSuperInterfaces:()[Ljava/lang/reflect/Type;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/lang/Class<TT;>;
public native java.lang.Class<?> getComponentType();
descriptor: ()Ljava/lang/Class;
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
Signature: ()Ljava/lang/Class<*>;
public native int getModifiers();
descriptor: ()I
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
public native java.lang.Object[] getSigners();
descriptor: ()[Ljava/lang/Object;
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
native void setSigners(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)V
flags: (0x0100) ACC_NATIVE
MethodParameters:
Name Flags
signers
public java.lang.reflect.Method getEnclosingMethod();
descriptor: ()Ljava/lang/reflect/Method;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=14, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Class.getEnclosingMethodInfo:()Ljava/lang/Class$EnclosingMethodInfo;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: java.lang.Class$EnclosingMethodInfo
StackMap stack:
aload 1
invokevirtual java.lang.Class$EnclosingMethodInfo.isMethod:()Z
ifne 5
4: aconst_null
areturn
5: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.Class$EnclosingMethodInfo.getDescriptor:()Ljava/lang/String;
6: aload 0
invokevirtual java.lang.Class.getFactory:()Lsun/reflect/generics/factory/GenericsFactory;
7: invokestatic sun.reflect.generics.repository.MethodRepository.make:(Ljava/lang/String;Lsun/reflect/generics/factory/GenericsFactory;)Lsun/reflect/generics/repository/MethodRepository;
astore 2
start local 2 8: aload 2
invokevirtual sun.reflect.generics.repository.MethodRepository.getReturnType:()Ljava/lang/reflect/Type;
invokestatic java.lang.Class.toClass:(Ljava/lang/reflect/Type;)Ljava/lang/Class;
astore 3
start local 3 9: aload 2
invokevirtual sun.reflect.generics.repository.MethodRepository.getParameterTypes:()[Ljava/lang/reflect/Type;
astore 4
start local 4 10: aload 4
arraylength
anewarray java.lang.Class
astore 5
start local 5 11: iconst_0
istore 6
start local 6 12: goto 15
13: StackMap locals: java.lang.Class java.lang.Class$EnclosingMethodInfo sun.reflect.generics.repository.MethodRepository java.lang.Class java.lang.reflect.Type[] java.lang.Class[] int
StackMap stack:
aload 5
iload 6
aload 4
iload 6
aaload
invokestatic java.lang.Class.toClass:(Ljava/lang/reflect/Type;)Ljava/lang/Class;
aastore
14: iinc 6 1
StackMap locals:
StackMap stack:
15: iload 6
aload 5
arraylength
if_icmplt 13
end local 6 16: aload 1
invokevirtual java.lang.Class$EnclosingMethodInfo.getEnclosingClass:()Ljava/lang/Class;
astore 6
start local 6 17: aload 6
iconst_1
18: invokestatic sun.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
iconst_1
19: invokevirtual java.lang.Class.checkMemberAccess:(ILjava/lang/Class;Z)V
20: aload 6
invokevirtual java.lang.Class.getDeclaredMethods:()[Ljava/lang/reflect/Method;
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 37
StackMap locals: java.lang.Class java.lang.Class$EnclosingMethodInfo sun.reflect.generics.repository.MethodRepository java.lang.Class java.lang.reflect.Type[] java.lang.Class[] java.lang.Class top int int java.lang.reflect.Method[]
StackMap stack:
21: aload 10
iload 8
aaload
astore 7
start local 7 22: aload 7
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
aload 1
invokevirtual java.lang.Class$EnclosingMethodInfo.getName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 36
23: aload 7
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
astore 11
start local 11 24: aload 11
arraylength
aload 5
arraylength
if_icmpne 36
25: iconst_1
istore 12
start local 12 26: iconst_0
istore 13
start local 13 27: goto 32
28: StackMap locals: java.lang.Class java.lang.Class$EnclosingMethodInfo sun.reflect.generics.repository.MethodRepository java.lang.Class java.lang.reflect.Type[] java.lang.Class[] java.lang.Class java.lang.reflect.Method int int java.lang.reflect.Method[] java.lang.Class[] int int
StackMap stack:
aload 11
iload 13
aaload
aload 5
iload 13
aaload
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 31
29: iconst_0
istore 12
30: goto 33
31: StackMap locals:
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
32: iload 13
aload 11
arraylength
if_icmplt 28
end local 13 33: StackMap locals:
StackMap stack:
iload 12
ifeq 36
34: aload 7
invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
aload 3
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 36
35: aload 7
areturn
end local 12 end local 11 end local 7 36: StackMap locals: java.lang.Class java.lang.Class$EnclosingMethodInfo sun.reflect.generics.repository.MethodRepository java.lang.Class java.lang.reflect.Type[] java.lang.Class[] java.lang.Class top int int java.lang.reflect.Method[]
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
37: iload 8
iload 9
if_icmplt 21
38: new java.lang.InternalError
dup
ldc "Enclosing method not found"
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 39 0 this Ljava/lang/Class<TT;>;
1 39 1 enclosingInfo Ljava/lang/Class$EnclosingMethodInfo;
8 39 2 typeInfo Lsun/reflect/generics/repository/MethodRepository;
9 39 3 returnType Ljava/lang/Class<*>;
10 39 4 parameterTypes [Ljava/lang/reflect/Type;
11 39 5 parameterClasses [Ljava/lang/Class;
12 16 6 i I
17 39 6 enclosingCandidate Ljava/lang/Class<*>;
22 36 7 m Ljava/lang/reflect/Method;
24 36 11 candidateParamClasses [Ljava/lang/Class;
26 36 12 matches Z
27 33 13 i I
RuntimeVisibleAnnotations:
sun.reflect.CallerSensitive()
private native java.lang.Object[] getEnclosingMethod0();
descriptor: ()[Ljava/lang/Object;
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
private java.lang.Class$EnclosingMethodInfo getEnclosingMethodInfo();
descriptor: ()Ljava/lang/Class$EnclosingMethodInfo;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Class.getEnclosingMethod0:()[Ljava/lang/Object;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: java.lang.Object[]
StackMap stack:
new java.lang.Class$EnclosingMethodInfo
dup
aload 1
invokespecial java.lang.Class$EnclosingMethodInfo.<init>:([Ljava/lang/Object;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/lang/Class<TT;>;
1 4 1 enclosingInfo [Ljava/lang/Object;
private static java.lang.Class<?> toClass(java.lang.reflect.Type);
descriptor: (Ljava/lang/reflect/Type;)Ljava/lang/Class;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
instanceof java.lang.reflect.GenericArrayType
ifeq 6
1: aload 0
checkcast java.lang.reflect.GenericArrayType
invokeinterface java.lang.reflect.GenericArrayType.getGenericComponentType:()Ljava/lang/reflect/Type;
invokestatic java.lang.Class.toClass:(Ljava/lang/reflect/Type;)Ljava/lang/Class;
2: iconst_0
3: invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
4: invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
5: areturn
6: StackMap locals:
StackMap stack:
aload 0
checkcast java.lang.Class
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 o Ljava/lang/reflect/Type;
Signature: (Ljava/lang/reflect/Type;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
o
public java.lang.reflect.Constructor<?> getEnclosingConstructor();
descriptor: ()Ljava/lang/reflect/Constructor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=13, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Class.getEnclosingMethodInfo:()Ljava/lang/Class$EnclosingMethodInfo;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: java.lang.Class$EnclosingMethodInfo
StackMap stack:
aload 1
invokevirtual java.lang.Class$EnclosingMethodInfo.isConstructor:()Z
ifne 5
4: aconst_null
areturn
5: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.Class$EnclosingMethodInfo.getDescriptor:()Ljava/lang/String;
6: aload 0
invokevirtual java.lang.Class.getFactory:()Lsun/reflect/generics/factory/GenericsFactory;
7: invokestatic sun.reflect.generics.repository.ConstructorRepository.make:(Ljava/lang/String;Lsun/reflect/generics/factory/GenericsFactory;)Lsun/reflect/generics/repository/ConstructorRepository;
astore 2
start local 2 8: aload 2
invokevirtual sun.reflect.generics.repository.ConstructorRepository.getParameterTypes:()[Ljava/lang/reflect/Type;
astore 3
start local 3 9: aload 3
arraylength
anewarray java.lang.Class
astore 4
start local 4 10: iconst_0
istore 5
start local 5 11: goto 14
12: StackMap locals: java.lang.Class java.lang.Class$EnclosingMethodInfo sun.reflect.generics.repository.ConstructorRepository java.lang.reflect.Type[] java.lang.Class[] int
StackMap stack:
aload 4
iload 5
aload 3
iload 5
aaload
invokestatic java.lang.Class.toClass:(Ljava/lang/reflect/Type;)Ljava/lang/Class;
aastore
13: iinc 5 1
StackMap locals:
StackMap stack:
14: iload 5
aload 4
arraylength
if_icmplt 12
end local 5 15: aload 1
invokevirtual java.lang.Class$EnclosingMethodInfo.getEnclosingClass:()Ljava/lang/Class;
astore 5
start local 5 16: aload 5
iconst_1
17: invokestatic sun.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
iconst_1
18: invokevirtual java.lang.Class.checkMemberAccess:(ILjava/lang/Class;Z)V
19: aload 5
invokevirtual java.lang.Class.getDeclaredConstructors:()[Ljava/lang/reflect/Constructor;
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 34
StackMap locals: java.lang.Class java.lang.Class$EnclosingMethodInfo sun.reflect.generics.repository.ConstructorRepository java.lang.reflect.Type[] java.lang.Class[] java.lang.Class top int int java.lang.reflect.Constructor[]
StackMap stack:
20: aload 9
iload 7
aaload
astore 6
start local 6 21: aload 6
invokevirtual java.lang.reflect.Constructor.getParameterTypes:()[Ljava/lang/Class;
astore 10
start local 10 22: aload 10
arraylength
aload 4
arraylength
if_icmpne 33
23: iconst_1
istore 11
start local 11 24: iconst_0
istore 12
start local 12 25: goto 30
26: StackMap locals: java.lang.Class java.lang.Class$EnclosingMethodInfo sun.reflect.generics.repository.ConstructorRepository java.lang.reflect.Type[] java.lang.Class[] java.lang.Class java.lang.reflect.Constructor int int java.lang.reflect.Constructor[] java.lang.Class[] int int
StackMap stack:
aload 10
iload 12
aaload
aload 4
iload 12
aaload
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 29
27: iconst_0
istore 11
28: goto 31
29: StackMap locals:
StackMap stack:
iinc 12 1
StackMap locals:
StackMap stack:
30: iload 12
aload 10
arraylength
if_icmplt 26
end local 12 31: StackMap locals:
StackMap stack:
iload 11
ifeq 33
32: aload 6
areturn
end local 11 end local 10 end local 6 33: StackMap locals: java.lang.Class java.lang.Class$EnclosingMethodInfo sun.reflect.generics.repository.ConstructorRepository java.lang.reflect.Type[] java.lang.Class[] java.lang.Class top int int java.lang.reflect.Constructor[]
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
34: iload 7
iload 8
if_icmplt 20
35: new java.lang.InternalError
dup
ldc "Enclosing constructor not found"
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Ljava/lang/Class<TT;>;
1 36 1 enclosingInfo Ljava/lang/Class$EnclosingMethodInfo;
8 36 2 typeInfo Lsun/reflect/generics/repository/ConstructorRepository;
9 36 3 parameterTypes [Ljava/lang/reflect/Type;
10 36 4 parameterClasses [Ljava/lang/Class;
11 15 5 i I
16 36 5 enclosingCandidate Ljava/lang/Class<*>;
21 33 6 c Ljava/lang/reflect/Constructor<*>;
22 33 10 candidateParamClasses [Ljava/lang/Class;
24 33 11 matches Z
25 31 12 i I
Signature: ()Ljava/lang/reflect/Constructor<*>;
RuntimeVisibleAnnotations:
sun.reflect.CallerSensitive()
public java.lang.Class<?> getDeclaringClass();
descriptor: ()Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Class.getDeclaringClass0:()Ljava/lang/Class;
astore 1
start local 1 1: aload 1
ifnull 5
2: aload 1
3: invokestatic sun.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
invokestatic java.lang.ClassLoader.getClassLoader:(Ljava/lang/Class;)Ljava/lang/ClassLoader;
iconst_1
4: invokevirtual java.lang.Class.checkPackageAccess:(Ljava/lang/ClassLoader;Z)V
5: StackMap locals: java.lang.Class
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/lang/Class<TT;>;
1 6 1 candidate Ljava/lang/Class<*>;
Signature: ()Ljava/lang/Class<*>;
RuntimeVisibleAnnotations:
sun.reflect.CallerSensitive()
private native java.lang.Class<?> getDeclaringClass0();
descriptor: ()Ljava/lang/Class;
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
Signature: ()Ljava/lang/Class<*>;
public java.lang.Class<?> getEnclosingClass();
descriptor: ()Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Class.getEnclosingMethodInfo:()Ljava/lang/Class$EnclosingMethodInfo;
astore 1
start local 1 1: aload 1
ifnonnull 4
2: aload 0
invokevirtual java.lang.Class.getDeclaringClass:()Ljava/lang/Class;
astore 2
start local 2 3: goto 8
end local 2 4: StackMap locals: java.lang.Class$EnclosingMethodInfo
StackMap stack:
aload 1
invokevirtual java.lang.Class$EnclosingMethodInfo.getEnclosingClass:()Ljava/lang/Class;
astore 3
start local 3 5: aload 3
aload 0
if_acmpeq 6
aload 3
ifnonnull 7
6: StackMap locals: java.lang.Class java.lang.Class$EnclosingMethodInfo top java.lang.Class
StackMap stack:
new java.lang.InternalError
dup
ldc "Malformed enclosing method information"
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
aload 3
astore 2
end local 3 start local 2 8: StackMap locals: java.lang.Class java.lang.Class$EnclosingMethodInfo java.lang.Class
StackMap stack:
aload 2
ifnull 12
9: aload 2
10: invokestatic sun.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
invokestatic java.lang.ClassLoader.getClassLoader:(Ljava/lang/Class;)Ljava/lang/ClassLoader;
iconst_1
11: invokevirtual java.lang.Class.checkPackageAccess:(Ljava/lang/ClassLoader;Z)V
12: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljava/lang/Class<TT;>;
1 13 1 enclosingInfo Ljava/lang/Class$EnclosingMethodInfo;
3 4 2 enclosingCandidate Ljava/lang/Class<*>;
8 13 2 enclosingCandidate Ljava/lang/Class<*>;
5 8 3 enclosingClass Ljava/lang/Class<*>;
Signature: ()Ljava/lang/Class<*>;
RuntimeVisibleAnnotations:
sun.reflect.CallerSensitive()
public java.lang.String getSimpleName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Class.isArray:()Z
ifeq 2
1: new java.lang.StringBuilder
dup
aload 0
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "[]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Class.getSimpleBinaryName:()Ljava/lang/String;
astore 1
start local 1 3: aload 1
ifnonnull 6
4: aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
astore 1
5: aload 1
aload 1
ldc "."
invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
areturn
6: StackMap locals: java.lang.String
StackMap stack:
aload 1
invokevirtual java.lang.String.length:()I
istore 2
start local 2 7: iload 2
iconst_1
if_icmplt 8
aload 1
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 36
if_icmpeq 9
8: StackMap locals: int
StackMap stack:
new java.lang.InternalError
dup
ldc "Malformed class name"
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
iconst_1
istore 3
start local 3 10: goto 12
11: StackMap locals: int
StackMap stack:
iinc 3 1
12: StackMap locals:
StackMap stack:
iload 3
iload 2
if_icmpge 13
aload 1
iload 3
invokevirtual java.lang.String.charAt:(I)C
invokestatic java.lang.Class.isAsciiDigit:(C)Z
ifne 11
13: StackMap locals:
StackMap stack:
aload 1
iload 3
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljava/lang/Class<TT;>;
3 14 1 simpleName Ljava/lang/String;
7 14 2 length I
10 14 3 index I
private static boolean isAsciiDigit(char);
descriptor: (C)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: bipush 48
iload 0
if_icmpgt 1
iload 0
bipush 57
if_icmpgt 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 c C
MethodParameters:
Name Flags
c
public java.lang.String getCanonicalName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Class.isArray:()Z
ifeq 5
1: aload 0
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
invokevirtual java.lang.Class.getCanonicalName:()Ljava/lang/String;
astore 1
start local 1 2: aload 1
ifnull 4
3: new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "[]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
4: StackMap locals: java.lang.String
StackMap stack:
aconst_null
areturn
end local 1 5: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Class.isLocalOrAnonymousClass:()Z
ifeq 7
6: aconst_null
areturn
7: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Class.getEnclosingClass:()Ljava/lang/Class;
astore 1
start local 1 8: aload 1
ifnonnull 10
9: aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
areturn
10: StackMap locals: java.lang.Class
StackMap stack:
aload 1
invokevirtual java.lang.Class.getCanonicalName:()Ljava/lang/String;
astore 2
start local 2 11: aload 2
ifnonnull 13
12: aconst_null
areturn
13: StackMap locals: java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljava/lang/Class<TT;>;
2 5 1 canonicalName Ljava/lang/String;
8 14 1 enclosingClass Ljava/lang/Class<*>;
11 14 2 enclosingName Ljava/lang/String;
public boolean isAnonymousClass();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: ldc ""
aload 0
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/Class<TT;>;
public boolean isLocalClass();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Class.isLocalOrAnonymousClass:()Z
ifeq 1
aload 0
invokevirtual java.lang.Class.isAnonymousClass:()Z
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/Class<TT;>;
public boolean isMemberClass();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Class.getSimpleBinaryName:()Ljava/lang/String;
ifnull 1
aload 0
invokevirtual java.lang.Class.isLocalOrAnonymousClass:()Z
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/Class<TT;>;
private java.lang.String getSimpleBinaryName();
descriptor: ()Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Class.getEnclosingClass:()Ljava/lang/Class;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: java.lang.Class
StackMap stack:
aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aload 1
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
4: areturn
5: StackMap locals:
StackMap stack: java.lang.IndexOutOfBoundsException
pop
6: new java.lang.InternalError
dup
ldc "Malformed class name"
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/lang/Class<TT;>;
1 7 1 enclosingClass Ljava/lang/Class<*>;
Exception table:
from to target type
3 4 5 Class java.lang.IndexOutOfBoundsException
private boolean isLocalOrAnonymousClass();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Class.getEnclosingMethodInfo:()Ljava/lang/Class$EnclosingMethodInfo;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/Class<TT;>;
public java.lang.Class<?>[] getClasses();
descriptor: ()[Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
invokestatic sun.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
iconst_0
invokevirtual java.lang.Class.checkMemberAccess:(ILjava/lang/Class;Z)V
1: new java.lang.Class$2
dup
aload 0
invokespecial java.lang.Class$2.<init>:(Ljava/lang/Class;)V
2: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.Class[]
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/lang/Class<TT;>;
Signature: ()[Ljava/lang/Class<*>;
RuntimeVisibleAnnotations:
sun.reflect.CallerSensitive()
public java.lang.reflect.Field[] getFields();
descriptor: ()[Ljava/lang/reflect/Field;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
invokestatic sun.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
iconst_1
invokevirtual java.lang.Class.checkMemberAccess:(ILjava/lang/Class;Z)V
1: aload 0
aconst_null
invokevirtual java.lang.Class.privateGetPublicFields:(Ljava/util/Set;)[Ljava/lang/reflect/Field;
invokestatic java.lang.Class.copyFields:([Ljava/lang/reflect/Field;)[Ljava/lang/reflect/Field;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/Class<TT;>;
Exceptions:
throws java.lang.SecurityException
RuntimeVisibleAnnotations:
sun.reflect.CallerSensitive()
public java.lang.reflect.Method[] getMethods();
descriptor: ()[Ljava/lang/reflect/Method;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
invokestatic sun.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
iconst_1
invokevirtual java.lang.Class.checkMemberAccess:(ILjava/lang/Class;Z)V
1: aload 0
invokevirtual java.lang.Class.privateGetPublicMethods:()[Ljava/lang/reflect/Method;
invokestatic java.lang.Class.copyMethods:([Ljava/lang/reflect/Method;)[Ljava/lang/reflect/Method;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/Class<TT;>;
Exceptions:
throws java.lang.SecurityException
RuntimeVisibleAnnotations:
sun.reflect.CallerSensitive()
public java.lang.reflect.Constructor<?>[] getConstructors();
descriptor: ()[Ljava/lang/reflect/Constructor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
invokestatic sun.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
iconst_1
invokevirtual java.lang.Class.checkMemberAccess:(ILjava/lang/Class;Z)V
1: aload 0
iconst_1
invokevirtual java.lang.Class.privateGetDeclaredConstructors:(Z)[Ljava/lang/reflect/Constructor;
invokestatic java.lang.Class.copyConstructors:([Ljava/lang/reflect/Constructor;)[Ljava/lang/reflect/Constructor;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/Class<TT;>;
Exceptions:
throws java.lang.SecurityException
Signature: ()[Ljava/lang/reflect/Constructor<*>;
RuntimeVisibleAnnotations:
sun.reflect.CallerSensitive()
public java.lang.reflect.Field getField(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/reflect/Field;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
invokestatic sun.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
iconst_1
invokevirtual java.lang.Class.checkMemberAccess:(ILjava/lang/Class;Z)V
1: aload 0
aload 1
invokevirtual java.lang.Class.getField0:(Ljava/lang/String;)Ljava/lang/reflect/Field;
astore 2
start local 2 2: aload 2
ifnonnull 4
3: new java.lang.NoSuchFieldException
dup
aload 1
invokespecial java.lang.NoSuchFieldException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: java.lang.reflect.Field
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/lang/Class<TT;>;
0 5 1 name Ljava/lang/String;
2 5 2 field Ljava/lang/reflect/Field;
Exceptions:
throws java.lang.NoSuchFieldException, java.lang.SecurityException
RuntimeVisibleAnnotations:
sun.reflect.CallerSensitive()
MethodParameters:
Name Flags
name
public java.lang.reflect.Method getMethod(java.lang.String, java.lang.Class<?>[]);
descriptor: (Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iconst_0
invokestatic sun.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
iconst_1
invokevirtual java.lang.Class.checkMemberAccess:(ILjava/lang/Class;Z)V
1: aload 0
aload 1
aload 2
invokevirtual java.lang.Class.getMethod0:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 3
start local 3 2: aload 3
ifnonnull 4
3: new java.lang.NoSuchMethodException
dup
new java.lang.StringBuilder
dup
aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokestatic java.lang.Class.argumentTypesToString:([Ljava/lang/Class;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.NoSuchMethodException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: java.lang.reflect.Method
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/lang/Class<TT;>;
0 5 1 name Ljava/lang/String;
0 5 2 parameterTypes [Ljava/lang/Class;
2 5 3 method Ljava/lang/reflect/Method;
Exceptions:
throws java.lang.NoSuchMethodException, java.lang.SecurityException
Signature: (Ljava/lang/String;[Ljava/lang/Class<*>;)Ljava/lang/reflect/Method;
RuntimeVisibleAnnotations:
sun.reflect.CallerSensitive()
MethodParameters:
Name Flags
name
parameterTypes
public java.lang.reflect.Constructor<T> getConstructor(java.lang.Class<?>[]);
descriptor: ([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
invokestatic sun.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
iconst_1
invokevirtual java.lang.Class.checkMemberAccess:(ILjava/lang/Class;Z)V
1: aload 0
aload 1
iconst_0
invokevirtual java.lang.Class.getConstructor0:([Ljava/lang/Class;I)Ljava/lang/reflect/Constructor;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/Class<TT;>;
0 2 1 parameterTypes [Ljava/lang/Class;
Exceptions:
throws java.lang.NoSuchMethodException, java.lang.SecurityException
Signature: ([Ljava/lang/Class<*>;)Ljava/lang/reflect/Constructor<TT;>;
RuntimeVisibleAnnotations:
sun.reflect.CallerSensitive()
MethodParameters:
Name Flags
parameterTypes
public java.lang.Class<?>[] getDeclaredClasses();
descriptor: ()[Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
invokestatic sun.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
iconst_0
invokevirtual java.lang.Class.checkMemberAccess:(ILjava/lang/Class;Z)V
1: aload 0
invokevirtual java.lang.Class.getDeclaredClasses0:()[Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/Class<TT;>;
Exceptions:
throws java.lang.SecurityException
Signature: ()[Ljava/lang/Class<*>;
RuntimeVisibleAnnotations:
sun.reflect.CallerSensitive()
public java.lang.reflect.Field[] getDeclaredFields();
descriptor: ()[Ljava/lang/reflect/Field;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
invokestatic sun.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
iconst_1
invokevirtual java.lang.Class.checkMemberAccess:(ILjava/lang/Class;Z)V
1: aload 0
iconst_0
invokevirtual java.lang.Class.privateGetDeclaredFields:(Z)[Ljava/lang/reflect/Field;
invokestatic java.lang.Class.copyFields:([Ljava/lang/reflect/Field;)[Ljava/lang/reflect/Field;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/Class<TT;>;
Exceptions:
throws java.lang.SecurityException
RuntimeVisibleAnnotations:
sun.reflect.CallerSensitive()
public java.lang.reflect.Method[] getDeclaredMethods();
descriptor: ()[Ljava/lang/reflect/Method;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
invokestatic sun.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
iconst_1
invokevirtual java.lang.Class.checkMemberAccess:(ILjava/lang/Class;Z)V
1: aload 0
iconst_0
invokevirtual java.lang.Class.privateGetDeclaredMethods:(Z)[Ljava/lang/reflect/Method;
invokestatic java.lang.Class.copyMethods:([Ljava/lang/reflect/Method;)[Ljava/lang/reflect/Method;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/Class<TT;>;
Exceptions:
throws java.lang.SecurityException
RuntimeVisibleAnnotations:
sun.reflect.CallerSensitive()
public java.lang.reflect.Constructor<?>[] getDeclaredConstructors();
descriptor: ()[Ljava/lang/reflect/Constructor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
invokestatic sun.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
iconst_1
invokevirtual java.lang.Class.checkMemberAccess:(ILjava/lang/Class;Z)V
1: aload 0
iconst_0
invokevirtual java.lang.Class.privateGetDeclaredConstructors:(Z)[Ljava/lang/reflect/Constructor;
invokestatic java.lang.Class.copyConstructors:([Ljava/lang/reflect/Constructor;)[Ljava/lang/reflect/Constructor;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/Class<TT;>;
Exceptions:
throws java.lang.SecurityException
Signature: ()[Ljava/lang/reflect/Constructor<*>;
RuntimeVisibleAnnotations:
sun.reflect.CallerSensitive()
public java.lang.reflect.Field getDeclaredField(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/reflect/Field;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
iconst_1
invokestatic sun.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
iconst_1
invokevirtual java.lang.Class.checkMemberAccess:(ILjava/lang/Class;Z)V
1: aload 0
iconst_0
invokevirtual java.lang.Class.privateGetDeclaredFields:(Z)[Ljava/lang/reflect/Field;
aload 1
invokestatic java.lang.Class.searchFields:([Ljava/lang/reflect/Field;Ljava/lang/String;)Ljava/lang/reflect/Field;
astore 2
start local 2 2: aload 2
ifnonnull 4
3: new java.lang.NoSuchFieldException
dup
aload 1
invokespecial java.lang.NoSuchFieldException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: java.lang.reflect.Field
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/lang/Class<TT;>;
0 5 1 name Ljava/lang/String;
2 5 2 field Ljava/lang/reflect/Field;
Exceptions:
throws java.lang.NoSuchFieldException, java.lang.SecurityException
RuntimeVisibleAnnotations:
sun.reflect.CallerSensitive()
MethodParameters:
Name Flags
name
public java.lang.reflect.Method getDeclaredMethod(java.lang.String, java.lang.Class<?>[]);
descriptor: (Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iconst_1
invokestatic sun.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
iconst_1
invokevirtual java.lang.Class.checkMemberAccess:(ILjava/lang/Class;Z)V
1: aload 0
iconst_0
invokevirtual java.lang.Class.privateGetDeclaredMethods:(Z)[Ljava/lang/reflect/Method;
aload 1
aload 2
invokestatic java.lang.Class.searchMethods:([Ljava/lang/reflect/Method;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 3
start local 3 2: aload 3
ifnonnull 4
3: new java.lang.NoSuchMethodException
dup
new java.lang.StringBuilder
dup
aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokestatic java.lang.Class.argumentTypesToString:([Ljava/lang/Class;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.NoSuchMethodException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: java.lang.reflect.Method
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/lang/Class<TT;>;
0 5 1 name Ljava/lang/String;
0 5 2 parameterTypes [Ljava/lang/Class;
2 5 3 method Ljava/lang/reflect/Method;
Exceptions:
throws java.lang.NoSuchMethodException, java.lang.SecurityException
Signature: (Ljava/lang/String;[Ljava/lang/Class<*>;)Ljava/lang/reflect/Method;
RuntimeVisibleAnnotations:
sun.reflect.CallerSensitive()
MethodParameters:
Name Flags
name
parameterTypes
public java.lang.reflect.Constructor<T> getDeclaredConstructor(java.lang.Class<?>[]);
descriptor: ([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_1
invokestatic sun.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
iconst_1
invokevirtual java.lang.Class.checkMemberAccess:(ILjava/lang/Class;Z)V
1: aload 0
aload 1
iconst_1
invokevirtual java.lang.Class.getConstructor0:([Ljava/lang/Class;I)Ljava/lang/reflect/Constructor;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/Class<TT;>;
0 2 1 parameterTypes [Ljava/lang/Class;
Exceptions:
throws java.lang.NoSuchMethodException, java.lang.SecurityException
Signature: ([Ljava/lang/Class<*>;)Ljava/lang/reflect/Constructor<TT;>;
RuntimeVisibleAnnotations:
sun.reflect.CallerSensitive()
MethodParameters:
Name Flags
parameterTypes
public java.io.InputStream getResourceAsStream(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/io/InputStream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.lang.Class.resolveName:(Ljava/lang/String;)Ljava/lang/String;
astore 1
1: aload 0
invokevirtual java.lang.Class.getClassLoader0:()Ljava/lang/ClassLoader;
astore 2
start local 2 2: aload 2
ifnonnull 4
3: aload 1
invokestatic java.lang.ClassLoader.getSystemResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
areturn
4: StackMap locals: java.lang.ClassLoader
StackMap stack:
aload 2
aload 1
invokevirtual java.lang.ClassLoader.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/lang/Class<TT;>;
0 5 1 name Ljava/lang/String;
2 5 2 cl Ljava/lang/ClassLoader;
MethodParameters:
Name Flags
name
public java.net.URL getResource(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/net/URL;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.lang.Class.resolveName:(Ljava/lang/String;)Ljava/lang/String;
astore 1
1: aload 0
invokevirtual java.lang.Class.getClassLoader0:()Ljava/lang/ClassLoader;
astore 2
start local 2 2: aload 2
ifnonnull 4
3: aload 1
invokestatic java.lang.ClassLoader.getSystemResource:(Ljava/lang/String;)Ljava/net/URL;
areturn
4: StackMap locals: java.lang.ClassLoader
StackMap stack:
aload 2
aload 1
invokevirtual java.lang.ClassLoader.getResource:(Ljava/lang/String;)Ljava/net/URL;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/lang/Class<TT;>;
0 5 1 name Ljava/lang/String;
2 5 2 cl Ljava/lang/ClassLoader;
MethodParameters:
Name Flags
name
public java.security.ProtectionDomain getProtectionDomain();
descriptor: ()Ljava/security/ProtectionDomain;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
getstatic sun.security.util.SecurityConstants.GET_PD_PERMISSION:Ljava/lang/RuntimePermission;
invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
3: StackMap locals: java.lang.SecurityManager
StackMap stack:
aload 0
invokevirtual java.lang.Class.getProtectionDomain0:()Ljava/security/ProtectionDomain;
astore 2
start local 2 4: aload 2
ifnonnull 12
5: getstatic java.lang.Class.allPermDomain:Ljava/security/ProtectionDomain;
ifnonnull 11
6: new java.security.Permissions
dup
invokespecial java.security.Permissions.<init>:()V
7: astore 3
start local 3 8: aload 3
getstatic sun.security.util.SecurityConstants.ALL_PERMISSION:Ljava/security/AllPermission;
invokevirtual java.security.Permissions.add:(Ljava/security/Permission;)V
9: new java.security.ProtectionDomain
dup
aconst_null
aload 3
invokespecial java.security.ProtectionDomain.<init>:(Ljava/security/CodeSource;Ljava/security/PermissionCollection;)V
10: putstatic java.lang.Class.allPermDomain:Ljava/security/ProtectionDomain;
end local 3 11: StackMap locals: java.security.ProtectionDomain
StackMap stack:
getstatic java.lang.Class.allPermDomain:Ljava/security/ProtectionDomain;
astore 2
12: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljava/lang/Class<TT;>;
1 13 1 sm Ljava/lang/SecurityManager;
4 13 2 pd Ljava/security/ProtectionDomain;
8 11 3 perms Ljava/security/Permissions;
private native java.security.ProtectionDomain getProtectionDomain0();
descriptor: ()Ljava/security/ProtectionDomain;
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
native void setProtectionDomain0(java.security.ProtectionDomain);
descriptor: (Ljava/security/ProtectionDomain;)V
flags: (0x0100) ACC_NATIVE
MethodParameters:
Name Flags
pd
static native java.lang.Class getPrimitiveClass(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Class;
flags: (0x0108) ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
name
private static boolean isCheckMemberAccessOverridden(java.lang.SecurityManager);
descriptor: (Ljava/lang/SecurityManager;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
ldc Ljava/lang/SecurityManager;
if_acmpne 1
iconst_0
ireturn
1: StackMap locals:
StackMap stack:
iconst_2
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Class;
aastore
dup
iconst_1
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
aastore
astore 1
start local 1 2: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
ldc "checkMemberAccess"
aload 1
invokevirtual java.lang.Class.getMethod0:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
3: invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
ldc Ljava/lang/SecurityManager;
4: if_acmpeq 5
iconst_1
ireturn
StackMap locals: java.lang.Class[]
StackMap stack:
5: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 smgr Ljava/lang/SecurityManager;
2 6 1 paramTypes [Ljava/lang/Class;
MethodParameters:
Name Flags
smgr
private void checkMemberAccess(int, java.lang.Class<?>, );
descriptor: (ILjava/lang/Class;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 4
start local 4 1: aload 4
ifnull 11
2: aload 2
invokestatic java.lang.ClassLoader.getClassLoader:(Ljava/lang/Class;)Ljava/lang/ClassLoader;
astore 5
start local 5 3: aload 0
invokevirtual java.lang.Class.getClassLoader0:()Ljava/lang/ClassLoader;
astore 6
start local 6 4: aload 4
invokestatic java.lang.Class.isCheckMemberAccessOverridden:(Ljava/lang/SecurityManager;)Z
ifne 9
5: iload 1
ifeq 10
6: aload 5
aload 6
if_acmpeq 10
7: aload 4
getstatic sun.security.util.SecurityConstants.CHECK_MEMBER_ACCESS_PERMISSION:Ljava/lang/RuntimePermission;
invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
8: goto 10
9: StackMap locals: java.lang.SecurityManager java.lang.ClassLoader java.lang.ClassLoader
StackMap stack:
aload 4
aload 0
iload 1
invokevirtual java.lang.SecurityManager.checkMemberAccess:(Ljava/lang/Class;I)V
10: StackMap locals:
StackMap stack:
aload 0
aload 5
iload 3
invokevirtual java.lang.Class.checkPackageAccess:(Ljava/lang/ClassLoader;Z)V
end local 6 end local 5 11: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/lang/Class<TT;>;
0 12 1 which I
0 12 2 caller Ljava/lang/Class<*>;
0 12 3 checkProxyInterfaces Z
1 12 4 s Ljava/lang/SecurityManager;
3 11 5 ccl Ljava/lang/ClassLoader;
4 11 6 cl Ljava/lang/ClassLoader;
Signature: (ILjava/lang/Class<*>;Z)V
MethodParameters:
Name Flags
which
caller
checkProxyInterfaces
private void checkPackageAccess(java.lang.ClassLoader, boolean);
descriptor: (Ljava/lang/ClassLoader;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=8, args_size=3
start local 0 start local 1 start local 2 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 3
start local 3 1: aload 3
ifnull 12
2: aload 0
invokevirtual java.lang.Class.getClassLoader0:()Ljava/lang/ClassLoader;
astore 4
start local 4 3: aload 1
aload 4
invokestatic sun.reflect.misc.ReflectUtil.needsPackageAccessCheck:(Ljava/lang/ClassLoader;Ljava/lang/ClassLoader;)Z
ifeq 10
4: aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
astore 5
start local 5 5: aload 5
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 6
start local 6 6: iload 6
iconst_m1
if_icmpeq 10
7: aload 5
iconst_0
iload 6
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 7
start local 7 8: aload 0
invokestatic java.lang.reflect.Proxy.isProxyClass:(Ljava/lang/Class;)Z
ifeq 9
aload 0
invokestatic sun.reflect.misc.ReflectUtil.isNonPublicProxyClass:(Ljava/lang/Class;)Z
ifeq 10
9: StackMap locals: java.lang.Class java.lang.ClassLoader int java.lang.SecurityManager java.lang.ClassLoader java.lang.String int java.lang.String
StackMap stack:
aload 3
aload 7
invokevirtual java.lang.SecurityManager.checkPackageAccess:(Ljava/lang/String;)V
end local 7 end local 6 end local 5 10: StackMap locals:
StackMap stack:
iload 2
ifeq 12
aload 0
invokestatic java.lang.reflect.Proxy.isProxyClass:(Ljava/lang/Class;)Z
ifeq 12
11: aload 1
aload 0
invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
invokestatic sun.reflect.misc.ReflectUtil.checkProxyPackageAccess:(Ljava/lang/ClassLoader;[Ljava/lang/Class;)V
end local 4 12: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljava/lang/Class<TT;>;
0 13 1 ccl Ljava/lang/ClassLoader;
0 13 2 checkProxyInterfaces Z
1 13 3 s Ljava/lang/SecurityManager;
3 12 4 cl Ljava/lang/ClassLoader;
5 10 5 name Ljava/lang/String;
6 10 6 i I
8 10 7 pkg Ljava/lang/String;
MethodParameters:
Name Flags
ccl final
checkProxyInterfaces
private java.lang.String resolveName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aload 1
areturn
2: StackMap locals:
StackMap stack:
aload 1
ldc "/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 14
3: aload 0
astore 2
start local 2 4: goto 6
5: StackMap locals: java.lang.Class
StackMap stack:
aload 2
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
astore 2
6: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.Class.isArray:()Z
ifne 5
7: aload 2
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
astore 3
start local 3 8: aload 3
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 4
start local 4 9: iload 4
iconst_m1
if_icmpeq 15
10: new java.lang.StringBuilder
dup
aload 3
iconst_0
iload 4
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
bipush 46
bipush 47
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
11: ldc "/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
12: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 1
end local 4 end local 3 end local 2 13: goto 15
14: StackMap locals:
StackMap stack:
aload 1
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 1
15: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljava/lang/Class<TT;>;
0 16 1 name Ljava/lang/String;
4 13 2 c Ljava/lang/Class<*>;
8 13 3 baseName Ljava/lang/String;
9 13 4 index I
MethodParameters:
Name Flags
name
private java.lang.Class$ReflectionData<T> reflectionData();
descriptor: ()Ljava/lang/Class$ReflectionData;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
getfield java.lang.Class.reflectionData:Ljava/lang/ref/SoftReference;
astore 1
start local 1 1: aload 0
getfield java.lang.Class.classRedefinedCount:I
istore 2
start local 2 2: getstatic java.lang.Class.useCaches:Z
ifeq 8
3: aload 1
ifnull 8
4: aload 1
invokevirtual java.lang.ref.SoftReference.get:()Ljava/lang/Object;
checkcast java.lang.Class$ReflectionData
dup
astore 3
start local 3 5: ifnull 8
6: aload 3
getfield java.lang.Class$ReflectionData.redefinedCount:I
iload 2
if_icmpne 8
7: aload 3
areturn
end local 3 8: StackMap locals: java.lang.ref.SoftReference int
StackMap stack:
aload 0
aload 1
iload 2
invokevirtual java.lang.Class.newReflectionData:(Ljava/lang/ref/SoftReference;I)Ljava/lang/Class$ReflectionData;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/lang/Class<TT;>;
1 9 1 reflectionData Ljava/lang/ref/SoftReference<Ljava/lang/Class$ReflectionData<TT;>;>;
2 9 2 classRedefinedCount I
5 8 3 rd Ljava/lang/Class$ReflectionData<TT;>;
Signature: ()Ljava/lang/Class$ReflectionData<TT;>;
private java.lang.Class$ReflectionData<T> newReflectionData(java.lang.ref.SoftReference<java.lang.Class$ReflectionData<T>>, int);
descriptor: (Ljava/lang/ref/SoftReference;I)Ljava/lang/Class$ReflectionData;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: getstatic java.lang.Class.useCaches:Z
ifne 1
aconst_null
areturn
1: StackMap locals:
StackMap stack:
new java.lang.Class$ReflectionData
dup
iload 2
invokespecial java.lang.Class$ReflectionData.<init>:(I)V
astore 3
start local 3 2: aload 0
aload 1
3: new java.lang.ref.SoftReference
dup
aload 3
invokespecial java.lang.ref.SoftReference.<init>:(Ljava/lang/Object;)V
4: invokestatic java.lang.Class$Atomic.casReflectionData:(Ljava/lang/Class;Ljava/lang/ref/SoftReference;Ljava/lang/ref/SoftReference;)Z
5: ifeq 7
6: aload 3
areturn
7: StackMap locals: java.lang.Class$ReflectionData
StackMap stack:
aload 0
getfield java.lang.Class.reflectionData:Ljava/lang/ref/SoftReference;
astore 1
8: aload 0
getfield java.lang.Class.classRedefinedCount:I
istore 2
9: aload 1
ifnull 1
10: aload 1
invokevirtual java.lang.ref.SoftReference.get:()Ljava/lang/Object;
checkcast java.lang.Class$ReflectionData
dup
astore 3
ifnull 1
11: aload 3
getfield java.lang.Class$ReflectionData.redefinedCount:I
iload 2
if_icmpne 1
12: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljava/lang/Class<TT;>;
0 13 1 oldReflectionData Ljava/lang/ref/SoftReference<Ljava/lang/Class$ReflectionData<TT;>;>;
0 13 2 classRedefinedCount I
2 13 3 rd Ljava/lang/Class$ReflectionData<TT;>;
Signature: (Ljava/lang/ref/SoftReference<Ljava/lang/Class$ReflectionData<TT;>;>;I)Ljava/lang/Class$ReflectionData<TT;>;
MethodParameters:
Name Flags
oldReflectionData
classRedefinedCount
private native java.lang.String getGenericSignature();
descriptor: ()Ljava/lang/String;
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
private sun.reflect.generics.factory.GenericsFactory getFactory();
descriptor: ()Lsun/reflect/generics/factory/GenericsFactory;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
invokestatic sun.reflect.generics.scope.ClassScope.make:(Ljava/lang/Class;)Lsun/reflect/generics/scope/ClassScope;
invokestatic sun.reflect.generics.factory.CoreReflectionFactory.make:(Ljava/lang/reflect/GenericDeclaration;Lsun/reflect/generics/scope/Scope;)Lsun/reflect/generics/factory/CoreReflectionFactory;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/Class<TT;>;
private sun.reflect.generics.repository.ClassRepository getGenericInfo();
descriptor: ()Lsun/reflect/generics/repository/ClassRepository;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield java.lang.Class.genericInfo:Lsun/reflect/generics/repository/ClassRepository;
ifnonnull 4
1: aload 0
aload 0
invokevirtual java.lang.Class.getGenericSignature:()Ljava/lang/String;
2: aload 0
invokevirtual java.lang.Class.getFactory:()Lsun/reflect/generics/factory/GenericsFactory;
3: invokestatic sun.reflect.generics.repository.ClassRepository.make:(Ljava/lang/String;Lsun/reflect/generics/factory/GenericsFactory;)Lsun/reflect/generics/repository/ClassRepository;
putfield java.lang.Class.genericInfo:Lsun/reflect/generics/repository/ClassRepository;
4: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.Class.genericInfo:Lsun/reflect/generics/repository/ClassRepository;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/lang/Class<TT;>;
native byte[] getRawAnnotations();
descriptor: ()[B
flags: (0x0100) ACC_NATIVE
native sun.reflect.ConstantPool getConstantPool();
descriptor: ()Lsun/reflect/ConstantPool;
flags: (0x0100) ACC_NATIVE
private java.lang.reflect.Field[] privateGetDeclaredFields(boolean);
descriptor: (Z)[Ljava/lang/reflect/Field;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: invokestatic java.lang.Class.checkInitted:()V
1: aload 0
invokevirtual java.lang.Class.reflectionData:()Ljava/lang/Class$ReflectionData;
astore 3
start local 3 2: aload 3
ifnull 7
3: iload 1
ifeq 4
aload 3
getfield java.lang.Class$ReflectionData.declaredPublicFields:[Ljava/lang/reflect/Field;
goto 5
StackMap locals: java.lang.Class int top java.lang.Class$ReflectionData
StackMap stack:
4: aload 3
getfield java.lang.Class$ReflectionData.declaredFields:[Ljava/lang/reflect/Field;
StackMap locals:
StackMap stack: java.lang.reflect.Field[]
5: astore 2
start local 2 6: aload 2
ifnull 7
aload 2
areturn
end local 2 7: StackMap locals:
StackMap stack:
aload 0
aload 0
iload 1
invokevirtual java.lang.Class.getDeclaredFields0:(Z)[Ljava/lang/reflect/Field;
invokestatic sun.reflect.Reflection.filterFields:(Ljava/lang/Class;[Ljava/lang/reflect/Field;)[Ljava/lang/reflect/Field;
astore 2
start local 2 8: aload 3
ifnull 13
9: iload 1
ifeq 12
10: aload 3
aload 2
putfield java.lang.Class$ReflectionData.declaredPublicFields:[Ljava/lang/reflect/Field;
11: goto 13
12: StackMap locals: java.lang.Class int java.lang.reflect.Field[] java.lang.Class$ReflectionData
StackMap stack:
aload 3
aload 2
putfield java.lang.Class$ReflectionData.declaredFields:[Ljava/lang/reflect/Field;
13: StackMap locals:
StackMap stack:
aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljava/lang/Class<TT;>;
0 14 1 publicOnly Z
6 7 2 res [Ljava/lang/reflect/Field;
8 14 2 res [Ljava/lang/reflect/Field;
2 14 3 rd Ljava/lang/Class$ReflectionData<TT;>;
MethodParameters:
Name Flags
publicOnly
private java.lang.reflect.Field[] privateGetPublicFields(java.util.Set<java.lang.Class<?>>);
descriptor: (Ljava/util/Set;)[Ljava/lang/reflect/Field;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=10, args_size=2
start local 0 start local 1 0: invokestatic java.lang.Class.checkInitted:()V
1: aload 0
invokevirtual java.lang.Class.reflectionData:()Ljava/lang/Class$ReflectionData;
astore 3
start local 3 2: aload 3
ifnull 5
3: aload 3
getfield java.lang.Class$ReflectionData.publicFields:[Ljava/lang/reflect/Field;
astore 2
start local 2 4: aload 2
ifnull 5
aload 2
areturn
end local 2 5: StackMap locals: java.lang.Class java.util.Set top java.lang.Class$ReflectionData
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 6: aload 1
ifnonnull 8
7: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 1
8: StackMap locals: java.util.List
StackMap stack:
aload 0
iconst_1
invokevirtual java.lang.Class.privateGetDeclaredFields:(Z)[Ljava/lang/reflect/Field;
astore 5
start local 5 9: aload 4
aload 5
invokestatic java.lang.Class.addAll:(Ljava/util/Collection;[Ljava/lang/reflect/Field;)V
10: aload 0
invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 16
StackMap locals: java.lang.Class java.util.Set top java.lang.Class$ReflectionData java.util.List java.lang.reflect.Field[] top int int java.lang.Class[]
StackMap stack:
11: aload 9
iload 7
aaload
astore 6
start local 6 12: aload 1
aload 6
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 15
13: aload 1
aload 6
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
14: aload 4
aload 6
aload 1
invokevirtual java.lang.Class.privateGetPublicFields:(Ljava/util/Set;)[Ljava/lang/reflect/Field;
invokestatic java.lang.Class.addAll:(Ljava/util/Collection;[Ljava/lang/reflect/Field;)V
end local 6 15: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
16: iload 7
iload 8
if_icmplt 11
17: aload 0
invokevirtual java.lang.Class.isInterface:()Z
ifne 21
18: aload 0
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
astore 6
start local 6 19: aload 6
ifnull 21
20: aload 4
aload 6
aload 1
invokevirtual java.lang.Class.privateGetPublicFields:(Ljava/util/Set;)[Ljava/lang/reflect/Field;
invokestatic java.lang.Class.addAll:(Ljava/util/Collection;[Ljava/lang/reflect/Field;)V
end local 6 21: StackMap locals: java.lang.Class java.util.Set top java.lang.Class$ReflectionData java.util.List java.lang.reflect.Field[]
StackMap stack:
aload 4
invokeinterface java.util.List.size:()I
anewarray java.lang.reflect.Field
astore 2
start local 2 22: aload 4
aload 2
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
pop
23: aload 3
ifnull 25
24: aload 3
aload 2
putfield java.lang.Class$ReflectionData.publicFields:[Ljava/lang/reflect/Field;
25: StackMap locals: java.lang.Class java.util.Set java.lang.reflect.Field[] java.lang.Class$ReflectionData java.util.List java.lang.reflect.Field[]
StackMap stack:
aload 2
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Ljava/lang/Class<TT;>;
0 26 1 traversedInterfaces Ljava/util/Set<Ljava/lang/Class<*>;>;
4 5 2 res [Ljava/lang/reflect/Field;
22 26 2 res [Ljava/lang/reflect/Field;
2 26 3 rd Ljava/lang/Class$ReflectionData<TT;>;
6 26 4 fields Ljava/util/List<Ljava/lang/reflect/Field;>;
9 26 5 tmp [Ljava/lang/reflect/Field;
12 15 6 c Ljava/lang/Class<*>;
19 21 6 c Ljava/lang/Class<*>;
Signature: (Ljava/util/Set<Ljava/lang/Class<*>;>;)[Ljava/lang/reflect/Field;
MethodParameters:
Name Flags
traversedInterfaces
private static void addAll(java.util.Collection<java.lang.reflect.Field>, java.lang.reflect.Field[]);
descriptor: (Ljava/util/Collection;[Ljava/lang/reflect/Field;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 4
2: StackMap locals: int
StackMap stack:
aload 0
aload 1
iload 2
aaload
invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
pop
3: iinc 2 1
StackMap locals:
StackMap stack:
4: iload 2
aload 1
arraylength
if_icmplt 2
end local 2 5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 c Ljava/util/Collection<Ljava/lang/reflect/Field;>;
0 6 1 o [Ljava/lang/reflect/Field;
1 5 2 i I
Signature: (Ljava/util/Collection<Ljava/lang/reflect/Field;>;[Ljava/lang/reflect/Field;)V
MethodParameters:
Name Flags
c
o
private java.lang.reflect.Constructor<T>[] privateGetDeclaredConstructors(boolean);
descriptor: (Z)[Ljava/lang/reflect/Constructor;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: invokestatic java.lang.Class.checkInitted:()V
1: aload 0
invokevirtual java.lang.Class.reflectionData:()Ljava/lang/Class$ReflectionData;
astore 3
start local 3 2: aload 3
ifnull 7
3: iload 1
ifeq 4
aload 3
getfield java.lang.Class$ReflectionData.publicConstructors:[Ljava/lang/reflect/Constructor;
goto 5
StackMap locals: java.lang.Class int top java.lang.Class$ReflectionData
StackMap stack:
4: aload 3
getfield java.lang.Class$ReflectionData.declaredConstructors:[Ljava/lang/reflect/Constructor;
StackMap locals:
StackMap stack: java.lang.reflect.Constructor[]
5: astore 2
start local 2 6: aload 2
ifnull 7
aload 2
areturn
end local 2 7: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Class.isInterface:()Z
ifeq 10
8: iconst_0
anewarray java.lang.reflect.Constructor
astore 2
start local 2 9: goto 11
end local 2 10: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual java.lang.Class.getDeclaredConstructors0:(Z)[Ljava/lang/reflect/Constructor;
astore 2
start local 2 11: StackMap locals: java.lang.Class int java.lang.reflect.Constructor[] java.lang.Class$ReflectionData
StackMap stack:
aload 3
ifnull 16
12: iload 1
ifeq 15
13: aload 3
aload 2
putfield java.lang.Class$ReflectionData.publicConstructors:[Ljava/lang/reflect/Constructor;
14: goto 16
15: StackMap locals:
StackMap stack:
aload 3
aload 2
putfield java.lang.Class$ReflectionData.declaredConstructors:[Ljava/lang/reflect/Constructor;
16: StackMap locals:
StackMap stack:
aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Ljava/lang/Class<TT;>;
0 17 1 publicOnly Z
6 7 2 res [Ljava/lang/reflect/Constructor;
9 10 2 res [Ljava/lang/reflect/Constructor;
11 17 2 res [Ljava/lang/reflect/Constructor;
2 17 3 rd Ljava/lang/Class$ReflectionData<TT;>;
Signature: (Z)[Ljava/lang/reflect/Constructor<TT;>;
MethodParameters:
Name Flags
publicOnly
private java.lang.reflect.Method[] privateGetDeclaredMethods(boolean);
descriptor: (Z)[Ljava/lang/reflect/Method;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: invokestatic java.lang.Class.checkInitted:()V
1: aload 0
invokevirtual java.lang.Class.reflectionData:()Ljava/lang/Class$ReflectionData;
astore 3
start local 3 2: aload 3
ifnull 7
3: iload 1
ifeq 4
aload 3
getfield java.lang.Class$ReflectionData.declaredPublicMethods:[Ljava/lang/reflect/Method;
goto 5
StackMap locals: java.lang.Class int top java.lang.Class$ReflectionData
StackMap stack:
4: aload 3
getfield java.lang.Class$ReflectionData.declaredMethods:[Ljava/lang/reflect/Method;
StackMap locals:
StackMap stack: java.lang.reflect.Method[]
5: astore 2
start local 2 6: aload 2
ifnull 7
aload 2
areturn
end local 2 7: StackMap locals:
StackMap stack:
aload 0
aload 0
iload 1
invokevirtual java.lang.Class.getDeclaredMethods0:(Z)[Ljava/lang/reflect/Method;
invokestatic sun.reflect.Reflection.filterMethods:(Ljava/lang/Class;[Ljava/lang/reflect/Method;)[Ljava/lang/reflect/Method;
astore 2
start local 2 8: aload 3
ifnull 13
9: iload 1
ifeq 12
10: aload 3
aload 2
putfield java.lang.Class$ReflectionData.declaredPublicMethods:[Ljava/lang/reflect/Method;
11: goto 13
12: StackMap locals: java.lang.Class int java.lang.reflect.Method[] java.lang.Class$ReflectionData
StackMap stack:
aload 3
aload 2
putfield java.lang.Class$ReflectionData.declaredMethods:[Ljava/lang/reflect/Method;
13: StackMap locals:
StackMap stack:
aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljava/lang/Class<TT;>;
0 14 1 publicOnly Z
6 7 2 res [Ljava/lang/reflect/Method;
8 14 2 res [Ljava/lang/reflect/Method;
2 14 3 rd Ljava/lang/Class$ReflectionData<TT;>;
MethodParameters:
Name Flags
publicOnly
private java.lang.reflect.Method[] privateGetPublicMethods();
descriptor: ()[Ljava/lang/reflect/Method;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=10, args_size=1
start local 0 0: invokestatic java.lang.Class.checkInitted:()V
1: aload 0
invokevirtual java.lang.Class.reflectionData:()Ljava/lang/Class$ReflectionData;
astore 2
start local 2 2: aload 2
ifnull 5
3: aload 2
getfield java.lang.Class$ReflectionData.publicMethods:[Ljava/lang/reflect/Method;
astore 1
start local 1 4: aload 1
ifnull 5
aload 1
areturn
end local 1 5: StackMap locals: java.lang.Class top java.lang.Class$ReflectionData
StackMap stack:
new java.lang.Class$MethodArray
dup
invokespecial java.lang.Class$MethodArray.<init>:()V
astore 3
start local 3 6: aload 0
iconst_1
invokevirtual java.lang.Class.privateGetDeclaredMethods:(Z)[Ljava/lang/reflect/Method;
astore 4
start local 4 7: aload 3
aload 4
invokevirtual java.lang.Class$MethodArray.addAll:([Ljava/lang/reflect/Method;)V
end local 4 8: new java.lang.Class$MethodArray
dup
invokespecial java.lang.Class$MethodArray.<init>:()V
astore 4
start local 4 9: aload 0
invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
astore 5
start local 5 10: iconst_0
istore 6
start local 6 11: goto 14
12: StackMap locals: java.lang.Class top java.lang.Class$ReflectionData java.lang.Class$MethodArray java.lang.Class$MethodArray java.lang.Class[] int
StackMap stack:
aload 4
aload 5
iload 6
aaload
invokevirtual java.lang.Class.privateGetPublicMethods:()[Ljava/lang/reflect/Method;
invokevirtual java.lang.Class$MethodArray.addAll:([Ljava/lang/reflect/Method;)V
13: iinc 6 1
StackMap locals:
StackMap stack:
14: iload 6
aload 5
arraylength
if_icmplt 12
end local 6 15: aload 0
invokevirtual java.lang.Class.isInterface:()Z
ifne 29
16: aload 0
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
astore 6
start local 6 17: aload 6
ifnull 29
18: new java.lang.Class$MethodArray
dup
invokespecial java.lang.Class$MethodArray.<init>:()V
astore 7
start local 7 19: aload 7
aload 6
invokevirtual java.lang.Class.privateGetPublicMethods:()[Ljava/lang/reflect/Method;
invokevirtual java.lang.Class$MethodArray.addAll:([Ljava/lang/reflect/Method;)V
20: iconst_0
istore 8
start local 8 21: goto 26
22: StackMap locals: java.lang.Class top java.lang.Class$ReflectionData java.lang.Class$MethodArray java.lang.Class$MethodArray java.lang.Class[] java.lang.Class java.lang.Class$MethodArray int
StackMap stack:
aload 7
iload 8
invokevirtual java.lang.Class$MethodArray.get:(I)Ljava/lang/reflect/Method;
astore 9
start local 9 23: aload 9
ifnull 25
aload 9
invokevirtual java.lang.reflect.Method.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isAbstract:(I)Z
ifne 25
24: aload 4
aload 9
invokevirtual java.lang.Class$MethodArray.removeByNameAndSignature:(Ljava/lang/reflect/Method;)V
end local 9 25: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
26: iload 8
aload 7
invokevirtual java.lang.Class$MethodArray.length:()I
if_icmplt 22
end local 8 27: aload 7
aload 4
invokevirtual java.lang.Class$MethodArray.addAll:(Ljava/lang/Class$MethodArray;)V
28: aload 7
astore 4
end local 7 end local 6 29: StackMap locals:
StackMap stack:
iconst_0
istore 6
start local 6 30: goto 34
31: StackMap locals: int
StackMap stack:
aload 3
iload 6
invokevirtual java.lang.Class$MethodArray.get:(I)Ljava/lang/reflect/Method;
astore 7
start local 7 32: aload 4
aload 7
invokevirtual java.lang.Class$MethodArray.removeByNameAndSignature:(Ljava/lang/reflect/Method;)V
end local 7 33: iinc 6 1
StackMap locals:
StackMap stack:
34: iload 6
aload 3
invokevirtual java.lang.Class$MethodArray.length:()I
if_icmplt 31
end local 6 35: aload 3
aload 4
invokevirtual java.lang.Class$MethodArray.addAllIfNotPresent:(Ljava/lang/Class$MethodArray;)V
36: aload 3
invokevirtual java.lang.Class$MethodArray.compactAndTrim:()V
37: aload 3
invokevirtual java.lang.Class$MethodArray.getArray:()[Ljava/lang/reflect/Method;
astore 1
start local 1 38: aload 2
ifnull 40
39: aload 2
aload 1
putfield java.lang.Class$ReflectionData.publicMethods:[Ljava/lang/reflect/Method;
40: StackMap locals: java.lang.Class java.lang.reflect.Method[] java.lang.Class$ReflectionData java.lang.Class$MethodArray java.lang.Class$MethodArray java.lang.Class[]
StackMap stack:
aload 1
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 41 0 this Ljava/lang/Class<TT;>;
4 5 1 res [Ljava/lang/reflect/Method;
38 41 1 res [Ljava/lang/reflect/Method;
2 41 2 rd Ljava/lang/Class$ReflectionData<TT;>;
6 41 3 methods Ljava/lang/Class$MethodArray;
7 8 4 tmp [Ljava/lang/reflect/Method;
9 41 4 inheritedMethods Ljava/lang/Class$MethodArray;
10 41 5 interfaces [Ljava/lang/Class;
11 15 6 i I
17 29 6 c Ljava/lang/Class<*>;
19 29 7 supers Ljava/lang/Class$MethodArray;
21 27 8 i I
23 25 9 m Ljava/lang/reflect/Method;
30 35 6 i I
32 33 7 m Ljava/lang/reflect/Method;
private static java.lang.reflect.Field searchFields(java.lang.reflect.Field[], java.lang.String);
descriptor: ([Ljava/lang/reflect/Field;Ljava/lang/String;)Ljava/lang/reflect/Field;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.String.intern:()Ljava/lang/String;
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 6
3: StackMap locals: java.lang.String int
StackMap stack:
aload 0
iload 3
aaload
invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
aload 2
if_acmpne 5
4: invokestatic java.lang.Class.getReflectionFactory:()Lsun/reflect/ReflectionFactory;
aload 0
iload 3
aaload
invokevirtual sun.reflect.ReflectionFactory.copyField:(Ljava/lang/reflect/Field;)Ljava/lang/reflect/Field;
areturn
5: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
aload 0
arraylength
if_icmplt 3
end local 3 7: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 fields [Ljava/lang/reflect/Field;
0 8 1 name Ljava/lang/String;
1 8 2 internedName Ljava/lang/String;
2 7 3 i I
MethodParameters:
Name Flags
fields
name
private java.lang.reflect.Field getField0(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/reflect/Field;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 0
iconst_1
invokevirtual java.lang.Class.privateGetDeclaredFields:(Z)[Ljava/lang/reflect/Field;
aload 1
invokestatic java.lang.Class.searchFields:([Ljava/lang/reflect/Field;Ljava/lang/String;)Ljava/lang/reflect/Field;
dup
astore 2
start local 2 1: ifnull 3
2: aload 2
areturn
3: StackMap locals: java.lang.reflect.Field
StackMap stack:
aload 0
invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
astore 3
start local 3 4: iconst_0
istore 4
start local 4 5: goto 10
6: StackMap locals: java.lang.Class[] int
StackMap stack:
aload 3
iload 4
aaload
astore 5
start local 5 7: aload 5
aload 1
invokevirtual java.lang.Class.getField0:(Ljava/lang/String;)Ljava/lang/reflect/Field;
dup
astore 2
ifnull 9
8: aload 2
areturn
end local 5 9: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
10: iload 4
aload 3
arraylength
if_icmplt 6
end local 4 11: aload 0
invokevirtual java.lang.Class.isInterface:()Z
ifne 16
12: aload 0
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
astore 4
start local 4 13: aload 4
ifnull 16
14: aload 4
aload 1
invokevirtual java.lang.Class.getField0:(Ljava/lang/String;)Ljava/lang/reflect/Field;
dup
astore 2
ifnull 16
15: aload 2
areturn
end local 4 16: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Ljava/lang/Class<TT;>;
0 17 1 name Ljava/lang/String;
1 17 2 res Ljava/lang/reflect/Field;
4 17 3 interfaces [Ljava/lang/Class;
5 11 4 i I
7 9 5 c Ljava/lang/Class<*>;
13 16 4 c Ljava/lang/Class<*>;
Exceptions:
throws java.lang.NoSuchFieldException
MethodParameters:
Name Flags
name
private static java.lang.reflect.Method searchMethods(java.lang.reflect.Method[], java.lang.String, java.lang.Class<?>[]);
descriptor: ([Ljava/lang/reflect/Method;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aload 1
invokevirtual java.lang.String.intern:()Ljava/lang/String;
astore 4
start local 4 2: iconst_0
istore 5
start local 5 3: goto 11
4: StackMap locals: java.lang.reflect.Method java.lang.String int
StackMap stack:
aload 0
iload 5
aaload
astore 6
start local 6 5: aload 6
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
aload 4
if_acmpne 10
6: aload 2
aload 6
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
invokestatic java.lang.Class.arrayContentsEq:([Ljava/lang/Object;[Ljava/lang/Object;)Z
ifeq 10
7: aload 3
ifnull 9
8: aload 3
invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
aload 6
invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 10
9: StackMap locals: java.lang.reflect.Method
StackMap stack:
aload 6
astore 3
end local 6 10: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
11: iload 5
aload 0
arraylength
if_icmplt 4
end local 5 12: aload 3
ifnonnull 13
aload 3
goto 14
StackMap locals:
StackMap stack:
13: invokestatic java.lang.Class.getReflectionFactory:()Lsun/reflect/ReflectionFactory;
aload 3
invokevirtual sun.reflect.ReflectionFactory.copyMethod:(Ljava/lang/reflect/Method;)Ljava/lang/reflect/Method;
StackMap locals:
StackMap stack: java.lang.reflect.Method
14: areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 methods [Ljava/lang/reflect/Method;
0 15 1 name Ljava/lang/String;
0 15 2 parameterTypes [Ljava/lang/Class;
1 15 3 res Ljava/lang/reflect/Method;
2 15 4 internedName Ljava/lang/String;
3 12 5 i I
5 10 6 m Ljava/lang/reflect/Method;
Signature: ([Ljava/lang/reflect/Method;Ljava/lang/String;[Ljava/lang/Class<*>;)Ljava/lang/reflect/Method;
MethodParameters:
Name Flags
methods
name
parameterTypes
private java.lang.reflect.Method getMethod0(java.lang.String, java.lang.Class<?>[]);
descriptor: (Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iconst_1
invokevirtual java.lang.Class.privateGetDeclaredMethods:(Z)[Ljava/lang/reflect/Method;
1: aload 1
2: aload 2
3: invokestatic java.lang.Class.searchMethods:([Ljava/lang/reflect/Method;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
dup
astore 3
start local 3 4: ifnull 6
5: aload 3
areturn
6: StackMap locals: java.lang.reflect.Method
StackMap stack:
aload 0
invokevirtual java.lang.Class.isInterface:()Z
ifne 11
7: aload 0
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
astore 4
start local 4 8: aload 4
ifnull 11
9: aload 4
aload 1
aload 2
invokevirtual java.lang.Class.getMethod0:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
dup
astore 3
ifnull 11
10: aload 3
areturn
end local 4 11: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
astore 4
start local 4 12: iconst_0
istore 5
start local 5 13: goto 18
14: StackMap locals: java.lang.Class[] int
StackMap stack:
aload 4
iload 5
aaload
astore 6
start local 6 15: aload 6
aload 1
aload 2
invokevirtual java.lang.Class.getMethod0:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
dup
astore 3
ifnull 17
16: aload 3
areturn
end local 6 17: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
18: iload 5
aload 4
arraylength
if_icmplt 14
end local 5 19: aconst_null
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Ljava/lang/Class<TT;>;
0 20 1 name Ljava/lang/String;
0 20 2 parameterTypes [Ljava/lang/Class;
4 20 3 res Ljava/lang/reflect/Method;
8 11 4 c Ljava/lang/Class<-TT;>;
12 20 4 interfaces [Ljava/lang/Class;
13 19 5 i I
15 17 6 c Ljava/lang/Class<*>;
Signature: (Ljava/lang/String;[Ljava/lang/Class<*>;)Ljava/lang/reflect/Method;
MethodParameters:
Name Flags
name
parameterTypes
private java.lang.reflect.Constructor<T> getConstructor0(java.lang.Class<?>[], int);
descriptor: ([Ljava/lang/Class;I)Ljava/lang/reflect/Constructor;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 2
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack: java.lang.Class
1: iconst_0
StackMap locals: java.lang.Class java.lang.Class[] int
StackMap stack: java.lang.Class int
2: invokevirtual java.lang.Class.privateGetDeclaredConstructors:(Z)[Ljava/lang/reflect/Constructor;
astore 3
start local 3 3: aload 3
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 11
StackMap locals: java.lang.Class java.lang.Class[] int java.lang.reflect.Constructor[] top int int java.lang.reflect.Constructor[]
StackMap stack:
4: aload 7
iload 5
aaload
astore 4
start local 4 5: aload 1
6: aload 4
invokevirtual java.lang.reflect.Constructor.getParameterTypes:()[Ljava/lang/Class;
7: invokestatic java.lang.Class.arrayContentsEq:([Ljava/lang/Object;[Ljava/lang/Object;)Z
8: ifeq 10
9: invokestatic java.lang.Class.getReflectionFactory:()Lsun/reflect/ReflectionFactory;
aload 4
invokevirtual sun.reflect.ReflectionFactory.copyConstructor:(Ljava/lang/reflect/Constructor;)Ljava/lang/reflect/Constructor;
areturn
end local 4 10: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
11: iload 5
iload 6
if_icmplt 4
12: new java.lang.NoSuchMethodException
dup
new java.lang.StringBuilder
dup
aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".<init>"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokestatic java.lang.Class.argumentTypesToString:([Ljava/lang/Class;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.NoSuchMethodException.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljava/lang/Class<TT;>;
0 13 1 parameterTypes [Ljava/lang/Class;
0 13 2 which I
3 13 3 constructors [Ljava/lang/reflect/Constructor;
5 10 4 constructor Ljava/lang/reflect/Constructor<TT;>;
Exceptions:
throws java.lang.NoSuchMethodException
Signature: ([Ljava/lang/Class<*>;I)Ljava/lang/reflect/Constructor<TT;>;
MethodParameters:
Name Flags
parameterTypes
which
private static boolean arrayContentsEq(java.lang.Object[], java.lang.Object[]);
descriptor: ([Ljava/lang/Object;[Ljava/lang/Object;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
ifnonnull 3
1: aload 1
ifnull 2
aload 1
arraylength
ifeq 2
iconst_0
ireturn
StackMap locals:
StackMap stack:
2: iconst_1
ireturn
3: StackMap locals:
StackMap stack:
aload 1
ifnonnull 6
4: aload 0
arraylength
ifne 5
iconst_1
ireturn
StackMap locals:
StackMap stack:
5: iconst_0
ireturn
6: StackMap locals:
StackMap stack:
aload 0
arraylength
aload 1
arraylength
if_icmpeq 8
7: iconst_0
ireturn
8: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 9: goto 13
10: StackMap locals: int
StackMap stack:
aload 0
iload 2
aaload
aload 1
iload 2
aaload
if_acmpeq 12
11: iconst_0
ireturn
12: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
13: iload 2
aload 0
arraylength
if_icmplt 10
end local 2 14: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 a1 [Ljava/lang/Object;
0 15 1 a2 [Ljava/lang/Object;
9 14 2 i I
MethodParameters:
Name Flags
a1
a2
private static java.lang.reflect.Field[] copyFields(java.lang.reflect.Field[]);
descriptor: ([Ljava/lang/reflect/Field;)[Ljava/lang/reflect/Field;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=4, args_size=1
start local 0 0: aload 0
arraylength
anewarray java.lang.reflect.Field
astore 1
start local 1 1: invokestatic java.lang.Class.getReflectionFactory:()Lsun/reflect/ReflectionFactory;
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 6
4: StackMap locals: java.lang.reflect.Field[] sun.reflect.ReflectionFactory int
StackMap stack:
aload 1
iload 3
aload 2
aload 0
iload 3
aaload
invokevirtual sun.reflect.ReflectionFactory.copyField:(Ljava/lang/reflect/Field;)Ljava/lang/reflect/Field;
aastore
5: iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
aload 0
arraylength
if_icmplt 4
end local 3 7: aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 arg [Ljava/lang/reflect/Field;
1 8 1 out [Ljava/lang/reflect/Field;
2 8 2 fact Lsun/reflect/ReflectionFactory;
3 7 3 i I
MethodParameters:
Name Flags
arg
private static java.lang.reflect.Method[] copyMethods(java.lang.reflect.Method[]);
descriptor: ([Ljava/lang/reflect/Method;)[Ljava/lang/reflect/Method;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=4, args_size=1
start local 0 0: aload 0
arraylength
anewarray java.lang.reflect.Method
astore 1
start local 1 1: invokestatic java.lang.Class.getReflectionFactory:()Lsun/reflect/ReflectionFactory;
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 6
4: StackMap locals: java.lang.reflect.Method[] sun.reflect.ReflectionFactory int
StackMap stack:
aload 1
iload 3
aload 2
aload 0
iload 3
aaload
invokevirtual sun.reflect.ReflectionFactory.copyMethod:(Ljava/lang/reflect/Method;)Ljava/lang/reflect/Method;
aastore
5: iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
aload 0
arraylength
if_icmplt 4
end local 3 7: aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 arg [Ljava/lang/reflect/Method;
1 8 1 out [Ljava/lang/reflect/Method;
2 8 2 fact Lsun/reflect/ReflectionFactory;
3 7 3 i I
MethodParameters:
Name Flags
arg
private static <U> java.lang.reflect.Constructor<U>[] copyConstructors(java.lang.reflect.Constructor<U>[]);
descriptor: ([Ljava/lang/reflect/Constructor;)[Ljava/lang/reflect/Constructor;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.reflect.Constructor[].clone:()Ljava/lang/Object;
checkcast java.lang.reflect.Constructor[]
astore 1
start local 1 1: invokestatic java.lang.Class.getReflectionFactory:()Lsun/reflect/ReflectionFactory;
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 6
4: StackMap locals: java.lang.reflect.Constructor[] sun.reflect.ReflectionFactory int
StackMap stack:
aload 1
iload 3
aload 2
aload 1
iload 3
aaload
invokevirtual sun.reflect.ReflectionFactory.copyConstructor:(Ljava/lang/reflect/Constructor;)Ljava/lang/reflect/Constructor;
aastore
5: iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
aload 1
arraylength
if_icmplt 4
end local 3 7: aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 arg [Ljava/lang/reflect/Constructor;
1 8 1 out [Ljava/lang/reflect/Constructor;
2 8 2 fact Lsun/reflect/ReflectionFactory;
3 7 3 i I
Signature: <U:Ljava/lang/Object;>([Ljava/lang/reflect/Constructor<TU;>;)[Ljava/lang/reflect/Constructor<TU;>;
MethodParameters:
Name Flags
arg
private native java.lang.reflect.Field[] getDeclaredFields0(boolean);
descriptor: (Z)[Ljava/lang/reflect/Field;
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
MethodParameters:
Name Flags
publicOnly
private native java.lang.reflect.Method[] getDeclaredMethods0(boolean);
descriptor: (Z)[Ljava/lang/reflect/Method;
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
MethodParameters:
Name Flags
publicOnly
private native java.lang.reflect.Constructor<T>[] getDeclaredConstructors0(boolean);
descriptor: (Z)[Ljava/lang/reflect/Constructor;
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
Signature: (Z)[Ljava/lang/reflect/Constructor<TT;>;
MethodParameters:
Name Flags
publicOnly
private native java.lang.Class<?>[] getDeclaredClasses0();
descriptor: ()[Ljava/lang/Class;
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
Signature: ()[Ljava/lang/Class<*>;
private static java.lang.String argumentTypesToString(java.lang.Class<?>[]);
descriptor: ([Ljava/lang/Class;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 1: aload 1
ldc "("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
2: aload 0
ifnull 13
3: iconst_0
istore 2
start local 2 4: goto 12
5: StackMap locals: java.lang.StringBuilder int
StackMap stack:
iload 2
ifle 7
6: aload 1
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
7: StackMap locals:
StackMap stack:
aload 0
iload 2
aaload
astore 3
start local 3 8: aload 1
aload 3
ifnonnull 9
ldc "null"
goto 10
StackMap locals: java.lang.Class[] java.lang.StringBuilder int java.lang.Class
StackMap stack: java.lang.StringBuilder
9: aload 3
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
StackMap locals: java.lang.Class[] java.lang.StringBuilder int java.lang.Class
StackMap stack: java.lang.StringBuilder java.lang.String
10: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 3 11: iinc 2 1
StackMap locals:
StackMap stack:
12: iload 2
aload 0
arraylength
if_icmplt 5
end local 2 13: StackMap locals:
StackMap stack:
aload 1
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
14: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 argTypes [Ljava/lang/Class;
1 15 1 buf Ljava/lang/StringBuilder;
4 13 2 i I
8 11 3 c Ljava/lang/Class<*>;
Signature: ([Ljava/lang/Class<*>;)Ljava/lang/String;
MethodParameters:
Name Flags
argTypes
public boolean desiredAssertionStatus();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: aload 0
invokestatic java.lang.Class.desiredAssertionStatus0:(Ljava/lang/Class;)Z
ireturn
3: StackMap locals: java.lang.ClassLoader
StackMap stack:
aload 1
dup
astore 2
monitorenter
4: aload 1
getfield java.lang.ClassLoader.classAssertionStatus:Ljava/util/Map;
ifnonnull 6
5: aload 0
invokestatic java.lang.Class.desiredAssertionStatus0:(Ljava/lang/Class;)Z
goto 7
6: StackMap locals: java.lang.ClassLoader
StackMap stack:
aload 1
aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.ClassLoader.desiredAssertionStatus:(Ljava/lang/String;)Z
7: StackMap locals:
StackMap stack: int
aload 2
monitorexit
8: ireturn
9: StackMap locals:
StackMap stack: java.lang.Throwable
aload 2
monitorexit
10: athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljava/lang/Class<TT;>;
1 11 1 loader Ljava/lang/ClassLoader;
Exception table:
from to target type
4 8 9 any
9 10 9 any
private static native boolean desiredAssertionStatus0(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Z
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
Signature: (Ljava/lang/Class<*>;)Z
MethodParameters:
Name Flags
clazz
public boolean isEnum();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Class.getModifiers:()I
sipush 16384
iand
ifeq 3
1: aload 0
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
ldc Ljava/lang/Enum;
if_acmpne 3
2: iconst_1
ireturn
StackMap locals:
StackMap stack:
3: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/lang/Class<TT;>;
private static sun.reflect.ReflectionFactory getReflectionFactory();
descriptor: ()Lsun/reflect/ReflectionFactory;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic java.lang.Class.reflectionFactory:Lsun/reflect/ReflectionFactory;
ifnonnull 4
1: new sun.reflect.ReflectionFactory$GetReflectionFactoryAction
dup
invokespecial sun.reflect.ReflectionFactory$GetReflectionFactoryAction.<init>:()V
2: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast sun.reflect.ReflectionFactory
3: putstatic java.lang.Class.reflectionFactory:Lsun/reflect/ReflectionFactory;
4: StackMap locals:
StackMap stack:
getstatic java.lang.Class.reflectionFactory:Lsun/reflect/ReflectionFactory;
areturn
LocalVariableTable:
Start End Slot Name Signature
private static void checkInitted();
descriptor: ()V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic java.lang.Class.initted:Z
ifeq 1
return
1: StackMap locals:
StackMap stack:
new java.lang.Class$3
dup
invokespecial java.lang.Class$3.<init>:()V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
2: return
LocalVariableTable:
Start End Slot Name Signature
public T[] getEnumConstants();
descriptor: ()[Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Class.getEnumConstantsShared:()[Ljava/lang/Object;
astore 1
start local 1 1: aload 1
ifnull 2
aload 1
invokevirtual java.lang.Object[].clone:()Ljava/lang/Object;
checkcast java.lang.Object[]
goto 3
StackMap locals: java.lang.Object[]
StackMap stack:
2: aconst_null
StackMap locals:
StackMap stack: java.lang.Object[]
3: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/lang/Class<TT;>;
1 4 1 values [Ljava/lang/Object;
Signature: ()[TT;
T[] getEnumConstantsShared();
descriptor: ()[Ljava/lang/Object;
flags: (0x0000)
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield java.lang.Class.enumConstants:[Ljava/lang/Object;
ifnonnull 10
1: aload 0
invokevirtual java.lang.Class.isEnum:()Z
ifne 2
aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
ldc "values"
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 1
start local 1 3: new java.lang.Class$4
dup
aload 0
aload 1
invokespecial java.lang.Class$4.<init>:(Ljava/lang/Class;Ljava/lang/reflect/Method;)V
4: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
5: aload 0
aload 1
aconst_null
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Object[]
putfield java.lang.Class.enumConstants:[Ljava/lang/Object;
end local 1 6: goto 10
7: StackMap locals:
StackMap stack: java.lang.reflect.InvocationTargetException
pop
aconst_null
areturn
8: StackMap locals:
StackMap stack: java.lang.NoSuchMethodException
pop
aconst_null
areturn
9: StackMap locals:
StackMap stack: java.lang.IllegalAccessException
pop
aconst_null
areturn
10: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.Class.enumConstants:[Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljava/lang/Class<TT;>;
3 6 1 values Ljava/lang/reflect/Method;
Exception table:
from to target type
2 6 7 Class java.lang.reflect.InvocationTargetException
2 6 8 Class java.lang.NoSuchMethodException
2 6 9 Class java.lang.IllegalAccessException
Signature: ()[TT;
java.util.Map<java.lang.String, T> enumConstantDirectory();
descriptor: ()Ljava/util/Map;
flags: (0x0000)
Code:
stack=5, locals=7, args_size=1
start local 0 0: aload 0
getfield java.lang.Class.enumConstantDirectory:Ljava/util/Map;
ifnonnull 13
1: aload 0
invokevirtual java.lang.Class.getEnumConstantsShared:()[Ljava/lang/Object;
astore 1
start local 1 2: aload 1
ifnonnull 6
3: new java.lang.IllegalArgumentException
dup
4: new java.lang.StringBuilder
dup
aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " is not an enum type"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals: java.lang.Object[]
StackMap stack:
new java.util.HashMap
dup
iconst_2
aload 1
arraylength
imul
invokespecial java.util.HashMap.<init>:(I)V
astore 2
start local 2 7: aload 1
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 11
StackMap locals: java.lang.Class java.lang.Object[] java.util.Map top int int java.lang.Object[]
StackMap stack:
8: aload 6
iload 4
aaload
astore 3
start local 3 9: aload 2
aload 3
checkcast java.lang.Enum
invokevirtual java.lang.Enum.name:()Ljava/lang/String;
aload 3
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 3 10: iinc 4 1
StackMap locals:
StackMap stack:
11: iload 4
iload 5
if_icmplt 8
12: aload 0
aload 2
putfield java.lang.Class.enumConstantDirectory:Ljava/util/Map;
end local 2 end local 1 13: StackMap locals: java.lang.Class
StackMap stack:
aload 0
getfield java.lang.Class.enumConstantDirectory:Ljava/util/Map;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljava/lang/Class<TT;>;
2 13 1 universe [Ljava/lang/Object;
7 13 2 m Ljava/util/Map<Ljava/lang/String;TT;>;
9 10 3 constant TT;
Signature: ()Ljava/util/Map<Ljava/lang/String;TT;>;
public T cast();
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 2
aload 0
aload 1
invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
ifne 2
1: new java.lang.ClassCastException
dup
aload 0
aload 1
invokevirtual java.lang.Class.cannotCastMsg:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/lang/Class<TT;>;
0 3 1 obj Ljava/lang/Object;
Signature: (Ljava/lang/Object;)TT;
MethodParameters:
Name Flags
obj
private java.lang.String cannotCastMsg(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
ldc "Cannot cast "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " to "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/Class<TT;>;
0 1 1 obj Ljava/lang/Object;
MethodParameters:
Name Flags
obj
public <U> java.lang.Class<? extends U> asSubclass(java.lang.Class<U>);
descriptor: (Ljava/lang/Class;)Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
new java.lang.ClassCastException
dup
aload 0
invokevirtual java.lang.Class.toString:()Ljava/lang/String;
invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/lang/Class<TT;>;
0 3 1 clazz Ljava/lang/Class<TU;>;
Signature: <U:Ljava/lang/Object;>(Ljava/lang/Class<TU;>;)Ljava/lang/Class<+TU;>;
MethodParameters:
Name Flags
clazz
public <A extends java.lang.annotation.Annotation> A getAnnotation(java.lang.Class<A>);
descriptor: (Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Class.initAnnotationsIfNecessary:()V
3: aload 0
getfield java.lang.Class.annotations:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.annotation.Annotation
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/lang/Class<TT;>;
0 4 1 annotationClass Ljava/lang/Class<TA;>;
Signature: <A::Ljava/lang/annotation/Annotation;>(Ljava/lang/Class<TA;>;)TA;
MethodParameters:
Name Flags
annotationClass
public boolean isAnnotationPresent(java.lang.Class<? extends java.lang.annotation.Annotation>);
descriptor: (Ljava/lang/Class;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnull 3
iconst_1
ireturn
StackMap locals:
StackMap stack:
3: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/lang/Class<TT;>;
0 4 1 annotationClass Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)Z
MethodParameters:
Name Flags
annotationClass
public java.lang.annotation.Annotation[] getAnnotations();
descriptor: ()[Ljava/lang/annotation/Annotation;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Class.initAnnotationsIfNecessary:()V
1: aload 0
getfield java.lang.Class.annotations:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
getstatic java.lang.Class.EMPTY_ANNOTATIONS_ARRAY:[Ljava/lang/annotation/Annotation;
invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.annotation.Annotation[]
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/Class<TT;>;
public java.lang.annotation.Annotation[] getDeclaredAnnotations();
descriptor: ()[Ljava/lang/annotation/Annotation;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Class.initAnnotationsIfNecessary:()V
1: aload 0
getfield java.lang.Class.declaredAnnotations:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
getstatic java.lang.Class.EMPTY_ANNOTATIONS_ARRAY:[Ljava/lang/annotation/Annotation;
invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.annotation.Annotation[]
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/Class<TT;>;
private void clearAnnotationCachesOnClassRedefinition();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield java.lang.Class.lastAnnotationsRedefinedCount:I
aload 0
getfield java.lang.Class.classRedefinedCount:I
if_icmpeq 3
1: aload 0
aload 0
aconst_null
dup_x1
putfield java.lang.Class.declaredAnnotations:Ljava/util/Map;
putfield java.lang.Class.annotations:Ljava/util/Map;
2: aload 0
aload 0
getfield java.lang.Class.classRedefinedCount:I
putfield java.lang.Class.lastAnnotationsRedefinedCount:I
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/lang/Class<TT;>;
private synchronized void initAnnotationsIfNecessary();
descriptor: ()V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Class.clearAnnotationCachesOnClassRedefinition:()V
1: aload 0
getfield java.lang.Class.annotations:Ljava/util/Map;
ifnull 3
2: return
3: StackMap locals:
StackMap stack:
aload 0
4: aload 0
invokevirtual java.lang.Class.getRawAnnotations:()[B
aload 0
invokevirtual java.lang.Class.getConstantPool:()Lsun/reflect/ConstantPool;
aload 0
5: invokestatic sun.reflect.annotation.AnnotationParser.parseAnnotations:([BLsun/reflect/ConstantPool;Ljava/lang/Class;)Ljava/util/Map;
putfield java.lang.Class.declaredAnnotations:Ljava/util/Map;
6: aload 0
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
astore 1
start local 1 7: aload 1
ifnonnull 10
8: aload 0
aload 0
getfield java.lang.Class.declaredAnnotations:Ljava/util/Map;
putfield java.lang.Class.annotations:Ljava/util/Map;
9: goto 19
10: StackMap locals: java.lang.Class
StackMap stack:
aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield java.lang.Class.annotations:Ljava/util/Map;
11: aload 1
invokevirtual java.lang.Class.initAnnotationsIfNecessary:()V
12: aload 1
getfield java.lang.Class.annotations:Ljava/util/Map;
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 17
StackMap locals: java.lang.Class java.lang.Class top java.util.Iterator
StackMap stack:
13: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 2
start local 2 14: aload 2
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.Class
astore 4
start local 4 15: aload 4
invokestatic sun.reflect.annotation.AnnotationType.getInstance:(Ljava/lang/Class;)Lsun/reflect/annotation/AnnotationType;
invokevirtual sun.reflect.annotation.AnnotationType.isInherited:()Z
ifeq 17
16: aload 0
getfield java.lang.Class.annotations:Ljava/util/Map;
aload 4
aload 2
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.lang.annotation.Annotation
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 4 end local 2 17: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
18: aload 0
getfield java.lang.Class.annotations:Ljava/util/Map;
aload 0
getfield java.lang.Class.declaredAnnotations:Ljava/util/Map;
invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
19: StackMap locals: java.lang.Class java.lang.Class
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Ljava/lang/Class<TT;>;
7 20 1 superClass Ljava/lang/Class<*>;
14 17 2 e Ljava/util/Map$Entry<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;Ljava/lang/annotation/Annotation;>;
15 17 4 annotationClass Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
boolean casAnnotationType(sun.reflect.annotation.AnnotationType, sun.reflect.annotation.AnnotationType);
descriptor: (Lsun/reflect/annotation/AnnotationType;Lsun/reflect/annotation/AnnotationType;)Z
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokestatic java.lang.Class$Atomic.casAnnotationType:(Ljava/lang/Class;Lsun/reflect/annotation/AnnotationType;Lsun/reflect/annotation/AnnotationType;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/Class<TT;>;
0 1 1 oldType Lsun/reflect/annotation/AnnotationType;
0 1 2 newType Lsun/reflect/annotation/AnnotationType;
MethodParameters:
Name Flags
oldType
newType
sun.reflect.annotation.AnnotationType getAnnotationType();
descriptor: ()Lsun/reflect/annotation/AnnotationType;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.lang.Class.annotationType:Lsun/reflect/annotation/AnnotationType;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/Class<TT;>;
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;Ljava/io/Serializable;Ljava/lang/reflect/GenericDeclaration;Ljava/lang/reflect/Type;Ljava/lang/reflect/AnnotatedElement;
SourceFile: "Class.java"
NestMembers:
java.lang.Class$1 java.lang.Class$2 java.lang.Class$3 java.lang.Class$4 java.lang.Class$Atomic java.lang.Class$EnclosingMethodInfo java.lang.Class$MethodArray java.lang.Class$ReflectionData
InnerClasses:
java.lang.Class$1
java.lang.Class$2
java.lang.Class$3
java.lang.Class$4
private Atomic = java.lang.Class$Atomic of java.lang.Class
private final EnclosingMethodInfo = java.lang.Class$EnclosingMethodInfo of java.lang.Class
MethodArray = java.lang.Class$MethodArray of java.lang.Class
ReflectionData = java.lang.Class$ReflectionData of java.lang.Class
public abstract Entry = java.util.Map$Entry of java.util.Map
public final GetReflectionFactoryAction = sun.reflect.ReflectionFactory$GetReflectionFactoryAction of sun.reflect.ReflectionFactory