public class org.springframework.expression.spel.ast.CompoundExpression extends org.springframework.expression.spel.ast.SpelNodeImpl
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.springframework.expression.spel.ast.CompoundExpression
super_class: org.springframework.expression.spel.ast.SpelNodeImpl
{
public void <init>(int, org.springframework.expression.spel.ast.SpelNodeImpl[]);
descriptor: (I[Lorg/springframework/expression/spel/ast/SpelNodeImpl;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
aload 2
invokespecial org.springframework.expression.spel.ast.SpelNodeImpl.<init>:(I[Lorg/springframework/expression/spel/ast/SpelNodeImpl;)V
1: aload 2
arraylength
iconst_2
if_icmpge 5
2: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Do not build compound expressions with less than two entries: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
3: aload 2
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: org.springframework.expression.spel.ast.CompoundExpression int org.springframework.expression.spel.ast.SpelNodeImpl[]
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/springframework/expression/spel/ast/CompoundExpression;
0 6 1 pos I
0 6 2 expressionComponents [Lorg/springframework/expression/spel/ast/SpelNodeImpl;
MethodParameters:
Name Flags
pos
expressionComponents
protected org.springframework.expression.spel.ast.ValueRef getValueRef(org.springframework.expression.spel.ExpressionState);
descriptor: (Lorg/springframework/expression/spel/ExpressionState;)Lorg/springframework/expression/spel/ast/ValueRef;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.springframework.expression.spel.ast.CompoundExpression.getChildCount:()I
iconst_1
if_icmpne 2
1: aload 0
getfield org.springframework.expression.spel.ast.CompoundExpression.children:[Lorg/springframework/expression/spel/ast/SpelNodeImpl;
iconst_0
aaload
aload 1
invokevirtual org.springframework.expression.spel.ast.SpelNodeImpl.getValueRef:(Lorg/springframework/expression/spel/ExpressionState;)Lorg/springframework/expression/spel/ast/ValueRef;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.expression.spel.ast.CompoundExpression.children:[Lorg/springframework/expression/spel/ast/SpelNodeImpl;
iconst_0
aaload
astore 2
start local 2 3: aload 2
aload 1
invokevirtual org.springframework.expression.spel.ast.SpelNodeImpl.getValueInternal:(Lorg/springframework/expression/spel/ExpressionState;)Lorg/springframework/expression/TypedValue;
astore 3
start local 3 4: aload 0
invokevirtual org.springframework.expression.spel.ast.CompoundExpression.getChildCount:()I
istore 4
start local 4 5: iconst_1
istore 5
start local 5 6: goto 16
7: StackMap locals: org.springframework.expression.spel.ast.CompoundExpression org.springframework.expression.spel.ExpressionState org.springframework.expression.spel.ast.SpelNodeImpl org.springframework.expression.TypedValue int int
StackMap stack:
aload 1
aload 3
invokevirtual org.springframework.expression.spel.ExpressionState.pushActiveContextObject:(Lorg/springframework/expression/TypedValue;)V
8: aload 0
getfield org.springframework.expression.spel.ast.CompoundExpression.children:[Lorg/springframework/expression/spel/ast/SpelNodeImpl;
iload 5
aaload
astore 2
9: aload 2
aload 1
invokevirtual org.springframework.expression.spel.ast.SpelNodeImpl.getValueInternal:(Lorg/springframework/expression/spel/ExpressionState;)Lorg/springframework/expression/TypedValue;
astore 3
10: goto 14
11: StackMap locals:
StackMap stack: java.lang.Throwable
astore 6
12: aload 1
invokevirtual org.springframework.expression.spel.ExpressionState.popActiveContextObject:()V
13: aload 6
athrow
14: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.springframework.expression.spel.ExpressionState.popActiveContextObject:()V
15: iinc 5 1
StackMap locals:
StackMap stack:
16: iload 5
iload 4
iconst_1
isub
if_icmplt 7
end local 5 17: aload 1
aload 3
invokevirtual org.springframework.expression.spel.ExpressionState.pushActiveContextObject:(Lorg/springframework/expression/TypedValue;)V
18: aload 0
getfield org.springframework.expression.spel.ast.CompoundExpression.children:[Lorg/springframework/expression/spel/ast/SpelNodeImpl;
iload 4
iconst_1
isub
aaload
astore 2
19: aload 2
aload 1
invokevirtual org.springframework.expression.spel.ast.SpelNodeImpl.getValueRef:(Lorg/springframework/expression/spel/ExpressionState;)Lorg/springframework/expression/spel/ast/ValueRef;
astore 6
20: aload 1
invokevirtual org.springframework.expression.spel.ExpressionState.popActiveContextObject:()V
21: aload 6
areturn
22: StackMap locals: org.springframework.expression.spel.ast.CompoundExpression org.springframework.expression.spel.ExpressionState org.springframework.expression.spel.ast.SpelNodeImpl org.springframework.expression.TypedValue int
StackMap stack: java.lang.Throwable
astore 5
23: aload 1
invokevirtual org.springframework.expression.spel.ExpressionState.popActiveContextObject:()V
24: aload 5
athrow
end local 4 end local 3 25: StackMap locals: org.springframework.expression.spel.ast.CompoundExpression org.springframework.expression.spel.ExpressionState org.springframework.expression.spel.ast.SpelNodeImpl
StackMap stack: org.springframework.expression.spel.SpelEvaluationException
astore 3
start local 3 26: aload 3
aload 2
invokevirtual org.springframework.expression.spel.ast.SpelNodeImpl.getStartPosition:()I
invokevirtual org.springframework.expression.spel.SpelEvaluationException.setPosition:(I)V
27: aload 3
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lorg/springframework/expression/spel/ast/CompoundExpression;
0 28 1 state Lorg/springframework/expression/spel/ExpressionState;
3 28 2 nextNode Lorg/springframework/expression/spel/ast/SpelNodeImpl;
4 25 3 result Lorg/springframework/expression/TypedValue;
5 25 4 cc I
6 17 5 i I
26 28 3 ex Lorg/springframework/expression/spel/SpelEvaluationException;
Exception table:
from to target type
7 11 11 any
17 20 22 any
3 21 25 Class org.springframework.expression.spel.SpelEvaluationException
22 25 25 Class org.springframework.expression.spel.SpelEvaluationException
Exceptions:
throws org.springframework.expression.EvaluationException
MethodParameters:
Name Flags
state
public org.springframework.expression.TypedValue getValueInternal(org.springframework.expression.spel.ExpressionState);
descriptor: (Lorg/springframework/expression/spel/ExpressionState;)Lorg/springframework/expression/TypedValue;
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.expression.spel.ast.CompoundExpression.getValueRef:(Lorg/springframework/expression/spel/ExpressionState;)Lorg/springframework/expression/spel/ast/ValueRef;
astore 2
start local 2 1: aload 2
invokeinterface org.springframework.expression.spel.ast.ValueRef.getValue:()Lorg/springframework/expression/TypedValue;
astore 3
start local 3 2: aload 0
aload 0
getfield org.springframework.expression.spel.ast.CompoundExpression.children:[Lorg/springframework/expression/spel/ast/SpelNodeImpl;
aload 0
getfield org.springframework.expression.spel.ast.CompoundExpression.children:[Lorg/springframework/expression/spel/ast/SpelNodeImpl;
arraylength
iconst_1
isub
aaload
getfield org.springframework.expression.spel.ast.SpelNodeImpl.exitTypeDescriptor:Ljava/lang/String;
putfield org.springframework.expression.spel.ast.CompoundExpression.exitTypeDescriptor:Ljava/lang/String;
3: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/expression/spel/ast/CompoundExpression;
0 4 1 state Lorg/springframework/expression/spel/ExpressionState;
1 4 2 ref Lorg/springframework/expression/spel/ast/ValueRef;
2 4 3 result Lorg/springframework/expression/TypedValue;
Exceptions:
throws org.springframework.expression.EvaluationException
MethodParameters:
Name Flags
state
public void setValue(org.springframework.expression.spel.ExpressionState, java.lang.Object);
descriptor: (Lorg/springframework/expression/spel/ExpressionState;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.springframework.expression.spel.ast.CompoundExpression.getValueRef:(Lorg/springframework/expression/spel/ExpressionState;)Lorg/springframework/expression/spel/ast/ValueRef;
aload 2
invokeinterface org.springframework.expression.spel.ast.ValueRef.setValue:(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/ast/CompoundExpression;
0 2 1 state Lorg/springframework/expression/spel/ExpressionState;
0 2 2 value Ljava/lang/Object;
Exceptions:
throws org.springframework.expression.EvaluationException
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
state
value
public boolean isWritable(org.springframework.expression.spel.ExpressionState);
descriptor: (Lorg/springframework/expression/spel/ExpressionState;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.springframework.expression.spel.ast.CompoundExpression.getValueRef:(Lorg/springframework/expression/spel/ExpressionState;)Lorg/springframework/expression/spel/ast/ValueRef;
invokeinterface org.springframework.expression.spel.ast.ValueRef.isWritable:()Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/expression/spel/ast/CompoundExpression;
0 1 1 state Lorg/springframework/expression/spel/ExpressionState;
Exceptions:
throws org.springframework.expression.EvaluationException
MethodParameters:
Name Flags
state
public java.lang.String toStringAST();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 7
3: StackMap locals: java.lang.StringBuilder int
StackMap stack:
iload 2
ifle 5
4: aload 1
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
5: StackMap locals:
StackMap stack:
aload 1
aload 0
iload 2
invokevirtual org.springframework.expression.spel.ast.CompoundExpression.getChild:(I)Lorg/springframework/expression/spel/SpelNode;
invokeinterface org.springframework.expression.spel.SpelNode.toStringAST:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
6: iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
aload 0
invokevirtual org.springframework.expression.spel.ast.CompoundExpression.getChildCount:()I
if_icmplt 3
end local 2 8: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/springframework/expression/spel/ast/CompoundExpression;
1 9 1 sb Ljava/lang/StringBuilder;
2 8 2 i I
public boolean isCompilable();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
getfield org.springframework.expression.spel.ast.CompoundExpression.children:[Lorg/springframework/expression/spel/ast/SpelNodeImpl;
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 5
StackMap locals: org.springframework.expression.spel.ast.CompoundExpression top int int org.springframework.expression.spel.ast.SpelNodeImpl[]
StackMap stack:
1: aload 4
iload 2
aaload
astore 1
start local 1 2: aload 1
invokevirtual org.springframework.expression.spel.ast.SpelNodeImpl.isCompilable:()Z
ifne 4
3: iconst_0
ireturn
end local 1 4: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
iload 3
if_icmplt 1
6: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/springframework/expression/spel/ast/CompoundExpression;
2 4 1 child Lorg/springframework/expression/spel/ast/SpelNodeImpl;
public void generateCode(org.springframework.asm.MethodVisitor, org.springframework.expression.spel.CodeFlow);
descriptor: (Lorg/springframework/asm/MethodVisitor;Lorg/springframework/expression/spel/CodeFlow;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: goto 4
2: StackMap locals: int
StackMap stack:
aload 0
getfield org.springframework.expression.spel.ast.CompoundExpression.children:[Lorg/springframework/expression/spel/ast/SpelNodeImpl;
iload 3
aaload
aload 1
aload 2
invokevirtual org.springframework.expression.spel.ast.SpelNodeImpl.generateCode:(Lorg/springframework/asm/MethodVisitor;Lorg/springframework/expression/spel/CodeFlow;)V
3: iinc 3 1
StackMap locals:
StackMap stack:
4: iload 3
aload 0
getfield org.springframework.expression.spel.ast.CompoundExpression.children:[Lorg/springframework/expression/spel/ast/SpelNodeImpl;
arraylength
if_icmplt 2
end local 3 5: aload 2
aload 0
getfield org.springframework.expression.spel.ast.CompoundExpression.exitTypeDescriptor:Ljava/lang/String;
invokevirtual org.springframework.expression.spel.CodeFlow.pushDescriptor:(Ljava/lang/String;)V
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/springframework/expression/spel/ast/CompoundExpression;
0 7 1 mv Lorg/springframework/asm/MethodVisitor;
0 7 2 cf Lorg/springframework/expression/spel/CodeFlow;
1 5 3 i I
MethodParameters:
Name Flags
mv
cf
}
SourceFile: "CompoundExpression.java"