class sun.print.UnixPrintJob$PrinterSpooler implements java.security.PrivilegedAction
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.print.UnixPrintJob$PrinterSpooler
super_class: java.lang.Object
{
javax.print.PrintException pex;
descriptor: Ljavax/print/PrintException;
flags: (0x0000)
final sun.print.UnixPrintJob this$0;
descriptor: Lsun/print/UnixPrintJob;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private void <init>(sun.print.UnixPrintJob);
descriptor: (Lsun/print/UnixPrintJob;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 // sun.print.UnixPrintJob$PrinterSpooler this
0: .line 956
aload 0 /* this */
aload 1
putfield sun.print.UnixPrintJob$PrinterSpooler.this$0:Lsun/print/UnixPrintJob;
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // sun.print.UnixPrintJob$PrinterSpooler this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/print/UnixPrintJob$PrinterSpooler;
MethodParameters:
Name Flags
this$0 final
public java.lang.Object run();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=1
start local 0 // sun.print.UnixPrintJob$PrinterSpooler this
0: .line 964
aload 0 /* this */
getfield sun.print.UnixPrintJob$PrinterSpooler.this$0:Lsun/print/UnixPrintJob;
getfield sun.print.UnixPrintJob.spoolFile:Ljava/io/File;
ifnull 1
aload 0 /* this */
getfield sun.print.UnixPrintJob$PrinterSpooler.this$0:Lsun/print/UnixPrintJob;
getfield sun.print.UnixPrintJob.spoolFile:Ljava/io/File;
invokevirtual java.io.File.exists:()Z
ifne 5
1: .line 965
StackMap locals:
StackMap stack:
aload 0 /* this */
new javax.print.PrintException
dup
ldc "No spool file"
invokespecial javax.print.PrintException.<init>:(Ljava/lang/String;)V
putfield sun.print.UnixPrintJob$PrinterSpooler.pex:Ljavax/print/PrintException;
2: .line 966
aload 0 /* this */
getfield sun.print.UnixPrintJob$PrinterSpooler.this$0:Lsun/print/UnixPrintJob;
bipush 103
invokevirtual sun.print.UnixPrintJob.notifyEvent:(I)V
3: .line 985
aload 0 /* this */
getfield sun.print.UnixPrintJob$PrinterSpooler.this$0:Lsun/print/UnixPrintJob;
bipush 105
invokevirtual sun.print.UnixPrintJob.notifyEvent:(I)V
4: .line 967
aconst_null
areturn
5: .line 969
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.print.UnixPrintJob$PrinterSpooler.this$0:Lsun/print/UnixPrintJob;
getfield sun.print.UnixPrintJob.spoolFile:Ljava/io/File;
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
astore 1 /* fileName */
start local 1 // java.lang.String fileName
6: .line 970
aload 0 /* this */
getfield sun.print.UnixPrintJob$PrinterSpooler.this$0:Lsun/print/UnixPrintJob;
aload 0 /* this */
getfield sun.print.UnixPrintJob$PrinterSpooler.this$0:Lsun/print/UnixPrintJob;
getfield sun.print.UnixPrintJob.mDestination:Ljava/lang/String;
aload 0 /* this */
getfield sun.print.UnixPrintJob$PrinterSpooler.this$0:Lsun/print/UnixPrintJob;
getfield sun.print.UnixPrintJob.mOptions:Ljava/lang/String;
7: .line 971
aload 0 /* this */
getfield sun.print.UnixPrintJob$PrinterSpooler.this$0:Lsun/print/UnixPrintJob;
getfield sun.print.UnixPrintJob.mNoJobSheet:Z
aload 0 /* this */
getfield sun.print.UnixPrintJob$PrinterSpooler.this$0:Lsun/print/UnixPrintJob;
getfield sun.print.UnixPrintJob.jobName:Ljava/lang/String;
aload 0 /* this */
getfield sun.print.UnixPrintJob$PrinterSpooler.this$0:Lsun/print/UnixPrintJob;
getfield sun.print.UnixPrintJob.copies:I
aload 1 /* fileName */
8: .line 970
invokevirtual sun.print.UnixPrintJob.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
9: .line 973
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
10: .line 974
aload 3 /* process */
invokevirtual java.lang.Process.waitFor:()I
pop
11: .line 975
aload 0 /* this */
getfield sun.print.UnixPrintJob$PrinterSpooler.this$0:Lsun/print/UnixPrintJob;
getfield sun.print.UnixPrintJob.spoolFile:Ljava/io/File;
invokevirtual java.io.File.delete:()Z
pop
12: .line 976
aload 0 /* this */
getfield sun.print.UnixPrintJob$PrinterSpooler.this$0:Lsun/print/UnixPrintJob;
bipush 106
invokevirtual sun.print.UnixPrintJob.notifyEvent:(I)V
end local 3 // java.lang.Process process
end local 2 // java.lang.String[] execCmd
end local 1 // java.lang.String fileName
13: .line 977
goto 25
StackMap locals:
StackMap stack: java.io.IOException
14: astore 1 /* ex */
start local 1 // java.io.IOException ex
15: .line 978
aload 0 /* this */
getfield sun.print.UnixPrintJob$PrinterSpooler.this$0:Lsun/print/UnixPrintJob;
bipush 103
invokevirtual sun.print.UnixPrintJob.notifyEvent:(I)V
16: .line 980
aload 0 /* this */
new javax.print.PrintException
dup
aload 1 /* ex */
invokespecial javax.print.PrintException.<init>:(Ljava/lang/Exception;)V
putfield sun.print.UnixPrintJob$PrinterSpooler.pex:Ljavax/print/PrintException;
end local 1 // java.io.IOException ex
17: .line 985
aload 0 /* this */
getfield sun.print.UnixPrintJob$PrinterSpooler.this$0:Lsun/print/UnixPrintJob;
bipush 105
invokevirtual sun.print.UnixPrintJob.notifyEvent:(I)V
goto 26
18: .line 981
StackMap locals:
StackMap stack: java.lang.InterruptedException
astore 1 /* ie */
start local 1 // java.lang.InterruptedException ie
19: .line 982
aload 0 /* this */
getfield sun.print.UnixPrintJob$PrinterSpooler.this$0:Lsun/print/UnixPrintJob;
bipush 103
invokevirtual sun.print.UnixPrintJob.notifyEvent:(I)V
20: .line 983
aload 0 /* this */
new javax.print.PrintException
dup
aload 1 /* ie */
invokespecial javax.print.PrintException.<init>:(Ljava/lang/Exception;)V
putfield sun.print.UnixPrintJob$PrinterSpooler.pex:Ljavax/print/PrintException;
end local 1 // java.lang.InterruptedException ie
21: .line 985
aload 0 /* this */
getfield sun.print.UnixPrintJob$PrinterSpooler.this$0:Lsun/print/UnixPrintJob;
bipush 105
invokevirtual sun.print.UnixPrintJob.notifyEvent:(I)V
goto 26
22: .line 984
StackMap locals:
StackMap stack: java.lang.Throwable
astore 4
23: .line 985
aload 0 /* this */
getfield sun.print.UnixPrintJob$PrinterSpooler.this$0:Lsun/print/UnixPrintJob;
bipush 105
invokevirtual sun.print.UnixPrintJob.notifyEvent:(I)V
24: .line 986
aload 4
athrow
25: .line 985
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.print.UnixPrintJob$PrinterSpooler.this$0:Lsun/print/UnixPrintJob;
bipush 105
invokevirtual sun.print.UnixPrintJob.notifyEvent:(I)V
26: .line 987
StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 // sun.print.UnixPrintJob$PrinterSpooler this
LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lsun/print/UnixPrintJob$PrinterSpooler;
6 13 1 fileName Ljava/lang/String;
9 13 2 execCmd [Ljava/lang/String;
10 13 3 process Ljava/lang/Process;
15 17 1 ex Ljava/io/IOException;
19 21 1 ie Ljava/lang/InterruptedException;
Exception table:
from to target type
0 3 14 Class java.io.IOException
5 13 14 Class java.io.IOException
0 3 18 Class java.lang.InterruptedException
5 13 18 Class java.lang.InterruptedException
0 3 22 any
5 17 22 any
18 21 22 any
}
SourceFile: "UnixPrintJob.java"
NestHost: sun.print.UnixPrintJob
InnerClasses:
private PrinterSpooler = sun.print.UnixPrintJob$PrinterSpooler of sun.print.UnixPrintJob