public class org.springframework.expression.spel.ast.ConstructorReference 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.ConstructorReference
super_class: org.springframework.expression.spel.ast.SpelNodeImpl
{
private boolean isArrayConstructor;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private org.springframework.expression.spel.ast.SpelNodeImpl[] dimensions;
descriptor: [Lorg/springframework/expression/spel/ast/SpelNodeImpl;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private volatile org.springframework.expression.ConstructorExecutor cachedExecutor;
descriptor: Lorg/springframework/expression/ConstructorExecutor;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
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=3, 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 0
iconst_0
putfield org.springframework.expression.spel.ast.ConstructorReference.isArrayConstructor:Z
2: aload 0
iconst_0
putfield org.springframework.expression.spel.ast.ConstructorReference.isArrayConstructor:Z
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/expression/spel/ast/ConstructorReference;
0 4 1 pos I
0 4 2 arguments [Lorg/springframework/expression/spel/ast/SpelNodeImpl;
MethodParameters:
Name Flags
pos
arguments
public void <init>(int, org.springframework.expression.spel.ast.SpelNodeImpl[], org.springframework.expression.spel.ast.SpelNodeImpl[]);
descriptor: (I[Lorg/springframework/expression/spel/ast/SpelNodeImpl;[Lorg/springframework/expression/spel/ast/SpelNodeImpl;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 1
aload 3
invokespecial org.springframework.expression.spel.ast.SpelNodeImpl.<init>:(I[Lorg/springframework/expression/spel/ast/SpelNodeImpl;)V
1: aload 0
iconst_0
putfield org.springframework.expression.spel.ast.ConstructorReference.isArrayConstructor:Z
2: aload 0
iconst_1
putfield org.springframework.expression.spel.ast.ConstructorReference.isArrayConstructor:Z
3: aload 0
aload 2
putfield org.springframework.expression.spel.ast.ConstructorReference.dimensions:[Lorg/springframework/expression/spel/ast/SpelNodeImpl;
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/springframework/expression/spel/ast/ConstructorReference;
0 5 1 pos I
0 5 2 dimensions [Lorg/springframework/expression/spel/ast/SpelNodeImpl;
0 5 3 arguments [Lorg/springframework/expression/spel/ast/SpelNodeImpl;
MethodParameters:
Name Flags
pos
dimensions
arguments
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=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.springframework.expression.spel.ast.ConstructorReference.isArrayConstructor:Z
ifeq 2
1: aload 0
aload 1
invokevirtual org.springframework.expression.spel.ast.ConstructorReference.createArray:(Lorg/springframework/expression/spel/ExpressionState;)Lorg/springframework/expression/TypedValue;
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.springframework.expression.spel.ast.ConstructorReference.createNewInstance:(Lorg/springframework/expression/spel/ExpressionState;)Lorg/springframework/expression/TypedValue;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/expression/spel/ast/ConstructorReference;
0 3 1 state Lorg/springframework/expression/spel/ExpressionState;
Exceptions:
throws org.springframework.expression.EvaluationException
MethodParameters:
Name Flags
state
private org.springframework.expression.TypedValue createNewInstance(org.springframework.expression.spel.ExpressionState);
descriptor: (Lorg/springframework/expression/spel/ExpressionState;)Lorg/springframework/expression/TypedValue;
flags: (0x0002) ACC_PRIVATE
Code:
stack=10, locals=8, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.springframework.expression.spel.ast.ConstructorReference.getChildCount:()I
iconst_1
isub
anewarray java.lang.Object
astore 2
start local 2 1: new java.util.ArrayList
dup
aload 0
invokevirtual org.springframework.expression.spel.ast.ConstructorReference.getChildCount:()I
iconst_1
isub
invokespecial java.util.ArrayList.<init>:(I)V
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 9
4: StackMap locals: java.lang.Object[] java.util.List int
StackMap stack:
aload 0
getfield org.springframework.expression.spel.ast.ConstructorReference.children:[Lorg/springframework/expression/spel/ast/SpelNodeImpl;
iload 4
iconst_1
iadd
aaload
aload 1
invokevirtual org.springframework.expression.spel.ast.SpelNodeImpl.getValueInternal:(Lorg/springframework/expression/spel/ExpressionState;)Lorg/springframework/expression/TypedValue;
astore 5
start local 5 5: aload 5
invokevirtual org.springframework.expression.TypedValue.getValue:()Ljava/lang/Object;
astore 6
start local 6 6: aload 2
iload 4
aload 6
aastore
7: aload 3
aload 6
invokestatic org.springframework.core.convert.TypeDescriptor.forObject:(Ljava/lang/Object;)Lorg/springframework/core/convert/TypeDescriptor;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 6 end local 5 8: iinc 4 1
StackMap locals:
StackMap stack:
9: iload 4
aload 2
arraylength
if_icmplt 4
end local 4 10: aload 0
getfield org.springframework.expression.spel.ast.ConstructorReference.cachedExecutor:Lorg/springframework/expression/ConstructorExecutor;
astore 4
start local 4 11: aload 4
ifnull 25
12: aload 4
aload 1
invokevirtual org.springframework.expression.spel.ExpressionState.getEvaluationContext:()Lorg/springframework/expression/EvaluationContext;
aload 2
invokeinterface org.springframework.expression.ConstructorExecutor.execute:(Lorg/springframework/expression/EvaluationContext;[Ljava/lang/Object;)Lorg/springframework/expression/TypedValue;
13: areturn
14: StackMap locals: org.springframework.expression.spel.ast.ConstructorReference org.springframework.expression.spel.ExpressionState java.lang.Object[] java.util.List org.springframework.expression.ConstructorExecutor
StackMap stack: org.springframework.expression.AccessException
astore 5
start local 5 15: aload 5
invokevirtual org.springframework.expression.AccessException.getCause:()Ljava/lang/Throwable;
instanceof java.lang.reflect.InvocationTargetException
ifeq 24
16: aload 5
invokevirtual org.springframework.expression.AccessException.getCause:()Ljava/lang/Throwable;
invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
astore 6
start local 6 17: aload 6
instanceof java.lang.RuntimeException
ifeq 19
18: aload 6
checkcast java.lang.RuntimeException
athrow
19: StackMap locals: org.springframework.expression.AccessException java.lang.Throwable
StackMap stack:
aload 0
getfield org.springframework.expression.spel.ast.ConstructorReference.children:[Lorg/springframework/expression/spel/ast/SpelNodeImpl;
iconst_0
aaload
aload 1
invokevirtual org.springframework.expression.spel.ast.SpelNodeImpl.getValueInternal:(Lorg/springframework/expression/spel/ExpressionState;)Lorg/springframework/expression/TypedValue;
invokevirtual org.springframework.expression.TypedValue.getValue:()Ljava/lang/Object;
checkcast java.lang.String
astore 7
start local 7 20: new org.springframework.expression.spel.SpelEvaluationException
dup
aload 0
invokevirtual org.springframework.expression.spel.ast.ConstructorReference.getStartPosition:()I
aload 6
21: getstatic org.springframework.expression.spel.SpelMessage.CONSTRUCTOR_INVOCATION_PROBLEM:Lorg/springframework/expression/spel/SpelMessage;
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 7
aastore
dup
iconst_1
22: ldc ""
aload 3
invokestatic org.springframework.expression.spel.ast.FormatHelper.formatMethodForMessage:(Ljava/lang/String;Ljava/util/List;)Ljava/lang/String;
23: aastore
invokespecial org.springframework.expression.spel.SpelEvaluationException.<init>:(ILjava/lang/Throwable;Lorg/springframework/expression/spel/SpelMessage;[Ljava/lang/Object;)V
athrow
end local 7 end local 6 24: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield org.springframework.expression.spel.ast.ConstructorReference.cachedExecutor:Lorg/springframework/expression/ConstructorExecutor;
end local 5 25: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.expression.spel.ast.ConstructorReference.children:[Lorg/springframework/expression/spel/ast/SpelNodeImpl;
iconst_0
aaload
aload 1
invokevirtual org.springframework.expression.spel.ast.SpelNodeImpl.getValueInternal:(Lorg/springframework/expression/spel/ExpressionState;)Lorg/springframework/expression/TypedValue;
invokevirtual org.springframework.expression.TypedValue.getValue:()Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 26: aload 5
ifnull 27
iconst_1
goto 28
StackMap locals: java.lang.String
StackMap stack:
27: iconst_0
StackMap locals:
StackMap stack: int
28: ldc "No type name"
invokestatic org.springframework.util.Assert.state:(ZLjava/lang/String;)V
29: aload 0
aload 5
aload 3
aload 1
invokevirtual org.springframework.expression.spel.ast.ConstructorReference.findExecutorForConstructor:(Ljava/lang/String;Ljava/util/List;Lorg/springframework/expression/spel/ExpressionState;)Lorg/springframework/expression/ConstructorExecutor;
astore 4
30: aload 0
aload 4
putfield org.springframework.expression.spel.ast.ConstructorReference.cachedExecutor:Lorg/springframework/expression/ConstructorExecutor;
31: aload 4
instanceof org.springframework.expression.spel.support.ReflectiveConstructorExecutor
ifeq 35
32: aload 0
33: aload 4
checkcast org.springframework.expression.spel.support.ReflectiveConstructorExecutor
invokevirtual org.springframework.expression.spel.support.ReflectiveConstructorExecutor.getConstructor:()Ljava/lang/reflect/Constructor;
invokevirtual java.lang.reflect.Constructor.getDeclaringClass:()Ljava/lang/Class;
34: invokestatic org.springframework.expression.spel.CodeFlow.toDescriptor:(Ljava/lang/Class;)Ljava/lang/String;
putfield org.springframework.expression.spel.ast.ConstructorReference.exitTypeDescriptor:Ljava/lang/String;
35: StackMap locals:
StackMap stack:
aload 4
aload 1
invokevirtual org.springframework.expression.spel.ExpressionState.getEvaluationContext:()Lorg/springframework/expression/EvaluationContext;
aload 2
invokeinterface org.springframework.expression.ConstructorExecutor.execute:(Lorg/springframework/expression/EvaluationContext;[Ljava/lang/Object;)Lorg/springframework/expression/TypedValue;
36: areturn
37: StackMap locals:
StackMap stack: org.springframework.expression.AccessException
astore 6
start local 6 38: new org.springframework.expression.spel.SpelEvaluationException
dup
aload 0
invokevirtual org.springframework.expression.spel.ast.ConstructorReference.getStartPosition:()I
aload 6
39: getstatic org.springframework.expression.spel.SpelMessage.CONSTRUCTOR_INVOCATION_PROBLEM:Lorg/springframework/expression/spel/SpelMessage;
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 5
aastore
dup
iconst_1
40: ldc ""
aload 3
invokestatic org.springframework.expression.spel.ast.FormatHelper.formatMethodForMessage:(Ljava/lang/String;Ljava/util/List;)Ljava/lang/String;
41: aastore
invokespecial org.springframework.expression.spel.SpelEvaluationException.<init>:(ILjava/lang/Throwable;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 42 0 this Lorg/springframework/expression/spel/ast/ConstructorReference;
0 42 1 state Lorg/springframework/expression/spel/ExpressionState;
1 42 2 arguments [Ljava/lang/Object;
2 42 3 argumentTypes Ljava/util/List<Lorg/springframework/core/convert/TypeDescriptor;>;
3 10 4 i I
5 8 5 childValue Lorg/springframework/expression/TypedValue;
6 8 6 value Ljava/lang/Object;
11 42 4 executorToUse Lorg/springframework/expression/ConstructorExecutor;
15 25 5 ex Lorg/springframework/expression/AccessException;
17 24 6 rootCause Ljava/lang/Throwable;
20 24 7 typeName Ljava/lang/String;
26 42 5 typeName Ljava/lang/String;
38 42 6 ex Lorg/springframework/expression/AccessException;
Exception table:
from to target type
12 13 14 Class org.springframework.expression.AccessException
30 36 37 Class org.springframework.expression.AccessException
Exceptions:
throws org.springframework.expression.EvaluationException
MethodParameters:
Name Flags
state
private org.springframework.expression.ConstructorExecutor findExecutorForConstructor(java.lang.String, java.util.List<org.springframework.core.convert.TypeDescriptor>, org.springframework.expression.spel.ExpressionState);
descriptor: (Ljava/lang/String;Ljava/util/List;Lorg/springframework/expression/spel/ExpressionState;)Lorg/springframework/expression/ConstructorExecutor;
flags: (0x0002) ACC_PRIVATE
Code:
stack=10, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
invokevirtual org.springframework.expression.spel.ExpressionState.getEvaluationContext:()Lorg/springframework/expression/EvaluationContext;
astore 4
start local 4 1: aload 4
invokeinterface org.springframework.expression.EvaluationContext.getConstructorResolvers:()Ljava/util/List;
astore 5
start local 5 2: aload 5
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 13
StackMap locals: org.springframework.expression.spel.ast.ConstructorReference java.lang.String java.util.List org.springframework.expression.spel.ExpressionState org.springframework.expression.EvaluationContext java.util.List top java.util.Iterator
StackMap stack:
3: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.springframework.expression.ConstructorResolver
astore 6
start local 6 4: aload 6
aload 3
invokevirtual org.springframework.expression.spel.ExpressionState.getEvaluationContext:()Lorg/springframework/expression/EvaluationContext;
aload 1
aload 2
invokeinterface org.springframework.expression.ConstructorResolver.resolve:(Lorg/springframework/expression/EvaluationContext;Ljava/lang/String;Ljava/util/List;)Lorg/springframework/expression/ConstructorExecutor;
astore 8
start local 8 5: aload 8
ifnull 13
6: aload 8
7: areturn
end local 8 8: StackMap locals: org.springframework.expression.spel.ast.ConstructorReference java.lang.String java.util.List org.springframework.expression.spel.ExpressionState org.springframework.expression.EvaluationContext java.util.List org.springframework.expression.ConstructorResolver java.util.Iterator
StackMap stack: org.springframework.expression.AccessException
astore 8
start local 8 9: new org.springframework.expression.spel.SpelEvaluationException
dup
aload 0
invokevirtual org.springframework.expression.spel.ast.ConstructorReference.getStartPosition:()I
aload 8
10: getstatic org.springframework.expression.spel.SpelMessage.CONSTRUCTOR_INVOCATION_PROBLEM:Lorg/springframework/expression/spel/SpelMessage;
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
11: ldc ""
aload 2
invokestatic org.springframework.expression.spel.ast.FormatHelper.formatMethodForMessage:(Ljava/lang/String;Ljava/util/List;)Ljava/lang/String;
12: aastore
invokespecial org.springframework.expression.spel.SpelEvaluationException.<init>:(ILjava/lang/Throwable;Lorg/springframework/expression/spel/SpelMessage;[Ljava/lang/Object;)V
athrow
end local 8 end local 6 13: StackMap locals: org.springframework.expression.spel.ast.ConstructorReference java.lang.String java.util.List org.springframework.expression.spel.ExpressionState org.springframework.expression.EvaluationContext java.util.List top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
14: new org.springframework.expression.spel.SpelEvaluationException
dup
aload 0
invokevirtual org.springframework.expression.spel.ast.ConstructorReference.getStartPosition:()I
getstatic org.springframework.expression.spel.SpelMessage.CONSTRUCTOR_NOT_FOUND:Lorg/springframework/expression/spel/SpelMessage;
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
15: ldc ""
aload 2
invokestatic org.springframework.expression.spel.ast.FormatHelper.formatMethodForMessage:(Ljava/lang/String;Ljava/util/List;)Ljava/lang/String;
16: aastore
invokespecial org.springframework.expression.spel.SpelEvaluationException.<init>:(ILorg/springframework/expression/spel/SpelMessage;[Ljava/lang/Object;)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 17 0 this Lorg/springframework/expression/spel/ast/ConstructorReference;
0 17 1 typeName Ljava/lang/String;
0 17 2 argumentTypes Ljava/util/List<Lorg/springframework/core/convert/TypeDescriptor;>;
0 17 3 state Lorg/springframework/expression/spel/ExpressionState;
1 17 4 evalContext Lorg/springframework/expression/EvaluationContext;
2 17 5 ctorResolvers Ljava/util/List<Lorg/springframework/expression/ConstructorResolver;>;
4 13 6 ctorResolver Lorg/springframework/expression/ConstructorResolver;
5 8 8 ce Lorg/springframework/expression/ConstructorExecutor;
9 13 8 ex Lorg/springframework/expression/AccessException;
Exception table:
from to target type
4 7 8 Class org.springframework.expression.AccessException
Exceptions:
throws org.springframework.expression.spel.SpelEvaluationException
Signature: (Ljava/lang/String;Ljava/util/List<Lorg/springframework/core/convert/TypeDescriptor;>;Lorg/springframework/expression/spel/ExpressionState;)Lorg/springframework/expression/ConstructorExecutor;
MethodParameters:
Name Flags
typeName
argumentTypes
state
public java.lang.String toStringAST();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "new "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: aload 1
aload 0
iload 2
iinc 2 1
invokevirtual org.springframework.expression.spel.ast.ConstructorReference.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
3: aload 1
ldc "("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
4: iload 2
istore 3
start local 3 5: goto 10
6: StackMap locals: java.lang.StringBuilder int int
StackMap stack:
iload 3
iload 2
if_icmple 8
7: aload 1
ldc ","
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
8: StackMap locals:
StackMap stack:
aload 1
aload 0
iload 3
invokevirtual org.springframework.expression.spel.ast.ConstructorReference.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
9: iinc 3 1
StackMap locals:
StackMap stack:
10: iload 3
aload 0
invokevirtual org.springframework.expression.spel.ast.ConstructorReference.getChildCount:()I
if_icmplt 6
end local 3 11: aload 1
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
12: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/springframework/expression/spel/ast/ConstructorReference;
1 13 1 sb Ljava/lang/StringBuilder;
2 13 2 index I
5 11 3 i I
private org.springframework.expression.TypedValue createArray(org.springframework.expression.spel.ExpressionState);
descriptor: (Lorg/springframework/expression/spel/ExpressionState;)Lorg/springframework/expression/TypedValue;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=11, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
invokevirtual org.springframework.expression.spel.ast.ConstructorReference.getChild:(I)Lorg/springframework/expression/spel/SpelNode;
aload 1
invokeinterface org.springframework.expression.spel.SpelNode.getValue:(Lorg/springframework/expression/spel/ExpressionState;)Ljava/lang/Object;
astore 2
start local 2 1: aload 2
instanceof java.lang.String
ifne 8
2: new org.springframework.expression.spel.SpelEvaluationException
dup
aload 0
iconst_0
invokevirtual org.springframework.expression.spel.ast.ConstructorReference.getChild:(I)Lorg/springframework/expression/spel/SpelNode;
invokeinterface org.springframework.expression.spel.SpelNode.getStartPosition:()I
3: getstatic org.springframework.expression.spel.SpelMessage.TYPE_NAME_EXPECTED_FOR_ARRAY_CONSTRUCTION:Lorg/springframework/expression/spel/SpelMessage;
iconst_1
anewarray java.lang.Object
dup
iconst_0
4: aload 2
ifnull 5
aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
goto 6
StackMap locals: org.springframework.expression.spel.ast.ConstructorReference org.springframework.expression.spel.ExpressionState java.lang.Object
StackMap stack: new 2 new 2 int org.springframework.expression.spel.SpelMessage java.lang.Object[] java.lang.Object[] int
5: aconst_null
6: StackMap locals: org.springframework.expression.spel.ast.ConstructorReference org.springframework.expression.spel.ExpressionState java.lang.Object
StackMap stack: new 2 new 2 int org.springframework.expression.spel.SpelMessage java.lang.Object[] java.lang.Object[] int java.lang.Class
invokestatic org.springframework.expression.spel.ast.FormatHelper.formatClassNameForMessage:(Ljava/lang/Class;)Ljava/lang/String;
7: aastore
invokespecial org.springframework.expression.spel.SpelEvaluationException.<init>:(ILorg/springframework/expression/spel/SpelMessage;[Ljava/lang/Object;)V
athrow
8: StackMap locals:
StackMap stack:
aload 2
checkcast java.lang.String
astore 3
start local 3 9: aload 3
invokestatic org.springframework.expression.spel.ast.TypeCode.forName:(Ljava/lang/String;)Lorg/springframework/expression/spel/ast/TypeCode;
astore 5
start local 5 10: aload 5
getstatic org.springframework.expression.spel.ast.TypeCode.OBJECT:Lorg/springframework/expression/spel/ast/TypeCode;
if_acmpne 13
11: aload 1
aload 3
invokevirtual org.springframework.expression.spel.ExpressionState.findType:(Ljava/lang/String;)Ljava/lang/Class;
astore 4
start local 4 12: goto 14
end local 4 13: StackMap locals: org.springframework.expression.spel.ast.ConstructorReference org.springframework.expression.spel.ExpressionState java.lang.Object java.lang.String top org.springframework.expression.spel.ast.TypeCode
StackMap stack:
aload 5
invokevirtual org.springframework.expression.spel.ast.TypeCode.getType:()Ljava/lang/Class;
astore 4
start local 4 14: StackMap locals: org.springframework.expression.spel.ast.ConstructorReference org.springframework.expression.spel.ExpressionState java.lang.Object java.lang.String java.lang.Class org.springframework.expression.spel.ast.TypeCode
StackMap stack:
aload 0
invokevirtual org.springframework.expression.spel.ast.ConstructorReference.hasInitializer:()Z
ifne 37
15: aload 0
getfield org.springframework.expression.spel.ast.ConstructorReference.dimensions:[Lorg/springframework/expression/spel/ast/SpelNodeImpl;
ifnull 22
16: aload 0
getfield org.springframework.expression.spel.ast.ConstructorReference.dimensions:[Lorg/springframework/expression/spel/ast/SpelNodeImpl;
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 21
StackMap locals: org.springframework.expression.spel.ast.ConstructorReference org.springframework.expression.spel.ExpressionState java.lang.Object java.lang.String java.lang.Class org.springframework.expression.spel.ast.TypeCode top top int int org.springframework.expression.spel.ast.SpelNodeImpl[]
StackMap stack:
17: aload 10
iload 8
aaload
astore 7
start local 7 18: aload 7
ifnonnull 20
19: new org.springframework.expression.spel.SpelEvaluationException
dup
aload 0
invokevirtual org.springframework.expression.spel.ast.ConstructorReference.getStartPosition:()I
getstatic org.springframework.expression.spel.SpelMessage.MISSING_ARRAY_DIMENSION:Lorg/springframework/expression/spel/SpelMessage;
iconst_0
anewarray java.lang.Object
invokespecial org.springframework.expression.spel.SpelEvaluationException.<init>:(ILorg/springframework/expression/spel/SpelMessage;[Ljava/lang/Object;)V
athrow
end local 7 20: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
21: iload 8
iload 9
if_icmplt 17
22: StackMap locals: org.springframework.expression.spel.ast.ConstructorReference org.springframework.expression.spel.ExpressionState java.lang.Object java.lang.String java.lang.Class org.springframework.expression.spel.ast.TypeCode
StackMap stack:
aload 1
invokevirtual org.springframework.expression.spel.ExpressionState.getEvaluationContext:()Lorg/springframework/expression/EvaluationContext;
invokeinterface org.springframework.expression.EvaluationContext.getTypeConverter:()Lorg/springframework/expression/TypeConverter;
astore 7
start local 7 23: aload 0
getfield org.springframework.expression.spel.ast.ConstructorReference.dimensions:[Lorg/springframework/expression/spel/ast/SpelNodeImpl;
arraylength
iconst_1
if_icmpne 28
24: aload 0
getfield org.springframework.expression.spel.ast.ConstructorReference.dimensions:[Lorg/springframework/expression/spel/ast/SpelNodeImpl;
iconst_0
aaload
aload 1
invokevirtual org.springframework.expression.spel.ast.SpelNodeImpl.getTypedValue:(Lorg/springframework/expression/spel/ExpressionState;)Lorg/springframework/expression/TypedValue;
astore 8
start local 8 25: aload 7
aload 8
invokestatic org.springframework.expression.common.ExpressionUtils.toInt:(Lorg/springframework/expression/TypeConverter;Lorg/springframework/expression/TypedValue;)I
istore 9
start local 9 26: aload 4
iload 9
invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
astore 6
end local 9 end local 8 start local 6 27: goto 78
end local 6 28: StackMap locals: org.springframework.expression.spel.ast.ConstructorReference org.springframework.expression.spel.ExpressionState java.lang.Object java.lang.String java.lang.Class org.springframework.expression.spel.ast.TypeCode top org.springframework.expression.TypeConverter
StackMap stack:
aload 0
getfield org.springframework.expression.spel.ast.ConstructorReference.dimensions:[Lorg/springframework/expression/spel/ast/SpelNodeImpl;
arraylength
newarray 10
astore 8
start local 8 29: iconst_0
istore 9
start local 9 30: goto 34
31: StackMap locals: int[] int
StackMap stack:
aload 0
getfield org.springframework.expression.spel.ast.ConstructorReference.dimensions:[Lorg/springframework/expression/spel/ast/SpelNodeImpl;
iload 9
aaload
aload 1
invokevirtual org.springframework.expression.spel.ast.SpelNodeImpl.getTypedValue:(Lorg/springframework/expression/spel/ExpressionState;)Lorg/springframework/expression/TypedValue;
astore 10
start local 10 32: aload 8
iload 9
aload 7
aload 10
invokestatic org.springframework.expression.common.ExpressionUtils.toInt:(Lorg/springframework/expression/TypeConverter;Lorg/springframework/expression/TypedValue;)I
iastore
end local 10 33: iinc 9 1
StackMap locals:
StackMap stack:
34: iload 9
aload 0
getfield org.springframework.expression.spel.ast.ConstructorReference.dimensions:[Lorg/springframework/expression/spel/ast/SpelNodeImpl;
arraylength
if_icmplt 31
end local 9 35: aload 4
aload 8
invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;[I)Ljava/lang/Object;
astore 6
end local 8 end local 7 start local 6 36: goto 78
end local 6 37: StackMap locals: org.springframework.expression.spel.ast.ConstructorReference org.springframework.expression.spel.ExpressionState java.lang.Object java.lang.String java.lang.Class org.springframework.expression.spel.ast.TypeCode
StackMap stack:
aload 0
getfield org.springframework.expression.spel.ast.ConstructorReference.dimensions:[Lorg/springframework/expression/spel/ast/SpelNodeImpl;
ifnull 38
aload 0
getfield org.springframework.expression.spel.ast.ConstructorReference.dimensions:[Lorg/springframework/expression/spel/ast/SpelNodeImpl;
arraylength
iconst_1
if_icmple 41
38: StackMap locals:
StackMap stack:
new org.springframework.expression.spel.SpelEvaluationException
dup
aload 0
invokevirtual org.springframework.expression.spel.ast.ConstructorReference.getStartPosition:()I
39: getstatic org.springframework.expression.spel.SpelMessage.MULTIDIM_ARRAY_INITIALIZER_NOT_SUPPORTED:Lorg/springframework/expression/spel/SpelMessage;
40: iconst_0
anewarray java.lang.Object
invokespecial org.springframework.expression.spel.SpelEvaluationException.<init>:(ILorg/springframework/expression/spel/SpelMessage;[Ljava/lang/Object;)V
athrow
41: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.springframework.expression.spel.ExpressionState.getEvaluationContext:()Lorg/springframework/expression/EvaluationContext;
invokeinterface org.springframework.expression.EvaluationContext.getTypeConverter:()Lorg/springframework/expression/TypeConverter;
astore 7
start local 7 42: aload 0
iconst_1
invokevirtual org.springframework.expression.spel.ast.ConstructorReference.getChild:(I)Lorg/springframework/expression/spel/SpelNode;
checkcast org.springframework.expression.spel.ast.InlineList
astore 8
start local 8 43: aload 0
getfield org.springframework.expression.spel.ast.ConstructorReference.dimensions:[Lorg/springframework/expression/spel/ast/SpelNodeImpl;
iconst_0
aaload
ifnull 48
44: aload 0
getfield org.springframework.expression.spel.ast.ConstructorReference.dimensions:[Lorg/springframework/expression/spel/ast/SpelNodeImpl;
iconst_0
aaload
aload 1
invokevirtual org.springframework.expression.spel.ast.SpelNodeImpl.getTypedValue:(Lorg/springframework/expression/spel/ExpressionState;)Lorg/springframework/expression/TypedValue;
astore 9
start local 9 45: aload 7
aload 9
invokestatic org.springframework.expression.common.ExpressionUtils.toInt:(Lorg/springframework/expression/TypeConverter;Lorg/springframework/expression/TypedValue;)I
istore 10
start local 10 46: iload 10
aload 8
invokevirtual org.springframework.expression.spel.ast.InlineList.getChildCount:()I
if_icmpeq 48
47: new org.springframework.expression.spel.SpelEvaluationException
dup
aload 0
invokevirtual org.springframework.expression.spel.ast.ConstructorReference.getStartPosition:()I
getstatic org.springframework.expression.spel.SpelMessage.INITIALIZER_LENGTH_INCORRECT:Lorg/springframework/expression/spel/SpelMessage;
iconst_0
anewarray java.lang.Object
invokespecial org.springframework.expression.spel.SpelEvaluationException.<init>:(ILorg/springframework/expression/spel/SpelMessage;[Ljava/lang/Object;)V
athrow
end local 10 end local 9 48: StackMap locals: org.springframework.expression.spel.ast.ConstructorReference org.springframework.expression.spel.ExpressionState java.lang.Object java.lang.String java.lang.Class org.springframework.expression.spel.ast.TypeCode top org.springframework.expression.TypeConverter org.springframework.expression.spel.ast.InlineList
StackMap stack:
aload 8
invokevirtual org.springframework.expression.spel.ast.InlineList.getChildCount:()I
istore 9
start local 9 49: aload 4
iload 9
invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
astore 6
start local 6 50: aload 5
getstatic org.springframework.expression.spel.ast.TypeCode.OBJECT:Lorg/springframework/expression/spel/ast/TypeCode;
if_acmpne 53
51: aload 0
aload 1
aload 6
aload 7
aload 8
aload 4
invokevirtual org.springframework.expression.spel.ast.ConstructorReference.populateReferenceTypeArray:(Lorg/springframework/expression/spel/ExpressionState;Ljava/lang/Object;Lorg/springframework/expression/TypeConverter;Lorg/springframework/expression/spel/ast/InlineList;Ljava/lang/Class;)V
52: goto 78
53: StackMap locals: org.springframework.expression.spel.ast.ConstructorReference org.springframework.expression.spel.ExpressionState java.lang.Object java.lang.String java.lang.Class org.springframework.expression.spel.ast.TypeCode java.lang.Object org.springframework.expression.TypeConverter org.springframework.expression.spel.ast.InlineList int
StackMap stack:
aload 5
getstatic org.springframework.expression.spel.ast.TypeCode.BOOLEAN:Lorg/springframework/expression/spel/ast/TypeCode;
if_acmpne 56
54: aload 0
aload 1
aload 6
aload 7
aload 8
invokevirtual org.springframework.expression.spel.ast.ConstructorReference.populateBooleanArray:(Lorg/springframework/expression/spel/ExpressionState;Ljava/lang/Object;Lorg/springframework/expression/TypeConverter;Lorg/springframework/expression/spel/ast/InlineList;)V
55: goto 78
56: StackMap locals:
StackMap stack:
aload 5
getstatic org.springframework.expression.spel.ast.TypeCode.BYTE:Lorg/springframework/expression/spel/ast/TypeCode;
if_acmpne 59
57: aload 0
aload 1
aload 6
aload 7
aload 8
invokevirtual org.springframework.expression.spel.ast.ConstructorReference.populateByteArray:(Lorg/springframework/expression/spel/ExpressionState;Ljava/lang/Object;Lorg/springframework/expression/TypeConverter;Lorg/springframework/expression/spel/ast/InlineList;)V
58: goto 78
59: StackMap locals:
StackMap stack:
aload 5
getstatic org.springframework.expression.spel.ast.TypeCode.CHAR:Lorg/springframework/expression/spel/ast/TypeCode;
if_acmpne 62
60: aload 0
aload 1
aload 6
aload 7
aload 8
invokevirtual org.springframework.expression.spel.ast.ConstructorReference.populateCharArray:(Lorg/springframework/expression/spel/ExpressionState;Ljava/lang/Object;Lorg/springframework/expression/TypeConverter;Lorg/springframework/expression/spel/ast/InlineList;)V
61: goto 78
62: StackMap locals:
StackMap stack:
aload 5
getstatic org.springframework.expression.spel.ast.TypeCode.DOUBLE:Lorg/springframework/expression/spel/ast/TypeCode;
if_acmpne 65
63: aload 0
aload 1
aload 6
aload 7
aload 8
invokevirtual org.springframework.expression.spel.ast.ConstructorReference.populateDoubleArray:(Lorg/springframework/expression/spel/ExpressionState;Ljava/lang/Object;Lorg/springframework/expression/TypeConverter;Lorg/springframework/expression/spel/ast/InlineList;)V
64: goto 78
65: StackMap locals:
StackMap stack:
aload 5
getstatic org.springframework.expression.spel.ast.TypeCode.FLOAT:Lorg/springframework/expression/spel/ast/TypeCode;
if_acmpne 68
66: aload 0
aload 1
aload 6
aload 7
aload 8
invokevirtual org.springframework.expression.spel.ast.ConstructorReference.populateFloatArray:(Lorg/springframework/expression/spel/ExpressionState;Ljava/lang/Object;Lorg/springframework/expression/TypeConverter;Lorg/springframework/expression/spel/ast/InlineList;)V
67: goto 78
68: StackMap locals:
StackMap stack:
aload 5
getstatic org.springframework.expression.spel.ast.TypeCode.INT:Lorg/springframework/expression/spel/ast/TypeCode;
if_acmpne 71
69: aload 0
aload 1
aload 6
aload 7
aload 8
invokevirtual org.springframework.expression.spel.ast.ConstructorReference.populateIntArray:(Lorg/springframework/expression/spel/ExpressionState;Ljava/lang/Object;Lorg/springframework/expression/TypeConverter;Lorg/springframework/expression/spel/ast/InlineList;)V
70: goto 78
71: StackMap locals:
StackMap stack:
aload 5
getstatic org.springframework.expression.spel.ast.TypeCode.LONG:Lorg/springframework/expression/spel/ast/TypeCode;
if_acmpne 74
72: aload 0
aload 1
aload 6
aload 7
aload 8
invokevirtual org.springframework.expression.spel.ast.ConstructorReference.populateLongArray:(Lorg/springframework/expression/spel/ExpressionState;Ljava/lang/Object;Lorg/springframework/expression/TypeConverter;Lorg/springframework/expression/spel/ast/InlineList;)V
73: goto 78
74: StackMap locals:
StackMap stack:
aload 5
getstatic org.springframework.expression.spel.ast.TypeCode.SHORT:Lorg/springframework/expression/spel/ast/TypeCode;
if_acmpne 77
75: aload 0
aload 1
aload 6
aload 7
aload 8
invokevirtual org.springframework.expression.spel.ast.ConstructorReference.populateShortArray:(Lorg/springframework/expression/spel/ExpressionState;Ljava/lang/Object;Lorg/springframework/expression/TypeConverter;Lorg/springframework/expression/spel/ast/InlineList;)V
76: goto 78
77: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
aload 5
invokevirtual org.springframework.expression.spel.ast.TypeCode.name:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
end local 9 end local 8 end local 7 78: StackMap locals:
StackMap stack:
new org.springframework.expression.TypedValue
dup
aload 6
invokespecial org.springframework.expression.TypedValue.<init>:(Ljava/lang/Object;)V
areturn
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 79 0 this Lorg/springframework/expression/spel/ast/ConstructorReference;
0 79 1 state Lorg/springframework/expression/spel/ExpressionState;
1 79 2 intendedArrayType Ljava/lang/Object;
9 79 3 type Ljava/lang/String;
12 13 4 componentType Ljava/lang/Class<*>;
14 79 4 componentType Ljava/lang/Class<*>;
10 79 5 arrayTypeCode Lorg/springframework/expression/spel/ast/TypeCode;
27 28 6 newArray Ljava/lang/Object;
36 37 6 newArray Ljava/lang/Object;
50 79 6 newArray Ljava/lang/Object;
18 20 7 dimension Lorg/springframework/expression/spel/ast/SpelNodeImpl;
23 36 7 typeConverter Lorg/springframework/expression/TypeConverter;
25 27 8 o Lorg/springframework/expression/TypedValue;
26 27 9 arraySize I
29 36 8 dims [I
30 35 9 d I
32 33 10 o Lorg/springframework/expression/TypedValue;
42 78 7 typeConverter Lorg/springframework/expression/TypeConverter;
43 78 8 initializer Lorg/springframework/expression/spel/ast/InlineList;
45 48 9 dValue Lorg/springframework/expression/TypedValue;
46 48 10 i I
49 78 9 arraySize I
Exceptions:
throws org.springframework.expression.EvaluationException
MethodParameters:
Name Flags
state
private void populateReferenceTypeArray(org.springframework.expression.spel.ExpressionState, , org.springframework.expression.TypeConverter, org.springframework.expression.spel.ast.InlineList, java.lang.Class<?>);
descriptor: (Lorg/springframework/expression/spel/ExpressionState;Ljava/lang/Object;Lorg/springframework/expression/TypeConverter;Lorg/springframework/expression/spel/ast/InlineList;Ljava/lang/Class;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=11, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 5
invokestatic org.springframework.core.convert.TypeDescriptor.valueOf:(Ljava/lang/Class;)Lorg/springframework/core/convert/TypeDescriptor;
astore 6
start local 6 1: aload 2
checkcast java.lang.Object[]
astore 7
start local 7 2: iconst_0
istore 8
start local 8 3: goto 10
4: StackMap locals: org.springframework.core.convert.TypeDescriptor java.lang.Object[] int
StackMap stack:
aload 4
iload 8
invokevirtual org.springframework.expression.spel.ast.InlineList.getChild:(I)Lorg/springframework/expression/spel/SpelNode;
astore 9
start local 9 5: aload 9
aload 1
invokeinterface org.springframework.expression.spel.SpelNode.getValue:(Lorg/springframework/expression/spel/ExpressionState;)Ljava/lang/Object;
astore 10
start local 10 6: aload 7
iload 8
aload 3
aload 10
7: aload 10
invokestatic org.springframework.core.convert.TypeDescriptor.forObject:(Ljava/lang/Object;)Lorg/springframework/core/convert/TypeDescriptor;
aload 6
8: invokeinterface org.springframework.expression.TypeConverter.convertValue:(Ljava/lang/Object;Lorg/springframework/core/convert/TypeDescriptor;Lorg/springframework/core/convert/TypeDescriptor;)Ljava/lang/Object;
aastore
end local 10 end local 9 9: iinc 8 1
StackMap locals:
StackMap stack:
10: iload 8
aload 7
arraylength
if_icmplt 4
end local 8 11: return
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 12 0 this Lorg/springframework/expression/spel/ast/ConstructorReference;
0 12 1 state Lorg/springframework/expression/spel/ExpressionState;
0 12 2 newArray Ljava/lang/Object;
0 12 3 typeConverter Lorg/springframework/expression/TypeConverter;
0 12 4 initializer Lorg/springframework/expression/spel/ast/InlineList;
0 12 5 componentType Ljava/lang/Class<*>;
1 12 6 toTypeDescriptor Lorg/springframework/core/convert/TypeDescriptor;
2 12 7 newObjectArray [Ljava/lang/Object;
3 11 8 i I
5 9 9 elementNode Lorg/springframework/expression/spel/SpelNode;
6 9 10 arrayEntry Ljava/lang/Object;
Signature: (Lorg/springframework/expression/spel/ExpressionState;Ljava/lang/Object;Lorg/springframework/expression/TypeConverter;Lorg/springframework/expression/spel/ast/InlineList;Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
state
newArray
typeConverter
initializer
componentType
private void populateByteArray(org.springframework.expression.spel.ExpressionState, java.lang.Object, org.springframework.expression.TypeConverter, org.springframework.expression.spel.ast.InlineList);
descriptor: (Lorg/springframework/expression/spel/ExpressionState;Ljava/lang/Object;Lorg/springframework/expression/TypeConverter;Lorg/springframework/expression/spel/ast/InlineList;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
checkcast byte[]
astore 5
start local 5 1: iconst_0
istore 6
start local 6 2: goto 6
3: StackMap locals: byte[] int
StackMap stack:
aload 4
iload 6
invokevirtual org.springframework.expression.spel.ast.InlineList.getChild:(I)Lorg/springframework/expression/spel/SpelNode;
aload 1
invokeinterface org.springframework.expression.spel.SpelNode.getTypedValue:(Lorg/springframework/expression/spel/ExpressionState;)Lorg/springframework/expression/TypedValue;
astore 7
start local 7 4: aload 5
iload 6
aload 3
aload 7
invokestatic org.springframework.expression.common.ExpressionUtils.toByte:(Lorg/springframework/expression/TypeConverter;Lorg/springframework/expression/TypedValue;)B
bastore
end local 7 5: iinc 6 1
StackMap locals:
StackMap stack:
6: iload 6
aload 5
arraylength
if_icmplt 3
end local 6 7: 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 8 0 this Lorg/springframework/expression/spel/ast/ConstructorReference;
0 8 1 state Lorg/springframework/expression/spel/ExpressionState;
0 8 2 newArray Ljava/lang/Object;
0 8 3 typeConverter Lorg/springframework/expression/TypeConverter;
0 8 4 initializer Lorg/springframework/expression/spel/ast/InlineList;
1 8 5 newByteArray [B
2 7 6 i I
4 5 7 typedValue Lorg/springframework/expression/TypedValue;
MethodParameters:
Name Flags
state
newArray
typeConverter
initializer
private void populateFloatArray(org.springframework.expression.spel.ExpressionState, java.lang.Object, org.springframework.expression.TypeConverter, org.springframework.expression.spel.ast.InlineList);
descriptor: (Lorg/springframework/expression/spel/ExpressionState;Ljava/lang/Object;Lorg/springframework/expression/TypeConverter;Lorg/springframework/expression/spel/ast/InlineList;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
checkcast float[]
astore 5
start local 5 1: iconst_0
istore 6
start local 6 2: goto 6
3: StackMap locals: float[] int
StackMap stack:
aload 4
iload 6
invokevirtual org.springframework.expression.spel.ast.InlineList.getChild:(I)Lorg/springframework/expression/spel/SpelNode;
aload 1
invokeinterface org.springframework.expression.spel.SpelNode.getTypedValue:(Lorg/springframework/expression/spel/ExpressionState;)Lorg/springframework/expression/TypedValue;
astore 7
start local 7 4: aload 5
iload 6
aload 3
aload 7
invokestatic org.springframework.expression.common.ExpressionUtils.toFloat:(Lorg/springframework/expression/TypeConverter;Lorg/springframework/expression/TypedValue;)F
fastore
end local 7 5: iinc 6 1
StackMap locals:
StackMap stack:
6: iload 6
aload 5
arraylength
if_icmplt 3
end local 6 7: 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 8 0 this Lorg/springframework/expression/spel/ast/ConstructorReference;
0 8 1 state Lorg/springframework/expression/spel/ExpressionState;
0 8 2 newArray Ljava/lang/Object;
0 8 3 typeConverter Lorg/springframework/expression/TypeConverter;
0 8 4 initializer Lorg/springframework/expression/spel/ast/InlineList;
1 8 5 newFloatArray [F
2 7 6 i I
4 5 7 typedValue Lorg/springframework/expression/TypedValue;
MethodParameters:
Name Flags
state
newArray
typeConverter
initializer
private void populateDoubleArray(org.springframework.expression.spel.ExpressionState, java.lang.Object, org.springframework.expression.TypeConverter, org.springframework.expression.spel.ast.InlineList);
descriptor: (Lorg/springframework/expression/spel/ExpressionState;Ljava/lang/Object;Lorg/springframework/expression/TypeConverter;Lorg/springframework/expression/spel/ast/InlineList;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
checkcast double[]
astore 5
start local 5 1: iconst_0
istore 6
start local 6 2: goto 6
3: StackMap locals: double[] int
StackMap stack:
aload 4
iload 6
invokevirtual org.springframework.expression.spel.ast.InlineList.getChild:(I)Lorg/springframework/expression/spel/SpelNode;
aload 1
invokeinterface org.springframework.expression.spel.SpelNode.getTypedValue:(Lorg/springframework/expression/spel/ExpressionState;)Lorg/springframework/expression/TypedValue;
astore 7
start local 7 4: aload 5
iload 6
aload 3
aload 7
invokestatic org.springframework.expression.common.ExpressionUtils.toDouble:(Lorg/springframework/expression/TypeConverter;Lorg/springframework/expression/TypedValue;)D
dastore
end local 7 5: iinc 6 1
StackMap locals:
StackMap stack:
6: iload 6
aload 5
arraylength
if_icmplt 3
end local 6 7: 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 8 0 this Lorg/springframework/expression/spel/ast/ConstructorReference;
0 8 1 state Lorg/springframework/expression/spel/ExpressionState;
0 8 2 newArray Ljava/lang/Object;
0 8 3 typeConverter Lorg/springframework/expression/TypeConverter;
0 8 4 initializer Lorg/springframework/expression/spel/ast/InlineList;
1 8 5 newDoubleArray [D
2 7 6 i I
4 5 7 typedValue Lorg/springframework/expression/TypedValue;
MethodParameters:
Name Flags
state
newArray
typeConverter
initializer
private void populateShortArray(org.springframework.expression.spel.ExpressionState, java.lang.Object, org.springframework.expression.TypeConverter, org.springframework.expression.spel.ast.InlineList);
descriptor: (Lorg/springframework/expression/spel/ExpressionState;Ljava/lang/Object;Lorg/springframework/expression/TypeConverter;Lorg/springframework/expression/spel/ast/InlineList;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
checkcast short[]
astore 5
start local 5 1: iconst_0
istore 6
start local 6 2: goto 6
3: StackMap locals: short[] int
StackMap stack:
aload 4
iload 6
invokevirtual org.springframework.expression.spel.ast.InlineList.getChild:(I)Lorg/springframework/expression/spel/SpelNode;
aload 1
invokeinterface org.springframework.expression.spel.SpelNode.getTypedValue:(Lorg/springframework/expression/spel/ExpressionState;)Lorg/springframework/expression/TypedValue;
astore 7
start local 7 4: aload 5
iload 6
aload 3
aload 7
invokestatic org.springframework.expression.common.ExpressionUtils.toShort:(Lorg/springframework/expression/TypeConverter;Lorg/springframework/expression/TypedValue;)S
sastore
end local 7 5: iinc 6 1
StackMap locals:
StackMap stack:
6: iload 6
aload 5
arraylength
if_icmplt 3
end local 6 7: 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 8 0 this Lorg/springframework/expression/spel/ast/ConstructorReference;
0 8 1 state Lorg/springframework/expression/spel/ExpressionState;
0 8 2 newArray Ljava/lang/Object;
0 8 3 typeConverter Lorg/springframework/expression/TypeConverter;
0 8 4 initializer Lorg/springframework/expression/spel/ast/InlineList;
1 8 5 newShortArray [S
2 7 6 i I
4 5 7 typedValue Lorg/springframework/expression/TypedValue;
MethodParameters:
Name Flags
state
newArray
typeConverter
initializer
private void populateLongArray(org.springframework.expression.spel.ExpressionState, java.lang.Object, org.springframework.expression.TypeConverter, org.springframework.expression.spel.ast.InlineList);
descriptor: (Lorg/springframework/expression/spel/ExpressionState;Ljava/lang/Object;Lorg/springframework/expression/TypeConverter;Lorg/springframework/expression/spel/ast/InlineList;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
checkcast long[]
astore 5
start local 5 1: iconst_0
istore 6
start local 6 2: goto 6
3: StackMap locals: long[] int
StackMap stack:
aload 4
iload 6
invokevirtual org.springframework.expression.spel.ast.InlineList.getChild:(I)Lorg/springframework/expression/spel/SpelNode;
aload 1
invokeinterface org.springframework.expression.spel.SpelNode.getTypedValue:(Lorg/springframework/expression/spel/ExpressionState;)Lorg/springframework/expression/TypedValue;
astore 7
start local 7 4: aload 5
iload 6
aload 3
aload 7
invokestatic org.springframework.expression.common.ExpressionUtils.toLong:(Lorg/springframework/expression/TypeConverter;Lorg/springframework/expression/TypedValue;)J
lastore
end local 7 5: iinc 6 1
StackMap locals:
StackMap stack:
6: iload 6
aload 5
arraylength
if_icmplt 3
end local 6 7: 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 8 0 this Lorg/springframework/expression/spel/ast/ConstructorReference;
0 8 1 state Lorg/springframework/expression/spel/ExpressionState;
0 8 2 newArray Ljava/lang/Object;
0 8 3 typeConverter Lorg/springframework/expression/TypeConverter;
0 8 4 initializer Lorg/springframework/expression/spel/ast/InlineList;
1 8 5 newLongArray [J
2 7 6 i I
4 5 7 typedValue Lorg/springframework/expression/TypedValue;
MethodParameters:
Name Flags
state
newArray
typeConverter
initializer
private void populateCharArray(org.springframework.expression.spel.ExpressionState, java.lang.Object, org.springframework.expression.TypeConverter, org.springframework.expression.spel.ast.InlineList);
descriptor: (Lorg/springframework/expression/spel/ExpressionState;Ljava/lang/Object;Lorg/springframework/expression/TypeConverter;Lorg/springframework/expression/spel/ast/InlineList;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
checkcast char[]
astore 5
start local 5 1: iconst_0
istore 6
start local 6 2: goto 6
3: StackMap locals: char[] int
StackMap stack:
aload 4
iload 6
invokevirtual org.springframework.expression.spel.ast.InlineList.getChild:(I)Lorg/springframework/expression/spel/SpelNode;
aload 1
invokeinterface org.springframework.expression.spel.SpelNode.getTypedValue:(Lorg/springframework/expression/spel/ExpressionState;)Lorg/springframework/expression/TypedValue;
astore 7
start local 7 4: aload 5
iload 6
aload 3
aload 7
invokestatic org.springframework.expression.common.ExpressionUtils.toChar:(Lorg/springframework/expression/TypeConverter;Lorg/springframework/expression/TypedValue;)C
castore
end local 7 5: iinc 6 1
StackMap locals:
StackMap stack:
6: iload 6
aload 5
arraylength
if_icmplt 3
end local 6 7: 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 8 0 this Lorg/springframework/expression/spel/ast/ConstructorReference;
0 8 1 state Lorg/springframework/expression/spel/ExpressionState;
0 8 2 newArray Ljava/lang/Object;
0 8 3 typeConverter Lorg/springframework/expression/TypeConverter;
0 8 4 initializer Lorg/springframework/expression/spel/ast/InlineList;
1 8 5 newCharArray [C
2 7 6 i I
4 5 7 typedValue Lorg/springframework/expression/TypedValue;
MethodParameters:
Name Flags
state
newArray
typeConverter
initializer
private void populateBooleanArray(org.springframework.expression.spel.ExpressionState, java.lang.Object, org.springframework.expression.TypeConverter, org.springframework.expression.spel.ast.InlineList);
descriptor: (Lorg/springframework/expression/spel/ExpressionState;Ljava/lang/Object;Lorg/springframework/expression/TypeConverter;Lorg/springframework/expression/spel/ast/InlineList;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
checkcast boolean[]
astore 5
start local 5 1: iconst_0
istore 6
start local 6 2: goto 6
3: StackMap locals: boolean[] int
StackMap stack:
aload 4
iload 6
invokevirtual org.springframework.expression.spel.ast.InlineList.getChild:(I)Lorg/springframework/expression/spel/SpelNode;
aload 1
invokeinterface org.springframework.expression.spel.SpelNode.getTypedValue:(Lorg/springframework/expression/spel/ExpressionState;)Lorg/springframework/expression/TypedValue;
astore 7
start local 7 4: aload 5
iload 6
aload 3
aload 7
invokestatic org.springframework.expression.common.ExpressionUtils.toBoolean:(Lorg/springframework/expression/TypeConverter;Lorg/springframework/expression/TypedValue;)Z
bastore
end local 7 5: iinc 6 1
StackMap locals:
StackMap stack:
6: iload 6
aload 5
arraylength
if_icmplt 3
end local 6 7: 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 8 0 this Lorg/springframework/expression/spel/ast/ConstructorReference;
0 8 1 state Lorg/springframework/expression/spel/ExpressionState;
0 8 2 newArray Ljava/lang/Object;
0 8 3 typeConverter Lorg/springframework/expression/TypeConverter;
0 8 4 initializer Lorg/springframework/expression/spel/ast/InlineList;
1 8 5 newBooleanArray [Z
2 7 6 i I
4 5 7 typedValue Lorg/springframework/expression/TypedValue;
MethodParameters:
Name Flags
state
newArray
typeConverter
initializer
private void populateIntArray(org.springframework.expression.spel.ExpressionState, java.lang.Object, org.springframework.expression.TypeConverter, org.springframework.expression.spel.ast.InlineList);
descriptor: (Lorg/springframework/expression/spel/ExpressionState;Ljava/lang/Object;Lorg/springframework/expression/TypeConverter;Lorg/springframework/expression/spel/ast/InlineList;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
checkcast int[]
astore 5
start local 5 1: iconst_0
istore 6
start local 6 2: goto 6
3: StackMap locals: int[] int
StackMap stack:
aload 4
iload 6
invokevirtual org.springframework.expression.spel.ast.InlineList.getChild:(I)Lorg/springframework/expression/spel/SpelNode;
aload 1
invokeinterface org.springframework.expression.spel.SpelNode.getTypedValue:(Lorg/springframework/expression/spel/ExpressionState;)Lorg/springframework/expression/TypedValue;
astore 7
start local 7 4: aload 5
iload 6
aload 3
aload 7
invokestatic org.springframework.expression.common.ExpressionUtils.toInt:(Lorg/springframework/expression/TypeConverter;Lorg/springframework/expression/TypedValue;)I
iastore
end local 7 5: iinc 6 1
StackMap locals:
StackMap stack:
6: iload 6
aload 5
arraylength
if_icmplt 3
end local 6 7: 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 8 0 this Lorg/springframework/expression/spel/ast/ConstructorReference;
0 8 1 state Lorg/springframework/expression/spel/ExpressionState;
0 8 2 newArray Ljava/lang/Object;
0 8 3 typeConverter Lorg/springframework/expression/TypeConverter;
0 8 4 initializer Lorg/springframework/expression/spel/ast/InlineList;
1 8 5 newIntArray [I
2 7 6 i I
4 5 7 typedValue Lorg/springframework/expression/TypedValue;
MethodParameters:
Name Flags
state
newArray
typeConverter
initializer
private boolean hasInitializer();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.springframework.expression.spel.ast.ConstructorReference.getChildCount:()I
iconst_1
if_icmple 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/expression/spel/ast/ConstructorReference;
public boolean isCompilable();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield org.springframework.expression.spel.ast.ConstructorReference.cachedExecutor:Lorg/springframework/expression/ConstructorExecutor;
instanceof org.springframework.expression.spel.support.ReflectiveConstructorExecutor
ifeq 2
1: aload 0
getfield org.springframework.expression.spel.ast.ConstructorReference.exitTypeDescriptor:Ljava/lang/String;
ifnonnull 3
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.springframework.expression.spel.ast.ConstructorReference.getChildCount:()I
iconst_1
if_icmple 11
4: iconst_1
istore 1
start local 1 5: aload 0
invokevirtual org.springframework.expression.spel.ast.ConstructorReference.getChildCount:()I
istore 2
start local 2 6: goto 10
7: StackMap locals: int int
StackMap stack:
aload 0
getfield org.springframework.expression.spel.ast.ConstructorReference.children:[Lorg/springframework/expression/spel/ast/SpelNodeImpl;
iload 1
aaload
invokevirtual org.springframework.expression.spel.ast.SpelNodeImpl.isCompilable:()Z
ifne 9
8: iconst_0
ireturn
9: StackMap locals:
StackMap stack:
iinc 1 1
StackMap locals:
StackMap stack:
10: iload 1
iload 2
if_icmplt 7
end local 2 end local 1 11: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.expression.spel.ast.ConstructorReference.cachedExecutor:Lorg/springframework/expression/ConstructorExecutor;
checkcast org.springframework.expression.spel.support.ReflectiveConstructorExecutor
astore 1
start local 1 12: aload 1
ifnonnull 14
13: iconst_0
ireturn
14: StackMap locals: org.springframework.expression.spel.support.ReflectiveConstructorExecutor
StackMap stack:
aload 1
invokevirtual org.springframework.expression.spel.support.ReflectiveConstructorExecutor.getConstructor:()Ljava/lang/reflect/Constructor;
astore 2
start local 2 15: aload 2
invokevirtual java.lang.reflect.Constructor.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
ifeq 18
16: aload 2
invokevirtual java.lang.reflect.Constructor.getDeclaringClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
ifeq 18
17: iconst_1
ireturn
StackMap locals: java.lang.reflect.Constructor
StackMap stack:
18: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/springframework/expression/spel/ast/ConstructorReference;
5 11 1 c I
6 11 2 max I
12 19 1 executor Lorg/springframework/expression/spel/support/ReflectiveConstructorExecutor;
15 19 2 constructor Ljava/lang/reflect/Constructor<*>;
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=6, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.springframework.expression.spel.ast.ConstructorReference.cachedExecutor:Lorg/springframework/expression/ConstructorExecutor;
checkcast org.springframework.expression.spel.support.ReflectiveConstructorExecutor
astore 3
start local 3 1: aload 3
ifnull 2
iconst_1
goto 3
StackMap locals: org.springframework.expression.spel.support.ReflectiveConstructorExecutor
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: ldc "No cached executor"
invokestatic org.springframework.util.Assert.state:(ZLjava/lang/String;)V
4: aload 3
invokevirtual org.springframework.expression.spel.support.ReflectiveConstructorExecutor.getConstructor:()Ljava/lang/reflect/Constructor;
astore 4
start local 4 5: aload 4
invokevirtual java.lang.reflect.Constructor.getDeclaringClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
bipush 46
bipush 47
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
astore 5
start local 5 6: aload 1
sipush 187
aload 5
invokevirtual org.springframework.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
7: aload 1
bipush 89
invokevirtual org.springframework.asm.MethodVisitor.visitInsn:(I)V
8: aload 0
getfield org.springframework.expression.spel.ast.ConstructorReference.children:[Lorg/springframework/expression/spel/ast/SpelNodeImpl;
arraylength
iconst_1
isub
anewarray org.springframework.expression.spel.ast.SpelNodeImpl
astore 6
start local 6 9: aload 0
getfield org.springframework.expression.spel.ast.ConstructorReference.children:[Lorg/springframework/expression/spel/ast/SpelNodeImpl;
iconst_1
aload 6
iconst_0
aload 0
getfield org.springframework.expression.spel.ast.ConstructorReference.children:[Lorg/springframework/expression/spel/ast/SpelNodeImpl;
arraylength
iconst_1
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
10: aload 1
aload 2
aload 4
aload 6
invokestatic org.springframework.expression.spel.ast.ConstructorReference.generateCodeForArguments:(Lorg/springframework/asm/MethodVisitor;Lorg/springframework/expression/spel/CodeFlow;Ljava/lang/reflect/Member;[Lorg/springframework/expression/spel/ast/SpelNodeImpl;)V
11: aload 1
sipush 183
aload 5
ldc "<init>"
aload 4
invokestatic org.springframework.expression.spel.CodeFlow.createSignatureDescriptor:(Ljava/lang/reflect/Constructor;)Ljava/lang/String;
iconst_0
invokevirtual org.springframework.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
12: aload 2
aload 0
getfield org.springframework.expression.spel.ast.ConstructorReference.exitTypeDescriptor:Ljava/lang/String;
invokevirtual org.springframework.expression.spel.CodeFlow.pushDescriptor:(Ljava/lang/String;)V
13: 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 14 0 this Lorg/springframework/expression/spel/ast/ConstructorReference;
0 14 1 mv Lorg/springframework/asm/MethodVisitor;
0 14 2 cf Lorg/springframework/expression/spel/CodeFlow;
1 14 3 executor Lorg/springframework/expression/spel/support/ReflectiveConstructorExecutor;
5 14 4 constructor Ljava/lang/reflect/Constructor<*>;
6 14 5 classDesc Ljava/lang/String;
9 14 6 arguments [Lorg/springframework/expression/spel/ast/SpelNodeImpl;
MethodParameters:
Name Flags
mv
cf
}
SourceFile: "ConstructorReference.java"