class com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaSetters extends com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilder
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaSetters
super_class: com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilder
{
private java.lang.reflect.Method[] setters;
descriptor: [Ljava/lang/reflect/Method;
flags: (0x0002) ACC_PRIVATE
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.OpenConverter$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/OpenConverter$CompositeBuilderViaSetters;
0 2 1 targetClass Ljava/lang/Class;
0 2 2 itemNames [Ljava/lang/String;
MethodParameters:
Name Flags
targetClass
itemNames
java.lang.String applicable(java.lang.reflect.Method[]);
descriptor: ([Ljava/lang/reflect/Method;)Ljava/lang/String;
flags: (0x0000)
Code:
stack=6, locals=9, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaSetters.getTargetClass:()Ljava/lang/Class;
aconst_null
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
pop
1: goto 4
StackMap locals:
StackMap stack: java.lang.Exception
2: pop
3: ldc "does not have a public no-arg constructor"
areturn
4: StackMap locals:
StackMap stack:
aload 1
arraylength
anewarray java.lang.reflect.Method
astore 2
start local 2 5: iconst_0
istore 3
start local 3 6: goto 20
7: StackMap locals: java.lang.reflect.Method[] int
StackMap stack:
aload 1
iload 3
aaload
astore 4
start local 4 8: aload 4
invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
astore 5
start local 5 9: aload 4
invokestatic com.sun.jmx.mbeanserver.OpenConverter.propertyName:(Ljava/lang/reflect/Method;)Ljava/lang/String;
astore 6
start local 6 10: new java.lang.StringBuilder
dup
ldc "set"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
start local 7 11: aload 0
invokevirtual com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaSetters.getTargetClass:()Ljava/lang/Class;
aload 7
iconst_1
anewarray java.lang.Class
dup
iconst_0
aload 5
aastore
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 8
start local 8 12: aload 8
invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
if_acmpeq 18
13: new java.lang.Exception
dup
invokespecial java.lang.Exception.<init>:()V
athrow
end local 8 14: StackMap locals: com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaSetters java.lang.reflect.Method[] java.lang.reflect.Method[] int java.lang.reflect.Method java.lang.Class java.lang.String java.lang.String
StackMap stack: java.lang.Exception
pop
15: new java.lang.StringBuilder
dup
ldc "not all getters have corresponding setters ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
16: aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
17: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
start local 8 18: StackMap locals: java.lang.reflect.Method
StackMap stack:
aload 2
iload 3
aload 8
aastore
end local 8 end local 7 end local 6 end local 5 end local 4 19: iinc 3 1
StackMap locals: com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaSetters java.lang.reflect.Method[] java.lang.reflect.Method[] int
StackMap stack:
20: iload 3
aload 1
arraylength
if_icmplt 7
end local 3 21: aload 0
aload 2
putfield com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaSetters.setters:[Ljava/lang/reflect/Method;
22: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lcom/sun/jmx/mbeanserver/OpenConverter$CompositeBuilderViaSetters;
0 23 1 getters [Ljava/lang/reflect/Method;
5 23 2 setters [Ljava/lang/reflect/Method;
6 21 3 i I
8 19 4 getter Ljava/lang/reflect/Method;
9 19 5 returnType Ljava/lang/Class;
10 19 6 name Ljava/lang/String;
11 19 7 setterName Ljava/lang/String;
12 14 8 setter Ljava/lang/reflect/Method;
18 19 8 setter Ljava/lang/reflect/Method;
Exception table:
from to target type
0 1 2 Class java.lang.Exception
11 14 14 Class java.lang.Exception
MethodParameters:
Name Flags
getters
java.lang.Object fromCompositeData(com.sun.jmx.mbeanserver.MXBeanLookup, javax.management.openmbean.CompositeData, java.lang.String[], com.sun.jmx.mbeanserver.OpenConverter[]);
descriptor: (Lcom/sun/jmx/mbeanserver/MXBeanLookup;Ljavax/management/openmbean/CompositeData;[Ljava/lang/String;[Lcom/sun/jmx/mbeanserver/OpenConverter;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=6, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokevirtual com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaSetters.getTargetClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
astore 5
start local 5 1: iconst_0
istore 6
start local 6 2: goto 9
3: StackMap locals: java.lang.Object int
StackMap stack:
aload 2
aload 3
iload 6
aaload
invokeinterface javax.management.openmbean.CompositeData.containsKey:(Ljava/lang/String;)Z
ifeq 8
4: aload 2
aload 3
iload 6
aaload
invokeinterface javax.management.openmbean.CompositeData.get:(Ljava/lang/String;)Ljava/lang/Object;
astore 7
start local 7 5: aload 4
iload 6
aaload
aload 1
aload 7
invokevirtual com.sun.jmx.mbeanserver.OpenConverter.fromOpenValue:(Lcom/sun/jmx/mbeanserver/MXBeanLookup;Ljava/lang/Object;)Ljava/lang/Object;
6: astore 8
start local 8 7: aload 0
getfield com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaSetters.setters:[Ljava/lang/reflect/Method;
iload 6
aaload
aload 5
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 8
aastore
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 8 end local 7 8: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
9: iload 6
aload 3
arraylength
if_icmplt 3
end local 6 10: goto 13
end local 5 StackMap locals: com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaSetters com.sun.jmx.mbeanserver.MXBeanLookup javax.management.openmbean.CompositeData java.lang.String[] com.sun.jmx.mbeanserver.OpenConverter[]
StackMap stack: java.lang.Exception
11: astore 6
start local 6 12: aload 6
invokestatic com.sun.jmx.mbeanserver.OpenConverter.invalidObjectException:(Ljava/lang/Throwable;)Ljava/io/InvalidObjectException;
athrow
end local 6 start local 5 13: StackMap locals: java.lang.Object
StackMap stack:
aload 5
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 14 0 this Lcom/sun/jmx/mbeanserver/OpenConverter$CompositeBuilderViaSetters;
0 14 1 lookup Lcom/sun/jmx/mbeanserver/MXBeanLookup;
0 14 2 cd Ljavax/management/openmbean/CompositeData;
0 14 3 itemNames [Ljava/lang/String;
0 14 4 converters [Lcom/sun/jmx/mbeanserver/OpenConverter;
1 11 5 o Ljava/lang/Object;
13 14 5 o Ljava/lang/Object;
2 10 6 i I
5 8 7 openItem Ljava/lang/Object;
7 8 8 javaItem Ljava/lang/Object;
12 13 6 e Ljava/lang/Exception;
Exception table:
from to target type
0 10 11 Class java.lang.Exception
Exceptions:
throws java.io.InvalidObjectException
MethodParameters:
Name Flags
lookup
cd
itemNames
converters
}
SourceFile: "OpenConverter.java"
NestHost: com.sun.jmx.mbeanserver.OpenConverter
InnerClasses:
private abstract CompositeBuilder = com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilder of com.sun.jmx.mbeanserver.OpenConverter
private CompositeBuilderViaSetters = com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaSetters of com.sun.jmx.mbeanserver.OpenConverter