CodedOutputStream.smali

.class public abstract Lcom/google/protobuf/CodedOutputStream;
.super Lcom/google/protobuf/d;
.source "CodedOutputStream.java"


# static fields
.field static final bin:Z

.field static final bio:J

.field private static final logger:Ljava/util/logging/Logger;


# direct methods
.method static constructor <clinit>()V
    .registers 2

    .prologue
    .line 58
    const-class v0, Lcom/google/protobuf/CodedOutputStream;

    invoke-virtual {v0}, Ljava/lang/Class;->getName()Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Ljava/util/logging/Logger;->getLogger(Ljava/lang/String;)Ljava/util/logging/Logger;

    move-result-object v0

    sput-object v0, Lcom/google/protobuf/CodedOutputStream;->logger:Ljava/util/logging/Logger;

    .line 59
    invoke-static {}, Lcom/google/protobuf/ey;->Fw()Z

    move-result v0

    sput-boolean v0, Lcom/google/protobuf/CodedOutputStream;->bin:Z

    .line 60
    invoke-static {}, Lcom/google/protobuf/ey;->Fy()J

    move-result-wide v0

    sput-wide v0, Lcom/google/protobuf/CodedOutputStream;->bio:J

    return-void
.end method

.method private constructor <init>()V
    .registers 1

    .prologue
    .line 218
    invoke-direct {p0}, Lcom/google/protobuf/d;-><init>()V

    .line 219
    return-void
.end method

.method synthetic constructor <init>(B)V
    .registers 2

    .prologue
    .line 57
    invoke-direct {p0}, Lcom/google/protobuf/CodedOutputStream;-><init>()V

    return-void
.end method

.method public static A(J)J
    .registers 6

    .prologue
    .line 937
    const/4 v0, 0x1

    shl-long v0, p0, v0

    const/16 v2, 0x3f

    shr-long v2, p0, v2

    xor-long/2addr v0, v2

    return-wide v0
.end method

.method public static AW()I
    .registers 1

    .prologue
    .line 591
    const/4 v0, 0x6

    invoke-static {v0}, Lcom/google/protobuf/CodedOutputStream;->cO(I)I

    move-result v0

    add-int/lit8 v0, v0, 0x8

    return v0
.end method

.method public static AX()I
    .registers 1

    .prologue
    .line 747
    const/4 v0, 0x4

    return v0
.end method

.method public static AY()I
    .registers 1

    .prologue
    .line 755
    const/4 v0, 0x4

    return v0
.end method

.method public static AZ()I
    .registers 1

    .prologue
    .line 805
    const/16 v0, 0x8

    return v0
.end method

.method public static Ba()I
    .registers 1

    .prologue
    .line 813
    const/16 v0, 0x8

    return v0
.end method

.method public static Bb()I
    .registers 1

    .prologue
    .line 821
    const/4 v0, 0x4

    return v0
.end method

.method public static Bc()I
    .registers 1

    .prologue
    .line 829
    const/16 v0, 0x8

    return v0
.end method

.method public static Bd()I
    .registers 1

    .prologue
    .line 837
    const/4 v0, 0x1

    return v0
.end method

.method public static a(ILcom/google/protobuf/dk;)I
    .registers 6

    .prologue
    .line 689
    const/4 v0, 0x1

    invoke-static {v0}, Lcom/google/protobuf/CodedOutputStream;->cO(I)I

    move-result v0

    shl-int/lit8 v0, v0, 0x1

    const/4 v1, 0x2

    .line 690
    invoke-static {v1, p0}, Lcom/google/protobuf/CodedOutputStream;->ai(II)I

    move-result v1

    add-int/2addr v0, v1

    .line 2648
    const/4 v1, 0x3

    invoke-static {v1}, Lcom/google/protobuf/CodedOutputStream;->cO(I)I

    move-result v1

    .line 2871
    invoke-virtual {p1}, Lcom/google/protobuf/dk;->getSerializedSize()I

    move-result v2

    .line 2907
    invoke-static {v2}, Lcom/google/protobuf/CodedOutputStream;->dD(I)I

    move-result v3

    add-int/2addr v2, v3

    .line 2648
    add-int/2addr v1, v2

    .line 691
    add-int/2addr v0, v1

    return v0
