final class com.sun.imageio.plugins.png.IDATOutputStream extends javax.imageio.stream.ImageOutputStreamImpl
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.sun.imageio.plugins.png.IDATOutputStream
super_class: javax.imageio.stream.ImageOutputStreamImpl
{
private static final byte[] chunkType;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final javax.imageio.stream.ImageOutputStream stream;
descriptor: Ljavax/imageio/stream/ImageOutputStream;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int chunkLength;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private long startPos;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private final com.sun.imageio.plugins.png.CRC crc;
descriptor: Lcom/sun/imageio/plugins/png/CRC;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.zip.Deflater def;
descriptor: Ljava/util/zip/Deflater;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final byte[] buf;
descriptor: [B
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final byte[] wbuf1;
descriptor: [B
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int bytesRemaining;
descriptor: I
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: iconst_4
newarray 8
dup
iconst_0
1: bipush 73
bastore
dup
iconst_1
bipush 68
bastore
dup
iconst_2
bipush 65
bastore
dup
iconst_3
bipush 84
bastore
2: putstatic com.sun.imageio.plugins.png.IDATOutputStream.chunkType:[B
3: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(javax.imageio.stream.ImageOutputStream, int, int);
descriptor: (Ljavax/imageio/stream/ImageOutputStream;II)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial javax.imageio.stream.ImageOutputStreamImpl.<init>:()V
1: aload 0
new com.sun.imageio.plugins.png.CRC
dup
invokespecial com.sun.imageio.plugins.png.CRC.<init>:()V
putfield com.sun.imageio.plugins.png.IDATOutputStream.crc:Lcom/sun/imageio/plugins/png/CRC;
2: aload 0
sipush 512
newarray 8
putfield com.sun.imageio.plugins.png.IDATOutputStream.buf:[B
3: aload 0
iconst_1
newarray 8
putfield com.sun.imageio.plugins.png.IDATOutputStream.wbuf1:[B
4: aload 0
aload 1
putfield com.sun.imageio.plugins.png.IDATOutputStream.stream:Ljavax/imageio/stream/ImageOutputStream;
5: aload 0
iload 2
putfield com.sun.imageio.plugins.png.IDATOutputStream.chunkLength:I
6: aload 0
new java.util.zip.Deflater
dup
iload 3
invokespecial java.util.zip.Deflater.<init>:(I)V
putfield com.sun.imageio.plugins.png.IDATOutputStream.def:Ljava/util/zip/Deflater;
7: aload 0
invokevirtual com.sun.imageio.plugins.png.IDATOutputStream.startChunk:()V
8: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/imageio/plugins/png/IDATOutputStream;
0 9 1 stream Ljavax/imageio/stream/ImageOutputStream;
0 9 2 chunkLength I
0 9 3 deflaterLevel I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
stream
chunkLength
deflaterLevel
private void startChunk();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.imageio.plugins.png.IDATOutputStream.crc:Lcom/sun/imageio/plugins/png/CRC;
invokevirtual com.sun.imageio.plugins.png.CRC.reset:()V
1: aload 0
aload 0
getfield com.sun.imageio.plugins.png.IDATOutputStream.stream:Ljavax/imageio/stream/ImageOutputStream;
invokeinterface javax.imageio.stream.ImageOutputStream.getStreamPosition:()J
putfield com.sun.imageio.plugins.png.IDATOutputStream.startPos:J
2: aload 0
getfield com.sun.imageio.plugins.png.IDATOutputStream.stream:Ljavax/imageio/stream/ImageOutputStream;
iconst_m1
invokeinterface javax.imageio.stream.ImageOutputStream.writeInt:(I)V
3: aload 0
getfield com.sun.imageio.plugins.png.IDATOutputStream.crc:Lcom/sun/imageio/plugins/png/CRC;
getstatic com.sun.imageio.plugins.png.IDATOutputStream.chunkType:[B
iconst_0
iconst_4
invokevirtual com.sun.imageio.plugins.png.CRC.update:([BII)V
4: aload 0
getfield com.sun.imageio.plugins.png.IDATOutputStream.stream:Ljavax/imageio/stream/ImageOutputStream;
getstatic com.sun.imageio.plugins.png.IDATOutputStream.chunkType:[B
iconst_0
iconst_4
invokeinterface javax.imageio.stream.ImageOutputStream.write:([BII)V
5: aload 0
aload 0
getfield com.sun.imageio.plugins.png.IDATOutputStream.chunkLength:I
putfield com.sun.imageio.plugins.png.IDATOutputStream.bytesRemaining:I
6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/imageio/plugins/png/IDATOutputStream;
Exceptions:
throws java.io.IOException
private void finishChunk();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=1
start local 0 0: aload 0
getfield com.sun.imageio.plugins.png.IDATOutputStream.stream:Ljavax/imageio/stream/ImageOutputStream;
aload 0
getfield com.sun.imageio.plugins.png.IDATOutputStream.crc:Lcom/sun/imageio/plugins/png/CRC;
invokevirtual com.sun.imageio.plugins.png.CRC.getValue:()I
invokeinterface javax.imageio.stream.ImageOutputStream.writeInt:(I)V
1: aload 0
getfield com.sun.imageio.plugins.png.IDATOutputStream.stream:Ljavax/imageio/stream/ImageOutputStream;
invokeinterface javax.imageio.stream.ImageOutputStream.getStreamPosition:()J
lstore 1
start local 1 2: aload 0
getfield com.sun.imageio.plugins.png.IDATOutputStream.stream:Ljavax/imageio/stream/ImageOutputStream;
aload 0
getfield com.sun.imageio.plugins.png.IDATOutputStream.startPos:J
invokeinterface javax.imageio.stream.ImageOutputStream.seek:(J)V
3: aload 0
getfield com.sun.imageio.plugins.png.IDATOutputStream.stream:Ljavax/imageio/stream/ImageOutputStream;
lload 1
aload 0
getfield com.sun.imageio.plugins.png.IDATOutputStream.startPos:J
lsub
l2i
bipush 12
isub
invokeinterface javax.imageio.stream.ImageOutputStream.writeInt:(I)V
4: aload 0
getfield com.sun.imageio.plugins.png.IDATOutputStream.stream:Ljavax/imageio/stream/ImageOutputStream;
lload 1
invokeinterface javax.imageio.stream.ImageOutputStream.seek:(J)V
5: aload 0
getfield com.sun.imageio.plugins.png.IDATOutputStream.stream:Ljavax/imageio/stream/ImageOutputStream;
lload 1
invokeinterface javax.imageio.stream.ImageOutputStream.flushBefore:(J)V
6: goto 10
StackMap locals: com.sun.imageio.plugins.png.IDATOutputStream long
StackMap stack: java.io.IOException
7: astore 3
start local 3 8: aload 0
aload 0
getfield com.sun.imageio.plugins.png.IDATOutputStream.stream:Ljavax/imageio/stream/ImageOutputStream;
invokeinterface javax.imageio.stream.ImageOutputStream.getStreamPosition:()J
putfield com.sun.imageio.plugins.png.IDATOutputStream.startPos:J
9: aload 3
athrow
end local 3 10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/sun/imageio/plugins/png/IDATOutputStream;
2 11 1 pos J
8 10 3 e Ljava/io/IOException;
Exception table:
from to target type
5 6 7 Class java.io.IOException
Exceptions:
throws java.io.IOException
public int read();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.RuntimeException
dup
ldc "Method not available"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/imageio/plugins/png/IDATOutputStream;
Exceptions:
throws java.io.IOException
public int read(byte[], int, int);
descriptor: ([BII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new java.lang.RuntimeException
dup
ldc "Method not available"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/imageio/plugins/png/IDATOutputStream;
0 1 1 b [B
0 1 2 off I
0 1 3 len I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
b
off
len
public void write(byte[], int, int);
descriptor: ([BII)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: iload 3
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.IDATOutputStream.def:Ljava/util/zip/Deflater;
invokevirtual java.util.zip.Deflater.finished:()Z
ifne 7
3: aload 0
getfield com.sun.imageio.plugins.png.IDATOutputStream.def:Ljava/util/zip/Deflater;
aload 1
iload 2
iload 3
invokevirtual java.util.zip.Deflater.setInput:([BII)V
4: goto 6
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.png.IDATOutputStream.deflate:()V
6: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.IDATOutputStream.def:Ljava/util/zip/Deflater;
invokevirtual java.util.zip.Deflater.needsInput:()Z
ifeq 5
7: StackMap locals:
StackMap stack:
return
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/IDATOutputStream;
0 8 1 b [B
0 8 2 off I
0 8 3 len I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
b
off
len
void deflate();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
getfield com.sun.imageio.plugins.png.IDATOutputStream.def:Ljava/util/zip/Deflater;
aload 0
getfield com.sun.imageio.plugins.png.IDATOutputStream.buf:[B
iconst_0
aload 0
getfield com.sun.imageio.plugins.png.IDATOutputStream.buf:[B
arraylength
invokevirtual java.util.zip.Deflater.deflate:([BII)I
istore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 12
3: StackMap locals: int int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.IDATOutputStream.bytesRemaining:I
ifne 6
4: aload 0
invokevirtual com.sun.imageio.plugins.png.IDATOutputStream.finishChunk:()V
5: aload 0
invokevirtual com.sun.imageio.plugins.png.IDATOutputStream.startChunk:()V
6: StackMap locals:
StackMap stack:
iload 1
aload 0
getfield com.sun.imageio.plugins.png.IDATOutputStream.bytesRemaining:I
invokestatic java.lang.Math.min:(II)I
istore 3
start local 3 7: aload 0
getfield com.sun.imageio.plugins.png.IDATOutputStream.crc:Lcom/sun/imageio/plugins/png/CRC;
aload 0
getfield com.sun.imageio.plugins.png.IDATOutputStream.buf:[B
iload 2
iload 3
invokevirtual com.sun.imageio.plugins.png.CRC.update:([BII)V
8: aload 0
getfield com.sun.imageio.plugins.png.IDATOutputStream.stream:Ljavax/imageio/stream/ImageOutputStream;
aload 0
getfield com.sun.imageio.plugins.png.IDATOutputStream.buf:[B
iload 2
iload 3
invokeinterface javax.imageio.stream.ImageOutputStream.write:([BII)V
9: iload 2
iload 3
iadd
istore 2
10: iload 1
iload 3
isub
istore 1
11: aload 0
dup
getfield com.sun.imageio.plugins.png.IDATOutputStream.bytesRemaining:I
iload 3
isub
putfield com.sun.imageio.plugins.png.IDATOutputStream.bytesRemaining:I
end local 3 12: StackMap locals:
StackMap stack:
iload 1
ifgt 3
13: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/sun/imageio/plugins/png/IDATOutputStream;
1 14 1 len I
2 14 2 off I
7 12 3 nbytes I
Exceptions:
throws java.io.IOException
public void write(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.imageio.plugins.png.IDATOutputStream.wbuf1:[B
iconst_0
iload 1
i2b
bastore
1: aload 0
aload 0
getfield com.sun.imageio.plugins.png.IDATOutputStream.wbuf1:[B
iconst_0
iconst_1
invokevirtual com.sun.imageio.plugins.png.IDATOutputStream.write:([BII)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/imageio/plugins/png/IDATOutputStream;
0 3 1 b I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
b
void finish();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
getfield com.sun.imageio.plugins.png.IDATOutputStream.def:Ljava/util/zip/Deflater;
invokevirtual java.util.zip.Deflater.finished:()Z
ifne 5
1: aload 0
getfield com.sun.imageio.plugins.png.IDATOutputStream.def:Ljava/util/zip/Deflater;
invokevirtual java.util.zip.Deflater.finish:()V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.png.IDATOutputStream.deflate:()V
4: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.IDATOutputStream.def:Ljava/util/zip/Deflater;
invokevirtual java.util.zip.Deflater.finished:()Z
ifeq 3
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.png.IDATOutputStream.finishChunk:()V
6: goto 10
StackMap locals:
StackMap stack: java.lang.Throwable
7: astore 1
8: aload 0
getfield com.sun.imageio.plugins.png.IDATOutputStream.def:Ljava/util/zip/Deflater;
invokevirtual java.util.zip.Deflater.end:()V
9: aload 1
athrow
10: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.png.IDATOutputStream.def:Ljava/util/zip/Deflater;
invokevirtual java.util.zip.Deflater.end:()V
11: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/sun/imageio/plugins/png/IDATOutputStream;
Exception table:
from to target type
0 7 7 any
Exceptions:
throws java.io.IOException
protected void finalize();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/imageio/plugins/png/IDATOutputStream;
Exceptions:
throws java.lang.Throwable
}
SourceFile: "PNGImageWriter.java"