abstract class com.sun.beans.finder.AbstractFinder<T extends java.lang.reflect.Executable>
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: com.sun.beans.finder.AbstractFinder
super_class: java.lang.Object
{
private final java.lang.Class<?>[] args;
descriptor: [Ljava/lang/Class;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: [Ljava/lang/Class<*>;
protected void <init>(java.lang.Class<?>[]);
descriptor: ([Ljava/lang/Class;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield com.sun.beans.finder.AbstractFinder.args:[Ljava/lang/Class;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/beans/finder/AbstractFinder<TT;>;
0 3 1 args [Ljava/lang/Class;
Signature: ([Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
args
protected boolean isValid();
descriptor: (Ljava/lang/reflect/Executable;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.reflect.Executable.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/beans/finder/AbstractFinder<TT;>;
0 1 1 method TT;
Signature: (TT;)Z
MethodParameters:
Name Flags
method
final T find();
descriptor: ([Ljava/lang/reflect/Executable;)Ljava/lang/reflect/Executable;
flags: (0x0010) ACC_FINAL
Code:
stack=5, locals=15, args_size=2
start local 0 start local 1 0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 2
start local 2 1: aconst_null
astore 3
start local 3 2: aconst_null
astore 4
start local 4 3: iconst_0
istore 5
start local 5 4: aload 1
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 47
StackMap locals: com.sun.beans.finder.AbstractFinder java.lang.reflect.Executable[] java.util.Map java.lang.reflect.Executable java.lang.Class[] int top int int java.lang.reflect.Executable[]
StackMap stack:
5: aload 9
iload 7
aaload
astore 6
start local 6 6: aload 0
aload 6
invokevirtual com.sun.beans.finder.AbstractFinder.isValid:(Ljava/lang/reflect/Executable;)Z
ifeq 46
7: aload 6
invokevirtual java.lang.reflect.Executable.getParameterTypes:()[Ljava/lang/Class;
astore 10
start local 10 8: aload 10
arraylength
aload 0
getfield com.sun.beans.finder.AbstractFinder.args:[Ljava/lang/Class;
arraylength
if_icmpne 31
9: aload 10
invokestatic com.sun.beans.finder.PrimitiveWrapperMap.replacePrimitivesWithWrappers:([Ljava/lang/Class;)V
10: aload 0
aload 10
aload 0
getfield com.sun.beans.finder.AbstractFinder.args:[Ljava/lang/Class;
invokevirtual com.sun.beans.finder.AbstractFinder.isAssignable:([Ljava/lang/Class;[Ljava/lang/Class;)Z
ifeq 31
11: aload 3
ifnonnull 15
12: aload 6
astore 3
13: aload 10
astore 4
14: goto 31
15: StackMap locals: com.sun.beans.finder.AbstractFinder java.lang.reflect.Executable[] java.util.Map java.lang.reflect.Executable java.lang.Class[] int java.lang.reflect.Executable int int java.lang.reflect.Executable[] java.lang.Class[]
StackMap stack:
aload 0
aload 4
aload 10
invokevirtual com.sun.beans.finder.AbstractFinder.isAssignable:([Ljava/lang/Class;[Ljava/lang/Class;)Z
istore 11
start local 11 16: aload 0
aload 10
aload 4
invokevirtual com.sun.beans.finder.AbstractFinder.isAssignable:([Ljava/lang/Class;[Ljava/lang/Class;)Z
istore 12
start local 12 17: iload 12
ifeq 24
iload 11
ifeq 24
18: aload 6
invokevirtual java.lang.reflect.Executable.isSynthetic:()Z
ifeq 19
iconst_0
goto 20
StackMap locals: int int
StackMap stack:
19: iconst_1
StackMap locals:
StackMap stack: int
20: istore 11
21: aload 3
invokevirtual java.lang.reflect.Executable.isSynthetic:()Z
ifeq 22
iconst_0
goto 23
StackMap locals:
StackMap stack:
22: iconst_1
StackMap locals:
StackMap stack: int
23: istore 12
24: StackMap locals:
StackMap stack:
iload 12
iload 11
if_icmpne 27
25: iconst_1
istore 5
26: goto 31
StackMap locals:
StackMap stack:
27: iload 11
ifeq 31
28: aload 6
astore 3
29: aload 10
astore 4
30: iconst_0
istore 5
end local 12 end local 11 31: StackMap locals:
StackMap stack:
aload 6
invokevirtual java.lang.reflect.Executable.isVarArgs:()Z
ifeq 46
32: aload 10
arraylength
iconst_1
isub
istore 11
start local 11 33: iload 11
aload 0
getfield com.sun.beans.finder.AbstractFinder.args:[Ljava/lang/Class;
arraylength
if_icmpgt 46
34: aload 0
getfield com.sun.beans.finder.AbstractFinder.args:[Ljava/lang/Class;
arraylength
anewarray java.lang.Class
astore 12
start local 12 35: aload 10
iconst_0
aload 12
iconst_0
iload 11
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
36: iload 11
aload 0
getfield com.sun.beans.finder.AbstractFinder.args:[Ljava/lang/Class;
arraylength
if_icmpge 45
37: aload 10
iload 11
aaload
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
astore 13
start local 13 38: aload 13
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 40
39: aload 13
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic com.sun.beans.finder.PrimitiveWrapperMap.getType:(Ljava/lang/String;)Ljava/lang/Class;
astore 13
40: StackMap locals: int java.lang.Class[] java.lang.Class
StackMap stack:
iload 11
istore 14
start local 14 41: goto 44
42: StackMap locals: int
StackMap stack:
aload 12
iload 14
aload 13
aastore
43: iinc 14 1
StackMap locals:
StackMap stack:
44: iload 14
aload 0
getfield com.sun.beans.finder.AbstractFinder.args:[Ljava/lang/Class;
arraylength
if_icmplt 42
end local 14 end local 13 45: StackMap locals:
StackMap stack:
aload 2
aload 6
aload 12
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 12 end local 11 end local 10 end local 6 46: StackMap locals: com.sun.beans.finder.AbstractFinder java.lang.reflect.Executable[] java.util.Map java.lang.reflect.Executable java.lang.Class[] int top int int java.lang.reflect.Executable[]
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
47: iload 7
iload 8
if_icmplt 5
48: aload 1
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 75
StackMap locals:
StackMap stack:
49: aload 9
iload 7
aaload
astore 6
start local 6 50: aload 2
aload 6
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Class[]
astore 10
start local 10 51: aload 10
ifnull 74
52: aload 0
aload 10
aload 0
getfield com.sun.beans.finder.AbstractFinder.args:[Ljava/lang/Class;
invokevirtual com.sun.beans.finder.AbstractFinder.isAssignable:([Ljava/lang/Class;[Ljava/lang/Class;)Z
ifeq 74
53: aload 3
ifnonnull 57
54: aload 6
astore 3
55: aload 10
astore 4
56: goto 74
57: StackMap locals: com.sun.beans.finder.AbstractFinder java.lang.reflect.Executable[] java.util.Map java.lang.reflect.Executable java.lang.Class[] int java.lang.reflect.Executable int int java.lang.reflect.Executable[] java.lang.Class[]
StackMap stack:
aload 0
aload 4
aload 10
invokevirtual com.sun.beans.finder.AbstractFinder.isAssignable:([Ljava/lang/Class;[Ljava/lang/Class;)Z
istore 11
start local 11 58: aload 0
aload 10
aload 4
invokevirtual com.sun.beans.finder.AbstractFinder.isAssignable:([Ljava/lang/Class;[Ljava/lang/Class;)Z
istore 12
start local 12 59: iload 12
ifeq 66
iload 11
ifeq 66
60: aload 6
invokevirtual java.lang.reflect.Executable.isSynthetic:()Z
ifeq 61
iconst_0
goto 62
StackMap locals: int int
StackMap stack:
61: iconst_1
StackMap locals:
StackMap stack: int
62: istore 11
63: aload 3
invokevirtual java.lang.reflect.Executable.isSynthetic:()Z
ifeq 64
iconst_0
goto 65
StackMap locals:
StackMap stack:
64: iconst_1
StackMap locals:
StackMap stack: int
65: istore 12
66: StackMap locals:
StackMap stack:
iload 12
iload 11
if_icmpne 70
67: aload 4
aload 2
aload 3
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
if_acmpne 74
68: iconst_1
istore 5
69: goto 74
StackMap locals:
StackMap stack:
70: iload 11
ifeq 74
71: aload 6
astore 3
72: aload 10
astore 4
73: iconst_0
istore 5
end local 12 end local 11 end local 10 end local 6 74: StackMap locals: com.sun.beans.finder.AbstractFinder java.lang.reflect.Executable[] java.util.Map java.lang.reflect.Executable java.lang.Class[] int top int int java.lang.reflect.Executable[]
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
75: iload 7
iload 8
if_icmplt 49
76: iload 5
ifeq 78
77: new java.lang.NoSuchMethodException
dup
ldc "Ambiguous methods are found"
invokespecial java.lang.NoSuchMethodException.<init>:(Ljava/lang/String;)V
athrow
78: StackMap locals: com.sun.beans.finder.AbstractFinder java.lang.reflect.Executable[] java.util.Map java.lang.reflect.Executable java.lang.Class[] int
StackMap stack:
aload 3
ifnonnull 80
79: new java.lang.NoSuchMethodException
dup
ldc "Method is not found"
invokespecial java.lang.NoSuchMethodException.<init>:(Ljava/lang/String;)V
athrow
80: StackMap locals:
StackMap stack:
aload 3
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 81 0 this Lcom/sun/beans/finder/AbstractFinder<TT;>;
0 81 1 methods [Ljava/lang/reflect/Executable;
1 81 2 map Ljava/util/Map<TT;[Ljava/lang/Class<*>;>;
2 81 3 oldMethod TT;
3 81 4 oldParams [Ljava/lang/Class;
4 81 5 ambiguous Z
6 46 6 newMethod TT;
8 46 10 newParams [Ljava/lang/Class;
16 31 11 useNew Z
17 31 12 useOld Z
33 46 11 length I
35 46 12 array [Ljava/lang/Class;
38 45 13 type Ljava/lang/Class<*>;
41 45 14 i I
50 74 6 newMethod TT;
51 74 10 newParams [Ljava/lang/Class;
58 74 11 useNew Z
59 74 12 useOld Z
Exceptions:
throws java.lang.NoSuchMethodException
Signature: ([TT;)TT;
MethodParameters:
Name Flags
methods
private boolean isAssignable(java.lang.Class<?>[], java.lang.Class<?>[]);
descriptor: ([Ljava/lang/Class;[Ljava/lang/Class;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: goto 6
2: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.beans.finder.AbstractFinder.args:[Ljava/lang/Class;
iload 3
aaload
ifnull 5
3: aload 1
iload 3
aaload
aload 2
iload 3
aaload
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 5
4: iconst_0
ireturn
5: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
aload 0
getfield com.sun.beans.finder.AbstractFinder.args:[Ljava/lang/Class;
arraylength
if_icmplt 2
end local 3 7: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/beans/finder/AbstractFinder<TT;>;
0 8 1 min [Ljava/lang/Class;
0 8 2 max [Ljava/lang/Class;
1 7 3 i I
Signature: ([Ljava/lang/Class<*>;[Ljava/lang/Class<*>;)Z
MethodParameters:
Name Flags
min
max
}
Signature: <T:Ljava/lang/reflect/Executable;>Ljava/lang/Object;
SourceFile: "AbstractFinder.java"