CodedInputStream$UnsafeDirectNioDecoder.smali
.class final Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;
.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 = "UnsafeDirectNioDecoder"
.end annotation
# instance fields
.field private final address:J
.field private final buffer:Ljava/nio/ByteBuffer;
.field private bufferSizeAfterLimit:I
.field private currentLimit:I
.field private enableAliasing:Z
.field private final immutable:Z
.field private lastTag:I
.field private limit:J
.field private pos:J
.field private startPos:J
# direct methods
.method private constructor <init>(Ljava/nio/ByteBuffer;Z)V
.registers 7
.prologue
.line 1249
const/4 v0, 0x0
invoke-direct {p0, v0}, Lcom/google/protobuf/CodedInputStream;-><init>(Lcom/google/protobuf/CodedInputStream$1;)V
.line 1243
const v0, 0x7fffffff
iput v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->currentLimit:I
.line 1250
iput-object p1, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->buffer:Ljava/nio/ByteBuffer;
.line 1251
invoke-static {p1}, Lcom/google/protobuf/UnsafeUtil;->addressOffset(Ljava/nio/ByteBuffer;)J
move-result-wide v0
iput-wide v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->address:J
.line 1252
iget-wide v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->address:J
invoke-virtual {p1}, Ljava/nio/ByteBuffer;->limit()I
move-result v2
int-to-long v2, v2
add-long/2addr v0, v2
iput-wide v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->limit:J
.line 1253
iget-wide v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->address:J
invoke-virtual {p1}, Ljava/nio/ByteBuffer;->position()I
move-result v2
int-to-long v2, v2
add-long/2addr v0, v2
iput-wide v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
.line 1254
iget-wide v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
iput-wide v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->startPos:J
.line 1255
iput-boolean p2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->immutable:Z
.line 1256
return-void
.end method
.method synthetic constructor <init>(Ljava/nio/ByteBuffer;ZLcom/google/protobuf/CodedInputStream$1;)V
.registers 4
.prologue
.line 1208
invoke-direct {p0, p1, p2}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;-><init>(Ljava/nio/ByteBuffer;Z)V
return-void
.end method
.method private bufferPos(J)I
.registers 6
.prologue
.line 1929
iget-wide v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->address:J
sub-long v0, p1, v0
long-to-int v0, v0
return v0
.end method
.method private copy(JJ)Ljava/nio/ByteBuffer;
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 1948
invoke-direct {p0, p1, p2, p3, p4}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->copyToArray(JJ)[B
move-result-object v0
invoke-static {v0}, Ljava/nio/ByteBuffer;->wrap([B)Ljava/nio/ByteBuffer;
move-result-object v0
return-object v0
.end method
.method private copyToArray(JJ)[B
.registers 12
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 1952
iget-object v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v0}, Ljava/nio/ByteBuffer;->position()I
move-result v1
.line 1953
iget-object v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v0}, Ljava/nio/ByteBuffer;->limit()I
move-result v2
.line 1955
:try_start_c
iget-object v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->buffer:Ljava/nio/ByteBuffer;
invoke-direct {p0, p1, p2}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->bufferPos(J)I
move-result v3
invoke-virtual {v0, v3}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;
.line 1956
iget-object v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->buffer:Ljava/nio/ByteBuffer;
invoke-direct {p0, p3, p4}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->bufferPos(J)I
move-result v3
invoke-virtual {v0, v3}, Ljava/nio/ByteBuffer;->limit(I)Ljava/nio/Buffer;
.line 1957
sub-long v4, p3, p1
long-to-int v0, v4
new-array v0, v0, [B
.line 1958
iget-object v3, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v3, v0}, Ljava/nio/ByteBuffer;->get([B)Ljava/nio/ByteBuffer;
:try_end_28
.catch Ljava/lang/IllegalArgumentException; {:try_start_c .. :try_end_28} :catch_33
.catchall {:try_start_c .. :try_end_28} :catchall_39
.line 1963
iget-object v3, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v3, v1}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;
.line 1964
iget-object v1, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v1, v2}, Ljava/nio/ByteBuffer;->limit(I)Ljava/nio/Buffer;
return-object v0
.line 1960
:catch_33
move-exception v0
.line 1961
:try_start_34
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->truncatedMessage()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
:try_end_39
.catchall {:try_start_34 .. :try_end_39} :catchall_39
.line 1963
:catchall_39
move-exception v0
iget-object v3, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v3, v1}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;
.line 1964
iget-object v1, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v1, v2}, Ljava/nio/ByteBuffer;->limit(I)Ljava/nio/Buffer;
throw v0
.end method
.method static isSupported()Z
.registers 1
.prologue
.line 1246
invoke-static {}, Lcom/google/protobuf/UnsafeUtil;->hasUnsafeByteBufferOperations()Z
move-result v0
return v0
.end method
.method private recomputeBufferSizeAfterLimit()V
.registers 5
.prologue
.line 1913
iget-wide v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->limit:J
iget v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->bufferSizeAfterLimit:I
int-to-long v2, v2
add-long/2addr v0, v2
iput-wide v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->limit:J
.line 1914
iget-wide v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->limit:J
iget-wide v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->startPos:J
sub-long/2addr v0, v2
long-to-int v0, v0
.line 1915
iget v1, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->currentLimit:I
if-le v0, v1, :cond_20
.line 1917
iget v1, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->currentLimit:I
sub-int/2addr v0, v1
iput v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->bufferSizeAfterLimit:I
.line 1918
iget-wide v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->limit:J
iget v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->bufferSizeAfterLimit:I
int-to-long v2, v2
sub-long/2addr v0, v2
iput-wide v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->limit:J
.line 1922
:goto_1f
return-void
.line 1920
:cond_20
const/4 v0, 0x0
iput v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->bufferSizeAfterLimit:I
goto :goto_1f
.end method
.method private remaining()I
.registers 5
.prologue
.line 1925
iget-wide v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->limit:J
iget-wide v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
sub-long/2addr v0, v2
long-to-int v0, v0
return v0
.end method
.method private skipRawVarint()V
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 1674
invoke-direct {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->remaining()I
move-result v0
const/16 v1, 0xa
if-lt v0, v1, :cond_c
.line 1675
invoke-direct {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->skipRawVarintFastPath()V
.line 1679
:goto_b
return-void
.line 1677
:cond_c
invoke-direct {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->skipRawVarintSlowPath()V
goto :goto_b
.end method
.method private skipRawVarintFastPath()V
.registers 7
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 1682
const/4 v0, 0x0
:goto_1
const/16 v1, 0xa
if-ge v0, v1, :cond_16
.line 1683
iget-wide v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
const-wide/16 v4, 0x1
add-long/2addr v4, v2
iput-wide v4, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
invoke-static {v2, v3}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v1
if-ltz v1, :cond_13
.line 1684
return-void
.line 1682
:cond_13
add-int/lit8 v0, v0, 0x1
goto :goto_1
.line 1687
:cond_16
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 1691
const/4 v0, 0x0
:goto_1
const/16 v1, 0xa
if-ge v0, v1, :cond_f
.line 1692
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->readRawByte()B
move-result v1
if-ltz v1, :cond_c
.line 1693
return-void
.line 1691
:cond_c
add-int/lit8 v0, v0, 0x1
goto :goto_1
.line 1696
:cond_f
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->malformedVarint()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.end method
.method private slice(JJ)Ljava/nio/ByteBuffer;
.registers 10
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 1933
iget-object v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v0}, Ljava/nio/ByteBuffer;->position()I
move-result v1
.line 1934
iget-object v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v0}, Ljava/nio/ByteBuffer;->limit()I
move-result v2
.line 1936
:try_start_c
iget-object v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->buffer:Ljava/nio/ByteBuffer;
invoke-direct {p0, p1, p2}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->bufferPos(J)I
move-result v3
invoke-virtual {v0, v3}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;
.line 1937
iget-object v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->buffer:Ljava/nio/ByteBuffer;
invoke-direct {p0, p3, p4}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->bufferPos(J)I
move-result v3
invoke-virtual {v0, v3}, Ljava/nio/ByteBuffer;->limit(I)Ljava/nio/Buffer;
.line 1938
iget-object v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v0}, Ljava/nio/ByteBuffer;->slice()Ljava/nio/ByteBuffer;
:try_end_23
.catch Ljava/lang/IllegalArgumentException; {:try_start_c .. :try_end_23} :catch_2f
.catchall {:try_start_c .. :try_end_23} :catchall_35
move-result-object v0
.line 1942
iget-object v3, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v3, v1}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;
.line 1943
iget-object v1, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v1, v2}, Ljava/nio/ByteBuffer;->limit(I)Ljava/nio/Buffer;
return-object v0
.line 1939
:catch_2f
move-exception v0
.line 1940
:try_start_30
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->truncatedMessage()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
:try_end_35
.catchall {:try_start_30 .. :try_end_35} :catchall_35
.line 1942
:catchall_35
move-exception v0
iget-object v3, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v3, v1}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;
.line 1943
iget-object v1, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v1, v2}, Ljava/nio/ByteBuffer;->limit(I)Ljava/nio/Buffer;
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 1276
iget v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->lastTag:I
if-eq v0, p1, :cond_9
.line 1277
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->invalidEndTag()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.line 1279
:cond_9
return-void
.end method
.method public enableAliasing(Z)V
.registers 2
.prologue
.line 1820
iput-boolean p1, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->enableAliasing:Z
.line 1821
return-void
.end method
.method public getBytesUntilLimit()I
.registers 3
.prologue
.line 1853
iget v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->currentLimit:I
const v1, 0x7fffffff
if-ne v0, v1, :cond_9
.line 1854
const/4 v0, -0x1
.line 1857
:goto_8
return v0
:cond_9
iget v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->currentLimit:I
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->getTotalBytesRead()I
move-result v1
sub-int/2addr v0, v1
goto :goto_8
.end method
.method public getLastTag()I
.registers 2
.prologue
.line 1283
iget v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->lastTag:I
return v0
.end method
.method public getTotalBytesRead()I
.registers 5
.prologue
.line 1867
iget-wide v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
iget-wide v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->startPos:J
sub-long/2addr v0, v2
long-to-int v0, v0
return v0
.end method
.method public isAtEnd()Z
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 1862
iget-wide v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
iget-wide v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->limit:J
cmp-long v0, v0, v2
if-nez v0, :cond_a
const/4 v0, 0x1
:goto_9
return v0
:cond_a
const/4 v0, 0x0
goto :goto_9
.end method
.method public popLimit(I)V
.registers 2
.prologue
.line 1847
iput p1, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->currentLimit:I
.line 1848
invoke-direct {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->recomputeBufferSizeAfterLimit()V
.line 1849
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 1830
if-gez p1, :cond_7
.line 1831
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->negativeSize()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.line 1833
:cond_7
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->getTotalBytesRead()I
move-result v0
add-int/2addr v0, p1
.line 1834
iget v1, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->currentLimit:I
.line 1835
if-le v0, v1, :cond_15
.line 1836
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->truncatedMessage()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.line 1838
:cond_15
iput v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->currentLimit:I
.line 1840
invoke-direct {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->recomputeBufferSizeAfterLimit()V
.line 1842
return v1
.end method
.method public readBool()Z
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 1424
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->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 1569
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->readRawVarint32()I
move-result v0
invoke-virtual {p0, v0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->readRawBytes(I)[B
move-result-object v0
return-object v0
.end method
.method public readByteBuffer()Ljava/nio/ByteBuffer;
.registers 9
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 1574
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->readRawVarint32()I
move-result v1
.line 1575
if-lez v1, :cond_30
invoke-direct {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->remaining()I
move-result v0
if-gt v1, v0, :cond_30
.line 1580
iget-boolean v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->immutable:Z
if-nez v0, :cond_25
iget-boolean v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->enableAliasing:Z
if-eqz v0, :cond_25
.line 1581
iget-wide v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
iget-wide v4, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
int-to-long v6, v1
add-long/2addr v4, v6
invoke-direct {p0, v2, v3, v4, v5}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->slice(JJ)Ljava/nio/ByteBuffer;
move-result-object v0
.line 1585
:goto_1e
iget-wide v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
int-to-long v4, v1
add-long/2addr v2, v4
iput-wide v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
.line 1591
:goto_24
return-object v0
.line 1583
:cond_25
iget-wide v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
iget-wide v4, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
int-to-long v6, v1
add-long/2addr v4, v6
invoke-direct {p0, v2, v3, v4, v5}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->copy(JJ)Ljava/nio/ByteBuffer;
move-result-object v0
goto :goto_1e
.line 1590
:cond_30
if-nez v1, :cond_35
.line 1591
sget-object v0, Lcom/google/protobuf/Internal;->EMPTY_BYTE_BUFFER:Ljava/nio/ByteBuffer;
goto :goto_24
.line 1593
:cond_35
if-gez v1, :cond_3c
.line 1594
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->negativeSize()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.line 1596
:cond_3c
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 9
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 1546
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->readRawVarint32()I
move-result v1
.line 1547
if-lez v1, :cond_34
invoke-direct {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->remaining()I
move-result v0
if-gt v1, v0, :cond_34
.line 1549
iget-boolean v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->immutable:Z
if-eqz v0, :cond_29
iget-boolean v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->enableAliasing:Z
if-eqz v0, :cond_29
.line 1550
iget-wide v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
iget-wide v4, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
int-to-long v6, v1
add-long/2addr v4, v6
invoke-direct {p0, v2, v3, v4, v5}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->slice(JJ)Ljava/nio/ByteBuffer;
move-result-object v0
.line 1554
:goto_1e
iget-wide v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
int-to-long v4, v1
add-long/2addr v2, v4
iput-wide v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
.line 1555
invoke-static {v0}, Lcom/google/protobuf/ByteString;->wrap(Ljava/nio/ByteBuffer;)Lcom/google/protobuf/ByteString;
move-result-object v0
.line 1559
:goto_28
return-object v0
.line 1552
:cond_29
iget-wide v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
iget-wide v4, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
int-to-long v6, v1
add-long/2addr v4, v6
invoke-direct {p0, v2, v3, v4, v5}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->copy(JJ)Ljava/nio/ByteBuffer;
move-result-object v0
goto :goto_1e
.line 1558
:cond_34
if-nez v1, :cond_39
.line 1559
sget-object v0, Lcom/google/protobuf/ByteString;->EMPTY:Lcom/google/protobuf/ByteString;
goto :goto_28
.line 1561
:cond_39
if-gez v1, :cond_40
.line 1562
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->negativeSize()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.line 1564
:cond_40
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->truncatedMessage()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.end method
.method public readDouble()D
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 1389
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->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 1606
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->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 1419
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->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 1414
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->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 1394
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->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 1494
iget v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->recursionDepth:I
iget v1, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->recursionLimit:I
if-lt v0, v1, :cond_b
.line 1495
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->recursionLimitExceeded()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.line 1497
:cond_b
iget v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->recursionDepth:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->recursionDepth:I
.line 1498
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 1499
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$UnsafeDirectNioDecoder;->checkLastTagWas(I)V
.line 1500
iget v1, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->recursionDepth:I
add-int/lit8 v1, v1, -0x1
iput v1, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->recursionDepth:I
.line 1501
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 1478
iget v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->recursionDepth:I
iget v1, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->recursionLimit:I
if-lt v0, v1, :cond_b
.line 1479
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->recursionLimitExceeded()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.line 1481
:cond_b
iget v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->recursionDepth:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->recursionDepth:I
.line 1482
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 1483
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$UnsafeDirectNioDecoder;->checkLastTagWas(I)V
.line 1484
iget v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->recursionDepth:I
add-int/lit8 v0, v0, -0x1
iput v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->recursionDepth:I
.line 1485
return-void
.end method
.method public readInt32()I
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 1409
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->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 1404
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->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 1531
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->readRawVarint32()I
move-result v0
.line 1532
iget v1, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->recursionDepth:I
iget v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->recursionLimit:I
if-lt v1, v2, :cond_f
.line 1533
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->recursionLimitExceeded()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.line 1535
:cond_f
invoke-virtual {p0, v0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pushLimit(I)I
move-result v1
.line 1536
iget v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->recursionDepth:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->recursionDepth:I
.line 1537
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 1538
const/4 v2, 0x0
invoke-virtual {p0, v2}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->checkLastTagWas(I)V
.line 1539
iget v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->recursionDepth:I
add-int/lit8 v2, v2, -0x1
iput v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->recursionDepth:I
.line 1540
invoke-virtual {p0, v1}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->popLimit(I)V
.line 1541
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 1515
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->readRawVarint32()I
move-result v0
.line 1516
iget v1, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->recursionDepth:I
iget v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->recursionLimit:I
if-lt v1, v2, :cond_f
.line 1517
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->recursionLimitExceeded()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.line 1519
:cond_f
invoke-virtual {p0, v0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pushLimit(I)I
move-result v0
.line 1520
iget v1, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->recursionDepth:I
add-int/lit8 v1, v1, 0x1
iput v1, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->recursionDepth:I
.line 1521
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 1522
const/4 v1, 0x0
invoke-virtual {p0, v1}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->checkLastTagWas(I)V
.line 1523
iget v1, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->recursionDepth:I
add-int/lit8 v1, v1, -0x1
iput v1, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->recursionDepth:I
.line 1524
invoke-virtual {p0, v0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->popLimit(I)V
.line 1525
return-void
.end method
.method public readRawByte()B
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 1872
iget-wide v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
iget-wide v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->limit:J
cmp-long v0, v0, v2
if-nez v0, :cond_d
.line 1873
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->truncatedMessage()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.line 1875
:cond_d
iget-wide v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
const-wide/16 v2, 0x1
add-long/2addr v2, v0
iput-wide v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
invoke-static {v0, v1}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v0
return v0
.end method
.method public readRawBytes(I)[B
.registers 10
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 1880
if-ltz p1, :cond_1e
invoke-direct {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->remaining()I
move-result v0
if-gt p1, v0, :cond_1e
.line 1881
new-array v0, p1, [B
.line 1882
iget-wide v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
iget-wide v4, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
int-to-long v6, p1
add-long/2addr v4, v6
invoke-direct {p0, v2, v3, v4, v5}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->slice(JJ)Ljava/nio/ByteBuffer;
move-result-object v1
invoke-virtual {v1, v0}, Ljava/nio/ByteBuffer;->get([B)Ljava/nio/ByteBuffer;
.line 1883
iget-wide v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
int-to-long v4, p1
add-long/2addr v2, v4
iput-wide v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
.line 1889
:goto_1d
return-object v0
.line 1887
:cond_1e
if-gtz p1, :cond_2a
.line 1888
if-nez p1, :cond_25
.line 1889
sget-object v0, Lcom/google/protobuf/Internal;->EMPTY_BYTE_ARRAY:[B
goto :goto_1d
.line 1891
:cond_25
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->negativeSize()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.line 1895
:cond_2a
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->truncatedMessage()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.end method
.method public readRawLittleEndian32()I
.registers 7
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
const-wide/16 v4, 0x4
.line 1786
iget-wide v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
.line 1788
iget-wide v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->limit:J
sub-long/2addr v2, v0
cmp-long v2, v2, v4
if-gez v2, :cond_10
.line 1789
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->truncatedMessage()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.line 1792
:cond_10
add-long v2, v0, v4
iput-wide v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
.line 1793
invoke-static {v0, v1}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v2
and-int/lit16 v2, v2, 0xff
const-wide/16 v4, 0x1
add-long/2addr v4, v0
.line 1794
invoke-static {v4, v5}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v3
and-int/lit16 v3, v3, 0xff
shl-int/lit8 v3, v3, 0x8
or-int/2addr v2, v3
const-wide/16 v4, 0x2
add-long/2addr v4, v0
.line 1795
invoke-static {v4, v5}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v3
and-int/lit16 v3, v3, 0xff
shl-int/lit8 v3, v3, 0x10
or-int/2addr v2, v3
const-wide/16 v4, 0x3
add-long/2addr v0, v4
.line 1796
invoke-static {v0, v1}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result 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-wide/16 v4, 0x8
const-wide/16 v8, 0xff
.line 1801
iget-wide v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
.line 1803
iget-wide v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->limit:J
sub-long/2addr v2, v0
cmp-long v2, v2, v4
if-gez v2, :cond_12
.line 1804
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->truncatedMessage()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.line 1807
:cond_12
add-long v2, v0, v4
iput-wide v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
.line 1808
invoke-static {v0, v1}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v2
int-to-long v2, v2
and-long/2addr v2, v8
const-wide/16 v4, 0x1
add-long/2addr v4, v0
.line 1809
invoke-static {v4, v5}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v4
int-to-long v4, v4
and-long/2addr v4, v8
const/16 v6, 0x8
shl-long/2addr v4, v6
or-long/2addr v2, v4
const-wide/16 v4, 0x2
add-long/2addr v4, v0
.line 1810
invoke-static {v4, v5}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result 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
const-wide/16 v4, 0x3
add-long/2addr v4, v0
.line 1811
invoke-static {v4, v5}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result 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
const-wide/16 v4, 0x4
add-long/2addr v4, v0
.line 1812
invoke-static {v4, v5}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result 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
const-wide/16 v4, 0x5
add-long/2addr v4, v0
.line 1813
invoke-static {v4, v5}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result 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
const-wide/16 v4, 0x6
add-long/2addr v4, v0
.line 1814
invoke-static {v4, v5}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result 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
const-wide/16 v4, 0x7
add-long/2addr v0, v4
.line 1815
invoke-static {v0, v1}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result 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 11
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
const-wide/16 v8, 0x1
.line 1636
iget-wide v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
.line 1638
iget-wide v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->limit:J
cmp-long v2, v2, v0
if-nez v2, :cond_10
.line 1670
:cond_a
:goto_a
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->readRawVarint64SlowPath()J
move-result-wide v0
long-to-int v0, v0
:goto_f
return v0
.line 1643
:cond_10
add-long v4, v0, v8
invoke-static {v0, v1}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v0
if-ltz v0, :cond_1b
.line 1644
iput-wide v4, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
goto :goto_f
.line 1646
:cond_1b
iget-wide v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->limit:J
sub-long/2addr v2, v4
const-wide/16 v6, 0x9
cmp-long v1, v2, v6
if-ltz v1, :cond_a
.line 1648
add-long v2, v4, v8
invoke-static {v4, v5}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v1
shl-int/lit8 v1, v1, 0x7
xor-int/2addr v0, v1
if-gez v0, :cond_34
.line 1649
xor-int/lit8 v0, v0, -0x80
.line 1667
:cond_31
:goto_31
iput-wide v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
goto :goto_f
.line 1650
:cond_34
add-long v4, v2, v8
invoke-static {v2, v3}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v1
shl-int/lit8 v1, v1, 0xe
xor-int/2addr v0, v1
if-ltz v0, :cond_43
.line 1651
xor-int/lit16 v0, v0, 0x3f80
move-wide v2, v4
goto :goto_31
.line 1652
:cond_43
add-long v2, v4, v8
invoke-static {v4, v5}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v1
shl-int/lit8 v1, v1, 0x15
xor-int/2addr v0, v1
if-gez v0, :cond_53
.line 1653
const v1, -0x1fc080
xor-int/2addr v0, v1
goto :goto_31
.line 1655
:cond_53
add-long v4, v2, v8
invoke-static {v2, v3}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v1
.line 1656
shl-int/lit8 v2, v1, 0x1c
xor-int/2addr v0, v2
.line 1657
const v2, 0xfe03f80
xor-int/2addr v0, v2
.line 1658
if-gez v1, :cond_8b
add-long v2, v4, v8
.line 1659
invoke-static {v4, v5}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v1
if-gez v1, :cond_31
add-long v4, v2, v8
.line 1660
invoke-static {v2, v3}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v1
if-gez v1, :cond_8b
add-long v2, v4, v8
.line 1661
invoke-static {v4, v5}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v1
if-gez v1, :cond_31
add-long v4, v2, v8
.line 1662
invoke-static {v2, v3}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v1
if-gez v1, :cond_8b
add-long v2, v4, v8
.line 1663
invoke-static {v4, v5}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v1
if-gez v1, :cond_31
goto :goto_a
:cond_8b
move-wide v2, v4
goto :goto_31
.end method
.method public readRawVarint64()J
.registers 13
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
const-wide/16 v10, 0x0
const-wide/16 v8, 0x1
.line 1714
iget-wide v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
.line 1716
iget-wide v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->limit:J
cmp-long v2, v2, v0
if-nez v2, :cond_11
.line 1768
:cond_c
:goto_c
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->readRawVarint64SlowPath()J
move-result-wide v0
:goto_10
return-wide v0
.line 1722
:cond_11
add-long v4, v0, v8
invoke-static {v0, v1}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v0
if-ltz v0, :cond_1d
.line 1723
iput-wide v4, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
.line 1724
int-to-long v0, v0
goto :goto_10
.line 1725
:cond_1d
iget-wide v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->limit:J
sub-long/2addr v2, v4
const-wide/16 v6, 0x9
cmp-long v1, v2, v6
if-ltz v1, :cond_c
.line 1727
add-long v2, v4, v8
invoke-static {v4, v5}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v1
shl-int/lit8 v1, v1, 0x7
xor-int/2addr v0, v1
if-gez v0, :cond_37
.line 1728
xor-int/lit8 v0, v0, -0x80
int-to-long v0, v0
.line 1765
:cond_34
:goto_34
iput-wide v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
goto :goto_10
.line 1729
:cond_37
add-long v4, v2, v8
invoke-static {v2, v3}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v1
shl-int/lit8 v1, v1, 0xe
xor-int/2addr v0, v1
if-ltz v0, :cond_47
.line 1730
xor-int/lit16 v0, v0, 0x3f80
int-to-long v0, v0
move-wide v2, v4
goto :goto_34
.line 1731
:cond_47
add-long v2, v4, v8
invoke-static {v4, v5}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v1
shl-int/lit8 v1, v1, 0x15
xor-int/2addr v0, v1
if-gez v0, :cond_58
.line 1732
const v1, -0x1fc080
xor-int/2addr v0, v1
int-to-long v0, v0
goto :goto_34
.line 1733
:cond_58
int-to-long v0, v0
add-long v4, v2, v8
invoke-static {v2, v3}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v2
int-to-long v2, v2
const/16 v6, 0x1c
shl-long/2addr v2, v6
xor-long/2addr v0, v2
cmp-long v2, v0, v10
if-ltz v2, :cond_6e
.line 1734
const-wide/32 v2, 0xfe03f80
xor-long/2addr v0, v2
move-wide v2, v4
goto :goto_34
.line 1735
:cond_6e
add-long v2, v4, v8
invoke-static {v4, v5}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v4
int-to-long v4, v4
const/16 v6, 0x23
shl-long/2addr v4, v6
xor-long/2addr v0, v4
cmp-long v4, v0, v10
if-gez v4, :cond_84
.line 1736
const-wide v4, -0x7f01fc080L
xor-long/2addr v0, v4
goto :goto_34
.line 1737
:cond_84
add-long v4, v2, v8
invoke-static {v2, v3}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v2
int-to-long v2, v2
const/16 v6, 0x2a
shl-long/2addr v2, v6
xor-long/2addr v0, v2
cmp-long v2, v0, v10
if-ltz v2, :cond_9b
.line 1738
const-wide v2, 0x3f80fe03f80L
xor-long/2addr v0, v2
move-wide v2, v4
goto :goto_34
.line 1739
:cond_9b
add-long v2, v4, v8
invoke-static {v4, v5}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v4
int-to-long v4, v4
const/16 v6, 0x31
shl-long/2addr v4, v6
xor-long/2addr v0, v4
cmp-long v4, v0, v10
if-gez v4, :cond_b1
.line 1740
const-wide v4, -0x1fc07f01fc080L
xor-long/2addr v0, v4
goto :goto_34
.line 1749
:cond_b1
add-long v4, v2, v8
invoke-static {v2, v3}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v2
int-to-long v2, v2
const/16 v6, 0x38
shl-long/2addr v2, v6
xor-long/2addr v0, v2
.line 1750
const-wide v2, 0xfe03f80fe03f80L
xor-long/2addr v0, v2
.line 1759
cmp-long v2, v0, v10
if-gez v2, :cond_d3
.line 1760
add-long v2, v4, v8
invoke-static {v4, v5}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v4
int-to-long v4, v4
cmp-long v4, v4, v10
if-gez v4, :cond_34
goto/16 :goto_c
:cond_d3
move-wide v2, v4
goto/16 :goto_34
.end method
.method readRawVarint64SlowPath()J
.registers 7
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 1773
const-wide/16 v2, 0x0
.line 1774
const/4 v0, 0x0
:goto_3
const/16 v1, 0x40
if-ge v0, v1, :cond_18
.line 1775
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->readRawByte()B
move-result v1
.line 1776
and-int/lit8 v4, v1, 0x7f
int-to-long v4, v4
shl-long/2addr v4, v0
or-long/2addr v2, v4
.line 1777
and-int/lit16 v1, v1, 0x80
if-nez v1, :cond_15
.line 1778
return-wide v2
.line 1774
:cond_15
add-int/lit8 v0, v0, 0x7
goto :goto_3
.line 1781
: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 1611
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->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 1616
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->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 1621
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->readRawVarint32()I
move-result v0
invoke-static {v0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->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 1626
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->readRawVarint64()J
move-result-wide v0
invoke-static {v0, v1}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->decodeZigZag64(J)J
move-result-wide v0
return-wide v0
.end method
.method public readString()Ljava/lang/String;
.registers 9
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 1429
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->readRawVarint32()I
move-result v1
.line 1430
if-lez v1, :cond_24
invoke-direct {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->remaining()I
move-result v0
if-gt v1, v0, :cond_24
.line 1432
iget-wide v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
iget-wide v4, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
int-to-long v6, v1
add-long/2addr v4, v6
invoke-direct {p0, v2, v3, v4, v5}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->copyToArray(JJ)[B
move-result-object v2
.line 1433
new-instance v0, Ljava/lang/String;
sget-object v3, Lcom/google/protobuf/Internal;->UTF_8:Ljava/nio/charset/Charset;
invoke-direct {v0, v2, v3}, Ljava/lang/String;-><init>([BLjava/nio/charset/Charset;)V
.line 1434
iget-wide v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
int-to-long v4, v1
add-long/2addr v2, v4
iput-wide v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
.line 1439
:goto_23
return-object v0
.line 1438
:cond_24
if-nez v1, :cond_29
.line 1439
const-string v0, ""
goto :goto_23
.line 1441
:cond_29
if-gez v1, :cond_30
.line 1442
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->negativeSize()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.line 1444
:cond_30
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 9
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 1449
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->readRawVarint32()I
move-result v1
.line 1450
if-ltz v1, :cond_2f
invoke-direct {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->remaining()I
move-result v0
if-gt v1, v0, :cond_2f
.line 1452
iget-wide v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
iget-wide v4, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
int-to-long v6, v1
add-long/2addr v4, v6
invoke-direct {p0, v2, v3, v4, v5}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->copyToArray(JJ)[B
move-result-object v2
.line 1454
invoke-static {v2}, Lcom/google/protobuf/Utf8;->isValidUtf8([B)Z
move-result v0
if-nez v0, :cond_21
.line 1455
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->invalidUtf8()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.line 1458
:cond_21
new-instance v0, Ljava/lang/String;
sget-object v3, Lcom/google/protobuf/Internal;->UTF_8:Ljava/nio/charset/Charset;
invoke-direct {v0, v2, v3}, Ljava/lang/String;-><init>([BLjava/nio/charset/Charset;)V
.line 1459
iget-wide v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
int-to-long v4, v1
add-long/2addr v2, v4
iput-wide v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
.line 1464
:goto_2e
return-object v0
.line 1463
:cond_2f
if-nez v1, :cond_34
.line 1464
const-string v0, ""
goto :goto_2e
.line 1466
:cond_34
if-gtz v1, :cond_3b
.line 1467
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->negativeSize()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.line 1469
:cond_3b
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 1260
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->isAtEnd()Z
move-result v1
if-eqz v1, :cond_a
.line 1261
iput v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->lastTag:I
.line 1271
:goto_9
return v0
.line 1265
:cond_a
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->readRawVarint32()I
move-result v0
iput v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->lastTag:I
.line 1266
iget v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->lastTag:I
invoke-static {v0}, Lcom/google/protobuf/WireFormat;->getTagFieldNumber(I)I
move-result v0
if-nez v0, :cond_1d
.line 1269
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->invalidTag()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.line 1271
:cond_1d
iget v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->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 1601
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->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 1399
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->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 1508
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$UnsafeDirectNioDecoder;->readGroup(ILcom/google/protobuf/MessageLite$Builder;Lcom/google/protobuf/ExtensionRegistryLite;)V
.line 1509
return-void
.end method
.method public resetSizeCounter()V
.registers 3
.prologue
.line 1825
iget-wide v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
iput-wide v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->startPos:J
.line 1826
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 1288
invoke-static {p1}, Lcom/google/protobuf/WireFormat;->getTagWireType(I)I
move-result v1
packed-switch v1, :pswitch_data_36
.line 1309
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->invalidWireType()Lcom/google/protobuf/InvalidProtocolBufferException$InvalidWireTypeException;
move-result-object v0
throw v0
.line 1290
:pswitch_e
invoke-direct {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->skipRawVarint()V
.line 1307
:goto_11
return v0
.line 1293
:pswitch_12
const/16 v1, 0x8
invoke-virtual {p0, v1}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->skipRawBytes(I)V
goto :goto_11
.line 1296
:pswitch_18
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->readRawVarint32()I
move-result v1
invoke-virtual {p0, v1}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->skipRawBytes(I)V
goto :goto_11
.line 1299
:pswitch_20
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->skipMessage()V
.line 1301
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 1300
invoke-virtual {p0, v1}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->checkLastTagWas(I)V
goto :goto_11
.line 1304
:pswitch_2f
const/4 v0, 0x0
goto :goto_11
.line 1306
:pswitch_31
invoke-virtual {p0, v2}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->skipRawBytes(I)V
goto :goto_11
.line 1288
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 1315
invoke-static {p1}, Lcom/google/protobuf/WireFormat;->getTagWireType(I)I
move-result v1
packed-switch v1, :pswitch_data_52
.line 1360
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->invalidWireType()Lcom/google/protobuf/InvalidProtocolBufferException$InvalidWireTypeException;
move-result-object v0
throw v0
.line 1318
:pswitch_d
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->readInt64()J
move-result-wide v2
.line 1319
invoke-virtual {p2, p1}, Lcom/google/protobuf/CodedOutputStream;->writeRawVarint32(I)V
.line 1320
invoke-virtual {p2, v2, v3}, Lcom/google/protobuf/CodedOutputStream;->writeUInt64NoTag(J)V
.line 1357
:goto_17
return v0
.line 1325
:pswitch_18
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->readRawLittleEndian64()J
move-result-wide v2
.line 1326
invoke-virtual {p2, p1}, Lcom/google/protobuf/CodedOutputStream;->writeRawVarint32(I)V
.line 1327
invoke-virtual {p2, v2, v3}, Lcom/google/protobuf/CodedOutputStream;->writeFixed64NoTag(J)V
goto :goto_17
.line 1332
:pswitch_23
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->readBytes()Lcom/google/protobuf/ByteString;
move-result-object v1
.line 1333
invoke-virtual {p2, p1}, Lcom/google/protobuf/CodedOutputStream;->writeRawVarint32(I)V
.line 1334
invoke-virtual {p2, v1}, Lcom/google/protobuf/CodedOutputStream;->writeBytesNoTag(Lcom/google/protobuf/ByteString;)V
goto :goto_17
.line 1339
:pswitch_2e
invoke-virtual {p2, p1}, Lcom/google/protobuf/CodedOutputStream;->writeRawVarint32(I)V
.line 1340
invoke-virtual {p0, p2}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->skipMessage(Lcom/google/protobuf/CodedOutputStream;)V
.line 1343
invoke-static {p1}, Lcom/google/protobuf/WireFormat;->getTagFieldNumber(I)I
move-result v1
const/4 v2, 0x4
.line 1342
invoke-static {v1, v2}, Lcom/google/protobuf/WireFormat;->makeTag(II)I
move-result v1
.line 1344
invoke-virtual {p0, v1}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->checkLastTagWas(I)V
.line 1345
invoke-virtual {p2, v1}, Lcom/google/protobuf/CodedOutputStream;->writeRawVarint32(I)V
goto :goto_17
.line 1350
:pswitch_44
const/4 v0, 0x0
goto :goto_17
.line 1354
:pswitch_46
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->readRawLittleEndian32()I
move-result v1
.line 1355
invoke-virtual {p2, p1}, Lcom/google/protobuf/CodedOutputStream;->writeRawVarint32(I)V
.line 1356
invoke-virtual {p2, v1}, Lcom/google/protobuf/CodedOutputStream;->writeFixed32NoTag(I)V
goto :goto_17
.line 1315
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 1367
:cond_0
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->readTag()I
move-result v0
.line 1368
if-eqz v0, :cond_c
invoke-virtual {p0, v0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->skipField(I)Z
move-result v0
if-nez v0, :cond_0
.line 1369
: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 1377
:cond_0
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->readTag()I
move-result v0
.line 1378
if-eqz v0, :cond_c
invoke-virtual {p0, v0, p1}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->skipField(ILcom/google/protobuf/CodedOutputStream;)Z
move-result v0
if-nez v0, :cond_0
.line 1379
:cond_c
return-void
.end method
.method public skipRawBytes(I)V
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 1900
if-ltz p1, :cond_f
invoke-direct {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->remaining()I
move-result v0
if-gt p1, v0, :cond_f
.line 1902
iget-wide v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
int-to-long v2, p1
add-long/2addr v0, v2
iput-wide v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
.line 1903
return-void
.line 1906
:cond_f
if-gez p1, :cond_16
.line 1907
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->negativeSize()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.line 1909
:cond_16
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->truncatedMessage()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.end method