public abstract class org.springframework.beans.AbstractNestablePropertyAccessor extends org.springframework.beans.AbstractPropertyAccessor
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.springframework.beans.AbstractNestablePropertyAccessor
super_class: org.springframework.beans.AbstractPropertyAccessor
{
private static final org.apache.commons.logging.Log logger;
descriptor: Lorg/apache/commons/logging/Log;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private int autoGrowCollectionLimit;
descriptor: I
flags: (0x0002) ACC_PRIVATE
java.lang.Object wrappedObject;
descriptor: Ljava/lang/Object;
flags: (0x0000)
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private java.lang.String nestedPath;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
java.lang.Object rootObject;
descriptor: Ljava/lang/Object;
flags: (0x0000)
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private java.util.Map<java.lang.String, org.springframework.beans.AbstractNestablePropertyAccessor> nestedPropertyAccessors;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/String;Lorg/springframework/beans/AbstractNestablePropertyAccessor;>;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/springframework/beans/AbstractNestablePropertyAccessor;
invokestatic org.apache.commons.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
putstatic org.springframework.beans.AbstractNestablePropertyAccessor.logger:Lorg/apache/commons/logging/Log;
return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
invokespecial org.springframework.beans.AbstractNestablePropertyAccessor.<init>:(Z)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/beans/AbstractNestablePropertyAccessor;
protected void <init>(boolean);
descriptor: (Z)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.springframework.beans.AbstractPropertyAccessor.<init>:()V
1: aload 0
ldc 2147483647
putfield org.springframework.beans.AbstractNestablePropertyAccessor.autoGrowCollectionLimit:I
2: aload 0
ldc ""
putfield org.springframework.beans.AbstractNestablePropertyAccessor.nestedPath:Ljava/lang/String;
3: iload 1
ifeq 5
4: aload 0
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.registerDefaultEditors:()V
5: StackMap locals: org.springframework.beans.AbstractNestablePropertyAccessor int
StackMap stack:
aload 0
new org.springframework.beans.TypeConverterDelegate
dup
aload 0
invokespecial org.springframework.beans.TypeConverterDelegate.<init>:(Lorg/springframework/beans/PropertyEditorRegistrySupport;)V
putfield org.springframework.beans.AbstractNestablePropertyAccessor.typeConverterDelegate:Lorg/springframework/beans/TypeConverterDelegate;
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/springframework/beans/AbstractNestablePropertyAccessor;
0 7 1 registerDefaultEditors Z
MethodParameters:
Name Flags
registerDefaultEditors
protected void <init>(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.springframework.beans.AbstractPropertyAccessor.<init>:()V
1: aload 0
ldc 2147483647
putfield org.springframework.beans.AbstractNestablePropertyAccessor.autoGrowCollectionLimit:I
2: aload 0
ldc ""
putfield org.springframework.beans.AbstractNestablePropertyAccessor.nestedPath:Ljava/lang/String;
3: aload 0
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.registerDefaultEditors:()V
4: aload 0
aload 1
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.setWrappedInstance:(Ljava/lang/Object;)V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/springframework/beans/AbstractNestablePropertyAccessor;
0 6 1 object Ljava/lang/Object;
MethodParameters:
Name Flags
object
protected void <init>(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.springframework.beans.AbstractPropertyAccessor.<init>:()V
1: aload 0
ldc 2147483647
putfield org.springframework.beans.AbstractNestablePropertyAccessor.autoGrowCollectionLimit:I
2: aload 0
ldc ""
putfield org.springframework.beans.AbstractNestablePropertyAccessor.nestedPath:Ljava/lang/String;
3: aload 0
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.registerDefaultEditors:()V
4: aload 0
aload 1
invokestatic org.springframework.beans.BeanUtils.instantiateClass:(Ljava/lang/Class;)Ljava/lang/Object;
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.setWrappedInstance:(Ljava/lang/Object;)V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/springframework/beans/AbstractNestablePropertyAccessor;
0 6 1 clazz Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
clazz
protected void <init>(java.lang.Object, java.lang.String, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial org.springframework.beans.AbstractPropertyAccessor.<init>:()V
1: aload 0
ldc 2147483647
putfield org.springframework.beans.AbstractNestablePropertyAccessor.autoGrowCollectionLimit:I
2: aload 0
ldc ""
putfield org.springframework.beans.AbstractNestablePropertyAccessor.nestedPath:Ljava/lang/String;
3: aload 0
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.registerDefaultEditors:()V
4: aload 0
aload 1
aload 2
aload 3
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.setWrappedInstance:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
5: return
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/AbstractNestablePropertyAccessor;
0 6 1 object Ljava/lang/Object;
0 6 2 nestedPath Ljava/lang/String;
0 6 3 rootObject Ljava/lang/Object;
MethodParameters:
Name Flags
object
nestedPath
rootObject
protected void <init>(java.lang.Object, java.lang.String, org.springframework.beans.AbstractNestablePropertyAccessor);
descriptor: (Ljava/lang/Object;Ljava/lang/String;Lorg/springframework/beans/AbstractNestablePropertyAccessor;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial org.springframework.beans.AbstractPropertyAccessor.<init>:()V
1: aload 0
ldc 2147483647
putfield org.springframework.beans.AbstractNestablePropertyAccessor.autoGrowCollectionLimit:I
2: aload 0
ldc ""
putfield org.springframework.beans.AbstractNestablePropertyAccessor.nestedPath:Ljava/lang/String;
3: aload 0
aload 1
aload 2
aload 3
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getWrappedInstance:()Ljava/lang/Object;
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.setWrappedInstance:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
4: aload 0
aload 3
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.isExtractOldValueForEditor:()Z
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.setExtractOldValueForEditor:(Z)V
5: aload 0
aload 3
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.isAutoGrowNestedPaths:()Z
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.setAutoGrowNestedPaths:(Z)V
6: aload 0
aload 3
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getAutoGrowCollectionLimit:()I
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.setAutoGrowCollectionLimit:(I)V
7: aload 0
aload 3
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getConversionService:()Lorg/springframework/core/convert/ConversionService;
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.setConversionService:(Lorg/springframework/core/convert/ConversionService;)V
8: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/springframework/beans/AbstractNestablePropertyAccessor;
0 9 1 object Ljava/lang/Object;
0 9 2 nestedPath Ljava/lang/String;
0 9 3 parent Lorg/springframework/beans/AbstractNestablePropertyAccessor;
MethodParameters:
Name Flags
object
nestedPath
parent
public void setAutoGrowCollectionLimit(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.springframework.beans.AbstractNestablePropertyAccessor.autoGrowCollectionLimit:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/beans/AbstractNestablePropertyAccessor;
0 2 1 autoGrowCollectionLimit I
MethodParameters:
Name Flags
autoGrowCollectionLimit
public int getAutoGrowCollectionLimit();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.beans.AbstractNestablePropertyAccessor.autoGrowCollectionLimit:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/beans/AbstractNestablePropertyAccessor;
public void setWrappedInstance(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
ldc ""
aconst_null
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.setWrappedInstance:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/beans/AbstractNestablePropertyAccessor;
0 2 1 object Ljava/lang/Object;
MethodParameters:
Name Flags
object
public void setWrappedInstance(java.lang.Object, java.lang.String, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokestatic org.springframework.util.ObjectUtils.unwrapOptional:(Ljava/lang/Object;)Ljava/lang/Object;
putfield org.springframework.beans.AbstractNestablePropertyAccessor.wrappedObject:Ljava/lang/Object;
1: aload 0
getfield org.springframework.beans.AbstractNestablePropertyAccessor.wrappedObject:Ljava/lang/Object;
ldc "Target object must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
2: aload 0
aload 2
ifnull 3
aload 2
goto 4
StackMap locals:
StackMap stack: org.springframework.beans.AbstractNestablePropertyAccessor
3: ldc ""
StackMap locals: org.springframework.beans.AbstractNestablePropertyAccessor java.lang.Object java.lang.String java.lang.Object
StackMap stack: org.springframework.beans.AbstractNestablePropertyAccessor java.lang.String
4: putfield org.springframework.beans.AbstractNestablePropertyAccessor.nestedPath:Ljava/lang/String;
5: aload 0
aload 0
getfield org.springframework.beans.AbstractNestablePropertyAccessor.nestedPath:Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
ifne 6
aload 3
goto 7
StackMap locals:
StackMap stack: org.springframework.beans.AbstractNestablePropertyAccessor
6: aload 0
getfield org.springframework.beans.AbstractNestablePropertyAccessor.wrappedObject:Ljava/lang/Object;
StackMap locals: org.springframework.beans.AbstractNestablePropertyAccessor java.lang.Object java.lang.String java.lang.Object
StackMap stack: org.springframework.beans.AbstractNestablePropertyAccessor java.lang.Object
7: putfield org.springframework.beans.AbstractNestablePropertyAccessor.rootObject:Ljava/lang/Object;
8: aload 0
aconst_null
putfield org.springframework.beans.AbstractNestablePropertyAccessor.nestedPropertyAccessors:Ljava/util/Map;
9: aload 0
new org.springframework.beans.TypeConverterDelegate
dup
aload 0
aload 0
getfield org.springframework.beans.AbstractNestablePropertyAccessor.wrappedObject:Ljava/lang/Object;
invokespecial org.springframework.beans.TypeConverterDelegate.<init>:(Lorg/springframework/beans/PropertyEditorRegistrySupport;Ljava/lang/Object;)V
putfield org.springframework.beans.AbstractNestablePropertyAccessor.typeConverterDelegate:Lorg/springframework/beans/TypeConverterDelegate;
10: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/springframework/beans/AbstractNestablePropertyAccessor;
0 11 1 object Ljava/lang/Object;
0 11 2 nestedPath Ljava/lang/String;
0 11 3 rootObject Ljava/lang/Object;
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
2:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
object
nestedPath
rootObject
public final java.lang.Object getWrappedInstance();
descriptor: ()Ljava/lang/Object;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.beans.AbstractNestablePropertyAccessor.wrappedObject:Ljava/lang/Object;
ifnull 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ldc "No wrapped object"
invokestatic org.springframework.util.Assert.state:(ZLjava/lang/String;)V
3: aload 0
getfield org.springframework.beans.AbstractNestablePropertyAccessor.wrappedObject:Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/beans/AbstractNestablePropertyAccessor;
public final java.lang.Class<?> getWrappedClass();
descriptor: ()Ljava/lang/Class;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getWrappedInstance:()Ljava/lang/Object;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/beans/AbstractNestablePropertyAccessor;
Signature: ()Ljava/lang/Class<*>;
public final java.lang.String getNestedPath();
descriptor: ()Ljava/lang/String;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.beans.AbstractNestablePropertyAccessor.nestedPath:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/beans/AbstractNestablePropertyAccessor;
public final java.lang.Object getRootInstance();
descriptor: ()Ljava/lang/Object;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.beans.AbstractNestablePropertyAccessor.rootObject:Ljava/lang/Object;
ifnull 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ldc "No root object"
invokestatic org.springframework.util.Assert.state:(ZLjava/lang/String;)V
3: aload 0
getfield org.springframework.beans.AbstractNestablePropertyAccessor.rootObject:Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/beans/AbstractNestablePropertyAccessor;
public final java.lang.Class<?> getRootClass();
descriptor: ()Ljava/lang/Class;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getRootInstance:()Ljava/lang/Object;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/beans/AbstractNestablePropertyAccessor;
Signature: ()Ljava/lang/Class<*>;
public void setPropertyValue(java.lang.String, java.lang.Object);
descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getPropertyAccessorForPropertyPath:(Ljava/lang/String;)Lorg/springframework/beans/AbstractNestablePropertyAccessor;
astore 3
start local 3 1: goto 6
end local 3 2: StackMap locals:
StackMap stack: org.springframework.beans.NotReadablePropertyException
astore 4
start local 4 3: new org.springframework.beans.NotWritablePropertyException
dup
aload 0
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getRootClass:()Ljava/lang/Class;
new java.lang.StringBuilder
dup
aload 0
getfield org.springframework.beans.AbstractNestablePropertyAccessor.nestedPath: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;
4: new java.lang.StringBuilder
dup
ldc "Nested property in path '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "' does not exist"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 4
5: invokespecial org.springframework.beans.NotWritablePropertyException.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 start local 3 6: StackMap locals: org.springframework.beans.AbstractNestablePropertyAccessor
StackMap stack:
aload 0
aload 0
aload 3
aload 1
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getFinalPath:(Lorg/springframework/beans/AbstractNestablePropertyAccessor;Ljava/lang/String;)Ljava/lang/String;
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getPropertyNameTokens:(Ljava/lang/String;)Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyTokenHolder;
astore 4
start local 4 7: aload 3
aload 4
new org.springframework.beans.PropertyValue
dup
aload 1
aload 2
invokespecial org.springframework.beans.PropertyValue.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.setPropertyValue:(Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyTokenHolder;Lorg/springframework/beans/PropertyValue;)V
8: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/springframework/beans/AbstractNestablePropertyAccessor;
0 9 1 propertyName Ljava/lang/String;
0 9 2 value Ljava/lang/Object;
1 2 3 nestedPa Lorg/springframework/beans/AbstractNestablePropertyAccessor;
6 9 3 nestedPa Lorg/springframework/beans/AbstractNestablePropertyAccessor;
3 6 4 ex Lorg/springframework/beans/NotReadablePropertyException;
7 9 4 tokens Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyTokenHolder;
Exception table:
from to target type
0 1 2 Class org.springframework.beans.NotReadablePropertyException
Exceptions:
throws org.springframework.beans.BeansException
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
propertyName
value
public void setPropertyValue(org.springframework.beans.PropertyValue);
descriptor: (Lorg/springframework/beans/PropertyValue;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=2
start local 0 start local 1 0: aload 1
getfield org.springframework.beans.PropertyValue.resolvedTokens:Ljava/lang/Object;
checkcast org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder
astore 2
start local 2 1: aload 2
ifnonnull 14
2: aload 1
invokevirtual org.springframework.beans.PropertyValue.getName:()Ljava/lang/String;
astore 3
start local 3 3: aload 0
aload 3
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getPropertyAccessorForPropertyPath:(Ljava/lang/String;)Lorg/springframework/beans/AbstractNestablePropertyAccessor;
astore 4
start local 4 4: goto 9
end local 4 5: StackMap locals: org.springframework.beans.AbstractNestablePropertyAccessor org.springframework.beans.PropertyValue org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder java.lang.String
StackMap stack: org.springframework.beans.NotReadablePropertyException
astore 5
start local 5 6: new org.springframework.beans.NotWritablePropertyException
dup
aload 0
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getRootClass:()Ljava/lang/Class;
new java.lang.StringBuilder
dup
aload 0
getfield org.springframework.beans.AbstractNestablePropertyAccessor.nestedPath:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: new java.lang.StringBuilder
dup
ldc "Nested property in path '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "' does not exist"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 5
8: invokespecial org.springframework.beans.NotWritablePropertyException.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 5 start local 4 9: StackMap locals: org.springframework.beans.AbstractNestablePropertyAccessor
StackMap stack:
aload 0
aload 0
aload 4
aload 3
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getFinalPath:(Lorg/springframework/beans/AbstractNestablePropertyAccessor;Ljava/lang/String;)Ljava/lang/String;
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getPropertyNameTokens:(Ljava/lang/String;)Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyTokenHolder;
astore 2
10: aload 4
aload 0
if_acmpne 12
11: aload 1
invokevirtual org.springframework.beans.PropertyValue.getOriginalPropertyValue:()Lorg/springframework/beans/PropertyValue;
aload 2
putfield org.springframework.beans.PropertyValue.resolvedTokens:Ljava/lang/Object;
12: StackMap locals:
StackMap stack:
aload 4
aload 2
aload 1
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.setPropertyValue:(Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyTokenHolder;Lorg/springframework/beans/PropertyValue;)V
end local 4 end local 3 13: goto 15
14: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 1
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.setPropertyValue:(Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyTokenHolder;Lorg/springframework/beans/PropertyValue;)V
15: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/springframework/beans/AbstractNestablePropertyAccessor;
0 16 1 pv Lorg/springframework/beans/PropertyValue;
1 16 2 tokens Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyTokenHolder;
3 13 3 propertyName Ljava/lang/String;
4 5 4 nestedPa Lorg/springframework/beans/AbstractNestablePropertyAccessor;
9 13 4 nestedPa Lorg/springframework/beans/AbstractNestablePropertyAccessor;
6 9 5 ex Lorg/springframework/beans/NotReadablePropertyException;
Exception table:
from to target type
3 4 5 Class org.springframework.beans.NotReadablePropertyException
Exceptions:
throws org.springframework.beans.BeansException
MethodParameters:
Name Flags
pv
protected void setPropertyValue(org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder, org.springframework.beans.PropertyValue);
descriptor: (Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyTokenHolder;Lorg/springframework/beans/PropertyValue;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.keys:[Ljava/lang/String;
ifnull 3
1: aload 0
aload 1
aload 2
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.processKeyedProperty:(Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyTokenHolder;Lorg/springframework/beans/PropertyValue;)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.processLocalProperty:(Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyTokenHolder;Lorg/springframework/beans/PropertyValue;)V
4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/springframework/beans/AbstractNestablePropertyAccessor;
0 5 1 tokens Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyTokenHolder;
0 5 2 pv Lorg/springframework/beans/PropertyValue;
Exceptions:
throws org.springframework.beans.BeansException
MethodParameters:
Name Flags
tokens
pv
private void processKeyedProperty(org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder, org.springframework.beans.PropertyValue);
descriptor: (Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyTokenHolder;Lorg/springframework/beans/PropertyValue;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=13, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getPropertyHoldingValue:(Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyTokenHolder;)Ljava/lang/Object;
astore 3
start local 3 1: aload 0
aload 1
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.actualName:Ljava/lang/String;
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getLocalPropertyHandler:(Ljava/lang/String;)Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyHandler;
astore 4
start local 4 2: aload 4
ifnonnull 6
3: new org.springframework.beans.InvalidPropertyException
dup
4: aload 0
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getRootClass:()Ljava/lang/Class;
new java.lang.StringBuilder
dup
aload 0
getfield org.springframework.beans.AbstractNestablePropertyAccessor.nestedPath: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
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.actualName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
ldc "No property handler found"
5: invokespecial org.springframework.beans.InvalidPropertyException.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;)V
athrow
6: StackMap locals: java.lang.Object org.springframework.beans.AbstractNestablePropertyAccessor$PropertyHandler
StackMap stack:
aload 1
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.keys:[Ljava/lang/String;
ifnull 7
iconst_1
goto 8
StackMap locals:
StackMap stack:
7: iconst_0
StackMap locals:
StackMap stack: int
8: ldc "No token keys"
invokestatic org.springframework.util.Assert.state:(ZLjava/lang/String;)V
9: aload 1
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.keys:[Ljava/lang/String;
aload 1
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.keys:[Ljava/lang/String;
arraylength
iconst_1
isub
aaload
astore 5
start local 5 10: aload 3
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isArray:()Z
ifeq 32
11: aload 3
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
astore 6
start local 6 12: aload 5
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 7
start local 7 13: aconst_null
astore 8
start local 8 14: aload 0
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.isExtractOldValueForEditor:()Z
ifeq 16
iload 7
aload 3
invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
if_icmpge 16
15: aload 3
iload 7
invokestatic java.lang.reflect.Array.get:(Ljava/lang/Object;I)Ljava/lang/Object;
astore 8
16: StackMap locals: org.springframework.beans.AbstractNestablePropertyAccessor org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder org.springframework.beans.PropertyValue java.lang.Object org.springframework.beans.AbstractNestablePropertyAccessor$PropertyHandler java.lang.String java.lang.Class int java.lang.Object
StackMap stack:
aload 0
aload 1
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.canonicalName:Ljava/lang/String;
aload 8
aload 2
invokevirtual org.springframework.beans.PropertyValue.getValue:()Ljava/lang/Object;
17: aload 6
aload 4
aload 1
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.keys:[Ljava/lang/String;
arraylength
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor$PropertyHandler.nested:(I)Lorg/springframework/core/convert/TypeDescriptor;
18: invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.convertIfNecessary:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Class;Lorg/springframework/core/convert/TypeDescriptor;)Ljava/lang/Object;
astore 9
start local 9 19: aload 3
invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
istore 10
start local 10 20: iload 7
iload 10
if_icmplt 26
iload 7
aload 0
getfield org.springframework.beans.AbstractNestablePropertyAccessor.autoGrowCollectionLimit:I
if_icmpge 26
21: aload 3
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
astore 11
start local 11 22: aload 11
iload 7
iconst_1
iadd
invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
astore 12
start local 12 23: aload 3
iconst_0
aload 12
iconst_0
iload 10
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
24: aload 0
aload 1
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.actualName:Ljava/lang/String;
aload 12
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.setPropertyValue:(Ljava/lang/String;Ljava/lang/Object;)V
25: aload 0
aload 1
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.actualName:Ljava/lang/String;
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getPropertyValue:(Ljava/lang/String;)Ljava/lang/Object;
astore 3
end local 12 end local 11 26: StackMap locals: java.lang.Object int
StackMap stack:
aload 3
iload 7
aload 9
invokestatic java.lang.reflect.Array.set:(Ljava/lang/Object;ILjava/lang/Object;)V
end local 10 end local 9 27: goto 84
28: StackMap locals: org.springframework.beans.AbstractNestablePropertyAccessor org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder org.springframework.beans.PropertyValue java.lang.Object org.springframework.beans.AbstractNestablePropertyAccessor$PropertyHandler java.lang.String java.lang.Class int java.lang.Object
StackMap stack: java.lang.IndexOutOfBoundsException
astore 9
start local 9 29: new org.springframework.beans.InvalidPropertyException
dup
aload 0
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getRootClass:()Ljava/lang/Class;
new java.lang.StringBuilder
dup
aload 0
getfield org.springframework.beans.AbstractNestablePropertyAccessor.nestedPath: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
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.canonicalName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
30: new java.lang.StringBuilder
dup
ldc "Invalid array index in property path '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.canonicalName: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 9
31: invokespecial org.springframework.beans.InvalidPropertyException.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 9 end local 8 end local 7 end local 6 32: StackMap locals:
StackMap stack:
aload 3
instanceof java.util.List
ifeq 65
33: aload 4
aload 1
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.keys:[Ljava/lang/String;
arraylength
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor$PropertyHandler.getCollectionType:(I)Ljava/lang/Class;
astore 6
start local 6 34: aload 3
checkcast java.util.List
astore 7
start local 7 35: aload 5
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 8
start local 8 36: aconst_null
astore 9
start local 9 37: aload 0
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.isExtractOldValueForEditor:()Z
ifeq 39
iload 8
aload 7
invokeinterface java.util.List.size:()I
if_icmpge 39
38: aload 7
iload 8
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
astore 9
39: StackMap locals: org.springframework.beans.AbstractNestablePropertyAccessor org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder org.springframework.beans.PropertyValue java.lang.Object org.springframework.beans.AbstractNestablePropertyAccessor$PropertyHandler java.lang.String java.lang.Class java.util.List int java.lang.Object
StackMap stack:
aload 0
aload 1
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.canonicalName:Ljava/lang/String;
aload 9
aload 2
invokevirtual org.springframework.beans.PropertyValue.getValue:()Ljava/lang/Object;
40: aload 6
aload 4
aload 1
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.keys:[Ljava/lang/String;
arraylength
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor$PropertyHandler.nested:(I)Lorg/springframework/core/convert/TypeDescriptor;
41: invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.convertIfNecessary:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Class;Lorg/springframework/core/convert/TypeDescriptor;)Ljava/lang/Object;
astore 10
start local 10 42: aload 7
invokeinterface java.util.List.size:()I
istore 11
start local 11 43: iload 8
iload 11
if_icmplt 59
iload 8
aload 0
getfield org.springframework.beans.AbstractNestablePropertyAccessor.autoGrowCollectionLimit:I
if_icmpge 59
44: iload 11
istore 12
start local 12 45: goto 56
46: StackMap locals: java.lang.Object int int
StackMap stack:
aload 7
aconst_null
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
47: goto 55
48: StackMap locals:
StackMap stack: java.lang.NullPointerException
pop
49: new org.springframework.beans.InvalidPropertyException
dup
aload 0
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getRootClass:()Ljava/lang/Class;
new java.lang.StringBuilder
dup
aload 0
getfield org.springframework.beans.AbstractNestablePropertyAccessor.nestedPath: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
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.canonicalName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
50: new java.lang.StringBuilder
dup
ldc "Cannot set element with index "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 8
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " in List of size "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
51: iload 11
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", accessed using property path '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.canonicalName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
52: ldc "': List does not support filling up gaps with null elements"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
53: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
54: invokespecial org.springframework.beans.InvalidPropertyException.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;)V
athrow
55: StackMap locals:
StackMap stack:
iinc 12 1
StackMap locals:
StackMap stack:
56: iload 12
iload 8
if_icmplt 46
end local 12 57: aload 7
aload 10
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
58: goto 84
59: StackMap locals:
StackMap stack:
aload 7
iload 8
aload 10
invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
pop
60: goto 84
61: StackMap locals:
StackMap stack: java.lang.IndexOutOfBoundsException
astore 12
start local 12 62: new org.springframework.beans.InvalidPropertyException
dup
aload 0
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getRootClass:()Ljava/lang/Class;
new java.lang.StringBuilder
dup
aload 0
getfield org.springframework.beans.AbstractNestablePropertyAccessor.nestedPath: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
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.canonicalName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
63: new java.lang.StringBuilder
dup
ldc "Invalid list index in property path '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.canonicalName: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 12
64: invokespecial org.springframework.beans.InvalidPropertyException.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 65: StackMap locals: org.springframework.beans.AbstractNestablePropertyAccessor org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder org.springframework.beans.PropertyValue java.lang.Object org.springframework.beans.AbstractNestablePropertyAccessor$PropertyHandler java.lang.String
StackMap stack:
aload 3
instanceof java.util.Map
ifeq 79
66: aload 4
aload 1
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.keys:[Ljava/lang/String;
arraylength
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor$PropertyHandler.getMapKeyType:(I)Ljava/lang/Class;
astore 6
start local 6 67: aload 4
aload 1
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.keys:[Ljava/lang/String;
arraylength
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor$PropertyHandler.getMapValueType:(I)Ljava/lang/Class;
astore 7
start local 7 68: aload 3
checkcast java.util.Map
astore 8
start local 8 69: aload 6
invokestatic org.springframework.core.convert.TypeDescriptor.valueOf:(Ljava/lang/Class;)Lorg/springframework/core/convert/TypeDescriptor;
astore 9
start local 9 70: aload 0
aconst_null
aconst_null
aload 5
aload 6
aload 9
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.convertIfNecessary:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Class;Lorg/springframework/core/convert/TypeDescriptor;)Ljava/lang/Object;
astore 10
start local 10 71: aconst_null
astore 11
start local 11 72: aload 0
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.isExtractOldValueForEditor:()Z
ifeq 74
73: aload 8
aload 10
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 11
74: StackMap locals: org.springframework.beans.AbstractNestablePropertyAccessor org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder org.springframework.beans.PropertyValue java.lang.Object org.springframework.beans.AbstractNestablePropertyAccessor$PropertyHandler java.lang.String java.lang.Class java.lang.Class java.util.Map org.springframework.core.convert.TypeDescriptor java.lang.Object java.lang.Object
StackMap stack:
aload 0
aload 1
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.canonicalName:Ljava/lang/String;
aload 11
aload 2
invokevirtual org.springframework.beans.PropertyValue.getValue:()Ljava/lang/Object;
75: aload 7
aload 4
aload 1
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.keys:[Ljava/lang/String;
arraylength
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor$PropertyHandler.nested:(I)Lorg/springframework/core/convert/TypeDescriptor;
76: invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.convertIfNecessary:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Class;Lorg/springframework/core/convert/TypeDescriptor;)Ljava/lang/Object;
astore 12
start local 12 77: aload 8
aload 10
aload 12
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 78: goto 84
79: StackMap locals: org.springframework.beans.AbstractNestablePropertyAccessor org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder org.springframework.beans.PropertyValue java.lang.Object org.springframework.beans.AbstractNestablePropertyAccessor$PropertyHandler java.lang.String
StackMap stack:
new org.springframework.beans.InvalidPropertyException
dup
aload 0
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getRootClass:()Ljava/lang/Class;
new java.lang.StringBuilder
dup
aload 0
getfield org.springframework.beans.AbstractNestablePropertyAccessor.nestedPath: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
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.canonicalName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
80: new java.lang.StringBuilder
dup
ldc "Property referenced in indexed property path '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.canonicalName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
81: ldc "' is neither an array nor a List nor a Map; returned value was ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
82: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
83: invokespecial org.springframework.beans.InvalidPropertyException.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;)V
athrow
84: StackMap locals:
StackMap stack:
return
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 85 0 this Lorg/springframework/beans/AbstractNestablePropertyAccessor;
0 85 1 tokens Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyTokenHolder;
0 85 2 pv Lorg/springframework/beans/PropertyValue;
1 85 3 propValue Ljava/lang/Object;
2 85 4 ph Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyHandler;
10 85 5 lastKey Ljava/lang/String;
12 32 6 requiredType Ljava/lang/Class<*>;
13 32 7 arrayIndex I
14 32 8 oldValue Ljava/lang/Object;
19 27 9 convertedValue Ljava/lang/Object;
20 27 10 length I
22 26 11 componentType Ljava/lang/Class<*>;
23 26 12 newArray Ljava/lang/Object;
29 32 9 ex Ljava/lang/IndexOutOfBoundsException;
34 65 6 requiredType Ljava/lang/Class<*>;
35 65 7 list Ljava/util/List<Ljava/lang/Object;>;
36 65 8 index I
37 65 9 oldValue Ljava/lang/Object;
42 65 10 convertedValue Ljava/lang/Object;
43 65 11 size I
45 57 12 i I
62 65 12 ex Ljava/lang/IndexOutOfBoundsException;
67 78 6 mapKeyType Ljava/lang/Class<*>;
68 78 7 mapValueType Ljava/lang/Class<*>;
69 78 8 map Ljava/util/Map<Ljava/lang/Object;Ljava/lang/Object;>;
70 78 9 typeDescriptor Lorg/springframework/core/convert/TypeDescriptor;
71 78 10 convertedMapKey Ljava/lang/Object;
72 78 11 oldValue Ljava/lang/Object;
77 78 12 convertedMapValue Ljava/lang/Object;
Exception table:
from to target type
14 27 28 Class java.lang.IndexOutOfBoundsException
46 47 48 Class java.lang.NullPointerException
59 60 61 Class java.lang.IndexOutOfBoundsException
MethodParameters:
Name Flags
tokens
pv
private java.lang.Object getPropertyHoldingValue(org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder);
descriptor: (Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyTokenHolder;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=5, args_size=2
start local 0 start local 1 0: aload 1
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.keys:[Ljava/lang/String;
ifnull 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ldc "No token keys"
invokestatic org.springframework.util.Assert.state:(ZLjava/lang/String;)V
3: new org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder
dup
aload 1
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.actualName:Ljava/lang/String;
invokespecial org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.<init>:(Ljava/lang/String;)V
astore 2
start local 2 4: aload 2
aload 1
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.canonicalName:Ljava/lang/String;
putfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.canonicalName:Ljava/lang/String;
5: aload 2
aload 1
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.keys:[Ljava/lang/String;
arraylength
iconst_1
isub
anewarray java.lang.String
putfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.keys:[Ljava/lang/String;
6: aload 1
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.keys:[Ljava/lang/String;
iconst_0
aload 2
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.keys:[Ljava/lang/String;
iconst_0
aload 1
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.keys:[Ljava/lang/String;
arraylength
iconst_1
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
7: aload 0
aload 2
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getPropertyValue:(Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyTokenHolder;)Ljava/lang/Object;
astore 3
start local 3 8: goto 16
end local 3 9: StackMap locals: org.springframework.beans.AbstractNestablePropertyAccessor org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder
StackMap stack: org.springframework.beans.NotReadablePropertyException
astore 4
start local 4 10: new org.springframework.beans.NotWritablePropertyException
dup
aload 0
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getRootClass:()Ljava/lang/Class;
new java.lang.StringBuilder
dup
aload 0
getfield org.springframework.beans.AbstractNestablePropertyAccessor.nestedPath: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
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.canonicalName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
11: new java.lang.StringBuilder
dup
ldc "Cannot access indexed value in property referenced in indexed property path '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
12: aload 1
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.canonicalName: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;
13: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
14: aload 4
15: invokespecial org.springframework.beans.NotWritablePropertyException.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 start local 3 16: StackMap locals: java.lang.Object
StackMap stack:
aload 3
ifnonnull 27
17: aload 0
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.isAutoGrowNestedPaths:()Z
ifeq 22
18: aload 1
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.canonicalName:Ljava/lang/String;
bipush 91
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 4
start local 4 19: aload 2
aload 1
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.canonicalName:Ljava/lang/String;
iconst_0
iload 4
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
putfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.canonicalName:Ljava/lang/String;
20: aload 0
aload 2
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.setDefaultValue:(Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyTokenHolder;)Ljava/lang/Object;
astore 3
end local 4 21: goto 27
22: StackMap locals:
StackMap stack:
new org.springframework.beans.NullValueInNestedPathException
dup
aload 0
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getRootClass:()Ljava/lang/Class;
new java.lang.StringBuilder
dup
aload 0
getfield org.springframework.beans.AbstractNestablePropertyAccessor.nestedPath: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
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.canonicalName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
23: new java.lang.StringBuilder
dup
ldc "Cannot access indexed value in property referenced in indexed property path '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
24: aload 1
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.canonicalName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "': returned null"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
25: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
26: invokespecial org.springframework.beans.NullValueInNestedPathException.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;)V
athrow
27: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lorg/springframework/beans/AbstractNestablePropertyAccessor;
0 28 1 tokens Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyTokenHolder;
4 28 2 getterTokens Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyTokenHolder;
8 9 3 propValue Ljava/lang/Object;
16 28 3 propValue Ljava/lang/Object;
10 16 4 ex Lorg/springframework/beans/NotReadablePropertyException;
19 21 4 lastKeyIndex I
Exception table:
from to target type
7 8 9 Class org.springframework.beans.NotReadablePropertyException
MethodParameters:
Name Flags
tokens
private void processLocalProperty(org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder, org.springframework.beans.PropertyValue);
descriptor: (Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyTokenHolder;Lorg/springframework/beans/PropertyValue;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.actualName:Ljava/lang/String;
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getLocalPropertyHandler:(Ljava/lang/String;)Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyHandler;
astore 3
start local 3 1: aload 3
ifnull 2
aload 3
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor$PropertyHandler.isWritable:()Z
ifne 9
2: StackMap locals: org.springframework.beans.AbstractNestablePropertyAccessor$PropertyHandler
StackMap stack:
aload 2
invokevirtual org.springframework.beans.PropertyValue.isOptional:()Z
ifeq 8
3: getstatic org.springframework.beans.AbstractNestablePropertyAccessor.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 7
4: getstatic org.springframework.beans.AbstractNestablePropertyAccessor.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Ignoring optional value for property '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.actualName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: ldc "' - property not found on bean class ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getRootClass:()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;
6: invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
7: StackMap locals:
StackMap stack:
return
8: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.canonicalName:Ljava/lang/String;
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.createNotWritablePropertyException:(Ljava/lang/String;)Lorg/springframework/beans/NotWritablePropertyException;
athrow
9: StackMap locals:
StackMap stack:
aconst_null
astore 4
start local 4 10: aload 2
invokevirtual org.springframework.beans.PropertyValue.getValue:()Ljava/lang/Object;
astore 5
start local 5 11: aload 5
astore 6
start local 6 12: getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
aload 2
getfield org.springframework.beans.PropertyValue.conversionNecessary:Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.equals:(Ljava/lang/Object;)Z
ifne 32
13: aload 2
invokevirtual org.springframework.beans.PropertyValue.isConverted:()Z
ifeq 16
14: aload 2
invokevirtual org.springframework.beans.PropertyValue.getConvertedValue:()Ljava/lang/Object;
astore 6
15: goto 29
16: StackMap locals: java.lang.Object java.lang.Object java.lang.Object
StackMap stack:
aload 0
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.isExtractOldValueForEditor:()Z
ifeq 26
aload 3
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor$PropertyHandler.isReadable:()Z
ifeq 26
17: aload 3
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor$PropertyHandler.getValue:()Ljava/lang/Object;
astore 4
18: goto 26
19: StackMap locals:
StackMap stack: java.lang.Exception
astore 7
start local 7 20: aload 7
instanceof java.security.PrivilegedActionException
ifeq 22
21: aload 7
checkcast java.security.PrivilegedActionException
invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
astore 7
22: StackMap locals: java.lang.Exception
StackMap stack:
getstatic org.springframework.beans.AbstractNestablePropertyAccessor.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 26
23: getstatic org.springframework.beans.AbstractNestablePropertyAccessor.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Could not read previous value of property '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
24: aload 0
getfield org.springframework.beans.AbstractNestablePropertyAccessor.nestedPath:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.canonicalName: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 7
25: invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 7 26: StackMap locals:
StackMap stack:
aload 0
27: aload 1
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.canonicalName:Ljava/lang/String;
aload 4
aload 5
aload 3
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor$PropertyHandler.toTypeDescriptor:()Lorg/springframework/core/convert/TypeDescriptor;
28: invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.convertForProperty:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Lorg/springframework/core/convert/TypeDescriptor;)Ljava/lang/Object;
astore 6
29: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.springframework.beans.PropertyValue.getOriginalPropertyValue:()Lorg/springframework/beans/PropertyValue;
aload 6
aload 5
if_acmpeq 30
iconst_1
goto 31
StackMap locals:
StackMap stack: org.springframework.beans.PropertyValue
30: iconst_0
StackMap locals: org.springframework.beans.AbstractNestablePropertyAccessor org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder org.springframework.beans.PropertyValue org.springframework.beans.AbstractNestablePropertyAccessor$PropertyHandler java.lang.Object java.lang.Object java.lang.Object
StackMap stack: org.springframework.beans.PropertyValue int
31: invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
putfield org.springframework.beans.PropertyValue.conversionNecessary:Ljava/lang/Boolean;
32: StackMap locals:
StackMap stack:
aload 3
aload 6
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor$PropertyHandler.setValue:(Ljava/lang/Object;)V
end local 6 end local 5 33: goto 51
34: StackMap locals: org.springframework.beans.AbstractNestablePropertyAccessor org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder org.springframework.beans.PropertyValue org.springframework.beans.AbstractNestablePropertyAccessor$PropertyHandler java.lang.Object
StackMap stack: org.springframework.beans.TypeMismatchException
astore 5
start local 5 35: aload 5
athrow
end local 5 36: StackMap locals:
StackMap stack: java.lang.reflect.InvocationTargetException
astore 5
start local 5 37: new java.beans.PropertyChangeEvent
dup
38: aload 0
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getRootInstance:()Ljava/lang/Object;
new java.lang.StringBuilder
dup
aload 0
getfield org.springframework.beans.AbstractNestablePropertyAccessor.nestedPath: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
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.canonicalName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 4
aload 2
invokevirtual org.springframework.beans.PropertyValue.getValue:()Ljava/lang/Object;
39: invokespecial java.beans.PropertyChangeEvent.<init>:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
astore 6
start local 6 40: aload 5
invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
instanceof java.lang.ClassCastException
ifeq 42
41: new org.springframework.beans.TypeMismatchException
dup
aload 6
aload 3
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor$PropertyHandler.getPropertyType:()Ljava/lang/Class;
aload 5
invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
invokespecial org.springframework.beans.TypeMismatchException.<init>:(Ljava/beans/PropertyChangeEvent;Ljava/lang/Class;Ljava/lang/Throwable;)V
athrow
42: StackMap locals: java.lang.reflect.InvocationTargetException java.beans.PropertyChangeEvent
StackMap stack:
aload 5
invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
astore 7
start local 7 43: aload 7
instanceof java.lang.reflect.UndeclaredThrowableException
ifeq 45
44: aload 7
invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
astore 7
45: StackMap locals: java.lang.Throwable
StackMap stack:
new org.springframework.beans.MethodInvocationException
dup
aload 6
aload 7
invokespecial org.springframework.beans.MethodInvocationException.<init>:(Ljava/beans/PropertyChangeEvent;Ljava/lang/Throwable;)V
athrow
end local 7 end local 6 end local 5 46: StackMap locals: org.springframework.beans.AbstractNestablePropertyAccessor org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder org.springframework.beans.PropertyValue org.springframework.beans.AbstractNestablePropertyAccessor$PropertyHandler java.lang.Object
StackMap stack: java.lang.Exception
astore 5
start local 5 47: new java.beans.PropertyChangeEvent
dup
48: aload 0
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getRootInstance:()Ljava/lang/Object;
new java.lang.StringBuilder
dup
aload 0
getfield org.springframework.beans.AbstractNestablePropertyAccessor.nestedPath: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
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.canonicalName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 4
aload 2
invokevirtual org.springframework.beans.PropertyValue.getValue:()Ljava/lang/Object;
49: invokespecial java.beans.PropertyChangeEvent.<init>:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
astore 6
start local 6 50: new org.springframework.beans.MethodInvocationException
dup
aload 6
aload 5
invokespecial org.springframework.beans.MethodInvocationException.<init>:(Ljava/beans/PropertyChangeEvent;Ljava/lang/Throwable;)V
athrow
end local 6 end local 5 51: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 52 0 this Lorg/springframework/beans/AbstractNestablePropertyAccessor;
0 52 1 tokens Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyTokenHolder;
0 52 2 pv Lorg/springframework/beans/PropertyValue;
1 52 3 ph Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyHandler;
10 52 4 oldValue Ljava/lang/Object;
11 33 5 originalValue Ljava/lang/Object;
12 33 6 valueToApply Ljava/lang/Object;
20 26 7 ex Ljava/lang/Exception;
35 36 5 ex Lorg/springframework/beans/TypeMismatchException;
37 46 5 ex Ljava/lang/reflect/InvocationTargetException;
40 46 6 propertyChangeEvent Ljava/beans/PropertyChangeEvent;
43 46 7 cause Ljava/lang/Throwable;
47 51 5 ex Ljava/lang/Exception;
50 51 6 pce Ljava/beans/PropertyChangeEvent;
Exception table:
from to target type
17 18 19 Class java.lang.Exception
10 33 34 Class org.springframework.beans.TypeMismatchException
10 33 36 Class java.lang.reflect.InvocationTargetException
10 33 46 Class java.lang.Exception
MethodParameters:
Name Flags
tokens
pv
public java.lang.Class<?> getPropertyType(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getPropertyHandler:(Ljava/lang/String;)Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyHandler;
astore 2
start local 2 1: aload 2
ifnull 4
2: aload 2
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor$PropertyHandler.getPropertyType:()Ljava/lang/Class;
3: areturn
4: StackMap locals: org.springframework.beans.AbstractNestablePropertyAccessor$PropertyHandler
StackMap stack:
aload 0
aload 1
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getPropertyValue:(Ljava/lang/String;)Ljava/lang/Object;
astore 3
start local 3 5: aload 3
ifnull 8
6: aload 3
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
7: areturn
8: StackMap locals: java.lang.Object
StackMap stack:
aload 0
aload 1
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.guessPropertyTypeFromEditors:(Ljava/lang/String;)Ljava/lang/Class;
astore 4
start local 4 9: aload 4
ifnull 13
10: aload 4
11: areturn
end local 4 end local 3 end local 2 12: StackMap locals: org.springframework.beans.AbstractNestablePropertyAccessor java.lang.String
StackMap stack: org.springframework.beans.InvalidPropertyException
pop
13: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/springframework/beans/AbstractNestablePropertyAccessor;
0 14 1 propertyName Ljava/lang/String;
1 12 2 ph Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyHandler;
5 12 3 value Ljava/lang/Object;
9 12 4 editorType Ljava/lang/Class<*>;
Exception table:
from to target type
0 3 12 Class org.springframework.beans.InvalidPropertyException
4 7 12 Class org.springframework.beans.InvalidPropertyException
8 11 12 Class org.springframework.beans.InvalidPropertyException
Exceptions:
throws org.springframework.beans.BeansException
Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
propertyName
public org.springframework.core.convert.TypeDescriptor getPropertyTypeDescriptor(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/springframework/core/convert/TypeDescriptor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getPropertyAccessorForPropertyPath:(Ljava/lang/String;)Lorg/springframework/beans/AbstractNestablePropertyAccessor;
astore 2
start local 2 1: aload 0
aload 2
aload 1
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getFinalPath:(Lorg/springframework/beans/AbstractNestablePropertyAccessor;Ljava/lang/String;)Ljava/lang/String;
astore 3
start local 3 2: aload 0
aload 3
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getPropertyNameTokens:(Ljava/lang/String;)Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyTokenHolder;
astore 4
start local 4 3: aload 2
aload 4
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.actualName:Ljava/lang/String;
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getLocalPropertyHandler:(Ljava/lang/String;)Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyHandler;
astore 5
start local 5 4: aload 5
ifnull 13
5: aload 4
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.keys:[Ljava/lang/String;
ifnull 9
6: aload 5
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor$PropertyHandler.isReadable:()Z
ifne 7
aload 5
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor$PropertyHandler.isWritable:()Z
ifeq 13
7: StackMap locals: org.springframework.beans.AbstractNestablePropertyAccessor java.lang.String org.springframework.beans.AbstractNestablePropertyAccessor java.lang.String org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder org.springframework.beans.AbstractNestablePropertyAccessor$PropertyHandler
StackMap stack:
aload 5
aload 4
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.keys:[Ljava/lang/String;
arraylength
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor$PropertyHandler.nested:(I)Lorg/springframework/core/convert/TypeDescriptor;
8: areturn
9: StackMap locals:
StackMap stack:
aload 5
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor$PropertyHandler.isReadable:()Z
ifne 10
aload 5
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor$PropertyHandler.isWritable:()Z
ifeq 13
10: StackMap locals:
StackMap stack:
aload 5
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor$PropertyHandler.toTypeDescriptor:()Lorg/springframework/core/convert/TypeDescriptor;
11: areturn
end local 5 end local 4 end local 3 end local 2 12: StackMap locals: org.springframework.beans.AbstractNestablePropertyAccessor java.lang.String
StackMap stack: org.springframework.beans.InvalidPropertyException
pop
13: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/springframework/beans/AbstractNestablePropertyAccessor;
0 14 1 propertyName Ljava/lang/String;
1 12 2 nestedPa Lorg/springframework/beans/AbstractNestablePropertyAccessor;
2 12 3 finalPath Ljava/lang/String;
3 12 4 tokens Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyTokenHolder;
4 12 5 ph Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyHandler;
Exception table:
from to target type
0 8 12 Class org.springframework.beans.InvalidPropertyException
9 11 12 Class org.springframework.beans.InvalidPropertyException
Exceptions:
throws org.springframework.beans.BeansException
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
propertyName
public boolean isReadableProperty(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getPropertyHandler:(Ljava/lang/String;)Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyHandler;
astore 2
start local 2 1: aload 2
ifnull 4
2: aload 2
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor$PropertyHandler.isReadable:()Z
3: ireturn
4: StackMap locals: org.springframework.beans.AbstractNestablePropertyAccessor$PropertyHandler
StackMap stack:
aload 0
aload 1
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getPropertyValue:(Ljava/lang/String;)Ljava/lang/Object;
pop
5: iconst_1
ireturn
end local 2 6: StackMap locals: org.springframework.beans.AbstractNestablePropertyAccessor java.lang.String
StackMap stack: org.springframework.beans.InvalidPropertyException
pop
7: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/springframework/beans/AbstractNestablePropertyAccessor;
0 8 1 propertyName Ljava/lang/String;
1 6 2 ph Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyHandler;
Exception table:
from to target type
0 3 6 Class org.springframework.beans.InvalidPropertyException
4 5 6 Class org.springframework.beans.InvalidPropertyException
MethodParameters:
Name Flags
propertyName
public boolean isWritableProperty(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getPropertyHandler:(Ljava/lang/String;)Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyHandler;
astore 2
start local 2 1: aload 2
ifnull 4
2: aload 2
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor$PropertyHandler.isWritable:()Z
3: ireturn
4: StackMap locals: org.springframework.beans.AbstractNestablePropertyAccessor$PropertyHandler
StackMap stack:
aload 0
aload 1
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getPropertyValue:(Ljava/lang/String;)Ljava/lang/Object;
pop
5: iconst_1
ireturn
end local 2 6: StackMap locals: org.springframework.beans.AbstractNestablePropertyAccessor java.lang.String
StackMap stack: org.springframework.beans.InvalidPropertyException
pop
7: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/springframework/beans/AbstractNestablePropertyAccessor;
0 8 1 propertyName Ljava/lang/String;
1 6 2 ph Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyHandler;
Exception table:
from to target type
0 3 6 Class org.springframework.beans.InvalidPropertyException
4 5 6 Class org.springframework.beans.InvalidPropertyException
MethodParameters:
Name Flags
propertyName
private convertIfNecessary(java.lang.String, , , java.lang.Class<?>, org.springframework.core.convert.TypeDescriptor);
descriptor: (Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Class;Lorg/springframework/core/convert/TypeDescriptor;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
getfield org.springframework.beans.AbstractNestablePropertyAccessor.typeConverterDelegate:Lorg/springframework/beans/TypeConverterDelegate;
ifnull 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ldc "No TypeConverterDelegate"
invokestatic org.springframework.util.Assert.state:(ZLjava/lang/String;)V
3: aload 0
getfield org.springframework.beans.AbstractNestablePropertyAccessor.typeConverterDelegate:Lorg/springframework/beans/TypeConverterDelegate;
aload 1
aload 2
aload 3
aload 4
aload 5
invokevirtual org.springframework.beans.TypeConverterDelegate.convertIfNecessary:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Class;Lorg/springframework/core/convert/TypeDescriptor;)Ljava/lang/Object;
4: areturn
5: StackMap locals:
StackMap stack: java.lang.RuntimeException
astore 6
start local 6 6: new java.beans.PropertyChangeEvent
dup
aload 0
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getRootInstance:()Ljava/lang/Object;
new java.lang.StringBuilder
dup
aload 0
getfield org.springframework.beans.AbstractNestablePropertyAccessor.nestedPath: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;
aload 2
aload 3
invokespecial java.beans.PropertyChangeEvent.<init>:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
7: astore 7
start local 7 8: new org.springframework.beans.ConversionNotSupportedException
dup
aload 7
aload 4
aload 6
invokespecial org.springframework.beans.ConversionNotSupportedException.<init>:(Ljava/beans/PropertyChangeEvent;Ljava/lang/Class;Ljava/lang/Throwable;)V
athrow
end local 7 end local 6 9: StackMap locals:
StackMap stack: java.lang.RuntimeException
astore 6
start local 6 10: new java.beans.PropertyChangeEvent
dup
aload 0
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getRootInstance:()Ljava/lang/Object;
new java.lang.StringBuilder
dup
aload 0
getfield org.springframework.beans.AbstractNestablePropertyAccessor.nestedPath: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;
aload 2
aload 3
invokespecial java.beans.PropertyChangeEvent.<init>:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
11: astore 7
start local 7 12: new org.springframework.beans.TypeMismatchException
dup
aload 7
aload 4
aload 6
invokespecial org.springframework.beans.TypeMismatchException.<init>:(Ljava/beans/PropertyChangeEvent;Ljava/lang/Class;Ljava/lang/Throwable;)V
athrow
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/springframework/beans/AbstractNestablePropertyAccessor;
0 13 1 propertyName Ljava/lang/String;
0 13 2 oldValue Ljava/lang/Object;
0 13 3 newValue Ljava/lang/Object;
0 13 4 requiredType Ljava/lang/Class<*>;
0 13 5 td Lorg/springframework/core/convert/TypeDescriptor;
6 9 6 ex Ljava/lang/RuntimeException;
8 9 7 pce Ljava/beans/PropertyChangeEvent;
10 13 6 ex Ljava/lang/RuntimeException;
12 13 7 pce Ljava/beans/PropertyChangeEvent;
Exception table:
from to target type
3 4 5 Class org.springframework.core.convert.ConverterNotFoundException
3 4 5 Class java.lang.IllegalStateException
3 4 9 Class org.springframework.core.convert.ConversionException
3 4 9 Class java.lang.IllegalArgumentException
Exceptions:
throws org.springframework.beans.TypeMismatchException
Signature: (Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Class<*>;Lorg/springframework/core/convert/TypeDescriptor;)Ljava/lang/Object;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
1:
org.springframework.lang.Nullable()
2:
org.springframework.lang.Nullable()
3:
org.springframework.lang.Nullable()
4:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
propertyName
oldValue
newValue
requiredType
td
protected java.lang.Object convertForProperty(java.lang.String, java.lang.Object, java.lang.Object, org.springframework.core.convert.TypeDescriptor);
descriptor: (Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Lorg/springframework/core/convert/TypeDescriptor;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
aload 3
aload 4
invokevirtual org.springframework.core.convert.TypeDescriptor.getType:()Ljava/lang/Class;
aload 4
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.convertIfNecessary:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Class;Lorg/springframework/core/convert/TypeDescriptor;)Ljava/lang/Object;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/beans/AbstractNestablePropertyAccessor;
0 1 1 propertyName Ljava/lang/String;
0 1 2 oldValue Ljava/lang/Object;
0 1 3 newValue Ljava/lang/Object;
0 1 4 td Lorg/springframework/core/convert/TypeDescriptor;
Exceptions:
throws org.springframework.beans.TypeMismatchException
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
2:
org.springframework.lang.Nullable()
3:
MethodParameters:
Name Flags
propertyName
oldValue
newValue
td
public java.lang.Object getPropertyValue(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getPropertyAccessorForPropertyPath:(Ljava/lang/String;)Lorg/springframework/beans/AbstractNestablePropertyAccessor;
astore 2
start local 2 1: aload 0
aload 0
aload 2
aload 1
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getFinalPath:(Lorg/springframework/beans/AbstractNestablePropertyAccessor;Ljava/lang/String;)Ljava/lang/String;
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getPropertyNameTokens:(Ljava/lang/String;)Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyTokenHolder;
astore 3
start local 3 2: aload 2
aload 3
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getPropertyValue:(Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyTokenHolder;)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/beans/AbstractNestablePropertyAccessor;
0 3 1 propertyName Ljava/lang/String;
1 3 2 nestedPa Lorg/springframework/beans/AbstractNestablePropertyAccessor;
2 3 3 tokens Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyTokenHolder;
Exceptions:
throws org.springframework.beans.BeansException
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
propertyName
protected java.lang.Object getPropertyValue(org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder);
descriptor: (Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyTokenHolder;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=14, args_size=2
start local 0 start local 1 0: aload 1
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.canonicalName:Ljava/lang/String;
astore 2
start local 2 1: aload 1
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.actualName:Ljava/lang/String;
astore 3
start local 3 2: aload 0
aload 3
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getLocalPropertyHandler:(Ljava/lang/String;)Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyHandler;
astore 4
start local 4 3: aload 4
ifnull 4
aload 4
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor$PropertyHandler.isReadable:()Z
ifne 5
4: StackMap locals: java.lang.String java.lang.String org.springframework.beans.AbstractNestablePropertyAccessor$PropertyHandler
StackMap stack:
new org.springframework.beans.NotReadablePropertyException
dup
aload 0
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getRootClass:()Ljava/lang/Class;
new java.lang.StringBuilder
dup
aload 0
getfield org.springframework.beans.AbstractNestablePropertyAccessor.nestedPath:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.springframework.beans.NotReadablePropertyException.<init>:(Ljava/lang/Class;Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 4
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor$PropertyHandler.getValue:()Ljava/lang/Object;
astore 5
start local 5 6: aload 1
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.keys:[Ljava/lang/String;
ifnull 71
7: aload 5
ifnonnull 16
8: aload 0
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.isAutoGrowNestedPaths:()Z
ifeq 11
9: aload 0
new org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder
dup
aload 1
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.actualName:Ljava/lang/String;
invokespecial org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.<init>:(Ljava/lang/String;)V
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.setDefaultValue:(Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyTokenHolder;)Ljava/lang/Object;
astore 5
10: goto 16
11: StackMap locals: java.lang.Object
StackMap stack:
new org.springframework.beans.NullValueInNestedPathException
dup
aload 0
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getRootClass:()Ljava/lang/Class;
new java.lang.StringBuilder
dup
aload 0
getfield org.springframework.beans.AbstractNestablePropertyAccessor.nestedPath:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
12: new java.lang.StringBuilder
dup
ldc "Cannot access indexed value of property referenced in indexed property path '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
13: aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "': returned null"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
14: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
15: invokespecial org.springframework.beans.NullValueInNestedPathException.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;)V
athrow
16: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 1
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.actualName:Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 6
start local 6 17: iconst_0
istore 7
start local 7 18: goto 70
19: StackMap locals: java.lang.StringBuilder int
StackMap stack:
aload 1
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.keys:[Ljava/lang/String;
iload 7
aaload
astore 8
start local 8 20: aload 5
ifnonnull 26
21: new org.springframework.beans.NullValueInNestedPathException
dup
aload 0
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getRootClass:()Ljava/lang/Class;
new java.lang.StringBuilder
dup
aload 0
getfield org.springframework.beans.AbstractNestablePropertyAccessor.nestedPath:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
22: new java.lang.StringBuilder
dup
ldc "Cannot access indexed value of property referenced in indexed property path '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
23: aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "': returned null"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
24: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
25: invokespecial org.springframework.beans.NullValueInNestedPathException.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;)V
athrow
26: StackMap locals: java.lang.String
StackMap stack:
aload 5
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isArray:()Z
ifeq 31
27: aload 8
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 9
start local 9 28: aload 0
aload 5
iload 9
aload 6
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.growArrayIfNecessary:(Ljava/lang/Object;ILjava/lang/String;)Ljava/lang/Object;
astore 5
29: aload 5
iload 9
invokestatic java.lang.reflect.Array.get:(Ljava/lang/Object;I)Ljava/lang/Object;
astore 5
end local 9 30: goto 68
31: StackMap locals:
StackMap stack:
aload 5
instanceof java.util.List
ifeq 37
32: aload 8
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 9
start local 9 33: aload 5
checkcast java.util.List
astore 10
start local 10 34: aload 0
aload 10
iload 9
aload 6
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 4
iload 7
iconst_1
iadd
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.growCollectionIfNecessary:(Ljava/util/Collection;ILjava/lang/String;Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyHandler;I)V
35: aload 10
iload 9
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
astore 5
end local 10 end local 9 36: goto 68
37: StackMap locals:
StackMap stack:
aload 5
instanceof java.util.Set
ifeq 56
38: aload 5
checkcast java.util.Set
astore 9
start local 9 39: aload 8
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 10
start local 10 40: iload 10
iflt 41
iload 10
aload 9
invokeinterface java.util.Set.size:()I
if_icmplt 46
41: StackMap locals: java.util.Set int
StackMap stack:
new org.springframework.beans.InvalidPropertyException
dup
aload 0
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getRootClass:()Ljava/lang/Class;
new java.lang.StringBuilder
dup
aload 0
getfield org.springframework.beans.AbstractNestablePropertyAccessor.nestedPath:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
42: new java.lang.StringBuilder
dup
ldc "Cannot get element with index "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 10
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " from Set of size "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
43: aload 9
invokeinterface java.util.Set.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", accessed using property path '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
44: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
45: invokespecial org.springframework.beans.InvalidPropertyException.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;)V
athrow
46: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 11
start local 11 47: iconst_0
istore 12
start local 12 48: goto 54
49: StackMap locals: java.util.Iterator int
StackMap stack:
aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 13
start local 13 50: iload 12
iload 10
if_icmpne 53
51: aload 13
astore 5
52: goto 68
end local 13 53: StackMap locals:
StackMap stack:
iinc 12 1
StackMap locals:
StackMap stack:
54: aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 49
end local 12 end local 11 end local 10 end local 9 55: goto 68
56: StackMap locals: org.springframework.beans.AbstractNestablePropertyAccessor org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder java.lang.String java.lang.String org.springframework.beans.AbstractNestablePropertyAccessor$PropertyHandler java.lang.Object java.lang.StringBuilder int java.lang.String
StackMap stack:
aload 5
instanceof java.util.Map
ifeq 63
57: aload 5
checkcast java.util.Map
astore 9
start local 9 58: aload 4
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor$PropertyHandler.getResolvableType:()Lorg/springframework/core/ResolvableType;
iload 7
iconst_1
iadd
invokevirtual org.springframework.core.ResolvableType.getNested:(I)Lorg/springframework/core/ResolvableType;
invokevirtual org.springframework.core.ResolvableType.asMap:()Lorg/springframework/core/ResolvableType;
iconst_1
newarray 10
dup
iconst_0
iconst_0
iastore
invokevirtual org.springframework.core.ResolvableType.resolveGeneric:([I)Ljava/lang/Class;
astore 10
start local 10 59: aload 10
invokestatic org.springframework.core.convert.TypeDescriptor.valueOf:(Ljava/lang/Class;)Lorg/springframework/core/convert/TypeDescriptor;
astore 11
start local 11 60: aload 0
aconst_null
aconst_null
aload 8
aload 10
aload 11
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.convertIfNecessary:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Class;Lorg/springframework/core/convert/TypeDescriptor;)Ljava/lang/Object;
astore 12
start local 12 61: aload 9
aload 12
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 5
end local 12 end local 11 end local 10 end local 9 62: goto 68
63: StackMap locals:
StackMap stack:
new org.springframework.beans.InvalidPropertyException
dup
aload 0
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getRootClass:()Ljava/lang/Class;
new java.lang.StringBuilder
dup
aload 0
getfield org.springframework.beans.AbstractNestablePropertyAccessor.nestedPath:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
64: new java.lang.StringBuilder
dup
ldc "Property referenced in indexed property path '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
65: ldc "' is neither an array nor a List nor a Set nor a Map; returned value was ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
66: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
67: invokespecial org.springframework.beans.InvalidPropertyException.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;)V
athrow
68: StackMap locals:
StackMap stack:
aload 6
ldc "["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 8 69: iinc 7 1
StackMap locals:
StackMap stack:
70: iload 7
aload 1
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.keys:[Ljava/lang/String;
arraylength
if_icmplt 19
end local 7 end local 6 71: StackMap locals:
StackMap stack:
aload 5
72: areturn
end local 5 73: StackMap locals: org.springframework.beans.AbstractNestablePropertyAccessor org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder java.lang.String java.lang.String org.springframework.beans.AbstractNestablePropertyAccessor$PropertyHandler
StackMap stack: java.lang.IndexOutOfBoundsException
astore 5
start local 5 74: new org.springframework.beans.InvalidPropertyException
dup
aload 0
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getRootClass:()Ljava/lang/Class;
new java.lang.StringBuilder
dup
aload 0
getfield org.springframework.beans.AbstractNestablePropertyAccessor.nestedPath:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
75: new java.lang.StringBuilder
dup
ldc "Index of out of bounds in property path '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
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 5
76: invokespecial org.springframework.beans.InvalidPropertyException.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 5 77: StackMap locals:
StackMap stack: java.lang.RuntimeException
astore 5
start local 5 78: new org.springframework.beans.InvalidPropertyException
dup
aload 0
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getRootClass:()Ljava/lang/Class;
new java.lang.StringBuilder
dup
aload 0
getfield org.springframework.beans.AbstractNestablePropertyAccessor.nestedPath:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
79: new java.lang.StringBuilder
dup
ldc "Invalid index in property path '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
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 5
80: invokespecial org.springframework.beans.InvalidPropertyException.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 5 81: StackMap locals:
StackMap stack: java.lang.reflect.InvocationTargetException
astore 5
start local 5 82: new org.springframework.beans.InvalidPropertyException
dup
aload 0
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getRootClass:()Ljava/lang/Class;
new java.lang.StringBuilder
dup
aload 0
getfield org.springframework.beans.AbstractNestablePropertyAccessor.nestedPath:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
83: new java.lang.StringBuilder
dup
ldc "Getter for property '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "' threw exception"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 5
84: invokespecial org.springframework.beans.InvalidPropertyException.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 5 85: StackMap locals:
StackMap stack: java.lang.Exception
astore 5
start local 5 86: new org.springframework.beans.InvalidPropertyException
dup
aload 0
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getRootClass:()Ljava/lang/Class;
new java.lang.StringBuilder
dup
aload 0
getfield org.springframework.beans.AbstractNestablePropertyAccessor.nestedPath:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
87: new java.lang.StringBuilder
dup
ldc "Illegal attempt to get property '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "' threw exception"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 5
88: invokespecial org.springframework.beans.InvalidPropertyException.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 89 0 this Lorg/springframework/beans/AbstractNestablePropertyAccessor;
0 89 1 tokens Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyTokenHolder;
1 89 2 propertyName Ljava/lang/String;
2 89 3 actualName Ljava/lang/String;
3 89 4 ph Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyHandler;
6 73 5 value Ljava/lang/Object;
17 71 6 indexedPropertyName Ljava/lang/StringBuilder;
18 71 7 i I
20 69 8 key Ljava/lang/String;
28 30 9 index I
33 36 9 index I
34 36 10 list Ljava/util/List<Ljava/lang/Object;>;
39 55 9 set Ljava/util/Set<Ljava/lang/Object;>;
40 55 10 index I
47 55 11 it Ljava/util/Iterator<Ljava/lang/Object;>;
48 55 12 j I
50 53 13 elem Ljava/lang/Object;
58 62 9 map Ljava/util/Map<Ljava/lang/Object;Ljava/lang/Object;>;
59 62 10 mapKeyType Ljava/lang/Class<*>;
60 62 11 typeDescriptor Lorg/springframework/core/convert/TypeDescriptor;
61 62 12 convertedMapKey Ljava/lang/Object;
74 77 5 ex Ljava/lang/IndexOutOfBoundsException;
78 81 5 ex Ljava/lang/RuntimeException;
82 85 5 ex Ljava/lang/reflect/InvocationTargetException;
86 89 5 ex Ljava/lang/Exception;
Exception table:
from to target type
5 72 73 Class java.lang.IndexOutOfBoundsException
5 72 77 Class java.lang.NumberFormatException
5 72 77 Class org.springframework.beans.TypeMismatchException
5 72 81 Class java.lang.reflect.InvocationTargetException
5 72 85 Class java.lang.Exception
Exceptions:
throws org.springframework.beans.BeansException
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
tokens
protected org.springframework.beans.AbstractNestablePropertyAccessor$PropertyHandler getPropertyHandler(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyHandler;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ldc "Property name must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 0
aload 1
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getPropertyAccessorForPropertyPath:(Ljava/lang/String;)Lorg/springframework/beans/AbstractNestablePropertyAccessor;
astore 2
start local 2 2: aload 2
aload 0
aload 2
aload 1
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getFinalPath:(Lorg/springframework/beans/AbstractNestablePropertyAccessor;Ljava/lang/String;)Ljava/lang/String;
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getLocalPropertyHandler:(Ljava/lang/String;)Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyHandler;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/beans/AbstractNestablePropertyAccessor;
0 3 1 propertyName Ljava/lang/String;
2 3 2 nestedPa Lorg/springframework/beans/AbstractNestablePropertyAccessor;
Exceptions:
throws org.springframework.beans.BeansException
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
propertyName
protected abstract org.springframework.beans.AbstractNestablePropertyAccessor$PropertyHandler getLocalPropertyHandler(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyHandler;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
propertyName
protected abstract org.springframework.beans.AbstractNestablePropertyAccessor newNestedPropertyAccessor(java.lang.Object, java.lang.String);
descriptor: (Ljava/lang/Object;Ljava/lang/String;)Lorg/springframework/beans/AbstractNestablePropertyAccessor;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
object
nestedPath
protected abstract org.springframework.beans.NotWritablePropertyException createNotWritablePropertyException(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/springframework/beans/NotWritablePropertyException;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
propertyName
private java.lang.Object growArrayIfNecessary(java.lang.Object, int, java.lang.String);
descriptor: (Ljava/lang/Object;ILjava/lang/String;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.isAutoGrowNestedPaths:()Z
ifne 2
1: aload 1
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
istore 4
start local 4 3: iload 2
iload 4
if_icmplt 18
iload 2
aload 0
getfield org.springframework.beans.AbstractNestablePropertyAccessor.autoGrowCollectionLimit:I
if_icmpge 18
4: aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
astore 5
start local 5 5: aload 5
iload 2
iconst_1
iadd
invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
astore 6
start local 6 6: aload 1
iconst_0
aload 6
iconst_0
iload 4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
7: iload 4
istore 7
start local 7 8: goto 11
9: StackMap locals: org.springframework.beans.AbstractNestablePropertyAccessor java.lang.Object int java.lang.String int java.lang.Class java.lang.Object int
StackMap stack:
aload 6
iload 7
aload 0
aload 5
aconst_null
aload 3
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.newValue:(Ljava/lang/Class;Lorg/springframework/core/convert/TypeDescriptor;Ljava/lang/String;)Ljava/lang/Object;
invokestatic java.lang.reflect.Array.set:(Ljava/lang/Object;ILjava/lang/Object;)V
10: iinc 7 1
StackMap locals:
StackMap stack:
11: iload 7
aload 6
invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
if_icmplt 9
end local 7 12: aload 0
aload 3
aload 6
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.setPropertyValue:(Ljava/lang/String;Ljava/lang/Object;)V
13: aload 0
aload 3
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getPropertyValue:(Ljava/lang/String;)Ljava/lang/Object;
astore 7
start local 7 14: aload 7
ifnull 15
iconst_1
goto 16
StackMap locals: org.springframework.beans.AbstractNestablePropertyAccessor java.lang.Object int java.lang.String int java.lang.Class java.lang.Object java.lang.Object
StackMap stack:
15: iconst_0
StackMap locals:
StackMap stack: int
16: ldc "Default value must not be null"
invokestatic org.springframework.util.Assert.state:(ZLjava/lang/String;)V
17: aload 7
areturn
end local 7 end local 6 end local 5 18: StackMap locals:
StackMap stack:
aload 1
areturn
end local 4 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/AbstractNestablePropertyAccessor;
0 19 1 array Ljava/lang/Object;
0 19 2 index I
0 19 3 name Ljava/lang/String;
3 19 4 length I
5 18 5 componentType Ljava/lang/Class<*>;
6 18 6 newArray Ljava/lang/Object;
8 12 7 i I
14 18 7 defaultValue Ljava/lang/Object;
MethodParameters:
Name Flags
array
index
name
private void growCollectionIfNecessary(java.util.Collection<java.lang.Object>, int, java.lang.String, org.springframework.beans.AbstractNestablePropertyAccessor$PropertyHandler, );
descriptor: (Ljava/util/Collection;ILjava/lang/String;Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyHandler;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.isAutoGrowNestedPaths:()Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.Collection.size:()I
istore 6
start local 6 3: iload 2
iload 6
if_icmplt 11
iload 2
aload 0
getfield org.springframework.beans.AbstractNestablePropertyAccessor.autoGrowCollectionLimit:I
if_icmpge 11
4: aload 4
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor$PropertyHandler.getResolvableType:()Lorg/springframework/core/ResolvableType;
iload 5
invokevirtual org.springframework.core.ResolvableType.getNested:(I)Lorg/springframework/core/ResolvableType;
invokevirtual org.springframework.core.ResolvableType.asCollection:()Lorg/springframework/core/ResolvableType;
iconst_0
newarray 10
invokevirtual org.springframework.core.ResolvableType.resolveGeneric:([I)Ljava/lang/Class;
astore 7
start local 7 5: aload 7
ifnull 11
6: aload 1
invokeinterface java.util.Collection.size:()I
istore 8
start local 8 7: goto 10
8: StackMap locals: int java.lang.Class int
StackMap stack:
aload 1
aload 0
aload 7
aconst_null
aload 3
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.newValue:(Ljava/lang/Class;Lorg/springframework/core/convert/TypeDescriptor;Ljava/lang/String;)Ljava/lang/Object;
invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
pop
9: iinc 8 1
StackMap locals:
StackMap stack:
10: iload 8
iload 2
iconst_1
iadd
if_icmplt 8
end local 8 end local 7 11: StackMap locals:
StackMap stack:
return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/springframework/beans/AbstractNestablePropertyAccessor;
0 12 1 collection Ljava/util/Collection<Ljava/lang/Object;>;
0 12 2 index I
0 12 3 name Ljava/lang/String;
0 12 4 ph Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyHandler;
0 12 5 nestingLevel I
3 12 6 size I
5 11 7 elementType Ljava/lang/Class<*>;
7 11 8 i I
Signature: (Ljava/util/Collection<Ljava/lang/Object;>;ILjava/lang/String;Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyHandler;I)V
MethodParameters:
Name Flags
collection
index
name
ph
nestingLevel
protected java.lang.String getFinalPath(org.springframework.beans.AbstractNestablePropertyAccessor, java.lang.String);
descriptor: (Lorg/springframework/beans/AbstractNestablePropertyAccessor;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
if_acmpne 2
1: aload 2
areturn
2: StackMap locals:
StackMap stack:
aload 2
aload 2
invokestatic org.springframework.beans.PropertyAccessorUtils.getLastNestedPropertySeparatorIndex:(Ljava/lang/String;)I
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/beans/AbstractNestablePropertyAccessor;
0 3 1 pa Lorg/springframework/beans/AbstractNestablePropertyAccessor;
0 3 2 nestedPath Ljava/lang/String;
MethodParameters:
Name Flags
pa
nestedPath
protected org.springframework.beans.AbstractNestablePropertyAccessor getPropertyAccessorForPropertyPath(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/springframework/beans/AbstractNestablePropertyAccessor;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokestatic org.springframework.beans.PropertyAccessorUtils.getFirstNestedPropertySeparatorIndex:(Ljava/lang/String;)I
istore 2
start local 2 1: iload 2
iconst_m1
if_icmple 6
2: aload 1
iconst_0
iload 2
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 3
start local 3 3: aload 1
iload 2
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 4
start local 4 4: aload 0
aload 3
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getNestedPropertyAccessor:(Ljava/lang/String;)Lorg/springframework/beans/AbstractNestablePropertyAccessor;
astore 5
start local 5 5: aload 5
aload 4
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getPropertyAccessorForPropertyPath:(Ljava/lang/String;)Lorg/springframework/beans/AbstractNestablePropertyAccessor;
areturn
end local 5 end local 4 end local 3 6: StackMap locals: int
StackMap stack:
aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/springframework/beans/AbstractNestablePropertyAccessor;
0 7 1 propertyPath Ljava/lang/String;
1 7 2 pos I
3 6 3 nestedProperty Ljava/lang/String;
4 6 4 nestedPath Ljava/lang/String;
5 6 5 nestedPa Lorg/springframework/beans/AbstractNestablePropertyAccessor;
MethodParameters:
Name Flags
propertyPath
private org.springframework.beans.AbstractNestablePropertyAccessor getNestedPropertyAccessor(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/springframework/beans/AbstractNestablePropertyAccessor;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield org.springframework.beans.AbstractNestablePropertyAccessor.nestedPropertyAccessors:Ljava/util/Map;
ifnonnull 2
1: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield org.springframework.beans.AbstractNestablePropertyAccessor.nestedPropertyAccessors:Ljava/util/Map;
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getPropertyNameTokens:(Ljava/lang/String;)Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyTokenHolder;
astore 2
start local 2 3: aload 2
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.canonicalName:Ljava/lang/String;
astore 3
start local 3 4: aload 0
aload 2
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getPropertyValue:(Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyTokenHolder;)Ljava/lang/Object;
astore 4
start local 4 5: aload 4
ifnull 6
aload 4
instanceof java.util.Optional
ifeq 10
aload 4
checkcast java.util.Optional
invokevirtual java.util.Optional.isPresent:()Z
ifne 10
6: StackMap locals: org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder java.lang.String java.lang.Object
StackMap stack:
aload 0
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.isAutoGrowNestedPaths:()Z
ifeq 9
7: aload 0
aload 2
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.setDefaultValue:(Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyTokenHolder;)Ljava/lang/Object;
astore 4
8: goto 10
9: StackMap locals:
StackMap stack:
new org.springframework.beans.NullValueInNestedPathException
dup
aload 0
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getRootClass:()Ljava/lang/Class;
new java.lang.StringBuilder
dup
aload 0
getfield org.springframework.beans.AbstractNestablePropertyAccessor.nestedPath:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.springframework.beans.NullValueInNestedPathException.<init>:(Ljava/lang/Class;Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.beans.AbstractNestablePropertyAccessor.nestedPropertyAccessors:Ljava/util/Map;
aload 3
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.springframework.beans.AbstractNestablePropertyAccessor
astore 5
start local 5 11: aload 5
ifnull 12
aload 5
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getWrappedInstance:()Ljava/lang/Object;
aload 4
invokestatic org.springframework.util.ObjectUtils.unwrapOptional:(Ljava/lang/Object;)Ljava/lang/Object;
if_acmpeq 19
12: StackMap locals: org.springframework.beans.AbstractNestablePropertyAccessor
StackMap stack:
getstatic org.springframework.beans.AbstractNestablePropertyAccessor.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
ifeq 14
13: getstatic org.springframework.beans.AbstractNestablePropertyAccessor.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Creating new nested "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " for property '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
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
14: StackMap locals:
StackMap stack:
aload 0
aload 4
new java.lang.StringBuilder
dup
aload 0
getfield org.springframework.beans.AbstractNestablePropertyAccessor.nestedPath:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
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;
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.newNestedPropertyAccessor:(Ljava/lang/Object;Ljava/lang/String;)Lorg/springframework/beans/AbstractNestablePropertyAccessor;
astore 5
15: aload 0
aload 5
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.copyDefaultEditorsTo:(Lorg/springframework/beans/PropertyEditorRegistrySupport;)V
16: aload 0
aload 5
aload 3
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.copyCustomEditorsTo:(Lorg/springframework/beans/PropertyEditorRegistry;Ljava/lang/String;)V
17: aload 0
getfield org.springframework.beans.AbstractNestablePropertyAccessor.nestedPropertyAccessors:Ljava/util/Map;
aload 3
aload 5
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
18: goto 21
19: StackMap locals:
StackMap stack:
getstatic org.springframework.beans.AbstractNestablePropertyAccessor.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
ifeq 21
20: getstatic org.springframework.beans.AbstractNestablePropertyAccessor.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Using cached nested property accessor for property '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
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
21: StackMap locals:
StackMap stack:
aload 5
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lorg/springframework/beans/AbstractNestablePropertyAccessor;
0 22 1 nestedProperty Ljava/lang/String;
3 22 2 tokens Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyTokenHolder;
4 22 3 canonicalName Ljava/lang/String;
5 22 4 value Ljava/lang/Object;
11 22 5 nestedPa Lorg/springframework/beans/AbstractNestablePropertyAccessor;
MethodParameters:
Name Flags
nestedProperty
private java.lang.Object setDefaultValue(org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder);
descriptor: (Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyTokenHolder;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.createDefaultPropertyValue:(Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyTokenHolder;)Lorg/springframework/beans/PropertyValue;
astore 2
start local 2 1: aload 0
aload 1
aload 2
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.setPropertyValue:(Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyTokenHolder;Lorg/springframework/beans/PropertyValue;)V
2: aload 0
aload 1
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getPropertyValue:(Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyTokenHolder;)Ljava/lang/Object;
astore 3
start local 3 3: aload 3
ifnull 4
iconst_1
goto 5
StackMap locals: org.springframework.beans.PropertyValue java.lang.Object
StackMap stack:
4: iconst_0
StackMap locals:
StackMap stack: int
5: ldc "Default value must not be null"
invokestatic org.springframework.util.Assert.state:(ZLjava/lang/String;)V
6: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/springframework/beans/AbstractNestablePropertyAccessor;
0 7 1 tokens Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyTokenHolder;
1 7 2 pv Lorg/springframework/beans/PropertyValue;
3 7 3 defaultValue Ljava/lang/Object;
MethodParameters:
Name Flags
tokens
private org.springframework.beans.PropertyValue createDefaultPropertyValue(org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder);
descriptor: (Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyTokenHolder;)Lorg/springframework/beans/PropertyValue;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.canonicalName:Ljava/lang/String;
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getPropertyTypeDescriptor:(Ljava/lang/String;)Lorg/springframework/core/convert/TypeDescriptor;
astore 2
start local 2 1: aload 2
ifnonnull 5
2: new org.springframework.beans.NullValueInNestedPathException
dup
aload 0
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getRootClass:()Ljava/lang/Class;
new java.lang.StringBuilder
dup
aload 0
getfield org.springframework.beans.AbstractNestablePropertyAccessor.nestedPath: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
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.canonicalName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: ldc "Could not determine property type for auto-growing a default value"
4: invokespecial org.springframework.beans.NullValueInNestedPathException.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;)V
athrow
5: StackMap locals: org.springframework.core.convert.TypeDescriptor
StackMap stack:
aload 0
aload 2
invokevirtual org.springframework.core.convert.TypeDescriptor.getType:()Ljava/lang/Class;
aload 2
aload 1
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.canonicalName:Ljava/lang/String;
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.newValue:(Ljava/lang/Class;Lorg/springframework/core/convert/TypeDescriptor;Ljava/lang/String;)Ljava/lang/Object;
astore 3
start local 3 6: new org.springframework.beans.PropertyValue
dup
aload 1
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.canonicalName:Ljava/lang/String;
aload 3
invokespecial org.springframework.beans.PropertyValue.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/springframework/beans/AbstractNestablePropertyAccessor;
0 7 1 tokens Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyTokenHolder;
1 7 2 desc Lorg/springframework/core/convert/TypeDescriptor;
6 7 3 defaultValue Ljava/lang/Object;
MethodParameters:
Name Flags
tokens
private newValue(java.lang.Class<?>, org.springframework.core.convert.TypeDescriptor, java.lang.String);
descriptor: (Ljava/lang/Class;Lorg/springframework/core/convert/TypeDescriptor;Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual java.lang.Class.isArray:()Z
ifeq 9
1: aload 1
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
astore 4
start local 4 2: aload 4
invokevirtual java.lang.Class.isArray:()Z
ifeq 7
3: aload 4
iconst_1
invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
astore 5
start local 5 4: aload 5
iconst_0
aload 4
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
iconst_0
invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
invokestatic java.lang.reflect.Array.set:(Ljava/lang/Object;ILjava/lang/Object;)V
5: aload 5
6: areturn
end local 5 7: StackMap locals: java.lang.Class
StackMap stack:
aload 4
iconst_0
invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
8: areturn
end local 4 9: StackMap locals:
StackMap stack:
ldc Ljava/util/Collection;
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 17
10: aload 2
ifnull 11
aload 2
invokevirtual org.springframework.core.convert.TypeDescriptor.getElementTypeDescriptor:()Lorg/springframework/core/convert/TypeDescriptor;
goto 12
StackMap locals:
StackMap stack:
11: aconst_null
StackMap locals:
StackMap stack: org.springframework.core.convert.TypeDescriptor
12: astore 4
start local 4 13: aload 1
aload 4
ifnull 14
aload 4
invokevirtual org.springframework.core.convert.TypeDescriptor.getType:()Ljava/lang/Class;
goto 15
StackMap locals: org.springframework.beans.AbstractNestablePropertyAccessor java.lang.Class org.springframework.core.convert.TypeDescriptor java.lang.String org.springframework.core.convert.TypeDescriptor
StackMap stack: java.lang.Class
14: aconst_null
StackMap locals: org.springframework.beans.AbstractNestablePropertyAccessor java.lang.Class org.springframework.core.convert.TypeDescriptor java.lang.String org.springframework.core.convert.TypeDescriptor
StackMap stack: java.lang.Class java.lang.Class
15: bipush 16
invokestatic org.springframework.core.CollectionFactory.createCollection:(Ljava/lang/Class;Ljava/lang/Class;I)Ljava/util/Collection;
16: areturn
end local 4 17: StackMap locals:
StackMap stack:
ldc Ljava/util/Map;
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 25
18: aload 2
ifnull 19
aload 2
invokevirtual org.springframework.core.convert.TypeDescriptor.getMapKeyTypeDescriptor:()Lorg/springframework/core/convert/TypeDescriptor;
goto 20
StackMap locals:
StackMap stack:
19: aconst_null
StackMap locals:
StackMap stack: org.springframework.core.convert.TypeDescriptor
20: astore 4
start local 4 21: aload 1
aload 4
ifnull 22
aload 4
invokevirtual org.springframework.core.convert.TypeDescriptor.getType:()Ljava/lang/Class;
goto 23
StackMap locals: org.springframework.beans.AbstractNestablePropertyAccessor java.lang.Class org.springframework.core.convert.TypeDescriptor java.lang.String org.springframework.core.convert.TypeDescriptor
StackMap stack: java.lang.Class
22: aconst_null
StackMap locals: org.springframework.beans.AbstractNestablePropertyAccessor java.lang.Class org.springframework.core.convert.TypeDescriptor java.lang.String org.springframework.core.convert.TypeDescriptor
StackMap stack: java.lang.Class java.lang.Class
23: bipush 16
invokestatic org.springframework.core.CollectionFactory.createMap:(Ljava/lang/Class;Ljava/lang/Class;I)Ljava/util/Map;
24: areturn
end local 4 25: StackMap locals:
StackMap stack:
aload 1
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getDeclaredConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
astore 4
start local 4 26: aload 4
invokevirtual java.lang.reflect.Constructor.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isPrivate:(I)Z
ifeq 28
27: new java.lang.IllegalAccessException
dup
new java.lang.StringBuilder
dup
ldc "Auto-growing not allowed with private constructor: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalAccessException.<init>:(Ljava/lang/String;)V
athrow
28: StackMap locals: java.lang.reflect.Constructor
StackMap stack:
aload 4
iconst_0
anewarray java.lang.Object
invokestatic org.springframework.beans.BeanUtils.instantiateClass:(Ljava/lang/reflect/Constructor;[Ljava/lang/Object;)Ljava/lang/Object;
29: areturn
end local 4 30: StackMap locals: org.springframework.beans.AbstractNestablePropertyAccessor java.lang.Class org.springframework.core.convert.TypeDescriptor java.lang.String
StackMap stack: java.lang.Throwable
astore 4
start local 4 31: new org.springframework.beans.NullValueInNestedPathException
dup
aload 0
invokevirtual org.springframework.beans.AbstractNestablePropertyAccessor.getRootClass:()Ljava/lang/Class;
new java.lang.StringBuilder
dup
aload 0
getfield org.springframework.beans.AbstractNestablePropertyAccessor.nestedPath:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
32: new java.lang.StringBuilder
dup
ldc "Could not instantiate property type ["
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 "] to auto-grow nested property path"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 4
33: invokespecial org.springframework.beans.NullValueInNestedPathException.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Lorg/springframework/beans/AbstractNestablePropertyAccessor;
0 34 1 type Ljava/lang/Class<*>;
0 34 2 desc Lorg/springframework/core/convert/TypeDescriptor;
0 34 3 name Ljava/lang/String;
2 9 4 componentType Ljava/lang/Class<*>;
4 7 5 array Ljava/lang/Object;
13 17 4 elementDesc Lorg/springframework/core/convert/TypeDescriptor;
21 25 4 keyDesc Lorg/springframework/core/convert/TypeDescriptor;
26 30 4 ctor Ljava/lang/reflect/Constructor<*>;
31 34 4 ex Ljava/lang/Throwable;
Exception table:
from to target type
0 6 30 Class java.lang.Throwable
7 8 30 Class java.lang.Throwable
9 16 30 Class java.lang.Throwable
17 24 30 Class java.lang.Throwable
25 29 30 Class java.lang.Throwable
Signature: (Ljava/lang/Class<*>;Lorg/springframework/core/convert/TypeDescriptor;Ljava/lang/String;)Ljava/lang/Object;
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
2:
MethodParameters:
Name Flags
type
desc
name
private org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder getPropertyNameTokens(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyTokenHolder;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: new java.util.ArrayList
dup
iconst_2
invokespecial java.util.ArrayList.<init>:(I)V
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 17
4: StackMap locals: java.lang.String java.util.List int
StackMap stack:
aload 1
ldc "["
iload 4
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
istore 5
start local 5 5: iconst_m1
istore 4
6: iload 5
iconst_m1
if_icmpeq 17
7: aload 1
ldc "]"
iload 5
ldc "["
invokevirtual java.lang.String.length:()I
iadd
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
istore 6
start local 6 8: iload 6
iconst_m1
if_icmpeq 17
9: aload 2
ifnonnull 11
10: aload 1
iconst_0
iload 5
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 2
11: StackMap locals: int int
StackMap stack:
aload 1
iload 5
ldc "["
invokevirtual java.lang.String.length:()I
iadd
iload 6
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 7
start local 7 12: aload 7
invokevirtual java.lang.String.length:()I
iconst_1
if_icmple 13
aload 7
ldc "'"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 13
aload 7
ldc "'"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 14
13: StackMap locals: java.lang.String
StackMap stack:
aload 7
ldc "\""
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 15
aload 7
ldc "\""
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 15
14: StackMap locals:
StackMap stack:
aload 7
iconst_1
aload 7
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 7
15: StackMap locals:
StackMap stack:
aload 3
aload 7
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
16: iload 6
ldc "]"
invokevirtual java.lang.String.length:()I
iadd
istore 4
end local 7 end local 6 end local 5 17: StackMap locals:
StackMap stack:
iload 4
iconst_m1
if_icmpne 4
18: new org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder
dup
aload 2
ifnull 19
aload 2
goto 20
StackMap locals: org.springframework.beans.AbstractNestablePropertyAccessor java.lang.String java.lang.String java.util.List int
StackMap stack: new 18 new 18
19: aload 1
StackMap locals: org.springframework.beans.AbstractNestablePropertyAccessor java.lang.String java.lang.String java.util.List int
StackMap stack: new 18 new 18 java.lang.String
20: invokespecial org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.<init>:(Ljava/lang/String;)V
astore 5
start local 5 21: aload 3
invokeinterface java.util.List.isEmpty:()Z
ifne 27
22: aload 5
dup
getfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.canonicalName:Ljava/lang/String;
new java.lang.StringBuilder
dup_x1
swap
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
23: aload 3
ldc "]["
invokestatic org.springframework.util.StringUtils.collectionToDelimitedString:(Ljava/util/Collection;Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
24: ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
25: putfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.canonicalName:Ljava/lang/String;
26: aload 5
aload 3
invokestatic org.springframework.util.StringUtils.toStringArray:(Ljava/util/Collection;)[Ljava/lang/String;
putfield org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder.keys:[Ljava/lang/String;
27: StackMap locals: org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder
StackMap stack:
aload 5
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lorg/springframework/beans/AbstractNestablePropertyAccessor;
0 28 1 propertyName Ljava/lang/String;
1 28 2 actualName Ljava/lang/String;
2 28 3 keys Ljava/util/List<Ljava/lang/String;>;
3 28 4 searchIndex I
5 17 5 keyStart I
8 17 6 keyEnd I
12 17 7 key Ljava/lang/String;
21 28 5 tokens Lorg/springframework/beans/AbstractNestablePropertyAccessor$PropertyTokenHolder;
MethodParameters:
Name Flags
propertyName
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 1
start local 1 1: aload 0
getfield org.springframework.beans.AbstractNestablePropertyAccessor.wrappedObject:Ljava/lang/Object;
ifnull 4
2: aload 1
ldc ": wrapping object ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.springframework.beans.AbstractNestablePropertyAccessor.wrappedObject:Ljava/lang/Object;
invokestatic org.springframework.util.ObjectUtils.identityToString:(Ljava/lang/Object;)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;
pop
3: goto 5
4: StackMap locals: java.lang.StringBuilder
StackMap stack:
aload 1
ldc ": no wrapped object set"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
5: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/springframework/beans/AbstractNestablePropertyAccessor;
1 6 1 sb Ljava/lang/StringBuilder;
}
SourceFile: "AbstractNestablePropertyAccessor.java"
NestMembers:
org.springframework.beans.AbstractNestablePropertyAccessor$PropertyHandler org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder
InnerClasses:
protected abstract PropertyHandler = org.springframework.beans.AbstractNestablePropertyAccessor$PropertyHandler of org.springframework.beans.AbstractNestablePropertyAccessor
protected PropertyTokenHolder = org.springframework.beans.AbstractNestablePropertyAccessor$PropertyTokenHolder of org.springframework.beans.AbstractNestablePropertyAccessor