CodedInputStream$ArrayDecoder.smali
.class final Lcom/google/protobuf/CodedInputStream$ArrayDecoder;
.super Lcom/google/protobuf/CodedInputStream;
.source "CodedInputStream.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/protobuf/CodedInputStream;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1a
name = "ArrayDecoder"
.end annotation
# instance fields
.field private final buffer:[B
.field private bufferSizeAfterLimit:I
.field private currentLimit:I
.field private enableAliasing:Z
.field private final immutable:Z
.field private lastTag:I
.field private limit:I
.field private pos:I
.field private startPos:I
# direct methods
.method private constructor <init>([BIIZ)V
.registers 6
.prologue
.line 532
const/4 v0, 0x0
invoke-direct {p0, v0}, Lcom/google/protobuf/CodedInputStream;-><init>(Lcom/google/protobuf/CodedInputStream$1;)V
.line 530
const v0, 0x7fffffff
iput v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->currentLimit:I
.line 533
iput-object p1, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->buffer:[B
.line 534
add-int v0, p2, p3
iput v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->limit:I
.line 535
iput p2, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pos:I
.line 536
iget v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pos:I
iput v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->startPos:I
.line 537
iput-boolean p4, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->immutable:Z
.line 538
return-void
.end method
.method synthetic constructor <init>([BIIZLcom/google/protobuf/CodedInputStream$1;)V
.registers 6
.prologue
.line 519
invoke-direct {p0, p1, p2, p3, p4}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;-><init>([BIIZ)V
return-void
.end method
.method private recomputeBufferSizeAfterLimit()V
.registers 3
.prologue
.line 1127
iget v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->limit:I
iget v1, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->bufferSizeAfterLimit:I
add-int/2addr v0, v1
iput v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->limit:I
.line 1128
iget v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->limit:I
iget v1, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->startPos:I
sub-int/2addr v0, v1
.line 1129
iget v1, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->currentLimit:I
if-le v0, v1, :cond_1d
.line 1131
iget v1, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->currentLimit:I
sub-int/2addr v0, v1
iput v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->bufferSizeAfterLimit:I
.line 1132
iget v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->limit:I
iget v1, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->bufferSizeAfterLimit:I
sub-int/2addr v0, v1
iput v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->limit:I
.line 1136
:goto_1c
return-void
.line 1134
:cond_1d
const/4 v0, 0x0
iput v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->bufferSizeAfterLimit:I
goto :goto_1c
.end method
.method private skipRawVarint()V
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 952
iget v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->limit:I
iget v1, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pos:I
sub-int/2addr v0, v1
const/16 v1, 0xa
if-lt v0, v1, :cond_d
.line 953
invoke-direct {p0}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->skipRawVarintFastPath()V
.line 957
:goto_c
return-void
.line 955
:cond_d
invoke-direct {p0}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->skipRawVarintSlowPath()V
goto :goto_c
.end method
.method private skipRawVarintFastPath()V
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 960
const/4 v0, 0x0
:goto_1
const/16 v1, 0xa
if-ge v0, v1, :cond_15
.line 961
iget-object v1, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->buffer:[B
iget v2, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pos:I
add-int/lit8 v3, v2, 0x1
iput v3, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pos:I
aget-byte v1, v1, v2
if-ltz v1, :cond_12
.line 962
return-void
.line 960
:cond_12
add-int/lit8 v0, v0, 0x1
goto :goto_1
.line 965
:cond_15
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->malformedVarint()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.end method
.method private skipRawVarintSlowPath()V
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 969
const/4 v0, 0x0
:goto_1
const/16 v1, 0xa
if-ge v0, v1, :cond_f
.line 970
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->readRawByte()B
move-result v1
if-ltz v1, :cond_c
.line 971
return-void
.line 969
:cond_c
add-int/lit8 v0, v0, 0x1
goto :goto_1
.line 974
:cond_f
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->malformedVarint()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.end method
# virtual methods
.method public checkLastTagWas(I)V
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/protobuf/InvalidProtocolBufferException;
}
.end annotation
.prologue
.line 558
iget v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->lastTag:I
if-eq v0, p1, :cond_9
.line 559
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->invalidEndTag()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.line 561
:cond_9
return-void
.end method
.method public enableAliasing(Z)V
.registers 2
.prologue
.line 1101
iput-boolean p1, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->enableAliasing:Z
.line 1102
return-void
.end method
.method public getBytesUntilLimit()I
.registers 3
.prologue
.line 1146
iget v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->currentLimit:I
const v1, 0x7fffffff
if-ne v0, v1, :cond_9
.line 1147
const/4 v0, -0x1
.line 1150
:goto_8
return v0
:cond_9
iget v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->currentLimit:I
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->getTotalBytesRead()I
move-result v1
sub-int/2addr v0, v1
goto :goto_8
.end method
.method public getLastTag()I
.registers 2
.prologue
.line 565
iget v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->lastTag:I
return v0
.end method
.method public getTotalBytesRead()I
.registers 3
.prologue
.line 1160
iget v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pos:I
iget v1, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->startPos:I
sub-int/2addr v0, v1
return v0
.end method
.method public isAtEnd()Z
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 1155
iget v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pos:I
iget v1, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->limit:I
if-ne v0, v1, :cond_8
const/4 v0, 0x1
:goto_7
return v0
:cond_8
const/4 v0, 0x0
goto :goto_7
.end method
.method public popLimit(I)V
.registers 2
.prologue
.line 1140
iput p1, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->currentLimit:I
.line 1141
invoke-direct {p0}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->recomputeBufferSizeAfterLimit()V
.line 1142
return-void
.end method
.method public pushLimit(I)I
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/protobuf/InvalidProtocolBufferException;
}
.end annotation
.prologue
.line 1111
if-gez p1, :cond_7
.line 1112
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->negativeSize()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.line 1114
:cond_7
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->getTotalBytesRead()I
move-result v0
add-int/2addr v0, p1
.line 1115
iget v1, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->currentLimit:I
.line 1116
if-le v0, v1, :cond_15
.line 1117
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->truncatedMessage()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.line 1119
:cond_15
iput v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->currentLimit:I
.line 1121
invoke-direct {p0}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->recomputeBufferSizeAfterLimit()V
.line 1123
return v1
.end method
.method public readBool()Z
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 706
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->readRawVarint64()J
move-result-wide v0
const-wide/16 v2, 0x0
cmp-long v0, v0, v2
if-eqz v0, :cond_c
const/4 v0, 0x1
:goto_b
return v0
:cond_c
const/4 v0, 0x0
goto :goto_b
.end method
.method public readByteArray()[B
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 845
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->readRawVarint32()I
move-result v0
.line 846
invoke-virtual {p0, v0}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->readRawBytes(I)[B
move-result-object v0
return-object v0
.end method
.method public readByteBuffer()Ljava/nio/ByteBuffer;
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 851
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->readRawVarint32()I
move-result v1
.line 852
if-lez v1, :cond_37
iget v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->limit:I
iget v2, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pos:I
sub-int/2addr v0, v2
if-gt v1, v0, :cond_37
.line 858
iget-boolean v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->immutable:Z
if-nez v0, :cond_27
iget-boolean v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->enableAliasing:Z
if-eqz v0, :cond_27
iget-object v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->buffer:[B
iget v2, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pos:I
.line 860
invoke-static {v0, v2, v1}, Ljava/nio/ByteBuffer;->wrap([BII)Ljava/nio/ByteBuffer;
move-result-object v0
invoke-virtual {v0}, Ljava/nio/ByteBuffer;->slice()Ljava/nio/ByteBuffer;
move-result-object v0
.line 862
:goto_21
iget v2, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pos:I
add-int/2addr v1, v2
iput v1, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pos:I
.line 868
:goto_26
return-object v0
.line 860
:cond_27
iget-object v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->buffer:[B
iget v2, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pos:I
iget v3, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pos:I
add-int/2addr v3, v1
.line 861
invoke-static {v0, v2, v3}, Ljava/util/Arrays;->copyOfRange([BII)[B
move-result-object v0
invoke-static {v0}, Ljava/nio/ByteBuffer;->wrap([B)Ljava/nio/ByteBuffer;
move-result-object v0
goto :goto_21
.line 867
:cond_37
if-nez v1, :cond_3c
.line 868
sget-object v0, Lcom/google/protobuf/Internal;->EMPTY_BYTE_BUFFER:Ljava/nio/ByteBuffer;
goto :goto_26
.line 870
:cond_3c
if-gez v1, :cond_43
.line 871
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->negativeSize()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.line 873
:cond_43
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->truncatedMessage()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.end method
.method public readBytes()Lcom/google/protobuf/ByteString;
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 825
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->readRawVarint32()I
move-result v1
.line 826
if-lez v1, :cond_2c
iget v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->limit:I
iget v2, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pos:I
sub-int/2addr v0, v2
if-gt v1, v0, :cond_2c
.line 829
iget-boolean v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->immutable:Z
if-eqz v0, :cond_23
iget-boolean v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->enableAliasing:Z
if-eqz v0, :cond_23
iget-object v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->buffer:[B
iget v2, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pos:I
.line 831
invoke-static {v0, v2, v1}, Lcom/google/protobuf/ByteString;->wrap([BII)Lcom/google/protobuf/ByteString;
move-result-object v0
.line 833
:goto_1d
iget v2, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pos:I
add-int/2addr v1, v2
iput v1, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pos:I
.line 840
:goto_22
return-object v0
.line 831
:cond_23
iget-object v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->buffer:[B
iget v2, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pos:I
.line 832
invoke-static {v0, v2, v1}, Lcom/google/protobuf/ByteString;->copyFrom([BII)Lcom/google/protobuf/ByteString;
move-result-object v0
goto :goto_1d
.line 836
:cond_2c
if-nez v1, :cond_31
.line 837
sget-object v0, Lcom/google/protobuf/ByteString;->EMPTY:Lcom/google/protobuf/ByteString;
goto :goto_22
.line 840
:cond_31
invoke-virtual {p0, v1}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->readRawBytes(I)[B
move-result-object v0
invoke-static {v0}, Lcom/google/protobuf/ByteString;->wrap([B)Lcom/google/protobuf/ByteString;
move-result-object v0
goto :goto_22
.end method
.method public readDouble()D
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 671
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->readRawLittleEndian64()J
move-result-wide v0
invoke-static {v0, v1}, Ljava/lang/Double;->longBitsToDouble(J)D
move-result-wide v0
return-wide v0
.end method
.method public readEnum()I
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 883
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->readRawVarint32()I
move-result v0
return v0
.end method
.method public readFixed32()I
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 701
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->readRawLittleEndian32()I
move-result v0
return v0
.end method
.method public readFixed64()J
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 696
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->readRawLittleEndian64()J
move-result-wide v0
return-wide v0
.end method
.method public readFloat()F
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 676
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->readRawLittleEndian32()I
move-result v0
invoke-static {v0}, Ljava/lang/Float;->intBitsToFloat(I)F
move-result v0
return v0
.end method
.method public readGroup(ILcom/google/protobuf/Parser;Lcom/google/protobuf/ExtensionRegistryLite;)Lcom/google/protobuf/MessageLite;
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"<T::",
"Lcom/google/protobuf/MessageLite;",
">(I",
"Lcom/google/protobuf/Parser",
"<TT;>;",
"Lcom/google/protobuf/ExtensionRegistryLite;",
")TT;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 773
iget v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->recursionDepth:I
iget v1, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->recursionLimit:I
if-lt v0, v1, :cond_b
.line 774
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->recursionLimitExceeded()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.line 776
:cond_b
iget v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->recursionDepth:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->recursionDepth:I
.line 777
invoke-interface {p2, p0, p3}, Lcom/google/protobuf/Parser;->parsePartialFrom(Lcom/google/protobuf/CodedInputStream;Lcom/google/protobuf/ExtensionRegistryLite;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/protobuf/MessageLite;
.line 778
const/4 v1, 0x4
invoke-static {p1, v1}, Lcom/google/protobuf/WireFormat;->makeTag(II)I
move-result v1
invoke-virtual {p0, v1}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->checkLastTagWas(I)V
.line 779
iget v1, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->recursionDepth:I
add-int/lit8 v1, v1, -0x1
iput v1, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->recursionDepth:I
.line 780
return-object v0
.end method
.method public readGroup(ILcom/google/protobuf/MessageLite$Builder;Lcom/google/protobuf/ExtensionRegistryLite;)V
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 757
iget v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->recursionDepth:I
iget v1, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->recursionLimit:I
if-lt v0, v1, :cond_b
.line 758
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->recursionLimitExceeded()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.line 760
:cond_b
iget v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->recursionDepth:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->recursionDepth:I
.line 761
invoke-interface {p2, p0, p3}, Lcom/google/protobuf/MessageLite$Builder;->mergeFrom(Lcom/google/protobuf/CodedInputStream;Lcom/google/protobuf/ExtensionRegistryLite;)Lcom/google/protobuf/MessageLite$Builder;
.line 762
const/4 v0, 0x4
invoke-static {p1, v0}, Lcom/google/protobuf/WireFormat;->makeTag(II)I
move-result v0
invoke-virtual {p0, v0}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->checkLastTagWas(I)V
.line 763
iget v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->recursionDepth:I
add-int/lit8 v0, v0, -0x1
iput v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->recursionDepth:I
.line 764
return-void
.end method
.method public readInt32()I
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 691
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->readRawVarint32()I
move-result v0
return v0
.end method
.method public readInt64()J
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 686
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->readRawVarint64()J
move-result-wide v0
return-wide v0
.end method
.method public readMessage(Lcom/google/protobuf/Parser;Lcom/google/protobuf/ExtensionRegistryLite;)Lcom/google/protobuf/MessageLite;
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"<T::",
"Lcom/google/protobuf/MessageLite;",
">(",
"Lcom/google/protobuf/Parser",
"<TT;>;",
"Lcom/google/protobuf/ExtensionRegistryLite;",
")TT;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 810
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->readRawVarint32()I
move-result v0
.line 811
iget v1, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->recursionDepth:I
iget v2, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->recursionLimit:I
if-lt v1, v2, :cond_f
.line 812
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->recursionLimitExceeded()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.line 814
:cond_f
invoke-virtual {p0, v0}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pushLimit(I)I
move-result v1
.line 815
iget v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->recursionDepth:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->recursionDepth:I
.line 816
invoke-interface {p1, p0, p2}, Lcom/google/protobuf/Parser;->parsePartialFrom(Lcom/google/protobuf/CodedInputStream;Lcom/google/protobuf/ExtensionRegistryLite;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/protobuf/MessageLite;
.line 817
const/4 v2, 0x0
invoke-virtual {p0, v2}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->checkLastTagWas(I)V
.line 818
iget v2, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->recursionDepth:I
add-int/lit8 v2, v2, -0x1
iput v2, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->recursionDepth:I
.line 819
invoke-virtual {p0, v1}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->popLimit(I)V
.line 820
return-object v0
.end method
.method public readMessage(Lcom/google/protobuf/MessageLite$Builder;Lcom/google/protobuf/ExtensionRegistryLite;)V
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 794
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->readRawVarint32()I
move-result v0
.line 795
iget v1, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->recursionDepth:I
iget v2, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->recursionLimit:I
if-lt v1, v2, :cond_f
.line 796
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->recursionLimitExceeded()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.line 798
:cond_f
invoke-virtual {p0, v0}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pushLimit(I)I
move-result v0
.line 799
iget v1, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->recursionDepth:I
add-int/lit8 v1, v1, 0x1
iput v1, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->recursionDepth:I
.line 800
invoke-interface {p1, p0, p2}, Lcom/google/protobuf/MessageLite$Builder;->mergeFrom(Lcom/google/protobuf/CodedInputStream;Lcom/google/protobuf/ExtensionRegistryLite;)Lcom/google/protobuf/MessageLite$Builder;
.line 801
const/4 v1, 0x0
invoke-virtual {p0, v1}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->checkLastTagWas(I)V
.line 802
iget v1, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->recursionDepth:I
add-int/lit8 v1, v1, -0x1
iput v1, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->recursionDepth:I
.line 803
invoke-virtual {p0, v0}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->popLimit(I)V
.line 804
return-void
.end method
.method public readRawByte()B
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 1165
iget v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pos:I
iget v1, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->limit:I
if-ne v0, v1, :cond_b
.line 1166
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->truncatedMessage()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.line 1168
:cond_b
iget-object v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->buffer:[B
iget v1, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pos:I
add-int/lit8 v2, v1, 0x1
iput v2, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pos:I
aget-byte v0, v0, v1
return v0
.end method
.method public readRawBytes(I)[B
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 1173
if-lez p1, :cond_19
iget v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->limit:I
iget v1, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pos:I
sub-int/2addr v0, v1
if-gt p1, v0, :cond_19
.line 1174
iget v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pos:I
.line 1175
iget v1, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pos:I
add-int/2addr v1, p1
iput v1, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pos:I
.line 1176
iget-object v1, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->buffer:[B
iget v2, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pos:I
invoke-static {v1, v0, v2}, Ljava/util/Arrays;->copyOfRange([BII)[B
move-result-object v0
.line 1181
:goto_18
return-object v0
.line 1179
:cond_19
if-gtz p1, :cond_25
.line 1180
if-nez p1, :cond_20
.line 1181
sget-object v0, Lcom/google/protobuf/Internal;->EMPTY_BYTE_ARRAY:[B
goto :goto_18
.line 1183
:cond_20
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->negativeSize()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.line 1186
:cond_25
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->truncatedMessage()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.end method
.method public readRawLittleEndian32()I
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 1065
iget v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pos:I
.line 1067
iget v1, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->limit:I
sub-int/2addr v1, v0
const/4 v2, 0x4
if-ge v1, v2, :cond_d
.line 1068
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->truncatedMessage()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.line 1071
:cond_d
iget-object v1, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->buffer:[B
.line 1072
add-int/lit8 v2, v0, 0x4
iput v2, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pos:I
.line 1073
aget-byte v2, v1, v0
and-int/lit16 v2, v2, 0xff
add-int/lit8 v3, v0, 0x1
aget-byte v3, v1, v3
and-int/lit16 v3, v3, 0xff
shl-int/lit8 v3, v3, 0x8
or-int/2addr v2, v3
add-int/lit8 v3, v0, 0x2
aget-byte v3, v1, v3
and-int/lit16 v3, v3, 0xff
shl-int/lit8 v3, v3, 0x10
or-int/2addr v2, v3
add-int/lit8 v0, v0, 0x3
aget-byte v0, v1, v0
and-int/lit16 v0, v0, 0xff
shl-int/lit8 v0, v0, 0x18
or-int/2addr v0, v2
return v0
.end method
.method public readRawLittleEndian64()J
.registers 11
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
const/16 v6, 0x8
const-wide/16 v8, 0xff
.line 1081
iget v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pos:I
.line 1083
iget v1, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->limit:I
sub-int/2addr v1, v0
if-ge v1, v6, :cond_10
.line 1084
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->truncatedMessage()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.line 1087
:cond_10
iget-object v1, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->buffer:[B
.line 1088
add-int/lit8 v2, v0, 0x8
iput v2, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pos:I
.line 1089
aget-byte v2, v1, v0
int-to-long v2, v2
and-long/2addr v2, v8
add-int/lit8 v4, v0, 0x1
aget-byte v4, v1, v4
int-to-long v4, v4
and-long/2addr v4, v8
shl-long/2addr v4, v6
or-long/2addr v2, v4
add-int/lit8 v4, v0, 0x2
aget-byte v4, v1, v4
int-to-long v4, v4
and-long/2addr v4, v8
const/16 v6, 0x10
shl-long/2addr v4, v6
or-long/2addr v2, v4
add-int/lit8 v4, v0, 0x3
aget-byte v4, v1, v4
int-to-long v4, v4
and-long/2addr v4, v8
const/16 v6, 0x18
shl-long/2addr v4, v6
or-long/2addr v2, v4
add-int/lit8 v4, v0, 0x4
aget-byte v4, v1, v4
int-to-long v4, v4
and-long/2addr v4, v8
const/16 v6, 0x20
shl-long/2addr v4, v6
or-long/2addr v2, v4
add-int/lit8 v4, v0, 0x5
aget-byte v4, v1, v4
int-to-long v4, v4
and-long/2addr v4, v8
const/16 v6, 0x28
shl-long/2addr v4, v6
or-long/2addr v2, v4
add-int/lit8 v4, v0, 0x6
aget-byte v4, v1, v4
int-to-long v4, v4
and-long/2addr v4, v8
const/16 v6, 0x30
shl-long/2addr v4, v6
or-long/2addr v2, v4
add-int/lit8 v0, v0, 0x7
aget-byte v0, v1, v0
int-to-long v0, v0
and-long/2addr v0, v8
const/16 v4, 0x38
shl-long/2addr v0, v4
or-long/2addr v0, v2
return-wide v0
.end method
.method public readRawVarint32()I
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 913
iget v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pos:I
.line 915
iget v1, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->limit:I
if-ne v1, v0, :cond_c
.line 948
:cond_6
:goto_6
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->readRawVarint64SlowPath()J
move-result-wide v0
long-to-int v0, v0
:goto_b
return v0
.line 919
:cond_c
iget-object v3, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->buffer:[B
.line 921
add-int/lit8 v2, v0, 0x1
aget-byte v0, v3, v0
if-ltz v0, :cond_17
.line 922
iput v2, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pos:I
goto :goto_b
.line 924
:cond_17
iget v1, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->limit:I
sub-int/2addr v1, v2
const/16 v4, 0x9
if-lt v1, v4, :cond_6
.line 926
add-int/lit8 v1, v2, 0x1
aget-byte v2, v3, v2
shl-int/lit8 v2, v2, 0x7
xor-int/2addr v0, v2
if-gez v0, :cond_2c
.line 927
xor-int/lit8 v0, v0, -0x80
.line 945
:cond_29
:goto_29
iput v1, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pos:I
goto :goto_b
.line 928
:cond_2c
add-int/lit8 v2, v1, 0x1
aget-byte v1, v3, v1
shl-int/lit8 v1, v1, 0xe
xor-int/2addr v0, v1
if-ltz v0, :cond_39
.line 929
xor-int/lit16 v0, v0, 0x3f80
move v1, v2
goto :goto_29
.line 930
:cond_39
add-int/lit8 v1, v2, 0x1
aget-byte v2, v3, v2
shl-int/lit8 v2, v2, 0x15
xor-int/2addr v0, v2
if-gez v0, :cond_47
.line 931
const v2, -0x1fc080
xor-int/2addr v0, v2
goto :goto_29
.line 933
:cond_47
add-int/lit8 v2, v1, 0x1
aget-byte v1, v3, v1
.line 934
shl-int/lit8 v4, v1, 0x1c
xor-int/2addr v0, v4
.line 935
const v4, 0xfe03f80
xor-int/2addr v0, v4
.line 936
if-gez v1, :cond_73
add-int/lit8 v1, v2, 0x1
aget-byte v2, v3, v2
if-gez v2, :cond_29
add-int/lit8 v2, v1, 0x1
aget-byte v1, v3, v1
if-gez v1, :cond_73
add-int/lit8 v1, v2, 0x1
aget-byte v2, v3, v2
if-gez v2, :cond_29
add-int/lit8 v2, v1, 0x1
aget-byte v1, v3, v1
if-gez v1, :cond_73
add-int/lit8 v1, v2, 0x1
aget-byte v2, v3, v2
if-gez v2, :cond_29
goto :goto_6
:cond_73
move v1, v2
goto :goto_29
.end method
.method public readRawVarint64()J
.registers 11
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
const-wide/16 v8, 0x0
.line 992
iget v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pos:I
.line 994
iget v1, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->limit:I
if-ne v1, v0, :cond_d
.line 1047
:cond_8
:goto_8
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->readRawVarint64SlowPath()J
move-result-wide v0
:goto_c
return-wide v0
.line 998
:cond_d
iget-object v4, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->buffer:[B
.line 1001
add-int/lit8 v1, v0, 0x1
aget-byte v0, v4, v0
if-ltz v0, :cond_19
.line 1002
iput v1, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pos:I
.line 1003
int-to-long v0, v0
goto :goto_c
.line 1004
:cond_19
iget v2, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->limit:I
sub-int/2addr v2, v1
const/16 v3, 0x9
if-lt v2, v3, :cond_8
.line 1006
add-int/lit8 v2, v1, 0x1
aget-byte v1, v4, v1
shl-int/lit8 v1, v1, 0x7
xor-int/2addr v0, v1
if-gez v0, :cond_2f
.line 1007
xor-int/lit8 v0, v0, -0x80
int-to-long v0, v0
.line 1044
:cond_2c
:goto_2c
iput v2, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pos:I
goto :goto_c
.line 1008
:cond_2f
add-int/lit8 v3, v2, 0x1
aget-byte v1, v4, v2
shl-int/lit8 v1, v1, 0xe
xor-int/2addr v0, v1
if-ltz v0, :cond_3d
.line 1009
xor-int/lit16 v0, v0, 0x3f80
int-to-long v0, v0
move v2, v3
goto :goto_2c
.line 1010
:cond_3d
add-int/lit8 v2, v3, 0x1
aget-byte v1, v4, v3
shl-int/lit8 v1, v1, 0x15
xor-int/2addr v0, v1
if-gez v0, :cond_4c
.line 1011
const v1, -0x1fc080
xor-int/2addr v0, v1
int-to-long v0, v0
goto :goto_2c
.line 1012
:cond_4c
int-to-long v0, v0
add-int/lit8 v3, v2, 0x1
aget-byte v2, v4, v2
int-to-long v6, v2
const/16 v2, 0x1c
shl-long/2addr v6, v2
xor-long/2addr v0, v6
cmp-long v2, v0, v8
if-ltz v2, :cond_60
.line 1013
const-wide/32 v4, 0xfe03f80
xor-long/2addr v0, v4
move v2, v3
goto :goto_2c
.line 1014
:cond_60
add-int/lit8 v2, v3, 0x1
aget-byte v3, v4, v3
int-to-long v6, v3
const/16 v3, 0x23
shl-long/2addr v6, v3
xor-long/2addr v0, v6
cmp-long v3, v0, v8
if-gez v3, :cond_74
.line 1015
const-wide v4, -0x7f01fc080L
xor-long/2addr v0, v4
goto :goto_2c
.line 1016
:cond_74
add-int/lit8 v3, v2, 0x1
aget-byte v2, v4, v2
int-to-long v6, v2
const/16 v2, 0x2a
shl-long/2addr v6, v2
xor-long/2addr v0, v6
cmp-long v2, v0, v8
if-ltz v2, :cond_89
.line 1017
const-wide v4, 0x3f80fe03f80L
xor-long/2addr v0, v4
move v2, v3
goto :goto_2c
.line 1018
:cond_89
add-int/lit8 v2, v3, 0x1
aget-byte v3, v4, v3
int-to-long v6, v3
const/16 v3, 0x31
shl-long/2addr v6, v3
xor-long/2addr v0, v6
cmp-long v3, v0, v8
if-gez v3, :cond_9d
.line 1019
const-wide v4, -0x1fc07f01fc080L
xor-long/2addr v0, v4
goto :goto_2c
.line 1028
:cond_9d
add-int/lit8 v3, v2, 0x1
aget-byte v2, v4, v2
int-to-long v6, v2
const/16 v2, 0x38
shl-long/2addr v6, v2
xor-long/2addr v0, v6
.line 1029
const-wide v6, 0xfe03f80fe03f80L
xor-long/2addr v0, v6
.line 1038
cmp-long v2, v0, v8
if-gez v2, :cond_bb
.line 1039
add-int/lit8 v2, v3, 0x1
aget-byte v3, v4, v3
int-to-long v4, v3
cmp-long v3, v4, v8
if-gez v3, :cond_2c
goto/16 :goto_8
:cond_bb
move v2, v3
goto/16 :goto_2c
.end method
.method readRawVarint64SlowPath()J
.registers 7
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 1052
const-wide/16 v2, 0x0
.line 1053
const/4 v0, 0x0
:goto_3
const/16 v1, 0x40
if-ge v0, v1, :cond_18
.line 1054
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->readRawByte()B
move-result v1
.line 1055
and-int/lit8 v4, v1, 0x7f
int-to-long v4, v4
shl-long/2addr v4, v0
or-long/2addr v2, v4
.line 1056
and-int/lit16 v1, v1, 0x80
if-nez v1, :cond_15
.line 1057
return-wide v2
.line 1053
:cond_15
add-int/lit8 v0, v0, 0x7
goto :goto_3
.line 1060
:cond_18
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->malformedVarint()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.end method
.method public readSFixed32()I
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 888
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->readRawLittleEndian32()I
move-result v0
return v0
.end method
.method public readSFixed64()J
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 893
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->readRawLittleEndian64()J
move-result-wide v0
return-wide v0
.end method
.method public readSInt32()I
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 898
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->readRawVarint32()I
move-result v0
invoke-static {v0}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->decodeZigZag32(I)I
move-result v0
return v0
.end method
.method public readSInt64()J
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 903
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->readRawVarint64()J
move-result-wide v0
invoke-static {v0, v1}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->decodeZigZag64(J)J
move-result-wide v0
return-wide v0
.end method
.method public readString()Ljava/lang/String;
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 711
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->readRawVarint32()I
move-result v1
.line 712
if-lez v1, :cond_1e
iget v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->limit:I
iget v2, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pos:I
sub-int/2addr v0, v2
if-gt v1, v0, :cond_1e
.line 715
new-instance v0, Ljava/lang/String;
iget-object v2, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->buffer:[B
iget v3, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pos:I
sget-object v4, Lcom/google/protobuf/Internal;->UTF_8:Ljava/nio/charset/Charset;
invoke-direct {v0, v2, v3, v1, v4}, Ljava/lang/String;-><init>([BIILjava/nio/charset/Charset;)V
.line 716
iget v2, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pos:I
add-int/2addr v1, v2
iput v1, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pos:I
.line 721
:goto_1d
return-object v0
.line 720
:cond_1e
if-nez v1, :cond_23
.line 721
const-string v0, ""
goto :goto_1d
.line 723
:cond_23
if-gez v1, :cond_2a
.line 724
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->negativeSize()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.line 726
:cond_2a
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->truncatedMessage()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.end method
.method public readStringRequireUtf8()Ljava/lang/String;
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 731
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->readRawVarint32()I
move-result v1
.line 732
if-lez v1, :cond_30
iget v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->limit:I
iget v2, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pos:I
sub-int/2addr v0, v2
if-gt v1, v0, :cond_30
.line 734
iget-object v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->buffer:[B
iget v2, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pos:I
iget v3, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pos:I
add-int/2addr v3, v1
invoke-static {v0, v2, v3}, Lcom/google/protobuf/Utf8;->isValidUtf8([BII)Z
move-result v0
if-nez v0, :cond_1f
.line 735
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->invalidUtf8()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.line 737
:cond_1f
iget v2, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pos:I
.line 738
iget v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pos:I
add-int/2addr v0, v1
iput v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pos:I
.line 739
new-instance v0, Ljava/lang/String;
iget-object v3, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->buffer:[B
sget-object v4, Lcom/google/protobuf/Internal;->UTF_8:Ljava/nio/charset/Charset;
invoke-direct {v0, v3, v2, v1, v4}, Ljava/lang/String;-><init>([BIILjava/nio/charset/Charset;)V
.line 743
:goto_2f
return-object v0
.line 742
:cond_30
if-nez v1, :cond_35
.line 743
const-string v0, ""
goto :goto_2f
.line 745
:cond_35
if-gtz v1, :cond_3c
.line 746
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->negativeSize()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.line 748
:cond_3c
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->truncatedMessage()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.end method
.method public readTag()I
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
const/4 v0, 0x0
.line 542
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->isAtEnd()Z
move-result v1
if-eqz v1, :cond_a
.line 543
iput v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->lastTag:I
.line 553
:goto_9
return v0
.line 547
:cond_a
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->readRawVarint32()I
move-result v0
iput v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->lastTag:I
.line 548
iget v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->lastTag:I
invoke-static {v0}, Lcom/google/protobuf/WireFormat;->getTagFieldNumber(I)I
move-result v0
if-nez v0, :cond_1d
.line 551
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->invalidTag()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.line 553
:cond_1d
iget v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->lastTag:I
goto :goto_9
.end method
.method public readUInt32()I
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 878
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->readRawVarint32()I
move-result v0
return v0
.end method
.method public readUInt64()J
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 681
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->readRawVarint64()J
move-result-wide v0
return-wide v0
.end method
.method public readUnknownGroup(ILcom/google/protobuf/MessageLite$Builder;)V
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.prologue
.line 787
invoke-static {}, Lcom/google/protobuf/ExtensionRegistryLite;->getEmptyRegistry()Lcom/google/protobuf/ExtensionRegistryLite;
move-result-object v0
invoke-virtual {p0, p1, p2, v0}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->readGroup(ILcom/google/protobuf/MessageLite$Builder;Lcom/google/protobuf/ExtensionRegistryLite;)V
.line 788
return-void
.end method
.method public resetSizeCounter()V
.registers 2
.prologue
.line 1106
iget v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pos:I
iput v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->startPos:I
.line 1107
return-void
.end method
.method public skipField(I)Z
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
const/4 v2, 0x4
const/4 v0, 0x1
.line 570
invoke-static {p1}, Lcom/google/protobuf/WireFormat;->getTagWireType(I)I
move-result v1
packed-switch v1, :pswitch_data_36
.line 591
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->invalidWireType()Lcom/google/protobuf/InvalidProtocolBufferException$InvalidWireTypeException;
move-result-object v0
throw v0
.line 572
:pswitch_e
invoke-direct {p0}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->skipRawVarint()V
.line 589
:goto_11
return v0
.line 575
:pswitch_12
const/16 v1, 0x8
invoke-virtual {p0, v1}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->skipRawBytes(I)V
goto :goto_11
.line 578
:pswitch_18
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->readRawVarint32()I
move-result v1
invoke-virtual {p0, v1}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->skipRawBytes(I)V
goto :goto_11
.line 581
:pswitch_20
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->skipMessage()V
.line 583
invoke-static {p1}, Lcom/google/protobuf/WireFormat;->getTagFieldNumber(I)I
move-result v1
invoke-static {v1, v2}, Lcom/google/protobuf/WireFormat;->makeTag(II)I
move-result v1
.line 582
invoke-virtual {p0, v1}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->checkLastTagWas(I)V
goto :goto_11
.line 586
:pswitch_2f
const/4 v0, 0x0
goto :goto_11
.line 588
:pswitch_31
invoke-virtual {p0, v2}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->skipRawBytes(I)V
goto :goto_11
.line 570
nop
:pswitch_data_36
.packed-switch 0x0
:pswitch_e
:pswitch_12
:pswitch_18
:pswitch_20
:pswitch_2f
:pswitch_31
.end packed-switch
.end method
.method public skipField(ILcom/google/protobuf/CodedOutputStream;)Z
.registers 7
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
const/4 v0, 0x1
.line 597
invoke-static {p1}, Lcom/google/protobuf/WireFormat;->getTagWireType(I)I
move-result v1
packed-switch v1, :pswitch_data_52
.line 642
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->invalidWireType()Lcom/google/protobuf/InvalidProtocolBufferException$InvalidWireTypeException;
move-result-object v0
throw v0
.line 600
:pswitch_d
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->readInt64()J
move-result-wide v2
.line 601
invoke-virtual {p2, p1}, Lcom/google/protobuf/CodedOutputStream;->writeRawVarint32(I)V
.line 602
invoke-virtual {p2, v2, v3}, Lcom/google/protobuf/CodedOutputStream;->writeUInt64NoTag(J)V
.line 639
:goto_17
return v0
.line 607
:pswitch_18
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->readRawLittleEndian64()J
move-result-wide v2
.line 608
invoke-virtual {p2, p1}, Lcom/google/protobuf/CodedOutputStream;->writeRawVarint32(I)V
.line 609
invoke-virtual {p2, v2, v3}, Lcom/google/protobuf/CodedOutputStream;->writeFixed64NoTag(J)V
goto :goto_17
.line 614
:pswitch_23
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->readBytes()Lcom/google/protobuf/ByteString;
move-result-object v1
.line 615
invoke-virtual {p2, p1}, Lcom/google/protobuf/CodedOutputStream;->writeRawVarint32(I)V
.line 616
invoke-virtual {p2, v1}, Lcom/google/protobuf/CodedOutputStream;->writeBytesNoTag(Lcom/google/protobuf/ByteString;)V
goto :goto_17
.line 621
:pswitch_2e
invoke-virtual {p2, p1}, Lcom/google/protobuf/CodedOutputStream;->writeRawVarint32(I)V
.line 622
invoke-virtual {p0, p2}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->skipMessage(Lcom/google/protobuf/CodedOutputStream;)V
.line 625
invoke-static {p1}, Lcom/google/protobuf/WireFormat;->getTagFieldNumber(I)I
move-result v1
const/4 v2, 0x4
.line 624
invoke-static {v1, v2}, Lcom/google/protobuf/WireFormat;->makeTag(II)I
move-result v1
.line 626
invoke-virtual {p0, v1}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->checkLastTagWas(I)V
.line 627
invoke-virtual {p2, v1}, Lcom/google/protobuf/CodedOutputStream;->writeRawVarint32(I)V
goto :goto_17
.line 632
:pswitch_44
const/4 v0, 0x0
goto :goto_17
.line 636
:pswitch_46
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->readRawLittleEndian32()I
move-result v1
.line 637
invoke-virtual {p2, p1}, Lcom/google/protobuf/CodedOutputStream;->writeRawVarint32(I)V
.line 638
invoke-virtual {p2, v1}, Lcom/google/protobuf/CodedOutputStream;->writeFixed32NoTag(I)V
goto :goto_17
.line 597
nop
:pswitch_data_52
.packed-switch 0x0
:pswitch_d
:pswitch_18
:pswitch_23
:pswitch_2e
:pswitch_44
:pswitch_46
.end packed-switch
.end method
.method public skipMessage()V
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 649
:cond_0
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->readTag()I
move-result v0
.line 650
if-eqz v0, :cond_c
invoke-virtual {p0, v0}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->skipField(I)Z
move-result v0
if-nez v0, :cond_0
.line 651
:cond_c
return-void
.end method
.method public skipMessage(Lcom/google/protobuf/CodedOutputStream;)V
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 659
:cond_0
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->readTag()I
move-result v0
.line 660
if-eqz v0, :cond_c
invoke-virtual {p0, v0, p1}, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->skipField(ILcom/google/protobuf/CodedOutputStream;)Z
move-result v0
if-nez v0, :cond_0
.line 661
:cond_c
return-void
.end method
.method public skipRawBytes(I)V
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 1191
if-ltz p1, :cond_f
iget v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->limit:I
iget v1, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pos:I
sub-int/2addr v0, v1
if-gt p1, v0, :cond_f
.line 1193
iget v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pos:I
add-int/2addr v0, p1
iput v0, p0, Lcom/google/protobuf/CodedInputStream$ArrayDecoder;->pos:I
.line 1194
return-void
.line 1197
:cond_f
if-gez p1, :cond_16
.line 1198
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->negativeSize()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.line 1200
:cond_16
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->truncatedMessage()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.end method