public final class org.springframework.beans.CachedIntrospectionResults
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.springframework.beans.CachedIntrospectionResults
super_class: java.lang.Object
{
public static final java.lang.String IGNORE_BEANINFO_PROPERTY_NAME;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "spring.beaninfo.ignore"
private static final java.beans.PropertyDescriptor[] EMPTY_PROPERTY_DESCRIPTOR_ARRAY;
descriptor: [Ljava/beans/PropertyDescriptor;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final boolean shouldIntrospectorIgnoreBeaninfoClasses;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.List<org.springframework.beans.BeanInfoFactory> beanInfoFactories;
descriptor: Ljava/util/List;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/List<Lorg/springframework/beans/BeanInfoFactory;>;
private static final org.apache.commons.logging.Log logger;
descriptor: Lorg/apache/commons/logging/Log;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final java.util.Set<java.lang.ClassLoader> acceptedClassLoaders;
descriptor: Ljava/util/Set;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Set<Ljava/lang/ClassLoader;>;
static final java.util.concurrent.ConcurrentMap<java.lang.Class<?>, org.springframework.beans.CachedIntrospectionResults> strongClassCache;
descriptor: Ljava/util/concurrent/ConcurrentMap;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentMap<Ljava/lang/Class<*>;Lorg/springframework/beans/CachedIntrospectionResults;>;
static final java.util.concurrent.ConcurrentMap<java.lang.Class<?>, org.springframework.beans.CachedIntrospectionResults> softClassCache;
descriptor: Ljava/util/concurrent/ConcurrentMap;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentMap<Ljava/lang/Class<*>;Lorg/springframework/beans/CachedIntrospectionResults;>;
private final java.beans.BeanInfo beanInfo;
descriptor: Ljava/beans/BeanInfo;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Map<java.lang.String, java.beans.PropertyDescriptor> propertyDescriptors;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/beans/PropertyDescriptor;>;
private final java.util.concurrent.ConcurrentMap<java.beans.PropertyDescriptor, org.springframework.core.convert.TypeDescriptor> typeDescriptorCache;
descriptor: Ljava/util/concurrent/ConcurrentMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentMap<Ljava/beans/PropertyDescriptor;Lorg/springframework/core/convert/TypeDescriptor;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: iconst_0
anewarray java.beans.PropertyDescriptor
putstatic org.springframework.beans.CachedIntrospectionResults.EMPTY_PROPERTY_DESCRIPTOR_ARRAY:[Ljava/beans/PropertyDescriptor;
1: ldc "spring.beaninfo.ignore"
invokestatic org.springframework.core.SpringProperties.getFlag:(Ljava/lang/String;)Z
2: putstatic org.springframework.beans.CachedIntrospectionResults.shouldIntrospectorIgnoreBeaninfoClasses:Z
3: ldc Lorg/springframework/beans/BeanInfoFactory;
ldc Lorg/springframework/beans/CachedIntrospectionResults;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
4: invokestatic org.springframework.core.io.support.SpringFactoriesLoader.loadFactories:(Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/util/List;
putstatic org.springframework.beans.CachedIntrospectionResults.beanInfoFactories:Ljava/util/List;
5: ldc Lorg/springframework/beans/CachedIntrospectionResults;
invokestatic org.apache.commons.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
putstatic org.springframework.beans.CachedIntrospectionResults.logger:Lorg/apache/commons/logging/Log;
6: new java.util.concurrent.ConcurrentHashMap
dup
bipush 16
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:(I)V
invokestatic java.util.Collections.newSetFromMap:(Ljava/util/Map;)Ljava/util/Set;
7: putstatic org.springframework.beans.CachedIntrospectionResults.acceptedClassLoaders:Ljava/util/Set;
8: new java.util.concurrent.ConcurrentHashMap
dup
bipush 64
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:(I)V
9: putstatic org.springframework.beans.CachedIntrospectionResults.strongClassCache:Ljava/util/concurrent/ConcurrentMap;
10: new org.springframework.util.ConcurrentReferenceHashMap
dup
bipush 64
invokespecial org.springframework.util.ConcurrentReferenceHashMap.<init>:(I)V
11: putstatic org.springframework.beans.CachedIntrospectionResults.softClassCache:Ljava/util/concurrent/ConcurrentMap;
12: return
LocalVariableTable:
Start End Slot Name Signature
public static void acceptClassLoader(java.lang.ClassLoader);
descriptor: (Ljava/lang/ClassLoader;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ifnull 2
1: getstatic org.springframework.beans.CachedIntrospectionResults.acceptedClassLoaders:Ljava/util/Set;
aload 0
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 classLoader Ljava/lang/ClassLoader;
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
classLoader
public static void clearClassLoader(java.lang.ClassLoader);
descriptor: (Ljava/lang/ClassLoader;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.springframework.beans.CachedIntrospectionResults.acceptedClassLoaders:Ljava/util/Set;
aload 0
invokedynamic test(Ljava/lang/ClassLoader;)Ljava/util/function/Predicate;
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;)Z
org/springframework/beans/CachedIntrospectionResults.lambda$0(Ljava/lang/ClassLoader;Ljava/lang/ClassLoader;)Z (6)
(Ljava/lang/ClassLoader;)Z
invokeinterface java.util.Set.removeIf:(Ljava/util/function/Predicate;)Z
pop
1: getstatic org.springframework.beans.CachedIntrospectionResults.strongClassCache:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.keySet:()Ljava/util/Set;
aload 0
invokedynamic test(Ljava/lang/ClassLoader;)Ljava/util/function/Predicate;
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;)Z
org/springframework/beans/CachedIntrospectionResults.lambda$1(Ljava/lang/ClassLoader;Ljava/lang/Class;)Z (6)
(Ljava/lang/Class;)Z
invokeinterface java.util.Set.removeIf:(Ljava/util/function/Predicate;)Z
pop
2: getstatic org.springframework.beans.CachedIntrospectionResults.softClassCache:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.keySet:()Ljava/util/Set;
aload 0
invokedynamic test(Ljava/lang/ClassLoader;)Ljava/util/function/Predicate;
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;)Z
org/springframework/beans/CachedIntrospectionResults.lambda$2(Ljava/lang/ClassLoader;Ljava/lang/Class;)Z (6)
(Ljava/lang/Class;)Z
invokeinterface java.util.Set.removeIf:(Ljava/util/function/Predicate;)Z
pop
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 classLoader Ljava/lang/ClassLoader;
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
classLoader
static org.springframework.beans.CachedIntrospectionResults forClass(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Lorg/springframework/beans/CachedIntrospectionResults;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: getstatic org.springframework.beans.CachedIntrospectionResults.strongClassCache:Ljava/util/concurrent/ConcurrentMap;
aload 0
invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.springframework.beans.CachedIntrospectionResults
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
areturn
3: StackMap locals: org.springframework.beans.CachedIntrospectionResults
StackMap stack:
getstatic org.springframework.beans.CachedIntrospectionResults.softClassCache:Ljava/util/concurrent/ConcurrentMap;
aload 0
invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.springframework.beans.CachedIntrospectionResults
astore 1
4: aload 1
ifnull 6
5: aload 1
areturn
6: StackMap locals:
StackMap stack:
new org.springframework.beans.CachedIntrospectionResults
dup
aload 0
invokespecial org.springframework.beans.CachedIntrospectionResults.<init>:(Ljava/lang/Class;)V
astore 1
7: aload 0
ldc Lorg/springframework/beans/CachedIntrospectionResults;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
invokestatic org.springframework.util.ClassUtils.isCacheSafe:(Ljava/lang/Class;Ljava/lang/ClassLoader;)Z
ifne 9
8: aload 0
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
invokestatic org.springframework.beans.CachedIntrospectionResults.isClassLoaderAccepted:(Ljava/lang/ClassLoader;)Z
ifeq 11
9: StackMap locals:
StackMap stack:
getstatic org.springframework.beans.CachedIntrospectionResults.strongClassCache:Ljava/util/concurrent/ConcurrentMap;
astore 2
start local 2 10: goto 14
end local 2 11: StackMap locals:
StackMap stack:
getstatic org.springframework.beans.CachedIntrospectionResults.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 13
12: getstatic org.springframework.beans.CachedIntrospectionResults.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Not strongly caching class ["
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;
ldc "] because it is not cache-safe"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
13: StackMap locals:
StackMap stack:
getstatic org.springframework.beans.CachedIntrospectionResults.softClassCache:Ljava/util/concurrent/ConcurrentMap;
astore 2
start local 2 14: StackMap locals: java.util.concurrent.ConcurrentMap
StackMap stack:
aload 2
aload 0
aload 1
invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.springframework.beans.CachedIntrospectionResults
astore 3
start local 3 15: aload 3
ifnull 16
aload 3
goto 17
StackMap locals: org.springframework.beans.CachedIntrospectionResults
StackMap stack:
16: aload 1
StackMap locals:
StackMap stack: org.springframework.beans.CachedIntrospectionResults
17: areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 beanClass Ljava/lang/Class<*>;
1 18 1 results Lorg/springframework/beans/CachedIntrospectionResults;
10 11 2 classCacheToUse Ljava/util/concurrent/ConcurrentMap<Ljava/lang/Class<*>;Lorg/springframework/beans/CachedIntrospectionResults;>;
14 18 2 classCacheToUse Ljava/util/concurrent/ConcurrentMap<Ljava/lang/Class<*>;Lorg/springframework/beans/CachedIntrospectionResults;>;
15 18 3 existing Lorg/springframework/beans/CachedIntrospectionResults;
Exceptions:
throws org.springframework.beans.BeansException
Signature: (Ljava/lang/Class<*>;)Lorg/springframework/beans/CachedIntrospectionResults;
MethodParameters:
Name Flags
beanClass
private static boolean isClassLoaderAccepted(java.lang.ClassLoader);
descriptor: (Ljava/lang/ClassLoader;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: getstatic org.springframework.beans.CachedIntrospectionResults.acceptedClassLoaders:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 2
goto 4
StackMap locals: java.lang.ClassLoader top java.util.Iterator
StackMap stack:
1: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.ClassLoader
astore 1
start local 1 2: aload 0
aload 1
invokestatic org.springframework.beans.CachedIntrospectionResults.isUnderneathClassLoader:(Ljava/lang/ClassLoader;Ljava/lang/ClassLoader;)Z
ifeq 4
3: iconst_1
ireturn
end local 1 4: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
5: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 classLoader Ljava/lang/ClassLoader;
2 4 1 acceptedLoader Ljava/lang/ClassLoader;
MethodParameters:
Name Flags
classLoader
private static boolean isUnderneathClassLoader(java.lang.ClassLoader, java.lang.ClassLoader);
descriptor: (Ljava/lang/ClassLoader;Ljava/lang/ClassLoader;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
ifnonnull 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 0
astore 2
start local 2 5: goto 9
6: StackMap locals: java.lang.ClassLoader
StackMap stack:
aload 2
invokevirtual java.lang.ClassLoader.getParent:()Ljava/lang/ClassLoader;
astore 2
7: aload 2
aload 1
if_acmpne 9
8: iconst_1
ireturn
9: StackMap locals:
StackMap stack:
aload 2
ifnonnull 6
10: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 candidate Ljava/lang/ClassLoader;
0 11 1 parent Ljava/lang/ClassLoader;
5 11 2 classLoaderToCheck Ljava/lang/ClassLoader;
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
1:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
candidate
parent
private static java.beans.BeanInfo getBeanInfo(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/beans/BeanInfo;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: getstatic org.springframework.beans.CachedIntrospectionResults.beanInfoFactories:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 2
goto 5
StackMap locals: java.lang.Class top java.util.Iterator
StackMap stack:
1: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.springframework.beans.BeanInfoFactory
astore 1
start local 1 2: aload 1
aload 0
invokeinterface org.springframework.beans.BeanInfoFactory.getBeanInfo:(Ljava/lang/Class;)Ljava/beans/BeanInfo;
astore 3
start local 3 3: aload 3
ifnull 5
4: aload 3
areturn
end local 3 end local 1 5: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
6: getstatic org.springframework.beans.CachedIntrospectionResults.shouldIntrospectorIgnoreBeaninfoClasses:Z
ifeq 8
7: aload 0
iconst_3
invokestatic java.beans.Introspector.getBeanInfo:(Ljava/lang/Class;I)Ljava/beans/BeanInfo;
goto 9
8: StackMap locals: java.lang.Class
StackMap stack:
aload 0
invokestatic java.beans.Introspector.getBeanInfo:(Ljava/lang/Class;)Ljava/beans/BeanInfo;
9: StackMap locals:
StackMap stack: java.beans.BeanInfo
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 beanClass Ljava/lang/Class<*>;
2 5 1 beanInfoFactory Lorg/springframework/beans/BeanInfoFactory;
3 5 3 beanInfo Ljava/beans/BeanInfo;
Exceptions:
throws java.beans.IntrospectionException
Signature: (Ljava/lang/Class<*>;)Ljava/beans/BeanInfo;
MethodParameters:
Name Flags
beanClass
private void <init>(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: getstatic org.springframework.beans.CachedIntrospectionResults.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
ifeq 3
2: getstatic org.springframework.beans.CachedIntrospectionResults.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Getting BeanInfo for class ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
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;
invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
3: StackMap locals: org.springframework.beans.CachedIntrospectionResults java.lang.Class
StackMap stack:
aload 0
aload 1
invokestatic org.springframework.beans.CachedIntrospectionResults.getBeanInfo:(Ljava/lang/Class;)Ljava/beans/BeanInfo;
putfield org.springframework.beans.CachedIntrospectionResults.beanInfo:Ljava/beans/BeanInfo;
4: getstatic org.springframework.beans.CachedIntrospectionResults.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
ifeq 6
5: getstatic org.springframework.beans.CachedIntrospectionResults.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Caching PropertyDescriptors for class ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
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;
invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
6: StackMap locals:
StackMap stack:
aload 0
new java.util.LinkedHashMap
dup
invokespecial java.util.LinkedHashMap.<init>:()V
putfield org.springframework.beans.CachedIntrospectionResults.propertyDescriptors:Ljava/util/Map;
7: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 2
start local 2 8: aload 0
getfield org.springframework.beans.CachedIntrospectionResults.beanInfo:Ljava/beans/BeanInfo;
invokeinterface java.beans.BeanInfo.getPropertyDescriptors:()[Ljava/beans/PropertyDescriptor;
astore 3
start local 3 9: aload 3
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 30
StackMap locals: org.springframework.beans.CachedIntrospectionResults java.lang.Class java.util.Set java.beans.PropertyDescriptor[] top int int java.beans.PropertyDescriptor[]
StackMap stack:
10: aload 7
iload 5
aaload
astore 4
start local 4 11: ldc Ljava/lang/Class;
aload 1
if_acmpne 14
12: ldc "classLoader"
aload 4
invokevirtual java.beans.PropertyDescriptor.getName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 29
ldc "protectionDomain"
aload 4
invokevirtual java.beans.PropertyDescriptor.getName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 14
13: goto 29
14: StackMap locals: org.springframework.beans.CachedIntrospectionResults java.lang.Class java.util.Set java.beans.PropertyDescriptor[] java.beans.PropertyDescriptor int int java.beans.PropertyDescriptor[]
StackMap stack:
getstatic org.springframework.beans.CachedIntrospectionResults.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
ifeq 24
15: getstatic org.springframework.beans.CachedIntrospectionResults.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Found bean property '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.beans.PropertyDescriptor.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
16: aload 4
invokevirtual java.beans.PropertyDescriptor.getPropertyType:()Ljava/lang/Class;
ifnull 17
new java.lang.StringBuilder
dup
ldc " of type ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.beans.PropertyDescriptor.getPropertyType:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
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;
goto 18
StackMap locals: org.springframework.beans.CachedIntrospectionResults java.lang.Class java.util.Set java.beans.PropertyDescriptor[] java.beans.PropertyDescriptor int int java.beans.PropertyDescriptor[]
StackMap stack: org.apache.commons.logging.Log java.lang.StringBuilder
17: ldc ""
StackMap locals: org.springframework.beans.CachedIntrospectionResults java.lang.Class java.util.Set java.beans.PropertyDescriptor[] java.beans.PropertyDescriptor int int java.beans.PropertyDescriptor[]
StackMap stack: org.apache.commons.logging.Log java.lang.StringBuilder java.lang.String
18: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
19: aload 4
invokevirtual java.beans.PropertyDescriptor.getPropertyEditorClass:()Ljava/lang/Class;
ifnull 21
20: new java.lang.StringBuilder
dup
ldc "; editor ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.beans.PropertyDescriptor.getPropertyEditorClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
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;
goto 22
StackMap locals: org.springframework.beans.CachedIntrospectionResults java.lang.Class java.util.Set java.beans.PropertyDescriptor[] java.beans.PropertyDescriptor int int java.beans.PropertyDescriptor[]
StackMap stack: org.apache.commons.logging.Log java.lang.StringBuilder
21: ldc ""
22: StackMap locals: org.springframework.beans.CachedIntrospectionResults java.lang.Class java.util.Set java.beans.PropertyDescriptor[] java.beans.PropertyDescriptor int int java.beans.PropertyDescriptor[]
StackMap stack: org.apache.commons.logging.Log java.lang.StringBuilder java.lang.String
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
23: invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
24: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 4
invokevirtual org.springframework.beans.CachedIntrospectionResults.buildGenericTypeAwarePropertyDescriptor:(Ljava/lang/Class;Ljava/beans/PropertyDescriptor;)Ljava/beans/PropertyDescriptor;
astore 4
25: aload 0
getfield org.springframework.beans.CachedIntrospectionResults.propertyDescriptors:Ljava/util/Map;
aload 4
invokevirtual java.beans.PropertyDescriptor.getName:()Ljava/lang/String;
aload 4
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
26: aload 4
invokevirtual java.beans.PropertyDescriptor.getReadMethod:()Ljava/lang/reflect/Method;
astore 8
start local 8 27: aload 8
ifnull 29
28: aload 2
aload 8
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 8 end local 4 29: StackMap locals: org.springframework.beans.CachedIntrospectionResults java.lang.Class java.util.Set java.beans.PropertyDescriptor[] top int int java.beans.PropertyDescriptor[]
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
30: iload 5
iload 6
if_icmplt 10
31: aload 1
astore 4
start local 4 32: goto 35
33: StackMap locals: org.springframework.beans.CachedIntrospectionResults java.lang.Class java.util.Set java.beans.PropertyDescriptor[] java.lang.Class
StackMap stack:
aload 0
aload 1
aload 4
aload 2
invokevirtual org.springframework.beans.CachedIntrospectionResults.introspectInterfaces:(Ljava/lang/Class;Ljava/lang/Class;Ljava/util/Set;)V
34: aload 4
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
astore 4
35: StackMap locals:
StackMap stack:
aload 4
ifnull 36
aload 4
ldc Ljava/lang/Object;
if_acmpne 33
36: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual org.springframework.beans.CachedIntrospectionResults.introspectPlainAccessors:(Ljava/lang/Class;Ljava/util/Set;)V
37: aload 0
new org.springframework.util.ConcurrentReferenceHashMap
dup
invokespecial org.springframework.util.ConcurrentReferenceHashMap.<init>:()V
putfield org.springframework.beans.CachedIntrospectionResults.typeDescriptorCache:Ljava/util/concurrent/ConcurrentMap;
end local 4 end local 3 end local 2 38: goto 41
39: StackMap locals: org.springframework.beans.CachedIntrospectionResults java.lang.Class
StackMap stack: java.beans.IntrospectionException
astore 2
start local 2 40: new org.springframework.beans.FatalBeanException
dup
new java.lang.StringBuilder
dup
ldc "Failed to obtain BeanInfo for class ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
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 org.springframework.beans.FatalBeanException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 41: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 42 0 this Lorg/springframework/beans/CachedIntrospectionResults;
0 42 1 beanClass Ljava/lang/Class<*>;
8 38 2 readMethodNames Ljava/util/Set<Ljava/lang/String;>;
9 38 3 pds [Ljava/beans/PropertyDescriptor;
11 29 4 pd Ljava/beans/PropertyDescriptor;
27 29 8 readMethod Ljava/lang/reflect/Method;
32 38 4 currClass Ljava/lang/Class<*>;
40 41 2 ex Ljava/beans/IntrospectionException;
Exception table:
from to target type
1 38 39 Class java.beans.IntrospectionException
Exceptions:
throws org.springframework.beans.BeansException
Signature: (Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
beanClass
private void introspectInterfaces(java.lang.Class<?>, java.lang.Class<?>, java.util.Set<java.lang.String>);
descriptor: (Ljava/lang/Class;Ljava/lang/Class;Ljava/util/Set;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=14, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 17
StackMap locals: org.springframework.beans.CachedIntrospectionResults java.lang.Class java.lang.Class java.util.Set top int int java.lang.Class[]
StackMap stack:
1: aload 7
iload 5
aaload
astore 4
start local 4 2: aload 4
invokestatic org.springframework.util.ClassUtils.isJavaLanguageInterface:(Ljava/lang/Class;)Z
ifne 16
3: aload 4
invokestatic org.springframework.beans.CachedIntrospectionResults.getBeanInfo:(Ljava/lang/Class;)Ljava/beans/BeanInfo;
invokeinterface java.beans.BeanInfo.getPropertyDescriptors:()[Ljava/beans/PropertyDescriptor;
dup
astore 11
arraylength
istore 10
iconst_0
istore 9
goto 14
StackMap locals: org.springframework.beans.CachedIntrospectionResults java.lang.Class java.lang.Class java.util.Set java.lang.Class int int java.lang.Class[] top int int java.beans.PropertyDescriptor[]
StackMap stack:
4: aload 11
iload 9
aaload
astore 8
start local 8 5: aload 0
getfield org.springframework.beans.CachedIntrospectionResults.propertyDescriptors:Ljava/util/Map;
aload 8
invokevirtual java.beans.PropertyDescriptor.getName:()Ljava/lang/String;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.beans.PropertyDescriptor
astore 12
start local 12 6: aload 12
ifnull 8
7: aload 12
invokevirtual java.beans.PropertyDescriptor.getReadMethod:()Ljava/lang/reflect/Method;
ifnonnull 13
aload 8
invokevirtual java.beans.PropertyDescriptor.getReadMethod:()Ljava/lang/reflect/Method;
ifnull 13
8: StackMap locals: org.springframework.beans.CachedIntrospectionResults java.lang.Class java.lang.Class java.util.Set java.lang.Class int int java.lang.Class[] java.beans.PropertyDescriptor int int java.beans.PropertyDescriptor[] java.beans.PropertyDescriptor
StackMap stack:
aload 0
aload 1
aload 8
invokevirtual org.springframework.beans.CachedIntrospectionResults.buildGenericTypeAwarePropertyDescriptor:(Ljava/lang/Class;Ljava/beans/PropertyDescriptor;)Ljava/beans/PropertyDescriptor;
astore 8
9: aload 0
getfield org.springframework.beans.CachedIntrospectionResults.propertyDescriptors:Ljava/util/Map;
aload 8
invokevirtual java.beans.PropertyDescriptor.getName:()Ljava/lang/String;
aload 8
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
10: aload 8
invokevirtual java.beans.PropertyDescriptor.getReadMethod:()Ljava/lang/reflect/Method;
astore 13
start local 13 11: aload 13
ifnull 13
12: aload 3
aload 13
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 13 end local 12 end local 8 13: StackMap locals: org.springframework.beans.CachedIntrospectionResults java.lang.Class java.lang.Class java.util.Set java.lang.Class int int java.lang.Class[] top int int java.beans.PropertyDescriptor[]
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
14: iload 9
iload 10
if_icmplt 4
15: aload 0
aload 4
aload 4
aload 3
invokevirtual org.springframework.beans.CachedIntrospectionResults.introspectInterfaces:(Ljava/lang/Class;Ljava/lang/Class;Ljava/util/Set;)V
end local 4 16: StackMap locals: org.springframework.beans.CachedIntrospectionResults java.lang.Class java.lang.Class java.util.Set top int int java.lang.Class[]
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
17: iload 5
iload 6
if_icmplt 1
18: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/springframework/beans/CachedIntrospectionResults;
0 19 1 beanClass Ljava/lang/Class<*>;
0 19 2 currClass Ljava/lang/Class<*>;
0 19 3 readMethodNames Ljava/util/Set<Ljava/lang/String;>;
2 16 4 ifc Ljava/lang/Class<*>;
5 13 8 pd Ljava/beans/PropertyDescriptor;
6 13 12 existingPd Ljava/beans/PropertyDescriptor;
11 13 13 readMethod Ljava/lang/reflect/Method;
Exceptions:
throws java.beans.IntrospectionException
Signature: (Ljava/lang/Class<*>;Ljava/lang/Class<*>;Ljava/util/Set<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
beanClass
currClass
readMethodNames
private void introspectPlainAccessors(java.lang.Class<?>, java.util.Set<java.lang.String>);
descriptor: (Ljava/lang/Class;Ljava/util/Set;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual java.lang.Class.getMethods:()[Ljava/lang/reflect/Method;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 9
StackMap locals: org.springframework.beans.CachedIntrospectionResults java.lang.Class java.util.Set top int int java.lang.reflect.Method[]
StackMap stack:
1: aload 6
iload 4
aaload
astore 3
start local 3 2: aload 0
getfield org.springframework.beans.CachedIntrospectionResults.propertyDescriptors:Ljava/util/Map;
aload 3
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifne 8
3: aload 2
aload 3
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 8
aload 0
aload 3
invokevirtual org.springframework.beans.CachedIntrospectionResults.isPlainAccessor:(Ljava/lang/reflect/Method;)Z
ifeq 8
4: aload 0
getfield org.springframework.beans.CachedIntrospectionResults.propertyDescriptors:Ljava/util/Map;
aload 3
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
5: new org.springframework.beans.GenericTypeAwarePropertyDescriptor
dup
aload 1
aload 3
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
aload 3
aconst_null
aconst_null
invokespecial org.springframework.beans.GenericTypeAwarePropertyDescriptor.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;Ljava/lang/Class;)V
6: invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: aload 2
aload 3
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 3 8: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
9: iload 4
iload 5
if_icmplt 1
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/springframework/beans/CachedIntrospectionResults;
0 11 1 beanClass Ljava/lang/Class<*>;
0 11 2 readMethodNames Ljava/util/Set<Ljava/lang/String;>;
2 8 3 method Ljava/lang/reflect/Method;
Exceptions:
throws java.beans.IntrospectionException
Signature: (Ljava/lang/Class<*>;Ljava/util/Set<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
beanClass
readMethodNames
private boolean isPlainAccessor(java.lang.reflect.Method);
descriptor: (Ljava/lang/reflect/Method;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.reflect.Method.getParameterCount:()I
ifgt 2
aload 1
invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
if_acmpeq 2
1: aload 1
invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
ldc Ljava/lang/Object;
if_acmpeq 2
aload 1
invokevirtual java.lang.reflect.Method.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
ifeq 3
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
3: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
aload 1
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
pop
4: iconst_1
ireturn
5: StackMap locals:
StackMap stack: java.lang.Exception
pop
6: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/springframework/beans/CachedIntrospectionResults;
0 7 1 method Ljava/lang/reflect/Method;
Exception table:
from to target type
3 4 5 Class java.lang.Exception
MethodParameters:
Name Flags
method
java.beans.BeanInfo getBeanInfo();
descriptor: ()Ljava/beans/BeanInfo;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.beans.CachedIntrospectionResults.beanInfo:Ljava/beans/BeanInfo;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/beans/CachedIntrospectionResults;
java.lang.Class<?> getBeanClass();
descriptor: ()Ljava/lang/Class;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.beans.CachedIntrospectionResults.beanInfo:Ljava/beans/BeanInfo;
invokeinterface java.beans.BeanInfo.getBeanDescriptor:()Ljava/beans/BeanDescriptor;
invokevirtual java.beans.BeanDescriptor.getBeanClass:()Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/beans/CachedIntrospectionResults;
Signature: ()Ljava/lang/Class<*>;
java.beans.PropertyDescriptor getPropertyDescriptor(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/beans/PropertyDescriptor;
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.springframework.beans.CachedIntrospectionResults.propertyDescriptors:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.beans.PropertyDescriptor
astore 2
start local 2 1: aload 2
ifnonnull 5
aload 1
invokestatic org.springframework.util.StringUtils.hasLength:(Ljava/lang/String;)Z
ifeq 5
2: aload 0
getfield org.springframework.beans.CachedIntrospectionResults.propertyDescriptors:Ljava/util/Map;
aload 1
invokestatic org.springframework.util.StringUtils.uncapitalize:(Ljava/lang/String;)Ljava/lang/String;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.beans.PropertyDescriptor
astore 2
3: aload 2
ifnonnull 5
4: aload 0
getfield org.springframework.beans.CachedIntrospectionResults.propertyDescriptors:Ljava/util/Map;
aload 1
invokestatic org.springframework.util.StringUtils.capitalize:(Ljava/lang/String;)Ljava/lang/String;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.beans.PropertyDescriptor
astore 2
5: StackMap locals: java.beans.PropertyDescriptor
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/springframework/beans/CachedIntrospectionResults;
0 6 1 name Ljava/lang/String;
1 6 2 pd Ljava/beans/PropertyDescriptor;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
name
java.beans.PropertyDescriptor[] getPropertyDescriptors();
descriptor: ()[Ljava/beans/PropertyDescriptor;
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.beans.CachedIntrospectionResults.propertyDescriptors:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
getstatic org.springframework.beans.CachedIntrospectionResults.EMPTY_PROPERTY_DESCRIPTOR_ARRAY:[Ljava/beans/PropertyDescriptor;
invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.beans.PropertyDescriptor[]
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/beans/CachedIntrospectionResults;
private java.beans.PropertyDescriptor buildGenericTypeAwarePropertyDescriptor(java.lang.Class<?>, java.beans.PropertyDescriptor);
descriptor: (Ljava/lang/Class;Ljava/beans/PropertyDescriptor;)Ljava/beans/PropertyDescriptor;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new org.springframework.beans.GenericTypeAwarePropertyDescriptor
dup
aload 1
aload 2
invokevirtual java.beans.PropertyDescriptor.getName:()Ljava/lang/String;
aload 2
invokevirtual java.beans.PropertyDescriptor.getReadMethod:()Ljava/lang/reflect/Method;
1: aload 2
invokevirtual java.beans.PropertyDescriptor.getWriteMethod:()Ljava/lang/reflect/Method;
aload 2
invokevirtual java.beans.PropertyDescriptor.getPropertyEditorClass:()Ljava/lang/Class;
2: invokespecial org.springframework.beans.GenericTypeAwarePropertyDescriptor.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;Ljava/lang/Class;)V
3: areturn
4: StackMap locals:
StackMap stack: java.beans.IntrospectionException
astore 3
start local 3 5: new org.springframework.beans.FatalBeanException
dup
new java.lang.StringBuilder
dup
ldc "Failed to re-introspect class ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
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 3
invokespecial org.springframework.beans.FatalBeanException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/springframework/beans/CachedIntrospectionResults;
0 6 1 beanClass Ljava/lang/Class<*>;
0 6 2 pd Ljava/beans/PropertyDescriptor;
5 6 3 ex Ljava/beans/IntrospectionException;
Exception table:
from to target type
0 3 4 Class java.beans.IntrospectionException
Signature: (Ljava/lang/Class<*>;Ljava/beans/PropertyDescriptor;)Ljava/beans/PropertyDescriptor;
MethodParameters:
Name Flags
beanClass
pd
org.springframework.core.convert.TypeDescriptor addTypeDescriptor(java.beans.PropertyDescriptor, org.springframework.core.convert.TypeDescriptor);
descriptor: (Ljava/beans/PropertyDescriptor;Lorg/springframework/core/convert/TypeDescriptor;)Lorg/springframework/core/convert/TypeDescriptor;
flags: (0x0000)
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.springframework.beans.CachedIntrospectionResults.typeDescriptorCache:Ljava/util/concurrent/ConcurrentMap;
aload 1
aload 2
invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.springframework.core.convert.TypeDescriptor
astore 3
start local 3 1: aload 3
ifnull 2
aload 3
goto 3
StackMap locals: org.springframework.core.convert.TypeDescriptor
StackMap stack:
2: aload 2
StackMap locals:
StackMap stack: org.springframework.core.convert.TypeDescriptor
3: areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/beans/CachedIntrospectionResults;
0 4 1 pd Ljava/beans/PropertyDescriptor;
0 4 2 td Lorg/springframework/core/convert/TypeDescriptor;
1 4 3 existing Lorg/springframework/core/convert/TypeDescriptor;
MethodParameters:
Name Flags
pd
td
org.springframework.core.convert.TypeDescriptor getTypeDescriptor(java.beans.PropertyDescriptor);
descriptor: (Ljava/beans/PropertyDescriptor;)Lorg/springframework/core/convert/TypeDescriptor;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.springframework.beans.CachedIntrospectionResults.typeDescriptorCache:Ljava/util/concurrent/ConcurrentMap;
aload 1
invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.springframework.core.convert.TypeDescriptor
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/beans/CachedIntrospectionResults;
0 1 1 pd Ljava/beans/PropertyDescriptor;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
pd
private static boolean lambda$0(java.lang.ClassLoader, java.lang.ClassLoader);
descriptor: (Ljava/lang/ClassLoader;Ljava/lang/ClassLoader;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 1
aload 0
invokestatic org.springframework.beans.CachedIntrospectionResults.isUnderneathClassLoader:(Ljava/lang/ClassLoader;Ljava/lang/ClassLoader;)Z
ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 registeredLoader Ljava/lang/ClassLoader;
private static boolean lambda$1(java.lang.ClassLoader, java.lang.Class);
descriptor: (Ljava/lang/ClassLoader;Ljava/lang/Class;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 1
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
aload 0
invokestatic org.springframework.beans.CachedIntrospectionResults.isUnderneathClassLoader:(Ljava/lang/ClassLoader;Ljava/lang/ClassLoader;)Z
ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 beanClass Ljava/lang/Class<*>;
private static boolean lambda$2(java.lang.ClassLoader, java.lang.Class);
descriptor: (Ljava/lang/ClassLoader;Ljava/lang/Class;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 1
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
aload 0
invokestatic org.springframework.beans.CachedIntrospectionResults.isUnderneathClassLoader:(Ljava/lang/ClassLoader;Ljava/lang/ClassLoader;)Z
ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 beanClass Ljava/lang/Class<*>;
}
SourceFile: "CachedIntrospectionResults.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles