Files
rr3-apk/smali_classes3/com/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder.smali
Daniel Elliott f3960ee359 Add Discord APKTool decompilation (Smali source for modding)
- Imported from https://github.com/supermegamestre/Project-Real-Resurrection-3
- APKTool decompilation (Smali bytecode) for modding and rebuilding APK
- Supports both 32-bit (armeabi-v7a) and 64-bit (arm64-v8a) architectures
- Includes full Smali source, resources, and native libraries
- Ready to rebuild APK after modifications with apktool b command
- Added comprehensive README-apktool.md with modding guide

This branch complements the JADX branches:
- Use JADX (main/discord-community) to UNDERSTAND code (readable Java)
- Use APKTool (this branch) to MODIFY and REBUILD APK (editable Smali)

Total: 44,417 files, 538.51 MB Smali source code
2026-02-18 16:13:44 -08:00

2758 lines
60 KiB
Smali

.class public final Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;
.super Lcom/google/protobuf/CodedInputStream;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/protobuf/CodedInputStream;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
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
.locals 4
const/4 v0, 0x0
.line 1328
invoke-direct {p0, v0}, Lcom/google/protobuf/CodedInputStream;-><init>(Lcom/google/protobuf/CodedInputStream$1;)V
const v0, 0x7fffffff
iput v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->currentLimit:I
iput-object p1, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->buffer:Ljava/nio/ByteBuffer;
.line 1330
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 1331
invoke-virtual {p1}, Ljava/nio/Buffer;->limit()I
move-result v2
int-to-long v2, v2
add-long/2addr v2, v0
iput-wide v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->limit:J
.line 1332
invoke-virtual {p1}, Ljava/nio/Buffer;->position()I
move-result p1
int-to-long v2, p1
add-long/2addr v0, v2
iput-wide v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
iput-wide v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->startPos:J
iput-boolean p2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->immutable:Z
return-void
.end method
.method public synthetic constructor <init>(Ljava/nio/ByteBuffer;ZLcom/google/protobuf/CodedInputStream$1;)V
.locals 0
.line 1287
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
.locals 2
iget-wide v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->address:J
sub-long/2addr p1, v0
long-to-int p1, p1
return p1
.end method
.method public static isSupported()Z
.locals 1
.line 1325
invoke-static {}, Lcom/google/protobuf/UnsafeUtil;->hasUnsafeByteBufferOperations()Z
move-result v0
return v0
.end method
.method private recomputeBufferSizeAfterLimit()V
.locals 4
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
iget-wide v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->startPos:J
sub-long v2, v0, v2
long-to-int v2, v2
iget v3, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->currentLimit:I
if-le v2, v3, :cond_0
sub-int/2addr v2, v3
iput 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
goto :goto_0
:cond_0
const/4 v0, 0x0
iput v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->bufferSizeAfterLimit:I
:goto_0
return-void
.end method
.method private remaining()I
.locals 4
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
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1755
invoke-direct {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->remaining()I
move-result v0
const/16 v1, 0xa
if-lt v0, v1, :cond_0
.line 1756
invoke-direct {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->skipRawVarintFastPath()V
goto :goto_0
.line 1758
:cond_0
invoke-direct {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->skipRawVarintSlowPath()V
:goto_0
return-void
.end method
.method private skipRawVarintFastPath()V
.locals 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
const/4 v0, 0x0
:goto_0
const/16 v1, 0xa
if-ge v0, v1, :cond_1
iget-wide v1, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
const-wide/16 v3, 0x1
add-long/2addr v3, v1
iput-wide v3, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
.line 1764
invoke-static {v1, v2}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v1
if-ltz v1, :cond_0
return-void
:cond_0
add-int/lit8 v0, v0, 0x1
goto :goto_0
.line 1768
:cond_1
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->malformedVarint()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.end method
.method private skipRawVarintSlowPath()V
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
const/4 v0, 0x0
:goto_0
const/16 v1, 0xa
if-ge v0, v1, :cond_1
.line 1773
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->readRawByte()B
move-result v1
if-ltz v1, :cond_0
return-void
:cond_0
add-int/lit8 v0, v0, 0x1
goto :goto_0
.line 1777
:cond_1
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;
.locals 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
iget-object v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->buffer:Ljava/nio/ByteBuffer;
.line 2014
invoke-virtual {v0}, Ljava/nio/Buffer;->position()I
move-result v0
iget-object v1, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->buffer:Ljava/nio/ByteBuffer;
.line 2015
invoke-virtual {v1}, Ljava/nio/Buffer;->limit()I
move-result v1
iget-object v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->buffer:Ljava/nio/ByteBuffer;
.line 2020
:try_start_0
invoke-direct {p0, p1, p2}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->bufferPos(J)I
move-result p1
invoke-virtual {v2, p1}, Ljava/nio/Buffer;->position(I)Ljava/nio/Buffer;
.line 2021
invoke-direct {p0, p3, p4}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->bufferPos(J)I
move-result p1
invoke-virtual {v2, p1}, Ljava/nio/Buffer;->limit(I)Ljava/nio/Buffer;
iget-object p1, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->buffer:Ljava/nio/ByteBuffer;
.line 2022
invoke-virtual {p1}, Ljava/nio/ByteBuffer;->slice()Ljava/nio/ByteBuffer;
move-result-object p1
:try_end_0
.catch Ljava/lang/IllegalArgumentException; {:try_start_0 .. :try_end_0} :catch_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 2028
invoke-virtual {v2, v0}, Ljava/nio/Buffer;->position(I)Ljava/nio/Buffer;
.line 2029
invoke-virtual {v2, v1}, Ljava/nio/Buffer;->limit(I)Ljava/nio/Buffer;
return-object p1
:catchall_0
move-exception p1
goto :goto_0
:catch_0
move-exception p1
.line 2024
:try_start_1
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->truncatedMessage()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object p2
.line 2025
invoke-virtual {p2, p1}, Ljava/lang/Throwable;->initCause(Ljava/lang/Throwable;)Ljava/lang/Throwable;
.line 2026
throw p2
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
.line 2028
:goto_0
invoke-virtual {v2, v0}, Ljava/nio/Buffer;->position(I)Ljava/nio/Buffer;
.line 2029
invoke-virtual {v2, v1}, Ljava/nio/Buffer;->limit(I)Ljava/nio/Buffer;
.line 2030
throw p1
.end method
# virtual methods
.method public checkLastTagWas(I)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/protobuf/InvalidProtocolBufferException;
}
.end annotation
iget v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->lastTag:I
if-ne v0, p1, :cond_0
return-void
.line 1356
:cond_0
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->invalidEndTag()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object p1
throw p1
.end method
.method public enableAliasing(Z)V
.locals 0
iput-boolean p1, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->enableAliasing:Z
return-void
.end method
.method public getBytesUntilLimit()I
.locals 2
iget v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->currentLimit:I
const v1, 0x7fffffff
if-ne v0, v1, :cond_0
const/4 v0, -0x1
return v0
.line 1938
:cond_0
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->getTotalBytesRead()I
move-result v1
sub-int/2addr v0, v1
return v0
.end method
.method public getLastTag()I
.locals 1
iget v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->lastTag:I
return v0
.end method
.method public getTotalBytesRead()I
.locals 4
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
.locals 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
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_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method
.method public popLimit(I)V
.locals 0
iput p1, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->currentLimit:I
.line 1929
invoke-direct {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->recomputeBufferSizeAfterLimit()V
return-void
.end method
.method public pushLimit(I)I
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/protobuf/InvalidProtocolBufferException;
}
.end annotation
if-ltz p1, :cond_1
.line 1914
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->getTotalBytesRead()I
move-result v0
add-int/2addr p1, v0
iget v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->currentLimit:I
if-gt p1, v0, :cond_0
iput p1, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->currentLimit:I
.line 1921
invoke-direct {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->recomputeBufferSizeAfterLimit()V
return v0
.line 1917
:cond_0
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->truncatedMessage()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object p1
throw p1
.line 1912
:cond_1
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->negativeSize()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object p1
throw p1
.end method
.method public readBool()Z
.locals 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1503
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_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method
.method public readByteArray()[B
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1647
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;
.locals 12
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1652
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->readRawVarint32()I
move-result v0
if-lez v0, :cond_1
.line 1653
invoke-direct {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->remaining()I
move-result v1
if-gt v0, v1, :cond_1
iget-boolean v1, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->immutable:Z
if-nez v1, :cond_0
iget-boolean v1, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->enableAliasing:Z
if-eqz v1, :cond_0
iget-wide v1, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
int-to-long v3, v0
add-long v5, v1, v3
.line 1658
invoke-direct {p0, v1, v2, v5, v6}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->slice(JJ)Ljava/nio/ByteBuffer;
move-result-object v0
iget-wide v1, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
add-long/2addr v1, v3
iput-wide v1, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
return-object v0
.line 1663
:cond_0
new-array v1, v0, [B
iget-wide v3, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
const-wide/16 v6, 0x0
int-to-long v10, v0
move-object v5, v1
move-wide v8, v10
.line 1664
invoke-static/range {v3 .. v9}, Lcom/google/protobuf/UnsafeUtil;->copyMemory(J[BJJ)V
iget-wide v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
add-long/2addr v2, v10
iput-wide v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
.line 1666
invoke-static {v1}, Ljava/nio/ByteBuffer;->wrap([B)Ljava/nio/ByteBuffer;
move-result-object v0
return-object v0
:cond_1
if-nez v0, :cond_2
.line 1672
sget-object v0, Lcom/google/protobuf/Internal;->EMPTY_BYTE_BUFFER:Ljava/nio/ByteBuffer;
return-object v0
:cond_2
if-gez v0, :cond_3
.line 1675
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->negativeSize()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.line 1677
:cond_3
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;
.locals 11
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1621
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->readRawVarint32()I
move-result v0
if-lez v0, :cond_1
.line 1622
invoke-direct {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->remaining()I
move-result v1
if-gt v0, v1, :cond_1
iget-boolean v1, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->immutable:Z
if-eqz v1, :cond_0
iget-boolean v1, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->enableAliasing:Z
if-eqz v1, :cond_0
iget-wide v1, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
int-to-long v3, v0
add-long v5, v1, v3
.line 1624
invoke-direct {p0, v1, v2, v5, v6}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->slice(JJ)Ljava/nio/ByteBuffer;
move-result-object v0
iget-wide v1, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
add-long/2addr v1, v3
iput-wide v1, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
.line 1626
invoke-static {v0}, Lcom/google/protobuf/ByteString;->wrap(Ljava/nio/ByteBuffer;)Lcom/google/protobuf/ByteString;
move-result-object v0
return-object v0
.line 1629
:cond_0
new-array v8, v0, [B
iget-wide v1, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
const-wide/16 v4, 0x0
int-to-long v9, v0
move-object v3, v8
move-wide v6, v9
.line 1630
invoke-static/range {v1 .. v7}, Lcom/google/protobuf/UnsafeUtil;->copyMemory(J[BJJ)V
iget-wide v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
add-long/2addr v0, v9
iput-wide v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
.line 1632
invoke-static {v8}, Lcom/google/protobuf/ByteString;->wrap([B)Lcom/google/protobuf/ByteString;
move-result-object v0
return-object v0
:cond_1
if-nez v0, :cond_2
.line 1637
sget-object v0, Lcom/google/protobuf/ByteString;->EMPTY:Lcom/google/protobuf/ByteString;
return-object v0
:cond_2
if-gez v0, :cond_3
.line 1640
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->negativeSize()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.line 1642
:cond_3
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->truncatedMessage()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.end method
.method public readDouble()D
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1468
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
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1687
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->readRawVarint32()I
move-result v0
return v0
.end method
.method public readFixed32()I
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1498
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->readRawLittleEndian32()I
move-result v0
return v0
.end method
.method public readFixed64()J
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1493
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->readRawLittleEndian64()J
move-result-wide v0
return-wide v0
.end method
.method public readFloat()F
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1473
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;
.locals 1
.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
.line 1569
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream;->checkRecursionLimit()V
iget v0, p0, Lcom/google/protobuf/CodedInputStream;->recursionDepth:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Lcom/google/protobuf/CodedInputStream;->recursionDepth:I
.line 1571
invoke-interface {p2, p0, p3}, Lcom/google/protobuf/Parser;->parsePartialFrom(Lcom/google/protobuf/CodedInputStream;Lcom/google/protobuf/ExtensionRegistryLite;)Ljava/lang/Object;
move-result-object p2
check-cast p2, Lcom/google/protobuf/MessageLite;
const/4 p3, 0x4
.line 1572
invoke-static {p1, p3}, Lcom/google/protobuf/WireFormat;->makeTag(II)I
move-result p1
invoke-virtual {p0, p1}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->checkLastTagWas(I)V
iget p1, p0, Lcom/google/protobuf/CodedInputStream;->recursionDepth:I
add-int/lit8 p1, p1, -0x1
iput p1, p0, Lcom/google/protobuf/CodedInputStream;->recursionDepth:I
return-object p2
.end method
.method public readGroup(ILcom/google/protobuf/MessageLite$Builder;Lcom/google/protobuf/ExtensionRegistryLite;)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1555
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream;->checkRecursionLimit()V
iget v0, p0, Lcom/google/protobuf/CodedInputStream;->recursionDepth:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Lcom/google/protobuf/CodedInputStream;->recursionDepth:I
.line 1557
invoke-interface {p2, p0, p3}, Lcom/google/protobuf/MessageLite$Builder;->mergeFrom(Lcom/google/protobuf/CodedInputStream;Lcom/google/protobuf/ExtensionRegistryLite;)Lcom/google/protobuf/MessageLite$Builder;
const/4 p2, 0x4
.line 1558
invoke-static {p1, p2}, Lcom/google/protobuf/WireFormat;->makeTag(II)I
move-result p1
invoke-virtual {p0, p1}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->checkLastTagWas(I)V
iget p1, p0, Lcom/google/protobuf/CodedInputStream;->recursionDepth:I
add-int/lit8 p1, p1, -0x1
iput p1, p0, Lcom/google/protobuf/CodedInputStream;->recursionDepth:I
return-void
.end method
.method public readInt32()I
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1488
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->readRawVarint32()I
move-result v0
return v0
.end method
.method public readInt64()J
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1483
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;
.locals 2
.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
.line 1605
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->readRawVarint32()I
move-result v0
.line 1606
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream;->checkRecursionLimit()V
.line 1607
invoke-virtual {p0, v0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pushLimit(I)I
move-result v0
iget v1, p0, Lcom/google/protobuf/CodedInputStream;->recursionDepth:I
add-int/lit8 v1, v1, 0x1
iput v1, p0, Lcom/google/protobuf/CodedInputStream;->recursionDepth:I
.line 1609
invoke-interface {p1, p0, p2}, Lcom/google/protobuf/Parser;->parsePartialFrom(Lcom/google/protobuf/CodedInputStream;Lcom/google/protobuf/ExtensionRegistryLite;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lcom/google/protobuf/MessageLite;
const/4 p2, 0x0
.line 1610
invoke-virtual {p0, p2}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->checkLastTagWas(I)V
iget p2, p0, Lcom/google/protobuf/CodedInputStream;->recursionDepth:I
add-int/lit8 p2, p2, -0x1
iput p2, p0, Lcom/google/protobuf/CodedInputStream;->recursionDepth:I
.line 1612
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->getBytesUntilLimit()I
move-result p2
if-nez p2, :cond_0
.line 1615
invoke-virtual {p0, v0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->popLimit(I)V
return-object p1
.line 1613
:cond_0
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->truncatedMessage()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object p1
throw p1
.end method
.method public readMessage(Lcom/google/protobuf/MessageLite$Builder;Lcom/google/protobuf/ExtensionRegistryLite;)V
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1588
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->readRawVarint32()I
move-result v0
.line 1589
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream;->checkRecursionLimit()V
.line 1590
invoke-virtual {p0, v0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pushLimit(I)I
move-result v0
iget v1, p0, Lcom/google/protobuf/CodedInputStream;->recursionDepth:I
add-int/lit8 v1, v1, 0x1
iput v1, p0, Lcom/google/protobuf/CodedInputStream;->recursionDepth:I
.line 1592
invoke-interface {p1, p0, p2}, Lcom/google/protobuf/MessageLite$Builder;->mergeFrom(Lcom/google/protobuf/CodedInputStream;Lcom/google/protobuf/ExtensionRegistryLite;)Lcom/google/protobuf/MessageLite$Builder;
const/4 p1, 0x0
.line 1593
invoke-virtual {p0, p1}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->checkLastTagWas(I)V
iget p1, p0, Lcom/google/protobuf/CodedInputStream;->recursionDepth:I
add-int/lit8 p1, p1, -0x1
iput p1, p0, Lcom/google/protobuf/CodedInputStream;->recursionDepth:I
.line 1595
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->getBytesUntilLimit()I
move-result p1
if-nez p1, :cond_0
.line 1598
invoke-virtual {p0, v0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->popLimit(I)V
return-void
.line 1596
:cond_0
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->truncatedMessage()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object p1
throw p1
.end method
.method public readRawByte()B
.locals 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
iget-wide v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
iget-wide v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->limit:J
cmp-long v2, v0, v2
if-eqz v2, :cond_0
const-wide/16 v2, 0x1
add-long/2addr v2, v0
iput-wide v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
.line 1956
invoke-static {v0, v1}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v0
return v0
.line 1954
:cond_0
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->truncatedMessage()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.end method
.method public readRawBytes(I)[B
.locals 7
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
if-ltz p1, :cond_0
.line 1961
invoke-direct {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->remaining()I
move-result v0
if-gt p1, v0, :cond_0
.line 1962
new-array v0, p1, [B
iget-wide v1, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
int-to-long v3, p1
add-long v5, v1, v3
.line 1963
invoke-direct {p0, v1, v2, v5, v6}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->slice(JJ)Ljava/nio/ByteBuffer;
move-result-object p1
invoke-virtual {p1, v0}, Ljava/nio/ByteBuffer;->get([B)Ljava/nio/ByteBuffer;
iget-wide v1, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
add-long/2addr v1, v3
iput-wide v1, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
return-object v0
:cond_0
if-gtz p1, :cond_2
if-nez p1, :cond_1
.line 1970
sget-object p1, Lcom/google/protobuf/Internal;->EMPTY_BYTE_ARRAY:[B
return-object p1
.line 1972
:cond_1
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->negativeSize()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object p1
throw p1
.line 1976
:cond_2
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->truncatedMessage()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object p1
throw p1
.end method
.method public readRawLittleEndian32()I
.locals 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
iget-wide v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
iget-wide v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->limit:J
sub-long/2addr v2, v0
const-wide/16 v4, 0x4
cmp-long v2, v2, v4
if-ltz v2, :cond_0
add-long/2addr v4, v0
iput-wide v4, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
.line 1874
invoke-static {v0, v1}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v2
and-int/lit16 v2, v2, 0xff
const-wide/16 v3, 0x1
add-long/2addr v3, v0
.line 1875
invoke-static {v3, v4}, 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 v3, 0x2
add-long/2addr v3, v0
.line 1876
invoke-static {v3, v4}, 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 v3, 0x3
add-long/2addr v0, v3
.line 1877
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
.line 1870
:cond_0
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->truncatedMessage()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.end method
.method public readRawLittleEndian64()J
.locals 9
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
iget-wide v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
iget-wide v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->limit:J
sub-long/2addr v2, v0
const-wide/16 v4, 0x8
cmp-long v2, v2, v4
if-ltz v2, :cond_0
add-long/2addr v4, v0
iput-wide v4, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
.line 1889
invoke-static {v0, v1}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v2
int-to-long v2, v2
const-wide/16 v4, 0xff
and-long/2addr v2, v4
const-wide/16 v6, 0x1
add-long/2addr v6, v0
.line 1890
invoke-static {v6, v7}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v6
int-to-long v6, v6
and-long/2addr v6, v4
const/16 v8, 0x8
shl-long/2addr v6, v8
or-long/2addr v2, v6
const-wide/16 v6, 0x2
add-long/2addr v6, v0
.line 1891
invoke-static {v6, v7}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v6
int-to-long v6, v6
and-long/2addr v6, v4
const/16 v8, 0x10
shl-long/2addr v6, v8
or-long/2addr v2, v6
const-wide/16 v6, 0x3
add-long/2addr v6, v0
.line 1892
invoke-static {v6, v7}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v6
int-to-long v6, v6
and-long/2addr v6, v4
const/16 v8, 0x18
shl-long/2addr v6, v8
or-long/2addr v2, v6
const-wide/16 v6, 0x4
add-long/2addr v6, v0
.line 1893
invoke-static {v6, v7}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v6
int-to-long v6, v6
and-long/2addr v6, v4
const/16 v8, 0x20
shl-long/2addr v6, v8
or-long/2addr v2, v6
const-wide/16 v6, 0x5
add-long/2addr v6, v0
.line 1894
invoke-static {v6, v7}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v6
int-to-long v6, v6
and-long/2addr v6, v4
const/16 v8, 0x28
shl-long/2addr v6, v8
or-long/2addr v2, v6
const-wide/16 v6, 0x6
add-long/2addr v6, v0
.line 1895
invoke-static {v6, v7}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v6
int-to-long v6, v6
and-long/2addr v6, v4
const/16 v8, 0x30
shl-long/2addr v6, v8
or-long/2addr v2, v6
const-wide/16 v6, 0x7
add-long/2addr v0, v6
.line 1896
invoke-static {v0, v1}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v0
int-to-long v0, v0
and-long/2addr v0, v4
const/16 v4, 0x38
shl-long/2addr v0, v4
or-long/2addr v0, v2
return-wide v0
.line 1885
:cond_0
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->truncatedMessage()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.end method
.method public readRawVarint32()I
.locals 9
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
iget-wide v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
iget-wide v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->limit:J
cmp-long v2, v2, v0
if-nez v2, :cond_0
goto/16 :goto_1
:cond_0
const-wide/16 v2, 0x1
add-long/2addr v2, v0
.line 1724
invoke-static {v0, v1}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v4
if-ltz v4, :cond_1
iput-wide v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
return v4
:cond_1
iget-wide v5, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->limit:J
sub-long/2addr v5, v2
const-wide/16 v7, 0x9
cmp-long v5, v5, v7
if-gez v5, :cond_2
goto/16 :goto_1
:cond_2
const-wide/16 v5, 0x2
add-long/2addr v5, v0
.line 1729
invoke-static {v2, v3}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v2
shl-int/lit8 v2, v2, 0x7
xor-int/2addr v2, v4
if-gez v2, :cond_3
xor-int/lit8 v0, v2, -0x80
goto/16 :goto_2
:cond_3
const-wide/16 v3, 0x3
add-long/2addr v3, v0
.line 1731
invoke-static {v5, v6}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v5
shl-int/lit8 v5, v5, 0xe
xor-int/2addr v2, v5
if-ltz v2, :cond_4
xor-int/lit16 v0, v2, 0x3f80
:goto_0
move-wide v5, v3
goto :goto_2
:cond_4
const-wide/16 v5, 0x4
add-long/2addr v5, v0
.line 1733
invoke-static {v3, v4}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v3
shl-int/lit8 v3, v3, 0x15
xor-int/2addr v2, v3
if-gez v2, :cond_5
const v0, -0x1fc080
xor-int/2addr v0, v2
goto :goto_2
:cond_5
const-wide/16 v3, 0x5
add-long/2addr v3, v0
.line 1736
invoke-static {v5, v6}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v5
shl-int/lit8 v6, v5, 0x1c
xor-int/2addr v2, v6
const v6, 0xfe03f80
xor-int/2addr v2, v6
if-gez v5, :cond_7
const-wide/16 v5, 0x6
add-long/2addr v5, v0
.line 1740
invoke-static {v3, v4}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v3
if-gez v3, :cond_6
const-wide/16 v3, 0x7
add-long/2addr v3, v0
.line 1741
invoke-static {v5, v6}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v5
if-gez v5, :cond_7
const-wide/16 v5, 0x8
add-long/2addr v5, v0
.line 1742
invoke-static {v3, v4}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v3
if-gez v3, :cond_6
add-long v3, v0, v7
.line 1743
invoke-static {v5, v6}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v5
if-gez v5, :cond_7
const-wide/16 v5, 0xa
add-long/2addr v5, v0
.line 1744
invoke-static {v3, v4}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v0
if-gez v0, :cond_6
.line 1751
:goto_1
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->readRawVarint64SlowPath()J
move-result-wide v0
long-to-int v0, v0
return v0
:cond_6
move v0, v2
goto :goto_2
:cond_7
move v0, v2
goto :goto_0
:goto_2
iput-wide v5, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
return v0
.end method
.method public readRawVarint64()J
.locals 13
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
iget-wide v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
iget-wide v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->limit:J
cmp-long v2, v2, v0
if-nez v2, :cond_0
goto/16 :goto_3
:cond_0
const-wide/16 v2, 0x1
add-long/2addr v2, v0
.line 1803
invoke-static {v0, v1}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v4
if-ltz v4, :cond_1
iput-wide v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
int-to-long v0, v4
return-wide v0
:cond_1
iget-wide v5, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->limit:J
sub-long/2addr v5, v2
const-wide/16 v7, 0x9
cmp-long v5, v5, v7
if-gez v5, :cond_2
goto/16 :goto_3
:cond_2
const-wide/16 v5, 0x2
add-long/2addr v5, v0
.line 1808
invoke-static {v2, v3}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v2
shl-int/lit8 v2, v2, 0x7
xor-int/2addr v2, v4
if-gez v2, :cond_3
xor-int/lit8 v0, v2, -0x80
:goto_0
int-to-long v0, v0
goto/16 :goto_4
:cond_3
const-wide/16 v3, 0x3
add-long/2addr v3, v0
.line 1810
invoke-static {v5, v6}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v5
shl-int/lit8 v5, v5, 0xe
xor-int/2addr v2, v5
if-ltz v2, :cond_4
xor-int/lit16 v0, v2, 0x3f80
int-to-long v0, v0
move-wide v5, v3
goto/16 :goto_4
:cond_4
const-wide/16 v5, 0x4
add-long/2addr v5, v0
.line 1812
invoke-static {v3, v4}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v3
shl-int/lit8 v3, v3, 0x15
xor-int/2addr v2, v3
if-gez v2, :cond_5
const v0, -0x1fc080
xor-int/2addr v0, v2
goto :goto_0
:cond_5
int-to-long v2, v2
const-wide/16 v9, 0x5
add-long/2addr v9, v0
.line 1814
invoke-static {v5, v6}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v4
int-to-long v4, v4
const/16 v6, 0x1c
shl-long/2addr v4, v6
xor-long/2addr v2, v4
const-wide/16 v4, 0x0
cmp-long v6, v2, v4
if-ltz v6, :cond_6
const-wide/32 v0, 0xfe03f80
:goto_1
xor-long/2addr v0, v2
move-wide v5, v9
goto/16 :goto_4
:cond_6
const-wide/16 v11, 0x6
add-long/2addr v11, v0
.line 1816
invoke-static {v9, v10}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v6
int-to-long v9, v6
const/16 v6, 0x23
shl-long/2addr v9, v6
xor-long/2addr v2, v9
cmp-long v6, v2, v4
if-gez v6, :cond_7
const-wide v0, -0x7f01fc080L
:goto_2
xor-long/2addr v0, v2
move-wide v5, v11
goto :goto_4
:cond_7
const-wide/16 v9, 0x7
add-long/2addr v9, v0
.line 1818
invoke-static {v11, v12}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v6
int-to-long v11, v6
const/16 v6, 0x2a
shl-long/2addr v11, v6
xor-long/2addr v2, v11
cmp-long v6, v2, v4
if-ltz v6, :cond_8
const-wide v0, 0x3f80fe03f80L
goto :goto_1
:cond_8
const-wide/16 v11, 0x8
add-long/2addr v11, v0
.line 1820
invoke-static {v9, v10}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v6
int-to-long v9, v6
const/16 v6, 0x31
shl-long/2addr v9, v6
xor-long/2addr v2, v9
cmp-long v6, v2, v4
if-gez v6, :cond_9
const-wide v0, -0x1fc07f01fc080L
goto :goto_2
:cond_9
add-long v6, v0, v7
.line 1830
invoke-static {v11, v12}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v8
int-to-long v8, v8
const/16 v10, 0x38
shl-long/2addr v8, v10
xor-long/2addr v2, v8
const-wide v8, 0xfe03f80fe03f80L
xor-long/2addr v2, v8
cmp-long v8, v2, v4
if-gez v8, :cond_b
const-wide/16 v8, 0xa
add-long/2addr v0, v8
.line 1841
invoke-static {v6, v7}, Lcom/google/protobuf/UnsafeUtil;->getByte(J)B
move-result v6
int-to-long v6, v6
cmp-long v4, v6, v4
if-gez v4, :cond_a
.line 1849
:goto_3
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->readRawVarint64SlowPath()J
move-result-wide v0
return-wide v0
:cond_a
move-wide v5, v0
move-wide v0, v2
goto :goto_4
:cond_b
move-wide v0, v2
move-wide v5, v6
:goto_4
iput-wide v5, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
return-wide v0
.end method
.method public readRawVarint64SlowPath()J
.locals 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
const-wide/16 v0, 0x0
const/4 v2, 0x0
:goto_0
const/16 v3, 0x40
if-ge v2, v3, :cond_1
.line 1856
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->readRawByte()B
move-result v3
and-int/lit8 v4, v3, 0x7f
int-to-long v4, v4
shl-long/2addr v4, v2
or-long/2addr v0, v4
and-int/lit16 v3, v3, 0x80
if-nez v3, :cond_0
return-wide v0
:cond_0
add-int/lit8 v2, v2, 0x7
goto :goto_0
.line 1862
:cond_1
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->malformedVarint()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.end method
.method public readSFixed32()I
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1692
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->readRawLittleEndian32()I
move-result v0
return v0
.end method
.method public readSFixed64()J
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1697
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->readRawLittleEndian64()J
move-result-wide v0
return-wide v0
.end method
.method public readSInt32()I
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1702
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->readRawVarint32()I
move-result v0
invoke-static {v0}, Lcom/google/protobuf/CodedInputStream;->decodeZigZag32(I)I
move-result v0
return v0
.end method
.method public readSInt64()J
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1707
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->readRawVarint64()J
move-result-wide v0
invoke-static {v0, v1}, Lcom/google/protobuf/CodedInputStream;->decodeZigZag64(J)J
move-result-wide v0
return-wide v0
.end method
.method public readString()Ljava/lang/String;
.locals 11
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1508
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->readRawVarint32()I
move-result v0
if-lez v0, :cond_0
.line 1509
invoke-direct {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->remaining()I
move-result v1
if-gt v0, v1, :cond_0
.line 1514
new-array v1, v0, [B
iget-wide v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
const-wide/16 v5, 0x0
int-to-long v9, v0
move-object v4, v1
move-wide v7, v9
.line 1515
invoke-static/range {v2 .. v8}, Lcom/google/protobuf/UnsafeUtil;->copyMemory(J[BJJ)V
.line 1516
new-instance v0, Ljava/lang/String;
sget-object v2, Lcom/google/protobuf/Internal;->UTF_8:Ljava/nio/charset/Charset;
invoke-direct {v0, v1, v2}, Ljava/lang/String;-><init>([BLjava/nio/charset/Charset;)V
iget-wide v1, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
add-long/2addr v1, v9
iput-wide v1, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
return-object v0
:cond_0
if-nez v0, :cond_1
const-string v0, ""
return-object v0
:cond_1
if-gez v0, :cond_2
.line 1525
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->negativeSize()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.line 1527
:cond_2
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;
.locals 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1532
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->readRawVarint32()I
move-result v0
if-lez v0, :cond_0
.line 1533
invoke-direct {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->remaining()I
move-result v1
if-gt v0, v1, :cond_0
iget-wide v1, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
.line 1534
invoke-direct {p0, v1, v2}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->bufferPos(J)I
move-result v1
iget-object v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->buffer:Ljava/nio/ByteBuffer;
.line 1535
invoke-static {v2, v1, v0}, Lcom/google/protobuf/Utf8;->decodeUtf8(Ljava/nio/ByteBuffer;II)Ljava/lang/String;
move-result-object v1
iget-wide v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
int-to-long v4, v0
add-long/2addr v2, v4
iput-wide v2, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
return-object v1
:cond_0
if-nez v0, :cond_1
const-string v0, ""
return-object v0
:cond_1
if-gtz v0, :cond_2
.line 1544
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->negativeSize()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.line 1546
:cond_2
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->truncatedMessage()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.end method
.method public readTag()I
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1339
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->isAtEnd()Z
move-result v0
if-eqz v0, :cond_0
const/4 v0, 0x0
iput v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->lastTag:I
return v0
.line 1344
:cond_0
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->readRawVarint32()I
move-result v0
iput v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->lastTag:I
.line 1345
invoke-static {v0}, Lcom/google/protobuf/WireFormat;->getTagFieldNumber(I)I
move-result v0
if-eqz v0, :cond_1
iget v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->lastTag:I
return v0
.line 1348
:cond_1
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->invalidTag()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object v0
throw v0
.end method
.method public readUInt32()I
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1682
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->readRawVarint32()I
move-result v0
return v0
.end method
.method public readUInt64()J
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1478
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
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 1581
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
return-void
.end method
.method public resetSizeCounter()V
.locals 2
iget-wide v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->pos:J
iput-wide v0, p0, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->startPos:J
return-void
.end method
.method public skipField(I)Z
.locals 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1367
invoke-static {p1}, Lcom/google/protobuf/WireFormat;->getTagWireType(I)I
move-result v0
const/4 v1, 0x1
if-eqz v0, :cond_5
if-eq v0, v1, :cond_4
const/4 v2, 0x2
if-eq v0, v2, :cond_3
const/4 v2, 0x3
const/4 v3, 0x4
if-eq v0, v2, :cond_2
if-eq v0, v3, :cond_1
const/4 p1, 0x5
if-ne v0, p1, :cond_0
.line 1385
invoke-virtual {p0, v3}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->skipRawBytes(I)V
return v1
.line 1388
:cond_0
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->invalidWireType()Lcom/google/protobuf/InvalidProtocolBufferException$InvalidWireTypeException;
move-result-object p1
throw p1
:cond_1
const/4 p1, 0x0
return p1
.line 1378
:cond_2
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->skipMessage()V
.line 1380
invoke-static {p1}, Lcom/google/protobuf/WireFormat;->getTagFieldNumber(I)I
move-result p1
invoke-static {p1, v3}, Lcom/google/protobuf/WireFormat;->makeTag(II)I
move-result p1
.line 1379
invoke-virtual {p0, p1}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->checkLastTagWas(I)V
return v1
.line 1375
:cond_3
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->readRawVarint32()I
move-result p1
invoke-virtual {p0, p1}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->skipRawBytes(I)V
return v1
:cond_4
const/16 p1, 0x8
.line 1372
invoke-virtual {p0, p1}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->skipRawBytes(I)V
return v1
.line 1369
:cond_5
invoke-direct {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->skipRawVarint()V
return v1
.end method
.method public skipField(ILcom/google/protobuf/CodedOutputStream;)Z
.locals 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1394
invoke-static {p1}, Lcom/google/protobuf/WireFormat;->getTagWireType(I)I
move-result v0
const/4 v1, 0x1
if-eqz v0, :cond_5
if-eq v0, v1, :cond_4
const/4 v2, 0x2
if-eq v0, v2, :cond_3
const/4 v2, 0x3
const/4 v3, 0x4
if-eq v0, v2, :cond_2
if-eq v0, v3, :cond_1
const/4 v2, 0x5
if-ne v0, v2, :cond_0
.line 1433
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->readRawLittleEndian32()I
move-result v0
.line 1434
invoke-virtual {p2, p1}, Lcom/google/protobuf/CodedOutputStream;->writeUInt32NoTag(I)V
.line 1435
invoke-virtual {p2, v0}, Lcom/google/protobuf/CodedOutputStream;->writeFixed32NoTag(I)V
return v1
.line 1439
:cond_0
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->invalidWireType()Lcom/google/protobuf/InvalidProtocolBufferException$InvalidWireTypeException;
move-result-object p1
throw p1
:cond_1
const/4 p1, 0x0
return p1
.line 1418
:cond_2
invoke-virtual {p2, p1}, Lcom/google/protobuf/CodedOutputStream;->writeUInt32NoTag(I)V
.line 1419
invoke-virtual {p0, p2}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->skipMessage(Lcom/google/protobuf/CodedOutputStream;)V
.line 1422
invoke-static {p1}, Lcom/google/protobuf/WireFormat;->getTagFieldNumber(I)I
move-result p1
.line 1421
invoke-static {p1, v3}, Lcom/google/protobuf/WireFormat;->makeTag(II)I
move-result p1
.line 1423
invoke-virtual {p0, p1}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->checkLastTagWas(I)V
.line 1424
invoke-virtual {p2, p1}, Lcom/google/protobuf/CodedOutputStream;->writeUInt32NoTag(I)V
return v1
.line 1411
:cond_3
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->readBytes()Lcom/google/protobuf/ByteString;
move-result-object v0
.line 1412
invoke-virtual {p2, p1}, Lcom/google/protobuf/CodedOutputStream;->writeUInt32NoTag(I)V
.line 1413
invoke-virtual {p2, v0}, Lcom/google/protobuf/CodedOutputStream;->writeBytesNoTag(Lcom/google/protobuf/ByteString;)V
return v1
.line 1404
:cond_4
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->readRawLittleEndian64()J
move-result-wide v2
.line 1405
invoke-virtual {p2, p1}, Lcom/google/protobuf/CodedOutputStream;->writeUInt32NoTag(I)V
.line 1406
invoke-virtual {p2, v2, v3}, Lcom/google/protobuf/CodedOutputStream;->writeFixed64NoTag(J)V
return v1
.line 1397
:cond_5
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->readInt64()J
move-result-wide v2
.line 1398
invoke-virtual {p2, p1}, Lcom/google/protobuf/CodedOutputStream;->writeUInt32NoTag(I)V
.line 1399
invoke-virtual {p2, v2, v3}, Lcom/google/protobuf/CodedOutputStream;->writeUInt64NoTag(J)V
return v1
.end method
.method public skipMessage()V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1446
:cond_0
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->readTag()I
move-result v0
if-eqz v0, :cond_1
.line 1447
invoke-virtual {p0, v0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->skipField(I)Z
move-result v0
if-nez v0, :cond_0
:cond_1
return-void
.end method
.method public skipMessage(Lcom/google/protobuf/CodedOutputStream;)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1456
:cond_0
invoke-virtual {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->readTag()I
move-result v0
if-eqz v0, :cond_1
.line 1457
invoke-virtual {p0, v0, p1}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->skipField(ILcom/google/protobuf/CodedOutputStream;)Z
move-result v0
if-nez v0, :cond_0
:cond_1
return-void
.end method
.method public skipRawBytes(I)V
.locals 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
if-ltz p1, :cond_0
.line 1981
invoke-direct {p0}, Lcom/google/protobuf/CodedInputStream$UnsafeDirectNioDecoder;->remaining()I
move-result v0
if-gt p1, v0, :cond_0
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
return-void
:cond_0
if-gez p1, :cond_1
.line 1988
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->negativeSize()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object p1
throw p1
.line 1990
:cond_1
invoke-static {}, Lcom/google/protobuf/InvalidProtocolBufferException;->truncatedMessage()Lcom/google/protobuf/InvalidProtocolBufferException;
move-result-object p1
throw p1
.end method