class sun.print.PSPrinterJob$PrinterSpooler implements java.security.PrivilegedAction
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.print.PSPrinterJob$PrinterSpooler
super_class: java.lang.Object
{
java.awt.print.PrinterException pex;
descriptor: Ljava/awt/print/PrinterException;
flags: (0x0000)
final sun.print.PSPrinterJob this$0;
descriptor: Lsun/print/PSPrinterJob;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private void <init>(sun.print.PSPrinterJob);
descriptor: (Lsun/print/PSPrinterJob;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 // sun.print.PSPrinterJob$PrinterSpooler this
0: .line 670
aload 0 /* this */
aload 1
putfield sun.print.PSPrinterJob$PrinterSpooler.this$0:Lsun/print/PSPrinterJob;
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // sun.print.PSPrinterJob$PrinterSpooler this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/print/PSPrinterJob$PrinterSpooler;
MethodParameters:
Name Flags
this$0 final
public java.lang.Object run();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=4, args_size=1
start local 0 // sun.print.PSPrinterJob$PrinterSpooler this
0: .line 678
aload 0 /* this */
getfield sun.print.PSPrinterJob$PrinterSpooler.this$0:Lsun/print/PSPrinterJob;
getfield sun.print.PSPrinterJob.spoolFile:Ljava/io/File;
ifnull 1
aload 0 /* this */
getfield sun.print.PSPrinterJob$PrinterSpooler.this$0:Lsun/print/PSPrinterJob;
getfield sun.print.PSPrinterJob.spoolFile:Ljava/io/File;
invokevirtual java.io.File.exists:()Z
ifne 3
1: .line 679
StackMap locals:
StackMap stack:
aload 0 /* this */
new java.awt.print.PrinterException
dup
ldc "No spool file"
invokespecial java.awt.print.PrinterException.<init>:(Ljava/lang/String;)V
putfield sun.print.PSPrinterJob$PrinterSpooler.pex:Ljava/awt/print/PrinterException;
2: .line 680
aconst_null
areturn
3: .line 682
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.print.PSPrinterJob$PrinterSpooler.this$0:Lsun/print/PSPrinterJob;
getfield sun.print.PSPrinterJob.spoolFile:Ljava/io/File;
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
astore 1 /* fileName */
start local 1 // java.lang.String fileName
4: .line 683
aload 0 /* this */
getfield sun.print.PSPrinterJob$PrinterSpooler.this$0:Lsun/print/PSPrinterJob;
aload 0 /* this */
getfield sun.print.PSPrinterJob$PrinterSpooler.this$0:Lsun/print/PSPrinterJob;
getfield sun.print.PSPrinterJob.mDestination:Ljava/lang/String;
aload 0 /* this */
getfield sun.print.PSPrinterJob$PrinterSpooler.this$0:Lsun/print/PSPrinterJob;
getfield sun.print.PSPrinterJob.mOptions:Ljava/lang/String;
5: .line 684
aload 0 /* this */
getfield sun.print.PSPrinterJob$PrinterSpooler.this$0:Lsun/print/PSPrinterJob;
getfield sun.print.PSPrinterJob.mNoJobSheet:Z
aload 0 /* this */
getfield sun.print.PSPrinterJob$PrinterSpooler.this$0:Lsun/print/PSPrinterJob;
invokevirtual sun.print.PSPrinterJob.getJobNameInt:()Ljava/lang/String;
6: .line 685
iconst_1
aload 1 /* fileName */
7: .line 683
invokevirtual sun.print.PSPrinterJob.printExecCmd:(Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;ILjava/lang/String;)[Ljava/lang/String;
astore 2 /* execCmd */
start local 2 // java.lang.String[] execCmd
8: .line 687
invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
aload 2 /* execCmd */
invokevirtual java.lang.Runtime.exec:([Ljava/lang/String;)Ljava/lang/Process;
astore 3 /* process */
start local 3 // java.lang.Process process
9: .line 688
aload 3 /* process */
invokevirtual java.lang.Process.waitFor:()I
pop
10: .line 689
aload 0 /* this */
getfield sun.print.PSPrinterJob$PrinterSpooler.this$0:Lsun/print/PSPrinterJob;
getfield sun.print.PSPrinterJob.spoolFile:Ljava/io/File;
invokevirtual java.io.File.delete:()Z
pop
end local 3 // java.lang.Process process
end local 2 // java.lang.String[] execCmd
end local 1 // java.lang.String fileName
11: .line 691
goto 17
StackMap locals:
StackMap stack: java.io.IOException
12: astore 1 /* ex */
start local 1 // java.io.IOException ex
13: .line 692
aload 0 /* this */
new java.awt.print.PrinterIOException
dup
aload 1 /* ex */
invokespecial java.awt.print.PrinterIOException.<init>:(Ljava/io/IOException;)V
putfield sun.print.PSPrinterJob$PrinterSpooler.pex:Ljava/awt/print/PrinterException;
end local 1 // java.io.IOException ex
14: goto 17
15: .line 693
StackMap locals:
StackMap stack: java.lang.InterruptedException
astore 1 /* ie */
start local 1 // java.lang.InterruptedException ie
16: .line 694
aload 0 /* this */
new java.awt.print.PrinterException
dup
aload 1 /* ie */
invokevirtual java.lang.InterruptedException.toString:()Ljava/lang/String;
invokespecial java.awt.print.PrinterException.<init>:(Ljava/lang/String;)V
putfield sun.print.PSPrinterJob$PrinterSpooler.pex:Ljava/awt/print/PrinterException;
end local 1 // java.lang.InterruptedException ie
17: .line 696
StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 // sun.print.PSPrinterJob$PrinterSpooler this
LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lsun/print/PSPrinterJob$PrinterSpooler;
4 11 1 fileName Ljava/lang/String;
8 11 2 execCmd [Ljava/lang/String;
9 11 3 process Ljava/lang/Process;
13 14 1 ex Ljava/io/IOException;
16 17 1 ie Ljava/lang/InterruptedException;
Exception table:
from to target type
0 2 12 Class java.io.IOException
3 11 12 Class java.io.IOException
0 2 15 Class java.lang.InterruptedException
3 11 15 Class java.lang.InterruptedException
}
SourceFile: "PSPrinterJob.java"
NestHost: sun.print.PSPrinterJob
InnerClasses:
private PrinterSpooler = sun.print.PSPrinterJob$PrinterSpooler of sun.print.PSPrinterJob