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=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: iload 1
aload 2
invokevirtual java.lang.String.length:()I
isub
iconst_2
isub
istore 3
start local 3 2: iload 3
ifgt 4
3: new javax.imageio.IIOException
dup
ldc "iCCP chunk length is not proper"
invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: java.lang.String int
StackMap stack:
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;
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.iCCP_compressionMethod:I
6: iload 3
newarray 8
7: astore 4
start local 4 8: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
aload 4
invokeinterface javax.imageio.stream.ImageInputStream.readFully:([B)V
9: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
aload 4
putfield com.sun.imageio.plugins.png.PNGMetadata.iCCP_compressedProfile:[B
10: 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
11: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/sun/imageio/plugins/png/PNGImageReader;
0 12 1 chunkLength I
1 12 2 keyword Ljava/lang/String;
2 12 3 compressedProfileLength I
8 12 4 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=16, 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
istore 13
start local 13 18: iload 13
ifge 20
19: new javax.imageio.IIOException
dup
ldc "iTXt chunk length is not proper"
invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
athrow
20: StackMap locals: com.sun.imageio.plugins.png.PNGImageReader int long java.lang.String int int java.lang.String long int java.lang.String top int
StackMap stack:
iload 13
newarray 8
astore 14
start local 14 21: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
aload 14
invokeinterface javax.imageio.stream.ImageInputStream.readFully:([B)V
22: iload 5
iconst_1
if_icmpne 25
23: new java.lang.String
dup
aload 14
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 24: goto 26
end local 12 25: StackMap locals: byte[]
StackMap stack:
new java.lang.String
dup
aload 14
ldc "UTF8"
invokespecial java.lang.String.<init>:([BLjava/lang/String;)V
astore 12
start local 12 26: 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 int 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
27: aload 4
ldc "Creation Time"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 32
28: 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 15
start local 15 29: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
30: 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 15
invokevirtual java.util.ArrayList.listIterator:(I)Ljava/util/ListIterator;
31: invokevirtual com.sun.imageio.plugins.png.PNGMetadata.decodeImageCreationTimeFromTextChunk:(Ljava/util/ListIterator;)V
end local 15 32: StackMap locals:
StackMap stack:
return
end local 14 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 33 0 this Lcom/sun/imageio/plugins/png/PNGImageReader;
0 33 1 chunkLength I
1 33 2 chunkStart J
2 33 4 keyword Ljava/lang/String;
4 33 5 compressionFlag I
8 33 6 compressionMethod I
10 33 7 languageTag Ljava/lang/String;
12 33 8 pos J
13 33 10 maxLen I
15 33 11 translatedKeyword Ljava/lang/String;
24 25 12 text Ljava/lang/String;
26 33 12 text Ljava/lang/String;
18 33 13 textLength I
21 33 14 b [B
29 32 15 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=6, 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
2: 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
3: isub
istore 2
start local 2 4: iload 2
ifgt 6
5: new javax.imageio.IIOException
dup
ldc "sPLT chunk length is not proper"
invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals: int
StackMap stack:
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 7: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
iload 3
putfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_sampleDepth:I
8: iload 2
iconst_4
iload 3
bipush 8
idiv
imul
iconst_2
iadd
idiv
istore 4
start local 4 9: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
iload 4
newarray 10
putfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_red:[I
10: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
iload 4
newarray 10
putfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_green:[I
11: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
iload 4
newarray 10
putfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_blue:[I
12: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
iload 4
newarray 10
putfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_alpha:[I
13: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
iload 4
newarray 10
putfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_frequency:[I
14: iload 3
bipush 8
if_icmpne 25
15: iconst_0
istore 5
start local 5 16: goto 23
17: 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 5
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
iastore
18: 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 5
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
iastore
19: 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 5
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
iastore
20: 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 5
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
iastore
21: 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 5
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
iastore
22: iinc 5 1
StackMap locals:
StackMap stack:
23: iload 5
iload 4
if_icmplt 17
end local 5 24: goto 37
StackMap locals:
StackMap stack:
25: iload 3
bipush 16
if_icmpne 36
26: iconst_0
istore 5
start local 5 27: goto 34
28: 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 5
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
iastore
29: 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 5
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
iastore
30: 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 5
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
iastore
31: 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 5
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
iastore
32: 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 5
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
iastore
33: iinc 5 1
StackMap locals:
StackMap stack:
34: iload 5
iload 4
if_icmplt 28
end local 5 35: goto 37
36: 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
37: 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
38: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 39 0 this Lcom/sun/imageio/plugins/png/PNGImageReader;
0 39 1 chunkLength I
4 39 2 remainingChunkLength I
7 39 3 sampleDepth I
9 39 4 numEntries I
16 24 5 i I
27 35 5 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=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: iload 1
aload 2
invokevirtual java.lang.String.length:()I
isub
iconst_1
isub
istore 3
start local 3 2: iload 3
ifge 4
3: new javax.imageio.IIOException
dup
ldc "tEXt chunk length is not proper"
invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: java.lang.String 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.tEXt_keyword:Ljava/util/ArrayList;
aload 2
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
5: iload 3
newarray 8
astore 4
start local 4 6: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
aload 4
invokeinterface javax.imageio.stream.ImageInputStream.readFully:([B)V
7: 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 4
ldc "ISO-8859-1"
invokespecial java.lang.String.<init>:([BLjava/lang/String;)V
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
8: aload 2
ldc "Creation Time"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 13
9: 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 5
start local 5 10: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
11: 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 5
invokevirtual java.util.ArrayList.listIterator:(I)Ljava/util/ListIterator;
12: invokevirtual com.sun.imageio.plugins.png.PNGMetadata.decodeImageCreationTimeFromTextChunk:(Ljava/util/ListIterator;)V
end local 5 13: StackMap locals: 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 14 0 this Lcom/sun/imageio/plugins/png/PNGImageReader;
0 14 1 chunkLength I
1 14 2 keyword Ljava/lang/String;
2 14 3 textLength I
6 14 4 b [B
10 13 5 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
iload 3
ifle 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=7, 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: iload 1
aload 2
invokevirtual java.lang.String.length:()I
isub
iconst_2
isub
istore 3
start local 3 2: iload 3
ifge 4
3: new javax.imageio.IIOException
dup
ldc "zTXt chunk length is not proper"
invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: java.lang.String 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.zTXt_keyword:Ljava/util/ArrayList;
aload 2
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
5: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
istore 4
start local 4 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_compressionMethod:Ljava/util/ArrayList;
iload 4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
7: iload 3
newarray 8
astore 5
start local 5 8: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
aload 5
invokeinterface javax.imageio.stream.ImageInputStream.readFully:([B)V
9: 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 5
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
10: aload 2
ldc "Creation Time"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 15
11: 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 6
start local 6 12: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
13: 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 6
invokevirtual java.util.ArrayList.listIterator:(I)Ljava/util/ListIterator;
14: invokevirtual com.sun.imageio.plugins.png.PNGMetadata.decodeImageCreationTimeFromTextChunk:(Ljava/util/ListIterator;)V
end local 6 15: StackMap locals: int byte[]
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/sun/imageio/plugins/png/PNGImageReader;
0 16 1 chunkLength I
1 16 2 keyword Ljava/lang/String;
2 16 3 textLength I
6 16 4 method I
8 16 5 b [B
12 15 6 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 23
iload 1
iconst_3
if_icmpeq 23
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 21
13: StackMap locals: int
StackMap stack:
iload 3
ldc 1951551059
if_icmpne 17
14: aload 0
iload 2
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.parse_tRNS_chunk:(I)V
15: 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
16: goto 5
17: StackMap locals:
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 18: goto 5
19: StackMap locals: com.sun.imageio.plugins.png.PNGImageReader int
StackMap stack: java.io.IOException
astore 2
start local 2 20: 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 21: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield com.sun.imageio.plugins.png.PNGImageReader.gotMetadata:Z
22: return
23: 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 24: 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 25: iconst_m1
istore 4
start local 4 26: iload 2
ifge 28
27: 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
28: StackMap locals: int int int
StackMap stack:
iload 3
ldc 1229278788
if_icmpeq 36
29: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.mark:()V
30: 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
31: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.readInt:()I
istore 4
32: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.reset:()V
33: goto 36
StackMap locals:
StackMap stack: java.io.IOException
34: pop
35: 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
36: StackMap locals:
StackMap stack:
iload 3
lookupswitch { // 17
1229209940: 37
1229278788: 44
1347179589: 47
1649100612: 49
1665684045: 51
1732332865: 53
1749635924: 55
1766015824: 57
1767135348: 59
1883789683: 64
1933723988: 66
1934642260: 68
1934772034: 70
1950701684: 72
1950960965: 74
1951551059: 76
2052348020: 78
default: 83
}
37: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.imageStartPosition:J
ldc -1
lcmp
ifne 42
38: iload 1
iconst_3
if_icmpne 41
39: 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 41
40: new javax.imageio.IIOException
dup
ldc "Required PLTE chunk missing"
invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
athrow
41: StackMap locals:
StackMap stack:
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
42: 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
43: goto 97
44: 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
45: 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
46: goto 103
47: StackMap locals:
StackMap stack:
aload 0
iload 2
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.parse_PLTE_chunk:(I)V
48: goto 97
49: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.parse_bKGD_chunk:()V
50: goto 97
51: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.parse_cHRM_chunk:()V
52: goto 97
53: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.parse_gAMA_chunk:()V
54: goto 97
55: StackMap locals:
StackMap stack:
aload 0
iload 2
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.parse_hIST_chunk:(I)V
56: goto 97
57: StackMap locals:
StackMap stack:
aload 0
iload 2
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.parse_iCCP_chunk:(I)V
58: goto 97
59: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.ignoreMetadata:Z
ifeq 62
60: 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
61: goto 97
62: StackMap locals:
StackMap stack:
aload 0
iload 2
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.parse_iTXt_chunk:(I)V
63: goto 97
64: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.parse_pHYs_chunk:()V
65: goto 97
66: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.parse_sBIT_chunk:()V
67: goto 97
68: StackMap locals:
StackMap stack:
aload 0
iload 2
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.parse_sPLT_chunk:(I)V
69: goto 97
70: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.parse_sRGB_chunk:()V
71: goto 97
72: StackMap locals:
StackMap stack:
aload 0
iload 2
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.parse_tEXt_chunk:(I)V
73: goto 97
74: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.parse_tIME_chunk:()V
75: goto 97
76: StackMap locals:
StackMap stack:
aload 0
iload 2
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.parse_tRNS_chunk:(I)V
77: goto 97
78: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.ignoreMetadata:Z
ifeq 81
79: 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
80: goto 97
81: StackMap locals:
StackMap stack:
aload 0
iload 2
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.parse_zTXt_chunk:(I)V
82: goto 97
83: StackMap locals:
StackMap stack:
iload 2
newarray 8
astore 5
start local 5 84: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
aload 5
invokeinterface javax.imageio.stream.ImageInputStream.readFully:([B)V
85: new java.lang.StringBuilder
dup
iconst_4
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 6
start local 6 86: aload 6
iload 3
bipush 24
iushr
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
87: aload 6
iload 3
bipush 16
ishr
sipush 255
iand
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
88: aload 6
iload 3
bipush 8
ishr
sipush 255
iand
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
89: aload 6
iload 3
sipush 255
iand
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
90: iload 3
bipush 28
iushr
istore 7
start local 7 91: iload 7
ifne 95
92: aload 0
93: ldc "Encountered unknown chunk with critical bit set!"
94: invokevirtual com.sun.imageio.plugins.png.PNGImageReader.processWarningOccurred:(Ljava/lang/String;)V
95: 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
96: 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 97: 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 23
98: 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
99: iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
100: invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
athrow
end local 4 end local 3 end local 2 101: StackMap locals: com.sun.imageio.plugins.png.PNGImageReader int
StackMap stack: java.io.IOException
astore 2
start local 2 102: 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 103: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield com.sun.imageio.plugins.png.PNGImageReader.gotMetadata:Z
104: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 105 0 this Lcom/sun/imageio/plugins/png/PNGImageReader;
4 105 1 colorType I
6 18 2 chunkLength I
9 18 3 chunkType I
20 21 2 e Ljava/io/IOException;
24 101 2 chunkLength I
25 101 3 chunkType I
26 101 4 chunkCRC I
84 97 5 b [B
86 97 6 chunkName Ljava/lang/StringBuilder;
91 97 7 ancillaryBit I
102 103 2 e Ljava/io/IOException;
Exception table:
from to target type
5 19 19 Class java.io.IOException
28 33 34 Class java.io.IOException
23 101 101 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=7, 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
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
iload 1
invokestatic java.lang.Math.multiplyExact:(II)I
4: istore 4
start local 4 5: iload 4
bipush 7
iadd
bipush 8
idiv
istore 5
start local 5 6: iconst_0
istore 6
start local 6 7: goto 10
8: StackMap locals: com.sun.imageio.plugins.png.PNGImageReader int int int int int int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.pixelStream:Ljava/io/DataInputStream;
iconst_1
iload 5
iadd
invokevirtual java.io.DataInputStream.skipBytes:(I)I
pop
9: iinc 6 1
StackMap locals:
StackMap stack:
10: iload 6
iload 2
if_icmplt 8
end local 6 11: 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 12 0 this Lcom/sun/imageio/plugins/png/PNGImageReader;
0 12 1 passWidth I
0 12 2 passHeight I
3 12 3 inputBands I
5 12 4 bitsPerRow I
6 12 5 bytesPerRow I
7 11 6 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=50, 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 19
imul
iload 6
invokestatic java.lang.Math.multiplyExact:(II)I
istore 22
start local 22 30: iload 22
bipush 7
iadd
bipush 8
idiv
istore 23
start local 23 31: iload 19
bipush 16
if_icmpne 32
iload 23
iconst_2
idiv
goto 33
StackMap locals: int int int
StackMap stack:
32: iload 23
StackMap locals:
StackMap stack: int
33: istore 24
start local 24 34: iload 16
ifne 44
35: iconst_0
istore 25
start local 25 36: goto 42
37: StackMap locals: int int
StackMap stack:
aload 0
iload 6
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.updateImageProgress:(I)V
38: aload 0
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.abortRequested:()Z
ifeq 40
39: return
40: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.pixelStream:Ljava/io/DataInputStream;
iconst_1
iload 23
iadd
invokevirtual java.io.DataInputStream.skipBytes:(I)I
pop
41: iinc 25 1
StackMap locals:
StackMap stack:
42: iload 25
iload 7
if_icmplt 37
end local 25 43: return
44: 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
45: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.sourceRegion:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.x:I
46: iadd
47: istore 25
start local 25 48: iload 25
iload 2
isub
iload 4
idiv
istore 26
start local 26 49: iload 17
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.sourceXSubsampling:I
imul
iload 4
idiv
istore 27
start local 27 50: aconst_null
astore 28
start local 28 51: aconst_null
astore 29
start local 29 52: iload 23
newarray 8
astore 30
start local 30 53: iload 23
newarray 8
astore 31
start local 31 54: aload 0
iload 6
iconst_1
iload 20
55: iload 24
56: iload 19
57: invokevirtual com.sun.imageio.plugins.png.PNGImageReader.createRaster:(IIIII)Ljava/awt/image/WritableRaster;
astore 32
start local 32 58: aload 32
iconst_0
iconst_0
aconst_null
invokevirtual java.awt.image.WritableRaster.getPixel:(II[I)[I
astore 33
start local 33 59: aload 32
invokevirtual java.awt.image.WritableRaster.getDataBuffer:()Ljava/awt/image/DataBuffer;
astore 34
start local 34 60: aload 34
invokevirtual java.awt.image.DataBuffer.getDataType:()I
istore 35
start local 35 61: iload 35
ifne 64
62: aload 34
checkcast java.awt.image.DataBufferByte
invokevirtual java.awt.image.DataBufferByte.getData:()[B
astore 28
63: goto 65
64: 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 int byte[] short[] byte[] byte[] java.awt.image.WritableRaster int[] java.awt.image.DataBuffer int
StackMap stack:
aload 34
checkcast java.awt.image.DataBufferUShort
invokevirtual java.awt.image.DataBufferUShort.getData:()[S
astore 29
65: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.theImage:Ljava/awt/image/BufferedImage;
66: iload 1
67: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.sourceMinProgressivePass:I
68: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.sourceMaxProgressivePass:I
69: iload 14
iload 15
70: iload 17
iload 18
71: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.destinationBands:[I
72: invokevirtual com.sun.imageio.plugins.png.PNGImageReader.processPassStarted:(Ljava/awt/image/BufferedImage;IIIIIII[I)V
73: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.sourceBands:[I
ifnull 79
74: aload 32
iconst_0
iconst_0
75: aload 32
invokevirtual java.awt.image.WritableRaster.getWidth:()I
iconst_1
76: iconst_0
iconst_0
77: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.sourceBands:[I
78: invokevirtual java.awt.image.WritableRaster.createWritableChild:(IIIIII[I)Ljava/awt/image/WritableRaster;
astore 32
79: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.destinationBands:[I
ifnull 86
80: aload 8
iconst_0
iconst_0
81: aload 8
invokevirtual java.awt.image.WritableRaster.getWidth:()I
82: aload 8
invokevirtual java.awt.image.WritableRaster.getHeight:()I
83: iconst_0
iconst_0
84: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.destinationBands:[I
85: invokevirtual java.awt.image.WritableRaster.createWritableChild:(IIIIII[I)Ljava/awt/image/WritableRaster;
astore 8
86: StackMap locals:
StackMap stack:
iconst_0
istore 36
start local 36 87: aload 8
invokevirtual java.awt.image.WritableRaster.getSampleModel:()Ljava/awt/image/SampleModel;
invokevirtual java.awt.image.SampleModel.getSampleSize:()[I
astore 37
start local 37 88: iconst_0
istore 38
start local 38 89: goto 94
90: StackMap locals: int int[] int
StackMap stack:
aload 37
iload 38
iaload
iload 19
if_icmpeq 93
91: iconst_1
istore 36
92: goto 95
93: StackMap locals:
StackMap stack:
iinc 38 1
StackMap locals:
StackMap stack:
94: iload 38
iload 20
if_icmplt 90
end local 38 95: StackMap locals:
StackMap stack:
aconst_null
astore 38
start local 38 96: iload 36
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 20
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 int byte[] short[] byte[] byte[] java.awt.image.WritableRaster int[] java.awt.image.DataBuffer int int int[] int[][] int int int
StackMap stack:
iconst_1
aload 37
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 20
if_icmplt 102
end local 41 end local 40 end local 39 113: StackMap locals:
StackMap stack:
iload 27
iconst_1
if_icmpne 118
114: iload 17
iconst_1
if_icmpne 118
115: iload 36
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 32
iload 26
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 32
126: StackMap locals: int
StackMap stack:
iconst_0
istore 40
start local 40 127: goto 235
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 31
astore 42
start local 42 133: aload 30
astore 31
134: aload 42
astore 30
135: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.pixelStream:Ljava/io/DataInputStream;
aload 30
iconst_0
iload 23
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 int byte[] short[] byte[] byte[] java.awt.image.WritableRaster int[] java.awt.image.DataBuffer 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 30
iconst_0
iload 23
iload 21
invokestatic com.sun.imageio.plugins.png.PNGImageReader.decodeSubFilter:([BIII)V
142: goto 156
143: StackMap locals:
StackMap stack:
aload 30
iconst_0
aload 31
iconst_0
iload 23
invokestatic com.sun.imageio.plugins.png.PNGImageReader.decodeUpFilter:([BI[BII)V
144: goto 156
145: StackMap locals:
StackMap stack:
aload 30
iconst_0
aload 31
iconst_0
iload 23
146: iload 21
147: invokestatic com.sun.imageio.plugins.png.PNGImageReader.decodeAverageFilter:([BI[BIII)V
148: goto 156
149: StackMap locals:
StackMap stack:
aload 30
iconst_0
aload 31
iconst_0
iload 23
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 30
iconst_0
aload 28
iconst_0
iload 23
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 29
iload 43
163: aload 30
iload 42
baload
bipush 8
ishl
aload 30
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 24
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 234
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 234
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 234
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 234
179: StackMap locals: int int
StackMap stack:
iload 43
iload 12
if_icmple 181
180: goto 236
181: StackMap locals:
StackMap stack:
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
iload 20
iconst_1
iadd
if_icmpne 184
182: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
invokevirtual com.sun.imageio.plugins.png.PNGMetadata.hasTransparentColor:()Z
ifeq 184
183: iconst_1
goto 185
StackMap locals:
StackMap stack:
184: iconst_0
StackMap locals:
StackMap stack: int
185: istore 44
start local 44 186: iload 39
ifeq 190
187: iload 44
ifne 190
188: aload 8
iload 14
iload 43
aload 32
invokevirtual java.awt.image.WritableRaster.setRect:(IILjava/awt/image/Raster;)V
189: goto 228
190: StackMap locals: int
StackMap stack:
iload 26
istore 45
start local 45 191: iload 20
iconst_1
iadd
newarray 10
astore 46
start local 46 192: iload 19
bipush 16
if_icmpge 193
sipush 255
goto 194
StackMap locals: int int[]
StackMap stack:
193: ldc 65535
StackMap locals:
StackMap stack: int
194: istore 47
start local 47 195: iload 14
istore 48
start local 48 196: goto 226
197: StackMap locals: int int
StackMap stack:
aload 32
iload 45
iconst_0
aload 33
invokevirtual java.awt.image.WritableRaster.getPixel:(II[I)[I
pop
198: iload 36
ifeq 204
199: iconst_0
istore 49
start local 49 200: goto 203
201: StackMap locals: int
StackMap stack:
aload 33
iload 49
aload 38
iload 49
aaload
aload 33
iload 49
iaload
iaload
iastore
202: iinc 49 1
StackMap locals:
StackMap stack:
203: iload 49
iload 20
if_icmplt 201
end local 49 204: StackMap locals:
StackMap stack:
iload 44
ifeq 223
205: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_colorType:I
iconst_2
if_icmpne 216
206: aload 46
iconst_0
aload 33
iconst_0
iaload
iastore
207: aload 46
iconst_1
aload 33
iconst_1
iaload
iastore
208: aload 46
iconst_2
aload 33
iconst_2
iaload
iastore
209: aload 33
iconst_0
iaload
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_red:I
if_icmpne 214
210: aload 33
iconst_1
iaload
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_green:I
if_icmpne 214
211: aload 33
iconst_2
iaload
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_blue:I
if_icmpne 214
212: aload 46
iconst_3
iconst_0
iastore
213: goto 221
214: StackMap locals:
StackMap stack:
aload 46
iconst_3
iload 47
iastore
215: goto 221
216: StackMap locals:
StackMap stack:
aload 46
iconst_0
aload 33
iconst_0
iaload
iastore
217: aload 33
iconst_0
iaload
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
getfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_gray:I
if_icmpne 220
218: aload 46
iconst_1
iconst_0
iastore
219: goto 221
220: StackMap locals:
StackMap stack:
aload 46
iconst_1
iload 47
iastore
221: StackMap locals:
StackMap stack:
aload 8
iload 48
iload 43
aload 46
invokevirtual java.awt.image.WritableRaster.setPixel:(II[I)V
222: goto 224
223: StackMap locals:
StackMap stack:
aload 8
iload 48
iload 43
aload 33
invokevirtual java.awt.image.WritableRaster.setPixel:(II[I)V
224: StackMap locals:
StackMap stack:
iload 45
iload 27
iadd
istore 45
225: iload 48
iload 17
iadd
istore 48
226: StackMap locals:
StackMap stack:
iload 48
iload 14
iload 16
iadd
227: if_icmplt 197
end local 48 end local 47 end local 46 end local 45 228: 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 int byte[] short[] byte[] byte[] java.awt.image.WritableRaster int[] java.awt.image.DataBuffer int int int[] int[][] int int int int int int
StackMap stack:
aload 0
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.theImage:Ljava/awt/image/BufferedImage;
229: iload 14
iload 43
230: iload 16
iconst_1
231: iload 17
iload 18
232: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.destinationBands:[I
233: invokevirtual com.sun.imageio.plugins.png.PNGImageReader.processImageUpdate:(Ljava/awt/image/BufferedImage;IIIIII[I)V
end local 44 end local 43 end local 42 end local 41 234: 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 int byte[] short[] byte[] byte[] java.awt.image.WritableRaster int[] java.awt.image.DataBuffer int int int[] int[][] int int
StackMap stack:
iinc 40 1
StackMap locals:
StackMap stack:
235: iload 40
iload 7
if_icmplt 128
end local 40 236: 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
237: 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 238 0 this Lcom/sun/imageio/plugins/png/PNGImageReader;
0 238 1 passNum I
0 238 2 xStart I
0 238 3 yStart I
0 238 4 xStep I
0 238 5 yStep I
0 238 6 passWidth I
0 238 7 passHeight I
3 238 8 imRas Ljava/awt/image/WritableRaster;
4 238 9 dstMinX I
5 238 10 dstMaxX I
6 238 11 dstMinY I
7 238 12 dstMaxY I
18 238 13 vals [I
19 238 14 updateMinX I
20 238 15 updateMinY I
21 238 16 updateWidth I
22 238 17 updateXStep I
23 238 18 updateYStep I
24 238 19 bitDepth I
25 238 20 inputBands I
28 238 21 bytesPerPixel I
30 238 22 bitsPerRow I
31 238 23 bytesPerRow I
34 238 24 eltsPerRow I
36 43 25 srcY I
48 238 25 sourceX I
49 238 26 srcX I
50 238 27 srcXStep I
51 238 28 byteData [B
52 238 29 shortData [S
53 238 30 curr [B
54 238 31 prior [B
58 238 32 passRow Ljava/awt/image/WritableRaster;
59 238 33 ps [I
60 238 34 dataBuffer Ljava/awt/image/DataBuffer;
61 238 35 type I
87 238 36 adjustBitDepths Z
88 238 37 outputSampleSize [I
89 95 38 b I
96 238 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 238 39 useSetRect Z
127 236 40 srcY I
132 234 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 234 42 sourceY I
177 234 43 dstY I
186 234 44 tRNSTransparentPixelPresent Z
191 228 45 newSrcX I
192 228 46 temp [I
195 228 47 opaque I
196 228 48 dstX I
200 204 49 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 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
44: getstatic com.sun.imageio.plugins.png.PNGImageReader.inputBandsForColorType:[I
iload 8
iaload
iconst_1
iadd
45: if_icmpne 52
46: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
invokevirtual com.sun.imageio.plugins.png.PNGMetadata.hasTransparentColor:()Z
ifeq 52
47: aload 1
48: getstatic com.sun.imageio.plugins.png.PNGImageReader.inputBandsForColorType:[I
iload 8
iaload
iconst_1
iadd
49: 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
50: invokestatic com.sun.imageio.plugins.png.PNGImageReader.checkReadParamBandSettings:(Ljavax/imageio/ImageReadParam;II)V
51: goto 56
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 1
53: getstatic com.sun.imageio.plugins.png.PNGImageReader.inputBandsForColorType:[I
iload 8
iaload
54: 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
55: invokestatic com.sun.imageio.plugins.png.PNGImageReader.checkReadParamBandSettings:(Ljavax/imageio/ImageReadParam;II)V
56: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.clearAbortRequest:()V
57: aload 0
iconst_0
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.processImageStarted:(I)V
58: aload 0
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.abortRequested:()Z
ifeq 61
59: aload 0
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.processReadAborted:()V
60: goto 73
61: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.decodeImage:()V
62: aload 0
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.abortRequested:()Z
ifeq 65
63: aload 0
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.processReadAborted:()V
64: goto 73
65: 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 66: goto 73
StackMap locals: com.sun.imageio.plugins.png.PNGImageReader javax.imageio.ImageReadParam int int java.util.zip.Inflater
StackMap stack: java.io.IOException
67: astore 5
start local 5 68: 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 69: StackMap locals:
StackMap stack: java.lang.Throwable
astore 9
70: aload 4
ifnull 72
71: aload 4
invokevirtual java.util.zip.Inflater.end:()V
72: 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
73: StackMap locals: com.sun.imageio.plugins.png.PNGImageReader javax.imageio.ImageReadParam int int java.util.zip.Inflater
StackMap stack:
aload 4
ifnull 75
74: aload 4
invokevirtual java.util.zip.Inflater.end:()V
75: 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 76 0 this Lcom/sun/imageio/plugins/png/PNGImageReader;
0 76 1 param Ljavax/imageio/ImageReadParam;
2 76 2 width I
3 76 3 height I
23 76 4 inf Ljava/util/zip/Inflater;
25 66 5 e Ljava/util/Enumeration<Ljava/io/InputStream;>;
26 66 6 is Ljava/io/InputStream;
36 66 7 destRegion Ljava/awt/Rectangle;
43 66 8 colorType I
68 69 5 e Ljava/io/IOException;
Exception table:
from to target type
23 66 67 Class java.io.IOException
23 69 69 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: 133
2: 29
3: 68
4: 102
5: 133
6: 113
default: 133
}
12: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.readMetadata:()V
13: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
invokevirtual com.sun.imageio.plugins.png.PNGMetadata.hasTransparentColor:()Z
ifeq 24
14: sipush 1003
invokestatic java.awt.color.ColorSpace.getInstance:(I)Ljava/awt/color/ColorSpace;
astore 4
start local 4 15: iconst_2
newarray 10
astore 5
start local 5 16: aload 5
iconst_0
iconst_0
iastore
17: aload 5
iconst_1
iconst_1
iastore
18: aload 2
aload 4
19: aload 5
20: iload 8
21: iconst_1
22: iconst_0
23: invokestatic javax.imageio.ImageTypeSpecifier.createInterleaved:(Ljava/awt/color/ColorSpace;[IIZZ)Ljavax/imageio/ImageTypeSpecifier;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 5 end local 4 24: StackMap locals:
StackMap stack:
aload 2
iload 6
25: iload 8
26: iconst_0
27: invokestatic javax.imageio.ImageTypeSpecifier.createGrayscale:(IIZ)Ljavax/imageio/ImageTypeSpecifier;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
28: goto 133
29: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.readMetadata:()V
30: iload 6
bipush 8
if_icmpne 44
31: aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
invokevirtual com.sun.imageio.plugins.png.PNGMetadata.hasTransparentColor:()Z
ifeq 35
32: aload 2
33: bipush 6
34: invokestatic javax.imageio.ImageTypeSpecifier.createFromBufferedImageType:(I)Ljavax/imageio/ImageTypeSpecifier;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
35: StackMap locals:
StackMap stack:
aload 2
36: iconst_5
37: invokestatic javax.imageio.ImageTypeSpecifier.createFromBufferedImageType:(I)Ljavax/imageio/ImageTypeSpecifier;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
38: aload 2
39: iconst_1
40: invokestatic javax.imageio.ImageTypeSpecifier.createFromBufferedImageType:(I)Ljavax/imageio/ImageTypeSpecifier;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
41: aload 2
42: iconst_4
43: invokestatic javax.imageio.ImageTypeSpecifier.createFromBufferedImageType:(I)Ljavax/imageio/ImageTypeSpecifier;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
44: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
invokevirtual com.sun.imageio.plugins.png.PNGMetadata.hasTransparentColor:()Z
ifeq 56
45: sipush 1000
invokestatic java.awt.color.ColorSpace.getInstance:(I)Ljava/awt/color/ColorSpace;
astore 3
start local 3 46: iconst_4
newarray 10
astore 5
start local 5 47: aload 5
iconst_0
iconst_0
iastore
48: aload 5
iconst_1
iconst_1
iastore
49: aload 5
iconst_2
iconst_2
iastore
50: aload 5
iconst_3
iconst_3
iastore
51: aload 2
52: aload 3
aload 5
53: iload 8
iconst_1
iconst_0
54: invokestatic javax.imageio.ImageTypeSpecifier.createInterleaved:(Ljava/awt/color/ColorSpace;[IIZZ)Ljavax/imageio/ImageTypeSpecifier;
55: invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 5 end local 3 56: StackMap locals:
StackMap stack:
sipush 1000
invokestatic java.awt.color.ColorSpace.getInstance:(I)Ljava/awt/color/ColorSpace;
astore 3
start local 3 57: iconst_3
newarray 10
astore 5
start local 5 58: aload 5
iconst_0
iconst_0
iastore
59: aload 5
iconst_1
iconst_1
iastore
60: aload 5
iconst_2
iconst_2
iastore
61: aload 2
aload 3
62: aload 5
63: iload 8
64: iconst_0
65: iconst_0
66: invokestatic javax.imageio.ImageTypeSpecifier.createInterleaved:(Ljava/awt/color/ColorSpace;[IIZZ)Ljavax/imageio/ImageTypeSpecifier;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
67: goto 133
end local 5 end local 3 68: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.png.PNGImageReader.readMetadata:()V
69: iconst_1
iload 6
ishl
istore 9
start local 9 70: 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 71: 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 72: 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 73: 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 86
74: 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
75: 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
76: 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
77: invokestatic java.util.Arrays.fill:([BIIB)V
78: 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
79: 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
80: 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
81: invokestatic java.util.Arrays.fill:([BIIB)V
82: 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
83: 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
84: 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
85: invokestatic java.util.Arrays.fill:([BIIB)V
86: 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 87: 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 96
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 96
88: 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 91
89: 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
90: goto 96
91: 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
92: aload 13
93: 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
94: aload 10
arraylength
iconst_m1
95: invokestatic java.util.Arrays.fill:([BIIB)V
96: StackMap locals:
StackMap stack:
aload 2
aload 10
aload 11
97: aload 12
aload 13
98: iload 6
99: iconst_0
100: invokestatic javax.imageio.ImageTypeSpecifier.createIndexed:([B[B[B[BII)Ljavax/imageio/ImageTypeSpecifier;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
101: goto 133
end local 13 end local 12 end local 11 end local 10 end local 9 102: 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 103: iconst_2
newarray 10
astore 5
start local 5 104: aload 5
iconst_0
iconst_0
iastore
105: aload 5
iconst_1
iconst_1
iastore
106: aload 2
aload 4
107: aload 5
108: iload 8
109: iconst_1
110: iconst_0
111: invokestatic javax.imageio.ImageTypeSpecifier.createInterleaved:(Ljava/awt/color/ColorSpace;[IIZZ)Ljavax/imageio/ImageTypeSpecifier;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
112: goto 133
end local 5 end local 4 113: StackMap locals:
StackMap stack:
iload 6
bipush 8
if_icmpne 120
114: aload 2
115: bipush 6
116: invokestatic javax.imageio.ImageTypeSpecifier.createFromBufferedImageType:(I)Ljavax/imageio/ImageTypeSpecifier;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
117: aload 2
118: iconst_2
119: invokestatic javax.imageio.ImageTypeSpecifier.createFromBufferedImageType:(I)Ljavax/imageio/ImageTypeSpecifier;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
120: StackMap locals:
StackMap stack:
sipush 1000
invokestatic java.awt.color.ColorSpace.getInstance:(I)Ljava/awt/color/ColorSpace;
astore 3
start local 3 121: iconst_4
newarray 10
astore 5
start local 5 122: aload 5
iconst_0
iconst_0
iastore
123: aload 5
iconst_1
iconst_1
iastore
124: aload 5
iconst_2
iconst_2
iastore
125: aload 5
iconst_3
iconst_3
iastore
126: aload 2
aload 3
127: aload 5
128: iload 8
129: iconst_1
130: iconst_0
131: invokestatic javax.imageio.ImageTypeSpecifier.createInterleaved:(Ljava/awt/color/ColorSpace;[IIZZ)Ljavax/imageio/ImageTypeSpecifier;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
132: goto 133
end local 5 end local 3 133: 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 134 0 this Lcom/sun/imageio/plugins/png/PNGImageReader;
0 134 1 imageIndex I
5 134 2 l Ljava/util/ArrayList<Ljavax/imageio/ImageTypeSpecifier;>;
46 56 3 rgb Ljava/awt/color/ColorSpace;
57 68 3 rgb Ljava/awt/color/ColorSpace;
121 133 3 rgb Ljava/awt/color/ColorSpace;
15 24 4 gray Ljava/awt/color/ColorSpace;
103 113 4 gray Ljava/awt/color/ColorSpace;
16 24 5 bandOffsets [I
47 56 5 bandOffsets [I
58 68 5 bandOffsets [I
104 113 5 bandOffsets [I
122 133 5 bandOffsets [I
6 134 6 bitDepth I
7 134 7 colorType I
9 10 8 dataType I
11 134 8 dataType I
70 102 9 plength I
71 102 10 red [B
72 102 11 green [B
73 102 12 blue [B
87 102 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"