class sun.awt.datatransfer.DataTransferer$1 implements java.security.PrivilegedAction
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.awt.datatransfer.DataTransferer$1
super_class: java.lang.Object
{
private final java.lang.String val$name;
descriptor: Ljava/lang/String;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 // sun.awt.datatransfer.DataTransferer$1 this
0: .line 281
aload 0 /* this */
aload 1
putfield sun.awt.datatransfer.DataTransferer$1.val$name:Ljava/lang/String;
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // sun.awt.datatransfer.DataTransferer$1 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/datatransfer/DataTransferer$1;
MethodParameters:
Name Flags
val$name final
public java.lang.Object run();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=1
start local 0 // sun.awt.datatransfer.DataTransferer$1 this
0: .line 283
aconst_null
astore 1 /* cls */
start local 1 // java.lang.Class cls
1: .line 284
aconst_null
astore 2 /* method */
start local 2 // java.lang.reflect.Method method
2: .line 285
aconst_null
astore 3 /* ret */
start local 3 // java.lang.Object ret
3: .line 288
aload 0 /* this */
getfield sun.awt.datatransfer.DataTransferer$1.val$name:Ljava/lang/String;
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 1 /* cls */
4: .line 289
goto 14
StackMap locals: sun.awt.datatransfer.DataTransferer$1 java.lang.Class java.lang.reflect.Method java.lang.Object
StackMap stack: java.lang.ClassNotFoundException
5: pop
6: .line 291
invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
7: .line 290
astore 4 /* cl */
start local 4 // java.lang.ClassLoader cl
8: .line 292
aload 4 /* cl */
ifnull 14
9: .line 294
aload 4 /* cl */
aload 0 /* this */
getfield sun.awt.datatransfer.DataTransferer$1.val$name:Ljava/lang/String;
invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
astore 1 /* cls */
10: .line 295
goto 14
StackMap locals: sun.awt.datatransfer.DataTransferer$1 java.lang.Class java.lang.reflect.Method java.lang.Object java.lang.ClassLoader
StackMap stack: java.lang.ClassNotFoundException
11: astore 5 /* ee */
start local 5 // java.lang.ClassNotFoundException ee
12: .line 296
aload 5 /* ee */
invokevirtual java.lang.ClassNotFoundException.printStackTrace:()V
13: .line 297
new java.awt.AWTError
dup
new java.lang.StringBuilder
dup
ldc "DataTransferer not found: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0 /* this */
getfield sun.awt.datatransfer.DataTransferer$1.val$name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.awt.AWTError.<init>:(Ljava/lang/String;)V
athrow
end local 5 // java.lang.ClassNotFoundException ee
end local 4 // java.lang.ClassLoader cl
14: .line 301
StackMap locals:
StackMap stack:
aload 1 /* cls */
ifnull 26
15: .line 303
aload 1 /* cls */
16: .line 304
ldc "getInstanceImpl"
iconst_0
anewarray java.lang.Class
17: .line 303
invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 2 /* method */
18: .line 305
aload 2 /* method */
iconst_1
invokevirtual java.lang.reflect.Method.setAccessible:(Z)V
19: .line 306
goto 26
StackMap locals:
StackMap stack: java.lang.NoSuchMethodException
20: astore 4 /* e */
start local 4 // java.lang.NoSuchMethodException e
21: .line 307
aload 4 /* e */
invokevirtual java.lang.NoSuchMethodException.printStackTrace:()V
22: .line 308
new java.awt.AWTError
dup
new java.lang.StringBuilder
dup
ldc "Cannot instantiate DataTransferer: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0 /* this */
getfield sun.awt.datatransfer.DataTransferer$1.val$name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.awt.AWTError.<init>:(Ljava/lang/String;)V
athrow
end local 4 // java.lang.NoSuchMethodException e
23: .line 309
StackMap locals:
StackMap stack: java.lang.SecurityException
astore 4 /* e */
start local 4 // java.lang.SecurityException e
24: .line 310
aload 4 /* e */
invokevirtual java.lang.SecurityException.printStackTrace:()V
25: .line 311
new java.awt.AWTError
dup
new java.lang.StringBuilder
dup
ldc "Access is denied for DataTransferer: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0 /* this */
getfield sun.awt.datatransfer.DataTransferer$1.val$name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.awt.AWTError.<init>:(Ljava/lang/String;)V
athrow
end local 4 // java.lang.SecurityException e
26: .line 314
StackMap locals:
StackMap stack:
aload 2 /* method */
ifnull 35
27: .line 316
aload 2 /* method */
aconst_null
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
astore 3 /* ret */
28: .line 317
goto 35
StackMap locals:
StackMap stack: java.lang.reflect.InvocationTargetException
29: astore 4 /* e */
start local 4 // java.lang.reflect.InvocationTargetException e
30: .line 318
aload 4 /* e */
invokevirtual java.lang.reflect.InvocationTargetException.printStackTrace:()V
31: .line 319
new java.awt.AWTError
dup
new java.lang.StringBuilder
dup
ldc "Cannot instantiate DataTransferer: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0 /* this */
getfield sun.awt.datatransfer.DataTransferer$1.val$name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.awt.AWTError.<init>:(Ljava/lang/String;)V
athrow
end local 4 // java.lang.reflect.InvocationTargetException e
32: .line 320
StackMap locals:
StackMap stack: java.lang.IllegalAccessException
astore 4 /* e */
start local 4 // java.lang.IllegalAccessException e
33: .line 321
aload 4 /* e */
invokevirtual java.lang.IllegalAccessException.printStackTrace:()V
34: .line 322
new java.awt.AWTError
dup
new java.lang.StringBuilder
dup
ldc "Cannot access DataTransferer: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0 /* this */
getfield sun.awt.datatransfer.DataTransferer$1.val$name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.awt.AWTError.<init>:(Ljava/lang/String;)V
athrow
end local 4 // java.lang.IllegalAccessException e
35: .line 325
StackMap locals:
StackMap stack:
aload 3 /* ret */
areturn
end local 3 // java.lang.Object ret
end local 2 // java.lang.reflect.Method method
end local 1 // java.lang.Class cls
end local 0 // sun.awt.datatransfer.DataTransferer$1 this
LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lsun/awt/datatransfer/DataTransferer$1;
1 36 1 cls Ljava/lang/Class;
2 36 2 method Ljava/lang/reflect/Method;
3 36 3 ret Ljava/lang/Object;
8 14 4 cl Ljava/lang/ClassLoader;
12 14 5 ee Ljava/lang/ClassNotFoundException;
21 23 4 e Ljava/lang/NoSuchMethodException;
24 26 4 e Ljava/lang/SecurityException;
30 32 4 e Ljava/lang/reflect/InvocationTargetException;
33 35 4 e Ljava/lang/IllegalAccessException;
Exception table:
from to target type
3 4 5 Class java.lang.ClassNotFoundException
9 10 11 Class java.lang.ClassNotFoundException
15 19 20 Class java.lang.NoSuchMethodException
15 19 23 Class java.lang.SecurityException
27 28 29 Class java.lang.reflect.InvocationTargetException
27 28 32 Class java.lang.IllegalAccessException
}
SourceFile: "DataTransferer.java"
EnclosingMethod: sun.awt.datatransfer.DataTransferer.getInstance:()Lsun/awt/datatransfer/DataTransferer;
NestHost: sun.awt.datatransfer.DataTransferer
InnerClasses:
sun.awt.datatransfer.DataTransferer$1