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 0: aload 0
aload 1
putfield sun.print.PSPrinterJob$PrinterSpooler.this$0:Lsun/print/PSPrinterJob;
aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/print/PSPrinterJob$PrinterSpooler;
MethodParameters:
Name Flags
this$0 final
private void handleProcessFailure(java.lang.Process, java.lang.String[], int);
descriptor: (Ljava/lang/Process;[Ljava/lang/String;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=13, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 4
aconst_null
astore 5
1: new java.io.StringWriter
dup
invokespecial java.io.StringWriter.<init>:()V
astore 6
start local 6 2: new java.io.PrintWriter
dup
aload 6
invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;)V
astore 7
start local 7 3: aload 7
ldc "error="
invokevirtual java.io.PrintWriter.append:(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
iload 3
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
invokevirtual java.io.PrintWriter.append:(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
pop
4: aload 7
ldc " running:"
invokevirtual java.io.PrintWriter.append:(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
pop
5: aload 2
dup
astore 11
arraylength
istore 10
iconst_0
istore 9
goto 9
StackMap locals: sun.print.PSPrinterJob$PrinterSpooler java.lang.Process java.lang.String[] int java.lang.Throwable java.lang.Throwable java.io.StringWriter java.io.PrintWriter top int int java.lang.String[]
StackMap stack:
6: aload 11
iload 9
aaload
astore 8
start local 8 7: aload 7
ldc " '"
invokevirtual java.io.PrintWriter.append:(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
aload 8
invokevirtual java.io.PrintWriter.append:(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
ldc "'"
invokevirtual java.io.PrintWriter.append:(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
pop
end local 8 8: iinc 9 1
StackMap locals:
StackMap stack:
9: iload 9
iload 10
if_icmplt 6
10: aconst_null
astore 8
aconst_null
astore 9
11: aload 1
invokevirtual java.lang.Process.getErrorStream:()Ljava/io/InputStream;
astore 10
start local 10 12: new java.io.InputStreamReader
dup
aload 10
invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
astore 11
start local 11 13: new java.io.BufferedReader
dup
aload 11
invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
astore 12
start local 12 14: goto 17
15: StackMap locals: sun.print.PSPrinterJob$PrinterSpooler java.lang.Process java.lang.String[] int java.lang.Throwable java.lang.Throwable java.io.StringWriter java.io.PrintWriter java.lang.Throwable java.lang.Throwable java.io.InputStream java.io.InputStreamReader java.io.BufferedReader
StackMap stack:
aload 7
invokevirtual java.io.PrintWriter.println:()V
16: aload 7
ldc "\t\t"
invokevirtual java.io.PrintWriter.append:(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
aload 12
invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.append:(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
pop
17: StackMap locals:
StackMap stack:
aload 12
invokevirtual java.io.BufferedReader.ready:()Z
ifne 15
18: aload 12
ifnull 21
aload 12
invokevirtual java.io.BufferedReader.close:()V
goto 21
StackMap locals:
StackMap stack: java.lang.Throwable
19: astore 8
aload 12
ifnull 20
aload 12
invokevirtual java.io.BufferedReader.close:()V
end local 12 StackMap locals:
StackMap stack:
20: aload 8
athrow
StackMap locals:
StackMap stack:
21: aload 11
ifnull 26
aload 11
invokevirtual java.io.InputStreamReader.close:()V
goto 26
StackMap locals:
StackMap stack: java.lang.Throwable
22: astore 9
aload 8
ifnonnull 23
aload 9
astore 8
goto 24
StackMap locals:
StackMap stack:
23: aload 8
aload 9
if_acmpeq 24
aload 8
aload 9
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
24: aload 11
ifnull 25
aload 11
invokevirtual java.io.InputStreamReader.close:()V
end local 11 StackMap locals:
StackMap stack:
25: aload 8
athrow
StackMap locals:
StackMap stack:
26: aload 10
ifnull 35
aload 10
invokevirtual java.io.InputStream.close:()V
goto 35
StackMap locals:
StackMap stack: java.lang.Throwable
27: astore 9
aload 8
ifnonnull 28
aload 9
astore 8
goto 29
StackMap locals:
StackMap stack:
28: aload 8
aload 9
if_acmpeq 29
aload 8
aload 9
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
29: aload 10
ifnull 30
aload 10
invokevirtual java.io.InputStream.close:()V
end local 10 StackMap locals:
StackMap stack:
30: aload 8
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
31: astore 9
aload 8
ifnonnull 32
aload 9
astore 8
goto 33
StackMap locals:
StackMap stack:
32: aload 8
aload 9
if_acmpeq 33
aload 8
aload 9
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
33: aload 8
athrow
StackMap locals: sun.print.PSPrinterJob$PrinterSpooler java.lang.Process java.lang.String[] int java.lang.Throwable java.lang.Throwable java.io.StringWriter java.io.PrintWriter
StackMap stack: java.lang.Throwable
34: pop
35: StackMap locals:
StackMap stack:
aload 7
invokevirtual java.io.PrintWriter.flush:()V
36: new java.io.IOException
dup
aload 6
invokevirtual java.io.StringWriter.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
37: astore 4
38: aload 7
ifnull 39
aload 7
invokevirtual java.io.PrintWriter.close:()V
end local 7 StackMap locals:
StackMap stack:
39: aload 4
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
40: astore 5
aload 4
ifnonnull 41
aload 5
astore 4
goto 42
StackMap locals:
StackMap stack:
41: aload 4
aload 5
if_acmpeq 42
aload 4
aload 5
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
42: aload 6
ifnull 43
aload 6
invokevirtual java.io.StringWriter.close:()V
end local 6 StackMap locals:
StackMap stack:
43: aload 4
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
44: astore 5
aload 4
ifnonnull 45
aload 5
astore 4
goto 46
StackMap locals:
StackMap stack:
45: aload 4
aload 5
if_acmpeq 46
aload 4
aload 5
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
46: aload 4
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 47 0 this Lsun/print/PSPrinterJob$PrinterSpooler;
0 47 1 failedProcess Ljava/lang/Process;
0 47 2 execCmd [Ljava/lang/String;
0 47 3 result I
2 43 6 sw Ljava/io/StringWriter;
3 39 7 pw Ljava/io/PrintWriter;
7 8 8 arg Ljava/lang/String;
12 30 10 is Ljava/io/InputStream;
13 25 11 isr Ljava/io/InputStreamReader;
14 20 12 br Ljava/io/BufferedReader;
Exception table:
from to target type
14 18 19 any
13 21 22 any
12 26 27 any
11 31 31 any
10 34 34 any
3 37 37 any
2 40 40 any
1 44 44 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
failedProcess final
execCmd final
result final
public java.lang.Object run();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=1
start local 0 0: aload 0
getfield sun.print.PSPrinterJob$PrinterSpooler.this$0:Lsun/print/PSPrinterJob;
getfield sun.print.PSPrinterJob.spoolFile:Ljava/io/File;
ifnull 1
aload 0
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: StackMap locals:
StackMap stack:
aload 0
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: aconst_null
areturn
3: StackMap locals:
StackMap stack:
aload 0
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
start local 1 4: aload 0
getfield sun.print.PSPrinterJob$PrinterSpooler.this$0:Lsun/print/PSPrinterJob;
aload 0
getfield sun.print.PSPrinterJob$PrinterSpooler.this$0:Lsun/print/PSPrinterJob;
getfield sun.print.PSPrinterJob.mDestination:Ljava/lang/String;
aload 0
getfield sun.print.PSPrinterJob$PrinterSpooler.this$0:Lsun/print/PSPrinterJob;
getfield sun.print.PSPrinterJob.mOptions:Ljava/lang/String;
5: aload 0
getfield sun.print.PSPrinterJob$PrinterSpooler.this$0:Lsun/print/PSPrinterJob;
getfield sun.print.PSPrinterJob.mNoJobSheet:Z
aload 0
getfield sun.print.PSPrinterJob$PrinterSpooler.this$0:Lsun/print/PSPrinterJob;
invokevirtual sun.print.PSPrinterJob.getJobNameInt:()Ljava/lang/String;
6: iconst_1
aload 1
7: invokevirtual sun.print.PSPrinterJob.printExecCmd:(Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;ILjava/lang/String;)[Ljava/lang/String;
astore 2
start local 2 8: invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
aload 2
invokevirtual java.lang.Runtime.exec:([Ljava/lang/String;)Ljava/lang/Process;
astore 3
start local 3 9: aload 3
invokevirtual java.lang.Process.waitFor:()I
pop
10: aload 3
invokevirtual java.lang.Process.exitValue:()I
istore 4
start local 4 11: iload 4
ifeq 23
12: aload 0
aload 3
aload 2
iload 4
invokevirtual sun.print.PSPrinterJob$PrinterSpooler.handleProcessFailure:(Ljava/lang/Process;[Ljava/lang/String;I)V
end local 4 end local 3 end local 2 end local 1 13: goto 23
StackMap locals:
StackMap stack: java.io.IOException
14: astore 1
start local 1 15: aload 0
new java.awt.print.PrinterIOException
dup
aload 1
invokespecial java.awt.print.PrinterIOException.<init>:(Ljava/io/IOException;)V
putfield sun.print.PSPrinterJob$PrinterSpooler.pex:Ljava/awt/print/PrinterException;
end local 1 16: aload 0
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
goto 24
17: StackMap locals:
StackMap stack: java.lang.InterruptedException
astore 1
start local 1 18: aload 0
new java.awt.print.PrinterException
dup
aload 1
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 19: aload 0
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
goto 24
20: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
21: aload 0
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
22: aload 5
athrow
23: StackMap locals:
StackMap stack:
aload 0
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
24: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lsun/print/PSPrinterJob$PrinterSpooler;
4 13 1 fileName Ljava/lang/String;
8 13 2 execCmd [Ljava/lang/String;
9 13 3 process Ljava/lang/Process;
11 13 4 result I
15 16 1 ex Ljava/io/IOException;
18 19 1 ie Ljava/lang/InterruptedException;
Exception table:
from to target type
3 13 14 Class java.io.IOException
3 13 17 Class java.lang.InterruptedException
3 16 20 any
17 19 20 any
}
SourceFile: "PSPrinterJob.java"
NestHost: sun.print.PSPrinterJob
InnerClasses:
private PrinterSpooler = sun.print.PSPrinterJob$PrinterSpooler of sun.print.PSPrinterJob