class org.springframework.expression.spel.ast.PropertyOrFieldReference$AccessorLValue implements org.springframework.expression.spel.ast.ValueRef
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.springframework.expression.spel.ast.PropertyOrFieldReference$AccessorLValue
super_class: java.lang.Object
{
private final org.springframework.expression.spel.ast.PropertyOrFieldReference ref;
descriptor: Lorg/springframework/expression/spel/ast/PropertyOrFieldReference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.springframework.expression.TypedValue contextObject;
descriptor: Lorg/springframework/expression/TypedValue;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.springframework.expression.EvaluationContext evalContext;
descriptor: Lorg/springframework/expression/EvaluationContext;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean autoGrowNullReferences;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(org.springframework.expression.spel.ast.PropertyOrFieldReference, org.springframework.expression.TypedValue, org.springframework.expression.EvaluationContext, boolean);
descriptor: (Lorg/springframework/expression/spel/ast/PropertyOrFieldReference;Lorg/springframework/expression/TypedValue;Lorg/springframework/expression/EvaluationContext;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.springframework.expression.spel.ast.PropertyOrFieldReference$AccessorLValue.ref:Lorg/springframework/expression/spel/ast/PropertyOrFieldReference;
2: aload 0
aload 2
putfield org.springframework.expression.spel.ast.PropertyOrFieldReference$AccessorLValue.contextObject:Lorg/springframework/expression/TypedValue;
3: aload 0
aload 3
putfield org.springframework.expression.spel.ast.PropertyOrFieldReference$AccessorLValue.evalContext:Lorg/springframework/expression/EvaluationContext;
4: aload 0
iload 4
putfield org.springframework.expression.spel.ast.PropertyOrFieldReference$AccessorLValue.autoGrowNullReferences:Z
5: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/springframework/expression/spel/ast/PropertyOrFieldReference$AccessorLValue;
0 6 1 propertyOrFieldReference Lorg/springframework/expression/spel/ast/PropertyOrFieldReference;
0 6 2 activeContextObject Lorg/springframework/expression/TypedValue;
0 6 3 evalContext Lorg/springframework/expression/EvaluationContext;
0 6 4 autoGrowNullReferences Z
MethodParameters:
Name Flags
propertyOrFieldReference
activeContextObject
evalContext
autoGrowNullReferences
public org.springframework.expression.TypedValue getValue();
descriptor: ()Lorg/springframework/expression/TypedValue;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
getfield org.springframework.expression.spel.ast.PropertyOrFieldReference$AccessorLValue.ref:Lorg/springframework/expression/spel/ast/PropertyOrFieldReference;
aload 0
getfield org.springframework.expression.spel.ast.PropertyOrFieldReference$AccessorLValue.contextObject:Lorg/springframework/expression/TypedValue;
aload 0
getfield org.springframework.expression.spel.ast.PropertyOrFieldReference$AccessorLValue.evalContext:Lorg/springframework/expression/EvaluationContext;
aload 0
getfield org.springframework.expression.spel.ast.PropertyOrFieldReference$AccessorLValue.autoGrowNullReferences:Z
invokevirtual org.springframework.expression.spel.ast.PropertyOrFieldReference.getValueInternal:(Lorg/springframework/expression/TypedValue;Lorg/springframework/expression/EvaluationContext;Z)Lorg/springframework/expression/TypedValue;
1: astore 1
start local 1 2: aload 0
getfield org.springframework.expression.spel.ast.PropertyOrFieldReference$AccessorLValue.ref:Lorg/springframework/expression/spel/ast/PropertyOrFieldReference;
getfield org.springframework.expression.spel.ast.PropertyOrFieldReference.cachedReadAccessor:Lorg/springframework/expression/PropertyAccessor;
astore 2
start local 2 3: aload 2
instanceof org.springframework.expression.spel.CompilablePropertyAccessor
ifeq 5
4: aload 0
getfield org.springframework.expression.spel.ast.PropertyOrFieldReference$AccessorLValue.ref:Lorg/springframework/expression/spel/ast/PropertyOrFieldReference;
aload 2
checkcast org.springframework.expression.spel.CompilablePropertyAccessor
invokeinterface org.springframework.expression.spel.CompilablePropertyAccessor.getPropertyType:()Ljava/lang/Class;
invokestatic org.springframework.expression.spel.CodeFlow.toDescriptor:(Ljava/lang/Class;)Ljava/lang/String;
invokevirtual org.springframework.expression.spel.ast.PropertyOrFieldReference.setExitTypeDescriptor:(Ljava/lang/String;)V
5: StackMap locals: org.springframework.expression.TypedValue org.springframework.expression.PropertyAccessor
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/springframework/expression/spel/ast/PropertyOrFieldReference$AccessorLValue;
2 6 1 value Lorg/springframework/expression/TypedValue;
3 6 2 accessorToUse Lorg/springframework/expression/PropertyAccessor;
public void setValue(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.springframework.expression.spel.ast.PropertyOrFieldReference$AccessorLValue.ref:Lorg/springframework/expression/spel/ast/PropertyOrFieldReference;
aload 0
getfield org.springframework.expression.spel.ast.PropertyOrFieldReference$AccessorLValue.contextObject:Lorg/springframework/expression/TypedValue;
aload 0
getfield org.springframework.expression.spel.ast.PropertyOrFieldReference$AccessorLValue.evalContext:Lorg/springframework/expression/EvaluationContext;
aload 0
getfield org.springframework.expression.spel.ast.PropertyOrFieldReference$AccessorLValue.ref:Lorg/springframework/expression/spel/ast/PropertyOrFieldReference;
getfield org.springframework.expression.spel.ast.PropertyOrFieldReference.name:Ljava/lang/String;
aload 1
invokevirtual org.springframework.expression.spel.ast.PropertyOrFieldReference.writeProperty:(Lorg/springframework/expression/TypedValue;Lorg/springframework/expression/EvaluationContext;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/expression/spel/ast/PropertyOrFieldReference$AccessorLValue;
0 2 1 newValue Ljava/lang/Object;
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
newValue
public boolean isWritable();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.expression.spel.ast.PropertyOrFieldReference$AccessorLValue.ref:Lorg/springframework/expression/spel/ast/PropertyOrFieldReference;
aload 0
getfield org.springframework.expression.spel.ast.PropertyOrFieldReference$AccessorLValue.ref:Lorg/springframework/expression/spel/ast/PropertyOrFieldReference;
getfield org.springframework.expression.spel.ast.PropertyOrFieldReference.name:Ljava/lang/String;
aload 0
getfield org.springframework.expression.spel.ast.PropertyOrFieldReference$AccessorLValue.contextObject:Lorg/springframework/expression/TypedValue;
aload 0
getfield org.springframework.expression.spel.ast.PropertyOrFieldReference$AccessorLValue.evalContext:Lorg/springframework/expression/EvaluationContext;
invokevirtual org.springframework.expression.spel.ast.PropertyOrFieldReference.isWritableProperty:(Ljava/lang/String;Lorg/springframework/expression/TypedValue;Lorg/springframework/expression/EvaluationContext;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/expression/spel/ast/PropertyOrFieldReference$AccessorLValue;
}
SourceFile: "PropertyOrFieldReference.java"
NestHost: org.springframework.expression.spel.ast.PropertyOrFieldReference
InnerClasses:
private AccessorLValue = org.springframework.expression.spel.ast.PropertyOrFieldReference$AccessorLValue of org.springframework.expression.spel.ast.PropertyOrFieldReference