class sun.applet.AppletViewer$2 implements java.security.PrivilegedAction<java.lang.Object>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.applet.AppletViewer$2
super_class: java.lang.Object
{
final sun.applet.AppletViewer this$0;
descriptor: Lsun/applet/AppletViewer;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(sun.applet.AppletViewer);
descriptor: (Lsun/applet/AppletViewer;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield sun.applet.AppletViewer$2.this$0:Lsun/applet/AppletViewer;
aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/applet/AppletViewer$2;
MethodParameters:
Name Flags
this$0 final
public java.lang.Object run();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=11, args_size=1
start local 0 0: aload 0
getfield sun.applet.AppletViewer$2.this$0:Lsun/applet/AppletViewer;
getfield sun.applet.AppletViewer.panel:Lsun/applet/AppletViewerPanel;
iconst_4
invokevirtual sun.applet.AppletViewerPanel.sendEvent:(I)V
1: new java.awt.FileDialog
dup
aload 0
getfield sun.applet.AppletViewer$2.this$0:Lsun/applet/AppletViewer;
2: getstatic sun.applet.AppletViewer.amh:Lsun/applet/AppletMessageHandler;
ldc "appletsave.filedialogtitle"
invokevirtual sun.applet.AppletMessageHandler.getMessage:(Ljava/lang/String;)Ljava/lang/String;
3: iconst_1
4: invokespecial java.awt.FileDialog.<init>:(Ljava/awt/Frame;Ljava/lang/String;I)V
astore 1
start local 1 5: aload 1
ldc "user.dir"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.awt.FileDialog.setDirectory:(Ljava/lang/String;)V
6: aload 1
getstatic sun.applet.AppletViewer.defaultSaveFile:Ljava/lang/String;
invokevirtual java.awt.FileDialog.setFile:(Ljava/lang/String;)V
7: aload 1
invokevirtual java.awt.FileDialog.show:()V
8: aload 1
invokevirtual java.awt.FileDialog.getFile:()Ljava/lang/String;
astore 2
start local 2 9: aload 2
ifnonnull 12
10: aload 0
getfield sun.applet.AppletViewer$2.this$0:Lsun/applet/AppletViewer;
getfield sun.applet.AppletViewer.panel:Lsun/applet/AppletViewerPanel;
iconst_3
invokevirtual sun.applet.AppletViewerPanel.sendEvent:(I)V
11: aconst_null
areturn
12: StackMap locals: java.awt.FileDialog java.lang.String
StackMap stack:
aload 1
invokevirtual java.awt.FileDialog.getDirectory:()Ljava/lang/String;
astore 3
start local 3 13: new java.io.File
dup
aload 3
aload 2
invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 4
start local 4 14: aconst_null
astore 5
aconst_null
astore 6
15: new java.io.FileOutputStream
dup
aload 4
invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
astore 7
start local 7 16: new java.io.BufferedOutputStream
dup
aload 7
invokespecial java.io.BufferedOutputStream.<init>:(Ljava/io/OutputStream;)V
astore 8
start local 8 17: new java.io.ObjectOutputStream
dup
aload 8
invokespecial java.io.ObjectOutputStream.<init>:(Ljava/io/OutputStream;)V
astore 9
start local 9 18: aload 0
getfield sun.applet.AppletViewer$2.this$0:Lsun/applet/AppletViewer;
getstatic sun.applet.AppletViewer.amh:Lsun/applet/AppletMessageHandler;
ldc "appletsave.err1"
aload 0
getfield sun.applet.AppletViewer$2.this$0:Lsun/applet/AppletViewer;
getfield sun.applet.AppletViewer.panel:Lsun/applet/AppletViewerPanel;
getfield sun.applet.AppletViewerPanel.applet:Ljava/applet/Applet;
invokevirtual java.applet.Applet.toString:()Ljava/lang/String;
aload 4
invokevirtual java.io.File.toString:()Ljava/lang/String;
invokevirtual sun.applet.AppletMessageHandler.getMessage:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
invokevirtual sun.applet.AppletViewer.showStatus:(Ljava/lang/String;)V
19: aload 9
aload 0
getfield sun.applet.AppletViewer$2.this$0:Lsun/applet/AppletViewer;
getfield sun.applet.AppletViewer.panel:Lsun/applet/AppletViewerPanel;
getfield sun.applet.AppletViewerPanel.applet:Ljava/applet/Applet;
invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
20: aload 9
ifnull 23
aload 9
invokevirtual java.io.ObjectOutputStream.close:()V
goto 23
StackMap locals: sun.applet.AppletViewer$2 java.awt.FileDialog java.lang.String java.lang.String java.io.File java.lang.Throwable java.lang.Throwable java.io.FileOutputStream java.io.BufferedOutputStream java.io.ObjectOutputStream
StackMap stack: java.lang.Throwable
21: astore 5
aload 9
ifnull 22
aload 9
invokevirtual java.io.ObjectOutputStream.close:()V
end local 9 StackMap locals:
StackMap stack:
22: aload 5
athrow
StackMap locals:
StackMap stack:
23: aload 8
ifnull 28
aload 8
invokevirtual java.io.BufferedOutputStream.close:()V
goto 28
StackMap locals:
StackMap stack: java.lang.Throwable
24: astore 6
aload 5
ifnonnull 25
aload 6
astore 5
goto 26
StackMap locals:
StackMap stack:
25: aload 5
aload 6
if_acmpeq 26
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
26: aload 8
ifnull 27
aload 8
invokevirtual java.io.BufferedOutputStream.close:()V
end local 8 StackMap locals:
StackMap stack:
27: aload 5
athrow
StackMap locals:
StackMap stack:
28: aload 7
ifnull 42
aload 7
invokevirtual java.io.FileOutputStream.close:()V
goto 42
StackMap locals:
StackMap stack: java.lang.Throwable
29: astore 6
aload 5
ifnonnull 30
aload 6
astore 5
goto 31
StackMap locals:
StackMap stack:
30: aload 5
aload 6
if_acmpeq 31
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
31: aload 7
ifnull 32
aload 7
invokevirtual java.io.FileOutputStream.close:()V
end local 7 StackMap locals:
StackMap stack:
32: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
33: astore 6
aload 5
ifnonnull 34
aload 6
astore 5
goto 35
StackMap locals:
StackMap stack:
34: aload 5
aload 6
if_acmpeq 35
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
35: aload 5
athrow
StackMap locals: sun.applet.AppletViewer$2 java.awt.FileDialog java.lang.String java.lang.String java.io.File
StackMap stack: java.io.IOException
36: astore 5
start local 5 37: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.applet.AppletViewer.amh:Lsun/applet/AppletMessageHandler;
ldc "appletsave.err2"
aload 5
invokevirtual sun.applet.AppletMessageHandler.getMessage:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 5 38: aload 0
getfield sun.applet.AppletViewer$2.this$0:Lsun/applet/AppletViewer;
getfield sun.applet.AppletViewer.panel:Lsun/applet/AppletViewerPanel;
iconst_3
invokevirtual sun.applet.AppletViewerPanel.sendEvent:(I)V
goto 43
39: StackMap locals:
StackMap stack: java.lang.Throwable
astore 10
40: aload 0
getfield sun.applet.AppletViewer$2.this$0:Lsun/applet/AppletViewer;
getfield sun.applet.AppletViewer.panel:Lsun/applet/AppletViewerPanel;
iconst_3
invokevirtual sun.applet.AppletViewerPanel.sendEvent:(I)V
41: aload 10
athrow
42: StackMap locals:
StackMap stack:
aload 0
getfield sun.applet.AppletViewer$2.this$0:Lsun/applet/AppletViewer;
getfield sun.applet.AppletViewer.panel:Lsun/applet/AppletViewerPanel;
iconst_3
invokevirtual sun.applet.AppletViewerPanel.sendEvent:(I)V
43: StackMap locals:
StackMap stack:
aconst_null
areturn
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 Lsun/applet/AppletViewer$2;
5 44 1 fd Ljava/awt/FileDialog;
9 44 2 fname Ljava/lang/String;
13 44 3 dname Ljava/lang/String;
14 44 4 file Ljava/io/File;
16 32 7 fos Ljava/io/FileOutputStream;
17 27 8 bos Ljava/io/BufferedOutputStream;
18 22 9 os Ljava/io/ObjectOutputStream;
37 38 5 ex Ljava/io/IOException;
Exception table:
from to target type
18 20 21 any
17 23 24 any
16 28 29 any
15 33 33 any
14 36 36 Class java.io.IOException
14 38 39 any
}
Signature: Ljava/lang/Object;Ljava/security/PrivilegedAction<Ljava/lang/Object;>;
SourceFile: "AppletViewer.java"
EnclosingMethod: sun.applet.AppletViewer.appletSave:()V
NestHost: sun.applet.AppletViewer
InnerClasses:
sun.applet.AppletViewer$2