class com.sun.management.internal.DiagnosticCommandImpl$Wrapper
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.management.internal.DiagnosticCommandImpl$Wrapper
super_class: java.lang.Object
{
java.lang.String name;
descriptor: Ljava/lang/String;
flags: (0x0000)
java.lang.String cmd;
descriptor: Ljava/lang/String;
flags: (0x0000)
com.sun.management.internal.DiagnosticCommandInfo info;
descriptor: Lcom/sun/management/internal/DiagnosticCommandInfo;
flags: (0x0000)
java.security.Permission permission;
descriptor: Ljava/security/Permission;
flags: (0x0000)
final com.sun.management.internal.DiagnosticCommandImpl this$0;
descriptor: Lcom/sun/management/internal/DiagnosticCommandImpl;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(com.sun.management.internal.DiagnosticCommandImpl, java.lang.String, java.lang.String, com.sun.management.internal.DiagnosticCommandInfo);
descriptor: (Lcom/sun/management/internal/DiagnosticCommandImpl;Ljava/lang/String;Ljava/lang/String;Lcom/sun/management/internal/DiagnosticCommandInfo;)V
flags: (0x0000)
Code:
stack=6, locals=8, args_size=5
start local 0 // com.sun.management.internal.DiagnosticCommandImpl$Wrapper this
start local 2 // java.lang.String name
start local 3 // java.lang.String cmd
start local 4 // com.sun.management.internal.DiagnosticCommandInfo info
0: .line 110
aload 0 /* this */
aload 1
putfield com.sun.management.internal.DiagnosticCommandImpl$Wrapper.this$0:Lcom/sun/management/internal/DiagnosticCommandImpl;
1: .line 109
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
2: .line 111
aload 0 /* this */
aload 2 /* name */
putfield com.sun.management.internal.DiagnosticCommandImpl$Wrapper.name:Ljava/lang/String;
3: .line 112
aload 0 /* this */
aload 3 /* cmd */
putfield com.sun.management.internal.DiagnosticCommandImpl$Wrapper.cmd:Ljava/lang/String;
4: .line 113
aload 0 /* this */
aload 4 /* info */
putfield com.sun.management.internal.DiagnosticCommandImpl$Wrapper.info:Lcom/sun/management/internal/DiagnosticCommandInfo;
5: .line 114
aload 0 /* this */
aconst_null
putfield com.sun.management.internal.DiagnosticCommandImpl$Wrapper.permission:Ljava/security/Permission;
6: .line 115
aconst_null
astore 5 /* cause */
start local 5 // java.lang.Exception cause
7: .line 116
aload 4 /* info */
invokevirtual com.sun.management.internal.DiagnosticCommandInfo.getPermissionClass:()Ljava/lang/String;
ifnull 30
8: .line 118
aload 4 /* info */
invokevirtual com.sun.management.internal.DiagnosticCommandInfo.getPermissionClass:()Ljava/lang/String;
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 6 /* c */
start local 6 // java.lang.Class c
9: .line 119
aload 4 /* info */
invokevirtual com.sun.management.internal.DiagnosticCommandInfo.getPermissionAction:()Ljava/lang/String;
ifnonnull 15
10: .line 121
aload 6 /* c */
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/String;
aastore
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
astore 7 /* constructor */
start local 7 // java.lang.reflect.Constructor constructor
11: .line 122
aload 0 /* this */
aload 7 /* constructor */
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 4 /* info */
invokevirtual com.sun.management.internal.DiagnosticCommandInfo.getPermissionName:()Ljava/lang/String;
aastore
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.security.Permission
putfield com.sun.management.internal.DiagnosticCommandImpl$Wrapper.permission:Ljava/security/Permission;
end local 7 // java.lang.reflect.Constructor constructor
12: .line 124
goto 15
13: .line 126
StackMap locals: com.sun.management.internal.DiagnosticCommandImpl$Wrapper com.sun.management.internal.DiagnosticCommandImpl java.lang.String java.lang.String com.sun.management.internal.DiagnosticCommandInfo java.lang.Exception java.lang.Class
StackMap stack: java.lang.Exception
astore 7 /* ex */
start local 7 // java.lang.Exception ex
14: .line 127
aload 7 /* ex */
astore 5 /* cause */
end local 7 // java.lang.Exception ex
15: .line 130
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.sun.management.internal.DiagnosticCommandImpl$Wrapper.permission:Ljava/security/Permission;
ifnonnull 26
16: .line 132
aload 6 /* c */
iconst_2
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/String;
aastore
dup
iconst_1
ldc Ljava/lang/String;
aastore
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
astore 7 /* constructor */
start local 7 // java.lang.reflect.Constructor constructor
17: .line 133
aload 0 /* this */
aload 7 /* constructor */
iconst_2
anewarray java.lang.Object
dup
iconst_0
18: .line 134
aload 4 /* info */
invokevirtual com.sun.management.internal.DiagnosticCommandInfo.getPermissionName:()Ljava/lang/String;
aastore
dup
iconst_1
19: .line 135
aload 4 /* info */
invokevirtual com.sun.management.internal.DiagnosticCommandInfo.getPermissionAction:()Ljava/lang/String;
aastore
20: .line 133
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.security.Permission
putfield com.sun.management.internal.DiagnosticCommandImpl$Wrapper.permission:Ljava/security/Permission;
end local 7 // java.lang.reflect.Constructor constructor
21: .line 136
goto 26
22: .line 138
StackMap locals:
StackMap stack: java.lang.Exception
astore 7 /* ex */
start local 7 // java.lang.Exception ex
23: .line 139
aload 7 /* ex */
astore 5 /* cause */
end local 7 // java.lang.Exception ex
end local 6 // java.lang.Class c
24: .line 142
goto 26
StackMap locals: com.sun.management.internal.DiagnosticCommandImpl$Wrapper com.sun.management.internal.DiagnosticCommandImpl java.lang.String java.lang.String com.sun.management.internal.DiagnosticCommandInfo java.lang.Exception
StackMap stack: java.lang.ClassNotFoundException
25: pop
26: .line 143
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.sun.management.internal.DiagnosticCommandImpl$Wrapper.permission:Ljava/security/Permission;
ifnonnull 30
27: .line 145
new java.lang.InstantiationException
dup
ldc "Unable to instantiate required permission"
invokespecial java.lang.InstantiationException.<init>:(Ljava/lang/String;)V
28: .line 144
astore 6 /* iex */
start local 6 // java.lang.InstantiationException iex
29: .line 146
aload 6 /* iex */
aload 5 /* cause */
invokevirtual java.lang.InstantiationException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
end local 6 // java.lang.InstantiationException iex
30: .line 149
StackMap locals:
StackMap stack:
return
end local 5 // java.lang.Exception cause
end local 4 // com.sun.management.internal.DiagnosticCommandInfo info
end local 3 // java.lang.String cmd
end local 2 // java.lang.String name
end local 0 // com.sun.management.internal.DiagnosticCommandImpl$Wrapper this
LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lcom/sun/management/internal/DiagnosticCommandImpl$Wrapper;
0 31 2 name Ljava/lang/String;
0 31 3 cmd Ljava/lang/String;
0 31 4 info Lcom/sun/management/internal/DiagnosticCommandInfo;
7 31 5 cause Ljava/lang/Exception;
9 24 6 c Ljava/lang/Class<*>;
11 12 7 constructor Ljava/lang/reflect/Constructor<*>;
14 15 7 ex Ljava/lang/Exception;
17 21 7 constructor Ljava/lang/reflect/Constructor<*>;
23 24 7 ex Ljava/lang/Exception;
29 30 6 iex Ljava/lang/InstantiationException;
Exception table:
from to target type
10 12 13 Class java.lang.InstantiationException
10 12 13 Class java.lang.IllegalAccessException
10 12 13 Class java.lang.IllegalArgumentException
10 12 13 Class java.lang.reflect.InvocationTargetException
10 12 13 Class java.lang.NoSuchMethodException
10 12 13 Class java.lang.SecurityException
16 21 22 Class java.lang.InstantiationException
16 21 22 Class java.lang.IllegalAccessException
16 21 22 Class java.lang.IllegalArgumentException
16 21 22 Class java.lang.reflect.InvocationTargetException
16 21 22 Class java.lang.NoSuchMethodException
16 21 22 Class java.lang.SecurityException
8 24 25 Class java.lang.ClassNotFoundException
Exceptions:
throws java.lang.InstantiationException
MethodParameters:
Name Flags
this$0 final
name
cmd
info
public java.lang.String execute(java.lang.String[]);
descriptor: ([Ljava/lang/String;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 // com.sun.management.internal.DiagnosticCommandImpl$Wrapper this
start local 1 // java.lang.String[] args
0: .line 152
aload 0 /* this */
getfield com.sun.management.internal.DiagnosticCommandImpl$Wrapper.permission:Ljava/security/Permission;
ifnull 4
1: .line 153
invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 2 /* sm */
start local 2 // java.lang.SecurityManager sm
2: .line 154
aload 2 /* sm */
ifnull 4
3: .line 155
aload 2 /* sm */
aload 0 /* this */
getfield com.sun.management.internal.DiagnosticCommandImpl$Wrapper.permission:Ljava/security/Permission;
invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
end local 2 // java.lang.SecurityManager sm
4: .line 158
StackMap locals:
StackMap stack:
aload 1 /* args */
ifnonnull 6
5: .line 159
aload 0 /* this */
getfield com.sun.management.internal.DiagnosticCommandImpl$Wrapper.this$0:Lcom/sun/management/internal/DiagnosticCommandImpl;
aload 0 /* this */
getfield com.sun.management.internal.DiagnosticCommandImpl$Wrapper.cmd:Ljava/lang/String;
invokevirtual com.sun.management.internal.DiagnosticCommandImpl.executeDiagnosticCommand:(Ljava/lang/String;)Ljava/lang/String;
areturn
6: .line 161
StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 2 /* sb */
start local 2 // java.lang.StringBuilder sb
7: .line 162
aload 2 /* sb */
aload 0 /* this */
getfield com.sun.management.internal.DiagnosticCommandImpl$Wrapper.cmd:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
8: .line 163
iconst_0
istore 3 /* i */
start local 3 // int i
9: goto 15
10: .line 164
StackMap locals: java.lang.StringBuilder int
StackMap stack:
aload 1 /* args */
iload 3 /* i */
aaload
ifnonnull 12
11: .line 165
new java.lang.IllegalArgumentException
dup
ldc "Invalid null argument"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
12: .line 167
StackMap locals:
StackMap stack:
aload 2 /* sb */
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
13: .line 168
aload 2 /* sb */
aload 1 /* args */
iload 3 /* i */
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
14: .line 163
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
15: iload 3 /* i */
aload 1 /* args */
arraylength
if_icmplt 10
end local 3 // int i
16: .line 170
aload 0 /* this */
getfield com.sun.management.internal.DiagnosticCommandImpl$Wrapper.this$0:Lcom/sun/management/internal/DiagnosticCommandImpl;
aload 2 /* sb */
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.management.internal.DiagnosticCommandImpl.executeDiagnosticCommand:(Ljava/lang/String;)Ljava/lang/String;
areturn
end local 2 // java.lang.StringBuilder sb
end local 1 // java.lang.String[] args
end local 0 // com.sun.management.internal.DiagnosticCommandImpl$Wrapper this
LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/sun/management/internal/DiagnosticCommandImpl$Wrapper;
0 17 1 args [Ljava/lang/String;
2 4 2 sm Ljava/lang/SecurityManager;
7 17 2 sb Ljava/lang/StringBuilder;
9 16 3 i I
MethodParameters:
Name Flags
args
}
SourceFile: "DiagnosticCommandImpl.java"
NestHost: com.sun.management.internal.DiagnosticCommandImpl
InnerClasses:
private Wrapper = com.sun.management.internal.DiagnosticCommandImpl$Wrapper of com.sun.management.internal.DiagnosticCommandImpl