final class com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor extends com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilder
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor
super_class: com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilder
{
private java.util.List<com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor$Constr> annotatedConstructors;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Lcom/sun/jmx/mbeanserver/DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor$Constr;>;
void <init>(java.lang.Class<?>, java.lang.String[]);
descriptor: (Ljava/lang/Class;[Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokespecial com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilder.<init>:(Ljava/lang/Class;[Ljava/lang/String;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/jmx/mbeanserver/DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor;
0 2 1 targetClass Ljava/lang/Class<*>;
0 2 2 itemNames [Ljava/lang/String;
Signature: (Ljava/lang/Class<*>;[Ljava/lang/String;)V
MethodParameters:
Name Flags
targetClass
itemNames
private java.lang.String[] getConstPropValues(java.lang.reflect.Constructor<?>);
descriptor: (Ljava/lang/reflect/Constructor;)[Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ldc Ljavax/management/ConstructorParameters;
invokevirtual java.lang.reflect.Constructor.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast javax.management.ConstructorParameters
astore 2
start local 2 1: aload 2
ifnull 3
2: aload 2
invokeinterface javax.management.ConstructorParameters.value:()[Ljava/lang/String;
areturn
3: StackMap locals: javax.management.ConstructorParameters
StackMap stack:
aload 1
invokestatic com.sun.jmx.mbeanserver.JavaBeansAccessor.getConstructorPropertiesValue:(Ljava/lang/reflect/Constructor;)[Ljava/lang/String;
astore 3
start local 3 4: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/jmx/mbeanserver/DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor;
0 5 1 ctr Ljava/lang/reflect/Constructor<*>;
1 5 2 ctrProps Ljavax/management/ConstructorParameters;
4 5 3 vals [Ljava/lang/String;
Signature: (Ljava/lang/reflect/Constructor<*>;)[Ljava/lang/String;
MethodParameters:
Name Flags
ctr
java.lang.String applicable(java.lang.reflect.Method[]);
descriptor: ([Ljava/lang/reflect/Method;)Ljava/lang/String;
flags: (0x0000)
Code:
stack=5, locals=21, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor.getTargetClass:()Ljava/lang/Class;
astore 2
start local 2 1: aload 2
invokevirtual java.lang.Class.getConstructors:()[Ljava/lang/reflect/Constructor;
astore 3
start local 3 2: invokestatic com.sun.jmx.mbeanserver.Util.newList:()Ljava/util/List;
astore 4
start local 4 3: aload 3
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 9
StackMap locals: com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor java.lang.reflect.Method[] java.lang.Class java.lang.reflect.Constructor[] java.util.List top int int java.lang.reflect.Constructor[]
StackMap stack:
4: aload 8
iload 6
aaload
astore 5
start local 5 5: aload 5
invokevirtual java.lang.reflect.Constructor.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
ifeq 8
6: aload 0
aload 5
invokevirtual com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor.getConstPropValues:(Ljava/lang/reflect/Constructor;)[Ljava/lang/String;
ifnull 8
7: aload 4
aload 5
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 5 8: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
9: iload 6
iload 7
if_icmplt 4
10: aload 4
invokeinterface java.util.List.isEmpty:()Z
ifeq 12
11: ldc "no constructor has either @ConstructorParameters or @ConstructorProperties annotation"
areturn
12: StackMap locals: com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor java.lang.reflect.Method[] java.lang.Class java.lang.reflect.Constructor[] java.util.List
StackMap stack:
aload 0
invokestatic com.sun.jmx.mbeanserver.Util.newList:()Ljava/util/List;
putfield com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor.annotatedConstructors:Ljava/util/List;
13: invokestatic com.sun.jmx.mbeanserver.Util.newMap:()Ljava/util/Map;
astore 5
start local 5 14: aload 0
invokevirtual com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor.getItemNames:()[Ljava/lang/String;
astore 6
start local 6 15: iconst_0
istore 7
start local 7 16: goto 19
17: StackMap locals: java.util.Map java.lang.String[] int
StackMap stack:
aload 5
aload 6
iload 7
aaload
iload 7
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
18: iinc 7 1
StackMap locals:
StackMap stack:
19: iload 7
aload 6
arraylength
if_icmplt 17
end local 7 20: invokestatic com.sun.jmx.mbeanserver.Util.newSet:()Ljava/util/Set;
astore 7
start local 7 21: aload 4
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 87
StackMap locals: com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor java.lang.reflect.Method[] java.lang.Class java.lang.reflect.Constructor[] java.util.List java.util.Map java.lang.String[] java.util.Set top java.util.Iterator
StackMap stack:
22: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.reflect.Constructor
astore 8
start local 8 23: aload 8
ldc Ljavax/management/ConstructorParameters;
invokevirtual java.lang.reflect.Constructor.isAnnotationPresent:(Ljava/lang/Class;)Z
ifeq 25
24: ldc "@ConstructorParameters"
goto 26
StackMap locals: com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor java.lang.reflect.Method[] java.lang.Class java.lang.reflect.Constructor[] java.util.List java.util.Map java.lang.String[] java.util.Set java.lang.reflect.Constructor java.util.Iterator
StackMap stack:
25: ldc "@ConstructorProperties"
26: StackMap locals:
StackMap stack: java.lang.String
astore 10
start local 10 27: aload 0
aload 8
invokevirtual com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor.getConstPropValues:(Ljava/lang/reflect/Constructor;)[Ljava/lang/String;
astore 11
start local 11 28: aload 8
invokevirtual java.lang.reflect.Constructor.getGenericParameterTypes:()[Ljava/lang/reflect/Type;
astore 12
start local 12 29: aload 12
arraylength
aload 11
arraylength
if_icmpeq 35
30: new java.lang.StringBuilder
dup
ldc "Number of constructor params does not match "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
31: aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " annotation: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
32: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
33: astore 13
start local 13 34: new java.io.InvalidObjectException
dup
aload 13
invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
athrow
end local 13 35: StackMap locals: java.lang.String java.lang.String[] java.lang.reflect.Type[]
StackMap stack:
aload 1
arraylength
newarray 10
astore 13
start local 13 36: iconst_0
istore 14
start local 14 37: goto 40
38: StackMap locals: int[] int
StackMap stack:
aload 13
iload 14
iconst_m1
iastore
39: iinc 14 1
StackMap locals:
StackMap stack:
40: iload 14
aload 1
arraylength
if_icmplt 38
end local 14 41: new java.util.BitSet
dup
invokespecial java.util.BitSet.<init>:()V
astore 14
start local 14 42: iconst_0
istore 15
start local 15 43: goto 78
44: StackMap locals: com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor java.lang.reflect.Method[] java.lang.Class java.lang.reflect.Constructor[] java.util.List java.util.Map java.lang.String[] java.util.Set java.lang.reflect.Constructor java.util.Iterator java.lang.String java.lang.String[] java.lang.reflect.Type[] int[] java.util.BitSet int
StackMap stack:
aload 11
iload 15
aaload
astore 16
start local 16 45: aload 5
aload 16
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifne 59
46: new java.lang.StringBuilder
dup
aload 10
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " includes name "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 16
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
47: ldc " which does not correspond to a property"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
48: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
49: astore 17
start local 17 50: aload 5
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 19
goto 56
StackMap locals: com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor java.lang.reflect.Method[] java.lang.Class java.lang.reflect.Constructor[] java.util.List java.util.Map java.lang.String[] java.util.Set java.lang.reflect.Constructor java.util.Iterator java.lang.String java.lang.String[] java.lang.reflect.Type[] int[] java.util.BitSet int java.lang.String java.lang.String top java.util.Iterator
StackMap stack:
51: aload 19
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 18
start local 18 52: aload 18
aload 16
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 56
53: new java.lang.StringBuilder
dup
aload 17
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " (differs only in case from property "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
54: aload 18
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
55: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 17
end local 18 56: StackMap locals:
StackMap stack:
aload 19
invokeinterface java.util.Iterator.hasNext:()Z
ifne 51
57: new java.lang.StringBuilder
dup
aload 17
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 17
58: new java.io.InvalidObjectException
dup
aload 17
invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
athrow
end local 17 59: StackMap locals: com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor java.lang.reflect.Method[] java.lang.Class java.lang.reflect.Constructor[] java.util.List java.util.Map java.lang.String[] java.util.Set java.lang.reflect.Constructor java.util.Iterator java.lang.String java.lang.String[] java.lang.reflect.Type[] int[] java.util.BitSet int java.lang.String
StackMap stack:
aload 5
aload 16
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 17
start local 17 60: aload 13
iload 17
iload 15
iastore
61: aload 14
iload 17
invokevirtual java.util.BitSet.get:(I)Z
ifeq 67
62: new java.lang.StringBuilder
dup
aload 10
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " contains property "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
63: aload 16
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " more than once: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
64: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
65: astore 18
start local 18 66: new java.io.InvalidObjectException
dup
aload 18
invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
athrow
end local 18 67: StackMap locals: int
StackMap stack:
aload 14
iload 17
invokevirtual java.util.BitSet.set:(I)V
68: aload 1
iload 17
aaload
astore 18
start local 18 69: aload 18
invokevirtual java.lang.reflect.Method.getGenericReturnType:()Ljava/lang/reflect/Type;
astore 19
start local 19 70: aload 19
aload 12
iload 15
aaload
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 77
71: new java.lang.StringBuilder
dup
aload 10
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " gives property "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 16
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
72: ldc " of type "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 19
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " for parameter "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
73: ldc " of type "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 12
iload 15
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
74: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
75: astore 20
start local 20 76: new java.io.InvalidObjectException
dup
aload 20
invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
athrow
end local 20 end local 19 end local 18 end local 17 end local 16 77: StackMap locals:
StackMap stack:
iinc 15 1
StackMap locals:
StackMap stack:
78: iload 15
aload 11
arraylength
if_icmplt 44
end local 15 79: aload 7
aload 14
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
ifne 85
80: new java.lang.StringBuilder
dup
ldc "More than one constructor has @ConstructorParameters or @ConstructorProperties annotation with this set of names: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
81: aload 11
invokestatic java.util.Arrays.toString:([Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
82: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
83: astore 15
start local 15 84: new java.io.InvalidObjectException
dup
aload 15
invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
athrow
end local 15 85: StackMap locals:
StackMap stack:
new com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor$Constr
dup
aload 8
aload 13
aload 14
invokespecial com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor$Constr.<init>:(Ljava/lang/reflect/Constructor;[ILjava/util/BitSet;)V
astore 15
start local 15 86: aload 0
getfield com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor.annotatedConstructors:Ljava/util/List;
aload 15
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 8 87: StackMap locals: com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor java.lang.reflect.Method[] java.lang.Class java.lang.reflect.Constructor[] java.util.List java.util.Map java.lang.String[] java.util.Set top java.util.Iterator
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 22
88: aload 7
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 9
goto 111
StackMap locals:
StackMap stack:
89: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.BitSet
astore 8
start local 8 90: iconst_0
istore 10
start local 10 91: aload 7
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 12
goto 110
StackMap locals: com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor java.lang.reflect.Method[] java.lang.Class java.lang.reflect.Constructor[] java.util.List java.util.Map java.lang.String[] java.util.Set java.util.BitSet java.util.Iterator int top java.util.Iterator
StackMap stack:
92: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.BitSet
astore 11
start local 11 93: aload 8
aload 11
if_acmpne 95
94: iconst_1
istore 10
goto 110
95: StackMap locals: com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor java.lang.reflect.Method[] java.lang.Class java.lang.reflect.Constructor[] java.util.List java.util.Map java.lang.String[] java.util.Set java.util.BitSet java.util.Iterator int java.util.BitSet java.util.Iterator
StackMap stack:
iload 10
ifeq 110
96: new java.util.BitSet
dup
invokespecial java.util.BitSet.<init>:()V
astore 13
start local 13 97: aload 13
aload 8
invokevirtual java.util.BitSet.or:(Ljava/util/BitSet;)V
aload 13
aload 11
invokevirtual java.util.BitSet.or:(Ljava/util/BitSet;)V
98: aload 7
aload 13
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 110
99: new java.util.TreeSet
dup
invokespecial java.util.TreeSet.<init>:()V
astore 14
start local 14 100: aload 13
iconst_0
invokevirtual java.util.BitSet.nextSetBit:(I)I
istore 15
start local 15 101: goto 104
102: StackMap locals: java.util.BitSet java.util.Set int
StackMap stack:
aload 14
aload 6
iload 15
aaload
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
103: aload 13
iload 15
iconst_1
iadd
invokevirtual java.util.BitSet.nextSetBit:(I)I
istore 15
104: StackMap locals:
StackMap stack:
iload 15
ifge 102
end local 15 105: new java.lang.StringBuilder
dup
ldc "Constructors with @ConstructorParameters or @ConstructorProperties annotation would be ambiguous for these items: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
106: aload 14
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
107: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
108: astore 15
start local 15 109: new java.io.InvalidObjectException
dup
aload 15
invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
athrow
end local 15 end local 14 end local 13 end local 11 110: StackMap locals: com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor java.lang.reflect.Method[] java.lang.Class java.lang.reflect.Constructor[] java.util.List java.util.Map java.lang.String[] java.util.Set java.util.BitSet java.util.Iterator int top java.util.Iterator
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 92
end local 10 end local 8 111: StackMap locals: com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor java.lang.reflect.Method[] java.lang.Class java.lang.reflect.Constructor[] java.util.List java.util.Map java.lang.String[] java.util.Set top java.util.Iterator
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 89
112: aconst_null
areturn
end local 7 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 113 0 this Lcom/sun/jmx/mbeanserver/DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor;
0 113 1 getters [Ljava/lang/reflect/Method;
1 113 2 targetClass Ljava/lang/Class<*>;
2 113 3 constrs [Ljava/lang/reflect/Constructor;
3 113 4 annotatedConstrList Ljava/util/List<Ljava/lang/reflect/Constructor<*>;>;
5 8 5 constr Ljava/lang/reflect/Constructor<*>;
14 113 5 getterMap Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;
15 113 6 itemNames [Ljava/lang/String;
16 20 7 i I
21 113 7 getterIndexSets Ljava/util/Set<Ljava/util/BitSet;>;
23 87 8 constr Ljava/lang/reflect/Constructor<*>;
27 87 10 annotationName Ljava/lang/String;
28 87 11 propertyNames [Ljava/lang/String;
29 87 12 paramTypes [Ljava/lang/reflect/Type;
34 35 13 msg Ljava/lang/String;
36 87 13 paramIndexes [I
37 41 14 i I
42 87 14 present Ljava/util/BitSet;
43 79 15 i I
45 77 16 propertyName Ljava/lang/String;
50 59 17 msg Ljava/lang/String;
52 56 18 getterName Ljava/lang/String;
60 77 17 getterIndex I
66 67 18 msg Ljava/lang/String;
69 77 18 getter Ljava/lang/reflect/Method;
70 77 19 propertyType Ljava/lang/reflect/Type;
76 77 20 msg Ljava/lang/String;
84 85 15 msg Ljava/lang/String;
86 87 15 c Lcom/sun/jmx/mbeanserver/DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor$Constr;
90 111 8 a Ljava/util/BitSet;
91 111 10 seen Z
93 110 11 b Ljava/util/BitSet;
97 110 13 u Ljava/util/BitSet;
100 110 14 names Ljava/util/Set<Ljava/lang/String;>;
101 105 15 i I
109 110 15 msg Ljava/lang/String;
Exceptions:
throws java.io.InvalidObjectException
MethodParameters:
Name Flags
getters
final java.lang.Object fromCompositeData(javax.management.openmbean.CompositeData, java.lang.String[], com.sun.jmx.mbeanserver.MXBeanMapping[]);
descriptor: (Ljavax/management/openmbean/CompositeData;[Ljava/lang/String;[Lcom/sun/jmx/mbeanserver/MXBeanMapping;)Ljava/lang/Object;
flags: (0x0010) ACC_FINAL
Code:
stack=3, locals=12, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokeinterface javax.management.openmbean.CompositeData.getCompositeType:()Ljavax/management/openmbean/CompositeType;
astore 4
start local 4 1: new java.util.BitSet
dup
invokespecial java.util.BitSet.<init>:()V
astore 5
start local 5 2: iconst_0
istore 6
start local 6 3: goto 7
4: StackMap locals: javax.management.openmbean.CompositeType java.util.BitSet int
StackMap stack:
aload 4
aload 2
iload 6
aaload
invokevirtual javax.management.openmbean.CompositeType.getType:(Ljava/lang/String;)Ljavax/management/openmbean/OpenType;
ifnull 6
5: aload 5
iload 6
invokevirtual java.util.BitSet.set:(I)V
6: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
7: iload 6
aload 2
arraylength
if_icmplt 4
end local 6 8: aconst_null
astore 6
start local 6 9: aload 0
getfield com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor.annotatedConstructors:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 15
StackMap locals: com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor javax.management.openmbean.CompositeData java.lang.String[] com.sun.jmx.mbeanserver.MXBeanMapping[] javax.management.openmbean.CompositeType java.util.BitSet com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor$Constr top java.util.Iterator
StackMap stack:
10: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor$Constr
astore 7
start local 7 11: aload 7
getfield com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor$Constr.presentParams:Ljava/util/BitSet;
aload 5
invokestatic com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor.subset:(Ljava/util/BitSet;Ljava/util/BitSet;)Z
ifeq 15
12: aload 6
ifnull 14
13: aload 6
getfield com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor$Constr.presentParams:Ljava/util/BitSet;
aload 7
getfield com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor$Constr.presentParams:Ljava/util/BitSet;
invokestatic com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor.subset:(Ljava/util/BitSet;Ljava/util/BitSet;)Z
ifeq 15
14: StackMap locals: com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor javax.management.openmbean.CompositeData java.lang.String[] com.sun.jmx.mbeanserver.MXBeanMapping[] javax.management.openmbean.CompositeType java.util.BitSet com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor$Constr com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor$Constr java.util.Iterator
StackMap stack:
aload 7
astore 6
end local 7 15: StackMap locals: com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor javax.management.openmbean.CompositeData java.lang.String[] com.sun.jmx.mbeanserver.MXBeanMapping[] javax.management.openmbean.CompositeType java.util.BitSet com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor$Constr top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
16: aload 6
ifnonnull 22
17: new java.lang.StringBuilder
dup
ldc "No constructor has either @ConstructorParameters or @ConstructorProperties annotation for this set of items: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
18: aload 4
invokevirtual javax.management.openmbean.CompositeType.keySet:()Ljava/util/Set;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
19: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
20: astore 7
start local 7 21: new java.io.InvalidObjectException
dup
aload 7
invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
athrow
end local 7 22: StackMap locals: com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor javax.management.openmbean.CompositeData java.lang.String[] com.sun.jmx.mbeanserver.MXBeanMapping[] javax.management.openmbean.CompositeType java.util.BitSet com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor$Constr
StackMap stack:
aload 6
getfield com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor$Constr.presentParams:Ljava/util/BitSet;
invokevirtual java.util.BitSet.cardinality:()I
anewarray java.lang.Object
astore 7
start local 7 23: iconst_0
istore 8
start local 8 24: goto 33
25: StackMap locals: java.lang.Object[] int
StackMap stack:
aload 6
getfield com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor$Constr.presentParams:Ljava/util/BitSet;
iload 8
invokevirtual java.util.BitSet.get:(I)Z
ifne 27
26: goto 32
27: StackMap locals:
StackMap stack:
aload 1
aload 2
iload 8
aaload
invokeinterface javax.management.openmbean.CompositeData.get:(Ljava/lang/String;)Ljava/lang/Object;
astore 9
start local 9 28: aload 3
iload 8
aaload
aload 9
invokevirtual com.sun.jmx.mbeanserver.MXBeanMapping.fromOpenValue:(Ljava/lang/Object;)Ljava/lang/Object;
astore 10
start local 10 29: aload 6
getfield com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor$Constr.paramIndexes:[I
iload 8
iaload
istore 11
start local 11 30: iload 11
iflt 32
31: aload 7
iload 11
aload 10
aastore
end local 11 end local 10 end local 9 32: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
33: iload 8
aload 2
arraylength
if_icmplt 25
end local 8 34: aload 6
getfield com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor$Constr.constructor:Ljava/lang/reflect/Constructor;
invokevirtual java.lang.reflect.Constructor.getDeclaringClass:()Ljava/lang/Class;
invokestatic sun.reflect.misc.ReflectUtil.checkPackageAccess:(Ljava/lang/Class;)V
35: aload 6
getfield com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor$Constr.constructor:Ljava/lang/reflect/Constructor;
aload 7
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
36: areturn
37: StackMap locals: com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor javax.management.openmbean.CompositeData java.lang.String[] com.sun.jmx.mbeanserver.MXBeanMapping[] javax.management.openmbean.CompositeType java.util.BitSet com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor$Constr java.lang.Object[]
StackMap stack: java.lang.Exception
astore 8
start local 8 38: new java.lang.StringBuilder
dup
ldc "Exception constructing "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor.getTargetClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
39: astore 9
start local 9 40: aload 9
aload 8
invokestatic com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.invalidObjectException:(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/io/InvalidObjectException;
athrow
end local 9 end local 8 end local 7 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 41 0 this Lcom/sun/jmx/mbeanserver/DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor;
0 41 1 cd Ljavax/management/openmbean/CompositeData;
0 41 2 itemNames [Ljava/lang/String;
0 41 3 mappings [Lcom/sun/jmx/mbeanserver/MXBeanMapping;
1 41 4 ct Ljavax/management/openmbean/CompositeType;
2 41 5 present Ljava/util/BitSet;
3 8 6 i I
9 41 6 max Lcom/sun/jmx/mbeanserver/DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor$Constr;
11 15 7 constr Lcom/sun/jmx/mbeanserver/DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor$Constr;
21 22 7 msg Ljava/lang/String;
23 41 7 params [Ljava/lang/Object;
24 34 8 i I
28 32 9 openItem Ljava/lang/Object;
29 32 10 javaItem Ljava/lang/Object;
30 32 11 index I
38 41 8 e Ljava/lang/Exception;
40 41 9 msg Ljava/lang/String;
Exception table:
from to target type
34 36 37 Class java.lang.Exception
Exceptions:
throws java.io.InvalidObjectException
MethodParameters:
Name Flags
cd
itemNames
mappings
private static boolean subset(java.util.BitSet, java.util.BitSet);
descriptor: (Ljava/util/BitSet;Ljava/util/BitSet;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.util.BitSet.clone:()Ljava/lang/Object;
checkcast java.util.BitSet
astore 2
start local 2 1: aload 2
aload 1
invokevirtual java.util.BitSet.andNot:(Ljava/util/BitSet;)V
2: aload 2
invokevirtual java.util.BitSet.isEmpty:()Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 sub Ljava/util/BitSet;
0 3 1 sup Ljava/util/BitSet;
1 3 2 subcopy Ljava/util/BitSet;
MethodParameters:
Name Flags
sub
sup
}
SourceFile: "DefaultMXBeanMappingFactory.java"
NestHost: com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory
InnerClasses:
private abstract CompositeBuilder = com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilder of com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory
private final CompositeBuilderViaConstructor = com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor of com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory
private Constr = com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor$Constr of com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor