class org.springframework.expression.spel.ast.Indexer$ArrayIndexingValueRef implements org.springframework.expression.spel.ast.ValueRef
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.springframework.expression.spel.ast.Indexer$ArrayIndexingValueRef
super_class: java.lang.Object
{
private final org.springframework.expression.TypeConverter typeConverter;
descriptor: Lorg/springframework/expression/TypeConverter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.Object array;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int index;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.springframework.core.convert.TypeDescriptor typeDescriptor;
descriptor: Lorg/springframework/core/convert/TypeDescriptor;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
final org.springframework.expression.spel.ast.Indexer this$0;
descriptor: Lorg/springframework/expression/spel/ast/Indexer;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(org.springframework.expression.spel.ast.Indexer, org.springframework.expression.TypeConverter, java.lang.Object, int, org.springframework.core.convert.TypeDescriptor);
descriptor: (Lorg/springframework/expression/spel/ast/Indexer;Lorg/springframework/expression/TypeConverter;Ljava/lang/Object;ILorg/springframework/core/convert/TypeDescriptor;)V
flags: (0x0000)
Code:
stack=2, locals=6, args_size=6
start local 0 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
putfield org.springframework.expression.spel.ast.Indexer$ArrayIndexingValueRef.this$0:Lorg/springframework/expression/spel/ast/Indexer;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 2
putfield org.springframework.expression.spel.ast.Indexer$ArrayIndexingValueRef.typeConverter:Lorg/springframework/expression/TypeConverter;
2: aload 0
aload 3
putfield org.springframework.expression.spel.ast.Indexer$ArrayIndexingValueRef.array:Ljava/lang/Object;
3: aload 0
iload 4
putfield org.springframework.expression.spel.ast.Indexer$ArrayIndexingValueRef.index:I
4: aload 0
aload 5
putfield org.springframework.expression.spel.ast.Indexer$ArrayIndexingValueRef.typeDescriptor:Lorg/springframework/core/convert/TypeDescriptor;
5: return
end local 5 end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/springframework/expression/spel/ast/Indexer$ArrayIndexingValueRef;
0 6 2 typeConverter Lorg/springframework/expression/TypeConverter;
0 6 3 array Ljava/lang/Object;
0 6 4 index I
0 6 5 typeDescriptor Lorg/springframework/core/convert/TypeDescriptor;
MethodParameters:
Name Flags
this$0 final
typeConverter
array
index
typeDescriptor
public org.springframework.expression.TypedValue getValue();
descriptor: ()Lorg/springframework/expression/TypedValue;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield org.springframework.expression.spel.ast.Indexer$ArrayIndexingValueRef.this$0:Lorg/springframework/expression/spel/ast/Indexer;
aload 0
getfield org.springframework.expression.spel.ast.Indexer$ArrayIndexingValueRef.array:Ljava/lang/Object;
aload 0
getfield org.springframework.expression.spel.ast.Indexer$ArrayIndexingValueRef.index:I
invokevirtual org.springframework.expression.spel.ast.Indexer.accessArrayElement:(Ljava/lang/Object;I)Ljava/lang/Object;
astore 1
start local 1 1: new org.springframework.expression.TypedValue
dup
aload 1
aload 0
getfield org.springframework.expression.spel.ast.Indexer$ArrayIndexingValueRef.typeDescriptor:Lorg/springframework/core/convert/TypeDescriptor;
aload 1
invokevirtual org.springframework.core.convert.TypeDescriptor.elementTypeDescriptor:(Ljava/lang/Object;)Lorg/springframework/core/convert/TypeDescriptor;
invokespecial org.springframework.expression.TypedValue.<init>:(Ljava/lang/Object;Lorg/springframework/core/convert/TypeDescriptor;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/expression/spel/ast/Indexer$ArrayIndexingValueRef;
1 2 1 arrayElement Ljava/lang/Object;
public void setValue(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.springframework.expression.spel.ast.Indexer$ArrayIndexingValueRef.typeDescriptor:Lorg/springframework/core/convert/TypeDescriptor;
invokevirtual org.springframework.core.convert.TypeDescriptor.getElementTypeDescriptor:()Lorg/springframework/core/convert/TypeDescriptor;
astore 2
start local 2 1: aload 2
ifnull 2
iconst_1
goto 3
StackMap locals: org.springframework.core.convert.TypeDescriptor
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: ldc "No element type"
invokestatic org.springframework.util.Assert.state:(ZLjava/lang/String;)V
4: aload 0
getfield org.springframework.expression.spel.ast.Indexer$ArrayIndexingValueRef.this$0:Lorg/springframework/expression/spel/ast/Indexer;
aload 0
getfield org.springframework.expression.spel.ast.Indexer$ArrayIndexingValueRef.typeConverter:Lorg/springframework/expression/TypeConverter;
aload 0
getfield org.springframework.expression.spel.ast.Indexer$ArrayIndexingValueRef.array:Ljava/lang/Object;
aload 0
getfield org.springframework.expression.spel.ast.Indexer$ArrayIndexingValueRef.index:I
aload 1
aload 2
invokevirtual org.springframework.core.convert.TypeDescriptor.getType:()Ljava/lang/Class;
invokevirtual org.springframework.expression.spel.ast.Indexer.setArrayElement:(Lorg/springframework/expression/TypeConverter;Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Class;)V
5: 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/Indexer$ArrayIndexingValueRef;
0 6 1 newValue Ljava/lang/Object;
1 6 2 elementType Lorg/springframework/core/convert/TypeDescriptor;
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
newValue
public boolean isWritable();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/expression/spel/ast/Indexer$ArrayIndexingValueRef;
}
SourceFile: "Indexer.java"
NestHost: org.springframework.expression.spel.ast.Indexer
InnerClasses:
private ArrayIndexingValueRef = org.springframework.expression.spel.ast.Indexer$ArrayIndexingValueRef of org.springframework.expression.spel.ast.Indexer