class com.sun.jmx.mbeanserver.MXBeanIntrospector extends com.sun.jmx.mbeanserver.MBeanIntrospector<com.sun.jmx.mbeanserver.ConvertingMethod>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.jmx.mbeanserver.MXBeanIntrospector
super_class: com.sun.jmx.mbeanserver.MBeanIntrospector
{
private static final com.sun.jmx.mbeanserver.MXBeanIntrospector instance;
descriptor: Lcom/sun/jmx/mbeanserver/MXBeanIntrospector;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final com.sun.jmx.mbeanserver.MBeanIntrospector$PerInterfaceMap<com.sun.jmx.mbeanserver.ConvertingMethod> perInterfaceMap;
descriptor: Lcom/sun/jmx/mbeanserver/MBeanIntrospector$PerInterfaceMap;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Lcom/sun/jmx/mbeanserver/MBeanIntrospector$PerInterfaceMap<Lcom/sun/jmx/mbeanserver/ConvertingMethod;>;
private static final com.sun.jmx.mbeanserver.MBeanIntrospector$MBeanInfoMap mbeanInfoMap;
descriptor: Lcom/sun/jmx/mbeanserver/MBeanIntrospector$MBeanInfoMap;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new com.sun.jmx.mbeanserver.MXBeanIntrospector
dup
invokespecial com.sun.jmx.mbeanserver.MXBeanIntrospector.<init>:()V
putstatic com.sun.jmx.mbeanserver.MXBeanIntrospector.instance:Lcom/sun/jmx/mbeanserver/MXBeanIntrospector;
1: new com.sun.jmx.mbeanserver.MBeanIntrospector$PerInterfaceMap
dup
invokespecial com.sun.jmx.mbeanserver.MBeanIntrospector$PerInterfaceMap.<init>:()V
putstatic com.sun.jmx.mbeanserver.MXBeanIntrospector.perInterfaceMap:Lcom/sun/jmx/mbeanserver/MBeanIntrospector$PerInterfaceMap;
2: new com.sun.jmx.mbeanserver.MBeanIntrospector$MBeanInfoMap
dup
invokespecial com.sun.jmx.mbeanserver.MBeanIntrospector$MBeanInfoMap.<init>:()V
putstatic com.sun.jmx.mbeanserver.MXBeanIntrospector.mbeanInfoMap:Lcom/sun/jmx/mbeanserver/MBeanIntrospector$MBeanInfoMap;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial com.sun.jmx.mbeanserver.MBeanIntrospector.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jmx/mbeanserver/MXBeanIntrospector;
static com.sun.jmx.mbeanserver.MXBeanIntrospector getInstance();
descriptor: ()Lcom/sun/jmx/mbeanserver/MXBeanIntrospector;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic com.sun.jmx.mbeanserver.MXBeanIntrospector.instance:Lcom/sun/jmx/mbeanserver/MXBeanIntrospector;
areturn
LocalVariableTable:
Start End Slot Name Signature
com.sun.jmx.mbeanserver.MBeanIntrospector$PerInterfaceMap<com.sun.jmx.mbeanserver.ConvertingMethod> getPerInterfaceMap();
descriptor: ()Lcom/sun/jmx/mbeanserver/MBeanIntrospector$PerInterfaceMap;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic com.sun.jmx.mbeanserver.MXBeanIntrospector.perInterfaceMap:Lcom/sun/jmx/mbeanserver/MBeanIntrospector$PerInterfaceMap;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jmx/mbeanserver/MXBeanIntrospector;
Signature: ()Lcom/sun/jmx/mbeanserver/MBeanIntrospector$PerInterfaceMap<Lcom/sun/jmx/mbeanserver/ConvertingMethod;>;
com.sun.jmx.mbeanserver.MBeanIntrospector$MBeanInfoMap getMBeanInfoMap();
descriptor: ()Lcom/sun/jmx/mbeanserver/MBeanIntrospector$MBeanInfoMap;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic com.sun.jmx.mbeanserver.MXBeanIntrospector.mbeanInfoMap:Lcom/sun/jmx/mbeanserver/MBeanIntrospector$MBeanInfoMap;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jmx/mbeanserver/MXBeanIntrospector;
com.sun.jmx.mbeanserver.MBeanAnalyzer<com.sun.jmx.mbeanserver.ConvertingMethod> getAnalyzer(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Lcom/sun/jmx/mbeanserver/MBeanAnalyzer;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokestatic com.sun.jmx.mbeanserver.MBeanAnalyzer.analyzer:(Ljava/lang/Class;Lcom/sun/jmx/mbeanserver/MBeanIntrospector;)Lcom/sun/jmx/mbeanserver/MBeanAnalyzer;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jmx/mbeanserver/MXBeanIntrospector;
0 1 1 mbeanInterface Ljava/lang/Class<*>;
Exceptions:
throws javax.management.NotCompliantMBeanException
Signature: (Ljava/lang/Class<*>;)Lcom/sun/jmx/mbeanserver/MBeanAnalyzer<Lcom/sun/jmx/mbeanserver/ConvertingMethod;>;
MethodParameters:
Name Flags
mbeanInterface
boolean isMXBean();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jmx/mbeanserver/MXBeanIntrospector;
com.sun.jmx.mbeanserver.ConvertingMethod mFrom(java.lang.reflect.Method);
descriptor: (Ljava/lang/reflect/Method;)Lcom/sun/jmx/mbeanserver/ConvertingMethod;
flags: (0x0000)
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.sun.jmx.mbeanserver.ConvertingMethod.from:(Ljava/lang/reflect/Method;)Lcom/sun/jmx/mbeanserver/ConvertingMethod;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jmx/mbeanserver/MXBeanIntrospector;
0 1 1 m Ljava/lang/reflect/Method;
MethodParameters:
Name Flags
m
java.lang.String getName(com.sun.jmx.mbeanserver.ConvertingMethod);
descriptor: (Lcom/sun/jmx/mbeanserver/ConvertingMethod;)Ljava/lang/String;
flags: (0x0000)
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.sun.jmx.mbeanserver.ConvertingMethod.getName:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jmx/mbeanserver/MXBeanIntrospector;
0 1 1 m Lcom/sun/jmx/mbeanserver/ConvertingMethod;
MethodParameters:
Name Flags
m
java.lang.reflect.Type getGenericReturnType(com.sun.jmx.mbeanserver.ConvertingMethod);
descriptor: (Lcom/sun/jmx/mbeanserver/ConvertingMethod;)Ljava/lang/reflect/Type;
flags: (0x0000)
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.sun.jmx.mbeanserver.ConvertingMethod.getGenericReturnType:()Ljava/lang/reflect/Type;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jmx/mbeanserver/MXBeanIntrospector;
0 1 1 m Lcom/sun/jmx/mbeanserver/ConvertingMethod;
MethodParameters:
Name Flags
m
java.lang.reflect.Type[] getGenericParameterTypes(com.sun.jmx.mbeanserver.ConvertingMethod);
descriptor: (Lcom/sun/jmx/mbeanserver/ConvertingMethod;)[Ljava/lang/reflect/Type;
flags: (0x0000)
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.sun.jmx.mbeanserver.ConvertingMethod.getGenericParameterTypes:()[Ljava/lang/reflect/Type;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jmx/mbeanserver/MXBeanIntrospector;
0 1 1 m Lcom/sun/jmx/mbeanserver/ConvertingMethod;
MethodParameters:
Name Flags
m
java.lang.String[] getSignature(com.sun.jmx.mbeanserver.ConvertingMethod);
descriptor: (Lcom/sun/jmx/mbeanserver/ConvertingMethod;)[Ljava/lang/String;
flags: (0x0000)
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.sun.jmx.mbeanserver.ConvertingMethod.getOpenSignature:()[Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jmx/mbeanserver/MXBeanIntrospector;
0 1 1 m Lcom/sun/jmx/mbeanserver/ConvertingMethod;
MethodParameters:
Name Flags
m
void checkMethod(com.sun.jmx.mbeanserver.ConvertingMethod);
descriptor: (Lcom/sun/jmx/mbeanserver/ConvertingMethod;)V
flags: (0x0000)
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.sun.jmx.mbeanserver.ConvertingMethod.checkCallFromOpen:()V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/jmx/mbeanserver/MXBeanIntrospector;
0 2 1 m Lcom/sun/jmx/mbeanserver/ConvertingMethod;
MethodParameters:
Name Flags
m
java.lang.Object invokeM2(com.sun.jmx.mbeanserver.ConvertingMethod, java.lang.Object, java.lang.Object[], java.lang.Object);
descriptor: (Lcom/sun/jmx/mbeanserver/ConvertingMethod;Ljava/lang/Object;[Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
aload 4
checkcast com.sun.jmx.mbeanserver.MXBeanLookup
aload 2
aload 3
invokevirtual com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn:(Lcom/sun/jmx/mbeanserver/MXBeanLookup;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jmx/mbeanserver/MXBeanIntrospector;
0 1 1 m Lcom/sun/jmx/mbeanserver/ConvertingMethod;
0 1 2 target Ljava/lang/Object;
0 1 3 args [Ljava/lang/Object;
0 1 4 cookie Ljava/lang/Object;
Exceptions:
throws java.lang.reflect.InvocationTargetException, java.lang.IllegalAccessException, javax.management.MBeanException
MethodParameters:
Name Flags
m
target
args
cookie
boolean validParameter(com.sun.jmx.mbeanserver.ConvertingMethod, java.lang.Object, int, java.lang.Object);
descriptor: (Lcom/sun/jmx/mbeanserver/ConvertingMethod;Ljava/lang/Object;ILjava/lang/Object;)Z
flags: (0x0000)
Code:
stack=4, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
ifnonnull 4
1: aload 1
invokevirtual com.sun.jmx.mbeanserver.ConvertingMethod.getGenericParameterTypes:()[Ljava/lang/reflect/Type;
iload 3
aaload
astore 5
start local 5 2: aload 5
instanceof java.lang.Class
ifeq 3
aload 5
checkcast java.lang.Class
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 3
iconst_0
ireturn
StackMap locals: java.lang.reflect.Type
StackMap stack:
3: iconst_1
ireturn
end local 5 4: StackMap locals:
StackMap stack:
aload 1
aload 4
checkcast com.sun.jmx.mbeanserver.MXBeanLookup
aload 2
iload 3
invokevirtual com.sun.jmx.mbeanserver.ConvertingMethod.fromOpenParameter:(Lcom/sun/jmx/mbeanserver/MXBeanLookup;Ljava/lang/Object;I)Ljava/lang/Object;
astore 5
start local 5 5: goto 8
end local 5 StackMap locals:
StackMap stack: java.lang.Exception
6: pop
7: iconst_1
ireturn
start local 5 8: StackMap locals: java.lang.Object
StackMap stack:
aload 1
invokevirtual com.sun.jmx.mbeanserver.ConvertingMethod.getMethod:()Ljava/lang/reflect/Method;
aload 5
iload 3
invokestatic com.sun.jmx.mbeanserver.MXBeanIntrospector.isValidParameter:(Ljava/lang/reflect/Method;Ljava/lang/Object;I)Z
ireturn
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 9 0 this Lcom/sun/jmx/mbeanserver/MXBeanIntrospector;
0 9 1 m Lcom/sun/jmx/mbeanserver/ConvertingMethod;
0 9 2 value Ljava/lang/Object;
0 9 3 paramNo I
0 9 4 cookie Ljava/lang/Object;
2 4 5 t Ljava/lang/reflect/Type;
5 6 5 v Ljava/lang/Object;
8 9 5 v Ljava/lang/Object;
Exception table:
from to target type
4 5 6 Class java.lang.Exception
MethodParameters:
Name Flags
m
value
paramNo
cookie
javax.management.MBeanAttributeInfo getMBeanAttributeInfo(java.lang.String, com.sun.jmx.mbeanserver.ConvertingMethod, com.sun.jmx.mbeanserver.ConvertingMethod);
descriptor: (Ljava/lang/String;Lcom/sun/jmx/mbeanserver/ConvertingMethod;Lcom/sun/jmx/mbeanserver/ConvertingMethod;)Ljavax/management/MBeanAttributeInfo;
flags: (0x0000)
Code:
stack=9, locals=12, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
ifnull 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 4
start local 4 3: aload 3
ifnull 4
iconst_1
goto 5
StackMap locals: int
StackMap stack:
4: iconst_0
StackMap locals:
StackMap stack: int
5: istore 5
start local 5 6: iload 4
ifeq 7
aload 0
aload 2
invokevirtual com.sun.jmx.mbeanserver.MXBeanIntrospector.getName:(Lcom/sun/jmx/mbeanserver/ConvertingMethod;)Ljava/lang/String;
ldc "is"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 7
iconst_1
goto 8
StackMap locals: int
StackMap stack:
7: iconst_0
StackMap locals:
StackMap stack: int
8: istore 6
start local 6 9: aload 1
astore 7
start local 7 10: iload 4
ifeq 14
11: aload 2
invokevirtual com.sun.jmx.mbeanserver.ConvertingMethod.getOpenReturnType:()Ljavax/management/openmbean/OpenType;
astore 8
start local 8 12: aload 2
invokevirtual com.sun.jmx.mbeanserver.ConvertingMethod.getGenericReturnType:()Ljava/lang/reflect/Type;
astore 9
start local 9 13: goto 16
end local 9 end local 8 14: StackMap locals: int java.lang.String
StackMap stack:
aload 3
invokevirtual com.sun.jmx.mbeanserver.ConvertingMethod.getOpenParameterTypes:()[Ljavax/management/openmbean/OpenType;
iconst_0
aaload
astore 8
start local 8 15: aload 3
invokevirtual com.sun.jmx.mbeanserver.ConvertingMethod.getGenericParameterTypes:()[Ljava/lang/reflect/Type;
iconst_0
aaload
astore 9
start local 9 16: StackMap locals: javax.management.openmbean.OpenType java.lang.reflect.Type
StackMap stack:
aload 8
aload 9
invokestatic com.sun.jmx.mbeanserver.MXBeanIntrospector.typeDescriptor:(Ljavax/management/openmbean/OpenType;Ljava/lang/reflect/Type;)Ljavax/management/Descriptor;
astore 10
start local 10 17: iload 4
ifeq 21
18: iconst_2
anewarray javax.management.Descriptor
dup
iconst_0
aload 10
aastore
dup
iconst_1
19: aload 2
invokevirtual com.sun.jmx.mbeanserver.ConvertingMethod.getDescriptor:()Ljavax/management/Descriptor;
aastore
20: invokestatic javax.management.ImmutableDescriptor.union:([Ljavax/management/Descriptor;)Ljavax/management/ImmutableDescriptor;
astore 10
21: StackMap locals: javax.management.Descriptor
StackMap stack:
iload 5
ifeq 25
22: iconst_2
anewarray javax.management.Descriptor
dup
iconst_0
aload 10
aastore
dup
iconst_1
23: aload 3
invokevirtual com.sun.jmx.mbeanserver.ConvertingMethod.getDescriptor:()Ljavax/management/Descriptor;
aastore
24: invokestatic javax.management.ImmutableDescriptor.union:([Ljavax/management/Descriptor;)Ljavax/management/ImmutableDescriptor;
astore 10
25: StackMap locals:
StackMap stack:
aload 9
invokestatic com.sun.jmx.mbeanserver.MXBeanIntrospector.canUseOpenInfo:(Ljava/lang/reflect/Type;)Z
ifeq 35
26: new javax.management.openmbean.OpenMBeanAttributeInfoSupport
dup
aload 1
27: aload 7
28: aload 8
29: iload 4
30: iload 5
31: iload 6
32: aload 10
33: invokespecial javax.management.openmbean.OpenMBeanAttributeInfoSupport.<init>:(Ljava/lang/String;Ljava/lang/String;Ljavax/management/openmbean/OpenType;ZZZLjavax/management/Descriptor;)V
astore 11
start local 11 34: goto 43
end local 11 35: StackMap locals:
StackMap stack:
new javax.management.MBeanAttributeInfo
dup
aload 1
36: aload 9
invokestatic com.sun.jmx.mbeanserver.MXBeanIntrospector.originalTypeString:(Ljava/lang/reflect/Type;)Ljava/lang/String;
37: aload 7
38: iload 4
39: iload 5
40: iload 6
41: aload 10
42: invokespecial javax.management.MBeanAttributeInfo.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZZLjavax/management/Descriptor;)V
astore 11
start local 11 43: StackMap locals: javax.management.MBeanAttributeInfo
StackMap stack:
aload 11
areturn
end local 11 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 44 0 this Lcom/sun/jmx/mbeanserver/MXBeanIntrospector;
0 44 1 attributeName Ljava/lang/String;
0 44 2 getter Lcom/sun/jmx/mbeanserver/ConvertingMethod;
0 44 3 setter Lcom/sun/jmx/mbeanserver/ConvertingMethod;
3 44 4 isReadable Z
6 44 5 isWritable Z
9 44 6 isIs Z
10 44 7 description Ljava/lang/String;
12 14 8 openType Ljavax/management/openmbean/OpenType<*>;
15 44 8 openType Ljavax/management/openmbean/OpenType<*>;
13 14 9 originalType Ljava/lang/reflect/Type;
16 44 9 originalType Ljava/lang/reflect/Type;
17 44 10 descriptor Ljavax/management/Descriptor;
34 35 11 ai Ljavax/management/MBeanAttributeInfo;
43 44 11 ai Ljavax/management/MBeanAttributeInfo;
MethodParameters:
Name Flags
attributeName
getter
setter
javax.management.MBeanOperationInfo getMBeanOperationInfo(java.lang.String, com.sun.jmx.mbeanserver.ConvertingMethod);
descriptor: (Ljava/lang/String;Lcom/sun/jmx/mbeanserver/ConvertingMethod;)Ljavax/management/MBeanOperationInfo;
flags: (0x0000)
Code:
stack=8, locals=20, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual com.sun.jmx.mbeanserver.ConvertingMethod.getMethod:()Ljava/lang/reflect/Method;
astore 3
start local 3 1: aload 1
astore 4
start local 4 2: aload 2
invokevirtual com.sun.jmx.mbeanserver.ConvertingMethod.getOpenReturnType:()Ljavax/management/openmbean/OpenType;
astore 5
start local 5 3: aload 2
invokevirtual com.sun.jmx.mbeanserver.ConvertingMethod.getGenericReturnType:()Ljava/lang/reflect/Type;
astore 6
start local 6 4: aload 2
invokevirtual com.sun.jmx.mbeanserver.ConvertingMethod.getOpenParameterTypes:()[Ljavax/management/openmbean/OpenType;
astore 7
start local 7 5: aload 2
invokevirtual com.sun.jmx.mbeanserver.ConvertingMethod.getGenericParameterTypes:()[Ljava/lang/reflect/Type;
astore 8
start local 8 6: aload 7
arraylength
anewarray javax.management.MBeanParameterInfo
7: astore 9
start local 9 8: aload 6
invokestatic com.sun.jmx.mbeanserver.MXBeanIntrospector.canUseOpenInfo:(Ljava/lang/reflect/Type;)Z
istore 10
start local 10 9: iconst_1
istore 11
start local 11 10: aload 3
invokevirtual java.lang.reflect.Method.getParameterAnnotations:()[[Ljava/lang/annotation/Annotation;
astore 12
start local 12 11: iconst_0
istore 13
start local 13 12: goto 38
13: StackMap locals: com.sun.jmx.mbeanserver.MXBeanIntrospector java.lang.String com.sun.jmx.mbeanserver.ConvertingMethod java.lang.reflect.Method java.lang.String javax.management.openmbean.OpenType java.lang.reflect.Type javax.management.openmbean.OpenType[] java.lang.reflect.Type[] javax.management.MBeanParameterInfo[] int int java.lang.annotation.Annotation[][] int
StackMap stack:
new java.lang.StringBuilder
dup
ldc "p"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 13
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 14
start local 14 14: aload 14
astore 15
start local 15 15: aload 7
iload 13
aaload
astore 16
start local 16 16: aload 8
iload 13
aaload
astore 17
start local 17 17: aload 16
aload 17
invokestatic com.sun.jmx.mbeanserver.MXBeanIntrospector.typeDescriptor:(Ljavax/management/openmbean/OpenType;Ljava/lang/reflect/Type;)Ljavax/management/Descriptor;
18: astore 18
start local 18 19: iconst_2
anewarray javax.management.Descriptor
dup
iconst_0
aload 18
aastore
dup
iconst_1
20: aload 12
iload 13
aaload
invokestatic com.sun.jmx.mbeanserver.Introspector.descriptorForAnnotations:([Ljava/lang/annotation/Annotation;)Ljavax/management/Descriptor;
aastore
21: invokestatic javax.management.ImmutableDescriptor.union:([Ljavax/management/Descriptor;)Ljavax/management/ImmutableDescriptor;
astore 18
22: aload 17
invokestatic com.sun.jmx.mbeanserver.MXBeanIntrospector.canUseOpenInfo:(Ljava/lang/reflect/Type;)Z
ifeq 29
23: new javax.management.openmbean.OpenMBeanParameterInfoSupport
dup
new java.lang.StringBuilder
dup
ldc "p"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 13
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
24: aload 15
25: aload 16
26: aload 18
27: invokespecial javax.management.openmbean.OpenMBeanParameterInfoSupport.<init>:(Ljava/lang/String;Ljava/lang/String;Ljavax/management/openmbean/OpenType;Ljavax/management/Descriptor;)V
astore 19
start local 19 28: goto 36
end local 19 29: StackMap locals: com.sun.jmx.mbeanserver.MXBeanIntrospector java.lang.String com.sun.jmx.mbeanserver.ConvertingMethod java.lang.reflect.Method java.lang.String javax.management.openmbean.OpenType java.lang.reflect.Type javax.management.openmbean.OpenType[] java.lang.reflect.Type[] javax.management.MBeanParameterInfo[] int int java.lang.annotation.Annotation[][] int java.lang.String java.lang.String javax.management.openmbean.OpenType java.lang.reflect.Type javax.management.Descriptor
StackMap stack:
iconst_0
istore 11
30: new javax.management.MBeanParameterInfo
dup
31: new java.lang.StringBuilder
dup
ldc "p"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 13
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
32: aload 17
invokestatic com.sun.jmx.mbeanserver.MXBeanIntrospector.originalTypeString:(Ljava/lang/reflect/Type;)Ljava/lang/String;
33: aload 15
34: aload 18
35: invokespecial javax.management.MBeanParameterInfo.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljavax/management/Descriptor;)V
astore 19
start local 19 36: StackMap locals: javax.management.MBeanParameterInfo
StackMap stack:
aload 9
iload 13
aload 19
aastore
end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 37: iinc 13 1
StackMap locals: com.sun.jmx.mbeanserver.MXBeanIntrospector java.lang.String com.sun.jmx.mbeanserver.ConvertingMethod java.lang.reflect.Method java.lang.String javax.management.openmbean.OpenType java.lang.reflect.Type javax.management.openmbean.OpenType[] java.lang.reflect.Type[] javax.management.MBeanParameterInfo[] int int java.lang.annotation.Annotation[][] int
StackMap stack:
38: iload 13
aload 7
arraylength
if_icmplt 13
end local 13 39: aload 5
aload 6
invokestatic com.sun.jmx.mbeanserver.MXBeanIntrospector.typeDescriptor:(Ljavax/management/openmbean/OpenType;Ljava/lang/reflect/Type;)Ljavax/management/Descriptor;
40: astore 13
start local 13 41: iconst_2
anewarray javax.management.Descriptor
dup
iconst_0
aload 13
aastore
dup
iconst_1
42: aload 3
invokestatic com.sun.jmx.mbeanserver.Introspector.descriptorForElement:(Ljava/lang/reflect/AnnotatedElement;)Ljavax/management/Descriptor;
aastore
43: invokestatic javax.management.ImmutableDescriptor.union:([Ljavax/management/Descriptor;)Ljavax/management/ImmutableDescriptor;
astore 13
44: iload 10
ifeq 56
iload 11
ifeq 56
45: aload 9
arraylength
anewarray javax.management.openmbean.OpenMBeanParameterInfo
46: astore 15
start local 15 47: aload 9
iconst_0
aload 15
iconst_0
aload 9
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
48: new javax.management.openmbean.OpenMBeanOperationInfoSupport
dup
aload 1
49: aload 4
50: aload 15
51: aload 5
52: iconst_3
53: aload 13
54: invokespecial javax.management.openmbean.OpenMBeanOperationInfoSupport.<init>:(Ljava/lang/String;Ljava/lang/String;[Ljavax/management/openmbean/OpenMBeanParameterInfo;Ljavax/management/openmbean/OpenType;ILjavax/management/Descriptor;)V
astore 14
end local 15 start local 14 55: goto 65
end local 14 56: StackMap locals: com.sun.jmx.mbeanserver.MXBeanIntrospector java.lang.String com.sun.jmx.mbeanserver.ConvertingMethod java.lang.reflect.Method java.lang.String javax.management.openmbean.OpenType java.lang.reflect.Type javax.management.openmbean.OpenType[] java.lang.reflect.Type[] javax.management.MBeanParameterInfo[] int int java.lang.annotation.Annotation[][] javax.management.Descriptor
StackMap stack:
new javax.management.MBeanOperationInfo
dup
aload 1
57: aload 4
58: aload 9
59: iload 10
ifeq 61
60: aload 5
invokevirtual javax.management.openmbean.OpenType.getClassName:()Ljava/lang/String;
goto 62
61: StackMap locals: com.sun.jmx.mbeanserver.MXBeanIntrospector java.lang.String com.sun.jmx.mbeanserver.ConvertingMethod java.lang.reflect.Method java.lang.String javax.management.openmbean.OpenType java.lang.reflect.Type javax.management.openmbean.OpenType[] java.lang.reflect.Type[] javax.management.MBeanParameterInfo[] int int java.lang.annotation.Annotation[][] javax.management.Descriptor
StackMap stack: new 56 new 56 java.lang.String java.lang.String javax.management.MBeanParameterInfo[]
aload 6
invokestatic com.sun.jmx.mbeanserver.MXBeanIntrospector.originalTypeString:(Ljava/lang/reflect/Type;)Ljava/lang/String;
62: StackMap locals: com.sun.jmx.mbeanserver.MXBeanIntrospector java.lang.String com.sun.jmx.mbeanserver.ConvertingMethod java.lang.reflect.Method java.lang.String javax.management.openmbean.OpenType java.lang.reflect.Type javax.management.openmbean.OpenType[] java.lang.reflect.Type[] javax.management.MBeanParameterInfo[] int int java.lang.annotation.Annotation[][] javax.management.Descriptor
StackMap stack: new 56 new 56 java.lang.String java.lang.String javax.management.MBeanParameterInfo[] java.lang.String
iconst_3
63: aload 13
64: invokespecial javax.management.MBeanOperationInfo.<init>:(Ljava/lang/String;Ljava/lang/String;[Ljavax/management/MBeanParameterInfo;Ljava/lang/String;ILjavax/management/Descriptor;)V
astore 14
start local 14 65: StackMap locals: javax.management.MBeanOperationInfo
StackMap stack:
aload 14
areturn
end local 14 end local 13 end local 12 end local 11 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 66 0 this Lcom/sun/jmx/mbeanserver/MXBeanIntrospector;
0 66 1 operationName Ljava/lang/String;
0 66 2 operation Lcom/sun/jmx/mbeanserver/ConvertingMethod;
1 66 3 method Ljava/lang/reflect/Method;
2 66 4 description Ljava/lang/String;
3 66 5 returnType Ljavax/management/openmbean/OpenType<*>;
4 66 6 originalReturnType Ljava/lang/reflect/Type;
5 66 7 paramTypes [Ljavax/management/openmbean/OpenType;
6 66 8 originalParamTypes [Ljava/lang/reflect/Type;
8 66 9 params [Ljavax/management/MBeanParameterInfo;
9 66 10 openReturnType Z
10 66 11 openParameterTypes Z
11 66 12 annots [[Ljava/lang/annotation/Annotation;
12 39 13 i I
14 37 14 paramName Ljava/lang/String;
15 37 15 paramDescription Ljava/lang/String;
16 37 16 openType Ljavax/management/openmbean/OpenType<*>;
17 37 17 originalType Ljava/lang/reflect/Type;
19 37 18 descriptor Ljavax/management/Descriptor;
28 29 19 pi Ljavax/management/MBeanParameterInfo;
36 37 19 pi Ljavax/management/MBeanParameterInfo;
41 66 13 descriptor Ljavax/management/Descriptor;
55 56 14 oi Ljavax/management/MBeanOperationInfo;
65 66 14 oi Ljavax/management/MBeanOperationInfo;
47 55 15 oparams [Ljavax/management/openmbean/OpenMBeanParameterInfo;
MethodParameters:
Name Flags
operationName
operation
javax.management.Descriptor getBasicMBeanDescriptor();
descriptor: ()Ljavax/management/Descriptor;
flags: (0x0000)
Code:
stack=6, locals=1, args_size=1
start local 0 0: new javax.management.ImmutableDescriptor
dup
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "mxbean=true"
aastore
dup
iconst_1
1: ldc "immutableInfo=true"
2: aastore
invokespecial javax.management.ImmutableDescriptor.<init>:([Ljava/lang/String;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/jmx/mbeanserver/MXBeanIntrospector;
javax.management.Descriptor getMBeanDescriptor(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljavax/management/Descriptor;
flags: (0x0000)
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: getstatic javax.management.ImmutableDescriptor.EMPTY_DESCRIPTOR:Ljavax/management/ImmutableDescriptor;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jmx/mbeanserver/MXBeanIntrospector;
0 1 1 resourceClass Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Ljavax/management/Descriptor;
MethodParameters:
Name Flags
resourceClass
private static javax.management.Descriptor typeDescriptor(javax.management.openmbean.OpenType, java.lang.reflect.Type);
descriptor: (Ljavax/management/openmbean/OpenType;Ljava/lang/reflect/Type;)Ljavax/management/Descriptor;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: new javax.management.ImmutableDescriptor
dup
1: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "openType"
aastore
dup
iconst_1
2: ldc "originalType"
aastore
3: iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
dup
iconst_1
4: aload 1
invokestatic com.sun.jmx.mbeanserver.MXBeanIntrospector.originalTypeString:(Ljava/lang/reflect/Type;)Ljava/lang/String;
aastore
5: invokespecial javax.management.ImmutableDescriptor.<init>:([Ljava/lang/String;[Ljava/lang/Object;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 openType Ljavax/management/openmbean/OpenType;
0 6 1 originalType Ljava/lang/reflect/Type;
MethodParameters:
Name Flags
openType
originalType
private static boolean canUseOpenInfo(java.lang.reflect.Type);
descriptor: (Ljava/lang/reflect/Type;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof java.lang.reflect.GenericArrayType
ifeq 3
1: aload 0
checkcast java.lang.reflect.GenericArrayType
invokeinterface java.lang.reflect.GenericArrayType.getGenericComponentType:()Ljava/lang/reflect/Type;
2: invokestatic com.sun.jmx.mbeanserver.MXBeanIntrospector.canUseOpenInfo:(Ljava/lang/reflect/Type;)Z
ireturn
3: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Class
ifeq 6
aload 0
checkcast java.lang.Class
invokevirtual java.lang.Class.isArray:()Z
ifeq 6
4: aload 0
checkcast java.lang.Class
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
5: invokestatic com.sun.jmx.mbeanserver.MXBeanIntrospector.canUseOpenInfo:(Ljava/lang/reflect/Type;)Z
ireturn
6: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Class
ifeq 7
aload 0
checkcast java.lang.Class
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 7
iconst_0
goto 8
StackMap locals:
StackMap stack:
7: iconst_1
StackMap locals:
StackMap stack: int
8: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 type Ljava/lang/reflect/Type;
MethodParameters:
Name Flags
type
private static java.lang.String originalTypeString(java.lang.reflect.Type);
descriptor: (Ljava/lang/reflect/Type;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof java.lang.Class
ifeq 2
1: aload 0
checkcast java.lang.Class
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 type Ljava/lang/reflect/Type;
MethodParameters:
Name Flags
type
java.lang.reflect.Type[] getGenericParameterTypes(java.lang.Object);
descriptor: (Ljava/lang/Object;)[Ljava/lang/reflect/Type;
flags: (0x1040) ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast com.sun.jmx.mbeanserver.ConvertingMethod
invokevirtual com.sun.jmx.mbeanserver.MXBeanIntrospector.getGenericParameterTypes:(Lcom/sun/jmx/mbeanserver/ConvertingMethod;)[Ljava/lang/reflect/Type;
areturn
LocalVariableTable:
Start End Slot Name Signature
java.lang.Object invokeM2(java.lang.Object, java.lang.Object, java.lang.Object[], java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x1040) ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=5, locals=5, args_size=5
0: aload 0
aload 1
checkcast com.sun.jmx.mbeanserver.ConvertingMethod
aload 2
aload 3
aload 4
invokevirtual com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2:(Lcom/sun/jmx/mbeanserver/ConvertingMethod;Ljava/lang/Object;[Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.reflect.InvocationTargetException, java.lang.IllegalAccessException, javax.management.MBeanException
java.lang.Object mFrom(java.lang.reflect.Method);
descriptor: (Ljava/lang/reflect/Method;)Ljava/lang/Object;
flags: (0x1040) ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual com.sun.jmx.mbeanserver.MXBeanIntrospector.mFrom:(Ljava/lang/reflect/Method;)Lcom/sun/jmx/mbeanserver/ConvertingMethod;
areturn
LocalVariableTable:
Start End Slot Name Signature
java.lang.reflect.Type getGenericReturnType(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/reflect/Type;
flags: (0x1040) ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast com.sun.jmx.mbeanserver.ConvertingMethod
invokevirtual com.sun.jmx.mbeanserver.MXBeanIntrospector.getGenericReturnType:(Lcom/sun/jmx/mbeanserver/ConvertingMethod;)Ljava/lang/reflect/Type;
areturn
LocalVariableTable:
Start End Slot Name Signature
javax.management.MBeanAttributeInfo getMBeanAttributeInfo(java.lang.String, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Ljavax/management/MBeanAttributeInfo;
flags: (0x1040) ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
0: aload 0
aload 1
aload 2
checkcast com.sun.jmx.mbeanserver.ConvertingMethod
aload 3
checkcast com.sun.jmx.mbeanserver.ConvertingMethod
invokevirtual com.sun.jmx.mbeanserver.MXBeanIntrospector.getMBeanAttributeInfo:(Ljava/lang/String;Lcom/sun/jmx/mbeanserver/ConvertingMethod;Lcom/sun/jmx/mbeanserver/ConvertingMethod;)Ljavax/management/MBeanAttributeInfo;
areturn
LocalVariableTable:
Start End Slot Name Signature
javax.management.MBeanOperationInfo getMBeanOperationInfo(java.lang.String, java.lang.Object);
descriptor: (Ljava/lang/String;Ljava/lang/Object;)Ljavax/management/MBeanOperationInfo;
flags: (0x1040) ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
aload 2
checkcast com.sun.jmx.mbeanserver.ConvertingMethod
invokevirtual com.sun.jmx.mbeanserver.MXBeanIntrospector.getMBeanOperationInfo:(Ljava/lang/String;Lcom/sun/jmx/mbeanserver/ConvertingMethod;)Ljavax/management/MBeanOperationInfo;
areturn
LocalVariableTable:
Start End Slot Name Signature
boolean validParameter(java.lang.Object, java.lang.Object, int, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;ILjava/lang/Object;)Z
flags: (0x1040) ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=5, locals=5, args_size=5
0: aload 0
aload 1
checkcast com.sun.jmx.mbeanserver.ConvertingMethod
aload 2
iload 3
aload 4
invokevirtual com.sun.jmx.mbeanserver.MXBeanIntrospector.validParameter:(Lcom/sun/jmx/mbeanserver/ConvertingMethod;Ljava/lang/Object;ILjava/lang/Object;)Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
java.lang.String[] getSignature(java.lang.Object);
descriptor: (Ljava/lang/Object;)[Ljava/lang/String;
flags: (0x1040) ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast com.sun.jmx.mbeanserver.ConvertingMethod
invokevirtual com.sun.jmx.mbeanserver.MXBeanIntrospector.getSignature:(Lcom/sun/jmx/mbeanserver/ConvertingMethod;)[Ljava/lang/String;
areturn
LocalVariableTable:
Start End Slot Name Signature
java.lang.String getName(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/String;
flags: (0x1040) ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast com.sun.jmx.mbeanserver.ConvertingMethod
invokevirtual com.sun.jmx.mbeanserver.MXBeanIntrospector.getName:(Lcom/sun/jmx/mbeanserver/ConvertingMethod;)Ljava/lang/String;
areturn
LocalVariableTable:
Start End Slot Name Signature
void checkMethod(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x1040) ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast com.sun.jmx.mbeanserver.ConvertingMethod
invokevirtual com.sun.jmx.mbeanserver.MXBeanIntrospector.checkMethod:(Lcom/sun/jmx/mbeanserver/ConvertingMethod;)V
return
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.IllegalArgumentException
}
Signature: Lcom/sun/jmx/mbeanserver/MBeanIntrospector<Lcom/sun/jmx/mbeanserver/ConvertingMethod;>;
SourceFile: "MXBeanIntrospector.java"
InnerClasses:
MBeanInfoMap = com.sun.jmx.mbeanserver.MBeanIntrospector$MBeanInfoMap of com.sun.jmx.mbeanserver.MBeanIntrospector
final PerInterfaceMap = com.sun.jmx.mbeanserver.MBeanIntrospector$PerInterfaceMap of com.sun.jmx.mbeanserver.MBeanIntrospector