public class com.sun.imageio.plugins.gif.GIFImageReader extends javax.imageio.ImageReader
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.imageio.plugins.gif.GIFImageReader
super_class: javax.imageio.ImageReader
{
javax.imageio.stream.ImageInputStream stream;
descriptor: Ljavax/imageio/stream/ImageInputStream;
flags: (0x0000)
boolean ;
descriptor: Z
flags: (0x0000)
com.sun.imageio.plugins.gif.GIFStreamMetadata streamMetadata;
descriptor: Lcom/sun/imageio/plugins/gif/GIFStreamMetadata;
flags: (0x0000)
int currIndex;
descriptor: I
flags: (0x0000)
com.sun.imageio.plugins.gif.GIFImageMetadata imageMetadata;
descriptor: Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
flags: (0x0000)
java.util.List imageStartPosition;
descriptor: Ljava/util/List;
flags: (0x0000)
int imageMetadataLength;
descriptor: I
flags: (0x0000)
int numImages;
descriptor: I
flags: (0x0000)
byte[] block;
descriptor: [B
flags: (0x0000)
int blockLength;
descriptor: I
flags: (0x0000)
int bitPos;
descriptor: I
flags: (0x0000)
int nextByte;
descriptor: I
flags: (0x0000)
int initCodeSize;
descriptor: I
flags: (0x0000)
int clearCode;
descriptor: I
flags: (0x0000)
int eofCode;
descriptor: I
flags: (0x0000)
int next32Bits;
descriptor: I
flags: (0x0000)
boolean lastBlockFound;
descriptor: Z
flags: (0x0000)
java.awt.image.BufferedImage theImage;
descriptor: Ljava/awt/image/BufferedImage;
flags: (0x0000)
java.awt.image.WritableRaster theTile;
descriptor: Ljava/awt/image/WritableRaster;
flags: (0x0000)
int width;
descriptor: I
flags: (0x0000)
int height;
descriptor: I
flags: (0x0000)
int streamX;
descriptor: I
flags: (0x0000)
int streamY;
descriptor: I
flags: (0x0000)
int rowsDone;
descriptor: I
flags: (0x0000)
int interlacePass;
descriptor: I
flags: (0x0000)
static final int[] interlaceIncrement;
descriptor: [I
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final int[] interlaceOffset;
descriptor: [I
flags: (0x0018) ACC_STATIC, ACC_FINAL
java.awt.Rectangle sourceRegion;
descriptor: Ljava/awt/Rectangle;
flags: (0x0000)
int sourceXSubsampling;
descriptor: I
flags: (0x0000)
int sourceYSubsampling;
descriptor: I
flags: (0x0000)
int sourceMinProgressivePass;
descriptor: I
flags: (0x0000)
int sourceMaxProgressivePass;
descriptor: I
flags: (0x0000)
java.awt.Point destinationOffset;
descriptor: Ljava/awt/Point;
flags: (0x0000)
java.awt.Rectangle destinationRegion;
descriptor: Ljava/awt/Rectangle;
flags: (0x0000)
int updateMinY;
descriptor: I
flags: (0x0000)
int updateYStep;
descriptor: I
flags: (0x0000)
boolean decodeThisRow;
descriptor: Z
flags: (0x0000)
int destY;
descriptor: I
flags: (0x0000)
byte[] rowBuf;
descriptor: [B
flags: (0x0000)
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: iconst_5
newarray 10
dup
iconst_0
bipush 8
iastore
dup
iconst_1
bipush 8
iastore
dup
iconst_2
iconst_4
iastore
dup
iconst_3
iconst_2
iastore
dup
iconst_4
iconst_m1
iastore
putstatic com.sun.imageio.plugins.gif.GIFImageReader.interlaceIncrement:[I
1: iconst_5
newarray 10
dup
iconst_1
iconst_4
iastore
dup
iconst_2
iconst_2
iastore
dup
iconst_3
iconst_1
iastore
dup
iconst_4
iconst_m1
iastore
putstatic com.sun.imageio.plugins.gif.GIFImageReader.interlaceOffset:[I
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(javax.imageio.spi.ImageReaderSpi);
descriptor: (Ljavax/imageio/spi/ImageReaderSpi;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial javax.imageio.ImageReader.<init>:(Ljavax/imageio/spi/ImageReaderSpi;)V
1: aload 0
aconst_null
putfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
2: aload 0
iconst_0
putfield com.sun.imageio.plugins.gif.GIFImageReader.gotHeader:Z
3: aload 0
aconst_null
putfield com.sun.imageio.plugins.gif.GIFImageReader.streamMetadata:Lcom/sun/imageio/plugins/gif/GIFStreamMetadata;
4: aload 0
iconst_m1
putfield com.sun.imageio.plugins.gif.GIFImageReader.currIndex:I
5: aload 0
aconst_null
putfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
6: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.sun.imageio.plugins.gif.GIFImageReader.imageStartPosition:Ljava/util/List;
7: aload 0
iconst_m1
putfield com.sun.imageio.plugins.gif.GIFImageReader.numImages:I
8: aload 0
sipush 255
newarray 8
putfield com.sun.imageio.plugins.gif.GIFImageReader.block:[B
9: aload 0
iconst_0
putfield com.sun.imageio.plugins.gif.GIFImageReader.blockLength:I
10: aload 0
iconst_0
putfield com.sun.imageio.plugins.gif.GIFImageReader.bitPos:I
11: aload 0
iconst_0
putfield com.sun.imageio.plugins.gif.GIFImageReader.nextByte:I
12: aload 0
iconst_0
putfield com.sun.imageio.plugins.gif.GIFImageReader.next32Bits:I
13: aload 0
iconst_0
putfield com.sun.imageio.plugins.gif.GIFImageReader.lastBlockFound:Z
14: aload 0
aconst_null
putfield com.sun.imageio.plugins.gif.GIFImageReader.theImage:Ljava/awt/image/BufferedImage;
15: aload 0
aconst_null
putfield com.sun.imageio.plugins.gif.GIFImageReader.theTile:Ljava/awt/image/WritableRaster;
16: aload 0
iconst_m1
putfield com.sun.imageio.plugins.gif.GIFImageReader.width:I
aload 0
iconst_m1
putfield com.sun.imageio.plugins.gif.GIFImageReader.height:I
17: aload 0
iconst_m1
putfield com.sun.imageio.plugins.gif.GIFImageReader.streamX:I
aload 0
iconst_m1
putfield com.sun.imageio.plugins.gif.GIFImageReader.streamY:I
18: aload 0
iconst_0
putfield com.sun.imageio.plugins.gif.GIFImageReader.rowsDone:I
19: aload 0
iconst_0
putfield com.sun.imageio.plugins.gif.GIFImageReader.interlacePass:I
20: aload 0
iconst_1
putfield com.sun.imageio.plugins.gif.GIFImageReader.decodeThisRow:Z
21: aload 0
iconst_0
putfield com.sun.imageio.plugins.gif.GIFImageReader.destY:I
22: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lcom/sun/imageio/plugins/gif/GIFImageReader;
0 23 1 originatingProvider Ljavax/imageio/spi/ImageReaderSpi;
MethodParameters:
Name Flags
originatingProvider
public void setInput(java.lang.Object, boolean, boolean);
descriptor: (Ljava/lang/Object;ZZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
iload 3
invokespecial javax.imageio.ImageReader.setInput:(Ljava/lang/Object;ZZ)V
1: aload 1
ifnull 8
2: aload 1
instanceof javax.imageio.stream.ImageInputStream
ifne 6
3: new java.lang.IllegalArgumentException
dup
4: ldc "input not an ImageInputStream!"
5: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
aload 1
checkcast javax.imageio.stream.ImageInputStream
putfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
7: goto 9
8: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
9: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.resetStreamSettings:()V
10: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/sun/imageio/plugins/gif/GIFImageReader;
0 11 1 input Ljava/lang/Object;
0 11 2 seekForwardOnly Z
0 11 3 ignoreMetadata Z
MethodParameters:
Name Flags
input
seekForwardOnly
ignoreMetadata
public int getNumImages(boolean);
descriptor: (Z)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
ifnonnull 2
1: new java.lang.IllegalStateException
dup
ldc "Input not set!"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.seekForwardOnly:Z
ifeq 6
iload 1
ifeq 6
3: new java.lang.IllegalStateException
dup
4: ldc "seekForwardOnly and allowSearch can't both be true!"
5: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.numImages:I
ifle 8
7: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.numImages:I
ireturn
8: StackMap locals:
StackMap stack:
iload 1
ifeq 10
9: aload 0
aload 0
ldc 2147483647
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.locateImage:(I)I
iconst_1
iadd
putfield com.sun.imageio.plugins.gif.GIFImageReader.numImages:I
10: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.numImages:I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/sun/imageio/plugins/gif/GIFImageReader;
0 11 1 allowSearch Z
Exceptions:
throws javax.imageio.IIOException
MethodParameters:
Name Flags
allowSearch
private void checkIndex(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.minIndex:I
if_icmpge 2
1: new java.lang.IndexOutOfBoundsException
dup
ldc "imageIndex < minIndex!"
invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.seekForwardOnly:Z
ifeq 4
3: aload 0
iload 1
putfield com.sun.imageio.plugins.gif.GIFImageReader.minIndex:I
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/imageio/plugins/gif/GIFImageReader;
0 5 1 imageIndex I
MethodParameters:
Name Flags
imageIndex
public int getWidth(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.checkIndex:(I)V
1: aload 0
iload 1
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.locateImage:(I)I
istore 2
start local 2 2: iload 2
iload 1
if_icmpeq 4
3: new java.lang.IndexOutOfBoundsException
dup
invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
athrow
4: StackMap locals: int
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.readMetadata:()V
5: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
getfield com.sun.imageio.plugins.gif.GIFImageMetadata.imageWidth:I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/imageio/plugins/gif/GIFImageReader;
0 6 1 imageIndex I
2 6 2 index I
Exceptions:
throws javax.imageio.IIOException
MethodParameters:
Name Flags
imageIndex
public int getHeight(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.checkIndex:(I)V
1: aload 0
iload 1
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.locateImage:(I)I
istore 2
start local 2 2: iload 2
iload 1
if_icmpeq 4
3: new java.lang.IndexOutOfBoundsException
dup
invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
athrow
4: StackMap locals: int
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.readMetadata:()V
5: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
getfield com.sun.imageio.plugins.gif.GIFImageMetadata.imageHeight:I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/imageio/plugins/gif/GIFImageReader;
0 6 1 imageIndex I
2 6 2 index I
Exceptions:
throws javax.imageio.IIOException
MethodParameters:
Name Flags
imageIndex
public java.util.Iterator getImageTypes(int);
descriptor: (I)Ljava/util/Iterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=14, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.checkIndex:(I)V
1: aload 0
iload 1
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.locateImage:(I)I
istore 2
start local 2 2: iload 2
iload 1
if_icmpeq 4
3: new java.lang.IndexOutOfBoundsException
dup
invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
athrow
4: StackMap locals: int
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.readMetadata:()V
5: new java.util.ArrayList
dup
iconst_1
invokespecial java.util.ArrayList.<init>:(I)V
astore 3
start local 3 6: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
getfield com.sun.imageio.plugins.gif.GIFImageMetadata.localColorTable:[B
ifnull 9
7: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
getfield com.sun.imageio.plugins.gif.GIFImageMetadata.localColorTable:[B
astore 4
start local 4 8: goto 10
end local 4 9: StackMap locals: java.util.List
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.streamMetadata:Lcom/sun/imageio/plugins/gif/GIFStreamMetadata;
getfield com.sun.imageio.plugins.gif.GIFStreamMetadata.globalColorTable:[B
astore 4
start local 4 10: StackMap locals: byte[]
StackMap stack:
aload 4
arraylength
iconst_3
idiv
istore 5
start local 5 11: iload 5
iconst_2
if_icmpne 14
12: iconst_1
istore 6
start local 6 13: goto 21
end local 6 StackMap locals: int
StackMap stack:
14: iload 5
iconst_4
if_icmpne 17
15: iconst_2
istore 6
start local 6 16: goto 21
end local 6 StackMap locals:
StackMap stack:
17: iload 5
bipush 8
if_icmpeq 18
iload 5
bipush 16
if_icmpne 20
18: StackMap locals:
StackMap stack:
iconst_4
istore 6
start local 6 19: goto 21
end local 6 20: StackMap locals:
StackMap stack:
bipush 8
istore 6
start local 6 21: StackMap locals: int
StackMap stack:
iconst_1
iload 6
ishl
istore 7
start local 7 22: iload 7
newarray 8
astore 8
start local 8 23: iload 7
newarray 8
astore 9
start local 9 24: iload 7
newarray 8
astore 10
start local 10 25: iconst_0
istore 11
start local 11 26: iconst_0
istore 12
start local 12 27: goto 32
28: StackMap locals: com.sun.imageio.plugins.gif.GIFImageReader int int java.util.List byte[] int int int byte[] byte[] byte[] int int
StackMap stack:
aload 8
iload 12
aload 4
iload 11
iinc 11 1
baload
bastore
29: aload 9
iload 12
aload 4
iload 11
iinc 11 1
baload
bastore
30: aload 10
iload 12
aload 4
iload 11
iinc 11 1
baload
bastore
31: iinc 12 1
StackMap locals:
StackMap stack:
32: iload 12
iload 5
if_icmplt 28
end local 12 33: aconst_null
astore 12
start local 12 34: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
getfield com.sun.imageio.plugins.gif.GIFImageMetadata.transparentColorFlag:Z
ifeq 41
35: iload 7
newarray 8
astore 12
36: aload 12
iconst_m1
invokestatic java.util.Arrays.fill:([BB)V
37: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
getfield com.sun.imageio.plugins.gif.GIFImageMetadata.transparentColorIndex:I
38: iload 7
iconst_1
isub
39: invokestatic java.lang.Math.min:(II)I
istore 13
start local 13 40: aload 12
iload 13
iconst_0
bastore
end local 13 41: StackMap locals: com.sun.imageio.plugins.gif.GIFImageReader int int java.util.List byte[] int int int byte[] byte[] byte[] int byte[]
StackMap stack:
iconst_1
newarray 10
astore 13
start local 13 42: aload 13
iconst_0
iload 6
iastore
43: aload 3
aload 8
aload 9
aload 10
aload 12
iload 6
44: iconst_0
45: invokestatic javax.imageio.ImageTypeSpecifier.createIndexed:([B[B[B[BII)Ljavax/imageio/ImageTypeSpecifier;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
46: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
areturn
end local 13 end local 12 end local 11 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 47 0 this Lcom/sun/imageio/plugins/gif/GIFImageReader;
0 47 1 imageIndex I
2 47 2 index I
6 47 3 l Ljava/util/List;
8 9 4 colorTable [B
10 47 4 colorTable [B
11 47 5 length I
13 14 6 bits I
16 17 6 bits I
19 20 6 bits I
21 47 6 bits I
22 47 7 lutLength I
23 47 8 r [B
24 47 9 g [B
25 47 10 b [B
26 47 11 rgbIndex I
27 33 12 i I
34 47 12 a [B
40 41 13 idx I
42 47 13 bitsPerSample [I
Exceptions:
throws javax.imageio.IIOException
MethodParameters:
Name Flags
imageIndex
public javax.imageio.ImageReadParam getDefaultReadParam();
descriptor: ()Ljavax/imageio/ImageReadParam;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: new javax.imageio.ImageReadParam
dup
invokespecial javax.imageio.ImageReadParam.<init>:()V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/imageio/plugins/gif/GIFImageReader;
public javax.imageio.metadata.IIOMetadata getStreamMetadata();
descriptor: ()Ljavax/imageio/metadata/IIOMetadata;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.readHeader:()V
1: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.streamMetadata:Lcom/sun/imageio/plugins/gif/GIFStreamMetadata;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/imageio/plugins/gif/GIFImageReader;
Exceptions:
throws javax.imageio.IIOException
public javax.imageio.metadata.IIOMetadata getImageMetadata(int);
descriptor: (I)Ljavax/imageio/metadata/IIOMetadata;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.checkIndex:(I)V
1: aload 0
iload 1
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.locateImage:(I)I
istore 2
start local 2 2: iload 2
iload 1
if_icmpeq 4
3: new java.lang.IndexOutOfBoundsException
dup
ldc "Bad image index!"
invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: int
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.readMetadata:()V
5: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/imageio/plugins/gif/GIFImageReader;
0 6 1 imageIndex I
2 6 2 index I
Exceptions:
throws javax.imageio.IIOException
MethodParameters:
Name Flags
imageIndex
private void initNext32Bits();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.block:[B
iconst_0
baload
sipush 255
iand
putfield com.sun.imageio.plugins.gif.GIFImageReader.next32Bits:I
1: aload 0
dup
getfield com.sun.imageio.plugins.gif.GIFImageReader.next32Bits:I
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.block:[B
iconst_1
baload
sipush 255
iand
bipush 8
ishl
ior
putfield com.sun.imageio.plugins.gif.GIFImageReader.next32Bits:I
2: aload 0
dup
getfield com.sun.imageio.plugins.gif.GIFImageReader.next32Bits:I
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.block:[B
iconst_2
baload
sipush 255
iand
bipush 16
ishl
ior
putfield com.sun.imageio.plugins.gif.GIFImageReader.next32Bits:I
3: aload 0
dup
getfield com.sun.imageio.plugins.gif.GIFImageReader.next32Bits:I
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.block:[B
iconst_3
baload
bipush 24
ishl
ior
putfield com.sun.imageio.plugins.gif.GIFImageReader.next32Bits:I
4: aload 0
iconst_4
putfield com.sun.imageio.plugins.gif.GIFImageReader.nextByte:I
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/imageio/plugins/gif/GIFImageReader;
private int getCode(int, int);
descriptor: (II)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.bitPos:I
iload 1
iadd
bipush 32
if_icmple 2
1: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.eofCode:I
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.next32Bits:I
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.bitPos:I
ishr
iload 2
iand
istore 3
start local 3 3: aload 0
dup
getfield com.sun.imageio.plugins.gif.GIFImageReader.bitPos:I
iload 1
iadd
putfield com.sun.imageio.plugins.gif.GIFImageReader.bitPos:I
4: goto 21
5: StackMap locals: int
StackMap stack:
aload 0
dup
getfield com.sun.imageio.plugins.gif.GIFImageReader.next32Bits:I
bipush 8
iushr
putfield com.sun.imageio.plugins.gif.GIFImageReader.next32Bits:I
6: aload 0
dup
getfield com.sun.imageio.plugins.gif.GIFImageReader.bitPos:I
bipush 8
isub
putfield com.sun.imageio.plugins.gif.GIFImageReader.bitPos:I
7: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.nextByte:I
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.blockLength:I
if_icmplt 20
8: aload 0
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
putfield com.sun.imageio.plugins.gif.GIFImageReader.blockLength:I
9: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.blockLength:I
ifne 12
10: aload 0
iconst_1
putfield com.sun.imageio.plugins.gif.GIFImageReader.lastBlockFound:Z
11: iload 3
ireturn
12: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.blockLength:I
istore 4
start local 4 13: iconst_0
istore 5
start local 5 14: goto 18
15: StackMap locals: int int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.block:[B
iload 5
iload 4
invokeinterface javax.imageio.stream.ImageInputStream.read:([BII)I
istore 6
start local 6 16: iload 5
iload 6
iadd
istore 5
17: iload 4
iload 6
isub
istore 4
end local 6 18: StackMap locals:
StackMap stack:
iload 4
ifgt 15
19: aload 0
iconst_0
putfield com.sun.imageio.plugins.gif.GIFImageReader.nextByte:I
end local 5 end local 4 20: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.sun.imageio.plugins.gif.GIFImageReader.next32Bits:I
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.block:[B
aload 0
dup
getfield com.sun.imageio.plugins.gif.GIFImageReader.nextByte:I
dup_x1
iconst_1
iadd
putfield com.sun.imageio.plugins.gif.GIFImageReader.nextByte:I
baload
bipush 24
ishl
ior
putfield com.sun.imageio.plugins.gif.GIFImageReader.next32Bits:I
21: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.bitPos:I
bipush 8
if_icmplt 22
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.lastBlockFound:Z
ifeq 5
22: StackMap locals:
StackMap stack:
iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lcom/sun/imageio/plugins/gif/GIFImageReader;
0 23 1 codeSize I
0 23 2 codeMask I
3 23 3 code I
13 20 4 left I
14 20 5 off I
16 18 6 nbytes I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
codeSize
codeMask
public void initializeStringTable(int[], byte[], byte[], int[]);
descriptor: ([I[B[B[I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iconst_1
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.initCodeSize:I
ishl
istore 5
start local 5 1: iconst_0
istore 6
start local 6 2: goto 8
3: StackMap locals: int int
StackMap stack:
aload 1
iload 6
iconst_m1
iastore
4: aload 2
iload 6
iload 6
i2b
bastore
5: aload 3
iload 6
iload 6
i2b
bastore
6: aload 4
iload 6
iconst_1
iastore
7: iinc 6 1
StackMap locals:
StackMap stack:
8: iload 6
iload 5
if_icmplt 3
end local 6 9: iload 5
istore 6
start local 6 10: goto 14
11: StackMap locals:
StackMap stack:
aload 1
iload 6
iconst_m1
iastore
12: aload 4
iload 6
iconst_1
iastore
13: iinc 6 1
StackMap locals:
StackMap stack:
14: iload 6
sipush 4096
if_icmplt 11
end local 6 15: return
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 16 0 this Lcom/sun/imageio/plugins/gif/GIFImageReader;
0 16 1 prefix [I
0 16 2 suffix [B
0 16 3 initial [B
0 16 4 length [I
1 16 5 numEntries I
2 9 6 i I
10 15 6 i I
MethodParameters:
Name Flags
prefix
suffix
initial
length
private void outputRow();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=4, args_size=1
start local 0 0: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceRegion:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.width:I
1: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.destinationRegion:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.width:I
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceXSubsampling:I
imul
2: invokestatic java.lang.Math.min:(II)I
istore 1
start local 1 3: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.destinationRegion:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.x:I
istore 2
start local 2 4: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceXSubsampling:I
iconst_1
if_icmpne 7
5: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.theTile:Ljava/awt/image/WritableRaster;
iload 2
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.destY:I
iload 1
iconst_1
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.rowBuf:[B
invokevirtual java.awt.image.WritableRaster.setDataElements:(IIIILjava/lang/Object;)V
6: goto 12
7: StackMap locals: int int
StackMap stack:
iconst_0
istore 3
start local 3 8: goto 11
9: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.theTile:Ljava/awt/image/WritableRaster;
iload 2
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.destY:I
iconst_0
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.rowBuf:[B
iload 3
baload
sipush 255
iand
invokevirtual java.awt.image.WritableRaster.setSample:(IIII)V
10: iload 3
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceXSubsampling:I
iadd
istore 3
iinc 2 1
StackMap locals:
StackMap stack:
11: iload 3
iload 1
if_icmplt 9
end local 3 12: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.updateListeners:Ljava/util/List;
ifnull 19
13: iconst_1
newarray 10
astore 3
start local 3 14: aload 0
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.theImage:Ljava/awt/image/BufferedImage;
15: iload 2
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.destY:I
16: iload 1
iconst_1
iconst_1
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.updateYStep:I
17: aload 3
18: invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.processImageUpdate:(Ljava/awt/image/BufferedImage;IIIIII[I)V
end local 3 19: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/sun/imageio/plugins/gif/GIFImageReader;
3 20 1 width I
4 20 2 destX I
8 12 3 x I
14 19 3 bands [I
private void computeDecodeThisRow();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
1: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.destY:I
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.destinationRegion:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.y:I
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.destinationRegion:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.height:I
iadd
if_icmpge 5
2: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.streamY:I
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceRegion:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.y:I
if_icmplt 5
3: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.streamY:I
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceRegion:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.y:I
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceRegion:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.height:I
iadd
if_icmpge 5
4: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.streamY:I
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceRegion:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.y:I
isub
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceYSubsampling:I
irem
ifne 5
iconst_1
goto 6
StackMap locals:
StackMap stack: com.sun.imageio.plugins.gif.GIFImageReader
5: iconst_0
6: StackMap locals: com.sun.imageio.plugins.gif.GIFImageReader
StackMap stack: com.sun.imageio.plugins.gif.GIFImageReader int
putfield com.sun.imageio.plugins.gif.GIFImageReader.decodeThisRow:Z
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/imageio/plugins/gif/GIFImageReader;
private void outputPixels(byte[], int);
descriptor: ([BI)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.interlacePass:I
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceMinProgressivePass:I
if_icmplt 2
1: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.interlacePass:I
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceMaxProgressivePass:I
if_icmple 3
2: StackMap locals:
StackMap stack:
return
3: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 4: goto 31
5: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.streamX:I
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceRegion:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.x:I
if_icmplt 7
6: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.rowBuf:[B
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.streamX:I
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceRegion:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.x:I
isub
aload 1
iload 3
baload
bastore
7: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.sun.imageio.plugins.gif.GIFImageReader.streamX:I
iconst_1
iadd
putfield com.sun.imageio.plugins.gif.GIFImageReader.streamX:I
8: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.streamX:I
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.width:I
if_icmpne 30
9: aload 0
dup
getfield com.sun.imageio.plugins.gif.GIFImageReader.rowsDone:I
iconst_1
iadd
putfield com.sun.imageio.plugins.gif.GIFImageReader.rowsDone:I
10: aload 0
ldc 100.0
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.rowsDone:I
i2f
fmul
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.height:I
i2f
fdiv
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.processImageProgress:(F)V
11: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.decodeThisRow:Z
ifeq 13
12: aload 0
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.outputRow:()V
13: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield com.sun.imageio.plugins.gif.GIFImageReader.streamX:I
14: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
getfield com.sun.imageio.plugins.gif.GIFImageMetadata.interlaceFlag:Z
ifeq 25
15: aload 0
dup
getfield com.sun.imageio.plugins.gif.GIFImageReader.streamY:I
getstatic com.sun.imageio.plugins.gif.GIFImageReader.interlaceIncrement:[I
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.interlacePass:I
iaload
iadd
putfield com.sun.imageio.plugins.gif.GIFImageReader.streamY:I
16: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.streamY:I
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.height:I
if_icmplt 26
17: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.updateListeners:Ljava/util/List;
ifnull 19
18: aload 0
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.theImage:Ljava/awt/image/BufferedImage;
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.processPassComplete:(Ljava/awt/image/BufferedImage;)V
19: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.sun.imageio.plugins.gif.GIFImageReader.interlacePass:I
iconst_1
iadd
putfield com.sun.imageio.plugins.gif.GIFImageReader.interlacePass:I
20: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.interlacePass:I
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceMaxProgressivePass:I
if_icmple 22
21: return
22: StackMap locals:
StackMap stack:
aload 0
getstatic com.sun.imageio.plugins.gif.GIFImageReader.interlaceOffset:[I
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.interlacePass:I
iaload
putfield com.sun.imageio.plugins.gif.GIFImageReader.streamY:I
23: aload 0
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.interlacePass:I
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.startPass:(I)V
24: goto 26
25: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.sun.imageio.plugins.gif.GIFImageReader.streamY:I
iconst_1
iadd
putfield com.sun.imageio.plugins.gif.GIFImageReader.streamY:I
26: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.destinationRegion:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.y:I
27: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.streamY:I
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceRegion:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.y:I
isub
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceYSubsampling:I
idiv
iadd
28: putfield com.sun.imageio.plugins.gif.GIFImageReader.destY:I
29: aload 0
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.computeDecodeThisRow:()V
30: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
31: iload 3
iload 2
if_icmplt 5
end local 3 32: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lcom/sun/imageio/plugins/gif/GIFImageReader;
0 33 1 string [B
0 33 2 len I
4 32 3 i I
MethodParameters:
Name Flags
string
len
private void ();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=1
start local 0 0: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.gotHeader:Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
ifnonnull 4
3: new java.lang.IllegalStateException
dup
ldc "Input not set!"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
new com.sun.imageio.plugins.gif.GIFStreamMetadata
dup
invokespecial com.sun.imageio.plugins.gif.GIFStreamMetadata.<init>:()V
putfield com.sun.imageio.plugins.gif.GIFImageReader.streamMetadata:Lcom/sun/imageio/plugins/gif/GIFStreamMetadata;
5: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
invokeinterface javax.imageio.stream.ImageInputStream.setByteOrder:(Ljava/nio/ByteOrder;)V
6: bipush 6
newarray 8
astore 1
start local 1 7: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
aload 1
invokeinterface javax.imageio.stream.ImageInputStream.readFully:([B)V
8: new java.lang.StringBuffer
dup
iconst_3
invokespecial java.lang.StringBuffer.<init>:(I)V
astore 2
start local 2 9: aload 2
aload 1
iconst_3
baload
i2c
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
10: aload 2
aload 1
iconst_4
baload
i2c
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
11: aload 2
aload 1
iconst_5
baload
i2c
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
12: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.streamMetadata:Lcom/sun/imageio/plugins/gif/GIFStreamMetadata;
aload 2
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
putfield com.sun.imageio.plugins.gif.GIFStreamMetadata.version:Ljava/lang/String;
13: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.streamMetadata:Lcom/sun/imageio/plugins/gif/GIFStreamMetadata;
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
putfield com.sun.imageio.plugins.gif.GIFStreamMetadata.logicalScreenWidth:I
14: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.streamMetadata:Lcom/sun/imageio/plugins/gif/GIFStreamMetadata;
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
putfield com.sun.imageio.plugins.gif.GIFStreamMetadata.logicalScreenHeight:I
15: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
istore 3
start local 3 16: iload 3
sipush 128
iand
ifeq 17
iconst_1
goto 18
StackMap locals: byte[] java.lang.StringBuffer int
StackMap stack:
17: iconst_0
StackMap locals:
StackMap stack: int
18: istore 4
start local 4 19: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.streamMetadata:Lcom/sun/imageio/plugins/gif/GIFStreamMetadata;
iload 3
iconst_4
ishr
bipush 7
iand
iconst_1
iadd
putfield com.sun.imageio.plugins.gif.GIFStreamMetadata.colorResolution:I
20: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.streamMetadata:Lcom/sun/imageio/plugins/gif/GIFStreamMetadata;
iload 3
bipush 8
iand
ifeq 21
iconst_1
goto 22
StackMap locals: com.sun.imageio.plugins.gif.GIFImageReader byte[] java.lang.StringBuffer int int
StackMap stack: com.sun.imageio.plugins.gif.GIFStreamMetadata
21: iconst_0
StackMap locals: com.sun.imageio.plugins.gif.GIFImageReader byte[] java.lang.StringBuffer int int
StackMap stack: com.sun.imageio.plugins.gif.GIFStreamMetadata int
22: putfield com.sun.imageio.plugins.gif.GIFStreamMetadata.sortFlag:Z
23: iconst_1
iload 3
bipush 7
iand
iconst_1
iadd
ishl
istore 5
start local 5 24: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.streamMetadata:Lcom/sun/imageio/plugins/gif/GIFStreamMetadata;
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
putfield com.sun.imageio.plugins.gif.GIFStreamMetadata.backgroundColorIndex:I
25: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.streamMetadata:Lcom/sun/imageio/plugins/gif/GIFStreamMetadata;
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
putfield com.sun.imageio.plugins.gif.GIFStreamMetadata.pixelAspectRatio:I
26: iload 4
ifeq 30
27: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.streamMetadata:Lcom/sun/imageio/plugins/gif/GIFStreamMetadata;
iconst_3
iload 5
imul
newarray 8
putfield com.sun.imageio.plugins.gif.GIFStreamMetadata.globalColorTable:[B
28: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.streamMetadata:Lcom/sun/imageio/plugins/gif/GIFStreamMetadata;
getfield com.sun.imageio.plugins.gif.GIFStreamMetadata.globalColorTable:[B
invokeinterface javax.imageio.stream.ImageInputStream.readFully:([B)V
29: goto 31
30: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.streamMetadata:Lcom/sun/imageio/plugins/gif/GIFStreamMetadata;
aconst_null
putfield com.sun.imageio.plugins.gif.GIFStreamMetadata.globalColorTable:[B
31: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.imageStartPosition:Ljava/util/List;
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.getStreamPosition:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 5 end local 4 end local 3 end local 2 end local 1 32: goto 35
StackMap locals: com.sun.imageio.plugins.gif.GIFImageReader
StackMap stack: java.io.IOException
33: astore 1
start local 1 34: new javax.imageio.IIOException
dup
ldc "I/O error reading header!"
aload 1
invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 1 35: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield com.sun.imageio.plugins.gif.GIFImageReader.gotHeader:Z
36: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Lcom/sun/imageio/plugins/gif/GIFImageReader;
7 32 1 signature [B
9 32 2 version Ljava/lang/StringBuffer;
16 32 3 packedFields I
19 32 4 globalColorTableFlag Z
24 32 5 numGCTEntries I
34 35 1 e Ljava/io/IOException;
Exception table:
from to target type
5 32 33 Class java.io.IOException
Exceptions:
throws javax.imageio.IIOException
private boolean skipImage();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=1
start local 0 0: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
istore 1
start local 1 1: iload 1
bipush 44
if_icmpne 14
2: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
bipush 8
invokeinterface javax.imageio.stream.ImageInputStream.skipBytes:(I)I
pop
3: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
istore 2
start local 2 4: iload 2
sipush 128
iand
ifeq 7
5: iload 2
bipush 7
iand
iconst_1
iadd
istore 3
start local 3 6: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
iconst_3
iconst_1
iload 3
ishl
imul
invokeinterface javax.imageio.stream.ImageInputStream.skipBytes:(I)I
pop
end local 3 7: StackMap locals: int int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
iconst_1
invokeinterface javax.imageio.stream.ImageInputStream.skipBytes:(I)I
pop
8: iconst_0
istore 3
start local 3 9: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
istore 3
10: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
iload 3
invokeinterface javax.imageio.stream.ImageInputStream.skipBytes:(I)I
pop
11: iload 3
12: ifgt 9
13: iconst_1
ireturn
end local 3 end local 2 14: StackMap locals:
StackMap stack:
iload 1
bipush 59
if_icmpne 16
15: iconst_0
ireturn
16: StackMap locals:
StackMap stack:
iload 1
bipush 33
if_icmpne 24
17: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
pop
18: iconst_0
istore 2
start local 2 19: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
istore 2
20: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
iload 2
invokeinterface javax.imageio.stream.ImageInputStream.skipBytes:(I)I
pop
21: iload 2
22: ifgt 19
end local 2 23: goto 0
StackMap locals:
StackMap stack:
24: iload 1
ifne 26
25: iconst_0
ireturn
26: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 27: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
istore 2
28: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
iload 2
invokeinterface javax.imageio.stream.ImageInputStream.skipBytes:(I)I
pop
29: iload 2
30: ifgt 27
end local 2 end local 1 31: goto 0
32: StackMap locals: com.sun.imageio.plugins.gif.GIFImageReader
StackMap stack: java.io.EOFException
pop
33: iconst_0
ireturn
34: StackMap locals:
StackMap stack: java.io.IOException
astore 1
start local 1 35: new javax.imageio.IIOException
dup
ldc "I/O error locating image!"
aload 1
invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lcom/sun/imageio/plugins/gif/GIFImageReader;
1 31 1 blockType I
4 14 2 packedFields I
6 7 3 bits I
9 14 3 length I
19 23 2 length I
27 31 2 length I
35 36 1 e Ljava/io/IOException;
Exception table:
from to target type
0 13 32 Class java.io.EOFException
14 15 32 Class java.io.EOFException
16 25 32 Class java.io.EOFException
26 32 32 Class java.io.EOFException
0 13 34 Class java.io.IOException
14 15 34 Class java.io.IOException
16 25 34 Class java.io.IOException
26 32 34 Class java.io.IOException
Exceptions:
throws javax.imageio.IIOException
private int locateImage(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.readHeader:()V
1: iload 1
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.imageStartPosition:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
isub
invokestatic java.lang.Math.min:(II)I
istore 2
start local 2 2: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.imageStartPosition:Ljava/util/List;
iload 2
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.Long
astore 3
start local 3 3: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
aload 3
invokevirtual java.lang.Long.longValue:()J
invokeinterface javax.imageio.stream.ImageInputStream.seek:(J)V
4: goto 12
5: StackMap locals: int java.lang.Long
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.skipImage:()Z
ifne 9
6: iinc 2 -1
7: iload 2
8: ireturn
9: StackMap locals:
StackMap stack:
new java.lang.Long
dup
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.getStreamPosition:()J
invokespecial java.lang.Long.<init>:(J)V
astore 4
start local 4 10: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.imageStartPosition:Ljava/util/List;
aload 4
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
11: iinc 2 1
end local 4 12: StackMap locals:
StackMap stack:
iload 2
iload 1
if_icmplt 5
end local 3 end local 2 13: goto 16
StackMap locals: com.sun.imageio.plugins.gif.GIFImageReader int
StackMap stack: java.io.IOException
14: astore 2
start local 2 15: new javax.imageio.IIOException
dup
ldc "Couldn't seek!"
aload 2
invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 16: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.currIndex:I
iload 1
if_icmpeq 18
17: aload 0
aconst_null
putfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
18: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield com.sun.imageio.plugins.gif.GIFImageReader.currIndex:I
19: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/sun/imageio/plugins/gif/GIFImageReader;
0 20 1 imageIndex I
2 13 2 index I
3 13 3 l Ljava/lang/Long;
10 12 4 l1 Ljava/lang/Long;
15 16 2 e Ljava/io/IOException;
Exception table:
from to target type
1 8 14 Class java.io.IOException
9 13 14 Class java.io.IOException
Exceptions:
throws javax.imageio.IIOException
MethodParameters:
Name Flags
imageIndex
private byte[] concatenateBlocks();
descriptor: ()[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=1
start local 0 0: iconst_0
newarray 8
astore 1
start local 1 1: StackMap locals: byte[]
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
istore 2
start local 2 2: iload 2
ifne 4
3: goto 9
4: StackMap locals: int
StackMap stack:
aload 1
arraylength
iload 2
iadd
newarray 8
astore 3
start local 3 5: aload 1
iconst_0
aload 3
iconst_0
aload 1
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
6: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
aload 3
aload 1
arraylength
iload 2
invokeinterface javax.imageio.stream.ImageInputStream.readFully:([BII)V
7: aload 3
astore 1
end local 3 end local 2 8: goto 1
9: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/imageio/plugins/gif/GIFImageReader;
1 10 1 data [B
2 8 2 length I
5 8 3 newData [B
Exceptions:
throws java.io.IOException
private void readMetadata();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=13, args_size=1
start local 0 0: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
ifnonnull 2
1: new java.lang.IllegalStateException
dup
ldc "Input not set!"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
new com.sun.imageio.plugins.gif.GIFImageMetadata
dup
invokespecial com.sun.imageio.plugins.gif.GIFImageMetadata.<init>:()V
putfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
3: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.getStreamPosition:()J
lstore 1
start local 1 4: StackMap locals: long
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
istore 3
start local 3 5: iload 3
bipush 44
if_icmpne 36
6: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
7: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
8: putfield com.sun.imageio.plugins.gif.GIFImageMetadata.imageLeftPosition:I
9: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
10: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
11: putfield com.sun.imageio.plugins.gif.GIFImageMetadata.imageTopPosition:I
12: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
putfield com.sun.imageio.plugins.gif.GIFImageMetadata.imageWidth:I
13: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
putfield com.sun.imageio.plugins.gif.GIFImageMetadata.imageHeight:I
14: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
istore 4
start local 4 15: iload 4
sipush 128
iand
ifeq 16
iconst_1
goto 17
StackMap locals: int int
StackMap stack:
16: iconst_0
17: StackMap locals:
StackMap stack: int
istore 5
start local 5 18: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
iload 4
bipush 64
iand
ifeq 19
iconst_1
goto 20
StackMap locals: com.sun.imageio.plugins.gif.GIFImageReader long int int int
StackMap stack: com.sun.imageio.plugins.gif.GIFImageMetadata
19: iconst_0
StackMap locals: com.sun.imageio.plugins.gif.GIFImageReader long int int int
StackMap stack: com.sun.imageio.plugins.gif.GIFImageMetadata int
20: putfield com.sun.imageio.plugins.gif.GIFImageMetadata.interlaceFlag:Z
21: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
iload 4
bipush 32
iand
ifeq 22
iconst_1
goto 23
StackMap locals:
StackMap stack: com.sun.imageio.plugins.gif.GIFImageMetadata
22: iconst_0
StackMap locals: com.sun.imageio.plugins.gif.GIFImageReader long int int int
StackMap stack: com.sun.imageio.plugins.gif.GIFImageMetadata int
23: putfield com.sun.imageio.plugins.gif.GIFImageMetadata.sortFlag:Z
24: iconst_1
iload 4
bipush 7
iand
iconst_1
iadd
ishl
istore 6
start local 6 25: iload 5
ifeq 31
26: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
27: iconst_3
iload 6
imul
newarray 8
28: putfield com.sun.imageio.plugins.gif.GIFImageMetadata.localColorTable:[B
29: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
getfield com.sun.imageio.plugins.gif.GIFImageMetadata.localColorTable:[B
invokeinterface javax.imageio.stream.ImageInputStream.readFully:([B)V
30: goto 32
31: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
aconst_null
putfield com.sun.imageio.plugins.gif.GIFImageMetadata.localColorTable:[B
32: StackMap locals:
StackMap stack:
aload 0
33: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.getStreamPosition:()J
lload 1
lsub
l2i
34: putfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadataLength:I
35: return
end local 6 end local 5 end local 4 36: StackMap locals:
StackMap stack:
iload 3
bipush 33
if_icmpne 127
37: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
istore 4
start local 4 38: iload 4
sipush 249
if_icmpne 58
39: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
pop
40: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
istore 5
start local 5 41: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
42: iload 5
iconst_2
ishr
iconst_3
iand
43: putfield com.sun.imageio.plugins.gif.GIFImageMetadata.disposalMethod:I
44: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
45: iload 5
iconst_2
iand
ifeq 46
iconst_1
goto 47
StackMap locals: com.sun.imageio.plugins.gif.GIFImageReader long int int int
StackMap stack: com.sun.imageio.plugins.gif.GIFImageMetadata
46: iconst_0
47: StackMap locals: com.sun.imageio.plugins.gif.GIFImageReader long int int int
StackMap stack: com.sun.imageio.plugins.gif.GIFImageMetadata int
putfield com.sun.imageio.plugins.gif.GIFImageMetadata.userInputFlag:Z
48: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
49: iload 5
iconst_1
iand
ifeq 50
iconst_1
goto 51
StackMap locals:
StackMap stack: com.sun.imageio.plugins.gif.GIFImageMetadata
50: iconst_0
51: StackMap locals: com.sun.imageio.plugins.gif.GIFImageReader long int int int
StackMap stack: com.sun.imageio.plugins.gif.GIFImageMetadata int
putfield com.sun.imageio.plugins.gif.GIFImageMetadata.transparentColorFlag:Z
52: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
putfield com.sun.imageio.plugins.gif.GIFImageMetadata.delayTime:I
53: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
54: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
55: putfield com.sun.imageio.plugins.gif.GIFImageMetadata.transparentColorIndex:I
56: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
pop
end local 5 57: goto 4
StackMap locals:
StackMap stack:
58: iload 4
iconst_1
if_icmpne 87
59: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
pop
60: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
iconst_1
putfield com.sun.imageio.plugins.gif.GIFImageMetadata.hasPlainTextExtension:Z
61: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
62: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
63: putfield com.sun.imageio.plugins.gif.GIFImageMetadata.textGridLeft:I
64: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
65: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
66: putfield com.sun.imageio.plugins.gif.GIFImageMetadata.textGridTop:I
67: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
68: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
69: putfield com.sun.imageio.plugins.gif.GIFImageMetadata.textGridWidth:I
70: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
71: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
72: putfield com.sun.imageio.plugins.gif.GIFImageMetadata.textGridHeight:I
73: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
74: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
75: putfield com.sun.imageio.plugins.gif.GIFImageMetadata.characterCellWidth:I
76: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
77: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
78: putfield com.sun.imageio.plugins.gif.GIFImageMetadata.characterCellHeight:I
79: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
80: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
81: putfield com.sun.imageio.plugins.gif.GIFImageMetadata.textForegroundColor:I
82: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
83: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
84: putfield com.sun.imageio.plugins.gif.GIFImageMetadata.textBackgroundColor:I
85: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
aload 0
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.concatenateBlocks:()[B
putfield com.sun.imageio.plugins.gif.GIFImageMetadata.text:[B
86: goto 4
StackMap locals:
StackMap stack:
87: iload 4
sipush 254
if_icmpne 93
88: aload 0
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.concatenateBlocks:()[B
astore 5
start local 5 89: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
getfield com.sun.imageio.plugins.gif.GIFImageMetadata.comments:Ljava/util/List;
ifnonnull 91
90: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.sun.imageio.plugins.gif.GIFImageMetadata.comments:Ljava/util/List;
91: StackMap locals: byte[]
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
getfield com.sun.imageio.plugins.gif.GIFImageMetadata.comments:Ljava/util/List;
aload 5
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 5 92: goto 4
StackMap locals:
StackMap stack:
93: iload 4
sipush 255
if_icmpne 121
94: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
istore 5
start local 5 95: bipush 8
newarray 8
astore 6
start local 6 96: iconst_3
newarray 8
astore 7
start local 7 97: iload 5
newarray 8
astore 8
start local 8 98: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
aload 8
invokeinterface javax.imageio.stream.ImageInputStream.readFully:([B)V
99: aload 0
aload 8
iconst_0
aload 6
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.copyData:([BI[B)I
istore 9
start local 9 100: aload 0
aload 8
iload 9
aload 7
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.copyData:([BI[B)I
istore 9
101: aload 0
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.concatenateBlocks:()[B
astore 10
start local 10 102: iload 9
iload 5
if_icmpge 111
103: iload 5
iload 9
isub
istore 11
start local 11 104: iload 11
aload 10
arraylength
iadd
newarray 8
105: astore 12
start local 12 106: aload 8
iload 9
aload 12
iconst_0
iload 11
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
107: aload 10
iconst_0
aload 12
iload 11
108: aload 10
arraylength
109: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
110: aload 12
astore 10
end local 12 end local 11 111: StackMap locals: com.sun.imageio.plugins.gif.GIFImageReader long int int int byte[] byte[] byte[] int byte[]
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
getfield com.sun.imageio.plugins.gif.GIFImageMetadata.applicationIDs:Ljava/util/List;
ifnonnull 117
112: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.sun.imageio.plugins.gif.GIFImageMetadata.applicationIDs:Ljava/util/List;
113: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
114: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
115: putfield com.sun.imageio.plugins.gif.GIFImageMetadata.authenticationCodes:Ljava/util/List;
116: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.sun.imageio.plugins.gif.GIFImageMetadata.applicationData:Ljava/util/List;
117: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
getfield com.sun.imageio.plugins.gif.GIFImageMetadata.applicationIDs:Ljava/util/List;
aload 6
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
118: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
getfield com.sun.imageio.plugins.gif.GIFImageMetadata.authenticationCodes:Ljava/util/List;
aload 7
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
119: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
getfield com.sun.imageio.plugins.gif.GIFImageMetadata.applicationData:Ljava/util/List;
aload 10
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 120: goto 4
121: StackMap locals: com.sun.imageio.plugins.gif.GIFImageReader long int int
StackMap stack:
iconst_0
istore 5
start local 5 122: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
istore 5
123: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
iload 5
invokeinterface javax.imageio.stream.ImageInputStream.skipBytes:(I)I
pop
124: iload 5
125: ifgt 122
end local 5 end local 4 126: goto 4
StackMap locals:
StackMap stack:
127: iload 3
bipush 59
if_icmpne 131
128: new java.lang.IndexOutOfBoundsException
dup
129: ldc "Attempt to read past end of image sequence!"
130: invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
131: StackMap locals:
StackMap stack:
new javax.imageio.IIOException
dup
new java.lang.StringBuilder
dup
ldc "Unexpected block type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
132: iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "!"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
133: invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 1 134: StackMap locals: com.sun.imageio.plugins.gif.GIFImageReader
StackMap stack: javax.imageio.IIOException
astore 1
start local 1 135: aload 1
athrow
end local 1 136: StackMap locals:
StackMap stack: java.io.IOException
astore 1
start local 1 137: new javax.imageio.IIOException
dup
ldc "I/O error reading image metadata!"
aload 1
invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 138 0 this Lcom/sun/imageio/plugins/gif/GIFImageReader;
4 134 1 startPosition J
5 134 3 blockType I
15 36 4 idPackedFields I
18 36 5 localColorTableFlag Z
25 36 6 numLCTEntries I
38 126 4 label I
41 57 5 gcePackedFields I
89 92 5 comment [B
95 120 5 blockSize I
96 120 6 applicationID [B
97 120 7 authCode [B
98 120 8 blockData [B
100 120 9 offset I
102 120 10 applicationData [B
104 111 11 len I
106 111 12 data [B
122 126 5 length I
135 136 1 iioe Ljavax/imageio/IIOException;
137 138 1 ioe Ljava/io/IOException;
Exception table:
from to target type
2 35 134 Class javax.imageio.IIOException
36 134 134 Class javax.imageio.IIOException
2 35 136 Class java.io.IOException
36 134 136 Class java.io.IOException
Exceptions:
throws javax.imageio.IIOException
private int copyData(byte[], int, byte[]);
descriptor: ([BI[B)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
arraylength
istore 4
start local 4 1: aload 1
arraylength
iload 2
isub
istore 5
start local 5 2: iload 4
iload 5
if_icmple 4
3: iload 5
istore 4
4: StackMap locals: int int
StackMap stack:
aload 1
iload 2
aload 3
iconst_0
iload 4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
5: iload 2
iload 4
iadd
ireturn
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 6 0 this Lcom/sun/imageio/plugins/gif/GIFImageReader;
0 6 1 src [B
0 6 2 offset I
0 6 3 dst [B
1 6 4 len I
2 6 5 rest I
MethodParameters:
Name Flags
src
offset
dst
private void startPass(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=14, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.updateListeners:Ljava/util/List;
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 3: iconst_1
istore 3
start local 3 4: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
getfield com.sun.imageio.plugins.gif.GIFImageMetadata.interlaceFlag:Z
ifeq 7
5: getstatic com.sun.imageio.plugins.gif.GIFImageReader.interlaceOffset:[I
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.interlacePass:I
iaload
istore 2
6: getstatic com.sun.imageio.plugins.gif.GIFImageReader.interlaceIncrement:[I
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.interlacePass:I
iaload
istore 3
7: StackMap locals: int int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceRegion:Ljava/awt/Rectangle;
8: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.destinationOffset:Ljava/awt/Point;
9: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.destinationRegion:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.x:I
10: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.destinationRegion:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.y:I
11: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.destinationRegion:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.x:I
12: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.destinationRegion:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.width:I
13: iadd
14: iconst_1
15: isub
16: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.destinationRegion:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.y:I
17: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.destinationRegion:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.height:I
18: iadd
19: iconst_1
20: isub
21: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceXSubsampling:I
22: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceYSubsampling:I
23: iconst_0
24: iload 2
25: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.destinationRegion:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.width:I
26: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.destinationRegion:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.height:I
iload 3
iadd
iconst_1
isub
iload 3
idiv
27: iconst_1
28: iload 3
29: invokestatic com.sun.imageio.plugins.common.ReaderUtil.computeUpdatedPixels:(Ljava/awt/Rectangle;Ljava/awt/Point;IIIIIIIIIIII)[I
30: astore 4
start local 4 31: aload 0
aload 4
iconst_1
iaload
putfield com.sun.imageio.plugins.gif.GIFImageReader.updateMinY:I
32: aload 0
aload 4
iconst_5
iaload
putfield com.sun.imageio.plugins.gif.GIFImageReader.updateYStep:I
33: iconst_1
newarray 10
astore 5
start local 5 34: aload 0
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.theImage:Ljava/awt/image/BufferedImage;
35: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.interlacePass:I
36: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceMinProgressivePass:I
37: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceMaxProgressivePass:I
38: iconst_0
39: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.updateMinY:I
40: iconst_1
41: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.updateYStep:I
42: aload 5
43: invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.processPassStarted:(Ljava/awt/image/BufferedImage;IIIIIII[I)V
44: return
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 45 0 this Lcom/sun/imageio/plugins/gif/GIFImageReader;
0 45 1 pass I
3 45 2 y I
4 45 3 yStep I
31 45 4 vals [I
34 45 5 bands [I
MethodParameters:
Name Flags
pass
public java.awt.image.BufferedImage read(int, javax.imageio.ImageReadParam);
descriptor: (ILjavax/imageio/ImageReadParam;)Ljava/awt/image/BufferedImage;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=20, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
ifnonnull 2
1: new java.lang.IllegalStateException
dup
ldc "Input not set!"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.checkIndex:(I)V
3: aload 0
iload 1
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.locateImage:(I)I
istore 3
start local 3 4: iload 3
iload 1
if_icmpeq 6
5: new java.lang.IndexOutOfBoundsException
dup
ldc "imageIndex out of bounds!"
invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals: int
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.clearAbortRequest:()V
7: aload 0
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.readMetadata:()V
8: aload 2
ifnonnull 10
9: aload 0
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.getDefaultReadParam:()Ljavax/imageio/ImageReadParam;
astore 2
10: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.getImageTypes:(I)Ljava/util/Iterator;
astore 4
start local 4 11: aload 0
aload 2
12: aload 4
13: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
getfield com.sun.imageio.plugins.gif.GIFImageMetadata.imageWidth:I
14: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
getfield com.sun.imageio.plugins.gif.GIFImageMetadata.imageHeight:I
15: invokestatic com.sun.imageio.plugins.gif.GIFImageReader.getDestination:(Ljavax/imageio/ImageReadParam;Ljava/util/Iterator;II)Ljava/awt/image/BufferedImage;
putfield com.sun.imageio.plugins.gif.GIFImageReader.theImage:Ljava/awt/image/BufferedImage;
16: aload 0
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.theImage:Ljava/awt/image/BufferedImage;
iconst_0
iconst_0
invokevirtual java.awt.image.BufferedImage.getWritableTile:(II)Ljava/awt/image/WritableRaster;
putfield com.sun.imageio.plugins.gif.GIFImageReader.theTile:Ljava/awt/image/WritableRaster;
17: aload 0
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
getfield com.sun.imageio.plugins.gif.GIFImageMetadata.imageWidth:I
putfield com.sun.imageio.plugins.gif.GIFImageReader.width:I
18: aload 0
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
getfield com.sun.imageio.plugins.gif.GIFImageMetadata.imageHeight:I
putfield com.sun.imageio.plugins.gif.GIFImageReader.height:I
19: aload 0
iconst_0
putfield com.sun.imageio.plugins.gif.GIFImageReader.streamX:I
20: aload 0
iconst_0
putfield com.sun.imageio.plugins.gif.GIFImageReader.streamY:I
21: aload 0
iconst_0
putfield com.sun.imageio.plugins.gif.GIFImageReader.rowsDone:I
22: aload 0
iconst_0
putfield com.sun.imageio.plugins.gif.GIFImageReader.interlacePass:I
23: aload 0
new java.awt.Rectangle
dup
iconst_0
iconst_0
iconst_0
iconst_0
invokespecial java.awt.Rectangle.<init>:(IIII)V
putfield com.sun.imageio.plugins.gif.GIFImageReader.sourceRegion:Ljava/awt/Rectangle;
24: aload 0
new java.awt.Rectangle
dup
iconst_0
iconst_0
iconst_0
iconst_0
invokespecial java.awt.Rectangle.<init>:(IIII)V
putfield com.sun.imageio.plugins.gif.GIFImageReader.destinationRegion:Ljava/awt/Rectangle;
25: aload 2
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.width:I
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.height:I
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.theImage:Ljava/awt/image/BufferedImage;
26: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceRegion:Ljava/awt/Rectangle;
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.destinationRegion:Ljava/awt/Rectangle;
27: invokestatic com.sun.imageio.plugins.gif.GIFImageReader.computeRegions:(Ljavax/imageio/ImageReadParam;IILjava/awt/image/BufferedImage;Ljava/awt/Rectangle;Ljava/awt/Rectangle;)V
28: aload 0
new java.awt.Point
dup
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.destinationRegion:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.x:I
29: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.destinationRegion:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.y:I
invokespecial java.awt.Point.<init>:(II)V
30: putfield com.sun.imageio.plugins.gif.GIFImageReader.destinationOffset:Ljava/awt/Point;
31: aload 0
aload 2
invokevirtual javax.imageio.ImageReadParam.getSourceXSubsampling:()I
putfield com.sun.imageio.plugins.gif.GIFImageReader.sourceXSubsampling:I
32: aload 0
aload 2
invokevirtual javax.imageio.ImageReadParam.getSourceYSubsampling:()I
putfield com.sun.imageio.plugins.gif.GIFImageReader.sourceYSubsampling:I
33: aload 0
34: aload 2
invokevirtual javax.imageio.ImageReadParam.getSourceMinProgressivePass:()I
iconst_0
invokestatic java.lang.Math.max:(II)I
35: putfield com.sun.imageio.plugins.gif.GIFImageReader.sourceMinProgressivePass:I
36: aload 0
37: aload 2
invokevirtual javax.imageio.ImageReadParam.getSourceMaxProgressivePass:()I
iconst_3
invokestatic java.lang.Math.min:(II)I
38: putfield com.sun.imageio.plugins.gif.GIFImageReader.sourceMaxProgressivePass:I
39: aload 0
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.destinationRegion:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.y:I
40: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.streamY:I
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceRegion:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.y:I
isub
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceYSubsampling:I
idiv
iadd
41: putfield com.sun.imageio.plugins.gif.GIFImageReader.destY:I
42: aload 0
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.computeDecodeThisRow:()V
43: aload 0
iload 1
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.processImageStarted:(I)V
44: aload 0
iconst_0
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.startPass:(I)V
45: aload 0
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.width:I
newarray 8
putfield com.sun.imageio.plugins.gif.GIFImageReader.rowBuf:[B
46: aload 0
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
putfield com.sun.imageio.plugins.gif.GIFImageReader.initCodeSize:I
47: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.initCodeSize:I
iconst_1
if_icmplt 48
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.initCodeSize:I
bipush 8
if_icmple 49
48: StackMap locals: java.util.Iterator
StackMap stack:
new javax.imageio.IIOException
dup
new java.lang.StringBuilder
dup
ldc "Bad code size:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.initCodeSize:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
athrow
49: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
putfield com.sun.imageio.plugins.gif.GIFImageReader.blockLength:I
50: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.blockLength:I
istore 5
start local 5 51: iconst_0
istore 6
start local 6 52: goto 56
53: StackMap locals: int int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.block:[B
iload 6
iload 5
invokeinterface javax.imageio.stream.ImageInputStream.read:([BII)I
istore 7
start local 7 54: iload 5
iload 7
isub
istore 5
55: iload 6
iload 7
iadd
istore 6
end local 7 56: StackMap locals:
StackMap stack:
iload 5
ifgt 53
57: aload 0
iconst_0
putfield com.sun.imageio.plugins.gif.GIFImageReader.bitPos:I
58: aload 0
iconst_0
putfield com.sun.imageio.plugins.gif.GIFImageReader.nextByte:I
59: aload 0
iconst_0
putfield com.sun.imageio.plugins.gif.GIFImageReader.lastBlockFound:Z
60: aload 0
iconst_0
putfield com.sun.imageio.plugins.gif.GIFImageReader.interlacePass:I
61: aload 0
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.initNext32Bits:()V
62: aload 0
iconst_1
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.initCodeSize:I
ishl
putfield com.sun.imageio.plugins.gif.GIFImageReader.clearCode:I
63: aload 0
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.clearCode:I
iconst_1
iadd
putfield com.sun.imageio.plugins.gif.GIFImageReader.eofCode:I
64: iconst_0
istore 8
start local 8 65: sipush 4096
newarray 10
astore 9
start local 9 66: sipush 4096
newarray 8
astore 10
start local 10 67: sipush 4096
newarray 8
astore 11
start local 11 68: sipush 4096
newarray 10
astore 12
start local 12 69: sipush 4096
newarray 8
astore 13
start local 13 70: aload 0
aload 9
aload 10
aload 11
aload 12
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.initializeStringTable:([I[B[B[I)V
71: iconst_1
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.initCodeSize:I
ishl
iconst_2
iadd
istore 14
start local 14 72: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.initCodeSize:I
iconst_1
iadd
istore 15
start local 15 73: iconst_1
iload 15
ishl
iconst_1
isub
istore 16
start local 16 74: goto 117
75: StackMap locals: com.sun.imageio.plugins.gif.GIFImageReader int javax.imageio.ImageReadParam int java.util.Iterator int int top int int[] byte[] byte[] int[] byte[] int int int
StackMap stack:
aload 0
iload 15
iload 16
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.getCode:(II)I
istore 7
start local 7 76: iload 7
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.clearCode:I
if_icmpne 86
77: aload 0
aload 9
aload 10
aload 11
aload 12
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.initializeStringTable:([I[B[B[I)V
78: iconst_1
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.initCodeSize:I
ishl
iconst_2
iadd
istore 14
79: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.initCodeSize:I
iconst_1
iadd
istore 15
80: iconst_1
iload 15
ishl
iconst_1
isub
istore 16
81: aload 0
iload 15
iload 16
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.getCode:(II)I
istore 7
82: iload 7
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.eofCode:I
if_icmpne 107
83: aload 0
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.processImageComplete:()V
84: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.theImage:Ljava/awt/image/BufferedImage;
85: areturn
86: StackMap locals: com.sun.imageio.plugins.gif.GIFImageReader int javax.imageio.ImageReadParam int java.util.Iterator int int int int int[] byte[] byte[] int[] byte[] int int int
StackMap stack:
iload 7
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.eofCode:I
if_icmpne 90
87: aload 0
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.processImageComplete:()V
88: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.theImage:Ljava/awt/image/BufferedImage;
89: areturn
90: StackMap locals:
StackMap stack:
iload 7
iload 14
if_icmpge 93
91: iload 7
istore 17
start local 17 92: goto 96
end local 17 93: StackMap locals:
StackMap stack:
iload 8
istore 17
start local 17 94: iload 7
iload 14
if_icmpeq 96
95: aload 0
ldc "Out-of-sequence code!"
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.processWarningOccurred:(Ljava/lang/String;)V
96: StackMap locals: int
StackMap stack:
iload 14
istore 18
start local 18 97: iload 8
istore 19
start local 19 98: aload 9
iload 18
iload 19
iastore
99: aload 10
iload 18
aload 11
iload 17
baload
bastore
100: aload 11
iload 18
aload 11
iload 19
baload
bastore
101: aload 12
iload 18
aload 12
iload 19
iaload
iconst_1
iadd
iastore
102: iinc 14 1
103: iload 14
iconst_1
iload 15
ishl
if_icmpne 107
104: iload 14
sipush 4096
if_icmpge 107
105: iinc 15 1
106: iconst_1
iload 15
ishl
iconst_1
isub
istore 16
end local 19 end local 18 end local 17 107: StackMap locals:
StackMap stack:
iload 7
istore 17
start local 17 108: aload 12
iload 17
iaload
istore 18
start local 18 109: iload 18
iconst_1
isub
istore 19
start local 19 110: goto 114
111: StackMap locals: int int int
StackMap stack:
aload 13
iload 19
aload 10
iload 17
baload
bastore
112: aload 9
iload 17
iaload
istore 17
113: iinc 19 -1
StackMap locals:
StackMap stack:
114: iload 19
ifge 111
end local 19 115: aload 0
aload 13
iload 18
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.outputPixels:([BI)V
116: iload 7
istore 8
end local 18 end local 17 end local 7 117: StackMap locals: com.sun.imageio.plugins.gif.GIFImageReader int javax.imageio.ImageReadParam int java.util.Iterator int int top int int[] byte[] byte[] int[] byte[] int int int
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.abortRequested:()Z
ifeq 75
118: aload 0
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.processReadAborted:()V
119: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.theImage:Ljava/awt/image/BufferedImage;
120: areturn
end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 6 end local 5 121: StackMap locals: com.sun.imageio.plugins.gif.GIFImageReader int javax.imageio.ImageReadParam int java.util.Iterator
StackMap stack: java.io.IOException
astore 5
start local 5 122: new javax.imageio.IIOException
dup
ldc "I/O error reading image!"
aload 5
invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
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 123 0 this Lcom/sun/imageio/plugins/gif/GIFImageReader;
0 123 1 imageIndex I
0 123 2 param Ljavax/imageio/ImageReadParam;
4 123 3 index I
11 123 4 imageTypes Ljava/util/Iterator;
51 121 5 left I
52 121 6 off I
54 56 7 nbytes I
76 117 7 code I
65 121 8 oldCode I
66 121 9 prefix [I
67 121 10 suffix [B
68 121 11 initial [B
69 121 12 length [I
70 121 13 string [B
72 121 14 tableIndex I
73 121 15 codeSize I
74 121 16 codeMask I
92 93 17 newSuffixIndex I
94 107 17 newSuffixIndex I
97 107 18 ti I
98 107 19 oc I
108 117 17 c I
109 117 18 len I
110 115 19 i I
122 123 5 e Ljava/io/IOException;
Exception table:
from to target type
46 85 121 Class java.io.IOException
86 89 121 Class java.io.IOException
90 120 121 Class java.io.IOException
Exceptions:
throws javax.imageio.IIOException
MethodParameters:
Name Flags
imageIndex
param
public void reset();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial javax.imageio.ImageReader.reset:()V
1: aload 0
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.resetStreamSettings:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/imageio/plugins/gif/GIFImageReader;
private void resetStreamSettings();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
putfield com.sun.imageio.plugins.gif.GIFImageReader.gotHeader:Z
1: aload 0
aconst_null
putfield com.sun.imageio.plugins.gif.GIFImageReader.streamMetadata:Lcom/sun/imageio/plugins/gif/GIFStreamMetadata;
2: aload 0
iconst_m1
putfield com.sun.imageio.plugins.gif.GIFImageReader.currIndex:I
3: aload 0
aconst_null
putfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
4: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.sun.imageio.plugins.gif.GIFImageReader.imageStartPosition:Ljava/util/List;
5: aload 0
iconst_m1
putfield com.sun.imageio.plugins.gif.GIFImageReader.numImages:I
6: aload 0
iconst_0
putfield com.sun.imageio.plugins.gif.GIFImageReader.blockLength:I
7: aload 0
iconst_0
putfield com.sun.imageio.plugins.gif.GIFImageReader.bitPos:I
8: aload 0
iconst_0
putfield com.sun.imageio.plugins.gif.GIFImageReader.nextByte:I
9: aload 0
iconst_0
putfield com.sun.imageio.plugins.gif.GIFImageReader.next32Bits:I
10: aload 0
iconst_0
putfield com.sun.imageio.plugins.gif.GIFImageReader.lastBlockFound:Z
11: aload 0
aconst_null
putfield com.sun.imageio.plugins.gif.GIFImageReader.theImage:Ljava/awt/image/BufferedImage;
12: aload 0
aconst_null
putfield com.sun.imageio.plugins.gif.GIFImageReader.theTile:Ljava/awt/image/WritableRaster;
13: aload 0
iconst_m1
putfield com.sun.imageio.plugins.gif.GIFImageReader.width:I
14: aload 0
iconst_m1
putfield com.sun.imageio.plugins.gif.GIFImageReader.height:I
15: aload 0
iconst_m1
putfield com.sun.imageio.plugins.gif.GIFImageReader.streamX:I
16: aload 0
iconst_m1
putfield com.sun.imageio.plugins.gif.GIFImageReader.streamY:I
17: aload 0
iconst_0
putfield com.sun.imageio.plugins.gif.GIFImageReader.rowsDone:I
18: aload 0
iconst_0
putfield com.sun.imageio.plugins.gif.GIFImageReader.interlacePass:I
19: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/sun/imageio/plugins/gif/GIFImageReader;
}
SourceFile: "GIFImageReader.java"