k.smali
.class abstract Lcom/google/protobuf/k;
.super Lcom/google/protobuf/CodedOutputStream;
.source "CodedOutputStream.java"
# instance fields
.field bip:I
.field final buffer:[B
.field final limit:I
.field position:I
# direct methods
.method constructor <init>(I)V
.registers 4
.prologue
.line 1826
const/4 v0, 0x0
invoke-direct {p0, v0}, Lcom/google/protobuf/CodedOutputStream;-><init>(B)V
.line 1827
if-gez p1, :cond_e
.line 1828
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string v1, "bufferSize must be >= 0"
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.line 1834
:cond_e
const/16 v0, 0x14
invoke-static {p1, v0}, Ljava/lang/Math;->max(II)I
move-result v0
new-array v0, v0, [B
iput-object v0, p0, Lcom/google/protobuf/k;->buffer:[B
.line 1835
iget-object v0, p0, Lcom/google/protobuf/k;->buffer:[B
array-length v0, v0
iput v0, p0, Lcom/google/protobuf/k;->limit:I
.line 1836
return-void
.end method
# virtual methods
.method final B(J)V
.registers 12
.prologue
.line 5057
sget-boolean v0, Lcom/google/protobuf/CodedOutputStream;->bin:Z
.line 1920
if-eqz v0, :cond_56
.line 6057
sget-wide v0, Lcom/google/protobuf/CodedOutputStream;->bio:J
.line 1921
iget v2, p0, Lcom/google/protobuf/k;->position:I
int-to-long v2, v2
add-long/2addr v2, v0
move-wide v0, v2
.line 1924
:goto_b
const-wide/16 v4, -0x80
and-long/2addr v4, p1
const-wide/16 v6, 0x0
cmp-long v4, v4, v6
if-nez v4, :cond_2c
.line 1925
iget-object v4, p0, Lcom/google/protobuf/k;->buffer:[B
const-wide/16 v6, 0x1
add-long/2addr v6, v0
long-to-int v5, p1
int-to-byte v5, v5
invoke-static {v4, v0, v1, v5}, Lcom/google/protobuf/ey;->a([BJB)V
.line 1932
sub-long v0, v6, v2
long-to-int v0, v0
.line 1933
iget v1, p0, Lcom/google/protobuf/k;->position:I
add-int/2addr v1, v0
iput v1, p0, Lcom/google/protobuf/k;->position:I
.line 1934
iget v1, p0, Lcom/google/protobuf/k;->bip:I
add-int/2addr v0, v1
iput v0, p0, Lcom/google/protobuf/k;->bip:I
.line 1940
:goto_2b
return-void
.line 1928
:cond_2c
iget-object v6, p0, Lcom/google/protobuf/k;->buffer:[B
const-wide/16 v4, 0x1
add-long/2addr v4, v0
long-to-int v7, p1
and-int/lit8 v7, v7, 0x7f
or-int/lit16 v7, v7, 0x80
int-to-byte v7, v7
invoke-static {v6, v0, v1, v7}, Lcom/google/protobuf/ey;->a([BJB)V
.line 1929
const/4 v0, 0x7
ushr-long/2addr p1, v0
move-wide v0, v4
goto :goto_b
.line 1942
:cond_3e
iget-object v0, p0, Lcom/google/protobuf/k;->buffer:[B
iget v1, p0, Lcom/google/protobuf/k;->position:I
add-int/lit8 v2, v1, 0x1
iput v2, p0, Lcom/google/protobuf/k;->position:I
long-to-int v2, p1
and-int/lit8 v2, v2, 0x7f
or-int/lit16 v2, v2, 0x80
int-to-byte v2, v2
aput-byte v2, v0, v1
.line 1943
iget v0, p0, Lcom/google/protobuf/k;->bip:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Lcom/google/protobuf/k;->bip:I
.line 1944
const/4 v0, 0x7
ushr-long/2addr p1, v0
.line 1937
:cond_56
const-wide/16 v0, -0x80
and-long/2addr v0, p1
const-wide/16 v2, 0x0
cmp-long v0, v0, v2
if-nez v0, :cond_3e
.line 1938
iget-object v0, p0, Lcom/google/protobuf/k;->buffer:[B
iget v1, p0, Lcom/google/protobuf/k;->position:I
add-int/lit8 v2, v1, 0x1
iput v2, p0, Lcom/google/protobuf/k;->position:I
long-to-int v2, p1
int-to-byte v2, v2
aput-byte v2, v0, v1
.line 1939
iget v0, p0, Lcom/google/protobuf/k;->bip:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Lcom/google/protobuf/k;->bip:I
goto :goto_2b
.end method
.method public final Be()I
.registers 3
.prologue
.line 1840
new-instance v0, Ljava/lang/UnsupportedOperationException;
const-string v1, "spaceLeft() can only be called on CodedOutputStreams that are writing to a flat array or ByteBuffer."
invoke-direct {v0, v1}, Ljava/lang/UnsupportedOperationException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method final C(J)V
.registers 10
.prologue
const-wide/16 v4, 0xff
.line 1967
iget-object v0, p0, Lcom/google/protobuf/k;->buffer:[B
iget v1, p0, Lcom/google/protobuf/k;->position:I
add-int/lit8 v2, v1, 0x1
iput v2, p0, Lcom/google/protobuf/k;->position:I
and-long v2, p1, v4
long-to-int v2, v2
int-to-byte v2, v2
aput-byte v2, v0, v1
.line 1968
iget-object v0, p0, Lcom/google/protobuf/k;->buffer:[B
iget v1, p0, Lcom/google/protobuf/k;->position:I
add-int/lit8 v2, v1, 0x1
iput v2, p0, Lcom/google/protobuf/k;->position:I
const/16 v2, 0x8
shr-long v2, p1, v2
and-long/2addr v2, v4
long-to-int v2, v2
int-to-byte v2, v2
aput-byte v2, v0, v1
.line 1969
iget-object v0, p0, Lcom/google/protobuf/k;->buffer:[B
iget v1, p0, Lcom/google/protobuf/k;->position:I
add-int/lit8 v2, v1, 0x1
iput v2, p0, Lcom/google/protobuf/k;->position:I
const/16 v2, 0x10
shr-long v2, p1, v2
and-long/2addr v2, v4
long-to-int v2, v2
int-to-byte v2, v2
aput-byte v2, v0, v1
.line 1970
iget-object v0, p0, Lcom/google/protobuf/k;->buffer:[B
iget v1, p0, Lcom/google/protobuf/k;->position:I
add-int/lit8 v2, v1, 0x1
iput v2, p0, Lcom/google/protobuf/k;->position:I
const/16 v2, 0x18
shr-long v2, p1, v2
and-long/2addr v2, v4
long-to-int v2, v2
int-to-byte v2, v2
aput-byte v2, v0, v1
.line 1971
iget-object v0, p0, Lcom/google/protobuf/k;->buffer:[B
iget v1, p0, Lcom/google/protobuf/k;->position:I
add-int/lit8 v2, v1, 0x1
iput v2, p0, Lcom/google/protobuf/k;->position:I
const/16 v2, 0x20
shr-long v2, p1, v2
long-to-int v2, v2
int-to-byte v2, v2
aput-byte v2, v0, v1
.line 1972
iget-object v0, p0, Lcom/google/protobuf/k;->buffer:[B
iget v1, p0, Lcom/google/protobuf/k;->position:I
add-int/lit8 v2, v1, 0x1
iput v2, p0, Lcom/google/protobuf/k;->position:I
const/16 v2, 0x28
shr-long v2, p1, v2
long-to-int v2, v2
int-to-byte v2, v2
aput-byte v2, v0, v1
.line 1973
iget-object v0, p0, Lcom/google/protobuf/k;->buffer:[B
iget v1, p0, Lcom/google/protobuf/k;->position:I
add-int/lit8 v2, v1, 0x1
iput v2, p0, Lcom/google/protobuf/k;->position:I
const/16 v2, 0x30
shr-long v2, p1, v2
long-to-int v2, v2
int-to-byte v2, v2
aput-byte v2, v0, v1
.line 1974
iget-object v0, p0, Lcom/google/protobuf/k;->buffer:[B
iget v1, p0, Lcom/google/protobuf/k;->position:I
add-int/lit8 v2, v1, 0x1
iput v2, p0, Lcom/google/protobuf/k;->position:I
const/16 v2, 0x38
shr-long v2, p1, v2
long-to-int v2, v2
int-to-byte v2, v2
aput-byte v2, v0, v1
.line 1975
iget v0, p0, Lcom/google/protobuf/k;->bip:I
add-int/lit8 v0, v0, 0x8
iput v0, p0, Lcom/google/protobuf/k;->bip:I
.line 1976
return-void
.end method
.method final aq(II)V
.registers 4
.prologue
.line 1864
.line 2072
shl-int/lit8 v0, p1, 0x3
or-int/2addr v0, p2
.line 1864
invoke-virtual {p0, v0}, Lcom/google/protobuf/k;->dG(I)V
.line 1865
return-void
.end method
.method final c(B)V
.registers 5
.prologue
.line 1855
iget-object v0, p0, Lcom/google/protobuf/k;->buffer:[B
iget v1, p0, Lcom/google/protobuf/k;->position:I
add-int/lit8 v2, v1, 0x1
iput v2, p0, Lcom/google/protobuf/k;->position:I
aput-byte p1, v0, v1
.line 1856
iget v0, p0, Lcom/google/protobuf/k;->bip:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Lcom/google/protobuf/k;->bip:I
.line 1857
return-void
.end method
.method final dG(I)V
.registers 12
.prologue
const-wide/16 v8, 0x1
.line 3057
sget-boolean v0, Lcom/google/protobuf/CodedOutputStream;->bin:Z
.line 1885
if-eqz v0, :cond_4e
.line 4057
sget-wide v0, Lcom/google/protobuf/CodedOutputStream;->bio:J
.line 1886
iget v2, p0, Lcom/google/protobuf/k;->position:I
int-to-long v2, v2
add-long/2addr v2, v0
move-wide v0, v2
.line 1889
:goto_d
and-int/lit8 v4, p1, -0x80
if-nez v4, :cond_27
.line 1890
iget-object v4, p0, Lcom/google/protobuf/k;->buffer:[B
add-long v6, v0, v8
int-to-byte v5, p1
invoke-static {v4, v0, v1, v5}, Lcom/google/protobuf/ey;->a([BJB)V
.line 1897
sub-long v0, v6, v2
long-to-int v0, v0
.line 1898
iget v1, p0, Lcom/google/protobuf/k;->position:I
add-int/2addr v1, v0
iput v1, p0, Lcom/google/protobuf/k;->position:I
.line 1899
iget v1, p0, Lcom/google/protobuf/k;->bip:I
add-int/2addr v0, v1
iput v0, p0, Lcom/google/protobuf/k;->bip:I
.line 1905
:goto_26
return-void
.line 1893
:cond_27
iget-object v6, p0, Lcom/google/protobuf/k;->buffer:[B
add-long v4, v0, v8
and-int/lit8 v7, p1, 0x7f
or-int/lit16 v7, v7, 0x80
int-to-byte v7, v7
invoke-static {v6, v0, v1, v7}, Lcom/google/protobuf/ey;->a([BJB)V
.line 1894
ushr-int/lit8 p1, p1, 0x7
move-wide v0, v4
goto :goto_d
.line 1907
:cond_37
iget-object v0, p0, Lcom/google/protobuf/k;->buffer:[B
iget v1, p0, Lcom/google/protobuf/k;->position:I
add-int/lit8 v2, v1, 0x1
iput v2, p0, Lcom/google/protobuf/k;->position:I
and-int/lit8 v2, p1, 0x7f
or-int/lit16 v2, v2, 0x80
int-to-byte v2, v2
aput-byte v2, v0, v1
.line 1908
iget v0, p0, Lcom/google/protobuf/k;->bip:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Lcom/google/protobuf/k;->bip:I
.line 1909
ushr-int/lit8 p1, p1, 0x7
.line 1902
:cond_4e
and-int/lit8 v0, p1, -0x80
if-nez v0, :cond_37
.line 1903
iget-object v0, p0, Lcom/google/protobuf/k;->buffer:[B
iget v1, p0, Lcom/google/protobuf/k;->position:I
add-int/lit8 v2, v1, 0x1
iput v2, p0, Lcom/google/protobuf/k;->position:I
int-to-byte v2, p1
aput-byte v2, v0, v1
.line 1904
iget v0, p0, Lcom/google/protobuf/k;->bip:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Lcom/google/protobuf/k;->bip:I
goto :goto_26
.end method
.method final dH(I)V
.registers 5
.prologue
.line 1955
iget-object v0, p0, Lcom/google/protobuf/k;->buffer:[B
iget v1, p0, Lcom/google/protobuf/k;->position:I
add-int/lit8 v2, v1, 0x1
iput v2, p0, Lcom/google/protobuf/k;->position:I
int-to-byte v2, p1
aput-byte v2, v0, v1
.line 1956
iget-object v0, p0, Lcom/google/protobuf/k;->buffer:[B
iget v1, p0, Lcom/google/protobuf/k;->position:I
add-int/lit8 v2, v1, 0x1
iput v2, p0, Lcom/google/protobuf/k;->position:I
shr-int/lit8 v2, p1, 0x8
int-to-byte v2, v2
aput-byte v2, v0, v1
.line 1957
iget-object v0, p0, Lcom/google/protobuf/k;->buffer:[B
iget v1, p0, Lcom/google/protobuf/k;->position:I
add-int/lit8 v2, v1, 0x1
iput v2, p0, Lcom/google/protobuf/k;->position:I
shr-int/lit8 v2, p1, 0x10
int-to-byte v2, v2
aput-byte v2, v0, v1
.line 1958
iget-object v0, p0, Lcom/google/protobuf/k;->buffer:[B
iget v1, p0, Lcom/google/protobuf/k;->position:I
add-int/lit8 v2, v1, 0x1
iput v2, p0, Lcom/google/protobuf/k;->position:I
shr-int/lit8 v2, p1, 0x18
aput-byte v2, v0, v1
.line 1959
iget v0, p0, Lcom/google/protobuf/k;->bip:I
add-int/lit8 v0, v0, 0x4
iput v0, p0, Lcom/google/protobuf/k;->bip:I
.line 1960
return-void
.end method