final class okhttp3.internal.http2.Hpack$Reader
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: okhttp3.internal.http2.Hpack$Reader
super_class: java.lang.Object
{
private final java.util.List<okhttp3.internal.http2.Header> ;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lokhttp3/internal/http2/Header;>;
private final okio.BufferedSource source;
descriptor: Lokio/BufferedSource;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int ;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int maxDynamicTableByteCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
okhttp3.internal.http2.Header[] ;
descriptor: [Lokhttp3/internal/http2/Header;
flags: (0x0000)
int ;
descriptor: I
flags: (0x0000)
int ;
descriptor: I
flags: (0x0000)
int dynamicTableByteCount;
descriptor: I
flags: (0x0000)
void <init>(int, okio.Source);
descriptor: (ILokio/Source;)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
iload 1
aload 2
invokespecial okhttp3.internal.http2.Hpack$Reader.<init>:(IILokio/Source;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lokhttp3/internal/http2/Hpack$Reader;
0 2 1 headerTableSizeSetting I
0 2 2 source Lokio/Source;
MethodParameters:
Name Flags
headerTableSizeSetting
source
void <init>(int, int, okio.Source);
descriptor: (IILokio/Source;)V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield okhttp3.internal.http2.Hpack$Reader.headerList:Ljava/util/List;
2: aload 0
bipush 8
anewarray okhttp3.internal.http2.Header
putfield okhttp3.internal.http2.Hpack$Reader.dynamicTable:[Lokhttp3/internal/http2/Header;
3: aload 0
aload 0
getfield okhttp3.internal.http2.Hpack$Reader.dynamicTable:[Lokhttp3/internal/http2/Header;
arraylength
iconst_1
isub
putfield okhttp3.internal.http2.Hpack$Reader.nextHeaderIndex:I
4: aload 0
iconst_0
putfield okhttp3.internal.http2.Hpack$Reader.headerCount:I
5: aload 0
iconst_0
putfield okhttp3.internal.http2.Hpack$Reader.dynamicTableByteCount:I
6: aload 0
iload 1
putfield okhttp3.internal.http2.Hpack$Reader.headerTableSizeSetting:I
7: aload 0
iload 2
putfield okhttp3.internal.http2.Hpack$Reader.maxDynamicTableByteCount:I
8: aload 0
aload 3
invokestatic okio.Okio.buffer:(Lokio/Source;)Lokio/BufferedSource;
putfield okhttp3.internal.http2.Hpack$Reader.source:Lokio/BufferedSource;
9: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lokhttp3/internal/http2/Hpack$Reader;
0 10 1 headerTableSizeSetting I
0 10 2 maxDynamicTableByteCount I
0 10 3 source Lokio/Source;
MethodParameters:
Name Flags
headerTableSizeSetting
maxDynamicTableByteCount
source
int maxDynamicTableByteCount();
descriptor: ()I
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield okhttp3.internal.http2.Hpack$Reader.maxDynamicTableByteCount:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lokhttp3/internal/http2/Hpack$Reader;
private void adjustDynamicTableByteCount();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield okhttp3.internal.http2.Hpack$Reader.maxDynamicTableByteCount:I
aload 0
getfield okhttp3.internal.http2.Hpack$Reader.dynamicTableByteCount:I
if_icmpge 5
1: aload 0
getfield okhttp3.internal.http2.Hpack$Reader.maxDynamicTableByteCount:I
ifne 4
2: aload 0
invokevirtual okhttp3.internal.http2.Hpack$Reader.clearDynamicTable:()V
3: goto 5
4: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield okhttp3.internal.http2.Hpack$Reader.dynamicTableByteCount:I
aload 0
getfield okhttp3.internal.http2.Hpack$Reader.maxDynamicTableByteCount:I
isub
invokevirtual okhttp3.internal.http2.Hpack$Reader.evictToRecoverBytes:(I)I
pop
5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lokhttp3/internal/http2/Hpack$Reader;
private void clearDynamicTable();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield okhttp3.internal.http2.Hpack$Reader.dynamicTable:[Lokhttp3/internal/http2/Header;
aconst_null
invokestatic java.util.Arrays.fill:([Ljava/lang/Object;Ljava/lang/Object;)V
1: aload 0
aload 0
getfield okhttp3.internal.http2.Hpack$Reader.dynamicTable:[Lokhttp3/internal/http2/Header;
arraylength
iconst_1
isub
putfield okhttp3.internal.http2.Hpack$Reader.nextHeaderIndex:I
2: aload 0
iconst_0
putfield okhttp3.internal.http2.Hpack$Reader.headerCount:I
3: aload 0
iconst_0
putfield okhttp3.internal.http2.Hpack$Reader.dynamicTableByteCount:I
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lokhttp3/internal/http2/Hpack$Reader;
private int evictToRecoverBytes(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: iload 1
ifle 14
2: aload 0
getfield okhttp3.internal.http2.Hpack$Reader.dynamicTable:[Lokhttp3/internal/http2/Header;
arraylength
iconst_1
isub
istore 3
start local 3 3: goto 9
4: StackMap locals: int int
StackMap stack:
iload 1
aload 0
getfield okhttp3.internal.http2.Hpack$Reader.dynamicTable:[Lokhttp3/internal/http2/Header;
iload 3
aaload
getfield okhttp3.internal.http2.Header.hpackSize:I
isub
istore 1
5: aload 0
dup
getfield okhttp3.internal.http2.Hpack$Reader.dynamicTableByteCount:I
aload 0
getfield okhttp3.internal.http2.Hpack$Reader.dynamicTable:[Lokhttp3/internal/http2/Header;
iload 3
aaload
getfield okhttp3.internal.http2.Header.hpackSize:I
isub
putfield okhttp3.internal.http2.Hpack$Reader.dynamicTableByteCount:I
6: aload 0
dup
getfield okhttp3.internal.http2.Hpack$Reader.headerCount:I
iconst_1
isub
putfield okhttp3.internal.http2.Hpack$Reader.headerCount:I
7: iinc 2 1
8: iinc 3 -1
StackMap locals:
StackMap stack:
9: iload 3
aload 0
getfield okhttp3.internal.http2.Hpack$Reader.nextHeaderIndex:I
if_icmplt 10
iload 1
ifgt 4
end local 3 10: StackMap locals:
StackMap stack:
aload 0
getfield okhttp3.internal.http2.Hpack$Reader.dynamicTable:[Lokhttp3/internal/http2/Header;
aload 0
getfield okhttp3.internal.http2.Hpack$Reader.nextHeaderIndex:I
iconst_1
iadd
aload 0
getfield okhttp3.internal.http2.Hpack$Reader.dynamicTable:[Lokhttp3/internal/http2/Header;
11: aload 0
getfield okhttp3.internal.http2.Hpack$Reader.nextHeaderIndex:I
iconst_1
iadd
iload 2
iadd
aload 0
getfield okhttp3.internal.http2.Hpack$Reader.headerCount:I
12: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
13: aload 0
dup
getfield okhttp3.internal.http2.Hpack$Reader.nextHeaderIndex:I
iload 2
iadd
putfield okhttp3.internal.http2.Hpack$Reader.nextHeaderIndex:I
14: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lokhttp3/internal/http2/Hpack$Reader;
0 15 1 bytesToRecover I
1 15 2 entriesToEvict I
3 10 3 j I
MethodParameters:
Name Flags
bytesToRecover
void ();
descriptor: ()V
flags: (0x0000)
Code:
stack=5, locals=3, args_size=1
start local 0 0: goto 27
1: StackMap locals:
StackMap stack:
aload 0
getfield okhttp3.internal.http2.Hpack$Reader.source:Lokio/BufferedSource;
invokeinterface okio.BufferedSource.readByte:()B
sipush 255
iand
istore 1
start local 1 2: iload 1
sipush 128
if_icmpne 4
3: new java.io.IOException
dup
ldc "index == 0"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: int
StackMap stack:
iload 1
sipush 128
iand
sipush 128
if_icmpne 8
5: aload 0
iload 1
bipush 127
invokevirtual okhttp3.internal.http2.Hpack$Reader.readInt:(II)I
istore 2
start local 2 6: aload 0
iload 2
iconst_1
isub
invokevirtual okhttp3.internal.http2.Hpack$Reader.readIndexedHeader:(I)V
end local 2 7: goto 27
StackMap locals:
StackMap stack:
8: iload 1
bipush 64
if_icmpne 11
9: aload 0
invokevirtual okhttp3.internal.http2.Hpack$Reader.readLiteralHeaderWithIncrementalIndexingNewName:()V
10: goto 27
StackMap locals:
StackMap stack:
11: iload 1
bipush 64
iand
bipush 64
if_icmpne 15
12: aload 0
iload 1
bipush 63
invokevirtual okhttp3.internal.http2.Hpack$Reader.readInt:(II)I
istore 2
start local 2 13: aload 0
iload 2
iconst_1
isub
invokevirtual okhttp3.internal.http2.Hpack$Reader.readLiteralHeaderWithIncrementalIndexingIndexedName:(I)V
end local 2 14: goto 27
StackMap locals:
StackMap stack:
15: iload 1
bipush 32
iand
bipush 32
if_icmpne 22
16: aload 0
aload 0
iload 1
bipush 31
invokevirtual okhttp3.internal.http2.Hpack$Reader.readInt:(II)I
putfield okhttp3.internal.http2.Hpack$Reader.maxDynamicTableByteCount:I
17: aload 0
getfield okhttp3.internal.http2.Hpack$Reader.maxDynamicTableByteCount:I
iflt 19
18: aload 0
getfield okhttp3.internal.http2.Hpack$Reader.maxDynamicTableByteCount:I
aload 0
getfield okhttp3.internal.http2.Hpack$Reader.headerTableSizeSetting:I
if_icmple 20
19: StackMap locals:
StackMap stack:
new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Invalid dynamic table size update "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield okhttp3.internal.http2.Hpack$Reader.maxDynamicTableByteCount:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
20: StackMap locals:
StackMap stack:
aload 0
invokevirtual okhttp3.internal.http2.Hpack$Reader.adjustDynamicTableByteCount:()V
21: goto 27
StackMap locals:
StackMap stack:
22: iload 1
bipush 16
if_icmpeq 23
iload 1
ifne 25
23: StackMap locals:
StackMap stack:
aload 0
invokevirtual okhttp3.internal.http2.Hpack$Reader.readLiteralHeaderWithoutIndexingNewName:()V
24: goto 27
25: StackMap locals:
StackMap stack:
aload 0
iload 1
bipush 15
invokevirtual okhttp3.internal.http2.Hpack$Reader.readInt:(II)I
istore 2
start local 2 26: aload 0
iload 2
iconst_1
isub
invokevirtual okhttp3.internal.http2.Hpack$Reader.readLiteralHeaderWithoutIndexingIndexedName:(I)V
end local 2 end local 1 27: StackMap locals:
StackMap stack:
aload 0
getfield okhttp3.internal.http2.Hpack$Reader.source:Lokio/BufferedSource;
invokeinterface okio.BufferedSource.exhausted:()Z
ifeq 1
28: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lokhttp3/internal/http2/Hpack$Reader;
2 27 1 b I
6 7 2 index I
13 14 2 index I
26 27 2 index I
Exceptions:
throws java.io.IOException
public java.util.List<okhttp3.internal.http2.Header> getAndResetHeaderList();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: new java.util.ArrayList
dup
aload 0
getfield okhttp3.internal.http2.Hpack$Reader.headerList:Ljava/util/List;
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 1
start local 1 1: aload 0
getfield okhttp3.internal.http2.Hpack$Reader.headerList:Ljava/util/List;
invokeinterface java.util.List.clear:()V
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lokhttp3/internal/http2/Hpack$Reader;
1 3 1 result Ljava/util/List<Lokhttp3/internal/http2/Header;>;
Signature: ()Ljava/util/List<Lokhttp3/internal/http2/Header;>;
private void (int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual okhttp3.internal.http2.Hpack$Reader.isStaticHeader:(I)Z
ifeq 4
1: getstatic okhttp3.internal.http2.Hpack.STATIC_HEADER_TABLE:[Lokhttp3/internal/http2/Header;
iload 1
aaload
astore 2
start local 2 2: aload 0
getfield okhttp3.internal.http2.Hpack$Reader.headerList:Ljava/util/List;
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 2 3: goto 8
4: StackMap locals:
StackMap stack:
aload 0
iload 1
getstatic okhttp3.internal.http2.Hpack.STATIC_HEADER_TABLE:[Lokhttp3/internal/http2/Header;
arraylength
isub
invokevirtual okhttp3.internal.http2.Hpack$Reader.dynamicTableIndex:(I)I
istore 2
start local 2 5: iload 2
iflt 6
iload 2
aload 0
getfield okhttp3.internal.http2.Hpack$Reader.dynamicTable:[Lokhttp3/internal/http2/Header;
arraylength
if_icmplt 7
6: StackMap locals: int
StackMap stack:
new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Header index too large "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
iconst_1
iadd
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
aload 0
getfield okhttp3.internal.http2.Hpack$Reader.headerList:Ljava/util/List;
aload 0
getfield okhttp3.internal.http2.Hpack$Reader.dynamicTable:[Lokhttp3/internal/http2/Header;
iload 2
aaload
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 2 8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lokhttp3/internal/http2/Hpack$Reader;
0 9 1 index I
2 3 2 staticEntry Lokhttp3/internal/http2/Header;
5 8 2 dynamicTableIndex I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
index
private int dynamicTableIndex(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield okhttp3.internal.http2.Hpack$Reader.nextHeaderIndex:I
iconst_1
iadd
iload 1
iadd
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lokhttp3/internal/http2/Hpack$Reader;
0 1 1 index I
MethodParameters:
Name Flags
index
private void (int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual okhttp3.internal.http2.Hpack$Reader.getName:(I)Lokio/ByteString;
astore 2
start local 2 1: aload 0
invokevirtual okhttp3.internal.http2.Hpack$Reader.readByteString:()Lokio/ByteString;
astore 3
start local 3 2: aload 0
getfield okhttp3.internal.http2.Hpack$Reader.headerList:Ljava/util/List;
new okhttp3.internal.http2.Header
dup
aload 2
aload 3
invokespecial okhttp3.internal.http2.Header.<init>:(Lokio/ByteString;Lokio/ByteString;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lokhttp3/internal/http2/Hpack$Reader;
0 4 1 index I
1 4 2 name Lokio/ByteString;
2 4 3 value Lokio/ByteString;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
index
private void ();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual okhttp3.internal.http2.Hpack$Reader.readByteString:()Lokio/ByteString;
invokestatic okhttp3.internal.http2.Hpack.checkLowercase:(Lokio/ByteString;)Lokio/ByteString;
astore 1
start local 1 1: aload 0
invokevirtual okhttp3.internal.http2.Hpack$Reader.readByteString:()Lokio/ByteString;
astore 2
start local 2 2: aload 0
getfield okhttp3.internal.http2.Hpack$Reader.headerList:Ljava/util/List;
new okhttp3.internal.http2.Header
dup
aload 1
aload 2
invokespecial okhttp3.internal.http2.Header.<init>:(Lokio/ByteString;Lokio/ByteString;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lokhttp3/internal/http2/Hpack$Reader;
1 4 1 name Lokio/ByteString;
2 4 2 value Lokio/ByteString;
Exceptions:
throws java.io.IOException
private void (int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual okhttp3.internal.http2.Hpack$Reader.getName:(I)Lokio/ByteString;
astore 2
start local 2 1: aload 0
invokevirtual okhttp3.internal.http2.Hpack$Reader.readByteString:()Lokio/ByteString;
astore 3
start local 3 2: aload 0
iconst_m1
new okhttp3.internal.http2.Header
dup
aload 2
aload 3
invokespecial okhttp3.internal.http2.Header.<init>:(Lokio/ByteString;Lokio/ByteString;)V
invokevirtual okhttp3.internal.http2.Hpack$Reader.insertIntoDynamicTable:(ILokhttp3/internal/http2/Header;)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 Lokhttp3/internal/http2/Hpack$Reader;
0 4 1 nameIndex I
1 4 2 name Lokio/ByteString;
2 4 3 value Lokio/ByteString;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
nameIndex
private void ();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual okhttp3.internal.http2.Hpack$Reader.readByteString:()Lokio/ByteString;
invokestatic okhttp3.internal.http2.Hpack.checkLowercase:(Lokio/ByteString;)Lokio/ByteString;
astore 1
start local 1 1: aload 0
invokevirtual okhttp3.internal.http2.Hpack$Reader.readByteString:()Lokio/ByteString;
astore 2
start local 2 2: aload 0
iconst_m1
new okhttp3.internal.http2.Header
dup
aload 1
aload 2
invokespecial okhttp3.internal.http2.Header.<init>:(Lokio/ByteString;Lokio/ByteString;)V
invokevirtual okhttp3.internal.http2.Hpack$Reader.insertIntoDynamicTable:(ILokhttp3/internal/http2/Header;)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lokhttp3/internal/http2/Hpack$Reader;
1 4 1 name Lokio/ByteString;
2 4 2 value Lokio/ByteString;
Exceptions:
throws java.io.IOException
private okio.ByteString getName(int);
descriptor: (I)Lokio/ByteString;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual okhttp3.internal.http2.Hpack$Reader.isStaticHeader:(I)Z
ifeq 2
1: getstatic okhttp3.internal.http2.Hpack.STATIC_HEADER_TABLE:[Lokhttp3/internal/http2/Header;
iload 1
aaload
getfield okhttp3.internal.http2.Header.name:Lokio/ByteString;
areturn
2: StackMap locals:
StackMap stack:
aload 0
iload 1
getstatic okhttp3.internal.http2.Hpack.STATIC_HEADER_TABLE:[Lokhttp3/internal/http2/Header;
arraylength
isub
invokevirtual okhttp3.internal.http2.Hpack$Reader.dynamicTableIndex:(I)I
istore 2
start local 2 3: iload 2
iflt 4
iload 2
aload 0
getfield okhttp3.internal.http2.Hpack$Reader.dynamicTable:[Lokhttp3/internal/http2/Header;
arraylength
if_icmplt 5
4: StackMap locals: int
StackMap stack:
new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Header index too large "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
iconst_1
iadd
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
getfield okhttp3.internal.http2.Hpack$Reader.dynamicTable:[Lokhttp3/internal/http2/Header;
iload 2
aaload
getfield okhttp3.internal.http2.Header.name:Lokio/ByteString;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lokhttp3/internal/http2/Hpack$Reader;
0 6 1 index I
3 6 2 dynamicTableIndex I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
index
private boolean (int);
descriptor: (I)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
iflt 1
iload 1
getstatic okhttp3.internal.http2.Hpack.STATIC_HEADER_TABLE:[Lokhttp3/internal/http2/Header;
arraylength
iconst_1
isub
if_icmpgt 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lokhttp3/internal/http2/Hpack$Reader;
0 2 1 index I
MethodParameters:
Name Flags
index
private void (int, okhttp3.internal.http2.Header);
descriptor: (ILokhttp3/internal/http2/Header;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield okhttp3.internal.http2.Hpack$Reader.headerList:Ljava/util/List;
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
1: aload 2
getfield okhttp3.internal.http2.Header.hpackSize:I
istore 3
start local 3 2: iload 1
iconst_m1
if_icmpeq 4
3: iload 3
aload 0
getfield okhttp3.internal.http2.Hpack$Reader.dynamicTable:[Lokhttp3/internal/http2/Header;
aload 0
iload 1
invokevirtual okhttp3.internal.http2.Hpack$Reader.dynamicTableIndex:(I)I
aaload
getfield okhttp3.internal.http2.Header.hpackSize:I
isub
istore 3
4: StackMap locals: int
StackMap stack:
iload 3
aload 0
getfield okhttp3.internal.http2.Hpack$Reader.maxDynamicTableByteCount:I
if_icmple 7
5: aload 0
invokevirtual okhttp3.internal.http2.Hpack$Reader.clearDynamicTable:()V
6: return
7: StackMap locals:
StackMap stack:
aload 0
getfield okhttp3.internal.http2.Hpack$Reader.dynamicTableByteCount:I
iload 3
iadd
aload 0
getfield okhttp3.internal.http2.Hpack$Reader.maxDynamicTableByteCount:I
isub
istore 4
start local 4 8: aload 0
iload 4
invokevirtual okhttp3.internal.http2.Hpack$Reader.evictToRecoverBytes:(I)I
istore 5
start local 5 9: iload 1
iconst_m1
if_icmpne 19
10: aload 0
getfield okhttp3.internal.http2.Hpack$Reader.headerCount:I
iconst_1
iadd
aload 0
getfield okhttp3.internal.http2.Hpack$Reader.dynamicTable:[Lokhttp3/internal/http2/Header;
arraylength
if_icmple 15
11: aload 0
getfield okhttp3.internal.http2.Hpack$Reader.dynamicTable:[Lokhttp3/internal/http2/Header;
arraylength
iconst_2
imul
anewarray okhttp3.internal.http2.Header
astore 6
start local 6 12: aload 0
getfield okhttp3.internal.http2.Hpack$Reader.dynamicTable:[Lokhttp3/internal/http2/Header;
iconst_0
aload 6
aload 0
getfield okhttp3.internal.http2.Hpack$Reader.dynamicTable:[Lokhttp3/internal/http2/Header;
arraylength
aload 0
getfield okhttp3.internal.http2.Hpack$Reader.dynamicTable:[Lokhttp3/internal/http2/Header;
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
13: aload 0
aload 0
getfield okhttp3.internal.http2.Hpack$Reader.dynamicTable:[Lokhttp3/internal/http2/Header;
arraylength
iconst_1
isub
putfield okhttp3.internal.http2.Hpack$Reader.nextHeaderIndex:I
14: aload 0
aload 6
putfield okhttp3.internal.http2.Hpack$Reader.dynamicTable:[Lokhttp3/internal/http2/Header;
end local 6 15: StackMap locals: int int
StackMap stack:
aload 0
dup
getfield okhttp3.internal.http2.Hpack$Reader.nextHeaderIndex:I
dup_x1
iconst_1
isub
putfield okhttp3.internal.http2.Hpack$Reader.nextHeaderIndex:I
istore 1
16: aload 0
getfield okhttp3.internal.http2.Hpack$Reader.dynamicTable:[Lokhttp3/internal/http2/Header;
iload 1
aload 2
aastore
17: aload 0
dup
getfield okhttp3.internal.http2.Hpack$Reader.headerCount:I
iconst_1
iadd
putfield okhttp3.internal.http2.Hpack$Reader.headerCount:I
18: goto 21
19: StackMap locals:
StackMap stack:
iload 1
aload 0
iload 1
invokevirtual okhttp3.internal.http2.Hpack$Reader.dynamicTableIndex:(I)I
iload 5
iadd
iadd
istore 1
20: aload 0
getfield okhttp3.internal.http2.Hpack$Reader.dynamicTable:[Lokhttp3/internal/http2/Header;
iload 1
aload 2
aastore
21: StackMap locals:
StackMap stack:
aload 0
dup
getfield okhttp3.internal.http2.Hpack$Reader.dynamicTableByteCount:I
iload 3
iadd
putfield okhttp3.internal.http2.Hpack$Reader.dynamicTableByteCount:I
22: 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 23 0 this Lokhttp3/internal/http2/Hpack$Reader;
0 23 1 index I
0 23 2 entry Lokhttp3/internal/http2/Header;
2 23 3 delta I
8 23 4 bytesToRecover I
9 23 5 entriesEvicted I
12 15 6 doubled [Lokhttp3/internal/http2/Header;
MethodParameters:
Name Flags
index
entry
private int readByte();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield okhttp3.internal.http2.Hpack$Reader.source:Lokio/BufferedSource;
invokeinterface okio.BufferedSource.readByte:()B
sipush 255
iand
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lokhttp3/internal/http2/Hpack$Reader;
Exceptions:
throws java.io.IOException
int readInt(int, int);
descriptor: (II)I
flags: (0x0000)
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: iload 1
iload 2
iand
istore 3
start local 3 1: iload 3
iload 2
if_icmpge 3
2: iload 3
ireturn
3: StackMap locals: int
StackMap stack:
iload 2
istore 4
start local 4 4: iconst_0
istore 5
start local 5 5: StackMap locals: int int
StackMap stack:
aload 0
invokevirtual okhttp3.internal.http2.Hpack$Reader.readByte:()I
istore 6
start local 6 6: iload 6
sipush 128
iand
ifeq 10
7: iload 4
iload 6
bipush 127
iand
iload 5
ishl
iadd
istore 4
8: iinc 5 7
9: goto 5
10: StackMap locals: int
StackMap stack:
iload 4
iload 6
iload 5
ishl
iadd
istore 4
end local 6 11: iload 4
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lokhttp3/internal/http2/Hpack$Reader;
0 12 1 firstByte I
0 12 2 prefixMask I
1 12 3 prefix I
4 12 4 result I
5 12 5 shift I
6 11 6 b I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
firstByte
prefixMask
okio.ByteString readByteString();
descriptor: ()Lokio/ByteString;
flags: (0x0000)
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual okhttp3.internal.http2.Hpack$Reader.readByte:()I
istore 1
start local 1 1: iload 1
sipush 128
iand
sipush 128
if_icmpne 2
iconst_1
goto 3
StackMap locals: int
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: istore 2
start local 2 4: aload 0
iload 1
bipush 127
invokevirtual okhttp3.internal.http2.Hpack$Reader.readInt:(II)I
istore 3
start local 3 5: iload 2
ifeq 7
6: invokestatic okhttp3.internal.http2.Huffman.get:()Lokhttp3/internal/http2/Huffman;
aload 0
getfield okhttp3.internal.http2.Hpack$Reader.source:Lokio/BufferedSource;
iload 3
i2l
invokeinterface okio.BufferedSource.readByteArray:(J)[B
invokevirtual okhttp3.internal.http2.Huffman.decode:([B)[B
invokestatic okio.ByteString.of:([B)Lokio/ByteString;
areturn
7: StackMap locals: int int
StackMap stack:
aload 0
getfield okhttp3.internal.http2.Hpack$Reader.source:Lokio/BufferedSource;
iload 3
i2l
invokeinterface okio.BufferedSource.readByteString:(J)Lokio/ByteString;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lokhttp3/internal/http2/Hpack$Reader;
1 8 1 firstByte I
4 8 2 huffmanDecode Z
5 8 3 length I
Exceptions:
throws java.io.IOException
}
SourceFile: "Hpack.java"
NestHost: okhttp3.internal.http2.Hpack
InnerClasses:
final Reader = okhttp3.internal.http2.Hpack$Reader of okhttp3.internal.http2.Hpack