u.smali

.class public Lcom/google/protobuf/u;
.super Ljava/lang/Object;
.source "LazyFieldLite.java"


# static fields
.field private static final a:Lcom/google/protobuf/l;


# instance fields
.field private b:Lcom/google/protobuf/ByteString;

.field private c:Lcom/google/protobuf/l;

.field protected volatile d:Lcom/google/protobuf/x;

.field private volatile e:Lcom/google/protobuf/ByteString;


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

    .line 1
    invoke-static {}, Lcom/google/protobuf/l;->a()Lcom/google/protobuf/l;

    move-result-object v0

    sput-object v0, Lcom/google/protobuf/u;->a:Lcom/google/protobuf/l;

    return-void
.end method


# virtual methods
.method protected a(Lcom/google/protobuf/x;)V
    .registers 5

    .line 1
    iget-object v0, p0, Lcom/google/protobuf/u;->d:Lcom/google/protobuf/x;

    if-eqz v0, :cond_5

    return-void

    .line 2
    :cond_5
    monitor-enter p0

    .line 3
    :try_start_6
    iget-object v0, p0, Lcom/google/protobuf/u;->d:Lcom/google/protobuf/x;

    if-eqz v0, :cond_c

    .line 4
    monitor-exit p0
    :try_end_b
    .catchall {:try_start_6 .. :try_end_b} :catchall_34

    return-void

    .line 5
    :cond_c
    :try_start_c
    iget-object v0, p0, Lcom/google/protobuf/u;->b:Lcom/google/protobuf/ByteString;

    if-eqz v0, :cond_25

    .line 6
    invoke-interface {p1}, Lcom/google/protobuf/x;->getParserForType()Lcom/google/protobuf/A;

    move-result-object v0

    iget-object v1, p0, Lcom/google/protobuf/u;->b:Lcom/google/protobuf/ByteString;

    iget-object v2, p0, Lcom/google/protobuf/u;->c:Lcom/google/protobuf/l;

    .line 7
    invoke-interface {v0, v1, v2}, Lcom/google/protobuf/A;->a(Lcom/google/protobuf/ByteString;Lcom/google/protobuf/l;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lcom/google/protobuf/x;

    .line 8
    iput-object v0, p0, Lcom/google/protobuf/u;->d:Lcom/google/protobuf/x;

    .line 9
    iget-object v0, p0, Lcom/google/protobuf/u;->b:Lcom/google/protobuf/ByteString;

    iput-object v0, p0, Lcom/google/protobuf/u;->e:Lcom/google/protobuf/ByteString;

    goto :goto_32

    .line 10
    :cond_25
    iput-object p1, p0, Lcom/google/protobuf/u;->d:Lcom/google/protobuf/x;

    .line 11
    sget-object v0, Lcom/google/protobuf/ByteString;->EMPTY:Lcom/google/protobuf/ByteString;

    iput-object v0, p0, Lcom/google/protobuf/u;->e:Lcom/google/protobuf/ByteString;
    :try_end_2b
    .catch Lcom/google/protobuf/InvalidProtocolBufferException; {:try_start_c .. :try_end_2b} :catch_2c
    .catchall {:try_start_c .. :try_end_2b} :catchall_34

    goto :goto_32

    .line 12
    :catch_2c
    :try_start_2c
    iput-object p1, p0, Lcom/google/protobuf/u;->d:Lcom/google/protobuf/x;

    .line 13
    sget-object p1, Lcom/google/protobuf/ByteString;->EMPTY:Lcom/google/protobuf/ByteString;

    iput-object p1, p0, Lcom/google/protobuf/u;->e:Lcom/google/protobuf/ByteString;

    .line 14
    :goto_32
    monitor-exit p0

    return-void

    :catchall_34
    move-exception p1

    monitor-exit p0
    :try_end_36
    .catchall {:try_start_2c .. :try_end_36} :catchall_34

    throw p1
.end method

.method public b(Lcom/google/protobuf/x;)Lcom/google/protobuf/x;
    .registers 2

    .line 1
    invoke-virtual {p0, p1}, Lcom/google/protobuf/u;->a(Lcom/google/protobuf/x;)V

    .line 2
    iget-object p1, p0, Lcom/google/protobuf/u;->d:Lcom/google/protobuf/x;

    return-object p1
.end method

.method public c(Lcom/google/protobuf/x;)Lcom/google/protobuf/x;
    .registers 4

    .line 1
    iget-object v0, p0, Lcom/google/protobuf/u;->d:Lcom/google/protobuf/x;

    const/4 v1, 0x0

    .line 2
    iput-object v1, p0, Lcom/google/protobuf/u;->b:Lcom/google/protobuf/ByteString;

    .line 3
    iput-object v1, p0, Lcom/google/protobuf/u;->e:Lcom/google/protobuf/ByteString;

    .line 4
    iput-object p1, p0, Lcom/google/protobuf/u;->d:Lcom/google/protobuf/x;

    return-object v0
.end method