public class com.sun.imageio.plugins.png.PNGImageReader extends javax.imageio.ImageReader
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.imageio.plugins.png.PNGImageReader
super_class: javax.imageio.ImageReader
{
static final int IHDR_TYPE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1229472850
static final int PLTE_TYPE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1347179589
static final int IDAT_TYPE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1229209940
static final int IEND_TYPE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1229278788
static final int bKGD_TYPE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1649100612
static final int cHRM_TYPE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1665684045
static final int gAMA_TYPE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1732332865
static final int hIST_TYPE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1749635924
static final int iCCP_TYPE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1766015824
static final int iTXt_TYPE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1767135348
static final int pHYs_TYPE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1883789683
static final int sBIT_TYPE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1933723988
static final int sPLT_TYPE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1934642260
static final int sRGB_TYPE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1934772034
static final int tEXt_TYPE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1950701684
static final int tIME_TYPE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1950960965
static final int tRNS_TYPE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1951551059
static final int zTXt_TYPE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 2052348020
static final int PNG_COLOR_GRAY;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 0
static final int PNG_COLOR_RGB;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 2
static final int PNG_COLOR_PALETTE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 3
static final int PNG_COLOR_GRAY_ALPHA;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 4
static final int PNG_COLOR_RGB_ALPHA;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 6
static final int[] inputBandsForColorType;
descriptor: [I
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final int PNG_FILTER_NONE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 0
static final int PNG_FILTER_SUB;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1
static final int PNG_FILTER_UP;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 2
static final int PNG_FILTER_AVERAGE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 3
static final int PNG_FILTER_PAETH;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 4
static final int[] adam7XOffset;
descriptor: [I
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final int[] adam7YOffset;
descriptor: [I
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final int[] adam7XSubsampling;
descriptor: [I
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final int[] adam7YSubsampling;
descriptor: [I
flags: (0x0018) ACC_STATIC, ACC_FINAL
private static final boolean debug;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
javax.imageio.stream.ImageInputStream stream;
descriptor: Ljavax/imageio/stream/ImageInputStream;
flags: (0x0000)
boolean ;
descriptor: Z
flags: (0x0000)
boolean gotMetadata;
descriptor: Z
flags: (0x0000)
javax.imageio.ImageReadParam lastParam;
descriptor: Ljavax/imageio/ImageReadParam;
flags: (0x0000)
long imageStartPosition;
descriptor: J
flags: (0x0000)
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)
int[] sourceBands;
descriptor: [I
flags: (0x0000)
int[] destinationBands;
descriptor: [I
flags: (0x0000)
java.awt.Point destinationOffset;
descriptor: Ljava/awt/Point;
flags: (0x0000)
com.sun.imageio.plugins.png.PNGMetadata metadata;
descriptor: Lcom/sun/imageio/plugins/png/PNGMetadata;
flags: (0x0000)
java.io.DataInputStream pixelStream;
descriptor: Ljava/io/DataInputStream;
flags: (0x0000)
java.awt.image.BufferedImage theImage;
descriptor: Ljava/awt/image/BufferedImage;
flags: (0x0000)
int pixelsDone;
descriptor: I
flags: (0x0000)
int totalPixels;
descriptor: I
flags: (0x0000)
private static final int[][] bandOffsets;
descriptor: [[I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=0, args_size=0
0: bipush 7
newarray 10
dup
iconst_0
1: iconst_1
iastore
dup
iconst_1
2: iconst_m1
iastore
dup
iconst_2
3: iconst_3
iastore
dup
iconst_3
4: iconst_1
iastore
dup
iconst_4
5: iconst_2
iastore
dup
iconst_5
6: iconst_m1
iastore
dup
bipush 6
7: iconst_4
iastore
8: putstatic com.sun.imageio.plugins.png.PNGImageReader.inputBandsForColorType:[I
9: bipush 7
newarray 10
dup
iconst_1
iconst_4
iastore
dup
iconst_3
iconst_2
iastore
dup
iconst_5
iconst_1
iastore
putstatic com.sun.imageio.plugins.png.PNGImageReader.adam7XOffset:[I
10: bipush 7
newarray 10
dup
iconst_2
iconst_4
iastore
dup
iconst_4
iconst_2
iastore
dup
bipush 6
iconst_1
iastore
putstatic com.sun.imageio.plugins.png.PNGImageReader.adam7YOffset:[I
11: bipush 8
newarray 10
dup
iconst_0
bipush 8
iastore
dup
iconst_1
bipush 8
iastore
dup
iconst_2
iconst_4
iastore
dup
iconst_3
iconst_4
iastore
dup
iconst_4
iconst_2
iastore
dup
iconst_5
iconst_2
iastore
dup
bipush 6
iconst_1
iastore
dup
bipush 7
iconst_1
iastore
putstatic com.sun.imageio.plugins.png.PNGImageReader.adam7XSubsampling:[I
12: bipush 8
newarray 10
dup
iconst_0
bipush 8
iastore
dup
iconst_1
bipush 8
iastore
dup
iconst_2
bipush 8
iastore
dup
iconst_3
iconst_4
iastore
dup
iconst_4
iconst_4
iastore
dup
iconst_5
iconst_2
iastore
dup
bipush 6
iconst_2
iastore
dup
bipush 7
iconst_1
iastore
putstatic com.sun.imageio.plugins.png.PNGImageReader.adam7YSubsampling:[I
13: iconst_5
anewarray int[]
dup
iconst_1
14: iconst_1
newarray 10
aastore
dup
iconst_2
15: iconst_2
newarray 10
dup
iconst_1
iconst_1
iastore
aastore
dup
iconst_3
16: iconst_3
newarray 10
dup
iconst_1
iconst_1
iastore
dup
iconst_2
iconst_2
iastore
aastore
dup
iconst_4
17: iconst_4
newarray 10
dup
iconst_1
iconst_1
iastore
dup
iconst_2
iconst_2
iastore
dup
iconst_3
iconst_3
iastore
aastore
18: putstatic com.sun.imageio.plugins.png.PNGImageReader.bandOffsets:[[I
19: 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=5, 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.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
2: aload 0
iconst_0
putfield com.sun.imageio.plugins.png.PNGImageReader.gotHeader:Z
3: aload 0
iconst_0
putfield com.sun.imageio.plugins.png.PNGImageReader.gotMetadata:Z
4: aload 0
aconst_null
putfield com.sun.imageio.plugins.png.PNGImageReader.lastParam:Ljavax/imageio/ImageReadParam;
5: aload 0
ldc -1
putfield com.sun.imageio.plugins.png.PNGImageReader.imageStartPosition:J
6: aload 0
aconst_null
putfield com.sun.imageio.plugins.png.PNGImageReader.sourceRegion:Ljava/awt/Rectangle;
7: aload 0
iconst_m1
putfield com.sun.imageio.plugins.png.PNGImageReader.sourceXSubsampling:I
8: aload 0
iconst_m1
putfield com.sun.imageio.plugins.png.PNGImageReader.sourceYSubsampling:I
9: aload 0
iconst_0
putfield com.sun.imageio.plugins.png.PNGImageReader.sourceMinProgressivePass:I
10: aload 0
bipush 6
putfield com.sun.imageio.plugins.png.PNGImageReader.sourceMaxProgressivePass:I
11: aload 0
aconst_null
putfield com.sun.imageio.plugins.png.PNGImageReader.sourceBands:[I
12: aload 0
aconst_null
putfield com.sun.imageio.plugins.png.PNGImageReader.destinationBands:[I
13: aload 0
new java.awt.Point
dup
iconst_0
iconst_0
invokespecial java.awt.Point.<init>:(II)V
putfield com.sun.imageio.plugins.png.PNGImageReader.destinationOffset:Ljava/awt/Point;
14: aload 0
new com.sun.imageio.plugins.png.PNGMetadata
dup
invokespecial com.sun.imageio.plugins.png.PNGMetadata.<init>:()V
putfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
15: aload 0
aconst_null
putfield com.sun.imageio.plugins.png.PNGImageReader.pixelStream:Ljava/io/DataInputStream;
16: aload 0
aconst_null
putfield com.sun.imageio.plugins.png.PNGImageReader.theImage:Ljava/awt/image/BufferedImage;
17: aload 0
iconst_0
putfield com.sun.imageio.plugins.png.PNGImageReader.pixelsDone:I
18: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/sun/imageio/plugins/png/PNGImageReader;
0 19 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 0
aload 1
checkcast javax.imageio.stream.ImageInputStream
putfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
2: aload 0
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.resetStreamSettings:()V
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/imageio/plugins/png/PNGImageReader;
0 4 1 input Ljava/lang/Object;
0 4 2 seekForwardOnly Z
0 4 3 ignoreMetadata Z
MethodParameters:
Name Flags
input
seekForwardOnly
ignoreMetadata
private java.lang.String readNullTerminatedString(java.lang.String, int);
descriptor: (Ljava/lang/String;I)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 3
start local 3 1: iconst_0
istore 5
start local 5 2: goto 5
start local 4 3: StackMap locals: java.io.ByteArrayOutputStream int int
StackMap stack:
iload 4
iconst_m1
if_icmpne 4
new java.io.EOFException
dup
invokespecial java.io.EOFException.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
aload 3
iload 4
invokevirtual java.io.ByteArrayOutputStream.write:(I)V
end local 4 5: StackMap locals: com.sun.imageio.plugins.png.PNGImageReader java.lang.String int java.io.ByteArrayOutputStream top int
StackMap stack:
iload 2
iload 5
iinc 5 1
if_icmple 7
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.read:()I
dup
istore 4
start local 4 6: ifne 3
end local 4 7: StackMap locals:
StackMap stack:
new java.lang.String
dup
aload 3
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
aload 1
invokespecial java.lang.String.<init>:([BLjava/lang/String;)V
areturn
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/imageio/plugins/png/PNGImageReader;
0 8 1 charset Ljava/lang/String;
0 8 2 maxLen I
1 8 3 baos Ljava/io/ByteArrayOutputStream;
3 5 4 b I
6 7 4 b I
2 8 5 count I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
charset
maxLen
private void ();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=11, args_size=1
start local 0 0: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.gotHeader:Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
ifnonnull 4
3: new java.lang.IllegalStateException
dup
ldc "Input source not set!"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
bipush 8
newarray 8
astore 1
start local 1 5: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
aload 1
invokeinterface javax.imageio.stream.ImageInputStream.readFully:([B)V
6: aload 1
iconst_0
baload
bipush -119
if_icmpne 14
7: aload 1
iconst_1
baload
bipush 80
if_icmpne 14
8: aload 1
iconst_2
baload
bipush 78
if_icmpne 14
9: aload 1
iconst_3
baload
bipush 71
if_icmpne 14
10: aload 1
iconst_4
baload
bipush 13
if_icmpne 14
11: aload 1
iconst_5
baload
bipush 10
if_icmpne 14
12: aload 1
bipush 6
baload
bipush 26
if_icmpne 14
13: aload 1
bipush 7
baload
bipush 10
if_icmpeq 15
14: StackMap locals: byte[]
StackMap stack:
new javax.imageio.IIOException
dup
ldc "Bad PNG signature!"
invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readInt:()I
istore 2
start local 2 16: iload 2
bipush 13
if_icmpeq 18
17: new javax.imageio.IIOException
dup
ldc "Bad length for IHDR chunk!"
invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readInt:()I
istore 3
start local 3 19: iload 3
ldc 1229472850
if_icmpeq 21
20: new javax.imageio.IIOException
dup
ldc "Bad type for IHDR chunk!"
invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
athrow
21: StackMap locals: int
StackMap stack:
aload 0
new com.sun.imageio.plugins.png.PNGMetadata
dup
invokespecial com.sun.imageio.plugins.png.PNGMetadata.<init>:()V
putfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
22: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readInt:()I
istore 4
start local 4 23: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readInt:()I
istore 5
start local 5 24: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
aload 1
iconst_0
iconst_5
invokeinterface javax.imageio.stream.ImageInputStream.readFully:([BII)V
25: aload 1
iconst_0
baload
sipush 255
iand
istore 6
start local 6 26: aload 1
iconst_1
baload
sipush 255
iand
istore 7
start local 7 27: aload 1
iconst_2
baload
sipush 255
iand
istore 8
start local 8 28: aload 1
iconst_3
baload
sipush 255
iand
istore 9
start local 9 29: aload 1
iconst_4
baload
sipush 255
iand
istore 10
start local 10 30: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
iconst_4
invokeinterface javax.imageio.stream.ImageInputStream.skipBytes:(I)I
pop
31: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.getStreamPosition:()J
invokeinterface javax.imageio.stream.ImageInputStream.flushBefore:(J)V
32: iload 4
ifgt 34
33: new javax.imageio.IIOException
dup
ldc "Image width <= 0!"
invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
athrow
34: StackMap locals: com.sun.imageio.plugins.png.PNGImageReader byte[] int int int int int int int int int
StackMap stack:
iload 5
ifgt 36
35: new javax.imageio.IIOException
dup
ldc "Image height <= 0!"
invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
athrow
36: StackMap locals:
StackMap stack:
iload 6
iconst_1
if_icmpeq 39
iload 6
iconst_2
if_icmpeq 39
iload 6
iconst_4
if_icmpeq 39
37: iload 6
bipush 8
if_icmpeq 39
iload 6
bipush 16
if_icmpeq 39
38: new javax.imageio.IIOException
dup
ldc "Bit depth must be 1, 2, 4, 8, or 16!"
invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
athrow
39: StackMap locals:
StackMap stack:
iload 7
ifeq 42
iload 7
iconst_2
if_icmpeq 42
iload 7
iconst_3
if_icmpeq 42
40: iload 7
iconst_4
if_icmpeq 42
iload 7
bipush 6
if_icmpeq 42
41: new javax.imageio.IIOException
dup
ldc "Color type must be 0, 2, 3, 4, or 6!"
invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
athrow
42: StackMap locals:
StackMap stack:
iload 7
iconst_3
if_icmpne 44
iload 6
bipush 16
if_icmpne 44
43: new javax.imageio.IIOException
dup
ldc "Bad color type/bit depth combination!"
invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
athrow
44: StackMap locals:
StackMap stack:
iload 7
iconst_2
if_icmpeq 47
45: iload 7
bipush 6
if_icmpeq 47
46: iload 7
iconst_4
if_icmpne 49
47: StackMap locals:
StackMap stack:
iload 6
bipush 8
if_icmpeq 49
iload 6
bipush 16
if_icmpeq 49
48: new javax.imageio.IIOException
dup
ldc "Bad color type/bit depth combination!"
invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
athrow
49: StackMap locals:
StackMap stack:
iload 8
ifeq 51
50: new javax.imageio.IIOException
dup
ldc "Unknown compression method (not 0)!"
invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
athrow
51: StackMap locals:
StackMap stack:
iload 9
ifeq 53
52: new javax.imageio.IIOException
dup
ldc "Unknown filter method (not 0)!"
invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
athrow
53: StackMap locals:
StackMap stack:
iload 10
ifeq 55
iload 10
iconst_1
if_icmpeq 55
54: new javax.imageio.IIOException
dup
ldc "Unknown interlace method (not 0 or 1)!"
invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
athrow
55: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
iconst_1
putfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_present:Z
56: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
iload 4
putfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_width:I
57: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
iload 5
putfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_height:I
58: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
iload 6
putfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_bitDepth:I
59: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
iload 7
putfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_colorType:I
60: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
iload 8
putfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_compressionMethod:I
61: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
iload 9
putfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_filterMethod:I
62: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
iload 10
putfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_interlaceMethod:I
63: aload 0
iconst_1
putfield com.sun.imageio.plugins.png.PNGImageReader.gotHeader:Z
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 64: goto 67
StackMap locals: com.sun.imageio.plugins.png.PNGImageReader
StackMap stack: java.io.IOException
65: astore 1
start local 1 66: new javax.imageio.IIOException
dup
ldc "I/O error reading PNG header!"
aload 1
invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 1 67: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 68 0 this Lcom/sun/imageio/plugins/png/PNGImageReader;
5 64 1 signature [B
16 64 2 IHDR_length I
19 64 3 IHDR_type I
23 64 4 width I
24 64 5 height I
26 64 6 bitDepth I
27 64 7 colorType I
28 64 8 compressionMethod I
29 64 9 filterMethod I
30 64 10 interlaceMethod I
66 67 1 e Ljava/io/IOException;
Exception table:
from to target type
4 64 65 Class java.io.IOException
Exceptions:
throws javax.imageio.IIOException
private void parse_PLTE_chunk(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_present:Z
ifeq 5
1: aload 0
2: ldc "A PNG image may not contain more than one PLTE chunk.\nThe chunk wil be ignored."
3: invokevirtual com.sun.imageio.plugins.png.PNGImageReader.processWarningOccurred:(Ljava/lang/String;)V
4: return
5: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_colorType:I
ifeq 7
6: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_colorType:I
iconst_4
if_icmpne 11
7: StackMap locals:
StackMap stack:
aload 0
8: ldc "A PNG gray or gray alpha image cannot have a PLTE chunk.\nThe chunk wil be ignored."
9: invokevirtual com.sun.imageio.plugins.png.PNGImageReader.processWarningOccurred:(Ljava/lang/String;)V
10: return
11: StackMap locals:
StackMap stack:
iload 1
newarray 8
astore 2
start local 2 12: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
aload 2
invokeinterface javax.imageio.stream.ImageInputStream.readFully:([B)V
13: iload 1
iconst_3
idiv
istore 3
start local 3 14: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_colorType:I
iconst_3
if_icmpne 22
15: iconst_1
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_bitDepth:I
ishl
istore 4
start local 4 16: iload 3
iload 4
if_icmple 21
17: aload 0
18: ldc "PLTE chunk contains too many entries for bit depth, ignoring extras."
19: invokevirtual com.sun.imageio.plugins.png.PNGImageReader.processWarningOccurred:(Ljava/lang/String;)V
20: iload 4
istore 3
21: StackMap locals: byte[] int int
StackMap stack:
iload 3
iload 4
invokestatic java.lang.Math.min:(II)I
istore 3
end local 4 22: StackMap locals:
StackMap stack:
iload 3
bipush 16
if_icmple 25
23: sipush 256
istore 4
start local 4 24: goto 32
end local 4 StackMap locals:
StackMap stack:
25: iload 3
iconst_4
if_icmple 28
26: bipush 16
istore 4
start local 4 27: goto 32
end local 4 StackMap locals:
StackMap stack:
28: iload 3
iconst_2
if_icmple 31
29: iconst_4
istore 4
start local 4 30: goto 32
end local 4 31: StackMap locals:
StackMap stack:
iconst_2
istore 4
start local 4 32: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
iconst_1
putfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_present:Z
33: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
iload 4
newarray 8
putfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_red:[B
34: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
iload 4
newarray 8
putfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_green:[B
35: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
iload 4
newarray 8
putfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_blue:[B
36: iconst_0
istore 5
start local 5 37: iconst_0
istore 6
start local 6 38: goto 43
39: StackMap locals: int int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_red:[B
iload 6
aload 2
iload 5
iinc 5 1
baload
bastore
40: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_green:[B
iload 6
aload 2
iload 5
iinc 5 1
baload
bastore
41: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_blue:[B
iload 6
aload 2
iload 5
iinc 5 1
baload
bastore
42: iinc 6 1
StackMap locals:
StackMap stack:
43: iload 6
iload 3
if_icmplt 39
end local 6 44: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 45 0 this Lcom/sun/imageio/plugins/png/PNGImageReader;
0 45 1 chunkLength I
12 45 2 palette [B
14 45 3 numEntries I
16 22 4 maxEntries I
24 25 4 paletteEntries I
27 28 4 paletteEntries I
30 31 4 paletteEntries I
32 45 4 paletteEntries I
37 45 5 index I
38 44 6 i I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
chunkLength
private void parse_bKGD_chunk();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_colorType:I
iconst_3
if_icmpne 4
1: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
iconst_3
putfield com.sun.imageio.plugins.png.PNGMetadata.bKGD_colorType:I
2: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
putfield com.sun.imageio.plugins.png.PNGMetadata.bKGD_index:I
3: goto 13
StackMap locals:
StackMap stack:
4: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_colorType:I
ifeq 6
5: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_colorType:I
iconst_4
if_icmpne 9
6: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
iconst_0
putfield com.sun.imageio.plugins.png.PNGMetadata.bKGD_colorType:I
7: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
putfield com.sun.imageio.plugins.png.PNGMetadata.bKGD_gray:I
8: goto 13
9: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
iconst_2
putfield com.sun.imageio.plugins.png.PNGMetadata.bKGD_colorType:I
10: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
putfield com.sun.imageio.plugins.png.PNGMetadata.bKGD_red:I
11: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
putfield com.sun.imageio.plugins.png.PNGMetadata.bKGD_green:I
12: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
putfield com.sun.imageio.plugins.png.PNGMetadata.bKGD_blue:I
13: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
iconst_1
putfield com.sun.imageio.plugins.png.PNGMetadata.bKGD_present:Z
14: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/sun/imageio/plugins/png/PNGImageReader;
Exceptions:
throws java.io.IOException
private void parse_cHRM_chunk();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readInt:()I
putfield com.sun.imageio.plugins.png.PNGMetadata.cHRM_whitePointX:I
1: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readInt:()I
putfield com.sun.imageio.plugins.png.PNGMetadata.cHRM_whitePointY:I
2: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readInt:()I
putfield com.sun.imageio.plugins.png.PNGMetadata.cHRM_redX:I
3: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readInt:()I
putfield com.sun.imageio.plugins.png.PNGMetadata.cHRM_redY:I
4: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readInt:()I
putfield com.sun.imageio.plugins.png.PNGMetadata.cHRM_greenX:I
5: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readInt:()I
putfield com.sun.imageio.plugins.png.PNGMetadata.cHRM_greenY:I
6: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readInt:()I
putfield com.sun.imageio.plugins.png.PNGMetadata.cHRM_blueX:I
7: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readInt:()I
putfield com.sun.imageio.plugins.png.PNGMetadata.cHRM_blueY:I
8: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
iconst_1
putfield com.sun.imageio.plugins.png.PNGMetadata.cHRM_present:Z
9: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/imageio/plugins/png/PNGImageReader;
Exceptions:
throws java.io.IOException
private void parse_gAMA_chunk();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readInt:()I
istore 1
start local 1 1: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
iload 1
putfield com.sun.imageio.plugins.png.PNGMetadata.gAMA_gamma:I
2: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
iconst_1
putfield com.sun.imageio.plugins.png.PNGMetadata.gAMA_present:Z
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/imageio/plugins/png/PNGImageReader;
1 4 1 gamma I
Exceptions:
throws java.io.IOException
private void parse_hIST_chunk(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_present:Z
ifne 2
1: new javax.imageio.IIOException
dup
ldc "hIST chunk without prior PLTE chunk!"
invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
iload 1
iconst_2
idiv
newarray 5
putfield com.sun.imageio.plugins.png.PNGMetadata.hIST_histogram:[C
3: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.hIST_histogram:[C
4: iconst_0
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.hIST_histogram:[C
arraylength
5: invokeinterface javax.imageio.stream.ImageInputStream.readFully:([CII)V
6: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
iconst_1
putfield com.sun.imageio.plugins.png.PNGMetadata.hIST_present:Z
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/imageio/plugins/png/PNGImageReader;
0 8 1 chunkLength I
Exceptions:
throws java.io.IOException, javax.imageio.IIOException
MethodParameters:
Name Flags
chunkLength
private void parse_iCCP_chunk(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
ldc "ISO-8859-1"
bipush 80
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.readNullTerminatedString:(Ljava/lang/String;I)Ljava/lang/String;
astore 2
start local 2 1: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
aload 2
putfield com.sun.imageio.plugins.png.PNGMetadata.iCCP_profileName:Ljava/lang/String;
2: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
putfield com.sun.imageio.plugins.png.PNGMetadata.iCCP_compressionMethod:I
3: iload 1
aload 2
invokevirtual java.lang.String.length:()I
isub
iconst_2
isub
newarray 8
4: astore 3
start local 3 5: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
aload 3
invokeinterface javax.imageio.stream.ImageInputStream.readFully:([B)V
6: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
aload 3
putfield com.sun.imageio.plugins.png.PNGMetadata.iCCP_compressedProfile:[B
7: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
iconst_1
putfield com.sun.imageio.plugins.png.PNGMetadata.iCCP_present:Z
8: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/imageio/plugins/png/PNGImageReader;
0 9 1 chunkLength I
1 9 2 keyword Ljava/lang/String;
5 9 3 compressedProfile [B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
chunkLength
private void parse_iTXt_chunk(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=15, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.getStreamPosition:()J
lstore 2
start local 2 1: aload 0
ldc "ISO-8859-1"
bipush 80
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.readNullTerminatedString:(Ljava/lang/String;I)Ljava/lang/String;
astore 4
start local 4 2: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.iTXt_keyword:Ljava/util/ArrayList;
aload 4
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
3: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
istore 5
start local 5 4: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.iTXt_compressionFlag:Ljava/util/ArrayList;
iload 5
iconst_1
if_icmpne 5
iconst_1
goto 6
StackMap locals: com.sun.imageio.plugins.png.PNGImageReader int long java.lang.String int
StackMap stack: java.util.ArrayList
5: iconst_0
StackMap locals: com.sun.imageio.plugins.png.PNGImageReader int long java.lang.String int
StackMap stack: java.util.ArrayList int
6: invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
7: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
istore 6
start local 6 8: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.iTXt_compressionMethod:Ljava/util/ArrayList;
iload 6
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
9: aload 0
ldc "UTF8"
bipush 80
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.readNullTerminatedString:(Ljava/lang/String;I)Ljava/lang/String;
astore 7
start local 7 10: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.iTXt_languageTag:Ljava/util/ArrayList;
aload 7
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
11: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.getStreamPosition:()J
lstore 8
start local 8 12: lload 2
iload 1
i2l
ladd
lload 8
lsub
l2i
istore 10
start local 10 13: aload 0
ldc "UTF8"
iload 10
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.readNullTerminatedString:(Ljava/lang/String;I)Ljava/lang/String;
14: astore 11
start local 11 15: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.iTXt_translatedKeyword:Ljava/util/ArrayList;
aload 11
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
16: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.getStreamPosition:()J
lstore 8
17: lload 2
iload 1
i2l
ladd
lload 8
lsub
l2i
newarray 8
astore 13
start local 13 18: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
aload 13
invokeinterface javax.imageio.stream.ImageInputStream.readFully:([B)V
19: iload 5
iconst_1
if_icmpne 22
20: new java.lang.String
dup
aload 13
invokestatic com.sun.imageio.plugins.png.PNGImageReader.inflate:([B)[B
ldc "UTF8"
invokespecial java.lang.String.<init>:([BLjava/lang/String;)V
astore 12
start local 12 21: goto 23
end local 12 22: StackMap locals: com.sun.imageio.plugins.png.PNGImageReader int long java.lang.String int int java.lang.String long int java.lang.String top byte[]
StackMap stack:
new java.lang.String
dup
aload 13
ldc "UTF8"
invokespecial java.lang.String.<init>:([BLjava/lang/String;)V
astore 12
start local 12 23: StackMap locals: com.sun.imageio.plugins.png.PNGImageReader int long java.lang.String int int java.lang.String long int java.lang.String java.lang.String byte[]
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.iTXt_text:Ljava/util/ArrayList;
aload 12
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
24: aload 4
ldc "Creation Time"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 29
25: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.iTXt_text:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
iconst_1
isub
istore 14
start local 14 26: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
27: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.iTXt_text:Ljava/util/ArrayList;
iload 14
invokevirtual java.util.ArrayList.listIterator:(I)Ljava/util/ListIterator;
28: invokevirtual com.sun.imageio.plugins.png.PNGMetadata.decodeImageCreationTimeFromTextChunk:(Ljava/util/ListIterator;)V
end local 14 29: StackMap locals:
StackMap stack:
return
end local 13 end local 12 end local 11 end local 10 end local 8 end local 7 end local 6 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lcom/sun/imageio/plugins/png/PNGImageReader;
0 30 1 chunkLength I
1 30 2 chunkStart J
2 30 4 keyword Ljava/lang/String;
4 30 5 compressionFlag I
8 30 6 compressionMethod I
10 30 7 languageTag Ljava/lang/String;
12 30 8 pos J
13 30 10 maxLen I
15 30 11 translatedKeyword Ljava/lang/String;
21 22 12 text Ljava/lang/String;
23 30 12 text Ljava/lang/String;
18 30 13 b [B
26 29 14 index I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
chunkLength
private void parse_pHYs_chunk();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readInt:()I
putfield com.sun.imageio.plugins.png.PNGMetadata.pHYs_pixelsPerUnitXAxis:I
1: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readInt:()I
putfield com.sun.imageio.plugins.png.PNGMetadata.pHYs_pixelsPerUnitYAxis:I
2: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
putfield com.sun.imageio.plugins.png.PNGMetadata.pHYs_unitSpecifier:I
3: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
iconst_1
putfield com.sun.imageio.plugins.png.PNGMetadata.pHYs_present:Z
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/imageio/plugins/png/PNGImageReader;
Exceptions:
throws java.io.IOException
private void parse_sBIT_chunk();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_colorType:I
istore 1
start local 1 1: iload 1
ifeq 3
2: iload 1
iconst_4
if_icmpne 5
3: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
putfield com.sun.imageio.plugins.png.PNGMetadata.sBIT_grayBits:I
4: goto 11
StackMap locals:
StackMap stack:
5: iload 1
iconst_2
if_icmpeq 8
6: iload 1
iconst_3
if_icmpeq 8
7: iload 1
bipush 6
if_icmpne 11
8: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
putfield com.sun.imageio.plugins.png.PNGMetadata.sBIT_redBits:I
9: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
putfield com.sun.imageio.plugins.png.PNGMetadata.sBIT_greenBits:I
10: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
putfield com.sun.imageio.plugins.png.PNGMetadata.sBIT_blueBits:I
11: StackMap locals:
StackMap stack:
iload 1
iconst_4
if_icmpeq 13
12: iload 1
bipush 6
if_icmpne 14
13: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
putfield com.sun.imageio.plugins.png.PNGMetadata.sBIT_alphaBits:I
14: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
iload 1
putfield com.sun.imageio.plugins.png.PNGMetadata.sBIT_colorType:I
15: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
iconst_1
putfield com.sun.imageio.plugins.png.PNGMetadata.sBIT_present:Z
16: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/sun/imageio/plugins/png/PNGImageReader;
1 17 1 colorType I
Exceptions:
throws java.io.IOException
private void parse_sPLT_chunk(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
aload 0
ldc "ISO-8859-1"
bipush 80
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.readNullTerminatedString:(Ljava/lang/String;I)Ljava/lang/String;
putfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_paletteName:Ljava/lang/String;
1: iload 1
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_paletteName:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
iconst_1
iadd
isub
istore 1
2: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
istore 2
start local 2 3: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
iload 2
putfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_sampleDepth:I
4: iload 1
iconst_4
iload 2
bipush 8
idiv
imul
iconst_2
iadd
idiv
istore 3
start local 3 5: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
iload 3
newarray 10
putfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_red:[I
6: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
iload 3
newarray 10
putfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_green:[I
7: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
iload 3
newarray 10
putfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_blue:[I
8: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
iload 3
newarray 10
putfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_alpha:[I
9: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
iload 3
newarray 10
putfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_frequency:[I
10: iload 2
bipush 8
if_icmpne 21
11: iconst_0
istore 4
start local 4 12: goto 19
13: StackMap locals: int int int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_red:[I
iload 4
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
iastore
14: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_green:[I
iload 4
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
iastore
15: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_blue:[I
iload 4
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
iastore
16: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_alpha:[I
iload 4
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
iastore
17: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_frequency:[I
iload 4
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
iastore
18: iinc 4 1
StackMap locals:
StackMap stack:
19: iload 4
iload 3
if_icmplt 13
end local 4 20: goto 33
StackMap locals:
StackMap stack:
21: iload 2
bipush 16
if_icmpne 32
22: iconst_0
istore 4
start local 4 23: goto 30
24: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_red:[I
iload 4
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
iastore
25: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_green:[I
iload 4
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
iastore
26: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_blue:[I
iload 4
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
iastore
27: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_alpha:[I
iload 4
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
iastore
28: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_frequency:[I
iload 4
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
iastore
29: iinc 4 1
StackMap locals:
StackMap stack:
30: iload 4
iload 3
if_icmplt 24
end local 4 31: goto 33
32: StackMap locals:
StackMap stack:
new javax.imageio.IIOException
dup
ldc "sPLT sample depth not 8 or 16!"
invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
athrow
33: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
iconst_1
putfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_present:Z
34: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Lcom/sun/imageio/plugins/png/PNGImageReader;
0 35 1 chunkLength I
3 35 2 sampleDepth I
5 35 3 numEntries I
12 20 4 i I
23 31 4 i I
Exceptions:
throws java.io.IOException, javax.imageio.IIOException
MethodParameters:
Name Flags
chunkLength
private void parse_sRGB_chunk();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
putfield com.sun.imageio.plugins.png.PNGMetadata.sRGB_renderingIntent:I
1: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
iconst_1
putfield com.sun.imageio.plugins.png.PNGMetadata.sRGB_present:Z
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/imageio/plugins/png/PNGImageReader;
Exceptions:
throws java.io.IOException
private void parse_tEXt_chunk(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
ldc "ISO-8859-1"
bipush 80
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.readNullTerminatedString:(Ljava/lang/String;I)Ljava/lang/String;
astore 2
start local 2 1: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.tEXt_keyword:Ljava/util/ArrayList;
aload 2
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
2: iload 1
aload 2
invokevirtual java.lang.String.length:()I
isub
iconst_1
isub
newarray 8
astore 3
start local 3 3: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
aload 3
invokeinterface javax.imageio.stream.ImageInputStream.readFully:([B)V
4: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.tEXt_text:Ljava/util/ArrayList;
new java.lang.String
dup
aload 3
ldc "ISO-8859-1"
invokespecial java.lang.String.<init>:([BLjava/lang/String;)V
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
5: aload 2
ldc "Creation Time"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 10
6: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.tEXt_text:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
iconst_1
isub
istore 4
start local 4 7: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
8: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.tEXt_text:Ljava/util/ArrayList;
iload 4
invokevirtual java.util.ArrayList.listIterator:(I)Ljava/util/ListIterator;
9: invokevirtual com.sun.imageio.plugins.png.PNGMetadata.decodeImageCreationTimeFromTextChunk:(Ljava/util/ListIterator;)V
end local 4 10: StackMap locals: java.lang.String byte[]
StackMap stack:
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/png/PNGImageReader;
0 11 1 chunkLength I
1 11 2 keyword Ljava/lang/String;
3 11 3 b [B
7 10 4 index I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
chunkLength
private void parse_tIME_chunk();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
putfield com.sun.imageio.plugins.png.PNGMetadata.tIME_year:I
1: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
putfield com.sun.imageio.plugins.png.PNGMetadata.tIME_month:I
2: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
putfield com.sun.imageio.plugins.png.PNGMetadata.tIME_day:I
3: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
putfield com.sun.imageio.plugins.png.PNGMetadata.tIME_hour:I
4: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
putfield com.sun.imageio.plugins.png.PNGMetadata.tIME_minute:I
5: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
putfield com.sun.imageio.plugins.png.PNGMetadata.tIME_second:I
6: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
iconst_1
putfield com.sun.imageio.plugins.png.PNGMetadata.tIME_present:Z
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/imageio/plugins/png/PNGImageReader;
Exceptions:
throws java.io.IOException
private void parse_tRNS_chunk(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_colorType:I
istore 2
start local 2 1: iload 2
iconst_3
if_icmpne 19
2: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_present:Z
ifne 7
3: aload 0
4: ldc "tRNS chunk without prior PLTE chunk, ignoring it."
5: invokevirtual com.sun.imageio.plugins.png.PNGImageReader.processWarningOccurred:(Ljava/lang/String;)V
6: return
7: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_red:[B
arraylength
istore 3
start local 3 8: iload 1
istore 4
start local 4 9: iload 4
iload 3
if_icmple 14
10: aload 0
11: ldc "tRNS chunk has more entries than prior PLTE chunk, ignoring extras."
12: invokevirtual com.sun.imageio.plugins.png.PNGImageReader.processWarningOccurred:(Ljava/lang/String;)V
13: iload 3
istore 4
14: StackMap locals: int int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
iload 4
newarray 8
putfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_alpha:[B
15: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
iconst_3
putfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_colorType:I
16: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_alpha:[B
iconst_0
iload 4
invokeinterface javax.imageio.stream.ImageInputStream.read:([BII)I
pop
17: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
iload 1
iload 4
isub
invokeinterface javax.imageio.stream.ImageInputStream.skipBytes:(I)I
pop
end local 4 end local 3 18: goto 45
StackMap locals:
StackMap stack:
19: iload 2
ifne 29
20: iload 1
iconst_2
if_icmpeq 26
21: aload 0
22: ldc "tRNS chunk for gray image must have length 2, ignoring chunk."
23: invokevirtual com.sun.imageio.plugins.png.PNGImageReader.processWarningOccurred:(Ljava/lang/String;)V
24: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
iload 1
invokeinterface javax.imageio.stream.ImageInputStream.skipBytes:(I)I
pop
25: return
26: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
putfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_gray:I
27: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
iconst_0
putfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_colorType:I
28: goto 45
StackMap locals:
StackMap stack:
29: iload 2
iconst_2
if_icmpne 41
30: iload 1
bipush 6
if_icmpeq 36
31: aload 0
32: ldc "tRNS chunk for RGB image must have length 6, ignoring chunk."
33: invokevirtual com.sun.imageio.plugins.png.PNGImageReader.processWarningOccurred:(Ljava/lang/String;)V
34: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
iload 1
invokeinterface javax.imageio.stream.ImageInputStream.skipBytes:(I)I
pop
35: return
36: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
putfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_red:I
37: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
putfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_green:I
38: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
putfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_blue:I
39: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
iconst_2
putfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_colorType:I
40: goto 45
41: StackMap locals:
StackMap stack:
aload 0
42: ldc "Gray+Alpha and RGBS images may not have a tRNS chunk, ignoring it."
43: invokevirtual com.sun.imageio.plugins.png.PNGImageReader.processWarningOccurred:(Ljava/lang/String;)V
44: return
45: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
iconst_1
putfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_present:Z
46: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 47 0 this Lcom/sun/imageio/plugins/png/PNGImageReader;
0 47 1 chunkLength I
1 47 2 colorType I
8 18 3 maxEntries I
9 18 4 numEntries I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
chunkLength
private static byte[] inflate(byte[]);
descriptor: ([B)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=6, args_size=1
start local 0 0: new java.io.ByteArrayInputStream
dup
aload 0
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
astore 1
start local 1 1: new java.util.zip.InflaterInputStream
dup
aload 1
invokespecial java.util.zip.InflaterInputStream.<init>:(Ljava/io/InputStream;)V
astore 2
start local 2 2: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 3
start local 3 3: goto 5
start local 4 4: StackMap locals: byte[] java.io.InputStream java.io.InputStream java.io.ByteArrayOutputStream int
StackMap stack:
aload 3
iload 4
invokevirtual java.io.ByteArrayOutputStream.write:(I)V
end local 4 5: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.io.InputStream.read:()I
dup
istore 4
start local 4 6: iconst_m1
if_icmpne 4
7: goto 11
end local 4 StackMap locals:
StackMap stack: java.lang.Throwable
8: astore 5
9: aload 2
invokevirtual java.io.InputStream.close:()V
10: aload 5
athrow
start local 4 11: StackMap locals: int
StackMap stack:
aload 2
invokevirtual java.io.InputStream.close:()V
12: aload 3
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 b [B
1 13 1 bais Ljava/io/InputStream;
2 13 2 iis Ljava/io/InputStream;
3 13 3 baos Ljava/io/ByteArrayOutputStream;
4 5 4 c I
6 8 4 c I
11 13 4 c I
Exception table:
from to target type
3 8 8 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
b
private void parse_zTXt_chunk(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 0
ldc "ISO-8859-1"
bipush 80
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.readNullTerminatedString:(Ljava/lang/String;I)Ljava/lang/String;
astore 2
start local 2 1: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.zTXt_keyword:Ljava/util/ArrayList;
aload 2
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
2: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
istore 3
start local 3 3: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.zTXt_compressionMethod:Ljava/util/ArrayList;
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
4: iload 1
aload 2
invokevirtual java.lang.String.length:()I
isub
iconst_2
isub
newarray 8
astore 4
start local 4 5: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
aload 4
invokeinterface javax.imageio.stream.ImageInputStream.readFully:([B)V
6: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.zTXt_text:Ljava/util/ArrayList;
new java.lang.String
dup
aload 4
invokestatic com.sun.imageio.plugins.png.PNGImageReader.inflate:([B)[B
ldc "ISO-8859-1"
invokespecial java.lang.String.<init>:([BLjava/lang/String;)V
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
7: aload 2
ldc "Creation Time"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 12
8: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.zTXt_text:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
iconst_1
isub
istore 5
start local 5 9: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
10: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.zTXt_text:Ljava/util/ArrayList;
iload 5
invokevirtual java.util.ArrayList.listIterator:(I)Ljava/util/ListIterator;
11: invokevirtual com.sun.imageio.plugins.png.PNGMetadata.decodeImageCreationTimeFromTextChunk:(Ljava/util/ListIterator;)V
end local 5 12: StackMap locals: java.lang.String int byte[]
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/sun/imageio/plugins/png/PNGImageReader;
0 13 1 chunkLength I
1 13 2 keyword Ljava/lang/String;
3 13 3 method I
5 13 4 b [B
9 12 5 index I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
chunkLength
private void readMetadata();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=1
start local 0 0: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.gotMetadata:Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.readHeader:()V
3: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_colorType:I
istore 1
start local 1 4: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.ignoreMetadata:Z
ifeq 19
iload 1
iconst_3
if_icmpeq 19
5: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readInt:()I
istore 2
start local 2 6: iload 2
iflt 7
iload 2
iconst_4
iadd
ifge 8
7: StackMap locals: int
StackMap stack:
new javax.imageio.IIOException
dup
new java.lang.StringBuilder
dup
ldc "Invalid chunk length "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
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
8: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readInt:()I
istore 3
start local 3 9: iload 3
ldc 1229209940
if_icmpne 13
10: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
bipush -8
invokeinterface javax.imageio.stream.ImageInputStream.skipBytes:(I)I
pop
11: aload 0
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.getStreamPosition:()J
putfield com.sun.imageio.plugins.png.PNGImageReader.imageStartPosition:J
12: goto 17
13: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
iload 2
iconst_4
iadd
invokeinterface javax.imageio.stream.ImageInputStream.skipBytes:(I)I
pop
end local 3 end local 2 14: goto 5
15: StackMap locals: com.sun.imageio.plugins.png.PNGImageReader int
StackMap stack: java.io.IOException
astore 2
start local 2 16: new javax.imageio.IIOException
dup
ldc "Error skipping PNG metadata"
aload 2
invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 17: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield com.sun.imageio.plugins.png.PNGImageReader.gotMetadata:Z
18: return
19: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readInt:()I
istore 2
start local 2 20: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readInt:()I
istore 3
start local 3 21: iload 2
ifge 23
22: new javax.imageio.IIOException
dup
new java.lang.StringBuilder
dup
ldc "Invalid chunk length "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
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
23: StackMap locals: int int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.mark:()V
24: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.getStreamPosition:()J
iload 2
i2l
ladd
invokeinterface javax.imageio.stream.ImageInputStream.seek:(J)V
25: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readInt:()I
istore 4
start local 4 26: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.reset:()V
27: goto 30
end local 4 StackMap locals:
StackMap stack: java.io.IOException
28: pop
29: new javax.imageio.IIOException
dup
new java.lang.StringBuilder
dup
ldc "Invalid chunk length "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
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
start local 4 30: StackMap locals: int
StackMap stack:
iload 3
lookupswitch { // 17
1229209940: 31
1229278788: 35
1347179589: 38
1649100612: 40
1665684045: 42
1732332865: 44
1749635924: 46
1766015824: 48
1767135348: 50
1883789683: 55
1933723988: 57
1934642260: 59
1934772034: 61
1950701684: 63
1950960965: 65
1951551059: 67
2052348020: 69
default: 74
}
31: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.imageStartPosition:J
ldc -1
lcmp
ifne 33
32: aload 0
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.getStreamPosition:()J
ldc 8
lsub
putfield com.sun.imageio.plugins.png.PNGImageReader.imageStartPosition:J
33: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
iload 2
invokeinterface javax.imageio.stream.ImageInputStream.skipBytes:(I)I
pop
34: goto 88
35: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.imageStartPosition:J
invokeinterface javax.imageio.stream.ImageInputStream.seek:(J)V
36: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.getStreamPosition:()J
invokeinterface javax.imageio.stream.ImageInputStream.flushBefore:(J)V
37: goto 94
38: StackMap locals:
StackMap stack:
aload 0
iload 2
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.parse_PLTE_chunk:(I)V
39: goto 88
40: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.parse_bKGD_chunk:()V
41: goto 88
42: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.parse_cHRM_chunk:()V
43: goto 88
44: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.parse_gAMA_chunk:()V
45: goto 88
46: StackMap locals:
StackMap stack:
aload 0
iload 2
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.parse_hIST_chunk:(I)V
47: goto 88
48: StackMap locals:
StackMap stack:
aload 0
iload 2
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.parse_iCCP_chunk:(I)V
49: goto 88
50: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.ignoreMetadata:Z
ifeq 53
51: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
iload 2
invokeinterface javax.imageio.stream.ImageInputStream.skipBytes:(I)I
pop
52: goto 88
53: StackMap locals:
StackMap stack:
aload 0
iload 2
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.parse_iTXt_chunk:(I)V
54: goto 88
55: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.parse_pHYs_chunk:()V
56: goto 88
57: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.parse_sBIT_chunk:()V
58: goto 88
59: StackMap locals:
StackMap stack:
aload 0
iload 2
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.parse_sPLT_chunk:(I)V
60: goto 88
61: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.parse_sRGB_chunk:()V
62: goto 88
63: StackMap locals:
StackMap stack:
aload 0
iload 2
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.parse_tEXt_chunk:(I)V
64: goto 88
65: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.parse_tIME_chunk:()V
66: goto 88
67: StackMap locals:
StackMap stack:
aload 0
iload 2
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.parse_tRNS_chunk:(I)V
68: goto 88
69: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.ignoreMetadata:Z
ifeq 72
70: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
iload 2
invokeinterface javax.imageio.stream.ImageInputStream.skipBytes:(I)I
pop
71: goto 88
72: StackMap locals:
StackMap stack:
aload 0
iload 2
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.parse_zTXt_chunk:(I)V
73: goto 88
74: StackMap locals:
StackMap stack:
iload 2
newarray 8
astore 5
start local 5 75: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
aload 5
invokeinterface javax.imageio.stream.ImageInputStream.readFully:([B)V
76: new java.lang.StringBuilder
dup
iconst_4
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 6
start local 6 77: aload 6
iload 3
bipush 24
iushr
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
78: aload 6
iload 3
bipush 16
ishr
sipush 255
iand
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
79: aload 6
iload 3
bipush 8
ishr
sipush 255
iand
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
80: aload 6
iload 3
sipush 255
iand
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
81: iload 3
bipush 28
iushr
istore 7
start local 7 82: iload 7
ifne 86
83: aload 0
84: ldc "Encountered unknown chunk with critical bit set!"
85: invokevirtual com.sun.imageio.plugins.png.PNGImageReader.processWarningOccurred:(Ljava/lang/String;)V
86: StackMap locals: byte[] java.lang.StringBuilder int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.unknownChunkType:Ljava/util/ArrayList;
aload 6
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
87: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.unknownChunkData:Ljava/util/ArrayList;
aload 5
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 7 end local 6 end local 5 88: StackMap locals:
StackMap stack:
iload 4
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readInt:()I
if_icmpeq 19
89: new javax.imageio.IIOException
dup
new java.lang.StringBuilder
dup
ldc "Failed to read a chunk of type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
90: iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
91: invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
athrow
end local 4 end local 3 end local 2 92: StackMap locals: com.sun.imageio.plugins.png.PNGImageReader int
StackMap stack: java.io.IOException
astore 2
start local 2 93: new javax.imageio.IIOException
dup
ldc "Error reading PNG metadata"
aload 2
invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 94: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield com.sun.imageio.plugins.png.PNGImageReader.gotMetadata:Z
95: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 96 0 this Lcom/sun/imageio/plugins/png/PNGImageReader;
4 96 1 colorType I
6 14 2 chunkLength I
9 14 3 chunkType I
16 17 2 e Ljava/io/IOException;
20 92 2 chunkLength I
21 92 3 chunkType I
26 28 4 chunkCRC I
30 92 4 chunkCRC I
75 88 5 b [B
77 88 6 chunkName Ljava/lang/StringBuilder;
82 88 7 ancillaryBit I
93 94 2 e Ljava/io/IOException;
Exception table:
from to target type
5 15 15 Class java.io.IOException
23 27 28 Class java.io.IOException
19 92 92 Class java.io.IOException
Exceptions:
throws javax.imageio.IIOException
private static void decodeSubFilter(byte[], int, int, int);
descriptor: ([BIII)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
istore 4
start local 4 1: goto 6
2: StackMap locals: int
StackMap stack:
aload 0
iload 4
iload 1
iadd
baload
sipush 255
iand
istore 5
start local 5 3: iload 5
aload 0
iload 4
iload 1
iadd
iload 3
isub
baload
sipush 255
iand
iadd
istore 5
4: aload 0
iload 4
iload 1
iadd
iload 5
i2b
bastore
end local 5 5: iinc 4 1
StackMap locals:
StackMap stack:
6: iload 4
iload 2
if_icmplt 2
end local 4 7: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 curr [B
0 8 1 coff I
0 8 2 count I
0 8 3 bpp I
1 7 4 i I
3 5 5 val I
MethodParameters:
Name Flags
curr
coff
count
bpp
private static void decodeUpFilter(byte[], int, byte[], int, int);
descriptor: ([BI[BII)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iconst_0
istore 5
start local 5 1: goto 6
2: StackMap locals: int
StackMap stack:
aload 0
iload 5
iload 1
iadd
baload
sipush 255
iand
istore 6
start local 6 3: aload 2
iload 5
iload 3
iadd
baload
sipush 255
iand
istore 7
start local 7 4: aload 0
iload 5
iload 1
iadd
iload 6
iload 7
iadd
i2b
bastore
end local 7 end local 6 5: iinc 5 1
StackMap locals:
StackMap stack:
6: iload 5
iload 4
if_icmplt 2
end local 5 7: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 curr [B
0 8 1 coff I
0 8 2 prev [B
0 8 3 poff I
0 8 4 count I
1 7 5 i I
3 5 6 raw I
4 5 7 prior I
MethodParameters:
Name Flags
curr
coff
prev
poff
count
private static void decodeAverageFilter(byte[], int, byte[], int, int, int);
descriptor: ([BI[BIII)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=10, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: iconst_0
istore 9
start local 9 1: goto 6
2: StackMap locals: byte[] int byte[] int int int top top top int
StackMap stack:
aload 0
iload 9
iload 1
iadd
baload
sipush 255
iand
istore 6
start local 6 3: aload 2
iload 9
iload 3
iadd
baload
sipush 255
iand
istore 8
start local 8 4: aload 0
iload 9
iload 1
iadd
iload 6
iload 8
iconst_2
idiv
iadd
i2b
bastore
5: iinc 9 1
end local 8 end local 6 StackMap locals:
StackMap stack:
6: iload 9
iload 5
if_icmplt 2
end local 9 7: iload 5
istore 9
start local 9 8: goto 14
9: StackMap locals:
StackMap stack:
aload 0
iload 9
iload 1
iadd
baload
sipush 255
iand
istore 6
start local 6 10: aload 0
iload 9
iload 1
iadd
iload 5
isub
baload
sipush 255
iand
istore 7
start local 7 11: aload 2
iload 9
iload 3
iadd
baload
sipush 255
iand
istore 8
start local 8 12: aload 0
iload 9
iload 1
iadd
iload 6
iload 7
iload 8
iadd
iconst_2
idiv
iadd
i2b
bastore
13: iinc 9 1
end local 8 end local 7 end local 6 StackMap locals:
StackMap stack:
14: iload 9
iload 4
if_icmplt 9
end local 9 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 curr [B
0 16 1 coff I
0 16 2 prev [B
0 16 3 poff I
0 16 4 count I
0 16 5 bpp I
3 6 6 raw I
10 14 6 raw I
11 14 7 priorPixel I
4 6 8 priorRow I
12 14 8 priorRow I
1 7 9 i I
8 15 9 i I
MethodParameters:
Name Flags
curr
coff
prev
poff
count
bpp
private static int paethPredictor(int, int, int);
descriptor: (III)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=7, args_size=3
start local 0 start local 1 start local 2 0: iload 0
iload 1
iadd
iload 2
isub
istore 3
start local 3 1: iload 3
iload 0
isub
invokestatic java.lang.Math.abs:(I)I
istore 4
start local 4 2: iload 3
iload 1
isub
invokestatic java.lang.Math.abs:(I)I
istore 5
start local 5 3: iload 3
iload 2
isub
invokestatic java.lang.Math.abs:(I)I
istore 6
start local 6 4: iload 4
iload 5
if_icmpgt 6
iload 4
iload 6
if_icmpgt 6
5: iload 0
ireturn
6: StackMap locals: int int int int int int int
StackMap stack:
iload 5
iload 6
if_icmpgt 8
7: iload 1
ireturn
8: StackMap locals:
StackMap stack:
iload 2
ireturn
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 9 0 a I
0 9 1 b I
0 9 2 c I
1 9 3 p I
2 9 4 pa I
3 9 5 pb I
4 9 6 pc I
MethodParameters:
Name Flags
a
b
c
private static void decodePaethFilter(byte[], int, byte[], int, int, int);
descriptor: ([BI[BIII)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=11, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: iconst_0
istore 10
start local 10 1: goto 6
2: StackMap locals: byte[] int byte[] int int int top top top top int
StackMap stack:
aload 0
iload 10
iload 1
iadd
baload
sipush 255
iand
istore 6
start local 6 3: aload 2
iload 10
iload 3
iadd
baload
sipush 255
iand
istore 8
start local 8 4: aload 0
iload 10
iload 1
iadd
iload 6
iload 8
iadd
i2b
bastore
5: iinc 10 1
end local 8 end local 6 StackMap locals:
StackMap stack:
6: iload 10
iload 5
if_icmplt 2
end local 10 7: iload 5
istore 10
start local 10 8: goto 18
9: StackMap locals:
StackMap stack:
aload 0
iload 10
iload 1
iadd
baload
sipush 255
iand
istore 6
start local 6 10: aload 0
iload 10
iload 1
iadd
iload 5
isub
baload
sipush 255
iand
istore 7
start local 7 11: aload 2
iload 10
iload 3
iadd
baload
sipush 255
iand
istore 8
start local 8 12: aload 2
iload 10
iload 3
iadd
iload 5
isub
baload
sipush 255
iand
istore 9
start local 9 13: aload 0
iload 10
iload 1
iadd
iload 6
iload 7
14: iload 8
15: iload 9
16: invokestatic com.sun.imageio.plugins.png.PNGImageReader.paethPredictor:(III)I
iadd
i2b
bastore
17: iinc 10 1
end local 9 end local 8 end local 7 end local 6 StackMap locals:
StackMap stack:
18: iload 10
iload 4
if_icmplt 9
end local 10 19: 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 20 0 curr [B
0 20 1 coff I
0 20 2 prev [B
0 20 3 poff I
0 20 4 count I
0 20 5 bpp I
3 6 6 raw I
10 18 6 raw I
11 18 7 priorPixel I
4 6 8 priorRow I
12 18 8 priorRow I
13 18 9 priorRowPixel I
1 7 10 i I
8 19 10 i I
MethodParameters:
Name Flags
curr
coff
prev
poff
count
bpp
private java.awt.image.WritableRaster createRaster(int, int, int, int, int);
descriptor: (IIIII)Ljava/awt/image/WritableRaster;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=9, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aconst_null
astore 7
start local 7 1: new java.awt.Point
dup
iconst_0
iconst_0
invokespecial java.awt.Point.<init>:(II)V
astore 8
start local 8 2: iload 5
bipush 8
if_icmpge 10
iload 3
iconst_1
if_icmpne 10
3: new java.awt.image.DataBufferByte
dup
iload 2
iload 4
imul
invokespecial java.awt.image.DataBufferByte.<init>:(I)V
astore 6
start local 6 4: aload 6
5: iload 1
iload 2
6: iload 5
7: aload 8
8: invokestatic java.awt.image.Raster.createPackedRaster:(Ljava/awt/image/DataBuffer;IIILjava/awt/Point;)Ljava/awt/image/WritableRaster;
astore 7
9: goto 28
end local 6 StackMap locals: com.sun.imageio.plugins.png.PNGImageReader int int int int int top java.awt.image.WritableRaster java.awt.Point
StackMap stack:
10: iload 5
bipush 8
if_icmpgt 20
11: new java.awt.image.DataBufferByte
dup
iload 2
iload 4
imul
invokespecial java.awt.image.DataBufferByte.<init>:(I)V
astore 6
start local 6 12: aload 6
13: iload 1
iload 2
14: iload 4
15: iload 3
16: getstatic com.sun.imageio.plugins.png.PNGImageReader.bandOffsets:[[I
iload 3
aaload
17: aload 8
18: invokestatic java.awt.image.Raster.createInterleavedRaster:(Ljava/awt/image/DataBuffer;IIII[ILjava/awt/Point;)Ljava/awt/image/WritableRaster;
astore 7
19: goto 28
end local 6 20: StackMap locals:
StackMap stack:
new java.awt.image.DataBufferUShort
dup
iload 2
iload 4
imul
invokespecial java.awt.image.DataBufferUShort.<init>:(I)V
astore 6
start local 6 21: aload 6
22: iload 1
iload 2
23: iload 4
24: iload 3
25: getstatic com.sun.imageio.plugins.png.PNGImageReader.bandOffsets:[[I
iload 3
aaload
26: aload 8
27: invokestatic java.awt.image.Raster.createInterleavedRaster:(Ljava/awt/image/DataBuffer;IIII[ILjava/awt/Point;)Ljava/awt/image/WritableRaster;
astore 7
28: StackMap locals: com.sun.imageio.plugins.png.PNGImageReader int int int int int java.awt.image.DataBuffer java.awt.image.WritableRaster java.awt.Point
StackMap stack:
aload 7
areturn
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 29 0 this Lcom/sun/imageio/plugins/png/PNGImageReader;
0 29 1 width I
0 29 2 height I
0 29 3 bands I
0 29 4 scanlineStride I
0 29 5 bitDepth I
4 10 6 dataBuffer Ljava/awt/image/DataBuffer;
12 20 6 dataBuffer Ljava/awt/image/DataBuffer;
21 29 6 dataBuffer Ljava/awt/image/DataBuffer;
1 29 7 ras Ljava/awt/image/WritableRaster;
2 29 8 origin Ljava/awt/Point;
MethodParameters:
Name Flags
width
height
bands
scanlineStride
bitDepth
private void skipPass(int, int);
descriptor: (II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: iload 1
ifeq 1
iload 2
ifne 2
1: StackMap locals:
StackMap stack:
return
2: StackMap locals:
StackMap stack:
getstatic com.sun.imageio.plugins.png.PNGImageReader.inputBandsForColorType:[I
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_colorType:I
iaload
istore 3
start local 3 3: iload 3
iload 1
imul
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_bitDepth:I
imul
bipush 7
iadd
bipush 8
idiv
istore 4
start local 4 4: iconst_0
istore 5
start local 5 5: goto 8
6: StackMap locals: int int int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.pixelStream:Ljava/io/DataInputStream;
iconst_1
iload 4
iadd
invokevirtual java.io.DataInputStream.skipBytes:(I)I
pop
7: iinc 5 1
StackMap locals:
StackMap stack:
8: iload 5
iload 2
if_icmplt 6
end local 5 9: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/imageio/plugins/png/PNGImageReader;
0 10 1 passWidth I
0 10 2 passHeight I
3 10 3 inputBands I
4 10 4 bytesPerRow I
5 9 5 srcY I
Exceptions:
throws java.io.IOException, javax.imageio.IIOException
MethodParameters:
Name Flags
passWidth
passHeight
private void updateImageProgress(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
dup
getfield com.sun.imageio.plugins.png.PNGImageReader.pixelsDone:I
iload 1
iadd
putfield com.sun.imageio.plugins.png.PNGImageReader.pixelsDone:I
1: aload 0
ldc 100.0
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.pixelsDone:I
i2f
fmul
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.totalPixels:I
i2f
fdiv
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.processImageProgress:(F)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/imageio/plugins/png/PNGImageReader;
0 3 1 newPixels I
MethodParameters:
Name Flags
newPixels
private void decodePass(int, int, int, int, int, int, int);
descriptor: (IIIIIII)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=14, locals=47, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: iload 6
ifeq 1
iload 7
ifne 2
1: StackMap locals:
StackMap stack:
return
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.theImage:Ljava/awt/image/BufferedImage;
iconst_0
iconst_0
invokevirtual java.awt.image.BufferedImage.getWritableTile:(II)Ljava/awt/image/WritableRaster;
astore 8
start local 8 3: aload 8
invokevirtual java.awt.image.WritableRaster.getMinX:()I
istore 9
start local 9 4: iload 9
aload 8
invokevirtual java.awt.image.WritableRaster.getWidth:()I
iadd
iconst_1
isub
istore 10
start local 10 5: aload 8
invokevirtual java.awt.image.WritableRaster.getMinY:()I
istore 11
start local 11 6: iload 11
aload 8
invokevirtual java.awt.image.WritableRaster.getHeight:()I
iadd
iconst_1
isub
istore 12
start local 12 7: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.sourceRegion:Ljava/awt/Rectangle;
8: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.destinationOffset:Ljava/awt/Point;
9: iload 9
iload 11
10: iload 10
iload 12
11: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.sourceXSubsampling:I
12: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.sourceYSubsampling:I
13: iload 2
iload 3
14: iload 6
iload 7
15: iload 4
iload 5
16: invokestatic com.sun.imageio.plugins.common.ReaderUtil.computeUpdatedPixels:(Ljava/awt/Rectangle;Ljava/awt/Point;IIIIIIIIIIII)[I
17: astore 13
start local 13 18: aload 13
iconst_0
iaload
istore 14
start local 14 19: aload 13
iconst_1
iaload
istore 15
start local 15 20: aload 13
iconst_2
iaload
istore 16
start local 16 21: aload 13
iconst_4
iaload
istore 17
start local 17 22: aload 13
iconst_5
iaload
istore 18
start local 18 23: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_bitDepth:I
istore 19
start local 19 24: getstatic com.sun.imageio.plugins.png.PNGImageReader.inputBandsForColorType:[I
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_colorType:I
iaload
istore 20
start local 20 25: iload 19
bipush 16
if_icmpne 26
iconst_2
goto 27
StackMap locals: com.sun.imageio.plugins.png.PNGImageReader int int int int int int int java.awt.image.WritableRaster int int int int int[] int int int int int int int
StackMap stack:
26: iconst_1
StackMap locals:
StackMap stack: int
27: istore 21
start local 21 28: iload 21
iload 20
imul
istore 21
29: iload 20
iload 6
imul
iload 19
imul
bipush 7
iadd
bipush 8
idiv
istore 22
start local 22 30: iload 19
bipush 16
if_icmpne 31
iload 22
iconst_2
idiv
goto 32
StackMap locals: int int
StackMap stack:
31: iload 22
StackMap locals:
StackMap stack: int
32: istore 23
start local 23 33: iload 16
ifne 43
34: iconst_0
istore 24
start local 24 35: goto 41
36: StackMap locals: int int
StackMap stack:
aload 0
iload 6
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.updateImageProgress:(I)V
37: aload 0
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.abortRequested:()Z
ifeq 39
38: return
39: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.pixelStream:Ljava/io/DataInputStream;
iconst_1
iload 22
iadd
invokevirtual java.io.DataInputStream.skipBytes:(I)I
pop
40: iinc 24 1
StackMap locals:
StackMap stack:
41: iload 24
iload 7
if_icmplt 36
end local 24 42: return
43: StackMap locals:
StackMap stack:
iload 14
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.destinationOffset:Ljava/awt/Point;
getfield java.awt.Point.x:I
isub
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.sourceXSubsampling:I
imul
44: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.sourceRegion:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.x:I
45: iadd
46: istore 24
start local 24 47: iload 24
iload 2
isub
iload 4
idiv
istore 25
start local 25 48: iload 17
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.sourceXSubsampling:I
imul
iload 4
idiv
istore 26
start local 26 49: aconst_null
astore 27
start local 27 50: aconst_null
astore 28
start local 28 51: iload 22
newarray 8
astore 29
start local 29 52: iload 22
newarray 8
astore 30
start local 30 53: aload 0
iload 6
iconst_1
iload 20
54: iload 23
55: iload 19
56: invokevirtual com.sun.imageio.plugins.png.PNGImageReader.createRaster:(IIIII)Ljava/awt/image/WritableRaster;
astore 31
start local 31 57: aload 31
iconst_0
iconst_0
aconst_null
invokevirtual java.awt.image.WritableRaster.getPixel:(II[I)[I
astore 32
start local 32 58: aload 31
invokevirtual java.awt.image.WritableRaster.getDataBuffer:()Ljava/awt/image/DataBuffer;
astore 33
start local 33 59: aload 33
invokevirtual java.awt.image.DataBuffer.getDataType:()I
istore 34
start local 34 60: iload 34
ifne 63
61: aload 33
checkcast java.awt.image.DataBufferByte
invokevirtual java.awt.image.DataBufferByte.getData:()[B
astore 27
62: goto 64
63: StackMap locals: com.sun.imageio.plugins.png.PNGImageReader int int int int int int int java.awt.image.WritableRaster int int int int int[] int int int int int int int int int int int int int byte[] short[] byte[] byte[] java.awt.image.WritableRaster int[] java.awt.image.DataBuffer int
StackMap stack:
aload 33
checkcast java.awt.image.DataBufferUShort
invokevirtual java.awt.image.DataBufferUShort.getData:()[S
astore 28
64: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.theImage:Ljava/awt/image/BufferedImage;
65: iload 1
66: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.sourceMinProgressivePass:I
67: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.sourceMaxProgressivePass:I
68: iload 14
iload 15
69: iload 17
iload 18
70: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.destinationBands:[I
71: invokevirtual com.sun.imageio.plugins.png.PNGImageReader.processPassStarted:(Ljava/awt/image/BufferedImage;IIIIIII[I)V
72: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.sourceBands:[I
ifnull 78
73: aload 31
iconst_0
iconst_0
74: aload 31
invokevirtual java.awt.image.WritableRaster.getWidth:()I
iconst_1
75: iconst_0
iconst_0
76: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.sourceBands:[I
77: invokevirtual java.awt.image.WritableRaster.createWritableChild:(IIIIII[I)Ljava/awt/image/WritableRaster;
astore 31
78: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.destinationBands:[I
ifnull 85
79: aload 8
iconst_0
iconst_0
80: aload 8
invokevirtual java.awt.image.WritableRaster.getWidth:()I
81: aload 8
invokevirtual java.awt.image.WritableRaster.getHeight:()I
82: iconst_0
iconst_0
83: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.destinationBands:[I
84: invokevirtual java.awt.image.WritableRaster.createWritableChild:(IIIIII[I)Ljava/awt/image/WritableRaster;
astore 8
85: StackMap locals:
StackMap stack:
iconst_0
istore 35
start local 35 86: aload 8
invokevirtual java.awt.image.WritableRaster.getSampleModel:()Ljava/awt/image/SampleModel;
invokevirtual java.awt.image.SampleModel.getSampleSize:()[I
astore 36
start local 36 87: aload 36
arraylength
istore 37
start local 37 88: iconst_0
istore 38
start local 38 89: goto 94
90: StackMap locals: com.sun.imageio.plugins.png.PNGImageReader int int int int int int int java.awt.image.WritableRaster int int int int int[] int int int int int int int int int int int int int byte[] short[] byte[] byte[] java.awt.image.WritableRaster int[] java.awt.image.DataBuffer int int int[] int int
StackMap stack:
aload 36
iload 38
iaload
iload 19
if_icmpeq 93
91: iconst_1
istore 35
92: goto 95
93: StackMap locals:
StackMap stack:
iinc 38 1
StackMap locals:
StackMap stack:
94: iload 38
iload 37
if_icmplt 90
end local 38 95: StackMap locals:
StackMap stack:
aconst_null
astore 38
start local 38 96: iload 35
ifeq 113
97: iconst_1
iload 19
ishl
iconst_1
isub
istore 39
start local 39 98: iload 39
iconst_2
idiv
istore 40
start local 40 99: iload 37
anewarray int[]
astore 38
100: iconst_0
istore 41
start local 41 101: goto 112
102: StackMap locals: com.sun.imageio.plugins.png.PNGImageReader int int int int int int int java.awt.image.WritableRaster int int int int int[] int int int int int int int int int int int int int byte[] short[] byte[] byte[] java.awt.image.WritableRaster int[] java.awt.image.DataBuffer int int int[] int int[][] int int int
StackMap stack:
iconst_1
aload 36
iload 41
iaload
ishl
iconst_1
isub
istore 42
start local 42 103: aload 38
iload 41
iload 39
iconst_1
iadd
newarray 10
aastore
104: iconst_0
istore 43
start local 43 105: goto 110
106: StackMap locals: int int
StackMap stack:
aload 38
iload 41
aaload
iload 43
107: iload 43
iload 42
imul
iload 40
iadd
iload 39
idiv
108: iastore
109: iinc 43 1
StackMap locals:
StackMap stack:
110: iload 43
iload 39
if_icmple 106
end local 43 end local 42 111: iinc 41 1
StackMap locals:
StackMap stack:
112: iload 41
iload 37
if_icmplt 102
end local 41 end local 40 end local 39 113: StackMap locals:
StackMap stack:
iload 26
iconst_1
if_icmpne 118
114: iload 17
iconst_1
if_icmpne 118
115: iload 35
ifne 118
116: aload 8
instanceof sun.awt.image.ByteInterleavedRaster
ifeq 118
117: iconst_1
goto 119
StackMap locals:
StackMap stack:
118: iconst_0
StackMap locals:
StackMap stack: int
119: istore 39
start local 39 120: iload 39
ifeq 126
121: aload 31
iload 25
iconst_0
122: iload 16
iconst_1
123: iconst_0
iconst_0
124: aconst_null
125: invokevirtual java.awt.image.WritableRaster.createWritableChild:(IIIIII[I)Ljava/awt/image/WritableRaster;
astore 31
126: StackMap locals: int
StackMap stack:
iconst_0
istore 40
start local 40 127: goto 206
128: StackMap locals: int
StackMap stack:
aload 0
iload 6
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.updateImageProgress:(I)V
129: aload 0
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.abortRequested:()Z
ifeq 131
130: return
131: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.pixelStream:Ljava/io/DataInputStream;
invokevirtual java.io.DataInputStream.read:()I
istore 41
start local 41 132: aload 30
astore 42
start local 42 133: aload 29
astore 30
134: aload 42
astore 29
135: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.pixelStream:Ljava/io/DataInputStream;
aload 29
iconst_0
iload 22
invokevirtual java.io.DataInputStream.readFully:([BII)V
end local 42 136: goto 139
StackMap locals: com.sun.imageio.plugins.png.PNGImageReader int int int int int int int java.awt.image.WritableRaster int int int int int[] int int int int int int int int int int int int int byte[] short[] byte[] byte[] java.awt.image.WritableRaster int[] java.awt.image.DataBuffer int int int[] int int[][] int int int
StackMap stack: java.util.zip.ZipException
137: astore 42
start local 42 138: aload 42
athrow
end local 42 139: StackMap locals:
StackMap stack:
iload 41
tableswitch { // 0 - 4
0: 140
1: 141
2: 143
3: 145
4: 149
default: 153
}
140: StackMap locals:
StackMap stack:
goto 156
141: StackMap locals:
StackMap stack:
aload 29
iconst_0
iload 22
iload 21
invokestatic com.sun.imageio.plugins.png.PNGImageReader.decodeSubFilter:([BIII)V
142: goto 156
143: StackMap locals:
StackMap stack:
aload 29
iconst_0
aload 30
iconst_0
iload 22
invokestatic com.sun.imageio.plugins.png.PNGImageReader.decodeUpFilter:([BI[BII)V
144: goto 156
145: StackMap locals:
StackMap stack:
aload 29
iconst_0
aload 30
iconst_0
iload 22
146: iload 21
147: invokestatic com.sun.imageio.plugins.png.PNGImageReader.decodeAverageFilter:([BI[BIII)V
148: goto 156
149: StackMap locals:
StackMap stack:
aload 29
iconst_0
aload 30
iconst_0
iload 22
150: iload 21
151: invokestatic com.sun.imageio.plugins.png.PNGImageReader.decodePaethFilter:([BI[BIII)V
152: goto 156
153: StackMap locals:
StackMap stack:
new javax.imageio.IIOException
dup
new java.lang.StringBuilder
dup
ldc "Unknown row filter type (= "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
154: iload 41
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;
155: invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
athrow
156: StackMap locals:
StackMap stack:
iload 19
bipush 16
if_icmpge 159
157: aload 29
iconst_0
aload 27
iconst_0
iload 22
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
158: goto 168
159: StackMap locals:
StackMap stack:
iconst_0
istore 42
start local 42 160: iconst_0
istore 43
start local 43 161: goto 167
162: StackMap locals: int int
StackMap stack:
aload 28
iload 43
163: aload 29
iload 42
baload
bipush 8
ishl
aload 29
iload 42
iconst_1
iadd
baload
sipush 255
iand
ior
i2s
164: sastore
165: iinc 42 2
166: iinc 43 1
StackMap locals:
StackMap stack:
167: iload 43
iload 23
if_icmplt 162
end local 43 end local 42 168: StackMap locals:
StackMap stack:
iload 40
iload 5
imul
iload 3
iadd
istore 42
start local 42 169: iload 42
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.sourceRegion:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.y:I
if_icmplt 205
170: iload 42
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.sourceRegion:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.y:I
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.sourceRegion:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.height:I
iadd
if_icmpge 205
171: iload 42
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.sourceRegion:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.y:I
isub
172: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.sourceYSubsampling:I
173: irem
ifne 205
174: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.destinationOffset:Ljava/awt/Point;
getfield java.awt.Point.y:I
175: iload 42
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.sourceRegion:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.y:I
isub
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.sourceYSubsampling:I
idiv
176: iadd
istore 43
start local 43 177: iload 43
iload 11
if_icmpge 179
178: goto 205
179: StackMap locals: int int
StackMap stack:
iload 43
iload 12
if_icmple 181
180: goto 207
181: StackMap locals:
StackMap stack:
iload 39
ifeq 184
182: aload 8
iload 14
iload 43
aload 31
invokevirtual java.awt.image.WritableRaster.setRect:(IILjava/awt/image/Raster;)V
183: goto 199
184: StackMap locals:
StackMap stack:
iload 25
istore 44
start local 44 185: iload 14
istore 45
start local 45 186: goto 197
187: StackMap locals: int int
StackMap stack:
aload 31
iload 44
iconst_0
aload 32
invokevirtual java.awt.image.WritableRaster.getPixel:(II[I)[I
pop
188: iload 35
ifeq 194
189: iconst_0
istore 46
start local 46 190: goto 193
191: StackMap locals: int
StackMap stack:
aload 32
iload 46
aload 38
iload 46
aaload
aload 32
iload 46
iaload
iaload
iastore
192: iinc 46 1
StackMap locals:
StackMap stack:
193: iload 46
iload 37
if_icmplt 191
end local 46 194: StackMap locals:
StackMap stack:
aload 8
iload 45
iload 43
aload 32
invokevirtual java.awt.image.WritableRaster.setPixel:(II[I)V
195: iload 44
iload 26
iadd
istore 44
196: iload 45
iload 17
iadd
istore 45
197: StackMap locals:
StackMap stack:
iload 45
iload 14
iload 16
iadd
198: if_icmplt 187
end local 45 end local 44 199: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.theImage:Ljava/awt/image/BufferedImage;
200: iload 14
iload 43
201: iload 16
iconst_1
202: iload 17
iload 18
203: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.destinationBands:[I
204: invokevirtual com.sun.imageio.plugins.png.PNGImageReader.processImageUpdate:(Ljava/awt/image/BufferedImage;IIIIII[I)V
end local 43 end local 42 end local 41 205: StackMap locals:
StackMap stack:
iinc 40 1
StackMap locals:
StackMap stack:
206: iload 40
iload 7
if_icmplt 128
end local 40 207: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.theImage:Ljava/awt/image/BufferedImage;
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.processPassComplete:(Ljava/awt/image/BufferedImage;)V
208: return
end local 39 end local 38 end local 37 end local 36 end local 35 end local 34 end local 33 end local 32 end local 31 end local 30 end local 29 end local 28 end local 27 end local 26 end local 25 end local 24 end local 23 end local 22 end local 21 end local 20 end local 19 end local 18 end local 17 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 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 209 0 this Lcom/sun/imageio/plugins/png/PNGImageReader;
0 209 1 passNum I
0 209 2 xStart I
0 209 3 yStart I
0 209 4 xStep I
0 209 5 yStep I
0 209 6 passWidth I
0 209 7 passHeight I
3 209 8 imRas Ljava/awt/image/WritableRaster;
4 209 9 dstMinX I
5 209 10 dstMaxX I
6 209 11 dstMinY I
7 209 12 dstMaxY I
18 209 13 vals [I
19 209 14 updateMinX I
20 209 15 updateMinY I
21 209 16 updateWidth I
22 209 17 updateXStep I
23 209 18 updateYStep I
24 209 19 bitDepth I
25 209 20 inputBands I
28 209 21 bytesPerPixel I
30 209 22 bytesPerRow I
33 209 23 eltsPerRow I
35 42 24 srcY I
47 209 24 sourceX I
48 209 25 srcX I
49 209 26 srcXStep I
50 209 27 byteData [B
51 209 28 shortData [S
52 209 29 curr [B
53 209 30 prior [B
57 209 31 passRow Ljava/awt/image/WritableRaster;
58 209 32 ps [I
59 209 33 dataBuffer Ljava/awt/image/DataBuffer;
60 209 34 type I
86 209 35 adjustBitDepths Z
87 209 36 outputSampleSize [I
88 209 37 numBands I
89 95 38 b I
96 209 38 scale [[I
98 113 39 maxInSample I
99 113 40 halfMaxInSample I
101 113 41 b I
103 111 42 maxOutSample I
105 111 43 s I
120 209 39 useSetRect Z
127 207 40 srcY I
132 205 41 filter I
133 136 42 tmp [B
138 139 42 ze Ljava/util/zip/ZipException;
160 168 42 idx I
161 168 43 j I
169 205 42 sourceY I
177 205 43 dstY I
185 199 44 newSrcX I
186 199 45 dstX I
190 194 46 b I
Exception table:
from to target type
132 136 137 Class java.util.zip.ZipException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
passNum
xStart
yStart
xStep
yStep
passWidth
passHeight
private void decodeImage();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=10, args_size=1
start local 0 0: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_width:I
istore 1
start local 1 1: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_height:I
istore 2
start local 2 2: aload 0
iconst_0
putfield com.sun.imageio.plugins.png.PNGImageReader.pixelsDone:I
3: aload 0
iload 1
iload 2
imul
putfield com.sun.imageio.plugins.png.PNGImageReader.totalPixels:I
4: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_interlaceMethod:I
ifne 7
5: aload 0
iconst_0
iconst_0
iconst_0
iconst_1
iconst_1
iload 1
iload 2
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.decodePass:(IIIIIII)V
6: goto 32
7: StackMap locals: int int
StackMap stack:
iconst_0
istore 3
start local 3 8: goto 31
9: StackMap locals: int
StackMap stack:
getstatic com.sun.imageio.plugins.png.PNGImageReader.adam7XOffset:[I
iload 3
iaload
istore 4
start local 4 10: getstatic com.sun.imageio.plugins.png.PNGImageReader.adam7YOffset:[I
iload 3
iaload
istore 5
start local 5 11: getstatic com.sun.imageio.plugins.png.PNGImageReader.adam7XSubsampling:[I
iload 3
iaload
istore 6
start local 6 12: getstatic com.sun.imageio.plugins.png.PNGImageReader.adam7YSubsampling:[I
iload 3
iaload
istore 7
start local 7 13: getstatic com.sun.imageio.plugins.png.PNGImageReader.adam7XSubsampling:[I
iload 3
iconst_1
iadd
iaload
iconst_1
isub
istore 8
start local 8 14: getstatic com.sun.imageio.plugins.png.PNGImageReader.adam7YSubsampling:[I
iload 3
iconst_1
iadd
iaload
iconst_1
isub
istore 9
start local 9 15: iload 3
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.sourceMinProgressivePass:I
if_icmplt 25
16: aload 0
iload 3
17: iload 4
18: iload 5
19: iload 6
20: iload 7
21: iload 1
iload 8
iadd
iload 6
idiv
22: iload 2
iload 9
iadd
iload 7
idiv
23: invokevirtual com.sun.imageio.plugins.png.PNGImageReader.decodePass:(IIIIIII)V
24: goto 28
25: StackMap locals: com.sun.imageio.plugins.png.PNGImageReader int int int int int int int int int
StackMap stack:
aload 0
iload 1
iload 8
iadd
iload 6
idiv
26: iload 2
iload 9
iadd
iload 7
idiv
27: invokevirtual com.sun.imageio.plugins.png.PNGImageReader.skipPass:(II)V
28: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.abortRequested:()Z
ifeq 30
29: return
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 30: StackMap locals: com.sun.imageio.plugins.png.PNGImageReader int int int
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
31: iload 3
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.sourceMaxProgressivePass:I
if_icmple 9
end local 3 32: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lcom/sun/imageio/plugins/png/PNGImageReader;
1 33 1 width I
2 33 2 height I
8 32 3 i I
10 30 4 XOffset I
11 30 5 YOffset I
12 30 6 XSubsampling I
13 30 7 YSubsampling I
14 30 8 xbump I
15 30 9 ybump I
Exceptions:
throws java.io.IOException, javax.imageio.IIOException
private void readImage(javax.imageio.ImageReadParam);
descriptor: (Ljavax/imageio/ImageReadParam;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=10, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.readMetadata:()V
1: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_width:I
istore 2
start local 2 2: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_height:I
istore 3
start local 3 3: aload 0
iconst_1
putfield com.sun.imageio.plugins.png.PNGImageReader.sourceXSubsampling:I
4: aload 0
iconst_1
putfield com.sun.imageio.plugins.png.PNGImageReader.sourceYSubsampling:I
5: aload 0
iconst_0
putfield com.sun.imageio.plugins.png.PNGImageReader.sourceMinProgressivePass:I
6: aload 0
bipush 6
putfield com.sun.imageio.plugins.png.PNGImageReader.sourceMaxProgressivePass:I
7: aload 0
aconst_null
putfield com.sun.imageio.plugins.png.PNGImageReader.sourceBands:[I
8: aload 0
aconst_null
putfield com.sun.imageio.plugins.png.PNGImageReader.destinationBands:[I
9: aload 0
new java.awt.Point
dup
iconst_0
iconst_0
invokespecial java.awt.Point.<init>:(II)V
putfield com.sun.imageio.plugins.png.PNGImageReader.destinationOffset:Ljava/awt/Point;
10: aload 1
ifnull 22
11: aload 0
aload 1
invokevirtual javax.imageio.ImageReadParam.getSourceXSubsampling:()I
putfield com.sun.imageio.plugins.png.PNGImageReader.sourceXSubsampling:I
12: aload 0
aload 1
invokevirtual javax.imageio.ImageReadParam.getSourceYSubsampling:()I
putfield com.sun.imageio.plugins.png.PNGImageReader.sourceYSubsampling:I
13: aload 0
14: aload 1
invokevirtual javax.imageio.ImageReadParam.getSourceMinProgressivePass:()I
iconst_0
invokestatic java.lang.Math.max:(II)I
15: putfield com.sun.imageio.plugins.png.PNGImageReader.sourceMinProgressivePass:I
16: aload 0
17: aload 1
invokevirtual javax.imageio.ImageReadParam.getSourceMaxProgressivePass:()I
bipush 6
invokestatic java.lang.Math.min:(II)I
18: putfield com.sun.imageio.plugins.png.PNGImageReader.sourceMaxProgressivePass:I
19: aload 0
aload 1
invokevirtual javax.imageio.ImageReadParam.getSourceBands:()[I
putfield com.sun.imageio.plugins.png.PNGImageReader.sourceBands:[I
20: aload 0
aload 1
invokevirtual javax.imageio.ImageReadParam.getDestinationBands:()[I
putfield com.sun.imageio.plugins.png.PNGImageReader.destinationBands:[I
21: aload 0
aload 1
invokevirtual javax.imageio.ImageReadParam.getDestinationOffset:()Ljava/awt/Point;
putfield com.sun.imageio.plugins.png.PNGImageReader.destinationOffset:Ljava/awt/Point;
22: StackMap locals: int int
StackMap stack:
aconst_null
astore 4
start local 4 23: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.imageStartPosition:J
invokeinterface javax.imageio.stream.ImageInputStream.seek:(J)V
24: new com.sun.imageio.plugins.png.PNGImageDataEnumeration
dup
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokespecial com.sun.imageio.plugins.png.PNGImageDataEnumeration.<init>:(Ljavax/imageio/stream/ImageInputStream;)V
astore 5
start local 5 25: new java.io.SequenceInputStream
dup
aload 5
invokespecial java.io.SequenceInputStream.<init>:(Ljava/util/Enumeration;)V
astore 6
start local 6 26: new java.util.zip.Inflater
dup
invokespecial java.util.zip.Inflater.<init>:()V
astore 4
27: new java.util.zip.InflaterInputStream
dup
aload 6
aload 4
invokespecial java.util.zip.InflaterInputStream.<init>:(Ljava/io/InputStream;Ljava/util/zip/Inflater;)V
astore 6
28: new java.io.BufferedInputStream
dup
aload 6
invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
astore 6
29: aload 0
new java.io.DataInputStream
dup
aload 6
invokespecial java.io.DataInputStream.<init>:(Ljava/io/InputStream;)V
putfield com.sun.imageio.plugins.png.PNGImageReader.pixelStream:Ljava/io/DataInputStream;
30: aload 0
aload 1
31: aload 0
iconst_0
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.getImageTypes:(I)Ljava/util/Iterator;
32: iload 2
33: iload 3
34: invokestatic com.sun.imageio.plugins.png.PNGImageReader.getDestination:(Ljavax/imageio/ImageReadParam;Ljava/util/Iterator;II)Ljava/awt/image/BufferedImage;
putfield com.sun.imageio.plugins.png.PNGImageReader.theImage:Ljava/awt/image/BufferedImage;
35: new java.awt.Rectangle
dup
iconst_0
iconst_0
iconst_0
iconst_0
invokespecial java.awt.Rectangle.<init>:(IIII)V
astore 7
start local 7 36: 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.png.PNGImageReader.sourceRegion:Ljava/awt/Rectangle;
37: aload 1
iload 2
iload 3
38: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.theImage:Ljava/awt/image/BufferedImage;
39: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.sourceRegion:Ljava/awt/Rectangle;
aload 7
40: invokestatic com.sun.imageio.plugins.png.PNGImageReader.computeRegions:(Ljavax/imageio/ImageReadParam;IILjava/awt/image/BufferedImage;Ljava/awt/Rectangle;Ljava/awt/Rectangle;)V
41: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.destinationOffset:Ljava/awt/Point;
aload 7
invokevirtual java.awt.Rectangle.getLocation:()Ljava/awt/Point;
invokevirtual java.awt.Point.setLocation:(Ljava/awt/Point;)V
42: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_colorType:I
istore 8
start local 8 43: aload 1
44: getstatic com.sun.imageio.plugins.png.PNGImageReader.inputBandsForColorType:[I
iload 8
iaload
45: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.theImage:Ljava/awt/image/BufferedImage;
invokevirtual java.awt.image.BufferedImage.getSampleModel:()Ljava/awt/image/SampleModel;
invokevirtual java.awt.image.SampleModel.getNumBands:()I
46: invokestatic com.sun.imageio.plugins.png.PNGImageReader.checkReadParamBandSettings:(Ljavax/imageio/ImageReadParam;II)V
47: aload 0
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.clearAbortRequest:()V
48: aload 0
iconst_0
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.processImageStarted:(I)V
49: aload 0
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.abortRequested:()Z
ifeq 52
50: aload 0
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.processReadAborted:()V
51: goto 64
52: StackMap locals: com.sun.imageio.plugins.png.PNGImageReader javax.imageio.ImageReadParam int int java.util.zip.Inflater java.util.Enumeration java.io.InputStream java.awt.Rectangle int
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.decodeImage:()V
53: aload 0
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.abortRequested:()Z
ifeq 56
54: aload 0
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.processReadAborted:()V
55: goto 64
56: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.processImageComplete:()V
end local 8 end local 7 end local 6 end local 5 57: goto 64
StackMap locals: com.sun.imageio.plugins.png.PNGImageReader javax.imageio.ImageReadParam int int java.util.zip.Inflater
StackMap stack: java.io.IOException
58: astore 5
start local 5 59: new javax.imageio.IIOException
dup
ldc "Error reading PNG image data"
aload 5
invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 5 60: StackMap locals:
StackMap stack: java.lang.Throwable
astore 9
61: aload 4
ifnull 63
62: aload 4
invokevirtual java.util.zip.Inflater.end:()V
63: StackMap locals: com.sun.imageio.plugins.png.PNGImageReader javax.imageio.ImageReadParam int int java.util.zip.Inflater top top top top java.lang.Throwable
StackMap stack:
aload 9
athrow
64: StackMap locals: com.sun.imageio.plugins.png.PNGImageReader javax.imageio.ImageReadParam int int java.util.zip.Inflater
StackMap stack:
aload 4
ifnull 66
65: aload 4
invokevirtual java.util.zip.Inflater.end:()V
66: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 67 0 this Lcom/sun/imageio/plugins/png/PNGImageReader;
0 67 1 param Ljavax/imageio/ImageReadParam;
2 67 2 width I
3 67 3 height I
23 67 4 inf Ljava/util/zip/Inflater;
25 57 5 e Ljava/util/Enumeration<Ljava/io/InputStream;>;
26 57 6 is Ljava/io/InputStream;
36 57 7 destRegion Ljava/awt/Rectangle;
43 57 8 colorType I
59 60 5 e Ljava/io/IOException;
Exception table:
from to target type
23 57 58 Class java.io.IOException
23 60 60 any
Exceptions:
throws javax.imageio.IIOException
MethodParameters:
Name Flags
param
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.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
ifnonnull 2
1: new java.lang.IllegalStateException
dup
ldc "No input source set!"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.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:
iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/imageio/plugins/png/PNGImageReader;
0 7 1 allowSearch Z
Exceptions:
throws javax.imageio.IIOException
MethodParameters:
Name Flags
allowSearch
public int getWidth(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifeq 2
1: new java.lang.IndexOutOfBoundsException
dup
ldc "imageIndex != 0!"
invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.readHeader:()V
3: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_width:I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/imageio/plugins/png/PNGImageReader;
0 4 1 imageIndex I
Exceptions:
throws javax.imageio.IIOException
MethodParameters:
Name Flags
imageIndex
public int getHeight(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifeq 2
1: new java.lang.IndexOutOfBoundsException
dup
ldc "imageIndex != 0!"
invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.readHeader:()V
3: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_height:I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/imageio/plugins/png/PNGImageReader;
0 4 1 imageIndex I
Exceptions:
throws javax.imageio.IIOException
MethodParameters:
Name Flags
imageIndex
public java.util.Iterator<javax.imageio.ImageTypeSpecifier> getImageTypes(int);
descriptor: (I)Ljava/util/Iterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=14, args_size=2
start local 0 start local 1 0: iload 1
ifeq 2
1: new java.lang.IndexOutOfBoundsException
dup
ldc "imageIndex != 0!"
invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.readHeader:()V
3: new java.util.ArrayList
dup
iconst_1
invokespecial java.util.ArrayList.<init>:(I)V
4: astore 2
start local 2 5: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_bitDepth:I
istore 6
start local 6 6: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_colorType:I
istore 7
start local 7 7: iload 6
bipush 8
if_icmpgt 10
8: iconst_0
istore 8
start local 8 9: goto 11
end local 8 10: StackMap locals: com.sun.imageio.plugins.png.PNGImageReader int java.util.ArrayList top top top int int
StackMap stack:
iconst_1
istore 8
start local 8 11: StackMap locals: int
StackMap stack:
iload 7
tableswitch { // 0 - 6
0: 12
1: 104
2: 17
3: 39
4: 73
5: 104
6: 84
default: 104
}
12: StackMap locals:
StackMap stack:
aload 2
iload 6
13: iload 8
14: iconst_0
15: invokestatic javax.imageio.ImageTypeSpecifier.createGrayscale:(IIZ)Ljavax/imageio/ImageTypeSpecifier;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
16: goto 104
17: StackMap locals:
StackMap stack:
iload 6
bipush 8
if_icmpne 27
18: aload 2
19: iconst_5
20: invokestatic javax.imageio.ImageTypeSpecifier.createFromBufferedImageType:(I)Ljavax/imageio/ImageTypeSpecifier;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
21: aload 2
22: iconst_1
23: invokestatic javax.imageio.ImageTypeSpecifier.createFromBufferedImageType:(I)Ljavax/imageio/ImageTypeSpecifier;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
24: aload 2
25: iconst_4
26: invokestatic javax.imageio.ImageTypeSpecifier.createFromBufferedImageType:(I)Ljavax/imageio/ImageTypeSpecifier;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
27: StackMap locals:
StackMap stack:
sipush 1000
invokestatic java.awt.color.ColorSpace.getInstance:(I)Ljava/awt/color/ColorSpace;
astore 3
start local 3 28: iconst_3
newarray 10
astore 5
start local 5 29: aload 5
iconst_0
iconst_0
iastore
30: aload 5
iconst_1
iconst_1
iastore
31: aload 5
iconst_2
iconst_2
iastore
32: aload 2
aload 3
33: aload 5
34: iload 8
35: iconst_0
36: iconst_0
37: invokestatic javax.imageio.ImageTypeSpecifier.createInterleaved:(Ljava/awt/color/ColorSpace;[IIZZ)Ljavax/imageio/ImageTypeSpecifier;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
38: goto 104
end local 5 end local 3 39: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.readMetadata:()V
40: iconst_1
iload 6
ishl
istore 9
start local 9 41: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_red:[B
astore 10
start local 10 42: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_green:[B
astore 11
start local 11 43: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_blue:[B
astore 12
start local 12 44: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_red:[B
arraylength
iload 9
if_icmpge 57
45: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_red:[B
iload 9
invokestatic java.util.Arrays.copyOf:([BI)[B
astore 10
46: aload 10
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_red:[B
arraylength
iload 9
47: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_red:[B
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_red:[B
arraylength
iconst_1
isub
baload
48: invokestatic java.util.Arrays.fill:([BIIB)V
49: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_green:[B
iload 9
invokestatic java.util.Arrays.copyOf:([BI)[B
astore 11
50: aload 11
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_green:[B
arraylength
iload 9
51: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_green:[B
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_green:[B
arraylength
iconst_1
isub
baload
52: invokestatic java.util.Arrays.fill:([BIIB)V
53: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_blue:[B
iload 9
invokestatic java.util.Arrays.copyOf:([BI)[B
astore 12
54: aload 12
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_blue:[B
arraylength
iload 9
55: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_blue:[B
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_blue:[B
arraylength
iconst_1
isub
baload
56: invokestatic java.util.Arrays.fill:([BIIB)V
57: StackMap locals: com.sun.imageio.plugins.png.PNGImageReader int java.util.ArrayList top top top int int int int byte[] byte[] byte[]
StackMap stack:
aconst_null
astore 13
start local 13 58: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_present:Z
ifeq 67
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_alpha:[B
ifnull 67
59: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_alpha:[B
arraylength
aload 10
arraylength
if_icmpne 62
60: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_alpha:[B
astore 13
61: goto 67
62: StackMap locals: byte[]
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_alpha:[B
aload 10
arraylength
invokestatic java.util.Arrays.copyOf:([BI)[B
astore 13
63: aload 13
64: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_alpha:[B
arraylength
65: aload 10
arraylength
iconst_m1
66: invokestatic java.util.Arrays.fill:([BIIB)V
67: StackMap locals:
StackMap stack:
aload 2
aload 10
aload 11
68: aload 12
aload 13
69: iload 6
70: iconst_0
71: invokestatic javax.imageio.ImageTypeSpecifier.createIndexed:([B[B[B[BII)Ljavax/imageio/ImageTypeSpecifier;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
72: goto 104
end local 13 end local 12 end local 11 end local 10 end local 9 73: StackMap locals: com.sun.imageio.plugins.png.PNGImageReader int java.util.ArrayList top top top int int int
StackMap stack:
sipush 1003
invokestatic java.awt.color.ColorSpace.getInstance:(I)Ljava/awt/color/ColorSpace;
astore 4
start local 4 74: iconst_2
newarray 10
astore 5
start local 5 75: aload 5
iconst_0
iconst_0
iastore
76: aload 5
iconst_1
iconst_1
iastore
77: aload 2
aload 4
78: aload 5
79: iload 8
80: iconst_1
81: iconst_0
82: invokestatic javax.imageio.ImageTypeSpecifier.createInterleaved:(Ljava/awt/color/ColorSpace;[IIZZ)Ljavax/imageio/ImageTypeSpecifier;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
83: goto 104
end local 5 end local 4 84: StackMap locals:
StackMap stack:
iload 6
bipush 8
if_icmpne 91
85: aload 2
86: bipush 6
87: invokestatic javax.imageio.ImageTypeSpecifier.createFromBufferedImageType:(I)Ljavax/imageio/ImageTypeSpecifier;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
88: aload 2
89: iconst_2
90: invokestatic javax.imageio.ImageTypeSpecifier.createFromBufferedImageType:(I)Ljavax/imageio/ImageTypeSpecifier;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
91: StackMap locals:
StackMap stack:
sipush 1000
invokestatic java.awt.color.ColorSpace.getInstance:(I)Ljava/awt/color/ColorSpace;
astore 3
start local 3 92: iconst_4
newarray 10
astore 5
start local 5 93: aload 5
iconst_0
iconst_0
iastore
94: aload 5
iconst_1
iconst_1
iastore
95: aload 5
iconst_2
iconst_2
iastore
96: aload 5
iconst_3
iconst_3
iastore
97: aload 2
aload 3
98: aload 5
99: iload 8
100: iconst_1
101: iconst_0
102: invokestatic javax.imageio.ImageTypeSpecifier.createInterleaved:(Ljava/awt/color/ColorSpace;[IIZZ)Ljavax/imageio/ImageTypeSpecifier;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
103: goto 104
end local 5 end local 3 104: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
areturn
end local 8 end local 7 end local 6 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 105 0 this Lcom/sun/imageio/plugins/png/PNGImageReader;
0 105 1 imageIndex I
5 105 2 l Ljava/util/ArrayList<Ljavax/imageio/ImageTypeSpecifier;>;
28 39 3 rgb Ljava/awt/color/ColorSpace;
92 104 3 rgb Ljava/awt/color/ColorSpace;
74 84 4 gray Ljava/awt/color/ColorSpace;
29 39 5 bandOffsets [I
75 84 5 bandOffsets [I
93 104 5 bandOffsets [I
6 105 6 bitDepth I
7 105 7 colorType I
9 10 8 dataType I
11 105 8 dataType I
41 73 9 plength I
42 73 10 red [B
43 73 11 green [B
44 73 12 blue [B
58 73 13 alpha [B
Exceptions:
throws javax.imageio.IIOException
Signature: (I)Ljava/util/Iterator<Ljavax/imageio/ImageTypeSpecifier;>;
MethodParameters:
Name Flags
imageIndex
public javax.imageio.ImageTypeSpecifier getRawImageType(int);
descriptor: (I)Ljavax/imageio/ImageTypeSpecifier;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.getImageTypes:(I)Ljava/util/Iterator;
astore 2
start local 2 1: aconst_null
astore 3
start local 3 2: StackMap locals: java.util.Iterator javax.imageio.ImageTypeSpecifier
StackMap stack:
aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.imageio.ImageTypeSpecifier
astore 3
3: aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
4: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/imageio/plugins/png/PNGImageReader;
0 5 1 imageIndex I
1 5 2 types Ljava/util/Iterator<Ljavax/imageio/ImageTypeSpecifier;>;
2 5 3 raw Ljavax/imageio/ImageTypeSpecifier;
Exceptions:
throws java.io.IOException
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/png/PNGImageReader;
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: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/imageio/plugins/png/PNGImageReader;
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=2, args_size=2
start local 0 start local 1 0: iload 1
ifeq 2
1: new java.lang.IndexOutOfBoundsException
dup
ldc "imageIndex != 0!"
invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.readMetadata:()V
3: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/imageio/plugins/png/PNGImageReader;
0 4 1 imageIndex I
Exceptions:
throws javax.imageio.IIOException
MethodParameters:
Name Flags
imageIndex
public java.awt.image.BufferedImage read(int, javax.imageio.ImageReadParam);
descriptor: (ILjavax/imageio/ImageReadParam;)Ljava/awt/image/BufferedImage;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 1
ifeq 2
1: new java.lang.IndexOutOfBoundsException
dup
ldc "imageIndex != 0!"
invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.readImage:(Ljavax/imageio/ImageReadParam;)V
3: goto 8
4: StackMap locals:
StackMap stack: java.lang.Exception
astore 3
start local 3 5: aload 3
athrow
end local 3 6: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
start local 3 7: new javax.imageio.IIOException
dup
ldc "Caught exception during read: "
aload 3
invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 8: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.theImage:Ljava/awt/image/BufferedImage;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/imageio/plugins/png/PNGImageReader;
0 9 1 imageIndex I
0 9 2 param Ljavax/imageio/ImageReadParam;
5 6 3 e Ljava/lang/Exception;
7 8 3 e Ljava/lang/Throwable;
Exception table:
from to target type
2 3 4 Class java.io.IOException
2 3 4 Class java.lang.IllegalStateException
2 3 4 Class java.lang.IllegalArgumentException
2 3 6 Class java.lang.Throwable
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.png.PNGImageReader.resetStreamSettings:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/imageio/plugins/png/PNGImageReader;
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.png.PNGImageReader.gotHeader:Z
1: aload 0
iconst_0
putfield com.sun.imageio.plugins.png.PNGImageReader.gotMetadata:Z
2: aload 0
aconst_null
putfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
3: aload 0
aconst_null
putfield com.sun.imageio.plugins.png.PNGImageReader.pixelStream:Ljava/io/DataInputStream;
4: aload 0
ldc -1
putfield com.sun.imageio.plugins.png.PNGImageReader.imageStartPosition:J
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/imageio/plugins/png/PNGImageReader;
}
SourceFile: "PNGImageReader.java"