public class org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream extends org.apache.commons.compress.compressors.lz77support.AbstractLZ77CompressorInputStream
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream
super_class: org.apache.commons.compress.compressors.lz77support.AbstractLZ77CompressorInputStream
{
static final int WINDOW_SIZE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 65536
static final int SIZE_BITS;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 4
static final int BACK_REFERENCE_SIZE_MASK;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 15
static final int LITERAL_SIZE_MASK;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 240
private int nextBackReferenceSize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream$State state;
descriptor: Lorg/apache/commons/compress/compressors/lz4/BlockLZ4CompressorInputStream$State;
flags: (0x0002) ACC_PRIVATE
private static volatile int[] $SWITCH_TABLE$org$apache$commons$compress$compressors$lz4$BlockLZ4CompressorInputStream$State;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
public void <init>(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
ldc 65536
invokespecial org.apache.commons.compress.compressors.lz77support.AbstractLZ77CompressorInputStream.<init>:(Ljava/io/InputStream;I)V
1: aload 0
getstatic org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream$State.NO_BLOCK:Lorg/apache/commons/compress/compressors/lz4/BlockLZ4CompressorInputStream$State;
putfield org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream.state:Lorg/apache/commons/compress/compressors/lz4/BlockLZ4CompressorInputStream$State;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/commons/compress/compressors/lz4/BlockLZ4CompressorInputStream;
0 3 1 is Ljava/io/InputStream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
is final
public int read(byte[], int, int);
descriptor: ([BII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: invokestatic org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream.$SWITCH_TABLE$org$apache$commons$compress$compressors$lz4$BlockLZ4CompressorInputStream$State:()[I
aload 0
getfield org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream.state:Lorg/apache/commons/compress/compressors/lz4/BlockLZ4CompressorInputStream$State;
invokevirtual org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream$State.ordinal:()I
iaload
tableswitch { // 1 - 5
1: 2
2: 3
3: 9
4: 12
5: 1
default: 18
}
1: StackMap locals:
StackMap stack:
iconst_m1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream.readSizes:()V
3: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
iload 3
invokevirtual org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream.readLiteral:([BII)I
istore 4
start local 4 4: aload 0
invokevirtual org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream.hasMoreDataInBlock:()Z
ifne 6
5: aload 0
getstatic org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream$State.LOOKING_FOR_BACK_REFERENCE:Lorg/apache/commons/compress/compressors/lz4/BlockLZ4CompressorInputStream$State;
putfield org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream.state:Lorg/apache/commons/compress/compressors/lz4/BlockLZ4CompressorInputStream$State;
6: StackMap locals: int
StackMap stack:
iload 4
ifle 7
iload 4
goto 8
StackMap locals:
StackMap stack:
7: aload 0
aload 1
iload 2
iload 3
invokevirtual org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream.read:([BII)I
StackMap locals:
StackMap stack: int
8: ireturn
end local 4 9: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream.initializeBackReference:()Z
ifne 12
10: aload 0
getstatic org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream$State.EOF:Lorg/apache/commons/compress/compressors/lz4/BlockLZ4CompressorInputStream$State;
putfield org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream.state:Lorg/apache/commons/compress/compressors/lz4/BlockLZ4CompressorInputStream$State;
11: iconst_m1
ireturn
12: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
iload 3
invokevirtual org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream.readBackReference:([BII)I
istore 5
start local 5 13: aload 0
invokevirtual org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream.hasMoreDataInBlock:()Z
ifne 15
14: aload 0
getstatic org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream$State.NO_BLOCK:Lorg/apache/commons/compress/compressors/lz4/BlockLZ4CompressorInputStream$State;
putfield org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream.state:Lorg/apache/commons/compress/compressors/lz4/BlockLZ4CompressorInputStream$State;
15: StackMap locals: org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream byte[] int int top int
StackMap stack:
iload 5
ifle 16
iload 5
goto 17
StackMap locals:
StackMap stack:
16: aload 0
aload 1
iload 2
iload 3
invokevirtual org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream.read:([BII)I
StackMap locals:
StackMap stack: int
17: ireturn
end local 5 18: StackMap locals: org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream byte[] int int
StackMap stack:
new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Unknown stream state "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream.state:Lorg/apache/commons/compress/compressors/lz4/BlockLZ4CompressorInputStream$State;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<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 19 0 this Lorg/apache/commons/compress/compressors/lz4/BlockLZ4CompressorInputStream;
0 19 1 b [B
0 19 2 off I
0 19 3 len I
4 9 4 litLen I
13 18 5 backReferenceLen I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
b final
off final
len final
private void readSizes();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream.readOneByte:()I
istore 1
start local 1 1: iload 1
iconst_m1
if_icmpne 3
2: new java.io.IOException
dup
ldc "Premature end of stream while looking for next block"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: int
StackMap stack:
aload 0
iload 1
bipush 15
iand
putfield org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream.nextBackReferenceSize:I
4: iload 1
sipush 240
iand
iconst_4
ishr
i2l
lstore 2
start local 2 5: lload 2
ldc 15
lcmp
ifne 7
6: lload 2
aload 0
invokevirtual org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream.readSizeBytes:()J
ladd
lstore 2
7: StackMap locals: long
StackMap stack:
aload 0
lload 2
invokevirtual org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream.startLiteral:(J)V
8: aload 0
getstatic org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream$State.IN_LITERAL:Lorg/apache/commons/compress/compressors/lz4/BlockLZ4CompressorInputStream$State;
putfield org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream.state:Lorg/apache/commons/compress/compressors/lz4/BlockLZ4CompressorInputStream$State;
9: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/apache/commons/compress/compressors/lz4/BlockLZ4CompressorInputStream;
1 10 1 nextBlock I
5 10 2 literalSizePart J
Exceptions:
throws java.io.IOException
private long readSizeBytes();
descriptor: ()J
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=1
start local 0 0: lconst_0
lstore 1
start local 1 1: StackMap locals: long
StackMap stack:
aload 0
invokevirtual org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream.readOneByte:()I
istore 3
start local 3 2: iload 3
iconst_m1
if_icmpne 4
3: new java.io.IOException
dup
ldc "Premature end of stream while parsing length"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: int
StackMap stack:
lload 1
iload 3
i2l
ladd
lstore 1
5: iload 3
sipush 255
if_icmpeq 1
6: lload 1
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/commons/compress/compressors/lz4/BlockLZ4CompressorInputStream;
1 7 1 accum J
2 7 3 nextByte I
Exceptions:
throws java.io.IOException
private boolean initializeBackReference();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
getfield org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream.supplier:Lorg/apache/commons/compress/utils/ByteUtils$ByteSupplier;
iconst_2
invokestatic org.apache.commons.compress.utils.ByteUtils.fromLittleEndian:(Lorg/apache/commons/compress/utils/ByteUtils$ByteSupplier;I)J
l2i
istore 1
2: goto 7
StackMap locals: org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream int
StackMap stack: java.io.IOException
3: astore 2
start local 2 4: aload 0
getfield org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream.nextBackReferenceSize:I
ifne 6
5: iconst_0
ireturn
6: StackMap locals: java.io.IOException
StackMap stack:
aload 2
athrow
end local 2 7: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream.nextBackReferenceSize:I
i2l
lstore 2
start local 2 8: aload 0
getfield org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream.nextBackReferenceSize:I
bipush 15
if_icmpne 10
9: lload 2
aload 0
invokevirtual org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream.readSizeBytes:()J
ladd
lstore 2
10: StackMap locals: long
StackMap stack:
aload 0
iload 1
lload 2
ldc 4
ladd
invokevirtual org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream.startBackReference:(IJ)V
11: aload 0
getstatic org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream$State.IN_BACK_REFERENCE:Lorg/apache/commons/compress/compressors/lz4/BlockLZ4CompressorInputStream$State;
putfield org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream.state:Lorg/apache/commons/compress/compressors/lz4/BlockLZ4CompressorInputStream$State;
12: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/apache/commons/compress/compressors/lz4/BlockLZ4CompressorInputStream;
1 13 1 backReferenceOffset I
4 7 2 ex Ljava/io/IOException;
8 13 2 backReferenceSize J
Exception table:
from to target type
1 2 3 Class java.io.IOException
Exceptions:
throws java.io.IOException
static int[] $SWITCH_TABLE$org$apache$commons$compress$compressors$lz4$BlockLZ4CompressorInputStream$State();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream.$SWITCH_TABLE$org$apache$commons$compress$compressors$lz4$BlockLZ4CompressorInputStream$State:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream$State.values:()[Lorg/apache/commons/compress/compressors/lz4/BlockLZ4CompressorInputStream$State;
arraylength
newarray 10
astore 0
2: aload 0
getstatic org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream$State.EOF:Lorg/apache/commons/compress/compressors/lz4/BlockLZ4CompressorInputStream$State;
invokevirtual org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream$State.ordinal:()I
iconst_5
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream$State.IN_BACK_REFERENCE:Lorg/apache/commons/compress/compressors/lz4/BlockLZ4CompressorInputStream$State;
invokevirtual org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream$State.ordinal:()I
iconst_4
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream$State.IN_LITERAL:Lorg/apache/commons/compress/compressors/lz4/BlockLZ4CompressorInputStream$State;
invokevirtual org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream$State.ordinal:()I
iconst_2
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream$State.LOOKING_FOR_BACK_REFERENCE:Lorg/apache/commons/compress/compressors/lz4/BlockLZ4CompressorInputStream$State;
invokevirtual org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream$State.ordinal:()I
iconst_3
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream$State.NO_BLOCK:Lorg/apache/commons/compress/compressors/lz4/BlockLZ4CompressorInputStream$State;
invokevirtual org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream$State.ordinal:()I
iconst_1
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
dup
putstatic org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream.$SWITCH_TABLE$org$apache$commons$compress$compressors$lz4$BlockLZ4CompressorInputStream$State:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
}
SourceFile: "BlockLZ4CompressorInputStream.java"
NestMembers:
org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream$State
InnerClasses:
private final State = org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream$State of org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorInputStream
public abstract ByteSupplier = org.apache.commons.compress.utils.ByteUtils$ByteSupplier of org.apache.commons.compress.utils.ByteUtils