final class com.sun.jmx.mbeanserver.OpenConverter$CompositeConverter extends com.sun.jmx.mbeanserver.OpenConverter
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.sun.jmx.mbeanserver.OpenConverter$CompositeConverter
super_class: com.sun.jmx.mbeanserver.OpenConverter
{
private final java.lang.String[] itemNames;
descriptor: [Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.reflect.Method[] getters;
descriptor: [Ljava/lang/reflect/Method;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.sun.jmx.mbeanserver.OpenConverter[] getterConverters;
descriptor: [Lcom/sun/jmx/mbeanserver/OpenConverter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilder compositeBuilder;
descriptor: Lcom/sun/jmx/mbeanserver/OpenConverter$CompositeBuilder;
flags: (0x0002) ACC_PRIVATE
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lcom/sun/jmx/mbeanserver/OpenConverter;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic com.sun.jmx.mbeanserver.OpenConverter$CompositeConverter.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(java.lang.Class, javax.management.openmbean.CompositeType, java.lang.String[], java.lang.reflect.Method[]);
descriptor: (Ljava/lang/Class;Ljavax/management/openmbean/CompositeType;[Ljava/lang/String;[Ljava/lang/reflect/Method;)V
flags: (0x0000)
Code:
stack=4, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
ldc Ljavax/management/openmbean/CompositeData;
invokespecial com.sun.jmx.mbeanserver.OpenConverter.<init>:(Ljava/lang/reflect/Type;Ljavax/management/openmbean/OpenType;Ljava/lang/Class;)V
1: getstatic com.sun.jmx.mbeanserver.OpenConverter$CompositeConverter.$assertionsDisabled:Z
ifne 2
aload 3
arraylength
aload 4
arraylength
if_icmpeq 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: com.sun.jmx.mbeanserver.OpenConverter$CompositeConverter java.lang.Class javax.management.openmbean.CompositeType java.lang.String[] java.lang.reflect.Method[]
StackMap stack:
aload 0
aload 3
putfield com.sun.jmx.mbeanserver.OpenConverter$CompositeConverter.itemNames:[Ljava/lang/String;
3: aload 0
aload 4
putfield com.sun.jmx.mbeanserver.OpenConverter$CompositeConverter.getters:[Ljava/lang/reflect/Method;
4: aload 0
aload 4
arraylength
anewarray com.sun.jmx.mbeanserver.OpenConverter
putfield com.sun.jmx.mbeanserver.OpenConverter$CompositeConverter.getterConverters:[Lcom/sun/jmx/mbeanserver/OpenConverter;
5: iconst_0
istore 5
start local 5 6: goto 10
7: StackMap locals: int
StackMap stack:
aload 4
iload 5
aaload
invokevirtual java.lang.reflect.Method.getGenericReturnType:()Ljava/lang/reflect/Type;
astore 6
start local 6 8: aload 0
getfield com.sun.jmx.mbeanserver.OpenConverter$CompositeConverter.getterConverters:[Lcom/sun/jmx/mbeanserver/OpenConverter;
iload 5
aload 6
invokestatic com.sun.jmx.mbeanserver.OpenConverter.toConverter:(Ljava/lang/reflect/Type;)Lcom/sun/jmx/mbeanserver/OpenConverter;
aastore
end local 6 9: iinc 5 1
StackMap locals:
StackMap stack:
10: iload 5
aload 4
arraylength
if_icmplt 7
end local 5 11: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/sun/jmx/mbeanserver/OpenConverter$CompositeConverter;
0 12 1 targetClass Ljava/lang/Class;
0 12 2 compositeType Ljavax/management/openmbean/CompositeType;
0 12 3 itemNames [Ljava/lang/String;
0 12 4 getters [Ljava/lang/reflect/Method;
6 11 5 i I
8 9 6 retType Ljava/lang/reflect/Type;
Exceptions:
throws javax.management.openmbean.OpenDataException
MethodParameters:
Name Flags
targetClass
compositeType
itemNames
getters
final java.lang.Object toNonNullOpenValue(com.sun.jmx.mbeanserver.MXBeanLookup, java.lang.Object);
descriptor: (Lcom/sun/jmx/mbeanserver/MXBeanLookup;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0010) ACC_FINAL
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.sun.jmx.mbeanserver.OpenConverter$CompositeConverter.getOpenType:()Ljavax/management/openmbean/OpenType;
checkcast javax.management.openmbean.CompositeType
astore 3
start local 3 1: aload 2
instanceof javax.management.openmbean.CompositeDataView
ifeq 3
2: aload 2
checkcast javax.management.openmbean.CompositeDataView
aload 3
invokeinterface javax.management.openmbean.CompositeDataView.toCompositeData:(Ljavax/management/openmbean/CompositeType;)Ljavax/management/openmbean/CompositeData;
areturn
3: StackMap locals: javax.management.openmbean.CompositeType
StackMap stack:
aload 2
ifnonnull 5
4: aconst_null
areturn
5: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jmx.mbeanserver.OpenConverter$CompositeConverter.getters:[Ljava/lang/reflect/Method;
arraylength
anewarray java.lang.Object
astore 4
start local 4 6: iconst_0
istore 5
start local 5 7: goto 18
8: StackMap locals: java.lang.Object[] int
StackMap stack:
aload 0
getfield com.sun.jmx.mbeanserver.OpenConverter$CompositeConverter.getters:[Ljava/lang/reflect/Method;
iload 5
aaload
aload 2
aconst_null
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
astore 6
start local 6 9: aload 4
iload 5
aload 0
getfield com.sun.jmx.mbeanserver.OpenConverter$CompositeConverter.getterConverters:[Lcom/sun/jmx/mbeanserver/OpenConverter;
iload 5
aaload
aload 1
aload 6
invokevirtual com.sun.jmx.mbeanserver.OpenConverter.toOpenValue:(Lcom/sun/jmx/mbeanserver/MXBeanLookup;Ljava/lang/Object;)Ljava/lang/Object;
aastore
end local 6 10: goto 17
StackMap locals:
StackMap stack: java.lang.Exception
11: astore 6
start local 6 12: new java.lang.StringBuilder
dup
ldc "Error calling getter for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
13: aload 0
getfield com.sun.jmx.mbeanserver.OpenConverter$CompositeConverter.itemNames:[Ljava/lang/String;
iload 5
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
14: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
15: aload 6
16: invokestatic com.sun.jmx.mbeanserver.OpenConverter$CompositeConverter.openDataException:(Ljava/lang/String;Ljava/lang/Throwable;)Ljavax/management/openmbean/OpenDataException;
athrow
end local 6 17: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
18: iload 5
aload 0
getfield com.sun.jmx.mbeanserver.OpenConverter$CompositeConverter.getters:[Ljava/lang/reflect/Method;
arraylength
if_icmplt 8
end local 5 19: new javax.management.openmbean.CompositeDataSupport
dup
aload 3
aload 0
getfield com.sun.jmx.mbeanserver.OpenConverter$CompositeConverter.itemNames:[Ljava/lang/String;
aload 4
invokespecial javax.management.openmbean.CompositeDataSupport.<init>:(Ljavax/management/openmbean/CompositeType;[Ljava/lang/String;[Ljava/lang/Object;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/sun/jmx/mbeanserver/OpenConverter$CompositeConverter;
0 20 1 lookup Lcom/sun/jmx/mbeanserver/MXBeanLookup;
0 20 2 value Ljava/lang/Object;
1 20 3 ct Ljavax/management/openmbean/CompositeType;
6 20 4 values [Ljava/lang/Object;
7 19 5 i I
9 10 6 got Ljava/lang/Object;
12 17 6 e Ljava/lang/Exception;
Exception table:
from to target type
8 10 11 Class java.lang.Exception
Exceptions:
throws javax.management.openmbean.OpenDataException
MethodParameters:
Name Flags
lookup
value
private synchronized void makeCompositeBuilder();
descriptor: ()V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=11, locals=12, args_size=1
start local 0 0: aload 0
getfield com.sun.jmx.mbeanserver.OpenConverter$CompositeConverter.compositeBuilder:Lcom/sun/jmx/mbeanserver/OpenConverter$CompositeBuilder;
ifnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.jmx.mbeanserver.OpenConverter$CompositeConverter.getTargetType:()Ljava/lang/reflect/Type;
checkcast java.lang.Class
astore 1
start local 1 3: iconst_3
anewarray com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilder[]
dup
iconst_0
4: iconst_1
anewarray com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilder
dup
iconst_0
5: new com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaFrom
dup
aload 1
aload 0
getfield com.sun.jmx.mbeanserver.OpenConverter$CompositeConverter.itemNames:[Ljava/lang/String;
invokespecial com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaFrom.<init>:(Ljava/lang/Class;[Ljava/lang/String;)V
aastore
aastore
dup
iconst_1
6: iconst_1
anewarray com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilder
dup
iconst_0
7: new com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor
dup
aload 1
aload 0
getfield com.sun.jmx.mbeanserver.OpenConverter$CompositeConverter.itemNames:[Ljava/lang/String;
invokespecial com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor.<init>:(Ljava/lang/Class;[Ljava/lang/String;)V
aastore
aastore
dup
iconst_2
8: iconst_3
anewarray com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilder
dup
iconst_0
9: new com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderCheckGetters
dup
aload 1
aload 0
getfield com.sun.jmx.mbeanserver.OpenConverter$CompositeConverter.itemNames:[Ljava/lang/String;
10: aload 0
getfield com.sun.jmx.mbeanserver.OpenConverter$CompositeConverter.getterConverters:[Lcom/sun/jmx/mbeanserver/OpenConverter;
11: invokespecial com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderCheckGetters.<init>:(Ljava/lang/Class;[Ljava/lang/String;[Lcom/sun/jmx/mbeanserver/OpenConverter;)V
aastore
dup
iconst_1
12: new com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaSetters
dup
aload 1
aload 0
getfield com.sun.jmx.mbeanserver.OpenConverter$CompositeConverter.itemNames:[Ljava/lang/String;
invokespecial com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaSetters.<init>:(Ljava/lang/Class;[Ljava/lang/String;)V
aastore
dup
iconst_2
13: new com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaProxy
dup
aload 1
aload 0
getfield com.sun.jmx.mbeanserver.OpenConverter$CompositeConverter.itemNames:[Ljava/lang/String;
invokespecial com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaProxy.<init>:(Ljava/lang/Class;[Ljava/lang/String;)V
aastore
aastore
14: astore 2
start local 2 15: aconst_null
astore 3
start local 3 16: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 4
start local 4 17: aload 2
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 35
StackMap locals: com.sun.jmx.mbeanserver.OpenConverter$CompositeConverter java.lang.Class com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilder[][] com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilder java.lang.StringBuilder top int int com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilder[][]
StackMap stack:
18: aload 8
iload 6
aaload
astore 5
start local 5 19: iconst_0
istore 9
start local 9 20: goto 33
21: StackMap locals: com.sun.jmx.mbeanserver.OpenConverter$CompositeConverter java.lang.Class com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilder[][] com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilder java.lang.StringBuilder com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilder[] int int com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilder[][] int
StackMap stack:
aload 5
iload 9
aaload
astore 10
start local 10 22: aload 10
aload 0
getfield com.sun.jmx.mbeanserver.OpenConverter$CompositeConverter.getters:[Ljava/lang/reflect/Method;
invokevirtual com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilder.applicable:([Ljava/lang/reflect/Method;)Ljava/lang/String;
astore 11
start local 11 23: aload 11
ifnonnull 26
24: aload 10
astore 3
25: goto 36
26: StackMap locals: com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilder java.lang.String
StackMap stack:
aload 11
invokevirtual java.lang.String.length:()I
ifle 32
27: aload 4
invokevirtual java.lang.StringBuilder.length:()I
ifle 29
28: aload 4
ldc "; "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
29: StackMap locals:
StackMap stack:
aload 4
aload 11
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
30: iload 9
ifne 32
31: goto 34
end local 11 end local 10 32: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
33: iload 9
aload 5
arraylength
if_icmplt 21
end local 9 end local 5 34: StackMap locals: com.sun.jmx.mbeanserver.OpenConverter$CompositeConverter java.lang.Class com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilder[][] com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilder java.lang.StringBuilder top int int com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilder[][]
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
35: iload 6
iload 7
if_icmplt 18
36: StackMap locals: com.sun.jmx.mbeanserver.OpenConverter$CompositeConverter java.lang.Class com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilder[][] com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilder java.lang.StringBuilder
StackMap stack:
aload 3
ifnonnull 42
37: new java.lang.StringBuilder
dup
ldc "Do not know how to make a "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
38: ldc " from a CompositeData: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
39: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
40: astore 5
start local 5 41: new java.io.InvalidObjectException
dup
aload 5
invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
athrow
end local 5 42: StackMap locals:
StackMap stack:
aload 0
aload 3
putfield com.sun.jmx.mbeanserver.OpenConverter$CompositeConverter.compositeBuilder:Lcom/sun/jmx/mbeanserver/OpenConverter$CompositeBuilder;
43: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 44 0 this Lcom/sun/jmx/mbeanserver/OpenConverter$CompositeConverter;
3 44 1 targetClass Ljava/lang/Class;
15 44 2 builders [[Lcom/sun/jmx/mbeanserver/OpenConverter$CompositeBuilder;
16 44 3 foundBuilder Lcom/sun/jmx/mbeanserver/OpenConverter$CompositeBuilder;
17 44 4 whyNots Ljava/lang/StringBuilder;
19 34 5 relatedBuilders [Lcom/sun/jmx/mbeanserver/OpenConverter$CompositeBuilder;
20 34 9 i I
22 32 10 builder Lcom/sun/jmx/mbeanserver/OpenConverter$CompositeBuilder;
23 32 11 whyNot Ljava/lang/String;
41 42 5 msg Ljava/lang/String;
Exceptions:
throws java.io.InvalidObjectException
void checkReconstructible();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.jmx.mbeanserver.OpenConverter$CompositeConverter.makeCompositeBuilder:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/jmx/mbeanserver/OpenConverter$CompositeConverter;
Exceptions:
throws java.io.InvalidObjectException
public final java.lang.Object fromNonNullOpenValue(com.sun.jmx.mbeanserver.MXBeanLookup, java.lang.Object);
descriptor: (Lcom/sun/jmx/mbeanserver/MXBeanLookup;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.sun.jmx.mbeanserver.OpenConverter$CompositeConverter.makeCompositeBuilder:()V
1: aload 0
getfield com.sun.jmx.mbeanserver.OpenConverter$CompositeConverter.compositeBuilder:Lcom/sun/jmx/mbeanserver/OpenConverter$CompositeBuilder;
aload 1
2: aload 2
checkcast javax.management.openmbean.CompositeData
3: aload 0
getfield com.sun.jmx.mbeanserver.OpenConverter$CompositeConverter.itemNames:[Ljava/lang/String;
4: aload 0
getfield com.sun.jmx.mbeanserver.OpenConverter$CompositeConverter.getterConverters:[Lcom/sun/jmx/mbeanserver/OpenConverter;
5: invokevirtual com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilder.fromCompositeData:(Lcom/sun/jmx/mbeanserver/MXBeanLookup;Ljavax/management/openmbean/CompositeData;[Ljava/lang/String;[Lcom/sun/jmx/mbeanserver/OpenConverter;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/jmx/mbeanserver/OpenConverter$CompositeConverter;
0 6 1 lookup Lcom/sun/jmx/mbeanserver/MXBeanLookup;
0 6 2 value Ljava/lang/Object;
Exceptions:
throws java.io.InvalidObjectException
MethodParameters:
Name Flags
lookup
value
}
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 CompositeBuilderCheckGetters = com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderCheckGetters of com.sun.jmx.mbeanserver.OpenConverter
private final CompositeBuilderViaConstructor = com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor of com.sun.jmx.mbeanserver.OpenConverter
private final CompositeBuilderViaFrom = com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaFrom of com.sun.jmx.mbeanserver.OpenConverter
private final CompositeBuilderViaProxy = com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaProxy of com.sun.jmx.mbeanserver.OpenConverter
private CompositeBuilderViaSetters = com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaSetters of com.sun.jmx.mbeanserver.OpenConverter
private final CompositeConverter = com.sun.jmx.mbeanserver.OpenConverter$CompositeConverter of com.sun.jmx.mbeanserver.OpenConverter