.end method

.method public static a(Lcom/google/protobuf/dk;)I
    .registers 3

    .prologue
    .line 871
    invoke-virtual {p0}, Lcom/google/protobuf/dk;->getSerializedSize()I

    move-result v0

    .line 4907
    invoke-static {v0}, Lcom/google/protobuf/CodedOutputStream;->dD(I)I

    move-result v1

    add-int/2addr v0, v1

    .line 871
    return v0
.end method

.method public static a(Ljava/io/OutputStream;I)Lcom/google/protobuf/CodedOutputStream;
    .registers 3

    .prologue
    .line 111
    new-instance v0, Lcom/google/protobuf/m;

    invoke-direct {v0, p0, p1}, Lcom/google/protobuf/m;-><init>(Ljava/io/OutputStream;I)V

    return-object v0
.end method

.method public static ab([B)Lcom/google/protobuf/CodedOutputStream;
    .registers 3

    .prologue
    .line 122
    array-length v0, p0

    .line 1134
    new-instance v1, Lcom/google/protobuf/l;

    invoke-direct {v1, p0, v0}, Lcom/google/protobuf/l;-><init>([BI)V

    .line 122
    return-object v1
.end method

.method public static ac([B)I
    .registers 3

    .prologue
    .line 887
    array-length v0, p0

    .line 6907
    invoke-static {v0}, Lcom/google/protobuf/CodedOutputStream;->dD(I)I

    move-result v1

    add-int/2addr v0, v1

    .line 887
    return v0
.end method

.method public static ai(II)I
    .registers 4

    .prologue
    .line 511
    invoke-static {p0}, Lcom/google/protobuf/CodedOutputStream;->cO(I)I

    move-result v0

    invoke-static {p1}, Lcom/google/protobuf/CodedOutputStream;->dD(I)I

    move-result v1

    add-int/2addr v0, v1

    return v0
.end method

.method public static aj(II)I
    .registers 4

    .prologue
    .line 608
    invoke-static {p0}, Lcom/google/protobuf/CodedOutputStream;->cO(I)I

    move-result v0

    .line 1846
    invoke-static {p1}, Lcom/google/protobuf/CodedOutputStream;->dC(I)I

    move-result v1

    .line 608
    add-int/2addr v0, v1

    return v0
.end method

.method public static ap(II)I
    .registers 4

    .prologue
    .line 503
    invoke-static {p0}, Lcom/google/protobuf/CodedOutputStream;->cO(I)I

    move-result v0

    invoke-static {p1}, Lcom/google/protobuf/CodedOutputStream;->dC(I)I

    move-result v1

    add-int/2addr v0, v1

    return v0
.end method

.method public static b(Lcom/google/protobuf/MessageLite;)I
    .registers 3

    .prologue
    .line 903
    invoke-interface {p0}, Lcom/google/protobuf/MessageLite;->getSerializedSize()I

    move-result v0

    .line 7907
    invoke-static {v0}, Lcom/google/protobuf/CodedOutputStream;->dD(I)I

    move-result v1

    add-int/2addr v0, v1

    .line 903
    return v0
.end method

.method public static c(IJ)I
    .registers 6

    .prologue
    .line 551
    invoke-static {p0}, Lcom/google/protobuf/CodedOutputStream;->cO(I)I

    move-result v0

    invoke-static {p1, p2}, Lcom/google/protobuf/CodedOutputStream;->y(J)I

    move-result v1

    add-int/2addr v0, v1

    return v0
.end method

.method public static c(ILcom/google/protobuf/ByteString;)I
    .registers 5

    .prologue
    .line 624
    invoke-static {p0}, Lcom/google/protobuf/CodedOutputStream;->cO(I)I

    move-result v0

    .line 1879
    invoke-virtual {p1}, Lcom/google/protobuf/ByteString;->size()I

    move-result v1

    .line 1907
    invoke-static {v1}, Lcom/google/protobuf/CodedOutputStream;->dD(I)I

    move-result v2

    add-int/2addr v1, v2

    .line 624
    add-int/2addr v0, v1

    return v0
.end method

.method public static c(ILcom/google/protobuf/MessageLite;)I
    .registers 4

    .prologue
    .line 656
    invoke-static {p0}, Lcom/google/protobuf/CodedOutputStream;->cO(I)I

    move-result v0

    invoke-static {p1}, Lcom/google/protobuf/CodedOutputStream;->b(Lcom/google/protobuf/MessageLite;)I

    move-result v1

    add-int/2addr v0, v1

    return v0
.end method

.method public static c(Lcom/google/protobuf/MessageLite;)I
    .registers 2
    .annotation runtime Ljava/lang/Deprecated;
    .end annotation

    .prologue
    .line 1065
    invoke-interface {p0}, Lcom/google/protobuf/MessageLite;->getSerializedSize()I

    move-result v0

    return v0
.end method

.method public static cL(I)I
    .registers 2

    .prologue
    .line 599
    invoke-static {p0}, Lcom/google/protobuf/CodedOutputStream;->cO(I)I

    move-result v0

    add-int/lit8 v0, v0, 0x1

    return v0
.end method

.method public static cO(I)I
    .registers 2

    .prologue
    .line 698
    .line 3072
    shl-int/lit8 v0, p0, 0x3

    .line 698
    invoke-static {v0}, Lcom/google/protobuf/CodedOutputStream;->dD(I)I

    move-result v0

    return v0
.end method

.method public static cQ(I)I
    .registers 2
    .annotation runtime Ljava/lang/Deprecated;
    .end annotation

    .prologue
    .line 1098
    invoke-static {p0}, Lcom/google/protobuf/CodedOutputStream;->dD(I)I

    move-result v0

    return v0
.end method

.method public static cR(I)I
    .registers 3

    .prologue
    .line 922
    shl-int/lit8 v0, p0, 0x1

    shr-int/lit8 v1, p0, 0x1f

    xor-int/2addr v0, v1

    return v0
.end method

.method public static d(ILcom/google/protobuf/ByteString;)I
    .registers 4

    .prologue
    .line 677
    const/4 v0, 0x1

    invoke-static {v0}, Lcom/google/protobuf/CodedOutputStream;->cO(I)I

    move-result v0

    shl-int/lit8 v0, v0, 0x1

    const/4 v1, 0x2

    .line 678
    invoke-static {v1, p0}, Lcom/google/protobuf/CodedOutputStream;->ai(II)I

    move-result v1

    add-int/2addr v0, v1

    const/4 v1, 0x3

    .line 679
    invoke-static {v1, p1}, Lcom/google/protobuf/CodedOutputStream;->c(ILcom/google/protobuf/ByteString;)I

    move-result v1

    add-int/2addr v0, v1

    return v0
.end method

.method public static d(ILcom/google/protobuf/MessageLite;)I
    .registers 4

    .prologue
    .line 665
    const/4 v0, 0x1

    invoke-static {v0}, Lcom/google/protobuf/CodedOutputStream;->cO(I)I

    move-result v0

    shl-int/lit8 v0, v0, 0x1

    const/4 v1, 0x2

    .line 666
    invoke-static {v1, p0}, Lcom/google/protobuf/CodedOutputStream;->ai(II)I

    move-result v1

    add-int/2addr v0, v1

    const/4 v1, 0x3

    .line 667
    invoke-static {v1, p1}, Lcom/google/protobuf/CodedOutputStream;->c(ILcom/google/protobuf/MessageLite;)I

    move-result v1

    add-int/2addr v0, v1

    return v0
.end method

.method public static d(Lcom/google/protobuf/ByteString;)I
    .registers 3

    .prologue
    .line 879
    invoke-virtual {p0}, Lcom/google/protobuf/ByteString;->size()I

    move-result v0

    .line 5907
    invoke-static {v0}, Lcom/google/protobuf/CodedOutputStream;->dD(I)I

    move-result v1

    add-int/2addr v0, v1

    .line 879
    return v0
.end method

.method public static dA(I)I
    .registers 2

    .prologue
    .line 527
    invoke-static {p0}, Lcom/google/protobuf/CodedOutputStream;->cO(I)I

    move-result v0

    add-int/lit8 v0, v0, 0x4

    return v0
.end method

.method public static dB(I)I
    .registers 2

    .prologue
    .line 567
    invoke-static {p0}, Lcom/google/protobuf/CodedOutputStream;->cO(I)I

    move-result v0

    add-int/lit8 v0, v0, 0x8

    return v0
.end method

.method public static dC(I)I
    .registers 2

    .prologue
    .line 706
    if-ltz p0, :cond_7

    .line 707
    invoke-static {p0}, Lcom/google/protobuf/CodedOutputStream;->dD(I)I

    move-result v0

    .line 710
    :goto_6
    return v0

    :cond_7
    const/16 v0, 0xa

    goto :goto_6
.end method

.method public static dD(I)I
    .registers 2

    .prologue
    .line 719
    and-int/lit8 v0, p0, -0x80

    if-nez v0, :cond_6

    .line 720
    const/4 v0, 0x1

    .line 731
    :goto_5
    return v0

    .line 722
    :cond_6
    and-int/lit16 v0, p0, -0x4000

    if-nez v0, :cond_c

    .line 723
    const/4 v0, 0x2

    goto :goto_5

    .line 725
    :cond_c
    const/high16 v0, -0x200000

    and-int/2addr v0, p0

    if-nez v0, :cond_13

    .line 726
    const/4 v0, 0x3

    goto :goto_5

    .line 728
    :cond_13
    const/high16 v0, -0x10000000

    and-int/2addr v0, p0

    if-nez v0, :cond_1a

    .line 729
    const/4 v0, 0x4

    goto :goto_5

    .line 731
    :cond_1a
    const/4 v0, 0x5

    goto :goto_5
.end method

.method public static dE(I)I
    .registers 2

    .prologue
    .line 739
    invoke-static {p0}, Lcom/google/protobuf/CodedOutputStream;->cR(I)I

    move-result v0

    invoke-static {v0}, Lcom/google/protobuf/CodedOutputStream;->dD(I)I

    move-result v0

    return v0
.end method

.method public static dF(I)I
    .registers 2

    .prologue
    .line 846
    invoke-static {p0}, Lcom/google/protobuf/CodedOutputStream;->dC(I)I

    move-result v0

    return v0
.end method

.method static dw(I)I
    .registers 2

    .prologue
    const/16 v0, 0x1000

    .line 85
    if-le p0, v0, :cond_5

    move p0, v0

    .line 88
    :cond_5
    return p0
.end method

.method public static e(IJ)I
    .registers 6

    .prologue
    .line 543
    invoke-static {p0}, Lcom/google/protobuf/CodedOutputStream;->cO(I)I

    move-result v0

    .line 1763
    invoke-static {p1, p2}, Lcom/google/protobuf/CodedOutputStream;->y(J)I

    move-result v1

    .line 543
    add-int/2addr v0, v1

    return v0
.end method

.method public static f(ILcom/google/protobuf/MessageLite;)I
    .registers 4
    .annotation runtime Ljava/lang/Deprecated;
    .end annotation

    .prologue
    .line 1056
    invoke-static {p0}, Lcom/google/protobuf/CodedOutputStream;->cO(I)I

    move-result v0

    shl-int/lit8 v0, v0, 0x1

    .line 8065
    invoke-interface {p1}, Lcom/google/protobuf/MessageLite;->getSerializedSize()I

    move-result v1

    .line 1056
    add-int/2addr v0, v1

    return v0
.end method

.method public static fu(Ljava/lang/String;)I
    .registers 3

    .prologue
    .line 856
    :try_start_0
    invoke-static {p0}, Lcom/google/protobuf/Utf8;->r(Ljava/lang/CharSequence;)I
    :try_end_3
    .catch Lcom/google/protobuf/Utf8$UnpairedSurrogateException; {:try_start_0 .. :try_end_3} :catch_a

    move-result v0

    .line 3907
    :goto_4
    invoke-static {v0}, Lcom/google/protobuf/CodedOutputStream;->dD(I)I

    move-result v1

    add-int/2addr v0, v1

    .line 863
    return v0

    .line 859
    :catch_a
    move-exception v0

    sget-object v0, Lcom/google/protobuf/Internal;->UTF_8:Ljava/nio/charset/Charset;

    invoke-virtual {p0, v0}, Ljava/lang/String;->getBytes(Ljava/nio/charset/Charset;)[B

    move-result-object v0

    .line 860
    array-length v0, v0

    goto :goto_4
.end method

.method public static n(ILjava/lang/String;)I
    .registers 4

    .prologue
    .line 616
    invoke-static {p0}, Lcom/google/protobuf/CodedOutputStream;->cO(I)I

    move-result v0

    invoke-static {p1}, Lcom/google/protobuf/CodedOutputStream;->fu(Ljava/lang/String;)I

    move-result v1

    add-int/2addr v0, v1

    return v0
.end method

.method public static x(J)I
    .registers 4

    .prologue
    .line 763
    invoke-static {p0, p1}, Lcom/google/protobuf/CodedOutputStream;->y(J)I

    move-result v0

    return v0
.end method

.method public static y(J)I
    .registers 10

    .prologue
    const-wide/16 v6, 0x0

    .line 772
    const-wide/16 v0, -0x80

    and-long/2addr v0, p0

    cmp-long v0, v0, v6

    if-nez v0, :cond_b

    .line 773
    const/4 v0, 0x1

    .line 789
    :cond_a
    :goto_a
    return v0

    .line 775
    :cond_b
    cmp-long v0, p0, v6

    if-gez v0, :cond_12

    .line 776
    const/16 v0, 0xa

    goto :goto_a

    .line 779
    :cond_12
    const/4 v0, 0x2

    .line 780
    const-wide v2, -0x800000000L

    and-long/2addr v2, p0

    cmp-long v1, v2, v6

    if-eqz v1, :cond_39

    .line 781
    const/4 v0, 0x6

    const/16 v1, 0x1c

    ushr-long v2, p0, v1

    .line 783
    :goto_22
    const-wide/32 v4, -0x200000

    and-long/2addr v4, v2

    cmp-long v1, v4, v6

    if-eqz v1, :cond_2f

    .line 784
    add-int/lit8 v0, v0, 0x2

    const/16 v1, 0xe

    ushr-long/2addr v2, v1

    .line 786
    :cond_2f
    const-wide/16 v4, -0x4000

    and-long/2addr v2, v4

    cmp-long v1, v2, v6

    if-eqz v1, :cond_a

    .line 787
    add-int/lit8 v0, v0, 0x1

    goto :goto_a

    :cond_39
    move-wide v2, p0

    goto :goto_22
.end method

.method public static z(J)I
    .registers 4

    .prologue
    .line 797
    invoke-static {p0, p1}, Lcom/google/protobuf/CodedOutputStream;->A(J)J

    move-result-wide v0

    invoke-static {v0, v1}, Lcom/google/protobuf/CodedOutputStream;->y(J)I

    move-result v0

    return v0
.end method


# virtual methods
.method public abstract Be()I
.end method

.method public final Bf()V
    .registers 3

    .prologue
    .line 962
    invoke-virtual {p0}, Lcom/google/protobuf/CodedOutputStream;->Be()I

    move-result v0

    if-eqz v0, :cond_e

    .line 963
    new-instance v0, Ljava/lang/IllegalStateException;

    const-string v1, "Did not write as much data as expected."

    invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V

    throw v0

    .line 965
    :cond_e
    return-void
.end method

.method public abstract a(ILcom/google/protobuf/ByteString;)V
.end method

.method public abstract a(ILcom/google/protobuf/MessageLite;)V
.end method

.method public abstract a(Lcom/google/protobuf/MessageLite;)V
.end method

.method final a(Ljava/lang/String;Lcom/google/protobuf/Utf8$UnpairedSurrogateException;)V
    .registers 6

    .prologue
    .line 1006
    sget-object v0, Lcom/google/protobuf/CodedOutputStream;->logger:Ljava/util/logging/Logger;

    sget-object v1, Ljava/util/logging/Level;->WARNING:Ljava/util/logging/Level;

    const-string v2, "Converting ill-formed UTF-16. Your Protocol Buffer will not round trip correctly!"

    invoke-virtual {v0, v1, v2, p2}, Ljava/util/logging/Logger;->log(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V

    .line 1013
    sget-object v0, Lcom/google/protobuf/Internal;->UTF_8:Ljava/nio/charset/Charset;

    invoke-virtual {p1, v0}, Ljava/lang/String;->getBytes(Ljava/nio/charset/Charset;)[B

    move-result-object v0

    .line 1015
    :try_start_f
    array-length v1, v0

    invoke-virtual {p0, v1}, Lcom/google/protobuf/CodedOutputStream;->dy(I)V

    .line 1016
    const/4 v1, 0x0

    array-length v2, v0

    invoke-virtual {p0, v0, v1, v2}, Lcom/google/protobuf/CodedOutputStream;->d([BII)V
    :try_end_18
    .catch Ljava/lang/IndexOutOfBoundsException; {:try_start_f .. :try_end_18} :catch_19
    .catch Lcom/google/protobuf/CodedOutputStream$OutOfSpaceException; {:try_start_f .. :try_end_18} :catch_20

    .line 1021
    return-void

    .line 1017
    :catch_19
    move-exception v0

    .line 1018
    new-instance v1, Lcom/google/protobuf/CodedOutputStream$OutOfSpaceException;

    invoke-direct {v1, v0}, Lcom/google/protobuf/CodedOutputStream$OutOfSpaceException;-><init>(Ljava/lang/Throwable;)V

    throw v1

    .line 1020
    :catch_20
    move-exception v0

    throw v0
.end method

.method public abstract ag(II)V
.end method

.method public abstract an(II)V
.end method

.method public abstract ao(II)V
.end method

.method public abstract b(B)V
.end method

.method public abstract b(IJ)V
.end method

.method public abstract b(ILcom/google/protobuf/ByteString;)V
.end method

.method public abstract b(ILcom/google/protobuf/MessageLite;)V
.end method

.method public abstract c(Lcom/google/protobuf/ByteString;)V
.end method

.method public abstract d(IJ)V
.end method

.method public abstract d([BII)V
.end method

.method public abstract dx(I)V
.end method

.method public abstract dy(I)V
.end method

.method public abstract dz(I)V
.end method

.method public final e(ILcom/google/protobuf/MessageLite;)V
    .registers 4
    .annotation runtime Ljava/lang/Deprecated;
    .end annotation

    .prologue
    .line 1033
    const/4 v0, 0x3

    invoke-virtual {p0, p1, v0}, Lcom/google/protobuf/CodedOutputStream;->writeTag(II)V

    .line 8045
    invoke-interface {p2, p0}, Lcom/google/protobuf/MessageLite;->writeTo(Lcom/google/protobuf/CodedOutputStream;)V

    .line 1035
    const/4 v0, 0x4

    invoke-virtual {p0, p1, v0}, Lcom/google/protobuf/CodedOutputStream;->writeTag(II)V

    .line 1036
    return-void
.end method

.method public abstract flush()V
.end method

.method public abstract ft(Ljava/lang/String;)V
.end method

.method public abstract j(IZ)V
.end method

.method abstract k([BI)V
.end method

.method public abstract m(ILjava/lang/String;)V
.end method

.method public abstract v(J)V
.end method

.method public abstract w(J)V
.end method

.method public abstract writeTag(II)V
.end method