public class org.springframework.expression.spel.ExpressionState
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.springframework.expression.spel.ExpressionState
super_class: java.lang.Object
{
private final org.springframework.expression.EvaluationContext relatedContext;
descriptor: Lorg/springframework/expression/EvaluationContext;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.springframework.expression.TypedValue rootObject;
descriptor: Lorg/springframework/expression/TypedValue;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.springframework.expression.spel.SpelParserConfiguration configuration;
descriptor: Lorg/springframework/expression/spel/SpelParserConfiguration;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.util.Deque<org.springframework.expression.TypedValue> contextObjects;
descriptor: Ljava/util/Deque;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Deque<Lorg/springframework/expression/TypedValue;>;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private java.util.Deque<org.springframework.expression.spel.ExpressionState$VariableScope> variableScopes;
descriptor: Ljava/util/Deque;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Deque<Lorg/springframework/expression/spel/ExpressionState$VariableScope;>;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private java.util.ArrayDeque<org.springframework.expression.TypedValue> scopeRootObjects;
descriptor: Ljava/util/ArrayDeque;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/ArrayDeque<Lorg/springframework/expression/TypedValue;>;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
public void <init>(org.springframework.expression.EvaluationContext);
descriptor: (Lorg/springframework/expression/EvaluationContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 1
invokeinterface org.springframework.expression.EvaluationContext.getRootObject:()Lorg/springframework/expression/TypedValue;
new org.springframework.expression.spel.SpelParserConfiguration
dup
iconst_0
iconst_0
invokespecial org.springframework.expression.spel.SpelParserConfiguration.<init>:(ZZ)V
invokespecial org.springframework.expression.spel.ExpressionState.<init>:(Lorg/springframework/expression/EvaluationContext;Lorg/springframework/expression/TypedValue;Lorg/springframework/expression/spel/SpelParserConfiguration;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/expression/spel/ExpressionState;
0 2 1 context Lorg/springframework/expression/EvaluationContext;
MethodParameters:
Name Flags
context
public void <init>(org.springframework.expression.EvaluationContext, org.springframework.expression.spel.SpelParserConfiguration);
descriptor: (Lorg/springframework/expression/EvaluationContext;Lorg/springframework/expression/spel/SpelParserConfiguration;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 1
invokeinterface org.springframework.expression.EvaluationContext.getRootObject:()Lorg/springframework/expression/TypedValue;
aload 2
invokespecial org.springframework.expression.spel.ExpressionState.<init>:(Lorg/springframework/expression/EvaluationContext;Lorg/springframework/expression/TypedValue;Lorg/springframework/expression/spel/SpelParserConfiguration;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/expression/spel/ExpressionState;
0 2 1 context Lorg/springframework/expression/EvaluationContext;
0 2 2 configuration Lorg/springframework/expression/spel/SpelParserConfiguration;
MethodParameters:
Name Flags
context
configuration
public void <init>(org.springframework.expression.EvaluationContext, org.springframework.expression.TypedValue);
descriptor: (Lorg/springframework/expression/EvaluationContext;Lorg/springframework/expression/TypedValue;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
new org.springframework.expression.spel.SpelParserConfiguration
dup
iconst_0
iconst_0
invokespecial org.springframework.expression.spel.SpelParserConfiguration.<init>:(ZZ)V
invokespecial org.springframework.expression.spel.ExpressionState.<init>:(Lorg/springframework/expression/EvaluationContext;Lorg/springframework/expression/TypedValue;Lorg/springframework/expression/spel/SpelParserConfiguration;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/expression/spel/ExpressionState;
0 2 1 context Lorg/springframework/expression/EvaluationContext;
0 2 2 rootObject Lorg/springframework/expression/TypedValue;
MethodParameters:
Name Flags
context
rootObject
public void <init>(org.springframework.expression.EvaluationContext, org.springframework.expression.TypedValue, org.springframework.expression.spel.SpelParserConfiguration);
descriptor: (Lorg/springframework/expression/EvaluationContext;Lorg/springframework/expression/TypedValue;Lorg/springframework/expression/spel/SpelParserConfiguration;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
ldc "EvaluationContext must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
2: aload 3
ldc "SpelParserConfiguration must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
3: aload 0
aload 1
putfield org.springframework.expression.spel.ExpressionState.relatedContext:Lorg/springframework/expression/EvaluationContext;
4: aload 0
aload 2
putfield org.springframework.expression.spel.ExpressionState.rootObject:Lorg/springframework/expression/TypedValue;
5: aload 0
aload 3
putfield org.springframework.expression.spel.ExpressionState.configuration:Lorg/springframework/expression/spel/SpelParserConfiguration;
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/springframework/expression/spel/ExpressionState;
0 7 1 context Lorg/springframework/expression/EvaluationContext;
0 7 2 rootObject Lorg/springframework/expression/TypedValue;
0 7 3 configuration Lorg/springframework/expression/spel/SpelParserConfiguration;
MethodParameters:
Name Flags
context
rootObject
configuration
public org.springframework.expression.TypedValue getActiveContextObject();
descriptor: ()Lorg/springframework/expression/TypedValue;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.expression.spel.ExpressionState.contextObjects:Ljava/util/Deque;
invokestatic org.springframework.util.CollectionUtils.isEmpty:(Ljava/util/Collection;)Z
ifeq 2
1: aload 0
getfield org.springframework.expression.spel.ExpressionState.rootObject:Lorg/springframework/expression/TypedValue;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.expression.spel.ExpressionState.contextObjects:Ljava/util/Deque;
invokeinterface java.util.Deque.element:()Ljava/lang/Object;
checkcast org.springframework.expression.TypedValue
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/expression/spel/ExpressionState;
public void pushActiveContextObject(org.springframework.expression.TypedValue);
descriptor: (Lorg/springframework/expression/TypedValue;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.springframework.expression.spel.ExpressionState.contextObjects:Ljava/util/Deque;
ifnonnull 2
1: aload 0
new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
putfield org.springframework.expression.spel.ExpressionState.contextObjects:Ljava/util/Deque;
2: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.expression.spel.ExpressionState.contextObjects:Ljava/util/Deque;
aload 1
invokeinterface java.util.Deque.push:(Ljava/lang/Object;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/expression/spel/ExpressionState;
0 4 1 obj Lorg/springframework/expression/TypedValue;
MethodParameters:
Name Flags
obj
public void popActiveContextObject();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.expression.spel.ExpressionState.contextObjects:Ljava/util/Deque;
ifnonnull 2
1: aload 0
new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
putfield org.springframework.expression.spel.ExpressionState.contextObjects:Ljava/util/Deque;
2: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.expression.spel.ExpressionState.contextObjects:Ljava/util/Deque;
invokeinterface java.util.Deque.pop:()Ljava/lang/Object;
pop
3: goto 6
4: StackMap locals:
StackMap stack: java.util.NoSuchElementException
pop
5: new java.lang.IllegalStateException
dup
ldc "Cannot pop active context object: stack is empty"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/springframework/expression/spel/ExpressionState;
Exception table:
from to target type
2 3 4 Class java.util.NoSuchElementException
public org.springframework.expression.TypedValue getRootContextObject();
descriptor: ()Lorg/springframework/expression/TypedValue;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.expression.spel.ExpressionState.rootObject:Lorg/springframework/expression/TypedValue;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/expression/spel/ExpressionState;
public org.springframework.expression.TypedValue getScopeRootContextObject();
descriptor: ()Lorg/springframework/expression/TypedValue;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.expression.spel.ExpressionState.scopeRootObjects:Ljava/util/ArrayDeque;
invokestatic org.springframework.util.CollectionUtils.isEmpty:(Ljava/util/Collection;)Z
ifeq 2
1: aload 0
getfield org.springframework.expression.spel.ExpressionState.rootObject:Lorg/springframework/expression/TypedValue;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.expression.spel.ExpressionState.scopeRootObjects:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.element:()Ljava/lang/Object;
checkcast org.springframework.expression.TypedValue
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/expression/spel/ExpressionState;
public void setVariable(java.lang.String, java.lang.Object);
descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.springframework.expression.spel.ExpressionState.relatedContext:Lorg/springframework/expression/EvaluationContext;
aload 1
aload 2
invokeinterface org.springframework.expression.EvaluationContext.setVariable:(Ljava/lang/String;Ljava/lang/Object;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/expression/spel/ExpressionState;
0 2 1 name Ljava/lang/String;
0 2 2 value Ljava/lang/Object;
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
name
value
public org.springframework.expression.TypedValue lookupVariable(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/springframework/expression/TypedValue;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.springframework.expression.spel.ExpressionState.relatedContext:Lorg/springframework/expression/EvaluationContext;
aload 1
invokeinterface org.springframework.expression.EvaluationContext.lookupVariable:(Ljava/lang/String;)Ljava/lang/Object;
astore 2
start local 2 1: aload 2
ifnull 2
new org.springframework.expression.TypedValue
dup
aload 2
invokespecial org.springframework.expression.TypedValue.<init>:(Ljava/lang/Object;)V
goto 3
StackMap locals: java.lang.Object
StackMap stack:
2: getstatic org.springframework.expression.TypedValue.NULL:Lorg/springframework/expression/TypedValue;
StackMap locals:
StackMap stack: org.springframework.expression.TypedValue
3: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/expression/spel/ExpressionState;
0 4 1 name Ljava/lang/String;
1 4 2 value Ljava/lang/Object;
MethodParameters:
Name Flags
name
public org.springframework.expression.TypeComparator getTypeComparator();
descriptor: ()Lorg/springframework/expression/TypeComparator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.expression.spel.ExpressionState.relatedContext:Lorg/springframework/expression/EvaluationContext;
invokeinterface org.springframework.expression.EvaluationContext.getTypeComparator:()Lorg/springframework/expression/TypeComparator;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/expression/spel/ExpressionState;
public java.lang.Class<?> findType(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.springframework.expression.spel.ExpressionState.relatedContext:Lorg/springframework/expression/EvaluationContext;
invokeinterface org.springframework.expression.EvaluationContext.getTypeLocator:()Lorg/springframework/expression/TypeLocator;
aload 1
invokeinterface org.springframework.expression.TypeLocator.findType:(Ljava/lang/String;)Ljava/lang/Class;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/expression/spel/ExpressionState;
0 1 1 type Ljava/lang/String;
Exceptions:
throws org.springframework.expression.EvaluationException
Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
type
public java.lang.Object convertValue(java.lang.Object, org.springframework.core.convert.TypeDescriptor);
descriptor: (Ljava/lang/Object;Lorg/springframework/core/convert/TypeDescriptor;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.springframework.expression.spel.ExpressionState.relatedContext:Lorg/springframework/expression/EvaluationContext;
invokeinterface org.springframework.expression.EvaluationContext.getTypeConverter:()Lorg/springframework/expression/TypeConverter;
1: aload 1
aload 1
invokestatic org.springframework.core.convert.TypeDescriptor.forObject:(Ljava/lang/Object;)Lorg/springframework/core/convert/TypeDescriptor;
aload 2
2: invokeinterface org.springframework.expression.TypeConverter.convertValue:(Ljava/lang/Object;Lorg/springframework/core/convert/TypeDescriptor;Lorg/springframework/core/convert/TypeDescriptor;)Ljava/lang/Object;
astore 3
start local 3 3: aload 3
ifnonnull 5
4: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Null conversion result for value ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: java.lang.Object
StackMap stack:
aload 3
areturn
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/ExpressionState;
0 6 1 value Ljava/lang/Object;
0 6 2 targetTypeDescriptor Lorg/springframework/core/convert/TypeDescriptor;
3 6 3 result Ljava/lang/Object;
Exceptions:
throws org.springframework.expression.EvaluationException
MethodParameters:
Name Flags
value
targetTypeDescriptor
public org.springframework.expression.TypeConverter getTypeConverter();
descriptor: ()Lorg/springframework/expression/TypeConverter;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.expression.spel.ExpressionState.relatedContext:Lorg/springframework/expression/EvaluationContext;
invokeinterface org.springframework.expression.EvaluationContext.getTypeConverter:()Lorg/springframework/expression/TypeConverter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/expression/spel/ExpressionState;
public java.lang.Object convertValue(org.springframework.expression.TypedValue, org.springframework.core.convert.TypeDescriptor);
descriptor: (Lorg/springframework/expression/TypedValue;Lorg/springframework/core/convert/TypeDescriptor;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.springframework.expression.TypedValue.getValue:()Ljava/lang/Object;
astore 3
start local 3 1: aload 0
getfield org.springframework.expression.spel.ExpressionState.relatedContext:Lorg/springframework/expression/EvaluationContext;
invokeinterface org.springframework.expression.EvaluationContext.getTypeConverter:()Lorg/springframework/expression/TypeConverter;
2: aload 3
aload 3
invokestatic org.springframework.core.convert.TypeDescriptor.forObject:(Ljava/lang/Object;)Lorg/springframework/core/convert/TypeDescriptor;
aload 2
3: invokeinterface org.springframework.expression.TypeConverter.convertValue:(Ljava/lang/Object;Lorg/springframework/core/convert/TypeDescriptor;Lorg/springframework/core/convert/TypeDescriptor;)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/expression/spel/ExpressionState;
0 4 1 value Lorg/springframework/expression/TypedValue;
0 4 2 targetTypeDescriptor Lorg/springframework/core/convert/TypeDescriptor;
1 4 3 val Ljava/lang/Object;
Exceptions:
throws org.springframework.expression.EvaluationException
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
value
targetTypeDescriptor
public void enterScope(java.util.Map<java.lang.String, java.lang.Object>);
descriptor: (Ljava/util/Map;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.springframework.expression.spel.ExpressionState.initVariableScopes:()Ljava/util/Deque;
new org.springframework.expression.spel.ExpressionState$VariableScope
dup
aload 1
invokespecial org.springframework.expression.spel.ExpressionState$VariableScope.<init>:(Ljava/util/Map;)V
invokeinterface java.util.Deque.push:(Ljava/lang/Object;)V
1: aload 0
invokevirtual org.springframework.expression.spel.ExpressionState.initScopeRootObjects:()Ljava/util/Deque;
aload 0
invokevirtual org.springframework.expression.spel.ExpressionState.getActiveContextObject:()Lorg/springframework/expression/TypedValue;
invokeinterface java.util.Deque.push:(Ljava/lang/Object;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/expression/spel/ExpressionState;
0 3 1 argMap Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;)V
MethodParameters:
Name Flags
argMap
public void enterScope();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.springframework.expression.spel.ExpressionState.initVariableScopes:()Ljava/util/Deque;
new org.springframework.expression.spel.ExpressionState$VariableScope
dup
invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
invokespecial org.springframework.expression.spel.ExpressionState$VariableScope.<init>:(Ljava/util/Map;)V
invokeinterface java.util.Deque.push:(Ljava/lang/Object;)V
1: aload 0
invokevirtual org.springframework.expression.spel.ExpressionState.initScopeRootObjects:()Ljava/util/Deque;
aload 0
invokevirtual org.springframework.expression.spel.ExpressionState.getActiveContextObject:()Lorg/springframework/expression/TypedValue;
invokeinterface java.util.Deque.push:(Ljava/lang/Object;)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/expression/spel/ExpressionState;
public void enterScope(java.lang.String, java.lang.Object);
descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.springframework.expression.spel.ExpressionState.initVariableScopes:()Ljava/util/Deque;
new org.springframework.expression.spel.ExpressionState$VariableScope
dup
aload 1
aload 2
invokespecial org.springframework.expression.spel.ExpressionState$VariableScope.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokeinterface java.util.Deque.push:(Ljava/lang/Object;)V
1: aload 0
invokevirtual org.springframework.expression.spel.ExpressionState.initScopeRootObjects:()Ljava/util/Deque;
aload 0
invokevirtual org.springframework.expression.spel.ExpressionState.getActiveContextObject:()Lorg/springframework/expression/TypedValue;
invokeinterface java.util.Deque.push:(Ljava/lang/Object;)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/expression/spel/ExpressionState;
0 3 1 name Ljava/lang/String;
0 3 2 value Ljava/lang/Object;
MethodParameters:
Name Flags
name
value
public void exitScope();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.springframework.expression.spel.ExpressionState.initVariableScopes:()Ljava/util/Deque;
invokeinterface java.util.Deque.pop:()Ljava/lang/Object;
pop
1: aload 0
invokevirtual org.springframework.expression.spel.ExpressionState.initScopeRootObjects:()Ljava/util/Deque;
invokeinterface java.util.Deque.pop:()Ljava/lang/Object;
pop
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/expression/spel/ExpressionState;
public void setLocalVariable(java.lang.String, java.lang.Object);
descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.springframework.expression.spel.ExpressionState.initVariableScopes:()Ljava/util/Deque;
invokeinterface java.util.Deque.element:()Ljava/lang/Object;
checkcast org.springframework.expression.spel.ExpressionState$VariableScope
aload 1
aload 2
invokevirtual org.springframework.expression.spel.ExpressionState$VariableScope.setVariable:(Ljava/lang/String;Ljava/lang/Object;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/expression/spel/ExpressionState;
0 2 1 name Ljava/lang/String;
0 2 2 value Ljava/lang/Object;
MethodParameters:
Name Flags
name
value
public java.lang.Object lookupLocalVariable(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.springframework.expression.spel.ExpressionState.initVariableScopes:()Ljava/util/Deque;
invokeinterface java.util.Deque.iterator:()Ljava/util/Iterator;
astore 3
goto 4
StackMap locals: org.springframework.expression.spel.ExpressionState java.lang.String top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.springframework.expression.spel.ExpressionState$VariableScope
astore 2
start local 2 2: aload 2
aload 1
invokevirtual org.springframework.expression.spel.ExpressionState$VariableScope.definesVariable:(Ljava/lang/String;)Z
ifeq 4
3: aload 2
aload 1
invokevirtual org.springframework.expression.spel.ExpressionState$VariableScope.lookupVariable:(Ljava/lang/String;)Ljava/lang/Object;
areturn
end local 2 4: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
5: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/springframework/expression/spel/ExpressionState;
0 6 1 name Ljava/lang/String;
2 4 2 scope Lorg/springframework/expression/spel/ExpressionState$VariableScope;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
name
private java.util.Deque<org.springframework.expression.spel.ExpressionState$VariableScope> initVariableScopes();
descriptor: ()Ljava/util/Deque;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.expression.spel.ExpressionState.variableScopes:Ljava/util/Deque;
ifnonnull 3
1: aload 0
new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
putfield org.springframework.expression.spel.ExpressionState.variableScopes:Ljava/util/Deque;
2: aload 0
getfield org.springframework.expression.spel.ExpressionState.variableScopes:Ljava/util/Deque;
new org.springframework.expression.spel.ExpressionState$VariableScope
dup
invokespecial org.springframework.expression.spel.ExpressionState$VariableScope.<init>:()V
invokeinterface java.util.Deque.add:(Ljava/lang/Object;)Z
pop
3: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.expression.spel.ExpressionState.variableScopes:Ljava/util/Deque;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/expression/spel/ExpressionState;
Signature: ()Ljava/util/Deque<Lorg/springframework/expression/spel/ExpressionState$VariableScope;>;
private java.util.Deque<org.springframework.expression.TypedValue> initScopeRootObjects();
descriptor: ()Ljava/util/Deque;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.expression.spel.ExpressionState.scopeRootObjects:Ljava/util/ArrayDeque;
ifnonnull 2
1: aload 0
new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
putfield org.springframework.expression.spel.ExpressionState.scopeRootObjects:Ljava/util/ArrayDeque;
2: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.expression.spel.ExpressionState.scopeRootObjects:Ljava/util/ArrayDeque;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/expression/spel/ExpressionState;
Signature: ()Ljava/util/Deque<Lorg/springframework/expression/TypedValue;>;
public org.springframework.expression.TypedValue operate(org.springframework.expression.Operation, java.lang.Object, java.lang.Object);
descriptor: (Lorg/springframework/expression/Operation;Ljava/lang/Object;Ljava/lang/Object;)Lorg/springframework/expression/TypedValue;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.springframework.expression.spel.ExpressionState.relatedContext:Lorg/springframework/expression/EvaluationContext;
invokeinterface org.springframework.expression.EvaluationContext.getOperatorOverloader:()Lorg/springframework/expression/OperatorOverloader;
astore 4
start local 4 1: aload 4
aload 1
aload 2
aload 3
invokeinterface org.springframework.expression.OperatorOverloader.overridesOperation:(Lorg/springframework/expression/Operation;Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 4
2: aload 4
aload 1
aload 2
aload 3
invokeinterface org.springframework.expression.OperatorOverloader.operate:(Lorg/springframework/expression/Operation;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
astore 5
start local 5 3: new org.springframework.expression.TypedValue
dup
aload 5
invokespecial org.springframework.expression.TypedValue.<init>:(Ljava/lang/Object;)V
areturn
end local 5 4: StackMap locals: org.springframework.expression.OperatorOverloader
StackMap stack:
aload 2
ifnonnull 5
ldc "null"
goto 6
StackMap locals:
StackMap stack:
5: aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
6: astore 5
start local 5 7: aload 3
ifnonnull 8
ldc "null"
goto 9
StackMap locals: java.lang.String
StackMap stack:
8: aload 3
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
9: astore 6
start local 6 10: new org.springframework.expression.spel.SpelEvaluationException
dup
getstatic org.springframework.expression.spel.SpelMessage.OPERATOR_NOT_SUPPORTED_BETWEEN_TYPES:Lorg/springframework/expression/spel/SpelMessage;
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 5
aastore
dup
iconst_2
aload 6
aastore
invokespecial org.springframework.expression.spel.SpelEvaluationException.<init>:(Lorg/springframework/expression/spel/SpelMessage;[Ljava/lang/Object;)V
athrow
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/springframework/expression/spel/ExpressionState;
0 11 1 op Lorg/springframework/expression/Operation;
0 11 2 left Ljava/lang/Object;
0 11 3 right Ljava/lang/Object;
1 11 4 overloader Lorg/springframework/expression/OperatorOverloader;
3 4 5 returnValue Ljava/lang/Object;
7 11 5 leftType Ljava/lang/String;
10 11 6 rightType Ljava/lang/String;
Exceptions:
throws org.springframework.expression.EvaluationException
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
2:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
op
left
right
public java.util.List<org.springframework.expression.PropertyAccessor> getPropertyAccessors();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.expression.spel.ExpressionState.relatedContext:Lorg/springframework/expression/EvaluationContext;
invokeinterface org.springframework.expression.EvaluationContext.getPropertyAccessors:()Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/expression/spel/ExpressionState;
Signature: ()Ljava/util/List<Lorg/springframework/expression/PropertyAccessor;>;
public org.springframework.expression.EvaluationContext getEvaluationContext();
descriptor: ()Lorg/springframework/expression/EvaluationContext;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.expression.spel.ExpressionState.relatedContext:Lorg/springframework/expression/EvaluationContext;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/expression/spel/ExpressionState;
public org.springframework.expression.spel.SpelParserConfiguration getConfiguration();
descriptor: ()Lorg/springframework/expression/spel/SpelParserConfiguration;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.expression.spel.ExpressionState.configuration:Lorg/springframework/expression/spel/SpelParserConfiguration;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/expression/spel/ExpressionState;
}
SourceFile: "ExpressionState.java"
NestMembers:
org.springframework.expression.spel.ExpressionState$VariableScope
InnerClasses:
private VariableScope = org.springframework.expression.spel.ExpressionState$VariableScope of org.springframework.expression.spel.ExpressionState