public class net.minidev.asm.Accessor
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: net.minidev.asm.Accessor
super_class: java.lang.Object
{
protected java.lang.reflect.Field field;
descriptor: Ljava/lang/reflect/Field;
flags: (0x0004) ACC_PROTECTED
protected java.lang.reflect.Method setter;
descriptor: Ljava/lang/reflect/Method;
flags: (0x0004) ACC_PROTECTED
protected java.lang.reflect.Method getter;
descriptor: Ljava/lang/reflect/Method;
flags: (0x0004) ACC_PROTECTED
protected int index;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected java.lang.Class<?> type;
descriptor: Ljava/lang/Class;
flags: (0x0004) ACC_PROTECTED
Signature: Ljava/lang/Class<*>;
protected java.lang.reflect.Type genericType;
descriptor: Ljava/lang/reflect/Type;
flags: (0x0004) ACC_PROTECTED
protected java.lang.String fieldName;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
public int getIndex();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield net.minidev.asm.Accessor.index:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lnet/minidev/asm/Accessor;
public boolean isPublic();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield net.minidev.asm.Accessor.setter:Ljava/lang/reflect/Method;
ifnonnull 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 Lnet/minidev/asm/Accessor;
public boolean isEnum();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield net.minidev.asm.Accessor.type:Ljava/lang/Class;
invokevirtual java.lang.Class.isEnum:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lnet/minidev/asm/Accessor;
public java.lang.String getName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield net.minidev.asm.Accessor.fieldName:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lnet/minidev/asm/Accessor;
public java.lang.Class<?> getType();
descriptor: ()Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield net.minidev.asm.Accessor.type:Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lnet/minidev/asm/Accessor;
Signature: ()Ljava/lang/Class<*>;
public java.lang.reflect.Type getGenericType();
descriptor: ()Ljava/lang/reflect/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield net.minidev.asm.Accessor.genericType:Ljava/lang/reflect/Type;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lnet/minidev/asm/Accessor;
public boolean isUsable();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield net.minidev.asm.Accessor.field:Ljava/lang/reflect/Field;
ifnonnull 1
aload 0
getfield net.minidev.asm.Accessor.getter:Ljava/lang/reflect/Method;
ifnonnull 1
aload 0
getfield net.minidev.asm.Accessor.setter:Ljava/lang/reflect/Method;
ifnonnull 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lnet/minidev/asm/Accessor;
public boolean isReadable();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield net.minidev.asm.Accessor.field:Ljava/lang/reflect/Field;
ifnonnull 1
aload 0
getfield net.minidev.asm.Accessor.getter:Ljava/lang/reflect/Method;
ifnonnull 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lnet/minidev/asm/Accessor;
public boolean isWritable();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield net.minidev.asm.Accessor.field:Ljava/lang/reflect/Field;
ifnonnull 1
aload 0
getfield net.minidev.asm.Accessor.getter:Ljava/lang/reflect/Method;
ifnonnull 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lnet/minidev/asm/Accessor;
public void <init>(java.lang.Class<?>, java.lang.reflect.Field, net.minidev.asm.FieldFilter);
descriptor: (Ljava/lang/Class;Ljava/lang/reflect/Field;Lnet/minidev/asm/FieldFilter;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 2
invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
putfield net.minidev.asm.Accessor.fieldName:Ljava/lang/String;
2: aload 2
invokevirtual java.lang.reflect.Field.getModifiers:()I
istore 4
start local 4 3: iload 4
sipush 136
iand
ifle 5
4: return
5: StackMap locals: net.minidev.asm.Accessor java.lang.Class java.lang.reflect.Field net.minidev.asm.FieldFilter int
StackMap stack:
iload 4
iconst_1
iand
ifle 7
6: aload 0
aload 2
putfield net.minidev.asm.Accessor.field:Ljava/lang/reflect/Field;
7: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
invokestatic net.minidev.asm.ASMUtil.getSetterName:(Ljava/lang/String;)Ljava/lang/String;
astore 5
start local 5 8: aload 0
aload 1
aload 5
iconst_1
anewarray java.lang.Class
dup
iconst_0
aload 2
invokevirtual java.lang.reflect.Field.getType:()Ljava/lang/Class;
aastore
invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
putfield net.minidev.asm.Accessor.setter:Ljava/lang/reflect/Method;
9: goto 11
StackMap locals: net.minidev.asm.Accessor java.lang.Class java.lang.reflect.Field net.minidev.asm.FieldFilter int java.lang.String
StackMap stack: java.lang.Exception
10: pop
11: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.reflect.Field.getType:()Ljava/lang/Class;
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
istore 6
start local 6 12: iload 6
ifeq 15
13: aload 2
invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
invokestatic net.minidev.asm.ASMUtil.getIsName:(Ljava/lang/String;)Ljava/lang/String;
astore 5
14: goto 16
15: StackMap locals: int
StackMap stack:
aload 2
invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
invokestatic net.minidev.asm.ASMUtil.getGetterName:(Ljava/lang/String;)Ljava/lang/String;
astore 5
16: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 5
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
putfield net.minidev.asm.Accessor.getter:Ljava/lang/reflect/Method;
17: goto 19
StackMap locals:
StackMap stack: java.lang.Exception
18: pop
19: StackMap locals:
StackMap stack:
aload 0
getfield net.minidev.asm.Accessor.getter:Ljava/lang/reflect/Method;
ifnonnull 23
iload 6
ifeq 23
20: aload 0
aload 1
aload 2
invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
invokestatic net.minidev.asm.ASMUtil.getGetterName:(Ljava/lang/String;)Ljava/lang/String;
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
putfield net.minidev.asm.Accessor.getter:Ljava/lang/reflect/Method;
21: goto 23
StackMap locals:
StackMap stack: java.lang.Exception
22: pop
23: StackMap locals:
StackMap stack:
aload 0
getfield net.minidev.asm.Accessor.field:Ljava/lang/reflect/Field;
ifnonnull 25
aload 0
getfield net.minidev.asm.Accessor.getter:Ljava/lang/reflect/Method;
ifnonnull 25
aload 0
getfield net.minidev.asm.Accessor.setter:Ljava/lang/reflect/Method;
ifnonnull 25
24: return
25: StackMap locals:
StackMap stack:
aload 0
getfield net.minidev.asm.Accessor.getter:Ljava/lang/reflect/Method;
ifnull 27
aload 3
aload 2
aload 0
getfield net.minidev.asm.Accessor.getter:Ljava/lang/reflect/Method;
invokeinterface net.minidev.asm.FieldFilter.canUse:(Ljava/lang/reflect/Field;Ljava/lang/reflect/Method;)Z
ifne 27
26: aload 0
aconst_null
putfield net.minidev.asm.Accessor.getter:Ljava/lang/reflect/Method;
27: StackMap locals:
StackMap stack:
aload 0
getfield net.minidev.asm.Accessor.setter:Ljava/lang/reflect/Method;
ifnull 29
aload 3
aload 2
aload 0
getfield net.minidev.asm.Accessor.setter:Ljava/lang/reflect/Method;
invokeinterface net.minidev.asm.FieldFilter.canUse:(Ljava/lang/reflect/Field;Ljava/lang/reflect/Method;)Z
ifne 29
28: aload 0
aconst_null
putfield net.minidev.asm.Accessor.setter:Ljava/lang/reflect/Method;
29: StackMap locals:
StackMap stack:
aload 0
getfield net.minidev.asm.Accessor.getter:Ljava/lang/reflect/Method;
ifnonnull 31
aload 0
getfield net.minidev.asm.Accessor.setter:Ljava/lang/reflect/Method;
ifnonnull 31
aload 0
getfield net.minidev.asm.Accessor.field:Ljava/lang/reflect/Field;
ifnonnull 31
30: return
31: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual java.lang.reflect.Field.getType:()Ljava/lang/Class;
putfield net.minidev.asm.Accessor.type:Ljava/lang/Class;
32: aload 0
aload 2
invokevirtual java.lang.reflect.Field.getGenericType:()Ljava/lang/reflect/Type;
putfield net.minidev.asm.Accessor.genericType:Ljava/lang/reflect/Type;
33: 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 34 0 this Lnet/minidev/asm/Accessor;
0 34 1 c Ljava/lang/Class<*>;
0 34 2 field Ljava/lang/reflect/Field;
0 34 3 filter Lnet/minidev/asm/FieldFilter;
3 34 4 m I
8 34 5 name Ljava/lang/String;
12 34 6 isBool Z
Exception table:
from to target type
8 9 10 Class java.lang.Exception
16 17 18 Class java.lang.Exception
20 21 22 Class java.lang.Exception
Signature: (Ljava/lang/Class<*>;Ljava/lang/reflect/Field;Lnet/minidev/asm/FieldFilter;)V
MethodParameters:
Name Flags
c
field
filter
}
SourceFile: "Accessor.java"