public class org.springframework.context.expression.MapAccessor implements org.springframework.expression.spel.CompilablePropertyAccessor
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.springframework.context.expression.MapAccessor
super_class: java.lang.Object
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/context/expression/MapAccessor;
public java.lang.Class<?>[] getSpecificTargetClasses();
descriptor: ()[Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/util/Map;
aastore
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/context/expression/MapAccessor;
Signature: ()[Ljava/lang/Class<*>;
public boolean canRead(org.springframework.expression.EvaluationContext, java.lang.Object, java.lang.String);
descriptor: (Lorg/springframework/expression/EvaluationContext;Ljava/lang/Object;Ljava/lang/String;)Z
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 2
instanceof java.util.Map
ifeq 1
aload 2
checkcast java.util.Map
aload 3
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/context/expression/MapAccessor;
0 2 1 context Lorg/springframework/expression/EvaluationContext;
0 2 2 target Ljava/lang/Object;
0 2 3 name Ljava/lang/String;
Exceptions:
throws org.springframework.expression.AccessException
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
2:
MethodParameters:
Name Flags
context
target
name
public org.springframework.expression.TypedValue read(org.springframework.expression.EvaluationContext, java.lang.Object, java.lang.String);
descriptor: (Lorg/springframework/expression/EvaluationContext;Ljava/lang/Object;Ljava/lang/String;)Lorg/springframework/expression/TypedValue;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
instanceof java.util.Map
ldc "Target must be of type Map"
invokestatic org.springframework.util.Assert.state:(ZLjava/lang/String;)V
1: aload 2
checkcast java.util.Map
astore 4
start local 4 2: aload 4
aload 3
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 5
start local 5 3: aload 5
ifnonnull 5
aload 4
aload 3
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifne 5
4: new org.springframework.context.expression.MapAccessor$MapAccessException
dup
aload 3
invokespecial org.springframework.context.expression.MapAccessor$MapAccessException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: java.util.Map java.lang.Object
StackMap stack:
new org.springframework.expression.TypedValue
dup
aload 5
invokespecial org.springframework.expression.TypedValue.<init>:(Ljava/lang/Object;)V
areturn
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 6 0 this Lorg/springframework/context/expression/MapAccessor;
0 6 1 context Lorg/springframework/expression/EvaluationContext;
0 6 2 target Ljava/lang/Object;
0 6 3 name Ljava/lang/String;
2 6 4 map Ljava/util/Map<**>;
3 6 5 value Ljava/lang/Object;
Exceptions:
throws org.springframework.expression.AccessException
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
2:
MethodParameters:
Name Flags
context
target
name
public boolean canWrite(org.springframework.expression.EvaluationContext, java.lang.Object, java.lang.String);
descriptor: (Lorg/springframework/expression/EvaluationContext;Ljava/lang/Object;Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/context/expression/MapAccessor;
0 1 1 context Lorg/springframework/expression/EvaluationContext;
0 1 2 target Ljava/lang/Object;
0 1 3 name Ljava/lang/String;
Exceptions:
throws org.springframework.expression.AccessException
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
2:
MethodParameters:
Name Flags
context
target
name
public void write(org.springframework.expression.EvaluationContext, java.lang.Object, java.lang.String, java.lang.Object);
descriptor: (Lorg/springframework/expression/EvaluationContext;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
instanceof java.util.Map
ldc "Target must be a Map"
invokestatic org.springframework.util.Assert.state:(ZLjava/lang/String;)V
1: aload 2
checkcast java.util.Map
astore 5
start local 5 2: aload 5
aload 3
aload 4
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: 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 4 0 this Lorg/springframework/context/expression/MapAccessor;
0 4 1 context Lorg/springframework/expression/EvaluationContext;
0 4 2 target Ljava/lang/Object;
0 4 3 name Ljava/lang/String;
0 4 4 newValue Ljava/lang/Object;
2 4 5 map Ljava/util/Map<Ljava/lang/Object;Ljava/lang/Object;>;
Exceptions:
throws org.springframework.expression.AccessException
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
2:
3:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
context
target
name
newValue
public boolean isCompilable();
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/context/expression/MapAccessor;
public java.lang.Class<?> getPropertyType();
descriptor: ()Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/context/expression/MapAccessor;
Signature: ()Ljava/lang/Class<*>;
public void generateCode(java.lang.String, org.springframework.asm.MethodVisitor, org.springframework.expression.spel.CodeFlow);
descriptor: (Ljava/lang/String;Lorg/springframework/asm/MethodVisitor;Lorg/springframework/expression/spel/CodeFlow;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
invokevirtual org.springframework.expression.spel.CodeFlow.lastDescriptor:()Ljava/lang/String;
astore 4
start local 4 1: aload 4
ifnull 2
aload 4
ldc "Ljava/util/Map"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 5
2: StackMap locals: java.lang.String
StackMap stack:
aload 4
ifnonnull 4
3: aload 3
aload 2
invokevirtual org.springframework.expression.spel.CodeFlow.loadTarget:(Lorg/springframework/asm/MethodVisitor;)V
4: StackMap locals:
StackMap stack:
aload 2
ldc "Ljava/util/Map"
invokestatic org.springframework.expression.spel.CodeFlow.insertCheckCast:(Lorg/springframework/asm/MethodVisitor;Ljava/lang/String;)V
5: StackMap locals:
StackMap stack:
aload 2
aload 1
invokevirtual org.springframework.asm.MethodVisitor.visitLdcInsn:(Ljava/lang/Object;)V
6: aload 2
sipush 185
ldc "java/util/Map"
ldc "get"
ldc "(Ljava/lang/Object;)Ljava/lang/Object;"
iconst_1
invokevirtual org.springframework.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
7: return
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/context/expression/MapAccessor;
0 8 1 propertyName Ljava/lang/String;
0 8 2 mv Lorg/springframework/asm/MethodVisitor;
0 8 3 cf Lorg/springframework/expression/spel/CodeFlow;
1 8 4 descriptor Ljava/lang/String;
MethodParameters:
Name Flags
propertyName
mv
cf
}
SourceFile: "MapAccessor.java"
NestMembers:
org.springframework.context.expression.MapAccessor$MapAccessException
InnerClasses:
private MapAccessException = org.springframework.context.expression.MapAccessor$MapAccessException of org.springframework.context.expression.MapAccessor