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<java.lang.Long> imageStartPosition;
descriptor: Ljava/util/List;
flags: (0x0000)
Signature: Ljava/util/List<Ljava/lang/Long;>;
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)
private byte[] fallbackColorTable;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
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)
private static byte[] defaultPalette;
descriptor: [B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
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
2: aconst_null
putstatic com.sun.imageio.plugins.gif.GIFImageReader.defaultPalette:[B
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
aconst_null
putfield com.sun.imageio.plugins.gif.GIFImageReader.fallbackColorTable:[B
21: aload 0
iconst_1
putfield com.sun.imageio.plugins.gif.GIFImageReader.decodeThisRow:Z
22: aload 0
iconst_0
putfield com.sun.imageio.plugins.gif.GIFImageReader.destY:I
23: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lcom/sun/imageio/plugins/gif/GIFImageReader;
0 24 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
private javax.imageio.ImageTypeSpecifier createIndexed(byte[], byte[], byte[], int);
descriptor: ([B[B[BI)Ljavax/imageio/ImageTypeSpecifier;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: 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 6
1: 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
2: aload 1
arraylength
iconst_1
isub
3: invokestatic java.lang.Math.min:(II)I
istore 6
start local 6 4: new java.awt.image.IndexColorModel
dup
iload 4
aload 1
arraylength
aload 1
aload 2
aload 3
iload 6
invokespecial java.awt.image.IndexColorModel.<init>:(II[B[B[BI)V
astore 5
end local 6 start local 5 5: goto 7
end local 5 6: StackMap locals:
StackMap stack:
new java.awt.image.IndexColorModel
dup
iload 4
aload 1
arraylength
aload 1
aload 2
aload 3
invokespecial java.awt.image.IndexColorModel.<init>:(II[B[B[B)V
astore 5
start local 5 7: StackMap locals: java.awt.image.ColorModel
StackMap stack:
iload 4
bipush 8
if_icmpne 15
8: iconst_1
newarray 10
astore 7
start local 7 9: new java.awt.image.PixelInterleavedSampleModel
dup
iconst_0
10: iconst_1
iconst_1
iconst_1
iconst_1
11: aload 7
12: invokespecial java.awt.image.PixelInterleavedSampleModel.<init>:(IIIII[I)V
13: astore 6
end local 7 start local 6 14: goto 19
end local 6 15: StackMap locals:
StackMap stack:
new java.awt.image.MultiPixelPackedSampleModel
dup
iconst_0
16: iconst_1
iconst_1
iload 4
17: invokespecial java.awt.image.MultiPixelPackedSampleModel.<init>:(IIII)V
18: astore 6
start local 6 19: StackMap locals: java.awt.image.SampleModel
StackMap stack:
new javax.imageio.ImageTypeSpecifier
dup
aload 5
aload 6
invokespecial javax.imageio.ImageTypeSpecifier.<init>:(Ljava/awt/image/ColorModel;Ljava/awt/image/SampleModel;)V
areturn
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 20 0 this Lcom/sun/imageio/plugins/gif/GIFImageReader;
0 20 1 r [B
0 20 2 g [B
0 20 3 b [B
0 20 4 bits I
5 6 5 colorModel Ljava/awt/image/ColorModel;
7 20 5 colorModel Ljava/awt/image/ColorModel;
4 5 6 idx I
14 15 6 sampleModel Ljava/awt/image/SampleModel;
19 20 6 sampleModel Ljava/awt/image/SampleModel;
9 14 7 bandOffsets [I
MethodParameters:
Name Flags
r
g
b
bits
public java.util.Iterator<javax.imageio.ImageTypeSpecifier> getImageTypes(int);
descriptor: (I)Ljava/util/Iterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=13, 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 10
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: 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.localColorTable:[B
putfield com.sun.imageio.plugins.gif.GIFImageReader.fallbackColorTable:[B
9: goto 11
end local 4 10: 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 11: StackMap locals: byte[]
StackMap stack:
aload 4
ifnonnull 16
12: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.fallbackColorTable:[B
ifnonnull 15
13: aload 0
ldc "Use default color table."
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.processWarningOccurred:(Ljava/lang/String;)V
14: aload 0
invokestatic com.sun.imageio.plugins.gif.GIFImageReader.getDefaultPalette:()[B
putfield com.sun.imageio.plugins.gif.GIFImageReader.fallbackColorTable:[B
15: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.fallbackColorTable:[B
astore 4
16: StackMap locals:
StackMap stack:
aload 4
arraylength
iconst_3
idiv
istore 5
start local 5 17: iload 5
iconst_2
if_icmpne 20
18: iconst_1
istore 6
start local 6 19: goto 27
end local 6 StackMap locals: int
StackMap stack:
20: iload 5
iconst_4
if_icmpne 23
21: iconst_2
istore 6
start local 6 22: goto 27
end local 6 StackMap locals:
StackMap stack:
23: iload 5
bipush 8
if_icmpeq 24
iload 5
bipush 16
if_icmpne 26
24: StackMap locals:
StackMap stack:
iconst_4
istore 6
start local 6 25: goto 27
end local 6 26: StackMap locals:
StackMap stack:
bipush 8
istore 6
start local 6 27: StackMap locals: int
StackMap stack:
iconst_1
iload 6
ishl
istore 7
start local 7 28: iload 7
newarray 8
astore 8
start local 8 29: iload 7
newarray 8
astore 9
start local 9 30: iload 7
newarray 8
astore 10
start local 10 31: iconst_0
istore 11
start local 11 32: iconst_0
istore 12
start local 12 33: goto 38
34: 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
35: aload 9
iload 12
aload 4
iload 11
iinc 11 1
baload
bastore
36: aload 10
iload 12
aload 4
iload 11
iinc 11 1
baload
bastore
37: iinc 12 1
StackMap locals:
StackMap stack:
38: iload 12
iload 5
if_icmplt 34
end local 12 39: aload 3
aload 0
aload 8
aload 9
aload 10
iload 6
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.createIndexed:([B[B[BI)Ljavax/imageio/ImageTypeSpecifier;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
40: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
areturn
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 41 0 this Lcom/sun/imageio/plugins/gif/GIFImageReader;
0 41 1 imageIndex I
2 41 2 index I
6 41 3 l Ljava/util/List<Ljavax/imageio/ImageTypeSpecifier;>;
8 10 4 colorTable [B
11 41 4 colorTable [B
17 41 5 length I
19 20 6 bits I
22 23 6 bits I
25 26 6 bits I
27 41 6 bits I
28 41 7 lutLength I
29 41 8 r [B
30 41 9 g [B
31 41 10 b [B
32 41 11 rgbIndex I
33 39 12 i I
Exceptions:
throws javax.imageio.IIOException
Signature: (I)Ljava/util/Iterator<Ljavax/imageio/ImageTypeSpecifier;>;
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 33
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 32
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
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.abortRequested:()Z
ifeq 13
12: return
13: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.decodeThisRow:Z
ifeq 15
14: aload 0
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.outputRow:()V
15: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield com.sun.imageio.plugins.gif.GIFImageReader.streamX:I
16: 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 27
17: 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
18: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.streamY:I
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.height:I
if_icmplt 28
19: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.updateListeners:Ljava/util/List;
ifnull 21
20: 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
21: 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
22: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.interlacePass:I
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceMaxProgressivePass:I
if_icmple 24
23: return
24: 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
25: aload 0
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.interlacePass:I
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.startPass:(I)V
26: goto 28
27: 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
28: 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
29: 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
30: putfield com.sun.imageio.plugins.gif.GIFImageReader.destY:I
31: aload 0
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.computeDecodeThisRow:()V
32: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
33: iload 3
iload 2
if_icmplt 5
end local 3 34: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Lcom/sun/imageio/plugins/gif/GIFImageReader;
0 35 1 string [B
0 35 2 len I
4 34 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.StringBuilder
dup
iconst_3
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 2
start local 2 9: aload 2
aload 1
iconst_3
baload
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
10: aload 2
aload 1
iconst_4
baload
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
11: aload 2
aload 1
iconst_5
baload
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
12: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.streamMetadata:Lcom/sun/imageio/plugins/gif/GIFStreamMetadata;
aload 2
invokevirtual java.lang.StringBuilder.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.StringBuilder 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.StringBuilder int int
StackMap stack: com.sun.imageio.plugins.gif.GIFStreamMetadata
21: iconst_0
StackMap locals: com.sun.imageio.plugins.gif.GIFImageReader byte[] java.lang.StringBuilder 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/StringBuilder;
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:
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;
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;
ifnull 1
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
ifne 2
1: StackMap locals:
StackMap stack:
return
2: StackMap locals:
StackMap stack:
getstatic com.sun.imageio.plugins.gif.GIFImageReader.interlaceOffset:[I
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.interlacePass:I
iaload
istore 2
start local 2 3: getstatic com.sun.imageio.plugins.gif.GIFImageReader.interlaceIncrement:[I
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.interlacePass:I
iaload
istore 3
start local 3 4: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceRegion:Ljava/awt/Rectangle;
5: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.destinationOffset:Ljava/awt/Point;
6: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.destinationRegion:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.x:I
7: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.destinationRegion:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.y:I
8: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.destinationRegion:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.x:I
9: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.destinationRegion:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.width:I
10: iadd
11: iconst_1
12: isub
13: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.destinationRegion:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.y:I
14: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.destinationRegion:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.height:I
15: iadd
16: iconst_1
17: isub
18: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceXSubsampling:I
19: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceYSubsampling:I
20: iconst_0
21: iload 2
22: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.destinationRegion:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.width:I
23: 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
24: iconst_1
25: iload 3
26: invokestatic com.sun.imageio.plugins.common.ReaderUtil.computeUpdatedPixels:(Ljava/awt/Rectangle;Ljava/awt/Point;IIIIIIIIIIII)[I
27: astore 4
start local 4 28: aload 0
aload 4
iconst_1
iaload
putfield com.sun.imageio.plugins.gif.GIFImageReader.updateMinY:I
29: aload 0
aload 4
iconst_5
iaload
putfield com.sun.imageio.plugins.gif.GIFImageReader.updateYStep:I
30: iconst_1
newarray 10
astore 5
start local 5 31: aload 0
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.theImage:Ljava/awt/image/BufferedImage;
32: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.interlacePass:I
33: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceMinProgressivePass:I
34: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceMaxProgressivePass:I
35: iconst_0
36: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.updateMinY:I
37: iconst_1
38: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.updateYStep:I
39: aload 5
40: invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.processPassStarted:(Ljava/awt/image/BufferedImage;IIIIIII[I)V
41: 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 42 0 this Lcom/sun/imageio/plugins/gif/GIFImageReader;
0 42 1 pass I
3 42 2 y I
4 42 3 yStep I
28 42 4 vals [I
31 42 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.readMetadata:()V
7: aload 2
ifnonnull 9
8: aload 0
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.getDefaultReadParam:()Ljavax/imageio/ImageReadParam;
astore 2
9: 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 10: aload 0
aload 2
11: aload 4
12: 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
13: 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
14: 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;
15: 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;
16: 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
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.imageHeight:I
putfield com.sun.imageio.plugins.gif.GIFImageReader.height:I
18: aload 0
iconst_0
putfield com.sun.imageio.plugins.gif.GIFImageReader.streamX:I
19: aload 0
iconst_0
putfield com.sun.imageio.plugins.gif.GIFImageReader.streamY:I
20: aload 0
iconst_0
putfield com.sun.imageio.plugins.gif.GIFImageReader.rowsDone:I
21: aload 0
iconst_0
putfield com.sun.imageio.plugins.gif.GIFImageReader.interlacePass:I
22: 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;
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.destinationRegion:Ljava/awt/Rectangle;
24: 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;
25: 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;
26: invokestatic com.sun.imageio.plugins.gif.GIFImageReader.computeRegions:(Ljavax/imageio/ImageReadParam;IILjava/awt/image/BufferedImage;Ljava/awt/Rectangle;Ljava/awt/Rectangle;)V
27: 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
28: 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
29: putfield com.sun.imageio.plugins.gif.GIFImageReader.destinationOffset:Ljava/awt/Point;
30: aload 0
aload 2
invokevirtual javax.imageio.ImageReadParam.getSourceXSubsampling:()I
putfield com.sun.imageio.plugins.gif.GIFImageReader.sourceXSubsampling:I
31: aload 0
aload 2
invokevirtual javax.imageio.ImageReadParam.getSourceYSubsampling:()I
putfield com.sun.imageio.plugins.gif.GIFImageReader.sourceYSubsampling:I
32: aload 0
33: aload 2
invokevirtual javax.imageio.ImageReadParam.getSourceMinProgressivePass:()I
iconst_0
invokestatic java.lang.Math.max:(II)I
34: putfield com.sun.imageio.plugins.gif.GIFImageReader.sourceMinProgressivePass:I
35: aload 0
36: aload 2
invokevirtual javax.imageio.ImageReadParam.getSourceMaxProgressivePass:()I
iconst_3
invokestatic java.lang.Math.min:(II)I
37: putfield com.sun.imageio.plugins.gif.GIFImageReader.sourceMaxProgressivePass:I
38: aload 0
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.destinationRegion:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.y:I
39: 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
40: putfield com.sun.imageio.plugins.gif.GIFImageReader.destY:I
41: aload 0
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.computeDecodeThisRow:()V
42: aload 0
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.clearAbortRequest:()V
43: aload 0
iload 1
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.processImageStarted:(I)V
44: aload 0
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.abortRequested:()Z
ifeq 47
45: aload 0
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.processReadAborted:()V
46: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.theImage:Ljava/awt/image/BufferedImage;
areturn
47: StackMap locals: java.util.Iterator
StackMap stack:
aload 0
iconst_0
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.startPass:(I)V
48: aload 0
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.width:I
newarray 8
putfield com.sun.imageio.plugins.gif.GIFImageReader.rowBuf:[B
49: 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
50: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.initCodeSize:I
iconst_1
if_icmplt 51
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.initCodeSize:I
bipush 8
if_icmple 52
51: StackMap locals:
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
52: 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
53: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.blockLength:I
istore 5
start local 5 54: iconst_0
istore 6
start local 6 55: goto 59
56: 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 57: iload 5
iload 7
isub
istore 5
58: iload 6
iload 7
iadd
istore 6
end local 7 59: StackMap locals:
StackMap stack:
iload 5
ifgt 56
60: aload 0
iconst_0
putfield com.sun.imageio.plugins.gif.GIFImageReader.bitPos:I
61: aload 0
iconst_0
putfield com.sun.imageio.plugins.gif.GIFImageReader.nextByte:I
62: aload 0
iconst_0
putfield com.sun.imageio.plugins.gif.GIFImageReader.lastBlockFound:Z
63: aload 0
iconst_0
putfield com.sun.imageio.plugins.gif.GIFImageReader.interlacePass:I
64: aload 0
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.initNext32Bits:()V
65: 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
66: 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
67: iconst_0
istore 8
start local 8 68: sipush 4096
newarray 10
astore 9
start local 9 69: sipush 4096
newarray 8
astore 10
start local 10 70: sipush 4096
newarray 8
astore 11
start local 11 71: sipush 4096
newarray 10
astore 12
start local 12 72: sipush 4096
newarray 8
astore 13
start local 13 73: aload 0
aload 9
aload 10
aload 11
aload 12
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.initializeStringTable:([I[B[B[I)V
74: iconst_1
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.initCodeSize:I
ishl
iconst_2
iadd
istore 14
start local 14 75: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.initCodeSize:I
iconst_1
iadd
istore 15
start local 15 76: iconst_1
iload 15
ishl
iconst_1
isub
istore 16
start local 16 77: 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 78: iload 7
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.clearCode:I
if_icmpne 88
79: aload 0
aload 9
aload 10
aload 11
aload 12
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.initializeStringTable:([I[B[B[I)V
80: iconst_1
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.initCodeSize:I
ishl
iconst_2
iadd
istore 14
81: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.initCodeSize:I
iconst_1
iadd
istore 15
82: iconst_1
iload 15
ishl
iconst_1
isub
istore 16
83: aload 0
iload 15
iload 16
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.getCode:(II)I
istore 7
84: iload 7
aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.eofCode:I
if_icmpne 109
85: aload 0
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.processImageComplete:()V
86: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.theImage:Ljava/awt/image/BufferedImage;
87: areturn
88: 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 92
89: aload 0
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.processImageComplete:()V
90: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.theImage:Ljava/awt/image/BufferedImage;
91: areturn
92: StackMap locals:
StackMap stack:
iload 7
iload 14
if_icmpge 95
93: iload 7
istore 17
start local 17 94: goto 98
end local 17 95: StackMap locals:
StackMap stack:
iload 8
istore 17
start local 17 96: iload 7
iload 14
if_icmpeq 98
97: aload 0
ldc "Out-of-sequence code!"
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.processWarningOccurred:(Ljava/lang/String;)V
98: StackMap locals: int
StackMap stack:
iload 14
istore 18
start local 18 99: iload 8
istore 19
start local 19 100: aload 9
iload 18
iload 19
iastore
101: aload 10
iload 18
aload 11
iload 17
baload
bastore
102: aload 11
iload 18
aload 11
iload 19
baload
bastore
103: aload 12
iload 18
aload 12
iload 19
iaload
iconst_1
iadd
iastore
104: iinc 14 1
105: iload 14
iconst_1
iload 15
ishl
if_icmpne 109
106: iload 14
sipush 4096
if_icmpge 109
107: iinc 15 1
108: iconst_1
iload 15
ishl
iconst_1
isub
istore 16
end local 19 end local 18 end local 17 109: StackMap locals:
StackMap stack:
iload 7
istore 17
start local 17 110: aload 12
iload 17
iaload
istore 18
start local 18 111: iload 18
iconst_1
isub
istore 19
start local 19 112: goto 116
113: StackMap locals: int int int
StackMap stack:
aload 13
iload 19
aload 10
iload 17
baload
bastore
114: aload 9
iload 17
iaload
istore 17
115: iinc 19 -1
StackMap locals:
StackMap stack:
116: iload 19
ifge 113
end local 19 117: aload 0
aload 13
iload 18
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.outputPixels:([BI)V
118: iload 7
istore 8
end local 18 end local 17 119: aload 0
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.abortRequested:()Z
ifeq 77
120: aload 0
invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.processReadAborted:()V
121: aload 0
getfield com.sun.imageio.plugins.gif.GIFImageReader.theImage:Ljava/awt/image/BufferedImage;
122: 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 7 end local 6 end local 5 123: 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 124: 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 125 0 this Lcom/sun/imageio/plugins/gif/GIFImageReader;
0 125 1 imageIndex I
0 125 2 param Ljavax/imageio/ImageReadParam;
4 125 3 index I
10 125 4 imageTypes Ljava/util/Iterator<Ljavax/imageio/ImageTypeSpecifier;>;
54 123 5 left I
55 123 6 off I
57 59 7 nbytes I
78 123 7 code I
68 123 8 oldCode I
69 123 9 prefix [I
70 123 10 suffix [B
71 123 11 initial [B
72 123 12 length [I
73 123 13 string [B
75 123 14 tableIndex I
76 123 15 codeSize I
77 123 16 codeMask I
94 95 17 newSuffixIndex I
96 109 17 newSuffixIndex I
99 109 18 ti I
100 109 19 oc I
110 119 17 c I
111 119 18 len I
112 117 19 i I
124 125 5 e Ljava/io/IOException;
Exception table:
from to target type
49 87 123 Class java.io.IOException
88 91 123 Class java.io.IOException
92 122 123 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: aload 0
aconst_null
putfield com.sun.imageio.plugins.gif.GIFImageReader.fallbackColorTable:[B
20: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lcom/sun/imageio/plugins/gif/GIFImageReader;
private static synchronized byte[] getDefaultPalette();
descriptor: ()[B
flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=5, locals=7, args_size=0
0: getstatic com.sun.imageio.plugins.gif.GIFImageReader.defaultPalette:[B
ifnonnull 20
1: new java.awt.image.BufferedImage
dup
iconst_1
iconst_1
2: bipush 13
3: invokespecial java.awt.image.BufferedImage.<init>:(III)V
astore 0
start local 0 4: aload 0
invokevirtual java.awt.image.BufferedImage.getColorModel:()Ljava/awt/image/ColorModel;
checkcast java.awt.image.IndexColorModel
astore 1
start local 1 5: aload 1
invokevirtual java.awt.image.IndexColorModel.getMapSize:()I
istore 2
start local 2 6: iload 2
newarray 8
astore 3
start local 3 7: iload 2
newarray 8
astore 4
start local 4 8: iload 2
newarray 8
astore 5
start local 5 9: aload 1
aload 3
invokevirtual java.awt.image.IndexColorModel.getReds:([B)V
10: aload 1
aload 4
invokevirtual java.awt.image.IndexColorModel.getGreens:([B)V
11: aload 1
aload 5
invokevirtual java.awt.image.IndexColorModel.getBlues:([B)V
12: iload 2
iconst_3
imul
newarray 8
putstatic com.sun.imageio.plugins.gif.GIFImageReader.defaultPalette:[B
13: iconst_0
istore 6
start local 6 14: goto 19
15: StackMap locals: java.awt.image.BufferedImage java.awt.image.IndexColorModel int byte[] byte[] byte[] int
StackMap stack:
getstatic com.sun.imageio.plugins.gif.GIFImageReader.defaultPalette:[B
iconst_3
iload 6
imul
iconst_0
iadd
aload 3
iload 6
baload
bastore
16: getstatic com.sun.imageio.plugins.gif.GIFImageReader.defaultPalette:[B
iconst_3
iload 6
imul
iconst_1
iadd
aload 4
iload 6
baload
bastore
17: getstatic com.sun.imageio.plugins.gif.GIFImageReader.defaultPalette:[B
iconst_3
iload 6
imul
iconst_2
iadd
aload 5
iload 6
baload
bastore
18: iinc 6 1
StackMap locals:
StackMap stack:
19: iload 6
iload 2
if_icmplt 15
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 20: StackMap locals:
StackMap stack:
getstatic com.sun.imageio.plugins.gif.GIFImageReader.defaultPalette:[B
areturn
LocalVariableTable:
Start End Slot Name Signature
4 20 0 img Ljava/awt/image/BufferedImage;
5 20 1 icm Ljava/awt/image/IndexColorModel;
6 20 2 size I
7 20 3 r [B
8 20 4 g [B
9 20 5 b [B
14 20 6 i I
}
SourceFile: "GIFImageReader.java"