Hpack$Reader.smali
.class public final Lokhttp3/internal/http2/Hpack$Reader;
.super Ljava/lang/Object;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lokhttp3/internal/http2/Hpack;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "Reader"
.end annotation
# instance fields
.field private final a:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Lokhttp3/internal/http2/Header;",
">;"
}
.end annotation
.end field
.field private final b:Lokio/BufferedSource;
.field public c:[Lokhttp3/internal/http2/Header;
.field private d:I
.field public e:I
.field public f:I
.field private final g:I
.field private h:I
# direct methods
.method public constructor <init>(Lokio/Source;II)V
.registers 5
const-string v0, "source"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->c(Ljava/lang/Object;Ljava/lang/String;)V
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput p2, p0, Lokhttp3/internal/http2/Hpack$Reader;->g:I
iput p3, p0, Lokhttp3/internal/http2/Hpack$Reader;->h:I
new-instance p2, Ljava/util/ArrayList;
invoke-direct {p2}, Ljava/util/ArrayList;-><init>()V
iput-object p2, p0, Lokhttp3/internal/http2/Hpack$Reader;->a:Ljava/util/List;
invoke-static {p1}, Lokio/Okio;->d(Lokio/Source;)Lokio/BufferedSource;
move-result-object p1
iput-object p1, p0, Lokhttp3/internal/http2/Hpack$Reader;->b:Lokio/BufferedSource;
const/16 p1, 0x8
new-array p1, p1, [Lokhttp3/internal/http2/Header;
iput-object p1, p0, Lokhttp3/internal/http2/Hpack$Reader;->c:[Lokhttp3/internal/http2/Header;
array-length p1, p1
add-int/lit8 p1, p1, -0x1
iput p1, p0, Lokhttp3/internal/http2/Hpack$Reader;->d:I
return-void
.end method
.method public synthetic constructor <init>(Lokio/Source;IIILkotlin/jvm/internal/DefaultConstructorMarker;)V
.registers 6
and-int/lit8 p4, p4, 0x4
if-eqz p4, :cond_5
move p3, p2
:cond_5
invoke-direct {p0, p1, p2, p3}, Lokhttp3/internal/http2/Hpack$Reader;-><init>(Lokio/Source;II)V
return-void
.end method
.method private final a()V
.registers 3
iget v0, p0, Lokhttp3/internal/http2/Hpack$Reader;->h:I
iget v1, p0, Lokhttp3/internal/http2/Hpack$Reader;->f:I
if-ge v0, v1, :cond_10
if-nez v0, :cond_c
invoke-direct {p0}, Lokhttp3/internal/http2/Hpack$Reader;->b()V
goto :goto_10
:cond_c
sub-int/2addr v1, v0
invoke-direct {p0, v1}, Lokhttp3/internal/http2/Hpack$Reader;->d(I)I
:cond_10
:goto_10
return-void
.end method
.method private final b()V
.registers 7
iget-object v0, p0, Lokhttp3/internal/http2/Hpack$Reader;->c:[Lokhttp3/internal/http2/Header;
const/4 v1, 0x0
const/4 v2, 0x0
const/4 v3, 0x0
const/4 v4, 0x6
const/4 v5, 0x0
invoke-static/range {v0 .. v5}, Lkotlin/collections/ArraysKt;->j([Ljava/lang/Object;Ljava/lang/Object;IIILjava/lang/Object;)V
iget-object v0, p0, Lokhttp3/internal/http2/Hpack$Reader;->c:[Lokhttp3/internal/http2/Header;
array-length v0, v0
add-int/lit8 v0, v0, -0x1
iput v0, p0, Lokhttp3/internal/http2/Hpack$Reader;->d:I
const/4 v0, 0x0
iput v0, p0, Lokhttp3/internal/http2/Hpack$Reader;->e:I
iput v0, p0, Lokhttp3/internal/http2/Hpack$Reader;->f:I
return-void
.end method
.method private final c(I)I
.registers 3
iget v0, p0, Lokhttp3/internal/http2/Hpack$Reader;->d:I
add-int/lit8 v0, v0, 0x1
add-int/2addr v0, p1
return v0
.end method
.method private final d(I)I
.registers 6
const/4 v0, 0x0
if-lez p1, :cond_3f
iget-object v1, p0, Lokhttp3/internal/http2/Hpack$Reader;->c:[Lokhttp3/internal/http2/Header;
array-length v1, v1
add-int/lit8 v1, v1, -0x1
:goto_8
iget v2, p0, Lokhttp3/internal/http2/Hpack$Reader;->d:I
if-lt v1, v2, :cond_2c
if-lez p1, :cond_2c
iget-object v2, p0, Lokhttp3/internal/http2/Hpack$Reader;->c:[Lokhttp3/internal/http2/Header;
aget-object v2, v2, v1
if-eqz v2, :cond_27
iget v2, v2, Lokhttp3/internal/http2/Header;->a:I
sub-int/2addr p1, v2
iget v3, p0, Lokhttp3/internal/http2/Hpack$Reader;->f:I
sub-int/2addr v3, v2
iput v3, p0, Lokhttp3/internal/http2/Hpack$Reader;->f:I
iget v2, p0, Lokhttp3/internal/http2/Hpack$Reader;->e:I
add-int/lit8 v2, v2, -0x1
iput v2, p0, Lokhttp3/internal/http2/Hpack$Reader;->e:I
add-int/lit8 v0, v0, 0x1
add-int/lit8 v1, v1, -0x1
goto :goto_8
:cond_27
invoke-static {}, Lkotlin/jvm/internal/Intrinsics;->h()V
const/4 p1, 0x0
throw p1
:cond_2c
iget-object p1, p0, Lokhttp3/internal/http2/Hpack$Reader;->c:[Lokhttp3/internal/http2/Header;
iget v1, p0, Lokhttp3/internal/http2/Hpack$Reader;->d:I
add-int/lit8 v2, v1, 0x1
add-int/lit8 v1, v1, 0x1
add-int/2addr v1, v0
iget v3, p0, Lokhttp3/internal/http2/Hpack$Reader;->e:I
invoke-static {p1, v2, p1, v1, v3}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
iget p1, p0, Lokhttp3/internal/http2/Hpack$Reader;->d:I
add-int/2addr p1, v0
iput p1, p0, Lokhttp3/internal/http2/Hpack$Reader;->d:I
:cond_3f
return v0
.end method
.method private final f(I)Lokio/ByteString;
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
invoke-direct {p0, p1}, Lokhttp3/internal/http2/Hpack$Reader;->h(I)Z
move-result v0
if-eqz v0, :cond_11
sget-object v0, Lokhttp3/internal/http2/Hpack;->c:Lokhttp3/internal/http2/Hpack;
invoke-virtual {v0}, Lokhttp3/internal/http2/Hpack;->c()[Lokhttp3/internal/http2/Header;
move-result-object v0
aget-object p1, v0, p1
iget-object p1, p1, Lokhttp3/internal/http2/Header;->b:Lokio/ByteString;
goto :goto_2b
:cond_11
sget-object v0, Lokhttp3/internal/http2/Hpack;->c:Lokhttp3/internal/http2/Hpack;
invoke-virtual {v0}, Lokhttp3/internal/http2/Hpack;->c()[Lokhttp3/internal/http2/Header;
move-result-object v0
array-length v0, v0
sub-int v0, p1, v0
invoke-direct {p0, v0}, Lokhttp3/internal/http2/Hpack$Reader;->c(I)I
move-result v0
if-ltz v0, :cond_31
iget-object v1, p0, Lokhttp3/internal/http2/Hpack$Reader;->c:[Lokhttp3/internal/http2/Header;
array-length v2, v1
if-ge v0, v2, :cond_31
aget-object p1, v1, v0
if-eqz p1, :cond_2c
iget-object p1, p1, Lokhttp3/internal/http2/Header;->b:Lokio/ByteString;
:goto_2b
return-object p1
:cond_2c
invoke-static {}, Lkotlin/jvm/internal/Intrinsics;->h()V
const/4 p1, 0x0
throw p1
:cond_31
new-instance v0, Ljava/io/IOException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Header index too large "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
add-int/lit8 p1, p1, 0x1
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method private final g(ILokhttp3/internal/http2/Header;)V
.registers 8
iget-object v0, p0, Lokhttp3/internal/http2/Hpack$Reader;->a:Ljava/util/List;
invoke-interface {v0, p2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
iget v0, p2, Lokhttp3/internal/http2/Header;->a:I
const/4 v1, -0x1
if-eq p1, v1, :cond_1d
iget-object v2, p0, Lokhttp3/internal/http2/Hpack$Reader;->c:[Lokhttp3/internal/http2/Header;
invoke-direct {p0, p1}, Lokhttp3/internal/http2/Hpack$Reader;->c(I)I
move-result v3
aget-object v2, v2, v3
if-eqz v2, :cond_18
iget v2, v2, Lokhttp3/internal/http2/Header;->a:I
sub-int/2addr v0, v2
goto :goto_1d
:cond_18
invoke-static {}, Lkotlin/jvm/internal/Intrinsics;->h()V
const/4 p1, 0x0
throw p1
:cond_1d
:goto_1d
iget v2, p0, Lokhttp3/internal/http2/Hpack$Reader;->h:I
if-le v0, v2, :cond_25
invoke-direct {p0}, Lokhttp3/internal/http2/Hpack$Reader;->b()V
return-void
:cond_25
iget v3, p0, Lokhttp3/internal/http2/Hpack$Reader;->f:I
add-int/2addr v3, v0
sub-int/2addr v3, v2
invoke-direct {p0, v3}, Lokhttp3/internal/http2/Hpack$Reader;->d(I)I
move-result v2
if-ne p1, v1, :cond_5d
iget p1, p0, Lokhttp3/internal/http2/Hpack$Reader;->e:I
add-int/lit8 p1, p1, 0x1
iget-object v1, p0, Lokhttp3/internal/http2/Hpack$Reader;->c:[Lokhttp3/internal/http2/Header;
array-length v2, v1
if-le p1, v2, :cond_4c
array-length p1, v1
mul-int/lit8 p1, p1, 0x2
new-array p1, p1, [Lokhttp3/internal/http2/Header;
const/4 v2, 0x0
array-length v3, v1
array-length v4, v1
invoke-static {v1, v2, p1, v3, v4}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
iget-object v1, p0, Lokhttp3/internal/http2/Hpack$Reader;->c:[Lokhttp3/internal/http2/Header;
array-length v1, v1
add-int/lit8 v1, v1, -0x1
iput v1, p0, Lokhttp3/internal/http2/Hpack$Reader;->d:I
iput-object p1, p0, Lokhttp3/internal/http2/Hpack$Reader;->c:[Lokhttp3/internal/http2/Header;
:cond_4c
iget p1, p0, Lokhttp3/internal/http2/Hpack$Reader;->d:I
add-int/lit8 v1, p1, -0x1
iput v1, p0, Lokhttp3/internal/http2/Hpack$Reader;->d:I
iget-object v1, p0, Lokhttp3/internal/http2/Hpack$Reader;->c:[Lokhttp3/internal/http2/Header;
aput-object p2, v1, p1
iget p1, p0, Lokhttp3/internal/http2/Hpack$Reader;->e:I
add-int/lit8 p1, p1, 0x1
iput p1, p0, Lokhttp3/internal/http2/Hpack$Reader;->e:I
goto :goto_67
:cond_5d
invoke-direct {p0, p1}, Lokhttp3/internal/http2/Hpack$Reader;->c(I)I
move-result v1
add-int/2addr v1, v2
add-int/2addr p1, v1
iget-object v1, p0, Lokhttp3/internal/http2/Hpack$Reader;->c:[Lokhttp3/internal/http2/Header;
aput-object p2, v1, p1
:goto_67
iget p1, p0, Lokhttp3/internal/http2/Hpack$Reader;->f:I
add-int/2addr p1, v0
iput p1, p0, Lokhttp3/internal/http2/Hpack$Reader;->f:I
return-void
.end method
.method private final h(I)Z
.registers 4
const/4 v0, 0x1
if-ltz p1, :cond_e
sget-object v1, Lokhttp3/internal/http2/Hpack;->c:Lokhttp3/internal/http2/Hpack;
invoke-virtual {v1}, Lokhttp3/internal/http2/Hpack;->c()[Lokhttp3/internal/http2/Header;
move-result-object v1
array-length v1, v1
sub-int/2addr v1, v0
if-gt p1, v1, :cond_e
goto :goto_f
:cond_e
const/4 v0, 0x0
:goto_f
return v0
.end method
.method private final i()I
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
iget-object v0, p0, Lokhttp3/internal/http2/Hpack$Reader;->b:Lokio/BufferedSource;
invoke-interface {v0}, Lokio/BufferedSource;->readByte()B
move-result v0
const/16 v1, 0xff
invoke-static {v0, v1}, Lokhttp3/internal/Util;->b(BI)I
move-result v0
return v0
.end method
.method private final l(I)V
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
invoke-direct {p0, p1}, Lokhttp3/internal/http2/Hpack$Reader;->h(I)Z
move-result v0
if-eqz v0, :cond_14
sget-object v0, Lokhttp3/internal/http2/Hpack;->c:Lokhttp3/internal/http2/Hpack;
invoke-virtual {v0}, Lokhttp3/internal/http2/Hpack;->c()[Lokhttp3/internal/http2/Header;
move-result-object v0
aget-object p1, v0, p1
iget-object v0, p0, Lokhttp3/internal/http2/Hpack$Reader;->a:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_31
:cond_14
sget-object v0, Lokhttp3/internal/http2/Hpack;->c:Lokhttp3/internal/http2/Hpack;
invoke-virtual {v0}, Lokhttp3/internal/http2/Hpack;->c()[Lokhttp3/internal/http2/Header;
move-result-object v0
array-length v0, v0
sub-int v0, p1, v0
invoke-direct {p0, v0}, Lokhttp3/internal/http2/Hpack$Reader;->c(I)I
move-result v0
if-ltz v0, :cond_37
iget-object v1, p0, Lokhttp3/internal/http2/Hpack$Reader;->c:[Lokhttp3/internal/http2/Header;
array-length v2, v1
if-ge v0, v2, :cond_37
iget-object p1, p0, Lokhttp3/internal/http2/Hpack$Reader;->a:Ljava/util/List;
aget-object v0, v1, v0
if-eqz v0, :cond_32
invoke-interface {p1, v0}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z
:goto_31
return-void
:cond_32
invoke-static {}, Lkotlin/jvm/internal/Intrinsics;->h()V
const/4 p1, 0x0
throw p1
:cond_37
new-instance v0, Ljava/io/IOException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Header index too large "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
add-int/lit8 p1, p1, 0x1
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method private final n(I)V
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
invoke-direct {p0, p1}, Lokhttp3/internal/http2/Hpack$Reader;->f(I)Lokio/ByteString;
move-result-object p1
invoke-virtual {p0}, Lokhttp3/internal/http2/Hpack$Reader;->j()Lokio/ByteString;
move-result-object v0
new-instance v1, Lokhttp3/internal/http2/Header;
invoke-direct {v1, p1, v0}, Lokhttp3/internal/http2/Header;-><init>(Lokio/ByteString;Lokio/ByteString;)V
const/4 p1, -0x1
invoke-direct {p0, p1, v1}, Lokhttp3/internal/http2/Hpack$Reader;->g(ILokhttp3/internal/http2/Header;)V
return-void
.end method
.method private final o()V
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
sget-object v0, Lokhttp3/internal/http2/Hpack;->c:Lokhttp3/internal/http2/Hpack;
invoke-virtual {p0}, Lokhttp3/internal/http2/Hpack$Reader;->j()Lokio/ByteString;
move-result-object v1
invoke-virtual {v0, v1}, Lokhttp3/internal/http2/Hpack;->a(Lokio/ByteString;)Lokio/ByteString;
invoke-virtual {p0}, Lokhttp3/internal/http2/Hpack$Reader;->j()Lokio/ByteString;
move-result-object v0
new-instance v2, Lokhttp3/internal/http2/Header;
invoke-direct {v2, v1, v0}, Lokhttp3/internal/http2/Header;-><init>(Lokio/ByteString;Lokio/ByteString;)V
const/4 v0, -0x1
invoke-direct {p0, v0, v2}, Lokhttp3/internal/http2/Hpack$Reader;->g(ILokhttp3/internal/http2/Header;)V
return-void
.end method
.method private final p(I)V
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
invoke-direct {p0, p1}, Lokhttp3/internal/http2/Hpack$Reader;->f(I)Lokio/ByteString;
move-result-object p1
invoke-virtual {p0}, Lokhttp3/internal/http2/Hpack$Reader;->j()Lokio/ByteString;
move-result-object v0
iget-object v1, p0, Lokhttp3/internal/http2/Hpack$Reader;->a:Ljava/util/List;
new-instance v2, Lokhttp3/internal/http2/Header;
invoke-direct {v2, p1, v0}, Lokhttp3/internal/http2/Header;-><init>(Lokio/ByteString;Lokio/ByteString;)V
invoke-interface {v1, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
return-void
.end method
.method private final q()V
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
sget-object v0, Lokhttp3/internal/http2/Hpack;->c:Lokhttp3/internal/http2/Hpack;
invoke-virtual {p0}, Lokhttp3/internal/http2/Hpack$Reader;->j()Lokio/ByteString;
move-result-object v1
invoke-virtual {v0, v1}, Lokhttp3/internal/http2/Hpack;->a(Lokio/ByteString;)Lokio/ByteString;
invoke-virtual {p0}, Lokhttp3/internal/http2/Hpack$Reader;->j()Lokio/ByteString;
move-result-object v0
iget-object v2, p0, Lokhttp3/internal/http2/Hpack$Reader;->a:Ljava/util/List;
new-instance v3, Lokhttp3/internal/http2/Header;
invoke-direct {v3, v1, v0}, Lokhttp3/internal/http2/Header;-><init>(Lokio/ByteString;Lokio/ByteString;)V
invoke-interface {v2, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z
return-void
.end method
# virtual methods
.method public final e()Ljava/util/List;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/List<",
"Lokhttp3/internal/http2/Header;",
">;"
}
.end annotation
iget-object v0, p0, Lokhttp3/internal/http2/Hpack$Reader;->a:Ljava/util/List;
invoke-static {v0}, Lkotlin/collections/CollectionsKt;->o0(Ljava/lang/Iterable;)Ljava/util/List;
move-result-object v0
iget-object v1, p0, Lokhttp3/internal/http2/Hpack$Reader;->a:Ljava/util/List;
invoke-interface {v1}, Ljava/util/List;->clear()V
return-object v0
.end method
.method public final j()Lokio/ByteString;
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
invoke-direct {p0}, Lokhttp3/internal/http2/Hpack$Reader;->i()I
move-result v0
and-int/lit16 v1, v0, 0x80
const/16 v2, 0x80
if-ne v1, v2, :cond_c
const/4 v1, 0x1
goto :goto_d
:cond_c
const/4 v1, 0x0
:goto_d
const/16 v2, 0x7f
invoke-virtual {p0, v0, v2}, Lokhttp3/internal/http2/Hpack$Reader;->m(II)I
move-result v0
int-to-long v2, v0
if-eqz v1, :cond_27
new-instance v0, Lokio/Buffer;
invoke-direct {v0}, Lokio/Buffer;-><init>()V
sget-object v1, Lokhttp3/internal/http2/Huffman;->d:Lokhttp3/internal/http2/Huffman;
iget-object v4, p0, Lokhttp3/internal/http2/Hpack$Reader;->b:Lokio/BufferedSource;
invoke-virtual {v1, v4, v2, v3, v0}, Lokhttp3/internal/http2/Huffman;->b(Lokio/BufferedSource;JLokio/BufferedSink;)V
invoke-virtual {v0}, Lokio/Buffer;->L0()Lokio/ByteString;
move-result-object v0
goto :goto_2d
:cond_27
iget-object v0, p0, Lokhttp3/internal/http2/Hpack$Reader;->b:Lokio/BufferedSource;
invoke-interface {v0, v2, v3}, Lokio/BufferedSource;->m(J)Lokio/ByteString;
move-result-object v0
:goto_2d
return-object v0
.end method
.method public final k()V
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
:goto_0
iget-object v0, p0, Lokhttp3/internal/http2/Hpack$Reader;->b:Lokio/BufferedSource;
invoke-interface {v0}, Lokio/BufferedSource;->N()Z
move-result v0
if-nez v0, :cond_92
iget-object v0, p0, Lokhttp3/internal/http2/Hpack$Reader;->b:Lokio/BufferedSource;
invoke-interface {v0}, Lokio/BufferedSource;->readByte()B
move-result v0
const/16 v1, 0xff
invoke-static {v0, v1}, Lokhttp3/internal/Util;->b(BI)I
move-result v0
const/16 v1, 0x80
if-eq v0, v1, :cond_8a
and-int/lit16 v2, v0, 0x80
if-ne v2, v1, :cond_28
const/16 v1, 0x7f
invoke-virtual {p0, v0, v1}, Lokhttp3/internal/http2/Hpack$Reader;->m(II)I
move-result v0
add-int/lit8 v0, v0, -0x1
invoke-direct {p0, v0}, Lokhttp3/internal/http2/Hpack$Reader;->l(I)V
goto :goto_0
:cond_28
const/16 v1, 0x40
if-ne v0, v1, :cond_30
invoke-direct {p0}, Lokhttp3/internal/http2/Hpack$Reader;->o()V
goto :goto_0
:cond_30
and-int/lit8 v2, v0, 0x40
if-ne v2, v1, :cond_40
const/16 v1, 0x3f
invoke-virtual {p0, v0, v1}, Lokhttp3/internal/http2/Hpack$Reader;->m(II)I
move-result v0
add-int/lit8 v0, v0, -0x1
invoke-direct {p0, v0}, Lokhttp3/internal/http2/Hpack$Reader;->n(I)V
goto :goto_0
:cond_40
and-int/lit8 v1, v0, 0x20
const/16 v2, 0x20
if-ne v1, v2, :cond_71
const/16 v1, 0x1f
invoke-virtual {p0, v0, v1}, Lokhttp3/internal/http2/Hpack$Reader;->m(II)I
move-result v0
iput v0, p0, Lokhttp3/internal/http2/Hpack$Reader;->h:I
if-ltz v0, :cond_58
iget v1, p0, Lokhttp3/internal/http2/Hpack$Reader;->g:I
if-gt v0, v1, :cond_58
invoke-direct {p0}, Lokhttp3/internal/http2/Hpack$Reader;->a()V
goto :goto_0
:cond_58
new-instance v0, Ljava/io/IOException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Invalid dynamic table size update "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v2, p0, Lokhttp3/internal/http2/Hpack$Reader;->h:I
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
:cond_71
const/16 v1, 0x10
if-eq v0, v1, :cond_85
if-nez v0, :cond_78
goto :goto_85
:cond_78
const/16 v1, 0xf
invoke-virtual {p0, v0, v1}, Lokhttp3/internal/http2/Hpack$Reader;->m(II)I
move-result v0
add-int/lit8 v0, v0, -0x1
invoke-direct {p0, v0}, Lokhttp3/internal/http2/Hpack$Reader;->p(I)V
goto/16 :goto_0
:cond_85
:goto_85
invoke-direct {p0}, Lokhttp3/internal/http2/Hpack$Reader;->q()V
goto/16 :goto_0
:cond_8a
new-instance v0, Ljava/io/IOException;
const-string v1, "index == 0"
invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
:cond_92
return-void
.end method
.method public final m(II)I
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
and-int/2addr p1, p2
if-ge p1, p2, :cond_4
return p1
:cond_4
const/4 p1, 0x0
:goto_5
invoke-direct {p0}, Lokhttp3/internal/http2/Hpack$Reader;->i()I
move-result v0
and-int/lit16 v1, v0, 0x80
if-eqz v1, :cond_14
and-int/lit8 v0, v0, 0x7f
shl-int/2addr v0, p1
add-int/2addr p2, v0
add-int/lit8 p1, p1, 0x7
goto :goto_5
:cond_14
shl-int p1, v0, p1
add-int/2addr p2, p1
return p2
.end method