public abstract class sun.awt.image.ImageDecoder
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: sun.awt.image.ImageDecoder
super_class: java.lang.Object
{
sun.awt.image.InputStreamImageSource source;
descriptor: Lsun/awt/image/InputStreamImageSource;
flags: (0x0000)
java.io.InputStream input;
descriptor: Ljava/io/InputStream;
flags: (0x0000)
java.lang.Thread feeder;
descriptor: Ljava/lang/Thread;
flags: (0x0000)
protected boolean aborted;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
protected boolean finished;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
sun.awt.image.ImageConsumerQueue queue;
descriptor: Lsun/awt/image/ImageConsumerQueue;
flags: (0x0000)
sun.awt.image.ImageDecoder next;
descriptor: Lsun/awt/image/ImageDecoder;
flags: (0x0000)
public void <init>(sun.awt.image.InputStreamImageSource, java.io.InputStream);
descriptor: (Lsun/awt/image/InputStreamImageSource;Ljava/io/InputStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield sun.awt.image.ImageDecoder.source:Lsun/awt/image/InputStreamImageSource;
2: aload 0
aload 2
putfield sun.awt.image.ImageDecoder.input:Ljava/io/InputStream;
3: aload 0
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
putfield sun.awt.image.ImageDecoder.feeder:Ljava/lang/Thread;
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/awt/image/ImageDecoder;
0 5 1 src Lsun/awt/image/InputStreamImageSource;
0 5 2 is Ljava/io/InputStream;
MethodParameters:
Name Flags
src
is
public boolean isConsumer(java.awt.image.ImageConsumer);
descriptor: (Ljava/awt/image/ImageConsumer;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.awt.image.ImageDecoder.queue:Lsun/awt/image/ImageConsumerQueue;
aload 1
invokestatic sun.awt.image.ImageConsumerQueue.isConsumer:(Lsun/awt/image/ImageConsumerQueue;Ljava/awt/image/ImageConsumer;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/image/ImageDecoder;
0 1 1 ic Ljava/awt/image/ImageConsumer;
MethodParameters:
Name Flags
ic
public void removeConsumer(java.awt.image.ImageConsumer);
descriptor: (Ljava/awt/image/ImageConsumer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield sun.awt.image.ImageDecoder.queue:Lsun/awt/image/ImageConsumerQueue;
aload 1
iconst_0
invokestatic sun.awt.image.ImageConsumerQueue.removeConsumer:(Lsun/awt/image/ImageConsumerQueue;Ljava/awt/image/ImageConsumer;Z)Lsun/awt/image/ImageConsumerQueue;
putfield sun.awt.image.ImageDecoder.queue:Lsun/awt/image/ImageConsumerQueue;
1: aload 0
getfield sun.awt.image.ImageDecoder.finished:Z
ifne 3
aload 0
getfield sun.awt.image.ImageDecoder.queue:Lsun/awt/image/ImageConsumerQueue;
ifnonnull 3
2: aload 0
invokevirtual sun.awt.image.ImageDecoder.abort:()V
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/awt/image/ImageDecoder;
0 4 1 ic Ljava/awt/image/ImageConsumer;
MethodParameters:
Name Flags
ic
protected sun.awt.image.ImageConsumerQueue nextConsumer(sun.awt.image.ImageConsumerQueue);
descriptor: (Lsun/awt/image/ImageConsumerQueue;)Lsun/awt/image/ImageConsumerQueue;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.awt.image.ImageDecoder.source:Lsun/awt/image/InputStreamImageSource;
dup
astore 2
monitorenter
1: aload 0
getfield sun.awt.image.ImageDecoder.aborted:Z
ifeq 4
2: aload 2
monitorexit
3: aconst_null
areturn
4: StackMap locals: sun.awt.image.InputStreamImageSource
StackMap stack:
aload 1
ifnonnull 5
aload 0
getfield sun.awt.image.ImageDecoder.queue:Lsun/awt/image/ImageConsumerQueue;
goto 6
StackMap locals:
StackMap stack:
5: aload 1
getfield sun.awt.image.ImageConsumerQueue.next:Lsun/awt/image/ImageConsumerQueue;
StackMap locals:
StackMap stack: sun.awt.image.ImageConsumerQueue
6: astore 1
7: goto 12
8: StackMap locals:
StackMap stack:
aload 1
getfield sun.awt.image.ImageConsumerQueue.interested:Z
ifeq 11
9: aload 1
aload 2
monitorexit
10: areturn
11: StackMap locals:
StackMap stack:
aload 1
getfield sun.awt.image.ImageConsumerQueue.next:Lsun/awt/image/ImageConsumerQueue;
astore 1
12: StackMap locals:
StackMap stack:
aload 1
ifnonnull 8
13: aload 2
monitorexit
14: goto 17
StackMap locals:
StackMap stack: java.lang.Throwable
15: aload 2
monitorexit
16: athrow
17: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lsun/awt/image/ImageDecoder;
0 18 1 cq Lsun/awt/image/ImageConsumerQueue;
Exception table:
from to target type
1 3 15 any
4 10 15 any
11 14 15 any
15 16 15 any
MethodParameters:
Name Flags
cq
protected int setDimensions(int, int);
descriptor: (II)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: iconst_0
istore 4
start local 4 2: goto 5
3: StackMap locals: sun.awt.image.ImageConsumerQueue int
StackMap stack:
aload 3
getfield sun.awt.image.ImageConsumerQueue.consumer:Ljava/awt/image/ImageConsumer;
iload 1
iload 2
invokeinterface java.awt.image.ImageConsumer.setDimensions:(II)V
4: iinc 4 1
5: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual sun.awt.image.ImageDecoder.nextConsumer:(Lsun/awt/image/ImageConsumerQueue;)Lsun/awt/image/ImageConsumerQueue;
dup
astore 3
ifnonnull 3
6: iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/awt/image/ImageDecoder;
0 7 1 w I
0 7 2 h I
1 7 3 cq Lsun/awt/image/ImageConsumerQueue;
2 7 4 count I
MethodParameters:
Name Flags
w
h
protected int setProperties(java.util.Hashtable<?, ?>);
descriptor: (Ljava/util/Hashtable;)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 5
3: StackMap locals: sun.awt.image.ImageConsumerQueue int
StackMap stack:
aload 2
getfield sun.awt.image.ImageConsumerQueue.consumer:Ljava/awt/image/ImageConsumer;
aload 1
invokeinterface java.awt.image.ImageConsumer.setProperties:(Ljava/util/Hashtable;)V
4: iinc 3 1
5: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual sun.awt.image.ImageDecoder.nextConsumer:(Lsun/awt/image/ImageConsumerQueue;)Lsun/awt/image/ImageConsumerQueue;
dup
astore 2
ifnonnull 3
6: iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/awt/image/ImageDecoder;
0 7 1 props Ljava/util/Hashtable<**>;
1 7 2 cq Lsun/awt/image/ImageConsumerQueue;
2 7 3 count I
Signature: (Ljava/util/Hashtable<**>;)I
MethodParameters:
Name Flags
props
protected int setColorModel(java.awt.image.ColorModel);
descriptor: (Ljava/awt/image/ColorModel;)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 5
3: StackMap locals: sun.awt.image.ImageConsumerQueue int
StackMap stack:
aload 2
getfield sun.awt.image.ImageConsumerQueue.consumer:Ljava/awt/image/ImageConsumer;
aload 1
invokeinterface java.awt.image.ImageConsumer.setColorModel:(Ljava/awt/image/ColorModel;)V
4: iinc 3 1
5: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual sun.awt.image.ImageDecoder.nextConsumer:(Lsun/awt/image/ImageConsumerQueue;)Lsun/awt/image/ImageConsumerQueue;
dup
astore 2
ifnonnull 3
6: iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/awt/image/ImageDecoder;
0 7 1 model Ljava/awt/image/ColorModel;
1 7 2 cq Lsun/awt/image/ImageConsumerQueue;
2 7 3 count I
MethodParameters:
Name Flags
model
protected int setHints(int);
descriptor: (I)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 5
3: StackMap locals: sun.awt.image.ImageConsumerQueue int
StackMap stack:
aload 2
getfield sun.awt.image.ImageConsumerQueue.consumer:Ljava/awt/image/ImageConsumer;
iload 1
invokeinterface java.awt.image.ImageConsumer.setHints:(I)V
4: iinc 3 1
5: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual sun.awt.image.ImageDecoder.nextConsumer:(Lsun/awt/image/ImageConsumerQueue;)Lsun/awt/image/ImageConsumerQueue;
dup
astore 2
ifnonnull 3
6: iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/awt/image/ImageDecoder;
0 7 1 hints I
1 7 2 cq Lsun/awt/image/ImageConsumerQueue;
2 7 3 count I
MethodParameters:
Name Flags
hints
protected void ();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.awt.image.ImageDecoder.feeder:Ljava/lang/Thread;
iconst_3
invokevirtual java.lang.Thread.setPriority:(I)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/awt/image/ImageDecoder;
protected int setPixels(int, int, int, int, java.awt.image.ColorModel, byte[], int, int);
descriptor: (IIIILjava/awt/image/ColorModel;[BII)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=9, locals=11, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: aload 0
getfield sun.awt.image.ImageDecoder.source:Lsun/awt/image/InputStreamImageSource;
aload 0
invokevirtual sun.awt.image.InputStreamImageSource.latchConsumers:(Lsun/awt/image/ImageDecoder;)V
1: aconst_null
astore 9
start local 9 2: iconst_0
istore 10
start local 10 3: goto 6
4: StackMap locals: sun.awt.image.ImageConsumerQueue int
StackMap stack:
aload 9
getfield sun.awt.image.ImageConsumerQueue.consumer:Ljava/awt/image/ImageConsumer;
iload 1
iload 2
iload 3
iload 4
aload 5
aload 6
iload 7
iload 8
invokeinterface java.awt.image.ImageConsumer.setPixels:(IIIILjava/awt/image/ColorModel;[BII)V
5: iinc 10 1
6: StackMap locals:
StackMap stack:
aload 0
aload 9
invokevirtual sun.awt.image.ImageDecoder.nextConsumer:(Lsun/awt/image/ImageConsumerQueue;)Lsun/awt/image/ImageConsumerQueue;
dup
astore 9
ifnonnull 4
7: iload 10
ireturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/awt/image/ImageDecoder;
0 8 1 x I
0 8 2 y I
0 8 3 w I
0 8 4 h I
0 8 5 model Ljava/awt/image/ColorModel;
0 8 6 pix [B
0 8 7 off I
0 8 8 scansize I
2 8 9 cq Lsun/awt/image/ImageConsumerQueue;
3 8 10 count I
MethodParameters:
Name Flags
x
y
w
h
model
pix
off
scansize
protected int setPixels(int, int, int, int, java.awt.image.ColorModel, int[], int, int);
descriptor: (IIIILjava/awt/image/ColorModel;[III)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=9, locals=11, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: aload 0
getfield sun.awt.image.ImageDecoder.source:Lsun/awt/image/InputStreamImageSource;
aload 0
invokevirtual sun.awt.image.InputStreamImageSource.latchConsumers:(Lsun/awt/image/ImageDecoder;)V
1: aconst_null
astore 9
start local 9 2: iconst_0
istore 10
start local 10 3: goto 6
4: StackMap locals: sun.awt.image.ImageConsumerQueue int
StackMap stack:
aload 9
getfield sun.awt.image.ImageConsumerQueue.consumer:Ljava/awt/image/ImageConsumer;
iload 1
iload 2
iload 3
iload 4
aload 5
aload 6
iload 7
iload 8
invokeinterface java.awt.image.ImageConsumer.setPixels:(IIIILjava/awt/image/ColorModel;[III)V
5: iinc 10 1
6: StackMap locals:
StackMap stack:
aload 0
aload 9
invokevirtual sun.awt.image.ImageDecoder.nextConsumer:(Lsun/awt/image/ImageConsumerQueue;)Lsun/awt/image/ImageConsumerQueue;
dup
astore 9
ifnonnull 4
7: iload 10
ireturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/awt/image/ImageDecoder;
0 8 1 x I
0 8 2 y I
0 8 3 w I
0 8 4 h I
0 8 5 model Ljava/awt/image/ColorModel;
0 8 6 pix [I
0 8 7 off I
0 8 8 scansize I
2 8 9 cq Lsun/awt/image/ImageConsumerQueue;
3 8 10 count I
MethodParameters:
Name Flags
x
y
w
h
model
pix
off
scansize
protected int imageComplete(int, boolean);
descriptor: (IZ)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.awt.image.ImageDecoder.source:Lsun/awt/image/InputStreamImageSource;
aload 0
invokevirtual sun.awt.image.InputStreamImageSource.latchConsumers:(Lsun/awt/image/ImageDecoder;)V
1: iload 2
ifeq 4
2: aload 0
iconst_1
putfield sun.awt.image.ImageDecoder.finished:Z
3: aload 0
getfield sun.awt.image.ImageDecoder.source:Lsun/awt/image/InputStreamImageSource;
aload 0
invokevirtual sun.awt.image.InputStreamImageSource.doneDecoding:(Lsun/awt/image/ImageDecoder;)V
4: StackMap locals:
StackMap stack:
aconst_null
astore 3
start local 3 5: iconst_0
istore 4
start local 4 6: goto 9
7: StackMap locals: sun.awt.image.ImageConsumerQueue int
StackMap stack:
aload 3
getfield sun.awt.image.ImageConsumerQueue.consumer:Ljava/awt/image/ImageConsumer;
iload 1
invokeinterface java.awt.image.ImageConsumer.imageComplete:(I)V
8: iinc 4 1
9: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual sun.awt.image.ImageDecoder.nextConsumer:(Lsun/awt/image/ImageConsumerQueue;)Lsun/awt/image/ImageConsumerQueue;
dup
astore 3
ifnonnull 7
10: iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/awt/image/ImageDecoder;
0 11 1 status I
0 11 2 done Z
5 11 3 cq Lsun/awt/image/ImageConsumerQueue;
6 11 4 count I
MethodParameters:
Name Flags
status
done
public abstract void produceImage();
descriptor: ()V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Exceptions:
throws java.io.IOException, sun.awt.image.ImageFormatException
public void abort();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield sun.awt.image.ImageDecoder.aborted:Z
1: aload 0
getfield sun.awt.image.ImageDecoder.source:Lsun/awt/image/InputStreamImageSource;
aload 0
invokevirtual sun.awt.image.InputStreamImageSource.doneDecoding:(Lsun/awt/image/ImageDecoder;)V
2: aload 0
invokevirtual sun.awt.image.ImageDecoder.close:()V
3: new sun.awt.image.ImageDecoder$1
dup
aload 0
invokespecial sun.awt.image.ImageDecoder$1.<init>:(Lsun/awt/image/ImageDecoder;)V
4: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/awt/image/ImageDecoder;
public synchronized void close();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.awt.image.ImageDecoder.input:Ljava/io/InputStream;
ifnull 4
1: aload 0
getfield sun.awt.image.ImageDecoder.input:Ljava/io/InputStream;
invokevirtual java.io.InputStream.close:()V
2: goto 4
StackMap locals:
StackMap stack: java.io.IOException
3: pop
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/awt/image/ImageDecoder;
Exception table:
from to target type
1 2 3 Class java.io.IOException
}
SourceFile: "ImageDecoder.java"
NestMembers:
sun.awt.image.ImageDecoder$1
InnerClasses:
sun.awt.image.ImageDecoder$1