public abstract class com.sun.jmx.mbeanserver.OpenConverter
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: com.sun.jmx.mbeanserver.OpenConverter
super_class: java.lang.Object
{
private final java.lang.reflect.Type targetType;
descriptor: Ljava/lang/reflect/Type;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final javax.management.openmbean.OpenType openType;
descriptor: Ljavax/management/openmbean/OpenType;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.Class openClass;
descriptor: Ljava/lang/Class;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static final com.sun.jmx.mbeanserver.OpenConverter$ConverterMap converterMap;
descriptor: Lcom/sun/jmx/mbeanserver/OpenConverter$ConverterMap;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.List<com.sun.jmx.mbeanserver.OpenConverter> permanentConverters;
descriptor: Ljava/util/List;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/List<Lcom/sun/jmx/mbeanserver/OpenConverter;>;
private static final java.lang.String[] keyArray;
descriptor: [Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String[] keyValueArray;
descriptor: [Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.Map<java.lang.reflect.Type, java.lang.reflect.Type> inProgress;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;>;
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=5, locals=11, 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.$assertionsDisabled:Z
3: new com.sun.jmx.mbeanserver.OpenConverter$ConverterMap
dup
invokespecial com.sun.jmx.mbeanserver.OpenConverter$ConverterMap.<init>:()V
putstatic com.sun.jmx.mbeanserver.OpenConverter.converterMap:Lcom/sun/jmx/mbeanserver/OpenConverter$ConverterMap;
4: invokestatic com.sun.jmx.mbeanserver.Util.newList:()Ljava/util/List;
putstatic com.sun.jmx.mbeanserver.OpenConverter.permanentConverters:Ljava/util/List;
5: bipush 14
anewarray javax.management.openmbean.OpenType
dup
iconst_0
6: getstatic javax.management.openmbean.SimpleType.BIGDECIMAL:Ljavax/management/openmbean/SimpleType;
aastore
dup
iconst_1
getstatic javax.management.openmbean.SimpleType.BIGINTEGER:Ljavax/management/openmbean/SimpleType;
aastore
dup
iconst_2
getstatic javax.management.openmbean.SimpleType.BOOLEAN:Ljavax/management/openmbean/SimpleType;
aastore
dup
iconst_3
getstatic javax.management.openmbean.SimpleType.BYTE:Ljavax/management/openmbean/SimpleType;
aastore
dup
iconst_4
getstatic javax.management.openmbean.SimpleType.CHARACTER:Ljavax/management/openmbean/SimpleType;
aastore
dup
iconst_5
getstatic javax.management.openmbean.SimpleType.DATE:Ljavax/management/openmbean/SimpleType;
aastore
dup
bipush 6
7: getstatic javax.management.openmbean.SimpleType.DOUBLE:Ljavax/management/openmbean/SimpleType;
aastore
dup
bipush 7
getstatic javax.management.openmbean.SimpleType.FLOAT:Ljavax/management/openmbean/SimpleType;
aastore
dup
bipush 8
getstatic javax.management.openmbean.SimpleType.INTEGER:Ljavax/management/openmbean/SimpleType;
aastore
dup
bipush 9
getstatic javax.management.openmbean.SimpleType.LONG:Ljavax/management/openmbean/SimpleType;
aastore
dup
bipush 10
getstatic javax.management.openmbean.SimpleType.OBJECTNAME:Ljavax/management/openmbean/SimpleType;
aastore
dup
bipush 11
getstatic javax.management.openmbean.SimpleType.SHORT:Ljavax/management/openmbean/SimpleType;
aastore
dup
bipush 12
getstatic javax.management.openmbean.SimpleType.STRING:Ljavax/management/openmbean/SimpleType;
aastore
dup
bipush 13
8: getstatic javax.management.openmbean.SimpleType.VOID:Ljavax/management/openmbean/SimpleType;
aastore
9: astore 0
start local 0 10: iconst_0
istore 1
start local 1 11: goto 47
12: StackMap locals: javax.management.openmbean.OpenType[] int
StackMap stack:
aload 0
iload 1
aaload
astore 2
start local 2 13: aload 2
invokevirtual javax.management.openmbean.OpenType.getClassName:()Ljava/lang/String;
iconst_0
14: ldc Ljavax/management/ObjectName;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
15: invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
astore 3
start local 3 16: goto 19
end local 3 StackMap locals: javax.management.openmbean.OpenType[] int javax.management.openmbean.OpenType
StackMap stack: java.lang.ClassNotFoundException
17: astore 4
start local 4 18: new java.lang.Error
dup
aload 4
invokespecial java.lang.Error.<init>:(Ljava/lang/Throwable;)V
athrow
end local 4 start local 3 19: StackMap locals: java.lang.Class
StackMap stack:
new com.sun.jmx.mbeanserver.OpenConverter$IdentityConverter
dup
aload 3
aload 2
aload 3
invokespecial com.sun.jmx.mbeanserver.OpenConverter$IdentityConverter.<init>:(Ljava/lang/reflect/Type;Ljavax/management/openmbean/OpenType;Ljava/lang/Class;)V
astore 4
start local 4 20: aload 3
aload 4
invokestatic com.sun.jmx.mbeanserver.OpenConverter.putPermanentConverter:(Ljava/lang/reflect/Type;Lcom/sun/jmx/mbeanserver/OpenConverter;)V
21: aload 3
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
ldc "java.lang."
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 46
22: aload 3
ldc "TYPE"
invokevirtual java.lang.Class.getField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
astore 5
start local 5 23: aload 5
aconst_null
invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Class
astore 6
start local 6 24: new com.sun.jmx.mbeanserver.OpenConverter$IdentityConverter
dup
aload 6
aload 2
aload 6
invokespecial com.sun.jmx.mbeanserver.OpenConverter$IdentityConverter.<init>:(Ljava/lang/reflect/Type;Ljavax/management/openmbean/OpenType;Ljava/lang/Class;)V
25: astore 7
start local 7 26: aload 6
27: aload 7
28: invokestatic com.sun.jmx.mbeanserver.OpenConverter.putPermanentConverter:(Ljava/lang/reflect/Type;Lcom/sun/jmx/mbeanserver/OpenConverter;)V
29: aload 6
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
if_acmpeq 46
30: aload 6
iconst_0
invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
31: astore 8
start local 8 32: aload 8
invokestatic javax.management.openmbean.ArrayType.getPrimitiveArrayType:(Ljava/lang/Class;)Ljavax/management/openmbean/ArrayType;
33: astore 9
start local 9 34: new com.sun.jmx.mbeanserver.OpenConverter$IdentityConverter
dup
aload 8
35: aload 9
36: aload 8
37: invokespecial com.sun.jmx.mbeanserver.OpenConverter$IdentityConverter.<init>:(Ljava/lang/reflect/Type;Ljavax/management/openmbean/OpenType;Ljava/lang/Class;)V
38: astore 10
start local 10 39: aload 8
40: aload 10
41: invokestatic com.sun.jmx.mbeanserver.OpenConverter.putPermanentConverter:(Ljava/lang/reflect/Type;Lcom/sun/jmx/mbeanserver/OpenConverter;)V
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 42: goto 46
StackMap locals: javax.management.openmbean.OpenType[] int javax.management.openmbean.OpenType java.lang.Class com.sun.jmx.mbeanserver.OpenConverter
StackMap stack: java.lang.NoSuchFieldException
43: pop
goto 46
44: StackMap locals:
StackMap stack: java.lang.IllegalAccessException
pop
45: getstatic com.sun.jmx.mbeanserver.OpenConverter.$assertionsDisabled:Z
ifne 46
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 4 end local 3 end local 2 46: StackMap locals:
StackMap stack:
iinc 1 1
StackMap locals:
StackMap stack:
47: iload 1
aload 0
arraylength
if_icmplt 12
end local 1 end local 0 48: iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "key"
aastore
putstatic com.sun.jmx.mbeanserver.OpenConverter.keyArray:[Ljava/lang/String;
49: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "key"
aastore
dup
iconst_1
ldc "value"
aastore
putstatic com.sun.jmx.mbeanserver.OpenConverter.keyValueArray:[Ljava/lang/String;
50: invokestatic com.sun.jmx.mbeanserver.Util.newIdentityHashMap:()Ljava/util/IdentityHashMap;
putstatic com.sun.jmx.mbeanserver.OpenConverter.inProgress:Ljava/util/Map;
return
LocalVariableTable:
Start End Slot Name Signature
10 48 0 simpleTypes [Ljavax/management/openmbean/OpenType;
11 48 1 i I
13 46 2 t Ljavax/management/openmbean/OpenType;
16 17 3 c Ljava/lang/Class;
19 46 3 c Ljava/lang/Class;
18 19 4 e Ljava/lang/ClassNotFoundException;
20 46 4 conv Lcom/sun/jmx/mbeanserver/OpenConverter;
23 42 5 typeField Ljava/lang/reflect/Field;
24 42 6 primitiveType Ljava/lang/Class;
26 42 7 primitiveConv Lcom/sun/jmx/mbeanserver/OpenConverter;
32 42 8 primitiveArrayType Ljava/lang/Class<*>;
34 42 9 primitiveArrayOpenType Ljavax/management/openmbean/OpenType;
39 42 10 primitiveArrayConv Lcom/sun/jmx/mbeanserver/OpenConverter;
Exception table:
from to target type
13 16 17 Class java.lang.ClassNotFoundException
22 42 43 Class java.lang.NoSuchFieldException
22 42 44 Class java.lang.IllegalAccessException
private void <init>(java.lang.reflect.Type, javax.management.openmbean.OpenType, java.lang.Class);
descriptor: (Ljava/lang/reflect/Type;Ljavax/management/openmbean/OpenType;Ljava/lang/Class;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield com.sun.jmx.mbeanserver.OpenConverter.targetType:Ljava/lang/reflect/Type;
2: aload 0
aload 2
putfield com.sun.jmx.mbeanserver.OpenConverter.openType:Ljavax/management/openmbean/OpenType;
3: aload 0
aload 3
putfield com.sun.jmx.mbeanserver.OpenConverter.openClass:Ljava/lang/Class;
4: return
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/OpenConverter;
0 5 1 targetType Ljava/lang/reflect/Type;
0 5 2 openType Ljavax/management/openmbean/OpenType;
0 5 3 openClass Ljava/lang/Class;
MethodParameters:
Name Flags
targetType
openType
openClass
public final java.lang.Object fromOpenValue(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=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual com.sun.jmx.mbeanserver.OpenConverter.fromNonNullOpenValue:(Lcom/sun/jmx/mbeanserver/MXBeanLookup;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/jmx/mbeanserver/OpenConverter;
0 3 1 lookup Lcom/sun/jmx/mbeanserver/MXBeanLookup;
0 3 2 value Ljava/lang/Object;
Exceptions:
throws java.io.InvalidObjectException
MethodParameters:
Name Flags
lookup
value
abstract 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: (0x0400) ACC_ABSTRACT
Exceptions:
throws java.io.InvalidObjectException
MethodParameters:
Name Flags
lookup
value
void checkReconstructible();
descriptor: ()V
flags: (0x0000)
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jmx/mbeanserver/OpenConverter;
Exceptions:
throws java.io.InvalidObjectException
final java.lang.Object toOpenValue(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=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual com.sun.jmx.mbeanserver.OpenConverter.toNonNullOpenValue:(Lcom/sun/jmx/mbeanserver/MXBeanLookup;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/jmx/mbeanserver/OpenConverter;
0 3 1 lookup Lcom/sun/jmx/mbeanserver/MXBeanLookup;
0 3 2 value Ljava/lang/Object;
Exceptions:
throws javax.management.openmbean.OpenDataException
MethodParameters:
Name Flags
lookup
value
abstract 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: (0x0400) ACC_ABSTRACT
Exceptions:
throws javax.management.openmbean.OpenDataException
MethodParameters:
Name Flags
lookup
value
boolean isIdentity();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jmx/mbeanserver/OpenConverter;
final java.lang.reflect.Type getTargetType();
descriptor: ()Ljava/lang/reflect/Type;
flags: (0x0010) ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.jmx.mbeanserver.OpenConverter.targetType:Ljava/lang/reflect/Type;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jmx/mbeanserver/OpenConverter;
final javax.management.openmbean.OpenType getOpenType();
descriptor: ()Ljavax/management/openmbean/OpenType;
flags: (0x0010) ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.jmx.mbeanserver.OpenConverter.openType:Ljavax/management/openmbean/OpenType;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jmx/mbeanserver/OpenConverter;
final java.lang.Class getOpenClass();
descriptor: ()Ljava/lang/Class;
flags: (0x0010) ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.jmx.mbeanserver.OpenConverter.openClass:Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jmx/mbeanserver/OpenConverter;
private static synchronized com.sun.jmx.mbeanserver.OpenConverter getConverter(java.lang.reflect.Type);
descriptor: (Ljava/lang/reflect/Type;)Lcom/sun/jmx/mbeanserver/OpenConverter;
flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic com.sun.jmx.mbeanserver.OpenConverter.converterMap:Lcom/sun/jmx/mbeanserver/OpenConverter$ConverterMap;
aload 0
invokevirtual com.sun.jmx.mbeanserver.OpenConverter$ConverterMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.ref.WeakReference
astore 1
start local 1 1: aload 1
ifnonnull 2
aconst_null
goto 3
StackMap locals: java.lang.ref.WeakReference
StackMap stack:
2: aload 1
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast com.sun.jmx.mbeanserver.OpenConverter
StackMap locals:
StackMap stack: com.sun.jmx.mbeanserver.OpenConverter
3: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 type Ljava/lang/reflect/Type;
1 4 1 wr Ljava/lang/ref/WeakReference<Lcom/sun/jmx/mbeanserver/OpenConverter;>;
MethodParameters:
Name Flags
type
private static synchronized void putConverter(java.lang.reflect.Type, com.sun.jmx.mbeanserver.OpenConverter);
descriptor: (Ljava/lang/reflect/Type;Lcom/sun/jmx/mbeanserver/OpenConverter;)V
flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: new java.lang.ref.WeakReference
dup
aload 1
invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
1: astore 2
start local 2 2: getstatic com.sun.jmx.mbeanserver.OpenConverter.converterMap:Lcom/sun/jmx/mbeanserver/OpenConverter$ConverterMap;
aload 0
aload 2
invokevirtual com.sun.jmx.mbeanserver.OpenConverter$ConverterMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 type Ljava/lang/reflect/Type;
0 4 1 conv Lcom/sun/jmx/mbeanserver/OpenConverter;
2 4 2 wr Ljava/lang/ref/WeakReference<Lcom/sun/jmx/mbeanserver/OpenConverter;>;
MethodParameters:
Name Flags
type
conv
private static synchronized void putPermanentConverter(java.lang.reflect.Type, com.sun.jmx.mbeanserver.OpenConverter);
descriptor: (Ljava/lang/reflect/Type;Lcom/sun/jmx/mbeanserver/OpenConverter;)V
flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic com.sun.jmx.mbeanserver.OpenConverter.putConverter:(Ljava/lang/reflect/Type;Lcom/sun/jmx/mbeanserver/OpenConverter;)V
1: getstatic com.sun.jmx.mbeanserver.OpenConverter.permanentConverters:Ljava/util/List;
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 type Ljava/lang/reflect/Type;
0 3 1 conv Lcom/sun/jmx/mbeanserver/OpenConverter;
MethodParameters:
Name Flags
type
conv
public static synchronized com.sun.jmx.mbeanserver.OpenConverter toConverter(java.lang.reflect.Type);
descriptor: (Ljava/lang/reflect/Type;)Lcom/sun/jmx/mbeanserver/OpenConverter;
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=3, args_size=1
start local 0 0: getstatic com.sun.jmx.mbeanserver.OpenConverter.inProgress:Ljava/util/Map;
aload 0
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 2
1: new javax.management.openmbean.OpenDataException
dup
ldc "Recursive data structure"
invokespecial javax.management.openmbean.OpenDataException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokestatic com.sun.jmx.mbeanserver.OpenConverter.getConverter:(Ljava/lang/reflect/Type;)Lcom/sun/jmx/mbeanserver/OpenConverter;
astore 1
start local 1 3: aload 1
ifnull 5
4: aload 1
areturn
5: StackMap locals: com.sun.jmx.mbeanserver.OpenConverter
StackMap stack:
getstatic com.sun.jmx.mbeanserver.OpenConverter.inProgress:Ljava/util/Map;
aload 0
aload 0
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: aload 0
invokestatic com.sun.jmx.mbeanserver.OpenConverter.makeConverter:(Ljava/lang/reflect/Type;)Lcom/sun/jmx/mbeanserver/OpenConverter;
astore 1
7: goto 11
StackMap locals:
StackMap stack: java.lang.Throwable
8: astore 2
9: getstatic com.sun.jmx.mbeanserver.OpenConverter.inProgress:Ljava/util/Map;
aload 0
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
10: aload 2
athrow
11: StackMap locals:
StackMap stack:
getstatic com.sun.jmx.mbeanserver.OpenConverter.inProgress:Ljava/util/Map;
aload 0
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
12: aload 0
aload 1
invokestatic com.sun.jmx.mbeanserver.OpenConverter.putConverter:(Ljava/lang/reflect/Type;Lcom/sun/jmx/mbeanserver/OpenConverter;)V
13: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 objType Ljava/lang/reflect/Type;
3 14 1 conv Lcom/sun/jmx/mbeanserver/OpenConverter;
Exception table:
from to target type
6 8 8 any
Exceptions:
throws javax.management.openmbean.OpenDataException
MethodParameters:
Name Flags
objType
private static com.sun.jmx.mbeanserver.OpenConverter makeConverter(java.lang.reflect.Type);
descriptor: (Ljava/lang/reflect/Type;)Lcom/sun/jmx/mbeanserver/OpenConverter;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
instanceof java.lang.reflect.GenericArrayType
ifeq 4
1: aload 0
checkcast java.lang.reflect.GenericArrayType
invokeinterface java.lang.reflect.GenericArrayType.getGenericComponentType:()Ljava/lang/reflect/Type;
2: astore 1
start local 1 3: aload 0
aload 1
invokestatic com.sun.jmx.mbeanserver.OpenConverter.makeArrayOrCollectionConverter:(Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;)Lcom/sun/jmx/mbeanserver/OpenConverter;
areturn
end local 1 4: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Class
ifeq 14
5: aload 0
checkcast java.lang.Class
astore 1
start local 1 6: aload 1
invokevirtual java.lang.Class.isEnum:()Z
ifeq 8
7: aload 1
ldc Ljava/lang/annotation/ElementType;
invokestatic com.sun.jmx.mbeanserver.OpenConverter.makeEnumConverter:(Ljava/lang/Class;Ljava/lang/Class;)Lcom/sun/jmx/mbeanserver/OpenConverter;
areturn
8: StackMap locals: java.lang.Class
StackMap stack:
aload 1
invokevirtual java.lang.Class.isArray:()Z
ifeq 11
9: aload 1
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
astore 2
start local 2 10: aload 1
aload 2
invokestatic com.sun.jmx.mbeanserver.OpenConverter.makeArrayOrCollectionConverter:(Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;)Lcom/sun/jmx/mbeanserver/OpenConverter;
areturn
end local 2 11: StackMap locals:
StackMap stack:
aload 1
invokestatic javax.management.JMX.isMXBeanInterface:(Ljava/lang/Class;)Z
ifeq 13
12: aload 1
invokestatic com.sun.jmx.mbeanserver.OpenConverter.makeMXBeanConverter:(Ljava/lang/reflect/Type;)Lcom/sun/jmx/mbeanserver/OpenConverter;
areturn
13: StackMap locals:
StackMap stack:
aload 1
invokestatic com.sun.jmx.mbeanserver.OpenConverter.makeCompositeConverter:(Ljava/lang/Class;)Lcom/sun/jmx/mbeanserver/OpenConverter;
areturn
end local 1 14: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.reflect.ParameterizedType
ifeq 16
15: aload 0
checkcast java.lang.reflect.ParameterizedType
invokestatic com.sun.jmx.mbeanserver.OpenConverter.makeParameterizedConverter:(Ljava/lang/reflect/ParameterizedType;)Lcom/sun/jmx/mbeanserver/OpenConverter;
areturn
16: StackMap locals:
StackMap stack:
new javax.management.openmbean.OpenDataException
dup
new java.lang.StringBuilder
dup
ldc "Cannot map type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial javax.management.openmbean.OpenDataException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 objType Ljava/lang/reflect/Type;
3 4 1 componentType Ljava/lang/reflect/Type;
6 14 1 objClass Ljava/lang/Class<*>;
10 11 2 componentType Ljava/lang/reflect/Type;
Exceptions:
throws javax.management.openmbean.OpenDataException
MethodParameters:
Name Flags
objType
private static <T extends java.lang.Enum<T>> com.sun.jmx.mbeanserver.OpenConverter makeEnumConverter(java.lang.Class<?>, java.lang.Class<T>);
descriptor: (Ljava/lang/Class;Ljava/lang/Class;)Lcom/sun/jmx/mbeanserver/OpenConverter;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokestatic com.sun.jmx.mbeanserver.Util.cast:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Class
astore 2
start local 2 1: new com.sun.jmx.mbeanserver.OpenConverter$EnumConverter
dup
aload 2
invokespecial com.sun.jmx.mbeanserver.OpenConverter$EnumConverter.<init>:(Ljava/lang/Class;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 enumClass Ljava/lang/Class<*>;
0 2 1 fake Ljava/lang/Class<TT;>;
1 2 2 enumClassT Ljava/lang/Class<TT;>;
Signature: <T:Ljava/lang/Enum<TT;>;>(Ljava/lang/Class<*>;Ljava/lang/Class<TT;>;)Lcom/sun/jmx/mbeanserver/OpenConverter;
MethodParameters:
Name Flags
enumClass
fake
private static com.sun.jmx.mbeanserver.OpenConverter makeArrayOrCollectionConverter(java.lang.reflect.Type, java.lang.reflect.Type);
descriptor: (Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;)Lcom/sun/jmx/mbeanserver/OpenConverter;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=9, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.sun.jmx.mbeanserver.OpenConverter.toConverter:(Ljava/lang/reflect/Type;)Lcom/sun/jmx/mbeanserver/OpenConverter;
astore 2
start local 2 1: aload 2
invokevirtual com.sun.jmx.mbeanserver.OpenConverter.getOpenType:()Ljavax/management/openmbean/OpenType;
astore 3
start local 3 2: aload 3
invokestatic javax.management.openmbean.ArrayType.getArrayType:(Ljavax/management/openmbean/OpenType;)Ljavax/management/openmbean/ArrayType;
astore 4
start local 4 3: aload 2
invokevirtual com.sun.jmx.mbeanserver.OpenConverter.getOpenClass:()Ljava/lang/Class;
astore 5
start local 5 4: aload 5
invokevirtual java.lang.Class.isArray:()Z
ifeq 7
5: new java.lang.StringBuilder
dup
ldc "["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
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;
astore 7
start local 7 6: goto 8
end local 7 7: StackMap locals: java.lang.reflect.Type java.lang.reflect.Type com.sun.jmx.mbeanserver.OpenConverter javax.management.openmbean.OpenType javax.management.openmbean.ArrayType java.lang.Class
StackMap stack:
new java.lang.StringBuilder
dup
ldc "[L"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ";"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
start local 7 8: StackMap locals: java.lang.reflect.Type java.lang.reflect.Type com.sun.jmx.mbeanserver.OpenConverter javax.management.openmbean.OpenType javax.management.openmbean.ArrayType java.lang.Class top java.lang.String
StackMap stack:
aload 7
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 6
start local 6 9: goto 12
end local 6 StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
10: astore 8
start local 8 11: ldc "Cannot obtain array class"
aload 8
invokestatic com.sun.jmx.mbeanserver.OpenConverter.openDataException:(Ljava/lang/String;Ljava/lang/Throwable;)Ljavax/management/openmbean/OpenDataException;
athrow
end local 8 start local 6 12: StackMap locals: java.lang.reflect.Type java.lang.reflect.Type com.sun.jmx.mbeanserver.OpenConverter javax.management.openmbean.OpenType javax.management.openmbean.ArrayType java.lang.Class java.lang.Class java.lang.String
StackMap stack:
aload 0
instanceof java.lang.reflect.ParameterizedType
ifeq 17
13: new com.sun.jmx.mbeanserver.OpenConverter$CollectionConverter
dup
aload 0
14: aload 4
aload 6
15: aload 2
16: invokespecial com.sun.jmx.mbeanserver.OpenConverter$CollectionConverter.<init>:(Ljava/lang/reflect/Type;Ljavax/management/openmbean/ArrayType;Ljava/lang/Class;Lcom/sun/jmx/mbeanserver/OpenConverter;)V
areturn
17: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.sun.jmx.mbeanserver.OpenConverter.isIdentity:()Z
ifeq 22
18: new com.sun.jmx.mbeanserver.OpenConverter$IdentityConverter
dup
aload 0
19: aload 4
20: aload 6
21: invokespecial com.sun.jmx.mbeanserver.OpenConverter$IdentityConverter.<init>:(Ljava/lang/reflect/Type;Ljavax/management/openmbean/OpenType;Ljava/lang/Class;)V
areturn
22: StackMap locals:
StackMap stack:
new com.sun.jmx.mbeanserver.OpenConverter$ArrayConverter
dup
aload 0
23: aload 4
24: aload 6
25: aload 2
26: invokespecial com.sun.jmx.mbeanserver.OpenConverter$ArrayConverter.<init>:(Ljava/lang/reflect/Type;Ljavax/management/openmbean/ArrayType;Ljava/lang/Class;Lcom/sun/jmx/mbeanserver/OpenConverter;)V
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 27 0 collectionType Ljava/lang/reflect/Type;
0 27 1 elementType Ljava/lang/reflect/Type;
1 27 2 elementConverter Lcom/sun/jmx/mbeanserver/OpenConverter;
2 27 3 elementOpenType Ljavax/management/openmbean/OpenType<*>;
3 27 4 openType Ljavax/management/openmbean/ArrayType<*>;
4 27 5 elementOpenClass Ljava/lang/Class<*>;
9 10 6 openArrayClass Ljava/lang/Class<*>;
12 27 6 openArrayClass Ljava/lang/Class<*>;
6 7 7 openArrayClassName Ljava/lang/String;
8 27 7 openArrayClassName Ljava/lang/String;
11 12 8 e Ljava/lang/ClassNotFoundException;
Exception table:
from to target type
8 9 10 Class java.lang.ClassNotFoundException
Exceptions:
throws javax.management.openmbean.OpenDataException
MethodParameters:
Name Flags
collectionType
elementType
private static com.sun.jmx.mbeanserver.OpenConverter makeTabularConverter(java.lang.reflect.Type, boolean, java.lang.reflect.Type, java.lang.reflect.Type);
descriptor: (Ljava/lang/reflect/Type;ZLjava/lang/reflect/Type;Ljava/lang/reflect/Type;)Lcom/sun/jmx/mbeanserver/OpenConverter;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=10, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
astore 4
start local 4 1: aload 2
invokestatic com.sun.jmx.mbeanserver.OpenConverter.toConverter:(Ljava/lang/reflect/Type;)Lcom/sun/jmx/mbeanserver/OpenConverter;
astore 5
start local 5 2: aload 3
invokestatic com.sun.jmx.mbeanserver.OpenConverter.toConverter:(Ljava/lang/reflect/Type;)Lcom/sun/jmx/mbeanserver/OpenConverter;
astore 6
start local 6 3: aload 5
invokevirtual com.sun.jmx.mbeanserver.OpenConverter.getOpenType:()Ljavax/management/openmbean/OpenType;
astore 7
start local 7 4: aload 6
invokevirtual com.sun.jmx.mbeanserver.OpenConverter.getOpenType:()Ljavax/management/openmbean/OpenType;
astore 8
start local 8 5: new javax.management.openmbean.CompositeType
dup
aload 4
6: aload 4
7: getstatic com.sun.jmx.mbeanserver.OpenConverter.keyValueArray:[Ljava/lang/String;
8: getstatic com.sun.jmx.mbeanserver.OpenConverter.keyValueArray:[Ljava/lang/String;
9: iconst_2
anewarray javax.management.openmbean.OpenType
dup
iconst_0
aload 7
aastore
dup
iconst_1
aload 8
aastore
10: invokespecial javax.management.openmbean.CompositeType.<init>:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljavax/management/openmbean/OpenType;)V
11: astore 9
start local 9 12: new javax.management.openmbean.TabularType
dup
aload 4
aload 4
aload 9
getstatic com.sun.jmx.mbeanserver.OpenConverter.keyArray:[Ljava/lang/String;
invokespecial javax.management.openmbean.TabularType.<init>:(Ljava/lang/String;Ljava/lang/String;Ljavax/management/openmbean/CompositeType;[Ljava/lang/String;)V
13: astore 10
start local 10 14: new com.sun.jmx.mbeanserver.OpenConverter$TabularConverter
dup
aload 0
iload 1
aload 10
15: aload 5
aload 6
16: invokespecial com.sun.jmx.mbeanserver.OpenConverter$TabularConverter.<init>:(Ljava/lang/reflect/Type;ZLjavax/management/openmbean/TabularType;Lcom/sun/jmx/mbeanserver/OpenConverter;Lcom/sun/jmx/mbeanserver/OpenConverter;)V
areturn
end local 10 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 17 0 objType Ljava/lang/reflect/Type;
0 17 1 sortedMap Z
0 17 2 keyType Ljava/lang/reflect/Type;
0 17 3 valueType Ljava/lang/reflect/Type;
1 17 4 objTypeName Ljava/lang/String;
2 17 5 keyConverter Lcom/sun/jmx/mbeanserver/OpenConverter;
3 17 6 valueConverter Lcom/sun/jmx/mbeanserver/OpenConverter;
4 17 7 keyOpenType Ljavax/management/openmbean/OpenType;
5 17 8 valueOpenType Ljavax/management/openmbean/OpenType;
12 17 9 rowType Ljavax/management/openmbean/CompositeType;
14 17 10 tabularType Ljavax/management/openmbean/TabularType;
Exceptions:
throws javax.management.openmbean.OpenDataException
MethodParameters:
Name Flags
objType
sortedMap
keyType
valueType
private static com.sun.jmx.mbeanserver.OpenConverter makeParameterizedConverter(java.lang.reflect.ParameterizedType);
descriptor: (Ljava/lang/reflect/ParameterizedType;)Lcom/sun/jmx/mbeanserver/OpenConverter;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=5, args_size=1
start local 0 0: aload 0
invokeinterface java.lang.reflect.ParameterizedType.getRawType:()Ljava/lang/reflect/Type;
astore 1
start local 1 1: aload 1
instanceof java.lang.Class
ifeq 20
2: aload 1
checkcast java.lang.Class
astore 2
start local 2 3: aload 2
ldc Ljava/util/List;
if_acmpeq 4
aload 2
ldc Ljava/util/Set;
if_acmpeq 4
aload 2
ldc Ljava/util/SortedSet;
if_acmpne 9
4: StackMap locals: java.lang.reflect.Type java.lang.Class
StackMap stack:
aload 0
invokeinterface java.lang.reflect.ParameterizedType.getActualTypeArguments:()[Ljava/lang/reflect/Type;
astore 3
start local 3 5: getstatic com.sun.jmx.mbeanserver.OpenConverter.$assertionsDisabled:Z
ifne 6
aload 3
arraylength
iconst_1
if_icmpeq 6
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals: java.lang.reflect.Type[]
StackMap stack:
aload 2
ldc Ljava/util/SortedSet;
if_acmpne 8
7: aload 2
aload 3
iconst_0
aaload
invokestatic com.sun.jmx.mbeanserver.OpenConverter.mustBeComparable:(Ljava/lang/Class;Ljava/lang/reflect/Type;)V
8: StackMap locals:
StackMap stack:
aload 0
aload 3
iconst_0
aaload
invokestatic com.sun.jmx.mbeanserver.OpenConverter.makeArrayOrCollectionConverter:(Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;)Lcom/sun/jmx/mbeanserver/OpenConverter;
areturn
end local 3 9: StackMap locals:
StackMap stack:
aload 2
ldc Ljava/util/SortedMap;
if_acmpne 10
iconst_1
goto 11
StackMap locals:
StackMap stack:
10: iconst_0
StackMap locals:
StackMap stack: int
11: istore 3
start local 3 12: aload 2
ldc Ljava/util/Map;
if_acmpeq 13
iload 3
ifeq 20
13: StackMap locals: int
StackMap stack:
aload 0
invokeinterface java.lang.reflect.ParameterizedType.getActualTypeArguments:()[Ljava/lang/reflect/Type;
astore 4
start local 4 14: getstatic com.sun.jmx.mbeanserver.OpenConverter.$assertionsDisabled:Z
ifne 15
aload 4
arraylength
iconst_2
if_icmpeq 15
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
15: StackMap locals: java.lang.reflect.Type[]
StackMap stack:
iload 3
ifeq 17
16: aload 2
aload 4
iconst_0
aaload
invokestatic com.sun.jmx.mbeanserver.OpenConverter.mustBeComparable:(Ljava/lang/Class;Ljava/lang/reflect/Type;)V
17: StackMap locals:
StackMap stack:
aload 0
iload 3
18: aload 4
iconst_0
aaload
aload 4
iconst_1
aaload
19: invokestatic com.sun.jmx.mbeanserver.OpenConverter.makeTabularConverter:(Ljava/lang/reflect/Type;ZLjava/lang/reflect/Type;Ljava/lang/reflect/Type;)Lcom/sun/jmx/mbeanserver/OpenConverter;
areturn
end local 4 end local 3 end local 2 20: StackMap locals:
StackMap stack:
new javax.management.openmbean.OpenDataException
dup
new java.lang.StringBuilder
dup
ldc "Cannot convert type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial javax.management.openmbean.OpenDataException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 objType Ljava/lang/reflect/ParameterizedType;
1 21 1 rawType Ljava/lang/reflect/Type;
3 20 2 c Ljava/lang/Class;
5 9 3 actuals [Ljava/lang/reflect/Type;
12 20 3 sortedMap Z
14 20 4 actuals [Ljava/lang/reflect/Type;
Exceptions:
throws javax.management.openmbean.OpenDataException
MethodParameters:
Name Flags
objType
private static com.sun.jmx.mbeanserver.OpenConverter makeMXBeanConverter(java.lang.reflect.Type);
descriptor: (Ljava/lang/reflect/Type;)Lcom/sun/jmx/mbeanserver/OpenConverter;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new com.sun.jmx.mbeanserver.OpenConverter$MXBeanConverter
dup
aload 0
invokespecial com.sun.jmx.mbeanserver.OpenConverter$MXBeanConverter.<init>:(Ljava/lang/reflect/Type;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 t Ljava/lang/reflect/Type;
Exceptions:
throws javax.management.openmbean.OpenDataException
MethodParameters:
Name Flags
t
private static com.sun.jmx.mbeanserver.OpenConverter makeCompositeConverter(java.lang.Class);
descriptor: (Ljava/lang/Class;)Lcom/sun/jmx/mbeanserver/OpenConverter;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=13, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
ldc "com.sun.management.GcInfo"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 3
1: aload 0
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
ifnonnull 3
2: iconst_1
goto 4
StackMap locals:
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: istore 1
start local 1 5: aload 0
invokevirtual java.lang.Class.getMethods:()[Ljava/lang/reflect/Method;
invokestatic com.sun.jmx.mbeanserver.MBeanAnalyzer.eliminateCovariantMethods:([Ljava/lang/reflect/Method;)Ljava/util/List;
6: astore 2
start local 2 7: invokestatic com.sun.jmx.mbeanserver.Util.newSortedMap:()Ljava/util/SortedMap;
astore 3
start local 3 8: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 25
StackMap locals: java.lang.Class int java.util.List java.util.SortedMap top java.util.Iterator
StackMap stack:
9: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.reflect.Method
astore 4
start local 4 10: aload 4
invokestatic com.sun.jmx.mbeanserver.OpenConverter.propertyName:(Ljava/lang/reflect/Method;)Ljava/lang/String;
astore 6
start local 6 11: aload 6
ifnonnull 13
12: goto 25
13: StackMap locals: java.lang.Class int java.util.List java.util.SortedMap java.lang.reflect.Method java.util.Iterator java.lang.String
StackMap stack:
iload 1
ifeq 15
aload 6
ldc "CompositeType"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 15
14: goto 25
15: StackMap locals:
StackMap stack:
aload 3
aload 6
invokestatic com.sun.jmx.mbeanserver.OpenConverter.decapitalize:(Ljava/lang/String;)Ljava/lang/String;
16: aload 4
17: invokeinterface java.util.SortedMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.reflect.Method
18: astore 7
start local 7 19: aload 7
ifnull 25
20: new java.lang.StringBuilder
dup
ldc "Class "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " has method name clash: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
21: aload 7
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
22: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
23: astore 8
start local 8 24: new javax.management.openmbean.OpenDataException
dup
aload 8
invokespecial javax.management.openmbean.OpenDataException.<init>:(Ljava/lang/String;)V
athrow
end local 8 end local 7 end local 6 end local 4 25: StackMap locals: java.lang.Class int java.util.List java.util.SortedMap top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
26: aload 3
invokeinterface java.util.SortedMap.size:()I
istore 4
start local 4 27: iload 4
ifne 31
28: new javax.management.openmbean.OpenDataException
dup
new java.lang.StringBuilder
dup
ldc "Can't map "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
29: ldc " to an open data type"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
30: invokespecial javax.management.openmbean.OpenDataException.<init>:(Ljava/lang/String;)V
athrow
31: StackMap locals: java.lang.Class int java.util.List java.util.SortedMap int
StackMap stack:
iload 4
anewarray java.lang.reflect.Method
astore 5
start local 5 32: iload 4
anewarray java.lang.String
astore 6
start local 6 33: iload 4
anewarray javax.management.openmbean.OpenType
astore 7
start local 7 34: iconst_0
istore 8
start local 8 35: aload 3
invokeinterface java.util.SortedMap.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 10
goto 43
StackMap locals: java.lang.Class int java.util.List java.util.SortedMap int java.lang.reflect.Method[] java.lang.String[] javax.management.openmbean.OpenType[] int top java.util.Iterator
StackMap stack:
36: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 9
start local 9 37: aload 6
iload 8
aload 9
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
aastore
38: aload 9
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.lang.reflect.Method
astore 11
start local 11 39: aload 5
iload 8
aload 11
aastore
40: aload 11
invokevirtual java.lang.reflect.Method.getGenericReturnType:()Ljava/lang/reflect/Type;
astore 12
start local 12 41: aload 7
iload 8
aload 12
invokestatic com.sun.jmx.mbeanserver.OpenConverter.toConverter:(Ljava/lang/reflect/Type;)Lcom/sun/jmx/mbeanserver/OpenConverter;
invokevirtual com.sun.jmx.mbeanserver.OpenConverter.getOpenType:()Ljavax/management/openmbean/OpenType;
aastore
42: iinc 8 1
end local 12 end local 11 end local 9 43: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 36
44: new javax.management.openmbean.CompositeType
dup
aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
45: aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
46: aload 6
47: aload 6
48: aload 7
49: invokespecial javax.management.openmbean.CompositeType.<init>:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljavax/management/openmbean/OpenType;)V
50: astore 9
start local 9 51: new com.sun.jmx.mbeanserver.OpenConverter$CompositeConverter
dup
aload 0
52: aload 9
53: aload 6
54: aload 5
55: invokespecial com.sun.jmx.mbeanserver.OpenConverter$CompositeConverter.<init>:(Ljava/lang/Class;Ljavax/management/openmbean/CompositeType;[Ljava/lang/String;[Ljava/lang/reflect/Method;)V
areturn
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 56 0 c Ljava/lang/Class;
5 56 1 gcInfoHack Z
7 56 2 methods Ljava/util/List<Ljava/lang/reflect/Method;>;
8 56 3 getterMap Ljava/util/SortedMap<Ljava/lang/String;Ljava/lang/reflect/Method;>;
10 25 4 method Ljava/lang/reflect/Method;
11 25 6 propertyName Ljava/lang/String;
19 25 7 old Ljava/lang/reflect/Method;
24 25 8 msg Ljava/lang/String;
27 56 4 nitems I
32 56 5 getters [Ljava/lang/reflect/Method;
33 56 6 itemNames [Ljava/lang/String;
34 56 7 openTypes [Ljavax/management/openmbean/OpenType;
35 56 8 i I
37 43 9 entry Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/reflect/Method;>;
39 43 11 getter Ljava/lang/reflect/Method;
41 43 12 retType Ljava/lang/reflect/Type;
51 56 9 compositeType Ljavax/management/openmbean/CompositeType;
Exceptions:
throws javax.management.openmbean.OpenDataException
MethodParameters:
Name Flags
c
static java.io.InvalidObjectException invalidObjectException(java.lang.String, java.lang.Throwable);
descriptor: (Ljava/lang/String;Ljava/lang/Throwable;)Ljava/io/InvalidObjectException;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new java.io.InvalidObjectException
dup
aload 0
invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
aload 1
invokestatic com.sun.jmx.remote.util.EnvHelp.initCause:(Ljava/lang/Throwable;Ljava/lang/Throwable;)Ljava/lang/Throwable;
checkcast java.io.InvalidObjectException
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 msg Ljava/lang/String;
0 1 1 cause Ljava/lang/Throwable;
MethodParameters:
Name Flags
msg
cause
static java.io.InvalidObjectException invalidObjectException(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)Ljava/io/InvalidObjectException;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
aload 0
invokestatic com.sun.jmx.mbeanserver.OpenConverter.invalidObjectException:(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/io/InvalidObjectException;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 cause Ljava/lang/Throwable;
MethodParameters:
Name Flags
cause
static javax.management.openmbean.OpenDataException openDataException(java.lang.String, java.lang.Throwable);
descriptor: (Ljava/lang/String;Ljava/lang/Throwable;)Ljavax/management/openmbean/OpenDataException;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new javax.management.openmbean.OpenDataException
dup
aload 0
invokespecial javax.management.openmbean.OpenDataException.<init>:(Ljava/lang/String;)V
aload 1
invokestatic com.sun.jmx.remote.util.EnvHelp.initCause:(Ljava/lang/Throwable;Ljava/lang/Throwable;)Ljava/lang/Throwable;
checkcast javax.management.openmbean.OpenDataException
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 msg Ljava/lang/String;
0 1 1 cause Ljava/lang/Throwable;
MethodParameters:
Name Flags
msg
cause
static javax.management.openmbean.OpenDataException openDataException(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)Ljavax/management/openmbean/OpenDataException;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
aload 0
invokestatic com.sun.jmx.mbeanserver.OpenConverter.openDataException:(Ljava/lang/String;Ljava/lang/Throwable;)Ljavax/management/openmbean/OpenDataException;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 cause Ljava/lang/Throwable;
MethodParameters:
Name Flags
cause
static void mustBeComparable(java.lang.Class, java.lang.reflect.Type);
descriptor: (Ljava/lang/Class;Ljava/lang/reflect/Type;)V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof java.lang.Class
ifeq 2
1: ldc Ljava/lang/Comparable;
aload 1
checkcast java.lang.Class
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 8
2: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Parameter class "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " of "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " does not implement "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: ldc Ljava/lang/Comparable;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
6: astore 2
start local 2 7: new javax.management.openmbean.OpenDataException
dup
aload 2
invokespecial javax.management.openmbean.OpenDataException.<init>:(Ljava/lang/String;)V
athrow
end local 2 8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 collection Ljava/lang/Class;
0 9 1 element Ljava/lang/reflect/Type;
7 8 2 msg Ljava/lang/String;
Exceptions:
throws javax.management.openmbean.OpenDataException
MethodParameters:
Name Flags
collection
element
public static java.lang.String decapitalize(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
ifnull 1
aload 0
invokevirtual java.lang.String.length:()I
ifne 2
1: StackMap locals:
StackMap stack:
aload 0
areturn
2: StackMap locals:
StackMap stack:
aload 0
iconst_0
iconst_1
invokestatic java.lang.Character.offsetByCodePoints:(Ljava/lang/CharSequence;II)I
istore 1
start local 1 3: iload 1
aload 0
invokevirtual java.lang.String.length:()I
if_icmpge 6
4: aload 0
iload 1
invokevirtual java.lang.String.codePointAt:(I)I
invokestatic java.lang.Character.isUpperCase:(I)Z
ifeq 6
5: aload 0
areturn
6: StackMap locals: int
StackMap stack:
new java.lang.StringBuilder
dup
aload 0
iconst_0
iload 1
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
7: aload 0
iload 1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
8: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 name Ljava/lang/String;
3 9 1 offset1 I
MethodParameters:
Name Flags
name
static java.lang.String capitalize(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
ifnull 1
aload 0
invokevirtual java.lang.String.length:()I
ifne 2
1: StackMap locals:
StackMap stack:
aload 0
areturn
2: StackMap locals:
StackMap stack:
aload 0
iconst_0
iconst_1
invokevirtual java.lang.String.offsetByCodePoints:(II)I
istore 1
start local 1 3: new java.lang.StringBuilder
dup
aload 0
iconst_0
iload 1
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.String.toUpperCase:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
4: aload 0
iload 1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 name Ljava/lang/String;
3 6 1 offset1 I
MethodParameters:
Name Flags
name
public static java.lang.String propertyName(java.lang.reflect.Method);
descriptor: (Ljava/lang/reflect/Method;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aload 0
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
astore 2
start local 2 2: aload 2
ldc "get"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 4
3: aload 2
iconst_3
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 1
goto 6
4: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 2
ldc "is"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 6
aload 0
invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
if_acmpne 6
5: aload 2
iconst_2
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 1
6: StackMap locals:
StackMap stack:
aload 1
ifnull 10
aload 1
invokevirtual java.lang.String.length:()I
ifeq 10
7: aload 0
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
arraylength
ifgt 10
8: aload 0
invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
if_acmpeq 10
9: aload 2
ldc "getClass"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 11
10: StackMap locals:
StackMap stack:
aconst_null
areturn
11: StackMap locals:
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 m Ljava/lang/reflect/Method;
1 12 1 rest Ljava/lang/String;
2 12 2 name Ljava/lang/String;
MethodParameters:
Name Flags
m
}
SourceFile: "OpenConverter.java"
NestMembers:
com.sun.jmx.mbeanserver.OpenConverter$ArrayConverter com.sun.jmx.mbeanserver.OpenConverter$CollectionConverter com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilder com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderCheckGetters com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor$Constr com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaFrom com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaProxy com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaSetters com.sun.jmx.mbeanserver.OpenConverter$CompositeConverter com.sun.jmx.mbeanserver.OpenConverter$ConverterMap com.sun.jmx.mbeanserver.OpenConverter$EnumConverter com.sun.jmx.mbeanserver.OpenConverter$IdentityConverter com.sun.jmx.mbeanserver.OpenConverter$MXBeanConverter com.sun.jmx.mbeanserver.OpenConverter$TabularConverter
InnerClasses:
private final ArrayConverter = com.sun.jmx.mbeanserver.OpenConverter$ArrayConverter of com.sun.jmx.mbeanserver.OpenConverter
private final CollectionConverter = com.sun.jmx.mbeanserver.OpenConverter$CollectionConverter of com.sun.jmx.mbeanserver.OpenConverter
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
private final ConverterMap = com.sun.jmx.mbeanserver.OpenConverter$ConverterMap of com.sun.jmx.mbeanserver.OpenConverter
private final EnumConverter = com.sun.jmx.mbeanserver.OpenConverter$EnumConverter of com.sun.jmx.mbeanserver.OpenConverter
private final IdentityConverter = com.sun.jmx.mbeanserver.OpenConverter$IdentityConverter of com.sun.jmx.mbeanserver.OpenConverter
private final MXBeanConverter = com.sun.jmx.mbeanserver.OpenConverter$MXBeanConverter of com.sun.jmx.mbeanserver.OpenConverter
private final TabularConverter = com.sun.jmx.mbeanserver.OpenConverter$TabularConverter of com.sun.jmx.mbeanserver.OpenConverter
public abstract Entry = java.util.Map$Entry of java.util.Map