class sun.print.PrintJob2D$MessageQ
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.print.PrintJob2D$MessageQ
super_class: java.lang.Object
{
private java.lang.String qid;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.util.ArrayList<java.awt.Graphics2D> queue;
descriptor: Ljava/util/ArrayList;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/ArrayList<Ljava/awt/Graphics2D;>;
final sun.print.PrintJob2D this$0;
descriptor: Lsun/print/PrintJob2D;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(sun.print.PrintJob2D, java.lang.String);
descriptor: (Lsun/print/PrintJob2D;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 2 0: aload 0
aload 1
putfield sun.print.PrintJob2D$MessageQ.this$0:Lsun/print/PrintJob2D;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
ldc "noname"
putfield sun.print.PrintJob2D$MessageQ.qid:Ljava/lang/String;
2: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield sun.print.PrintJob2D$MessageQ.queue:Ljava/util/ArrayList;
3: aload 0
aload 2
putfield sun.print.PrintJob2D$MessageQ.qid:Ljava/lang/String;
4: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/print/PrintJob2D$MessageQ;
0 5 2 id Ljava/lang/String;
MethodParameters:
Name Flags
this$0 final
id
synchronized void closeWhenEmpty();
descriptor: ()V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=3, locals=1, args_size=1
start local 0 0: goto 4
1: StackMap locals:
StackMap stack:
aload 0
ldc 1000
invokevirtual java.lang.Object.wait:(J)V
2: goto 4
StackMap locals:
StackMap stack: java.lang.InterruptedException
3: pop
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.print.PrintJob2D$MessageQ.queue:Ljava/util/ArrayList;
ifnull 5
aload 0
getfield sun.print.PrintJob2D$MessageQ.queue:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
ifgt 1
5: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield sun.print.PrintJob2D$MessageQ.queue:Ljava/util/ArrayList;
6: aload 0
invokevirtual java.lang.Object.notifyAll:()V
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/print/PrintJob2D$MessageQ;
Exception table:
from to target type
1 2 3 Class java.lang.InterruptedException
synchronized void close();
descriptor: ()V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
putfield sun.print.PrintJob2D$MessageQ.queue:Ljava/util/ArrayList;
1: aload 0
invokevirtual java.lang.Object.notifyAll:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/print/PrintJob2D$MessageQ;
synchronized boolean append(java.awt.Graphics2D);
descriptor: (Ljava/awt/Graphics2D;)Z
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 0
getfield sun.print.PrintJob2D$MessageQ.queue:Ljava/util/ArrayList;
ifnull 5
2: aload 0
getfield sun.print.PrintJob2D$MessageQ.queue:Ljava/util/ArrayList;
aload 1
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
3: iconst_1
istore 2
4: aload 0
invokevirtual java.lang.Object.notify:()V
5: StackMap locals: int
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/print/PrintJob2D$MessageQ;
0 6 1 g Ljava/awt/Graphics2D;
1 6 2 queued Z
MethodParameters:
Name Flags
g
synchronized java.awt.Graphics2D pop();
descriptor: ()Ljava/awt/Graphics2D;
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: goto 9
2: StackMap locals: java.awt.Graphics2D
StackMap stack:
aload 0
getfield sun.print.PrintJob2D$MessageQ.queue:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
ifle 6
3: aload 0
getfield sun.print.PrintJob2D$MessageQ.queue:Ljava/util/ArrayList;
iconst_0
invokevirtual java.util.ArrayList.remove:(I)Ljava/lang/Object;
checkcast java.awt.Graphics2D
astore 1
4: aload 0
invokevirtual java.lang.Object.notify:()V
5: goto 9
6: StackMap locals:
StackMap stack:
aload 0
ldc 2000
invokevirtual java.lang.Object.wait:(J)V
7: goto 9
StackMap locals:
StackMap stack: java.lang.InterruptedException
8: pop
9: StackMap locals:
StackMap stack:
aload 1
ifnonnull 10
aload 0
getfield sun.print.PrintJob2D$MessageQ.queue:Ljava/util/ArrayList;
ifnonnull 2
10: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/print/PrintJob2D$MessageQ;
1 11 1 g Ljava/awt/Graphics2D;
Exception table:
from to target type
6 7 8 Class java.lang.InterruptedException
synchronized boolean isClosed();
descriptor: ()Z
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.print.PrintJob2D$MessageQ.queue:Ljava/util/ArrayList;
ifnonnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/print/PrintJob2D$MessageQ;
}
SourceFile: "PrintJob2D.java"
NestHost: sun.print.PrintJob2D
InnerClasses:
private MessageQ = sun.print.PrintJob2D$MessageQ of sun.print.PrintJob2D