m.smali
.class final Lcom/google/protobuf/m;
.super Lcom/google/protobuf/k;
.source "CodedOutputStream.java"
# instance fields
.field private final out:Ljava/io/OutputStream;
# direct methods
.method constructor <init>(Ljava/io/OutputStream;I)V
.registers 5
.prologue
.line 2291
invoke-direct {p0, p2}, Lcom/google/protobuf/k;-><init>(I)V
.line 2292
if-nez p1, :cond_d
.line 2293
new-instance v0, Ljava/lang/NullPointerException;
const-string v1, "out"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
.line 2295
:cond_d
iput-object p1, p0, Lcom/google/protobuf/m;->out:Ljava/io/OutputStream;
.line 2296
return-void
.end method
.method private dI(I)V
.registers 4
.prologue
.line 2625
iget v0, p0, Lcom/google/protobuf/m;->limit:I
iget v1, p0, Lcom/google/protobuf/m;->position:I
sub-int/2addr v0, v1
if-ge v0, p1, :cond_a
.line 2626
invoke-direct {p0}, Lcom/google/protobuf/m;->doFlush()V
.line 2628
:cond_a
return-void
.end method
.method private doFlush()V
.registers 5
.prologue
const/4 v3, 0x0
.line 2631
iget-object v0, p0, Lcom/google/protobuf/m;->out:Ljava/io/OutputStream;
iget-object v1, p0, Lcom/google/protobuf/m;->buffer:[B
iget v2, p0, Lcom/google/protobuf/m;->position:I
invoke-virtual {v0, v1, v3, v2}, Ljava/io/OutputStream;->write([BII)V
.line 2632
iput v3, p0, Lcom/google/protobuf/m;->position:I
.line 2633
return-void
.end method
.method private write([BII)V
.registers 7
.prologue
.line 2549
iget v0, p0, Lcom/google/protobuf/m;->limit:I
iget v1, p0, Lcom/google/protobuf/m;->position:I
sub-int/2addr v0, v1
if-lt v0, p3, :cond_19
.line 2551
iget-object v0, p0, Lcom/google/protobuf/m;->buffer:[B
iget v1, p0, Lcom/google/protobuf/m;->position:I
invoke-static {p1, p2, v0, v1, p3}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 2552
iget v0, p0, Lcom/google/protobuf/m;->position:I
add-int/2addr v0, p3
iput v0, p0, Lcom/google/protobuf/m;->position:I
.line 2576
:goto_13
iget v0, p0, Lcom/google/protobuf/m;->bip:I
add-int/2addr v0, p3
iput v0, p0, Lcom/google/protobuf/m;->bip:I
.line 2578
return-void
.line 2557
:cond_19
iget v0, p0, Lcom/google/protobuf/m;->limit:I
iget v1, p0, Lcom/google/protobuf/m;->position:I
sub-int/2addr v0, v1
.line 2558
iget-object v1, p0, Lcom/google/protobuf/m;->buffer:[B
iget v2, p0, Lcom/google/protobuf/m;->position:I
invoke-static {p1, p2, v1, v2, v0}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 2559
add-int v1, p2, v0
.line 2560
sub-int/2addr p3, v0
.line 2561
iget v2, p0, Lcom/google/protobuf/m;->limit:I
iput v2, p0, Lcom/google/protobuf/m;->position:I
.line 2562
iget v2, p0, Lcom/google/protobuf/m;->bip:I
add-int/2addr v0, v2
iput v0, p0, Lcom/google/protobuf/m;->bip:I
.line 2563
invoke-direct {p0}, Lcom/google/protobuf/m;->doFlush()V
.line 2568
iget v0, p0, Lcom/google/protobuf/m;->limit:I
if-gt p3, v0, :cond_41
.line 2570
iget-object v0, p0, Lcom/google/protobuf/m;->buffer:[B
const/4 v2, 0x0
invoke-static {p1, v1, v0, v2, p3}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 2571
iput p3, p0, Lcom/google/protobuf/m;->position:I
goto :goto_13
.line 2574
:cond_41
iget-object v0, p0, Lcom/google/protobuf/m;->out:Ljava/io/OutputStream;
invoke-virtual {v0, p1, v1, p3}, Ljava/io/OutputStream;->write([BII)V
goto :goto_13
.end method
# virtual methods
.method public final a(ILcom/google/protobuf/ByteString;)V
.registers 4
.prologue
.line 2353
const/4 v0, 0x2
invoke-virtual {p0, p1, v0}, Lcom/google/protobuf/m;->writeTag(II)V
.line 2354
invoke-virtual {p0, p2}, Lcom/google/protobuf/m;->c(Lcom/google/protobuf/ByteString;)V
.line 2355
return-void
.end method
.method public final a(ILcom/google/protobuf/MessageLite;)V
.registers 4
.prologue
.line 2404
const/4 v0, 0x2
invoke-virtual {p0, p1, v0}, Lcom/google/protobuf/m;->writeTag(II)V
.line 2405
invoke-virtual {p0, p2}, Lcom/google/protobuf/m;->a(Lcom/google/protobuf/MessageLite;)V
.line 2406
return-void
.end method
.method public final a(Lcom/google/protobuf/MessageLite;)V
.registers 3
.prologue
.line 2428
invoke-interface {p1}, Lcom/google/protobuf/MessageLite;->getSerializedSize()I
move-result v0
invoke-virtual {p0, v0}, Lcom/google/protobuf/m;->dy(I)V
.line 2429
invoke-interface {p1, p0}, Lcom/google/protobuf/MessageLite;->writeTo(Lcom/google/protobuf/CodedOutputStream;)V
.line 2430
return-void
.end method
.method public final ag(II)V
.registers 4
.prologue
.line 2312
const/16 v0, 0x14
invoke-direct {p0, v0}, Lcom/google/protobuf/m;->dI(I)V
.line 2313
const/4 v0, 0x0
invoke-virtual {p0, p1, v0}, Lcom/google/protobuf/m;->aq(II)V
.line 2314
invoke-virtual {p0, p2}, Lcom/google/protobuf/m;->dG(I)V
.line 2315
return-void
.end method
.method public final an(II)V
.registers 5
.prologue
.line 2305
const/16 v0, 0x14
invoke-direct {p0, v0}, Lcom/google/protobuf/m;->dI(I)V
.line 2306
const/4 v0, 0x0
invoke-virtual {p0, p1, v0}, Lcom/google/protobuf/m;->aq(II)V
.line 3872
if-ltz p2, :cond_f
.line 3873
invoke-virtual {p0, p2}, Lcom/google/protobuf/k;->dG(I)V
:goto_e
return-void
.line 3876
:cond_f
int-to-long v0, p2
invoke-virtual {p0, v0, v1}, Lcom/google/protobuf/k;->B(J)V
goto :goto_e
.end method
.method public final ao(II)V
.registers 4
.prologue
.line 2319
const/16 v0, 0xe
invoke-direct {p0, v0}, Lcom/google/protobuf/m;->dI(I)V
.line 2320
const/4 v0, 0x5
invoke-virtual {p0, p1, v0}, Lcom/google/protobuf/m;->aq(II)V
.line 2321
invoke-virtual {p0, p2}, Lcom/google/protobuf/m;->dH(I)V
.line 2322
return-void
.end method
.method public final b(B)V
.registers 4
.prologue
.line 2434
iget v0, p0, Lcom/google/protobuf/m;->position:I
iget v1, p0, Lcom/google/protobuf/m;->limit:I
if-ne v0, v1, :cond_9
.line 2435
invoke-direct {p0}, Lcom/google/protobuf/m;->doFlush()V
.line 2438
:cond_9
invoke-virtual {p0, p1}, Lcom/google/protobuf/m;->c(B)V
.line 2439
return-void
.end method
.method public final b(IJ)V
.registers 6
.prologue
.line 2326
const/16 v0, 0x14
invoke-direct {p0, v0}, Lcom/google/protobuf/m;->dI(I)V
.line 2327
const/4 v0, 0x0
invoke-virtual {p0, p1, v0}, Lcom/google/protobuf/m;->aq(II)V
.line 2328
invoke-virtual {p0, p2, p3}, Lcom/google/protobuf/m;->B(J)V
.line 2329
return-void
.end method
.method public final b(ILcom/google/protobuf/ByteString;)V
.registers 6
.prologue
const/4 v2, 0x3
const/4 v1, 0x1
.line 2420
invoke-virtual {p0, v1, v2}, Lcom/google/protobuf/m;->writeTag(II)V
.line 2421
const/4 v0, 0x2
invoke-virtual {p0, v0, p1}, Lcom/google/protobuf/m;->ag(II)V
.line 2422
invoke-virtual {p0, v2, p2}, Lcom/google/protobuf/m;->a(ILcom/google/protobuf/ByteString;)V
.line 2423
const/4 v0, 0x4
invoke-virtual {p0, v1, v0}, Lcom/google/protobuf/m;->writeTag(II)V
.line 2424
return-void
.end method
.method public final b(ILcom/google/protobuf/MessageLite;)V
.registers 6
.prologue
const/4 v2, 0x3
const/4 v1, 0x1
.line 2411
invoke-virtual {p0, v1, v2}, Lcom/google/protobuf/m;->writeTag(II)V
.line 2412
const/4 v0, 0x2
invoke-virtual {p0, v0, p1}, Lcom/google/protobuf/m;->ag(II)V
.line 2413
invoke-virtual {p0, v2, p2}, Lcom/google/protobuf/m;->a(ILcom/google/protobuf/MessageLite;)V
.line 2414
const/4 v0, 0x4
invoke-virtual {p0, v1, v0}, Lcom/google/protobuf/m;->writeTag(II)V
.line 2415
return-void
.end method
.method public final c(Lcom/google/protobuf/ByteString;)V
.registers 3
.prologue
.line 2380
invoke-virtual {p1}, Lcom/google/protobuf/ByteString;->size()I
move-result v0
invoke-virtual {p0, v0}, Lcom/google/protobuf/m;->dy(I)V
.line 2381
invoke-virtual {p1, p0}, Lcom/google/protobuf/ByteString;->writeTo(Lcom/google/protobuf/d;)V
.line 2382
return-void
.end method
.method public final d(IJ)V
.registers 6
.prologue
.line 2333
const/16 v0, 0x12
invoke-direct {p0, v0}, Lcom/google/protobuf/m;->dI(I)V
.line 2334
const/4 v0, 0x1
invoke-virtual {p0, p1, v0}, Lcom/google/protobuf/m;->aq(II)V
.line 2335
invoke-virtual {p0, p2, p3}, Lcom/google/protobuf/m;->C(J)V
.line 2336
return-void
.end method
.method public final d([BII)V
.registers 4
.prologue
.line 2582
invoke-direct {p0, p1, p2, p3}, Lcom/google/protobuf/m;->write([BII)V
.line 2583
return-void
.end method
.method public final dx(I)V
.registers 4
.prologue
.line 2443
if-ltz p1, :cond_6
.line 2444
invoke-virtual {p0, p1}, Lcom/google/protobuf/m;->dy(I)V
.line 2449
:goto_5
return-void
.line 2447
:cond_6
int-to-long v0, p1
invoke-virtual {p0, v0, v1}, Lcom/google/protobuf/m;->v(J)V
goto :goto_5
.end method
.method public final dy(I)V
.registers 3
.prologue
.line 2453
const/16 v0, 0xa
invoke-direct {p0, v0}, Lcom/google/protobuf/m;->dI(I)V
.line 2454
invoke-virtual {p0, p1}, Lcom/google/protobuf/m;->dG(I)V
.line 2455
return-void
.end method
.method public final dz(I)V
.registers 3
.prologue
.line 2459
const/4 v0, 0x4
invoke-direct {p0, v0}, Lcom/google/protobuf/m;->dI(I)V
.line 2460
invoke-virtual {p0, p1}, Lcom/google/protobuf/m;->dH(I)V
.line 2461
return-void
.end method
.method public final flush()V
.registers 2
.prologue
.line 2540
iget v0, p0, Lcom/google/protobuf/m;->position:I
if-lez v0, :cond_7
.line 2542
invoke-direct {p0}, Lcom/google/protobuf/m;->doFlush()V
.line 2544
:cond_7
return-void
.end method
.method public final ft(Ljava/lang/String;)V
.registers 8
.prologue
.line 2480
:try_start_0
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v0
mul-int/lit8 v0, v0, 0x3
.line 2481
invoke-static {v0}, Lcom/google/protobuf/m;->dD(I)I
move-result v1
.line 2485
add-int v2, v1, v0
iget v3, p0, Lcom/google/protobuf/m;->limit:I
if-le v2, v3, :cond_1f
.line 2490
new-array v1, v0, [B
.line 2491
const/4 v2, 0x0
invoke-static {p1, v1, v2, v0}, Lcom/google/protobuf/Utf8;->a(Ljava/lang/CharSequence;[BII)I
move-result v0
.line 2492
invoke-virtual {p0, v0}, Lcom/google/protobuf/m;->dy(I)V
.line 4582
const/4 v2, 0x0
invoke-direct {p0, v1, v2, v0}, Lcom/google/protobuf/m;->write([BII)V
.line 2536
:goto_1e
return-void
.line 2498
:cond_1f
add-int/2addr v0, v1
iget v2, p0, Lcom/google/protobuf/m;->limit:I
iget v3, p0, Lcom/google/protobuf/m;->position:I
sub-int/2addr v2, v3
if-le v0, v2, :cond_2a
.line 2500
invoke-direct {p0}, Lcom/google/protobuf/m;->doFlush()V
.line 2505
:cond_2a
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v0
invoke-static {v0}, Lcom/google/protobuf/m;->dD(I)I
move-result v0
.line 2506
iget v2, p0, Lcom/google/protobuf/m;->position:I
:try_end_34
.catch Lcom/google/protobuf/Utf8$UnpairedSurrogateException; {:try_start_0 .. :try_end_34} :catch_64
.line 2509
if-ne v0, v1, :cond_69
.line 2510
add-int v1, v2, v0
:try_start_38
iput v1, p0, Lcom/google/protobuf/m;->position:I
.line 2511
iget-object v1, p0, Lcom/google/protobuf/m;->buffer:[B
iget v3, p0, Lcom/google/protobuf/m;->position:I
iget v4, p0, Lcom/google/protobuf/m;->limit:I
iget v5, p0, Lcom/google/protobuf/m;->position:I
sub-int/2addr v4, v5
invoke-static {p1, v1, v3, v4}, Lcom/google/protobuf/Utf8;->a(Ljava/lang/CharSequence;[BII)I
move-result v1
.line 2514
iput v2, p0, Lcom/google/protobuf/m;->position:I
.line 2515
sub-int v3, v1, v2
sub-int v0, v3, v0
.line 2516
invoke-virtual {p0, v0}, Lcom/google/protobuf/m;->dG(I)V
.line 2517
iput v1, p0, Lcom/google/protobuf/m;->position:I
.line 2523
:goto_52
iget v1, p0, Lcom/google/protobuf/m;->bip:I
add-int/2addr v0, v1
iput v0, p0, Lcom/google/protobuf/m;->bip:I
:try_end_57
.catch Lcom/google/protobuf/Utf8$UnpairedSurrogateException; {:try_start_38 .. :try_end_57} :catch_58
.catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_38 .. :try_end_57} :catch_7b
goto :goto_1e
.line 2524
:catch_58
move-exception v0
.line 2527
:try_start_59
iget v1, p0, Lcom/google/protobuf/m;->bip:I
iget v3, p0, Lcom/google/protobuf/m;->position:I
sub-int/2addr v3, v2
sub-int/2addr v1, v3
iput v1, p0, Lcom/google/protobuf/m;->bip:I
.line 2528
iput v2, p0, Lcom/google/protobuf/m;->position:I
.line 2529
throw v0
:try_end_64
.catch Lcom/google/protobuf/Utf8$UnpairedSurrogateException; {:try_start_59 .. :try_end_64} :catch_64
.line 2533
:catch_64
move-exception v0
.line 2534
invoke-virtual {p0, p1, v0}, Lcom/google/protobuf/m;->a(Ljava/lang/String;Lcom/google/protobuf/Utf8$UnpairedSurrogateException;)V
goto :goto_1e
.line 2519
:cond_69
:try_start_69
invoke-static {p1}, Lcom/google/protobuf/Utf8;->r(Ljava/lang/CharSequence;)I
move-result v0
.line 2520
invoke-virtual {p0, v0}, Lcom/google/protobuf/m;->dG(I)V
.line 2521
iget-object v1, p0, Lcom/google/protobuf/m;->buffer:[B
iget v3, p0, Lcom/google/protobuf/m;->position:I
invoke-static {p1, v1, v3, v0}, Lcom/google/protobuf/Utf8;->a(Ljava/lang/CharSequence;[BII)I
move-result v1
iput v1, p0, Lcom/google/protobuf/m;->position:I
:try_end_7a
.catch Lcom/google/protobuf/Utf8$UnpairedSurrogateException; {:try_start_69 .. :try_end_7a} :catch_58
.catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_69 .. :try_end_7a} :catch_7b
goto :goto_52
.line 2530
:catch_7b
move-exception v0
.line 2531
:try_start_7c
new-instance v1, Lcom/google/protobuf/CodedOutputStream$OutOfSpaceException;
invoke-direct {v1, v0}, Lcom/google/protobuf/CodedOutputStream$OutOfSpaceException;-><init>(Ljava/lang/Throwable;)V
throw v1
:try_end_82
.catch Lcom/google/protobuf/Utf8$UnpairedSurrogateException; {:try_start_7c .. :try_end_82} :catch_64
.end method
.method public final j(IZ)V
.registers 5
.prologue
const/4 v0, 0x0
.line 2340
const/16 v1, 0xb
invoke-direct {p0, v1}, Lcom/google/protobuf/m;->dI(I)V
.line 2341
invoke-virtual {p0, p1, v0}, Lcom/google/protobuf/m;->aq(II)V
.line 2342
if-eqz p2, :cond_c
const/4 v0, 0x1
:cond_c
int-to-byte v0, v0
invoke-virtual {p0, v0}, Lcom/google/protobuf/m;->c(B)V
.line 2343
return-void
.end method
.method public final k([BI)V
.registers 4
.prologue
.line 2386
invoke-virtual {p0, p2}, Lcom/google/protobuf/m;->dy(I)V
.line 2387
const/4 v0, 0x0
invoke-direct {p0, p1, v0, p2}, Lcom/google/protobuf/m;->write([BII)V
.line 2388
return-void
.end method
.method public final m(ILjava/lang/String;)V
.registers 4
.prologue
.line 2347
const/4 v0, 0x2
invoke-virtual {p0, p1, v0}, Lcom/google/protobuf/m;->writeTag(II)V
.line 2348
invoke-virtual {p0, p2}, Lcom/google/protobuf/m;->ft(Ljava/lang/String;)V
.line 2349
return-void
.end method
.method public final v(J)V
.registers 4
.prologue
.line 2465
const/16 v0, 0xa
invoke-direct {p0, v0}, Lcom/google/protobuf/m;->dI(I)V
.line 2466
invoke-virtual {p0, p1, p2}, Lcom/google/protobuf/m;->B(J)V
.line 2467
return-void
.end method
.method public final w(J)V
.registers 4
.prologue
.line 2471
const/16 v0, 0x8
invoke-direct {p0, v0}, Lcom/google/protobuf/m;->dI(I)V
.line 2472
invoke-virtual {p0, p1, p2}, Lcom/google/protobuf/m;->C(J)V
.line 2473
return-void
.end method
.method public final writeTag(II)V
.registers 4
.prologue
.line 2300
.line 3072
shl-int/lit8 v0, p1, 0x3
or-int/2addr v0, p2
.line 2300
invoke-virtual {p0, v0}, Lcom/google/protobuf/m;->dy(I)V
.line 2301
return-void
.end method