public abstract class org.springframework.util.ClassUtils
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.springframework.util.ClassUtils
super_class: java.lang.Object
{
public static final java.lang.String ARRAY_SUFFIX;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "[]"
private static final java.lang.String INTERNAL_ARRAY_PREFIX;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "["
private static final java.lang.String NON_PRIMITIVE_ARRAY_PREFIX;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "[L"
private static final java.lang.Class<?>[] EMPTY_CLASS_ARRAY;
descriptor: [Ljava/lang/Class;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: [Ljava/lang/Class<*>;
private static final char PACKAGE_SEPARATOR;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 46
private static final char PATH_SEPARATOR;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 47
private static final char INNER_CLASS_SEPARATOR;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 36
public static final java.lang.String CGLIB_CLASS_SEPARATOR;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "$$"
public static final java.lang.String CLASS_FILE_SUFFIX;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: ".class"
private static final java.util.Map<java.lang.Class<?>, java.lang.Class<?>> primitiveWrapperTypeMap;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/Class<*>;Ljava/lang/Class<*>;>;
private static final java.util.Map<java.lang.Class<?>, java.lang.Class<?>> primitiveTypeToWrapperMap;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/Class<*>;Ljava/lang/Class<*>;>;
private static final java.util.Map<java.lang.String, java.lang.Class<?>> primitiveTypeNameMap;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Class<*>;>;
private static final java.util.Map<java.lang.String, java.lang.Class<?>> commonClassCache;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Class<*>;>;
private static final java.util.Set<java.lang.Class<?>> javaLanguageInterfaces;
descriptor: Ljava/util/Set;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Set<Ljava/lang/Class<*>;>;
private static final java.util.Map<java.lang.reflect.Method, java.lang.reflect.Method> interfaceMethodCache;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=3, args_size=0
0: iconst_0
anewarray java.lang.Class
putstatic org.springframework.util.ClassUtils.EMPTY_CLASS_ARRAY:[Ljava/lang/Class;
1: new java.util.IdentityHashMap
dup
bipush 8
invokespecial java.util.IdentityHashMap.<init>:(I)V
putstatic org.springframework.util.ClassUtils.primitiveWrapperTypeMap:Ljava/util/Map;
2: new java.util.IdentityHashMap
dup
bipush 8
invokespecial java.util.IdentityHashMap.<init>:(I)V
putstatic org.springframework.util.ClassUtils.primitiveTypeToWrapperMap:Ljava/util/Map;
3: new java.util.HashMap
dup
bipush 32
invokespecial java.util.HashMap.<init>:(I)V
putstatic org.springframework.util.ClassUtils.primitiveTypeNameMap:Ljava/util/Map;
4: new java.util.HashMap
dup
bipush 64
invokespecial java.util.HashMap.<init>:(I)V
putstatic org.springframework.util.ClassUtils.commonClassCache:Ljava/util/Map;
5: new org.springframework.util.ConcurrentReferenceHashMap
dup
sipush 256
invokespecial org.springframework.util.ConcurrentReferenceHashMap.<init>:(I)V
putstatic org.springframework.util.ClassUtils.interfaceMethodCache:Ljava/util/Map;
6: getstatic org.springframework.util.ClassUtils.primitiveWrapperTypeMap:Ljava/util/Map;
ldc Ljava/lang/Boolean;
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: getstatic org.springframework.util.ClassUtils.primitiveWrapperTypeMap:Ljava/util/Map;
ldc Ljava/lang/Byte;
getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: getstatic org.springframework.util.ClassUtils.primitiveWrapperTypeMap:Ljava/util/Map;
ldc Ljava/lang/Character;
getstatic java.lang.Character.TYPE:Ljava/lang/Class;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: getstatic org.springframework.util.ClassUtils.primitiveWrapperTypeMap:Ljava/util/Map;
ldc Ljava/lang/Double;
getstatic java.lang.Double.TYPE:Ljava/lang/Class;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
10: getstatic org.springframework.util.ClassUtils.primitiveWrapperTypeMap:Ljava/util/Map;
ldc Ljava/lang/Float;
getstatic java.lang.Float.TYPE:Ljava/lang/Class;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
11: getstatic org.springframework.util.ClassUtils.primitiveWrapperTypeMap:Ljava/util/Map;
ldc Ljava/lang/Integer;
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
12: getstatic org.springframework.util.ClassUtils.primitiveWrapperTypeMap:Ljava/util/Map;
ldc Ljava/lang/Long;
getstatic java.lang.Long.TYPE:Ljava/lang/Class;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
13: getstatic org.springframework.util.ClassUtils.primitiveWrapperTypeMap:Ljava/util/Map;
ldc Ljava/lang/Short;
getstatic java.lang.Short.TYPE:Ljava/lang/Class;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
14: getstatic org.springframework.util.ClassUtils.primitiveWrapperTypeMap:Ljava/util/Map;
ldc Ljava/lang/Void;
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
15: getstatic org.springframework.util.ClassUtils.primitiveWrapperTypeMap:Ljava/util/Map;
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 1
goto 19
StackMap locals: top java.util.Iterator
StackMap stack:
16: aload 1
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 0
start local 0 17: getstatic org.springframework.util.ClassUtils.primitiveTypeToWrapperMap:Ljava/util/Map;
aload 0
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.lang.Class
aload 0
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.Class
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
iconst_1
anewarray java.lang.Class
dup
iconst_0
18: aload 0
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.Class
aastore
invokestatic org.springframework.util.ClassUtils.registerCommonClasses:([Ljava/lang/Class;)V
end local 0 19: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.Iterator.hasNext:()Z
ifne 16
20: new java.util.HashSet
dup
bipush 32
invokespecial java.util.HashSet.<init>:(I)V
astore 0
start local 0 21: aload 0
getstatic org.springframework.util.ClassUtils.primitiveWrapperTypeMap:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
22: aload 0
bipush 8
anewarray java.lang.Class
dup
iconst_0
ldc [Z
aastore
dup
iconst_1
ldc [B
aastore
dup
iconst_2
ldc [C
aastore
dup
iconst_3
23: ldc [D
aastore
dup
iconst_4
ldc [F
aastore
dup
iconst_5
ldc [I
aastore
dup
bipush 6
ldc [J
aastore
dup
bipush 7
ldc [S
aastore
24: invokestatic java.util.Collections.addAll:(Ljava/util/Collection;[Ljava/lang/Object;)Z
pop
25: aload 0
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 2
goto 28
StackMap locals: java.util.Set top java.util.Iterator
StackMap stack:
26: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Class
astore 1
start local 1 27: getstatic org.springframework.util.ClassUtils.primitiveTypeNameMap:Ljava/util/Map;
aload 1
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aload 1
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 1 28: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 26
bipush 8
anewarray java.lang.Class
dup
iconst_0
29: ldc [Ljava/lang/Boolean;
aastore
dup
iconst_1
ldc [Ljava/lang/Byte;
aastore
dup
iconst_2
ldc [Ljava/lang/Character;
aastore
dup
iconst_3
ldc [Ljava/lang/Double;
aastore
dup
iconst_4
30: ldc [Ljava/lang/Float;
aastore
dup
iconst_5
ldc [Ljava/lang/Integer;
aastore
dup
bipush 6
ldc [Ljava/lang/Long;
aastore
dup
bipush 7
ldc [Ljava/lang/Short;
aastore
31: invokestatic org.springframework.util.ClassUtils.registerCommonClasses:([Ljava/lang/Class;)V
bipush 8
anewarray java.lang.Class
dup
iconst_0
32: ldc Ljava/lang/Number;
aastore
dup
iconst_1
ldc [Ljava/lang/Number;
aastore
dup
iconst_2
ldc Ljava/lang/String;
aastore
dup
iconst_3
ldc [Ljava/lang/String;
aastore
dup
iconst_4
33: ldc Ljava/lang/Class;
aastore
dup
iconst_5
ldc [Ljava/lang/Class;
aastore
dup
bipush 6
ldc Ljava/lang/Object;
aastore
dup
bipush 7
ldc [Ljava/lang/Object;
aastore
34: invokestatic org.springframework.util.ClassUtils.registerCommonClasses:([Ljava/lang/Class;)V
bipush 6
anewarray java.lang.Class
dup
iconst_0
35: ldc Ljava/lang/Throwable;
aastore
dup
iconst_1
ldc Ljava/lang/Exception;
aastore
dup
iconst_2
ldc Ljava/lang/RuntimeException;
aastore
dup
iconst_3
36: ldc Ljava/lang/Error;
aastore
dup
iconst_4
ldc Ljava/lang/StackTraceElement;
aastore
dup
iconst_5
ldc [Ljava/lang/StackTraceElement;
aastore
37: invokestatic org.springframework.util.ClassUtils.registerCommonClasses:([Ljava/lang/Class;)V
bipush 10
anewarray java.lang.Class
dup
iconst_0
38: ldc Ljava/lang/Enum;
aastore
dup
iconst_1
ldc Ljava/lang/Iterable;
aastore
dup
iconst_2
ldc Ljava/util/Iterator;
aastore
dup
iconst_3
ldc Ljava/util/Enumeration;
aastore
dup
iconst_4
39: ldc Ljava/util/Collection;
aastore
dup
iconst_5
ldc Ljava/util/List;
aastore
dup
bipush 6
ldc Ljava/util/Set;
aastore
dup
bipush 7
ldc Ljava/util/Map;
aastore
dup
bipush 8
ldc Ljava/util/Map$Entry;
aastore
dup
bipush 9
ldc Ljava/util/Optional;
aastore
40: invokestatic org.springframework.util.ClassUtils.registerCommonClasses:([Ljava/lang/Class;)V
41: bipush 6
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/io/Serializable;
aastore
dup
iconst_1
ldc Ljava/io/Externalizable;
aastore
dup
iconst_2
42: ldc Ljava/io/Closeable;
aastore
dup
iconst_3
ldc Ljava/lang/AutoCloseable;
aastore
dup
iconst_4
ldc Ljava/lang/Cloneable;
aastore
dup
iconst_5
ldc Ljava/lang/Comparable;
aastore
43: astore 1
start local 1 44: aload 1
invokestatic org.springframework.util.ClassUtils.registerCommonClasses:([Ljava/lang/Class;)V
45: new java.util.HashSet
dup
aload 1
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
putstatic org.springframework.util.ClassUtils.javaLanguageInterfaces:Ljava/util/Set;
end local 1 end local 0 46: return
LocalVariableTable:
Start End Slot Name Signature
17 19 0 entry Ljava/util/Map$Entry<Ljava/lang/Class<*>;Ljava/lang/Class<*>;>;
21 46 0 primitiveTypes Ljava/util/Set<Ljava/lang/Class<*>;>;
27 28 1 primitiveType Ljava/lang/Class<*>;
44 46 1 javaLanguageInterfaceArray [Ljava/lang/Class;
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/util/ClassUtils;
private static void registerCommonClasses(java.lang.Class<?>[]);
descriptor: ([Ljava/lang/Class;)V
flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
Code:
stack=3, locals=5, args_size=1
start local 0 0: aload 0
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 4
StackMap locals: java.lang.Class[] top int int java.lang.Class[]
StackMap stack:
1: aload 4
iload 2
aaload
astore 1
start local 1 2: getstatic org.springframework.util.ClassUtils.commonClassCache:Ljava/util/Map;
aload 1
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aload 1
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 1 3: iinc 2 1
StackMap locals:
StackMap stack:
4: iload 2
iload 3
if_icmplt 1
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 commonClasses [Ljava/lang/Class;
2 3 1 clazz Ljava/lang/Class<*>;
Signature: ([Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
commonClasses
public static java.lang.ClassLoader getDefaultClassLoader();
descriptor: ()Ljava/lang/ClassLoader;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=0
0: aconst_null
astore 0
start local 0 1: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
astore 0
2: goto 4
3: StackMap locals: java.lang.ClassLoader
StackMap stack: java.lang.Throwable
pop
4: StackMap locals:
StackMap stack:
aload 0
ifnonnull 10
5: ldc Lorg/springframework/util/ClassUtils;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
astore 0
6: aload 0
ifnonnull 10
7: invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
astore 0
8: goto 10
9: StackMap locals:
StackMap stack: java.lang.Throwable
pop
10: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 11 0 cl Ljava/lang/ClassLoader;
Exception table:
from to target type
1 2 3 Class java.lang.Throwable
7 8 9 Class java.lang.Throwable
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
public static java.lang.ClassLoader overrideThreadContextClassLoader(java.lang.ClassLoader);
descriptor: (Ljava/lang/ClassLoader;)Ljava/lang/ClassLoader;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
astore 1
start local 1 1: aload 1
invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
astore 2
start local 2 2: aload 0
ifnull 5
aload 0
aload 2
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 5
3: aload 1
aload 0
invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
4: aload 2
areturn
5: StackMap locals: java.lang.Thread java.lang.ClassLoader
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 classLoaderToUse Ljava/lang/ClassLoader;
1 6 1 currentThread Ljava/lang/Thread;
2 6 2 threadContextClassLoader Ljava/lang/ClassLoader;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
classLoaderToUse
public static java.lang.Class<?> forName(java.lang.String, java.lang.ClassLoader);
descriptor: (Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: aload 0
ldc "Name must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 0
invokestatic org.springframework.util.ClassUtils.resolvePrimitiveClassName:(Ljava/lang/String;)Ljava/lang/Class;
astore 2
start local 2 2: aload 2
ifnonnull 4
3: getstatic org.springframework.util.ClassUtils.commonClassCache:Ljava/util/Map;
aload 0
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Class
astore 2
4: StackMap locals: java.lang.Class
StackMap stack:
aload 2
ifnull 6
5: aload 2
areturn
6: StackMap locals:
StackMap stack:
aload 0
ldc "[]"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 10
7: aload 0
iconst_0
aload 0
invokevirtual java.lang.String.length:()I
ldc "[]"
invokevirtual java.lang.String.length:()I
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 3
start local 3 8: aload 3
aload 1
invokestatic org.springframework.util.ClassUtils.forName:(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;
astore 4
start local 4 9: aload 4
iconst_0
invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
areturn
end local 4 end local 3 10: StackMap locals:
StackMap stack:
aload 0
ldc "[L"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 14
aload 0
ldc ";"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 14
11: aload 0
ldc "[L"
invokevirtual java.lang.String.length:()I
aload 0
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 3
start local 3 12: aload 3
aload 1
invokestatic org.springframework.util.ClassUtils.forName:(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;
astore 4
start local 4 13: aload 4
iconst_0
invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
areturn
end local 4 end local 3 14: StackMap locals:
StackMap stack:
aload 0
ldc "["
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 18
15: aload 0
ldc "["
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 3
start local 3 16: aload 3
aload 1
invokestatic org.springframework.util.ClassUtils.forName:(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;
astore 4
start local 4 17: aload 4
iconst_0
invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
areturn
end local 4 end local 3 18: StackMap locals:
StackMap stack:
aload 1
astore 3
start local 3 19: aload 3
ifnonnull 21
20: invokestatic org.springframework.util.ClassUtils.getDefaultClassLoader:()Ljava/lang/ClassLoader;
astore 3
21: StackMap locals: java.lang.ClassLoader
StackMap stack:
aload 0
iconst_0
aload 3
invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
22: areturn
23: StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
astore 4
start local 4 24: aload 0
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 5
start local 5 25: iload 5
iconst_m1
if_icmpeq 31
26: new java.lang.StringBuilder
dup
aload 0
iconst_0
iload 5
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
bipush 36
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 0
iload 5
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
27: astore 6
start local 6 28: aload 6
iconst_0
aload 3
invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
29: areturn
30: StackMap locals: java.lang.String java.lang.ClassLoader java.lang.Class java.lang.ClassLoader java.lang.ClassNotFoundException int java.lang.String
StackMap stack: java.lang.ClassNotFoundException
pop
end local 6 31: StackMap locals:
StackMap stack:
aload 4
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 32 0 name Ljava/lang/String;
0 32 1 classLoader Ljava/lang/ClassLoader;
2 32 2 clazz Ljava/lang/Class<*>;
8 10 3 elementClassName Ljava/lang/String;
9 10 4 elementClass Ljava/lang/Class<*>;
12 14 3 elementName Ljava/lang/String;
13 14 4 elementClass Ljava/lang/Class<*>;
16 18 3 elementName Ljava/lang/String;
17 18 4 elementClass Ljava/lang/Class<*>;
19 32 3 clToUse Ljava/lang/ClassLoader;
24 32 4 ex Ljava/lang/ClassNotFoundException;
25 32 5 lastDotIndex I
28 31 6 innerClassName Ljava/lang/String;
Exception table:
from to target type
21 22 23 Class java.lang.ClassNotFoundException
28 29 30 Class java.lang.ClassNotFoundException
Exceptions:
throws java.lang.ClassNotFoundException, java.lang.LinkageError
Signature: (Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class<*>;
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
name
classLoader
public static java.lang.Class<?> resolveClassName(java.lang.String, java.lang.ClassLoader);
descriptor: (Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic org.springframework.util.ClassUtils.forName:(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.IllegalAccessError
astore 2
start local 2 3: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Readability mismatch in inheritance hierarchy of class ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
4: aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.IllegalAccessError.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
5: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 6: StackMap locals:
StackMap stack: java.lang.LinkageError
astore 2
start local 2 7: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Unresolvable class definition for class ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 8: StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
astore 2
start local 2 9: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Could not find class ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 className Ljava/lang/String;
0 10 1 classLoader Ljava/lang/ClassLoader;
3 6 2 err Ljava/lang/IllegalAccessError;
7 8 2 err Ljava/lang/LinkageError;
9 10 2 ex Ljava/lang/ClassNotFoundException;
Exception table:
from to target type
0 1 2 Class java.lang.IllegalAccessError
0 1 6 Class java.lang.LinkageError
0 1 8 Class java.lang.ClassNotFoundException
Exceptions:
throws java.lang.IllegalArgumentException
Signature: (Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class<*>;
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
className
classLoader
public static boolean isPresent(java.lang.String, java.lang.ClassLoader);
descriptor: (Ljava/lang/String;Ljava/lang/ClassLoader;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic org.springframework.util.ClassUtils.forName:(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;
pop
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack: java.lang.IllegalAccessError
astore 2
start local 2 3: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Readability mismatch in inheritance hierarchy of class ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
4: aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.IllegalAccessError.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
5: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 6: StackMap locals:
StackMap stack: java.lang.Throwable
pop
7: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 className Ljava/lang/String;
0 8 1 classLoader Ljava/lang/ClassLoader;
3 6 2 err Ljava/lang/IllegalAccessError;
Exception table:
from to target type
0 1 2 Class java.lang.IllegalAccessError
0 1 6 Class java.lang.Throwable
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
className
classLoader
public static boolean isVisible(java.lang.Class<?>, java.lang.ClassLoader);
descriptor: (Ljava/lang/Class;Ljava/lang/ClassLoader;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
aload 1
if_acmpne 5
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack: java.lang.SecurityException
pop
5: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic org.springframework.util.ClassUtils.isLoadable:(Ljava/lang/Class;Ljava/lang/ClassLoader;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 clazz Ljava/lang/Class<*>;
0 6 1 classLoader Ljava/lang/ClassLoader;
Exception table:
from to target type
2 3 4 Class java.lang.SecurityException
Signature: (Ljava/lang/Class<*>;Ljava/lang/ClassLoader;)Z
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
clazz
classLoader
public static boolean isCacheSafe(java.lang.Class<?>, java.lang.ClassLoader);
descriptor: (Ljava/lang/Class;Ljava/lang/ClassLoader;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
ldc "Class must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 0
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
astore 2
start local 2 2: aload 2
aload 1
if_acmpeq 3
aload 2
ifnonnull 4
3: StackMap locals: java.lang.ClassLoader
StackMap stack:
iconst_1
ireturn
4: StackMap locals:
StackMap stack:
aload 1
ifnonnull 6
5: iconst_0
ireturn
6: StackMap locals:
StackMap stack:
aload 1
astore 3
start local 3 7: goto 11
8: StackMap locals: java.lang.ClassLoader
StackMap stack:
aload 3
invokevirtual java.lang.ClassLoader.getParent:()Ljava/lang/ClassLoader;
astore 3
9: aload 3
aload 2
if_acmpne 11
10: iconst_1
ireturn
11: StackMap locals:
StackMap stack:
aload 3
ifnonnull 8
12: goto 16
13: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.ClassLoader.getParent:()Ljava/lang/ClassLoader;
astore 2
14: aload 2
aload 1
if_acmpne 16
15: iconst_0
ireturn
16: StackMap locals:
StackMap stack:
aload 2
ifnonnull 13
end local 3 end local 2 17: goto 19
18: StackMap locals: java.lang.Class java.lang.ClassLoader
StackMap stack: java.lang.SecurityException
pop
19: StackMap locals:
StackMap stack:
aload 1
ifnull 20
aload 0
aload 1
invokestatic org.springframework.util.ClassUtils.isLoadable:(Ljava/lang/Class;Ljava/lang/ClassLoader;)Z
ifeq 20
iconst_1
ireturn
StackMap locals:
StackMap stack:
20: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 clazz Ljava/lang/Class<*>;
0 21 1 classLoader Ljava/lang/ClassLoader;
2 17 2 target Ljava/lang/ClassLoader;
7 17 3 current Ljava/lang/ClassLoader;
Exception table:
from to target type
1 3 18 Class java.lang.SecurityException
4 5 18 Class java.lang.SecurityException
6 10 18 Class java.lang.SecurityException
11 15 18 Class java.lang.SecurityException
16 17 18 Class java.lang.SecurityException
Signature: (Ljava/lang/Class<*>;Ljava/lang/ClassLoader;)Z
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
clazz
classLoader
private static boolean isLoadable(java.lang.Class<?>, java.lang.ClassLoader);
descriptor: (Ljava/lang/Class;Ljava/lang/ClassLoader;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
if_acmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
2: ireturn
3: StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
pop
4: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 clazz Ljava/lang/Class<*>;
0 5 1 classLoader Ljava/lang/ClassLoader;
Exception table:
from to target type
0 2 3 Class java.lang.ClassNotFoundException
Signature: (Ljava/lang/Class<*>;Ljava/lang/ClassLoader;)Z
MethodParameters:
Name Flags
clazz
classLoader
public static java.lang.Class<?> resolvePrimitiveClassName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Class;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aload 0
ifnull 3
aload 0
invokevirtual java.lang.String.length:()I
bipush 7
if_icmpgt 3
2: getstatic org.springframework.util.ClassUtils.primitiveTypeNameMap:Ljava/util/Map;
aload 0
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Class
astore 1
3: StackMap locals: java.lang.Class
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 name Ljava/lang/String;
1 4 1 result Ljava/lang/Class<*>;
Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
name
public static boolean isPrimitiveWrapper(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "Class must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: getstatic org.springframework.util.ClassUtils.primitiveWrapperTypeMap:Ljava/util/Map;
aload 0
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 clazz Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Z
MethodParameters:
Name Flags
clazz
public static boolean isPrimitiveOrWrapper(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "Class must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 0
invokevirtual java.lang.Class.isPrimitive:()Z
ifne 2
aload 0
invokestatic org.springframework.util.ClassUtils.isPrimitiveWrapper:(Ljava/lang/Class;)Z
ifne 2
iconst_0
ireturn
StackMap locals:
StackMap stack:
2: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 clazz Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Z
MethodParameters:
Name Flags
clazz
public static boolean isPrimitiveArray(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "Class must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 0
invokevirtual java.lang.Class.isArray:()Z
ifeq 2
aload 0
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 2
iconst_1
ireturn
StackMap locals:
StackMap stack:
2: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 clazz Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Z
MethodParameters:
Name Flags
clazz
public static boolean isPrimitiveWrapperArray(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "Class must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 0
invokevirtual java.lang.Class.isArray:()Z
ifeq 2
aload 0
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
invokestatic org.springframework.util.ClassUtils.isPrimitiveWrapper:(Ljava/lang/Class;)Z
ifeq 2
iconst_1
ireturn
StackMap locals:
StackMap stack:
2: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 clazz Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Z
MethodParameters:
Name Flags
clazz
public static java.lang.Class<?> resolvePrimitiveIfNecessary(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/Class;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "Class must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 0
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 2
aload 0
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
if_acmpeq 2
getstatic org.springframework.util.ClassUtils.primitiveTypeToWrapperMap:Ljava/util/Map;
aload 0
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Class
goto 3
StackMap locals:
StackMap stack:
2: aload 0
StackMap locals:
StackMap stack: java.lang.Class
3: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 clazz Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
clazz
public static boolean isAssignable(java.lang.Class<?>, java.lang.Class<?>);
descriptor: (Ljava/lang/Class;Ljava/lang/Class;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
ldc "Left-hand side type must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 1
ldc "Right-hand side type must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
2: aload 0
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 4
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 8
5: getstatic org.springframework.util.ClassUtils.primitiveWrapperTypeMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Class
astore 2
start local 2 6: aload 0
aload 2
if_acmpne 7
iconst_1
ireturn
StackMap locals: java.lang.Class
StackMap stack:
7: iconst_0
ireturn
end local 2 8: StackMap locals:
StackMap stack:
getstatic org.springframework.util.ClassUtils.primitiveTypeToWrapperMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Class
astore 2
start local 2 9: aload 2
ifnull 10
aload 0
aload 2
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 10
iconst_1
ireturn
StackMap locals: java.lang.Class
StackMap stack:
10: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 lhsType Ljava/lang/Class<*>;
0 11 1 rhsType Ljava/lang/Class<*>;
6 8 2 resolvedPrimitive Ljava/lang/Class<*>;
9 11 2 resolvedWrapper Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;Ljava/lang/Class<*>;)Z
MethodParameters:
Name Flags
lhsType
rhsType
public static boolean isAssignableValue(java.lang.Class<?>, );
descriptor: (Ljava/lang/Class;Ljava/lang/Object;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "Type must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 1
ifnull 2
aload 0
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic org.springframework.util.ClassUtils.isAssignable:(Ljava/lang/Class;Ljava/lang/Class;)Z
goto 4
StackMap locals:
StackMap stack:
2: aload 0
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 3
iconst_0
goto 4
StackMap locals:
StackMap stack:
3: iconst_1
StackMap locals:
StackMap stack: int
4: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 type Ljava/lang/Class<*>;
0 5 1 value Ljava/lang/Object;
Signature: (Ljava/lang/Class<*>;Ljava/lang/Object;)Z
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
type
value
public static java.lang.String convertResourcePathToClassName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ldc "Resource path must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 0
bipush 47
bipush 46
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 resourcePath Ljava/lang/String;
MethodParameters:
Name Flags
resourcePath
public static java.lang.String convertClassNameToResourcePath(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ldc "Class name must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 0
bipush 46
bipush 47
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 className Ljava/lang/String;
MethodParameters:
Name Flags
className
public static java.lang.String addResourcePathToPackagePath(java.lang.Class<?>, java.lang.String);
descriptor: (Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc "Resource name must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 1
ldc "/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 3
2: new java.lang.StringBuilder
dup
aload 0
invokestatic org.springframework.util.ClassUtils.classPackageAsResourcePath:(Ljava/lang/Class;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
bipush 47
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
3: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 0
invokestatic org.springframework.util.ClassUtils.classPackageAsResourcePath:(Ljava/lang/Class;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
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 4 0 clazz Ljava/lang/Class<*>;
0 4 1 resourceName Ljava/lang/String;
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;)Ljava/lang/String;
MethodParameters:
Name Flags
clazz
resourceName
public static java.lang.String classPackageAsResourcePath(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: ldc ""
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
astore 1
start local 1 3: aload 1
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 2
start local 2 4: iload 2
iconst_m1
if_icmpne 6
5: ldc ""
areturn
6: StackMap locals: java.lang.String int
StackMap stack:
aload 1
iconst_0
iload 2
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 3
start local 3 7: aload 3
bipush 46
bipush 47
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 clazz Ljava/lang/Class<*>;
3 8 1 className Ljava/lang/String;
4 8 2 packageEndIndex I
7 8 3 packageName Ljava/lang/String;
Signature: (Ljava/lang/Class<*>;)Ljava/lang/String;
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
clazz
public static java.lang.String classNamesToString(java.lang.Class<?>[]);
descriptor: ([Ljava/lang/Class;)Ljava/lang/String;
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokestatic org.springframework.util.ClassUtils.classNamesToString:(Ljava/util/Collection;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 classes [Ljava/lang/Class;
Signature: ([Ljava/lang/Class<*>;)Ljava/lang/String;
MethodParameters:
Name Flags
classes
public static java.lang.String classNamesToString(java.util.Collection<java.lang.Class<?>>);
descriptor: (Ljava/util/Collection;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=1
start local 0 0: aload 0
invokestatic org.springframework.util.CollectionUtils.isEmpty:(Ljava/util/Collection;)Z
ifeq 2
1: ldc "[]"
areturn
2: StackMap locals:
StackMap stack:
new java.util.StringJoiner
dup
ldc ", "
ldc "["
ldc "]"
invokespecial java.util.StringJoiner.<init>:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)V
astore 1
start local 1 3: aload 0
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
goto 6
StackMap locals: java.util.Collection java.util.StringJoiner top java.util.Iterator
StackMap stack:
4: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Class
astore 2
start local 2 5: aload 1
aload 2
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.util.StringJoiner.add:(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
pop
end local 2 6: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
7: aload 1
invokevirtual java.util.StringJoiner.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 classes Ljava/util/Collection<Ljava/lang/Class<*>;>;
3 8 1 stringJoiner Ljava/util/StringJoiner;
5 6 2 clazz Ljava/lang/Class<*>;
Signature: (Ljava/util/Collection<Ljava/lang/Class<*>;>;)Ljava/lang/String;
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
classes
public static java.lang.Class<?>[] toClassArray(java.util.Collection<java.lang.Class<?>>);
descriptor: (Ljava/util/Collection;)[Ljava/lang/Class;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokestatic org.springframework.util.CollectionUtils.isEmpty:(Ljava/util/Collection;)Z
ifne 1
aload 0
getstatic org.springframework.util.ClassUtils.EMPTY_CLASS_ARRAY:[Ljava/lang/Class;
invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.Class[]
goto 2
StackMap locals:
StackMap stack:
1: getstatic org.springframework.util.ClassUtils.EMPTY_CLASS_ARRAY:[Ljava/lang/Class;
StackMap locals:
StackMap stack: java.lang.Class[]
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 collection Ljava/util/Collection<Ljava/lang/Class<*>;>;
Signature: (Ljava/util/Collection<Ljava/lang/Class<*>;>;)[Ljava/lang/Class<*>;
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
collection
public static java.lang.Class<?>[] getAllInterfaces();
descriptor: (Ljava/lang/Object;)[Ljava/lang/Class;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "Instance must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic org.springframework.util.ClassUtils.getAllInterfacesForClass:(Ljava/lang/Class;)[Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 instance Ljava/lang/Object;
Signature: (Ljava/lang/Object;)[Ljava/lang/Class<*>;
MethodParameters:
Name Flags
instance
public static java.lang.Class<?>[] getAllInterfacesForClass(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)[Ljava/lang/Class;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
invokestatic org.springframework.util.ClassUtils.getAllInterfacesForClass:(Ljava/lang/Class;Ljava/lang/ClassLoader;)[Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 clazz Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)[Ljava/lang/Class<*>;
MethodParameters:
Name Flags
clazz
public static java.lang.Class<?>[] getAllInterfacesForClass(java.lang.Class<?>, java.lang.ClassLoader);
descriptor: (Ljava/lang/Class;Ljava/lang/ClassLoader;)[Ljava/lang/Class;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic org.springframework.util.ClassUtils.getAllInterfacesForClassAsSet:(Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/util/Set;
invokestatic org.springframework.util.ClassUtils.toClassArray:(Ljava/util/Collection;)[Ljava/lang/Class;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 clazz Ljava/lang/Class<*>;
0 1 1 classLoader Ljava/lang/ClassLoader;
Signature: (Ljava/lang/Class<*>;Ljava/lang/ClassLoader;)[Ljava/lang/Class<*>;
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
clazz
classLoader
public static java.util.Set<java.lang.Class<?>> getAllInterfacesAsSet();
descriptor: (Ljava/lang/Object;)Ljava/util/Set;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "Instance must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic org.springframework.util.ClassUtils.getAllInterfacesForClassAsSet:(Ljava/lang/Class;)Ljava/util/Set;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 instance Ljava/lang/Object;
Signature: (Ljava/lang/Object;)Ljava/util/Set<Ljava/lang/Class<*>;>;
MethodParameters:
Name Flags
instance
public static java.util.Set<java.lang.Class<?>> getAllInterfacesForClassAsSet(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/util/Set;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
invokestatic org.springframework.util.ClassUtils.getAllInterfacesForClassAsSet:(Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/util/Set;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 clazz Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Ljava/util/Set<Ljava/lang/Class<*>;>;
MethodParameters:
Name Flags
clazz
public static java.util.Set<java.lang.Class<?>> getAllInterfacesForClassAsSet(java.lang.Class<?>, java.lang.ClassLoader);
descriptor: (Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/util/Set;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=9, args_size=2
start local 0 start local 1 0: aload 0
ldc "Class must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 0
invokevirtual java.lang.Class.isInterface:()Z
ifeq 3
aload 0
aload 1
invokestatic org.springframework.util.ClassUtils.isVisible:(Ljava/lang/Class;Ljava/lang/ClassLoader;)Z
ifeq 3
2: aload 0
invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
areturn
3: StackMap locals:
StackMap stack:
new java.util.LinkedHashSet
dup
invokespecial java.util.LinkedHashSet.<init>:()V
astore 2
start local 2 4: aload 0
astore 3
start local 3 5: goto 14
6: StackMap locals: java.util.Set java.lang.Class
StackMap stack:
aload 3
invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
astore 4
start local 4 7: aload 4
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 12
StackMap locals: java.lang.Class java.lang.ClassLoader java.util.Set java.lang.Class java.lang.Class[] top int int java.lang.Class[]
StackMap stack:
8: aload 8
iload 6
aaload
astore 5
start local 5 9: aload 5
aload 1
invokestatic org.springframework.util.ClassUtils.isVisible:(Ljava/lang/Class;Ljava/lang/ClassLoader;)Z
ifeq 11
10: aload 2
aload 5
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 5 11: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
12: iload 6
iload 7
if_icmplt 8
13: aload 3
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
astore 3
end local 4 14: StackMap locals: java.lang.Class java.lang.ClassLoader java.util.Set java.lang.Class
StackMap stack:
aload 3
ifnonnull 6
15: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 clazz Ljava/lang/Class<*>;
0 16 1 classLoader Ljava/lang/ClassLoader;
4 16 2 interfaces Ljava/util/Set<Ljava/lang/Class<*>;>;
5 16 3 current Ljava/lang/Class<*>;
7 14 4 ifcs [Ljava/lang/Class;
9 11 5 ifc Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;Ljava/lang/ClassLoader;)Ljava/util/Set<Ljava/lang/Class<*>;>;
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
clazz
classLoader
public static java.lang.Class<?> createCompositeInterface(java.lang.Class<?>[], java.lang.ClassLoader);
descriptor: ([Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/lang/Class;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "Interface array must not be empty"
invokestatic org.springframework.util.Assert.notEmpty:([Ljava/lang/Object;Ljava/lang/String;)V
1: aload 1
aload 0
invokestatic java.lang.reflect.Proxy.getProxyClass:(Ljava/lang/ClassLoader;[Ljava/lang/Class;)Ljava/lang/Class;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 interfaces [Ljava/lang/Class;
0 2 1 classLoader Ljava/lang/ClassLoader;
Signature: ([Ljava/lang/Class<*>;Ljava/lang/ClassLoader;)Ljava/lang/Class<*>;
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
interfaces
classLoader
public static java.lang.Class<?> determineCommonAncestor(java.lang.Class<?>, java.lang.Class<?>);
descriptor: (Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/Class;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
ifnonnull 2
1: aload 1
areturn
2: StackMap locals:
StackMap stack:
aload 1
ifnonnull 4
3: aload 0
areturn
4: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 6
5: aload 0
areturn
6: StackMap locals:
StackMap stack:
aload 1
aload 0
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 8
7: aload 1
areturn
8: StackMap locals:
StackMap stack:
aload 0
astore 2
start local 2 9: StackMap locals: java.lang.Class
StackMap stack:
aload 2
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
astore 2
10: aload 2
ifnull 11
ldc Ljava/lang/Object;
aload 2
if_acmpne 12
11: StackMap locals:
StackMap stack:
aconst_null
areturn
12: StackMap locals:
StackMap stack:
aload 2
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 9
13: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 clazz1 Ljava/lang/Class<*>;
0 14 1 clazz2 Ljava/lang/Class<*>;
9 14 2 ancestor Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;Ljava/lang/Class<*>;)Ljava/lang/Class<*>;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
1:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
clazz1
clazz2
public static boolean isJavaLanguageInterface(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.springframework.util.ClassUtils.javaLanguageInterfaces:Ljava/util/Set;
aload 0
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 ifc Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Z
MethodParameters:
Name Flags
ifc
public static boolean isInnerClass(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Class.isMemberClass:()Z
ifeq 1
aload 0
invokevirtual java.lang.Class.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isStatic:(I)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 clazz Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Z
MethodParameters:
Name Flags
clazz
public static boolean isCglibProxy(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic org.springframework.util.ClassUtils.isCglibProxyClass:(Ljava/lang/Class;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 object Ljava/lang/Object;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
object
public static boolean isCglibProxyClass(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
ifnull 1
aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic org.springframework.util.ClassUtils.isCglibProxyClassName:(Ljava/lang/String;)Z
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 clazz Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Z
RuntimeVisibleAnnotations:
java.lang.Deprecated()
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
clazz
public static boolean isCglibProxyClassName(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ifnull 1
aload 0
ldc "$$"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
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 className Ljava/lang/String;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
className
public static java.lang.Class<?> getUserClass();
descriptor: (Ljava/lang/Object;)Ljava/lang/Class;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "Instance must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic org.springframework.util.ClassUtils.getUserClass:(Ljava/lang/Class;)Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 instance Ljava/lang/Object;
Signature: (Ljava/lang/Object;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
instance
public static java.lang.Class<?> getUserClass(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/Class;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
ldc "$$"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 4
1: aload 0
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
astore 1
start local 1 2: aload 1
ifnull 4
aload 1
ldc Ljava/lang/Object;
if_acmpeq 4
3: aload 1
areturn
end local 1 4: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 clazz Ljava/lang/Class<*>;
2 4 1 superclass Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
clazz
public static java.lang.String getDescriptiveType(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=8, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
astore 1
start local 1 3: aload 1
invokestatic java.lang.reflect.Proxy.isProxyClass:(Ljava/lang/Class;)Z
ifeq 12
4: new java.lang.StringBuilder
dup
aload 1
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 " implementing "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
start local 2 5: new java.util.StringJoiner
dup
ldc ","
aload 2
ldc ""
invokespecial java.util.StringJoiner.<init>:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)V
astore 3
start local 3 6: aload 1
invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 10
StackMap locals: java.lang.Object java.lang.Class java.lang.String java.util.StringJoiner top int int java.lang.Class[]
StackMap stack:
7: aload 7
iload 5
aaload
astore 4
start local 4 8: aload 3
aload 4
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.util.StringJoiner.add:(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
pop
end local 4 9: iinc 5 1
StackMap locals:
StackMap stack:
10: iload 5
iload 6
if_icmplt 7
11: aload 3
invokevirtual java.util.StringJoiner.toString:()Ljava/lang/String;
areturn
end local 3 end local 2 12: StackMap locals: java.lang.Object java.lang.Class
StackMap stack:
aload 1
invokevirtual java.lang.Class.getTypeName:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 value Ljava/lang/Object;
3 13 1 clazz Ljava/lang/Class<*>;
5 12 2 prefix Ljava/lang/String;
6 12 3 result Ljava/util/StringJoiner;
8 9 4 ifc Ljava/lang/Class<*>;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
value
public static boolean matchesTypeName(java.lang.Class<?>, java.lang.String);
descriptor: (Ljava/lang/Class;Ljava/lang/String;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 3
1: aload 1
aload 0
invokevirtual java.lang.Class.getTypeName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 2
aload 1
aload 0
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 3
2: StackMap locals:
StackMap stack:
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 clazz Ljava/lang/Class<*>;
0 4 1 typeName Ljava/lang/String;
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;)Z
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
clazz
typeName
public static java.lang.String getShortName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
ldc "Class name must not be empty"
invokestatic org.springframework.util.Assert.hasLength:(Ljava/lang/String;Ljava/lang/String;)V
1: aload 0
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 1
start local 1 2: aload 0
ldc "$$"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
istore 2
start local 2 3: iload 2
iconst_m1
if_icmpne 5
4: aload 0
invokevirtual java.lang.String.length:()I
istore 2
5: StackMap locals: int int
StackMap stack:
aload 0
iload 1
iconst_1
iadd
iload 2
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 3
start local 3 6: aload 3
bipush 36
bipush 46
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
astore 3
7: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 className Ljava/lang/String;
2 8 1 lastDotIndex I
3 8 2 nameEndIndex I
6 8 3 shortName Ljava/lang/String;
MethodParameters:
Name Flags
className
public static java.lang.String getShortName(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic org.springframework.util.ClassUtils.getQualifiedName:(Ljava/lang/Class;)Ljava/lang/String;
invokestatic org.springframework.util.ClassUtils.getShortName:(Ljava/lang/String;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 clazz Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Ljava/lang/String;
MethodParameters:
Name Flags
clazz
public static java.lang.String getShortNameAsProperty(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
invokestatic org.springframework.util.ClassUtils.getShortName:(Ljava/lang/Class;)Ljava/lang/String;
astore 1
start local 1 1: aload 1
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 2
start local 2 2: iload 2
iconst_m1
if_icmpeq 3
aload 1
iload 2
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
goto 4
StackMap locals: java.lang.String int
StackMap stack:
3: aload 1
StackMap locals:
StackMap stack: java.lang.String
4: astore 1
5: aload 1
invokestatic java.beans.Introspector.decapitalize:(Ljava/lang/String;)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 clazz Ljava/lang/Class<*>;
1 6 1 shortName Ljava/lang/String;
2 6 2 dotIndex I
Signature: (Ljava/lang/Class<*>;)Ljava/lang/String;
MethodParameters:
Name Flags
clazz
public static java.lang.String getClassFileName(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
ldc "Class must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
astore 1
start local 1 2: aload 1
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 2
start local 2 3: new java.lang.StringBuilder
dup
aload 1
iload 2
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".class"
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 4 0 clazz Ljava/lang/Class<*>;
2 4 1 className Ljava/lang/String;
3 4 2 lastDotIndex I
Signature: (Ljava/lang/Class<*>;)Ljava/lang/String;
MethodParameters:
Name Flags
clazz
public static java.lang.String getPackageName(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "Class must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic org.springframework.util.ClassUtils.getPackageName:(Ljava/lang/String;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 clazz Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Ljava/lang/String;
MethodParameters:
Name Flags
clazz
public static java.lang.String getPackageName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
ldc "Class name must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 0
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 1
start local 1 2: iload 1
iconst_m1
if_icmpeq 3
aload 0
iconst_0
iload 1
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
goto 4
StackMap locals: int
StackMap stack:
3: ldc ""
StackMap locals:
StackMap stack: java.lang.String
4: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 fqClassName Ljava/lang/String;
2 5 1 lastDotIndex I
MethodParameters:
Name Flags
fqClassName
public static java.lang.String getQualifiedName(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "Class must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 0
invokevirtual java.lang.Class.getTypeName:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 clazz Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Ljava/lang/String;
MethodParameters:
Name Flags
clazz
public static java.lang.String getQualifiedMethodName(java.lang.reflect.Method);
descriptor: (Ljava/lang/reflect/Method;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
invokestatic org.springframework.util.ClassUtils.getQualifiedMethodName:(Ljava/lang/reflect/Method;Ljava/lang/Class;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 method Ljava/lang/reflect/Method;
MethodParameters:
Name Flags
method
public static java.lang.String getQualifiedMethodName(java.lang.reflect.Method, java.lang.Class<?>);
descriptor: (Ljava/lang/reflect/Method;Ljava/lang/Class;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "Method must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: new java.lang.StringBuilder
dup
aload 1
ifnull 2
aload 1
goto 3
StackMap locals: java.lang.reflect.Method java.lang.Class
StackMap stack: new 1 new 1
2: aload 0
invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
StackMap locals: java.lang.reflect.Method java.lang.Class
StackMap stack: new 1 new 1 java.lang.Class
3: 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
bipush 46
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.lang.reflect.Method.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 4 0 method Ljava/lang/reflect/Method;
0 4 1 clazz Ljava/lang/Class<*>;
Signature: (Ljava/lang/reflect/Method;Ljava/lang/Class<*>;)Ljava/lang/String;
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
method
clazz
public static boolean hasConstructor(java.lang.Class<?>, java.lang.Class<?>[]);
descriptor: (Ljava/lang/Class;[Ljava/lang/Class;)Z
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic org.springframework.util.ClassUtils.getConstructorIfAvailable:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 clazz Ljava/lang/Class<*>;
0 2 1 paramTypes [Ljava/lang/Class;
Signature: (Ljava/lang/Class<*>;[Ljava/lang/Class<*>;)Z
MethodParameters:
Name Flags
clazz
paramTypes
public static <T> java.lang.reflect.Constructor<T> getConstructorIfAvailable(java.lang.Class<T>, java.lang.Class<?>[]);
descriptor: (Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "Class must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 0
aload 1
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
2: areturn
3: StackMap locals:
StackMap stack: java.lang.NoSuchMethodException
pop
4: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 clazz Ljava/lang/Class<TT;>;
0 5 1 paramTypes [Ljava/lang/Class;
Exception table:
from to target type
1 2 3 Class java.lang.NoSuchMethodException
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;[Ljava/lang/Class<*>;)Ljava/lang/reflect/Constructor<TT;>;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
clazz
paramTypes
public static boolean hasMethod(java.lang.Class<?>, java.lang.reflect.Method);
descriptor: (Ljava/lang/Class;Ljava/lang/reflect/Method;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
ldc "Class must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 1
ldc "Method must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
2: aload 0
aload 1
invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
if_acmpne 4
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
astore 2
start local 2 5: aload 1
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
astore 3
start local 3 6: aload 0
aload 2
aload 3
invokestatic org.springframework.util.ClassUtils.getMethodOrNull:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
ifnull 7
iconst_1
ireturn
StackMap locals: java.lang.String java.lang.Class[]
StackMap stack:
7: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 clazz Ljava/lang/Class<*>;
0 8 1 method Ljava/lang/reflect/Method;
5 8 2 methodName Ljava/lang/String;
6 8 3 paramTypes [Ljava/lang/Class;
Signature: (Ljava/lang/Class<*>;Ljava/lang/reflect/Method;)Z
MethodParameters:
Name Flags
clazz
method
public static boolean hasMethod(java.lang.Class<?>, java.lang.String, java.lang.Class<?>[]);
descriptor: (Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Z
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
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 org.springframework.util.ClassUtils.getMethodIfAvailable:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 clazz Ljava/lang/Class<*>;
0 2 1 methodName Ljava/lang/String;
0 2 2 paramTypes [Ljava/lang/Class;
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;[Ljava/lang/Class<*>;)Z
MethodParameters:
Name Flags
clazz
methodName
paramTypes
public static java.lang.reflect.Method getMethod(java.lang.Class<?>, java.lang.String, java.lang.Class<?>[]);
descriptor: (Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
ldc "Class must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 1
ldc "Method name must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
2: aload 2
ifnull 7
3: aload 0
aload 1
aload 2
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
4: areturn
5: StackMap locals:
StackMap stack: java.lang.NoSuchMethodException
astore 3
start local 3 6: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Expected method not found: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
end local 3 7: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic org.springframework.util.ClassUtils.findMethodCandidatesByName:(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/Set;
astore 3
start local 3 8: aload 3
invokeinterface java.util.Set.size:()I
iconst_1
if_icmpne 10
9: aload 3
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.reflect.Method
areturn
10: StackMap locals: java.util.Set
StackMap stack:
aload 3
invokeinterface java.util.Set.isEmpty:()Z
ifeq 12
11: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Expected method not found: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 46
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "No unique method found: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 46
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<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 clazz Ljava/lang/Class<*>;
0 13 1 methodName Ljava/lang/String;
0 13 2 paramTypes [Ljava/lang/Class;
6 7 3 ex Ljava/lang/NoSuchMethodException;
8 13 3 candidates Ljava/util/Set<Ljava/lang/reflect/Method;>;
Exception table:
from to target type
3 4 5 Class java.lang.NoSuchMethodException
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;[Ljava/lang/Class<*>;)Ljava/lang/reflect/Method;
RuntimeVisibleParameterAnnotations:
0:
1:
2:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
clazz
methodName
paramTypes
public static java.lang.reflect.Method getMethodIfAvailable(java.lang.Class<?>, java.lang.String, java.lang.Class<?>[]);
descriptor: (Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
ldc "Class must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 1
ldc "Method name must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
2: aload 2
ifnull 4
3: aload 0
aload 1
aload 2
invokestatic org.springframework.util.ClassUtils.getMethodOrNull:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
areturn
4: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic org.springframework.util.ClassUtils.findMethodCandidatesByName:(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/Set;
astore 3
start local 3 5: aload 3
invokeinterface java.util.Set.size:()I
iconst_1
if_icmpne 7
6: aload 3
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.reflect.Method
areturn
7: StackMap locals: java.util.Set
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 clazz Ljava/lang/Class<*>;
0 8 1 methodName Ljava/lang/String;
0 8 2 paramTypes [Ljava/lang/Class;
5 8 3 candidates Ljava/util/Set<Ljava/lang/reflect/Method;>;
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;[Ljava/lang/Class<*>;)Ljava/lang/reflect/Method;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
RuntimeVisibleParameterAnnotations:
0:
1:
2:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
clazz
methodName
paramTypes
public static int getMethodCountForName(java.lang.Class<?>, java.lang.String);
descriptor: (Ljava/lang/Class;Ljava/lang/String;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=9, args_size=2
start local 0 start local 1 0: aload 0
ldc "Class must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 1
ldc "Method name must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
2: iconst_0
istore 2
start local 2 3: aload 0
invokevirtual java.lang.Class.getDeclaredMethods:()[Ljava/lang/reflect/Method;
astore 3
start local 3 4: aload 3
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 9
StackMap locals: java.lang.Class java.lang.String int java.lang.reflect.Method[] top int int java.lang.reflect.Method[]
StackMap stack:
5: aload 7
iload 5
aaload
astore 4
start local 4 6: aload 1
aload 4
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 8
7: iinc 2 1
end local 4 8: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
9: iload 5
iload 6
if_icmplt 5
10: aload 0
invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
astore 4
start local 4 11: aload 4
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 15
StackMap locals: java.lang.Class java.lang.String int java.lang.reflect.Method[] java.lang.Class[] top int int java.lang.Class[]
StackMap stack:
12: aload 8
iload 6
aaload
astore 5
start local 5 13: iload 2
aload 5
aload 1
invokestatic org.springframework.util.ClassUtils.getMethodCountForName:(Ljava/lang/Class;Ljava/lang/String;)I
iadd
istore 2
end local 5 14: iinc 6 1
StackMap locals:
StackMap stack:
15: iload 6
iload 7
if_icmplt 12
16: aload 0
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
ifnull 18
17: iload 2
aload 0
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
aload 1
invokestatic org.springframework.util.ClassUtils.getMethodCountForName:(Ljava/lang/Class;Ljava/lang/String;)I
iadd
istore 2
18: StackMap locals: java.lang.Class java.lang.String int java.lang.reflect.Method[] java.lang.Class[]
StackMap stack:
iload 2
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 clazz Ljava/lang/Class<*>;
0 19 1 methodName Ljava/lang/String;
3 19 2 count I
4 19 3 declaredMethods [Ljava/lang/reflect/Method;
6 8 4 method Ljava/lang/reflect/Method;
11 19 4 ifcs [Ljava/lang/Class;
13 14 5 ifc Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;)I
MethodParameters:
Name Flags
clazz
methodName
public static boolean hasAtLeastOneMethodWithName(java.lang.Class<?>, java.lang.String);
descriptor: (Ljava/lang/Class;Ljava/lang/String;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=8, args_size=2
start local 0 start local 1 0: aload 0
ldc "Class must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 1
ldc "Method name must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
2: aload 0
invokevirtual java.lang.Class.getDeclaredMethods:()[Ljava/lang/reflect/Method;
astore 2
start local 2 3: aload 2
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 8
StackMap locals: java.lang.Class java.lang.String java.lang.reflect.Method[] top int int java.lang.reflect.Method[]
StackMap stack:
4: aload 6
iload 4
aaload
astore 3
start local 3 5: aload 3
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
6: iconst_1
ireturn
end local 3 7: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
8: iload 4
iload 5
if_icmplt 4
9: aload 0
invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
astore 3
start local 3 10: aload 3
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 15
StackMap locals: java.lang.Class java.lang.String java.lang.reflect.Method[] java.lang.Class[] top int int java.lang.Class[]
StackMap stack:
11: aload 7
iload 5
aaload
astore 4
start local 4 12: aload 4
aload 1
invokestatic org.springframework.util.ClassUtils.hasAtLeastOneMethodWithName:(Ljava/lang/Class;Ljava/lang/String;)Z
ifeq 14
13: iconst_1
ireturn
end local 4 14: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
15: iload 5
iload 6
if_icmplt 11
16: aload 0
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
ifnull 17
aload 0
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
aload 1
invokestatic org.springframework.util.ClassUtils.hasAtLeastOneMethodWithName:(Ljava/lang/Class;Ljava/lang/String;)Z
ifeq 17
iconst_1
ireturn
StackMap locals: java.lang.Class java.lang.String java.lang.reflect.Method[] java.lang.Class[]
StackMap stack:
17: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 clazz Ljava/lang/Class<*>;
0 18 1 methodName Ljava/lang/String;
3 18 2 declaredMethods [Ljava/lang/reflect/Method;
5 7 3 method Ljava/lang/reflect/Method;
10 18 3 ifcs [Ljava/lang/Class;
12 14 4 ifc Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;)Z
MethodParameters:
Name Flags
clazz
methodName
public static java.lang.reflect.Method getMostSpecificMethod(java.lang.reflect.Method, java.lang.Class<?>);
descriptor: (Ljava/lang/reflect/Method;Ljava/lang/Class;)Ljava/lang/reflect/Method;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnull 13
aload 1
aload 0
invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
if_acmpeq 13
aload 0
aload 1
invokestatic org.springframework.util.ClassUtils.isOverridable:(Ljava/lang/reflect/Method;Ljava/lang/Class;)Z
ifeq 13
1: aload 0
invokevirtual java.lang.reflect.Method.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
ifeq 7
2: aload 1
aload 0
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
aload 0
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
3: areturn
4: StackMap locals:
StackMap stack: java.lang.NoSuchMethodException
pop
5: aload 0
6: areturn
7: StackMap locals:
StackMap stack:
aload 1
aload 0
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
aload 0
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
invokestatic org.springframework.util.ReflectionUtils.findMethod:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
8: astore 2
start local 2 9: aload 2
ifnull 10
aload 2
goto 11
StackMap locals: java.lang.reflect.Method
StackMap stack:
10: aload 0
StackMap locals:
StackMap stack: java.lang.reflect.Method
11: areturn
end local 2 12: StackMap locals: java.lang.reflect.Method java.lang.Class
StackMap stack: java.lang.SecurityException
pop
13: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 method Ljava/lang/reflect/Method;
0 14 1 targetClass Ljava/lang/Class<*>;
9 12 2 specificMethod Ljava/lang/reflect/Method;
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchMethodException
1 3 12 Class java.lang.SecurityException
4 6 12 Class java.lang.SecurityException
7 11 12 Class java.lang.SecurityException
Signature: (Ljava/lang/reflect/Method;Ljava/lang/Class<*>;)Ljava/lang/reflect/Method;
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
method
targetClass
public static java.lang.reflect.Method getInterfaceMethodIfPossible(java.lang.reflect.Method);
descriptor: (Ljava/lang/reflect/Method;)Ljava/lang/reflect/Method;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.reflect.Method.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
ifeq 1
aload 0
invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isInterface:()Z
ifeq 2
1: StackMap locals:
StackMap stack:
aload 0
areturn
2: StackMap locals:
StackMap stack:
getstatic org.springframework.util.ClassUtils.interfaceMethodCache:Ljava/util/Map;
aload 0
invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
org/springframework/util/ClassUtils.lambda$0(Ljava/lang/reflect/Method;)Ljava/lang/reflect/Method; (6)
(Ljava/lang/reflect/Method;)Ljava/lang/reflect/Method;
invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
checkcast java.lang.reflect.Method
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 method Ljava/lang/reflect/Method;
MethodParameters:
Name Flags
method
public static boolean isUserLevelMethod(java.lang.reflect.Method);
descriptor: (Ljava/lang/reflect/Method;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "Method must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 0
invokevirtual java.lang.reflect.Method.isBridge:()Z
ifne 3
aload 0
invokevirtual java.lang.reflect.Method.isSynthetic:()Z
ifne 2
aload 0
invokestatic org.springframework.util.ClassUtils.isGroovyObjectMethod:(Ljava/lang/reflect/Method;)Z
ifeq 3
StackMap locals:
StackMap stack:
2: iconst_0
ireturn
StackMap locals:
StackMap stack:
3: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 method Ljava/lang/reflect/Method;
MethodParameters:
Name Flags
method
private static boolean isGroovyObjectMethod(java.lang.reflect.Method);
descriptor: (Ljava/lang/reflect/Method;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
ldc "groovy.lang.GroovyObject"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 method Ljava/lang/reflect/Method;
MethodParameters:
Name Flags
method
private static boolean isOverridable(java.lang.reflect.Method, java.lang.Class<?>);
descriptor: (Ljava/lang/reflect/Method;Ljava/lang/Class;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.lang.reflect.Method.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isPrivate:(I)Z
ifeq 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.reflect.Method.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
ifne 3
aload 0
invokevirtual java.lang.reflect.Method.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isProtected:(I)Z
ifeq 4
3: StackMap locals:
StackMap stack:
iconst_1
ireturn
4: StackMap locals:
StackMap stack:
aload 1
ifnull 7
5: aload 0
invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
invokestatic org.springframework.util.ClassUtils.getPackageName:(Ljava/lang/Class;)Ljava/lang/String;
aload 1
invokestatic org.springframework.util.ClassUtils.getPackageName:(Ljava/lang/Class;)Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 7
6: iconst_0
ireturn
StackMap locals:
StackMap stack:
7: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 method Ljava/lang/reflect/Method;
0 8 1 targetClass Ljava/lang/Class<*>;
Signature: (Ljava/lang/reflect/Method;Ljava/lang/Class<*>;)Z
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
method
targetClass
public static java.lang.reflect.Method getStaticMethod(java.lang.Class<?>, java.lang.String, java.lang.Class<?>[]);
descriptor: (Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
ldc "Class must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 1
ldc "Method name must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
2: aload 0
aload 1
aload 2
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 3
start local 3 3: aload 3
invokevirtual java.lang.reflect.Method.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
ifeq 4
aload 3
goto 5
StackMap locals: java.lang.reflect.Method
StackMap stack:
4: aconst_null
StackMap locals:
StackMap stack: java.lang.reflect.Method
5: areturn
end local 3 6: StackMap locals: java.lang.Class java.lang.String java.lang.Class[]
StackMap stack: java.lang.NoSuchMethodException
pop
7: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 clazz Ljava/lang/Class<*>;
0 8 1 methodName Ljava/lang/String;
0 8 2 args [Ljava/lang/Class;
3 6 3 method Ljava/lang/reflect/Method;
Exception table:
from to target type
2 5 6 Class java.lang.NoSuchMethodException
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;[Ljava/lang/Class<*>;)Ljava/lang/reflect/Method;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
clazz
methodName
args
private static java.lang.reflect.Method getMethodOrNull(java.lang.Class<?>, java.lang.String, java.lang.Class<?>[]);
descriptor: (Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.NoSuchMethodException
pop
3: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 clazz Ljava/lang/Class<*>;
0 4 1 methodName Ljava/lang/String;
0 4 2 paramTypes [Ljava/lang/Class;
Exception table:
from to target type
0 1 2 Class java.lang.NoSuchMethodException
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;[Ljava/lang/Class<*>;)Ljava/lang/reflect/Method;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
clazz
methodName
paramTypes
private static java.util.Set<java.lang.reflect.Method> findMethodCandidatesByName(java.lang.Class<?>, java.lang.String);
descriptor: (Ljava/lang/Class;Ljava/lang/String;)Ljava/util/Set;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=8, args_size=2
start local 0 start local 1 0: new java.util.HashSet
dup
iconst_1
invokespecial java.util.HashSet.<init>:(I)V
astore 2
start local 2 1: aload 0
invokevirtual java.lang.Class.getMethods:()[Ljava/lang/reflect/Method;
astore 3
start local 3 2: aload 3
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 7
StackMap locals: java.lang.Class java.lang.String java.util.Set java.lang.reflect.Method[] top int int java.lang.reflect.Method[]
StackMap stack:
3: aload 7
iload 5
aaload
astore 4
start local 4 4: aload 1
aload 4
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 6
5: aload 2
aload 4
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 4 6: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
7: iload 5
iload 6
if_icmplt 3
8: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 clazz Ljava/lang/Class<*>;
0 9 1 methodName Ljava/lang/String;
1 9 2 candidates Ljava/util/Set<Ljava/lang/reflect/Method;>;
2 9 3 methods [Ljava/lang/reflect/Method;
4 6 4 method Ljava/lang/reflect/Method;
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;)Ljava/util/Set<Ljava/lang/reflect/Method;>;
MethodParameters:
Name Flags
clazz
methodName
private static java.lang.reflect.Method lambda$0(java.lang.reflect.Method);
descriptor: (Ljava/lang/reflect/Method;)Ljava/lang/reflect/Method;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=7, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
astore 1
start local 1 1: goto 11
2: StackMap locals: java.lang.Class
StackMap stack:
aload 1
invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
astore 2
start local 2 3: aload 2
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 9
StackMap locals: java.lang.reflect.Method java.lang.Class java.lang.Class[] top int int java.lang.Class[]
StackMap stack:
4: aload 6
iload 4
aaload
astore 3
start local 3 5: aload 3
aload 0
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
aload 0
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
6: areturn
7: StackMap locals: java.lang.reflect.Method java.lang.Class java.lang.Class[] java.lang.Class int int java.lang.Class[]
StackMap stack: java.lang.NoSuchMethodException
pop
end local 3 8: iinc 4 1
StackMap locals: java.lang.reflect.Method java.lang.Class java.lang.Class[] top int int java.lang.Class[]
StackMap stack:
9: iload 4
iload 5
if_icmplt 4
10: aload 1
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
astore 1
end local 2 11: StackMap locals: java.lang.reflect.Method java.lang.Class
StackMap stack:
aload 1
ifnull 12
aload 1
ldc Ljava/lang/Object;
if_acmpne 2
12: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 key Ljava/lang/reflect/Method;
1 13 1 current Ljava/lang/Class<*>;
3 11 2 ifcs [Ljava/lang/Class;
5 8 3 ifc Ljava/lang/Class<*>;
Exception table:
from to target type
5 6 7 Class java.lang.NoSuchMethodException
}
SourceFile: "ClassUtils.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Entry = java.util.Map$Entry of java.util.Map