class sun.applet.AppletViewer$2 implements java.security.PrivilegedAction
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 // sun.applet.AppletViewer$2 this
0: .line 641
aload 0 /* this */
aload 1
putfield sun.applet.AppletViewer$2.this$0:Lsun/applet/AppletViewer;
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // sun.applet.AppletViewer$2 this
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=8, args_size=1
start local 0 // sun.applet.AppletViewer$2 this
0: .line 654
aload 0 /* this */
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: .line 655
new java.awt.FileDialog
dup
aload 0 /* this */
getfield sun.applet.AppletViewer$2.this$0:Lsun/applet/AppletViewer;
2: .line 656
getstatic sun.applet.AppletViewer.amh:Lsun/applet/AppletMessageHandler;
ldc "appletsave.filedialogtitle"
invokevirtual sun.applet.AppletMessageHandler.getMessage:(Ljava/lang/String;)Ljava/lang/String;
3: .line 657
iconst_1
4: .line 655
invokespecial java.awt.FileDialog.<init>:(Ljava/awt/Frame;Ljava/lang/String;I)V
astore 1 /* fd */
start local 1 // java.awt.FileDialog fd
5: .line 659
aload 1 /* fd */
ldc "user.dir"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.awt.FileDialog.setDirectory:(Ljava/lang/String;)V
6: .line 660
aload 1 /* fd */
getstatic sun.applet.AppletViewer.defaultSaveFile:Ljava/lang/String;
invokevirtual java.awt.FileDialog.setFile:(Ljava/lang/String;)V
7: .line 661
aload 1 /* fd */
invokevirtual java.awt.FileDialog.show:()V
8: .line 662
aload 1 /* fd */
invokevirtual java.awt.FileDialog.getFile:()Ljava/lang/String;
astore 2 /* fname */
start local 2 // java.lang.String fname
9: .line 663
aload 2 /* fname */
ifnonnull 12
10: .line 665
aload 0 /* this */
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: .line 666
aconst_null
areturn
12: .line 668
StackMap locals: java.awt.FileDialog java.lang.String
StackMap stack:
aload 1 /* fd */
invokevirtual java.awt.FileDialog.getDirectory:()Ljava/lang/String;
astore 3 /* dname */
start local 3 // java.lang.String dname
13: .line 669
new java.io.File
dup
aload 3 /* dname */
aload 2 /* fname */
invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 4 /* file */
start local 4 // java.io.File file
14: .line 672
new java.io.BufferedOutputStream
dup
new java.io.FileOutputStream
dup
aload 4 /* file */
invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
invokespecial java.io.BufferedOutputStream.<init>:(Ljava/io/OutputStream;)V
astore 5 /* s */
start local 5 // java.io.BufferedOutputStream s
15: .line 673
new java.io.ObjectOutputStream
dup
aload 5 /* s */
invokespecial java.io.ObjectOutputStream.<init>:(Ljava/io/OutputStream;)V
astore 6 /* os */
start local 6 // java.io.ObjectOutputStream os
16: .line 674
aload 0 /* this */
getfield sun.applet.AppletViewer$2.this$0:Lsun/applet/AppletViewer;
getstatic sun.applet.AppletViewer.amh:Lsun/applet/AppletMessageHandler;
ldc "appletsave.err1"
17: .line 675
aload 0 /* this */
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 /* file */
invokevirtual java.io.File.toString:()Ljava/lang/String;
18: .line 674
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: .line 676
aload 6 /* os */
aload 0 /* this */
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
end local 6 // java.io.ObjectOutputStream os
end local 5 // java.io.BufferedOutputStream s
20: .line 677
goto 27
StackMap locals: sun.applet.AppletViewer$2 java.awt.FileDialog java.lang.String java.lang.String java.io.File
StackMap stack: java.io.IOException
21: astore 5 /* ex */
start local 5 // java.io.IOException ex
22: .line 678
getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.applet.AppletViewer.amh:Lsun/applet/AppletMessageHandler;
ldc "appletsave.err2"
aload 5 /* ex */
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 // java.io.IOException ex
23: .line 680
aload 0 /* this */
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 28
24: .line 679
StackMap locals:
StackMap stack: java.lang.Throwable
astore 7
25: .line 680
aload 0 /* this */
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
26: .line 681
aload 7
athrow
27: .line 680
StackMap locals:
StackMap stack:
aload 0 /* this */
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
28: .line 682
StackMap locals:
StackMap stack:
aconst_null
areturn
end local 4 // java.io.File file
end local 3 // java.lang.String dname
end local 2 // java.lang.String fname
end local 1 // java.awt.FileDialog fd
end local 0 // sun.applet.AppletViewer$2 this
LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lsun/applet/AppletViewer$2;
5 29 1 fd Ljava/awt/FileDialog;
9 29 2 fname Ljava/lang/String;
13 29 3 dname Ljava/lang/String;
14 29 4 file Ljava/io/File;
15 20 5 s Ljava/io/BufferedOutputStream;
16 20 6 os Ljava/io/ObjectOutputStream;
22 23 5 ex Ljava/io/IOException;
Exception table:
from to target type
14 20 21 Class java.io.IOException
14 23 24 any
}
SourceFile: "AppletViewer.java"
EnclosingMethod: sun.applet.AppletViewer.appletSave:()V
NestHost: sun.applet.AppletViewer
InnerClasses:
sun.applet.AppletViewer$2