final class java.beans.MethodRef
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: java.beans.MethodRef
super_class: java.lang.Object
{
private java.lang.String signature;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.ref.SoftReference<java.lang.reflect.Method> methodRef;
descriptor: Ljava/lang/ref/SoftReference;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/lang/ref/SoftReference<Ljava/lang/reflect/Method;>;
private java.lang.ref.WeakReference<java.lang.Class<?>> typeRef;
descriptor: Ljava/lang/ref/WeakReference;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/lang/ref/WeakReference<Ljava/lang/Class<*>;>;
void <init>();
descriptor: ()V
flags: (0x0000)
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 Ljava/beans/MethodRef;
void set(java.lang.reflect.Method);
descriptor: (Ljava/lang/reflect/Method;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 5
1: aload 0
aconst_null
putfield java.beans.MethodRef.signature:Ljava/lang/String;
2: aload 0
aconst_null
putfield java.beans.MethodRef.methodRef:Ljava/lang/ref/SoftReference;
3: aload 0
aconst_null
putfield java.beans.MethodRef.typeRef:Ljava/lang/ref/WeakReference;
4: goto 8
5: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual java.lang.reflect.Method.toGenericString:()Ljava/lang/String;
putfield java.beans.MethodRef.signature:Ljava/lang/String;
6: aload 0
new java.lang.ref.SoftReference
dup
aload 1
invokespecial java.lang.ref.SoftReference.<init>:(Ljava/lang/Object;)V
putfield java.beans.MethodRef.methodRef:Ljava/lang/ref/SoftReference;
7: aload 0
new java.lang.ref.WeakReference
dup
aload 1
invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
putfield java.beans.MethodRef.typeRef:Ljava/lang/ref/WeakReference;
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/beans/MethodRef;
0 9 1 method Ljava/lang/reflect/Method;
MethodParameters:
Name Flags
method
boolean isSet();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.beans.MethodRef.methodRef:Ljava/lang/ref/SoftReference;
ifnull 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 Ljava/beans/MethodRef;
java.lang.reflect.Method get();
descriptor: ()Ljava/lang/reflect/Method;
flags: (0x0000)
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield java.beans.MethodRef.methodRef:Ljava/lang/ref/SoftReference;
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield java.beans.MethodRef.methodRef:Ljava/lang/ref/SoftReference;
invokevirtual java.lang.ref.SoftReference.get:()Ljava/lang/Object;
checkcast java.lang.reflect.Method
astore 1
start local 1 3: aload 1
ifnonnull 11
4: aload 0
getfield java.beans.MethodRef.typeRef:Ljava/lang/ref/WeakReference;
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast java.lang.Class
aload 0
getfield java.beans.MethodRef.signature:Ljava/lang/String;
invokestatic java.beans.MethodRef.find:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/reflect/Method;
astore 1
5: aload 1
ifnonnull 10
6: aload 0
aconst_null
putfield java.beans.MethodRef.signature:Ljava/lang/String;
7: aload 0
aconst_null
putfield java.beans.MethodRef.methodRef:Ljava/lang/ref/SoftReference;
8: aload 0
aconst_null
putfield java.beans.MethodRef.typeRef:Ljava/lang/ref/WeakReference;
9: aconst_null
areturn
10: StackMap locals: java.lang.reflect.Method
StackMap stack:
aload 0
new java.lang.ref.SoftReference
dup
aload 1
invokespecial java.lang.ref.SoftReference.<init>:(Ljava/lang/Object;)V
putfield java.beans.MethodRef.methodRef:Ljava/lang/ref/SoftReference;
11: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
invokestatic sun.reflect.misc.ReflectUtil.isPackageAccessible:(Ljava/lang/Class;)Z
ifeq 12
aload 1
goto 13
StackMap locals:
StackMap stack:
12: aconst_null
StackMap locals:
StackMap stack: java.lang.reflect.Method
13: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljava/beans/MethodRef;
3 14 1 method Ljava/lang/reflect/Method;
private static java.lang.reflect.Method find(java.lang.Class<?>, java.lang.String);
descriptor: (Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/reflect/Method;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 0
ifnull 8
1: aload 0
invokevirtual java.lang.Class.getMethods:()[Ljava/lang/reflect/Method;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 7
StackMap locals: java.lang.Class java.lang.String top int int java.lang.reflect.Method[]
StackMap stack:
2: aload 5
iload 3
aaload
astore 2
start local 2 3: aload 0
aload 2
invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 6
4: aload 2
invokevirtual java.lang.reflect.Method.toGenericString:()Ljava/lang/String;
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 6
5: aload 2
areturn
end local 2 6: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
iload 4
if_icmplt 2
8: StackMap locals: java.lang.Class java.lang.String
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 type Ljava/lang/Class<*>;
0 9 1 signature Ljava/lang/String;
3 6 2 method Ljava/lang/reflect/Method;
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;)Ljava/lang/reflect/Method;
MethodParameters:
Name Flags
type
signature
}
SourceFile: "MethodRef.java"