Descriptors$FieldDescriptor.smali

.class public final Lcom/google/protobuf/Descriptors$FieldDescriptor;
.super Lcom/google/protobuf/bi;
.source "Descriptors.java"

# interfaces
.implements Lcom/google/protobuf/br;
.implements Ljava/lang/Comparable;


# annotations
.annotation system Ldalvik/annotation/Signature;
    value = {
        "Lcom/google/protobuf/bi;",
        "Lcom/google/protobuf/br",
        "<",
        "Lcom/google/protobuf/Descriptors$FieldDescriptor;",
        ">;",
        "Ljava/lang/Comparable",
        "<",
        "Lcom/google/protobuf/Descriptors$FieldDescriptor;",
        ">;"
    }
.end annotation


# static fields
.field private static final bkC:[Lcom/google/protobuf/WireFormat$FieldType;


# instance fields
.field bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

.field final bkE:Lcom/google/protobuf/Descriptors$Descriptor;

.field bkF:Lcom/google/protobuf/Descriptors$FieldDescriptor$Type;

.field bkG:Lcom/google/protobuf/Descriptors$Descriptor;

.field private bkH:Lcom/google/protobuf/Descriptors$Descriptor;

.field bkI:Lcom/google/protobuf/Descriptors$OneofDescriptor;

.field private bkJ:Lcom/google/protobuf/Descriptors$EnumDescriptor;

.field private bkK:Ljava/lang/Object;

.field final bkk:Lcom/google/protobuf/Descriptors$FileDescriptor;

.field final fullName:Ljava/lang/String;

.field final index:I


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

    .prologue
    .line 988
    invoke-static {}, Lcom/google/protobuf/WireFormat$FieldType;->values()[Lcom/google/protobuf/WireFormat$FieldType;

    move-result-object v0

    sput-object v0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkC:[Lcom/google/protobuf/WireFormat$FieldType;

    .line 1186
    invoke-static {}, Lcom/google/protobuf/Descriptors$FieldDescriptor$Type;->values()[Lcom/google/protobuf/Descriptors$FieldDescriptor$Type;

    move-result-object v0

    array-length v0, v0

    invoke-static {}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto$Type;->values()[Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto$Type;

    move-result-object v1

    array-length v1, v1

    if-eq v0, v1, :cond_1a

    .line 1187
    new-instance v0, Ljava/lang/RuntimeException;

    const-string v1, "descriptor.proto has a new declared type but Descriptors.java wasn\'t updated."

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

    throw v0

    .line 1191
    :cond_1a
    return-void
.end method

.method private constructor <init>(Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;Lcom/google/protobuf/Descriptors$FileDescriptor;Lcom/google/protobuf/Descriptors$Descriptor;IZ)V
    .registers 14

    .prologue
    const/4 v1, 0x0

    const/4 v7, 0x0

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

    .line 1253
    iput p4, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->index:I

    .line 1254
    iput-object p1, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    .line 1255
    invoke-virtual {p1}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->getName()Ljava/lang/String;

    move-result-object v0

    invoke-static {p2, p3, v0}, Lcom/google/protobuf/Descriptors;->a(Lcom/google/protobuf/Descriptors$FileDescriptor;Lcom/google/protobuf/Descriptors$Descriptor;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    iput-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->fullName:Ljava/lang/String;

    .line 1256
    iput-object p2, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkk:Lcom/google/protobuf/Descriptors$FileDescriptor;

    .line 1257
    invoke-virtual {p1}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->hasJsonName()Z

    move-result v0

    if-eqz v0, :cond_3e

    .line 1258
    invoke-virtual {p1}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->getJsonName()Ljava/lang/String;

    .line 1263
    :cond_1e
    invoke-virtual {p1}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->hasType()Z

    move-result v0

    if-eqz v0, :cond_2e

    .line 1264
    invoke-virtual {p1}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->getType()Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto$Type;

    move-result-object v0

    invoke-static {v0}, Lcom/google/protobuf/Descriptors$FieldDescriptor$Type;->valueOf(Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto$Type;)Lcom/google/protobuf/Descriptors$FieldDescriptor$Type;

    move-result-object v0

    iput-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkF:Lcom/google/protobuf/Descriptors$FieldDescriptor$Type;

    .line 13920
    :cond_2e
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    invoke-virtual {v0}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->getNumber()I

    move-result v0

    .line 1267
    if-gtz v0, :cond_a8

    .line 1268
    new-instance v0, Lcom/google/protobuf/Descriptors$DescriptorValidationException;

    const-string v1, "Field numbers must be positive integers."

    invoke-direct {v0, p0, v1, v7}, Lcom/google/protobuf/Descriptors$DescriptorValidationException;-><init>(Lcom/google/protobuf/bi;Ljava/lang/String;Lcom/google/protobuf/Descriptors$1;)V

    throw v0

    .line 1260
    :cond_3e
    invoke-virtual {p1}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->getName()Ljava/lang/String;

    move-result-object v3

    .line 13217
    new-instance v4, Ljava/lang/StringBuilder;

    invoke-virtual {v3}, Ljava/lang/String;->length()I

    move-result v0

    invoke-direct {v4, v0}, Ljava/lang/StringBuilder;-><init>(I)V

    move v0, v1

    move v2, v1

    .line 13219
    :goto_4d
    invoke-virtual {v3}, Ljava/lang/String;->length()I

    move-result v5

    if-ge v0, v5, :cond_1e

    .line 13220
    invoke-virtual {v3, v0}, Ljava/lang/String;->charAt(I)C

    move-result v5

    invoke-static {v5}, Ljava/lang/Character;->valueOf(C)Ljava/lang/Character;

    move-result-object v5

    .line 13221
    invoke-virtual {v5}, Ljava/lang/Character;->charValue()C

    move-result v6

    invoke-static {v6}, Ljava/lang/Character;->isLowerCase(C)Z

    move-result v6

    if-eqz v6, :cond_7a

    .line 13222
    if-eqz v2, :cond_76

    .line 13223
    invoke-virtual {v5}, Ljava/lang/Character;->charValue()C

    move-result v2

    invoke-static {v2}, Ljava/lang/Character;->toUpperCase(C)C

    move-result v2

    invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;

    :goto_72
    move v2, v1

    .line 13219
    :goto_73
    add-int/lit8 v0, v0, 0x1

    goto :goto_4d

    .line 13225
    :cond_76
    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    goto :goto_72

    .line 13228
    :cond_7a
    invoke-virtual {v5}, Ljava/lang/Character;->charValue()C

    move-result v2

    invoke-static {v2}, Ljava/lang/Character;->isUpperCase(C)Z

    move-result v2

    if-eqz v2, :cond_97

    .line 13229
    if-nez v0, :cond_93

    .line 13231
    invoke-virtual {v5}, Ljava/lang/Character;->charValue()C

    move-result v2

    invoke-static {v2}, Ljava/lang/Character;->toLowerCase(C)C

    move-result v2

    invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;

    :goto_91
    move v2, v1

    .line 13236
    goto :goto_73

    .line 13234
    :cond_93
    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    goto :goto_91

    .line 13237
    :cond_97
    invoke-virtual {v5}, Ljava/lang/Character;->charValue()C

    move-result v2

    invoke-static {v2}, Ljava/lang/Character;->isDigit(C)Z

    move-result v2

    if-eqz v2, :cond_a6

    .line 13238
    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    move v2, v1

    .line 13239
    goto :goto_73

    .line 13241
    :cond_a6
    const/4 v2, 0x1

    goto :goto_73

    .line 1272
    :cond_a8
    if-eqz p5, :cond_d9

    .line 1273
    invoke-virtual {p1}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->hasExtendee()Z

    move-result v0

    if-nez v0, :cond_b8

    .line 1274
    new-instance v0, Lcom/google/protobuf/Descriptors$DescriptorValidationException;

    const-string v1, "FieldDescriptorProto.extendee not set for extension field."

    invoke-direct {v0, p0, v1, v7}, Lcom/google/protobuf/Descriptors$DescriptorValidationException;-><init>(Lcom/google/protobuf/bi;Ljava/lang/String;Lcom/google/protobuf/Descriptors$1;)V

    throw v0

    .line 1277
    :cond_b8
    iput-object v7, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkG:Lcom/google/protobuf/Descriptors$Descriptor;

    .line 1278
    if-eqz p3, :cond_cc

    .line 1279
    iput-object p3, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkE:Lcom/google/protobuf/Descriptors$Descriptor;

    .line 1284
    :goto_be
    invoke-virtual {p1}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->hasOneofIndex()Z

    move-result v0

    if-eqz v0, :cond_cf

    .line 1285
    new-instance v0, Lcom/google/protobuf/Descriptors$DescriptorValidationException;

    const-string v1, "FieldDescriptorProto.oneof_index set for extension field."

    invoke-direct {v0, p0, v1, v7}, Lcom/google/protobuf/Descriptors$DescriptorValidationException;-><init>(Lcom/google/protobuf/bi;Ljava/lang/String;Lcom/google/protobuf/Descriptors$1;)V

    throw v0

    .line 1281
    :cond_cc
    iput-object v7, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkE:Lcom/google/protobuf/Descriptors$Descriptor;

    goto :goto_be

    .line 1288
    :cond_cf
    iput-object v7, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkI:Lcom/google/protobuf/Descriptors$OneofDescriptor;

    .line 1311
    :goto_d1
    invoke-static {p2}, Lcom/google/protobuf/Descriptors$FileDescriptor;->c(Lcom/google/protobuf/Descriptors$FileDescriptor;)Lcom/google/protobuf/Descriptors$DescriptorPool;

    move-result-object v0

    invoke-virtual {v0, p0}, Lcom/google/protobuf/Descriptors$DescriptorPool;->c(Lcom/google/protobuf/bi;)V

    .line 1312
    return-void

    .line 1290
    :cond_d9
    invoke-virtual {p1}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->hasExtendee()Z

    move-result v0

    if-eqz v0, :cond_e7

    .line 1291
    new-instance v0, Lcom/google/protobuf/Descriptors$DescriptorValidationException;

    const-string v1, "FieldDescriptorProto.extendee set for non-extension field."

    invoke-direct {v0, p0, v1, v7}, Lcom/google/protobuf/Descriptors$DescriptorValidationException;-><init>(Lcom/google/protobuf/bi;Ljava/lang/String;Lcom/google/protobuf/Descriptors$1;)V

    throw v0

    .line 1294
    :cond_e7
    iput-object p3, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkG:Lcom/google/protobuf/Descriptors$Descriptor;

    .line 1296
    invoke-virtual {p1}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->hasOneofIndex()Z

    move-result v0

    if-eqz v0, :cond_134

    .line 1297
    invoke-virtual {p1}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->getOneofIndex()I

    move-result v0

    if-ltz v0, :cond_101

    .line 1298
    invoke-virtual {p1}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->getOneofIndex()I

    move-result v0

    .line 14599
    iget-object v1, p3, Lcom/google/protobuf/Descriptors$Descriptor;->bkj:Lcom/google/protobuf/DescriptorProtos$DescriptorProto;

    .line 1298
    invoke-virtual {v1}, Lcom/google/protobuf/DescriptorProtos$DescriptorProto;->getOneofDeclCount()I

    move-result v1

    if-lt v0, v1, :cond_11c

    .line 1299
    :cond_101
    new-instance v0, Lcom/google/protobuf/Descriptors$DescriptorValidationException;

    new-instance v1, Ljava/lang/StringBuilder;

    const-string v2, "FieldDescriptorProto.oneof_index is out of range for type "

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

    .line 14605
    iget-object v2, p3, Lcom/google/protobuf/Descriptors$Descriptor;->bkj:Lcom/google/protobuf/DescriptorProtos$DescriptorProto;

    invoke-virtual {v2}, Lcom/google/protobuf/DescriptorProtos$DescriptorProto;->getName()Ljava/lang/String;

    move-result-object v2

    .line 1301
    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    invoke-direct {v0, p0, v1, v7}, Lcom/google/protobuf/Descriptors$DescriptorValidationException;-><init>(Lcom/google/protobuf/bi;Ljava/lang/String;Lcom/google/protobuf/Descriptors$1;)V

    throw v0

    .line 1303
    :cond_11c
    invoke-virtual {p3}, Lcom/google/protobuf/Descriptors$Descriptor;->DF()Ljava/util/List;

    move-result-object v0

    invoke-virtual {p1}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->getOneofIndex()I

    move-result v1

    invoke-interface {v0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lcom/google/protobuf/Descriptors$OneofDescriptor;

    iput-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkI:Lcom/google/protobuf/Descriptors$OneofDescriptor;

    .line 1304
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkI:Lcom/google/protobuf/Descriptors$OneofDescriptor;

    invoke-static {v0}, Lcom/google/protobuf/Descriptors$OneofDescriptor;->z(Lcom/google/protobuf/Descriptors$OneofDescriptor;)I

    .line 1308
    :goto_131
    iput-object v7, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkE:Lcom/google/protobuf/Descriptors$Descriptor;

    goto :goto_d1

    .line 1306
    :cond_134
    iput-object v7, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkI:Lcom/google/protobuf/Descriptors$OneofDescriptor;

    goto :goto_131
.end method

.method synthetic constructor <init>(Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;Lcom/google/protobuf/Descriptors$FileDescriptor;Lcom/google/protobuf/Descriptors$Descriptor;IZB)V
    .registers 7

    .prologue
    .line 895
    invoke-direct/range {p0 .. p5}, Lcom/google/protobuf/Descriptors$FieldDescriptor;-><init>(Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;Lcom/google/protobuf/Descriptors$FileDescriptor;Lcom/google/protobuf/Descriptors$Descriptor;IZ)V

    return-void
.end method

.method static synthetic a(Lcom/google/protobuf/Descriptors$FieldDescriptor;Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;)V
    .registers 2

    .prologue
    .line 895
    .line 31511
    iput-object p1, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    .line 895
    return-void
.end method

.method static synthetic y(Lcom/google/protobuf/Descriptors$FieldDescriptor;)V
    .registers 7

    .prologue
    const/16 v5, 0x22

    const/4 v1, 0x0

    .line 895
    .line 17316
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    invoke-virtual {v0}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->hasExtendee()Z

    move-result v0

    if-eqz v0, :cond_83

    .line 17317
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkk:Lcom/google/protobuf/Descriptors$FileDescriptor;

    .line 17318
    invoke-static {v0}, Lcom/google/protobuf/Descriptors$FileDescriptor;->c(Lcom/google/protobuf/Descriptors$FileDescriptor;)Lcom/google/protobuf/Descriptors$DescriptorPool;

    move-result-object v0

    iget-object v2, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    invoke-virtual {v2}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->getExtendee()Ljava/lang/String;

    move-result-object v2

    sget-object v3, Lcom/google/protobuf/Descriptors$DescriptorPool$SearchFilter;->TYPES_ONLY:Lcom/google/protobuf/Descriptors$DescriptorPool$SearchFilter;

    invoke-virtual {v0, v2, p0, v3}, Lcom/google/protobuf/Descriptors$DescriptorPool;->a(Ljava/lang/String;Lcom/google/protobuf/bi;Lcom/google/protobuf/Descriptors$DescriptorPool$SearchFilter;)Lcom/google/protobuf/bi;

    move-result-object v0

    .line 17320
    instance-of v2, v0, Lcom/google/protobuf/Descriptors$Descriptor;

    if-nez v2, :cond_42

    .line 17321
    new-instance v0, Lcom/google/protobuf/Descriptors$DescriptorValidationException;

    new-instance v2, Ljava/lang/StringBuilder;

    const-string v3, "\""

    invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    iget-object v3, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    .line 17322
    invoke-virtual {v3}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->getExtendee()Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    const-string v3, "\" is not a message type."

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-direct {v0, p0, v2, v1}, Lcom/google/protobuf/Descriptors$DescriptorValidationException;-><init>(Lcom/google/protobuf/bi;Ljava/lang/String;Lcom/google/protobuf/Descriptors$1;)V

    throw v0

    .line 17324
    :cond_42
    check-cast v0, Lcom/google/protobuf/Descriptors$Descriptor;

    iput-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkG:Lcom/google/protobuf/Descriptors$Descriptor;

    .line 18054
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkG:Lcom/google/protobuf/Descriptors$Descriptor;

    .line 18920
    iget-object v2, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    invoke-virtual {v2}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->getNumber()I

    move-result v2

    .line 17326
    invoke-virtual {v0, v2}, Lcom/google/protobuf/Descriptors$Descriptor;->dM(I)Z

    move-result v0

    if-nez v0, :cond_83

    .line 17327
    new-instance v0, Lcom/google/protobuf/Descriptors$DescriptorValidationException;

    new-instance v2, Ljava/lang/StringBuilder;

    const-string v3, "\""

    invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    .line 19054
    iget-object v3, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkG:Lcom/google/protobuf/Descriptors$Descriptor;

    .line 19621
    iget-object v3, v3, Lcom/google/protobuf/Descriptors$Descriptor;->fullName:Ljava/lang/String;

    .line 17328
    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    const-string v3, "\" does not declare "

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    .line 19920
    iget-object v3, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    invoke-virtual {v3}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->getNumber()I

    move-result v3

    .line 17329
    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v2

    const-string v3, " as an extension number."

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-direct {v0, p0, v2, v1}, Lcom/google/protobuf/Descriptors$DescriptorValidationException;-><init>(Lcom/google/protobuf/bi;Ljava/lang/String;Lcom/google/protobuf/Descriptors$1;)V

    throw v0

    .line 17334
    :cond_83
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    invoke-virtual {v0}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->hasTypeName()Z

    move-result v0

    if-eqz v0, :cond_16f

    .line 17335
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkk:Lcom/google/protobuf/Descriptors$FileDescriptor;

    .line 17336
    invoke-static {v0}, Lcom/google/protobuf/Descriptors$FileDescriptor;->c(Lcom/google/protobuf/Descriptors$FileDescriptor;)Lcom/google/protobuf/Descriptors$DescriptorPool;

    move-result-object v0

    iget-object v2, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    invoke-virtual {v2}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->getTypeName()Ljava/lang/String;

    move-result-object v2

    sget-object v3, Lcom/google/protobuf/Descriptors$DescriptorPool$SearchFilter;->TYPES_ONLY:Lcom/google/protobuf/Descriptors$DescriptorPool$SearchFilter;

    invoke-virtual {v0, v2, p0, v3}, Lcom/google/protobuf/Descriptors$DescriptorPool;->a(Ljava/lang/String;Lcom/google/protobuf/bi;Lcom/google/protobuf/Descriptors$DescriptorPool$SearchFilter;)Lcom/google/protobuf/bi;

    move-result-object v0

    .line 17339
    iget-object v2, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    invoke-virtual {v2}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->hasType()Z

    move-result v2

    if-nez v2, :cond_ad

    .line 17341
    instance-of v2, v0, Lcom/google/protobuf/Descriptors$Descriptor;

    if-eqz v2, :cond_dc

    .line 17342
    sget-object v2, Lcom/google/protobuf/Descriptors$FieldDescriptor$Type;->MESSAGE:Lcom/google/protobuf/Descriptors$FieldDescriptor$Type;

    iput-object v2, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkF:Lcom/google/protobuf/Descriptors$FieldDescriptor$Type;

    .line 19941
    :cond_ad
    :goto_ad
    iget-object v2, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkF:Lcom/google/protobuf/Descriptors$FieldDescriptor$Type;

    invoke-virtual {v2}, Lcom/google/protobuf/Descriptors$FieldDescriptor$Type;->getJavaType()Lcom/google/protobuf/Descriptors$FieldDescriptor$JavaType;

    move-result-object v2

    .line 17351
    sget-object v3, Lcom/google/protobuf/Descriptors$FieldDescriptor$JavaType;->MESSAGE:Lcom/google/protobuf/Descriptors$FieldDescriptor$JavaType;

    if-ne v2, v3, :cond_11a

    .line 17352
    instance-of v2, v0, Lcom/google/protobuf/Descriptors$Descriptor;

    if-nez v2, :cond_106

    .line 17353
    new-instance v0, Lcom/google/protobuf/Descriptors$DescriptorValidationException;

    new-instance v2, Ljava/lang/StringBuilder;

    const-string v3, "\""

    invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    iget-object v3, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    .line 17354
    invoke-virtual {v3}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->getTypeName()Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    const-string v3, "\" is not a message type."

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-direct {v0, p0, v2, v1}, Lcom/google/protobuf/Descriptors$DescriptorValidationException;-><init>(Lcom/google/protobuf/bi;Ljava/lang/String;Lcom/google/protobuf/Descriptors$1;)V

    throw v0

    .line 17343
    :cond_dc
    instance-of v2, v0, Lcom/google/protobuf/Descriptors$EnumDescriptor;

    if-eqz v2, :cond_e5

    .line 17344
    sget-object v2, Lcom/google/protobuf/Descriptors$FieldDescriptor$Type;->ENUM:Lcom/google/protobuf/Descriptors$FieldDescriptor$Type;

    iput-object v2, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkF:Lcom/google/protobuf/Descriptors$FieldDescriptor$Type;

    goto :goto_ad

    .line 17346
    :cond_e5
    new-instance v0, Lcom/google/protobuf/Descriptors$DescriptorValidationException;

    new-instance v2, Ljava/lang/StringBuilder;

    const-string v3, "\""

    invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    iget-object v3, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    .line 17347
    invoke-virtual {v3}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->getTypeName()Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    const-string v3, "\" is not a type."

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-direct {v0, p0, v2, v1}, Lcom/google/protobuf/Descriptors$DescriptorValidationException;-><init>(Lcom/google/protobuf/bi;Ljava/lang/String;Lcom/google/protobuf/Descriptors$1;)V

    throw v0

    .line 17356
    :cond_106
    check-cast v0, Lcom/google/protobuf/Descriptors$Descriptor;

    iput-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkH:Lcom/google/protobuf/Descriptors$Descriptor;

    .line 17358
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    invoke-virtual {v0}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->hasDefaultValue()Z

    move-result v0

    if-eqz v0, :cond_14d

    .line 17359
    new-instance v0, Lcom/google/protobuf/Descriptors$DescriptorValidationException;

    const-string v2, "Messages can\'t have default values."

    invoke-direct {v0, p0, v2, v1}, Lcom/google/protobuf/Descriptors$DescriptorValidationException;-><init>(Lcom/google/protobuf/bi;Ljava/lang/String;Lcom/google/protobuf/Descriptors$1;)V

    throw v0

    .line 20941
    :cond_11a
    iget-object v2, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkF:Lcom/google/protobuf/Descriptors$FieldDescriptor$Type;

    invoke-virtual {v2}, Lcom/google/protobuf/Descriptors$FieldDescriptor$Type;->getJavaType()Lcom/google/protobuf/Descriptors$FieldDescriptor$JavaType;

    move-result-object v2

    .line 17362
    sget-object v3, Lcom/google/protobuf/Descriptors$FieldDescriptor$JavaType;->ENUM:Lcom/google/protobuf/Descriptors$FieldDescriptor$JavaType;

    if-ne v2, v3, :cond_167

    .line 17363
    instance-of v2, v0, Lcom/google/protobuf/Descriptors$EnumDescriptor;

    if-nez v2, :cond_149

    .line 17364
    new-instance v0, Lcom/google/protobuf/Descriptors$DescriptorValidationException;

    new-instance v2, Ljava/lang/StringBuilder;

    const-string v3, "\""

    invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    iget-object v3, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    .line 17365
    invoke-virtual {v3}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->getTypeName()Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    const-string v3, "\" is not an enum type."

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-direct {v0, p0, v2, v1}, Lcom/google/protobuf/Descriptors$DescriptorValidationException;-><init>(Lcom/google/protobuf/bi;Ljava/lang/String;Lcom/google/protobuf/Descriptors$1;)V

    throw v0

    .line 17367
    :cond_149
    check-cast v0, Lcom/google/protobuf/Descriptors$EnumDescriptor;

    iput-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkJ:Lcom/google/protobuf/Descriptors$EnumDescriptor;

    .line 17381
    :cond_14d
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    invoke-virtual {v0}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->getOptions()Lcom/google/protobuf/DescriptorProtos$FieldOptions;

    move-result-object v0

    invoke-virtual {v0}, Lcom/google/protobuf/DescriptorProtos$FieldOptions;->getPacked()Z

    move-result v0

    if-eqz v0, :cond_18b

    invoke-virtual {p0}, Lcom/google/protobuf/Descriptors$FieldDescriptor;->isPackable()Z

    move-result v0

    if-nez v0, :cond_18b

    .line 17382
    new-instance v0, Lcom/google/protobuf/Descriptors$DescriptorValidationException;

    const-string v2, "[packed = true] can only be specified for repeated primitive fields."

    invoke-direct {v0, p0, v2, v1}, Lcom/google/protobuf/Descriptors$DescriptorValidationException;-><init>(Lcom/google/protobuf/bi;Ljava/lang/String;Lcom/google/protobuf/Descriptors$1;)V

    throw v0

    .line 17369
    :cond_167
    new-instance v0, Lcom/google/protobuf/Descriptors$DescriptorValidationException;

    const-string v2, "Field with primitive type has type_name."

    invoke-direct {v0, p0, v2, v1}, Lcom/google/protobuf/Descriptors$DescriptorValidationException;-><init>(Lcom/google/protobuf/bi;Ljava/lang/String;Lcom/google/protobuf/Descriptors$1;)V

    throw v0

    .line 21941
    :cond_16f
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkF:Lcom/google/protobuf/Descriptors$FieldDescriptor$Type;

    invoke-virtual {v0}, Lcom/google/protobuf/Descriptors$FieldDescriptor$Type;->getJavaType()Lcom/google/protobuf/Descriptors$FieldDescriptor$JavaType;

    move-result-object v0

    .line 17373
    sget-object v2, Lcom/google/protobuf/Descriptors$FieldDescriptor$JavaType;->MESSAGE:Lcom/google/protobuf/Descriptors$FieldDescriptor$JavaType;

    if-eq v0, v2, :cond_183

    .line 22941
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkF:Lcom/google/protobuf/Descriptors$FieldDescriptor$Type;

    invoke-virtual {v0}, Lcom/google/protobuf/Descriptors$FieldDescriptor$Type;->getJavaType()Lcom/google/protobuf/Descriptors$FieldDescriptor$JavaType;

    move-result-object v0

    .line 17374
    sget-object v2, Lcom/google/protobuf/Descriptors$FieldDescriptor$JavaType;->ENUM:Lcom/google/protobuf/Descriptors$FieldDescriptor$JavaType;

    if-ne v0, v2, :cond_14d

    .line 17375
    :cond_183
    new-instance v0, Lcom/google/protobuf/Descriptors$DescriptorValidationException;

    const-string v2, "Field with message or enum type missing type_name."

    invoke-direct {v0, p0, v2, v1}, Lcom/google/protobuf/Descriptors$DescriptorValidationException;-><init>(Lcom/google/protobuf/bi;Ljava/lang/String;Lcom/google/protobuf/Descriptors$1;)V

    throw v0

    .line 17389
    :cond_18b
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    invoke-virtual {v0}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->hasDefaultValue()Z

    move-result v0

    if-eqz v0, :cond_3d1

    .line 17390
    invoke-virtual {p0}, Lcom/google/protobuf/Descriptors$FieldDescriptor;->DP()Z

    move-result v0

    if-eqz v0, :cond_1a1

    .line 17391
    new-instance v0, Lcom/google/protobuf/Descriptors$DescriptorValidationException;

    const-string v2, "Repeated fields cannot have default values."

    invoke-direct {v0, p0, v2, v1}, Lcom/google/protobuf/Descriptors$DescriptorValidationException;-><init>(Lcom/google/protobuf/bi;Ljava/lang/String;Lcom/google/protobuf/Descriptors$1;)V

    throw v0

    .line 17396
    :cond_1a1
    :try_start_1a1
    sget-object v0, Lcom/google/protobuf/Descriptors$1;->bkh:[I

    .line 22956
    iget-object v2, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkF:Lcom/google/protobuf/Descriptors$FieldDescriptor$Type;

    .line 17396
    invoke-virtual {v2}, Lcom/google/protobuf/Descriptors$FieldDescriptor$Type;->ordinal()I

    move-result v2

    aget v0, v0, v2
    :try_end_1ab
    .catch Ljava/lang/NumberFormatException; {:try_start_1a1 .. :try_end_1ab} :catch_228

    packed-switch v0, :pswitch_data_448

    .line 25047
    :cond_1ae
    :goto_1ae
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    invoke-virtual {v0}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->hasExtendee()Z

    move-result v0

    .line 17491
    if-nez v0, :cond_411

    .line 17492
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkk:Lcom/google/protobuf/Descriptors$FileDescriptor;

    invoke-static {v0}, Lcom/google/protobuf/Descriptors$FileDescriptor;->c(Lcom/google/protobuf/Descriptors$FileDescriptor;)Lcom/google/protobuf/Descriptors$DescriptorPool;

    move-result-object v2

    .line 25441
    new-instance v3, Lcom/google/protobuf/bf;

    .line 26054
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkG:Lcom/google/protobuf/Descriptors$Descriptor;

    .line 26920
    iget-object v4, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    invoke-virtual {v4}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->getNumber()I

    move-result v4

    .line 25442
    invoke-direct {v3, v0, v4}, Lcom/google/protobuf/bf;-><init>(Lcom/google/protobuf/bi;I)V

    .line 25443
    iget-object v0, v2, Lcom/google/protobuf/Descriptors$DescriptorPool;->bkt:Ljava/util/Map;

    invoke-interface {v0, v3, p0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lcom/google/protobuf/Descriptors$FieldDescriptor;

    .line 25444
    if-eqz v0, :cond_411

    .line 25445
    iget-object v2, v2, Lcom/google/protobuf/Descriptors$DescriptorPool;->bkt:Ljava/util/Map;

    invoke-interface {v2, v3, v0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    .line 25446
    new-instance v2, Lcom/google/protobuf/Descriptors$DescriptorValidationException;

    new-instance v3, Ljava/lang/StringBuilder;

    const-string v4, "Field number "

    invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    .line 27920
    iget-object v4, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    invoke-virtual {v4}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->getNumber()I

    move-result v4

    .line 25447
    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v3

    const-string v4, " has already been used in \""

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    .line 28054
    iget-object v4, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkG:Lcom/google/protobuf/Descriptors$Descriptor;

    .line 28621
    iget-object v4, v4, Lcom/google/protobuf/Descriptors$Descriptor;->fullName:Ljava/lang/String;

    .line 25449
    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    const-string v4, "\" by field \""

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    .line 28914
    iget-object v0, v0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    invoke-virtual {v0}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->getName()Ljava/lang/String;

    move-result-object v0

    .line 25450
    invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v3, "\"."

    invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-direct {v2, p0, v0, v1}, Lcom/google/protobuf/Descriptors$DescriptorValidationException;-><init>(Lcom/google/protobuf/bi;Ljava/lang/String;Lcom/google/protobuf/Descriptors$1;)V

    throw v2

    .line 17400
    :pswitch_217
    :try_start_217
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    invoke-virtual {v0}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->getDefaultValue()Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Lcom/google/protobuf/TextFormat;->fD(Ljava/lang/String;)I

    move-result v0

    invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v0

    iput-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkK:Ljava/lang/Object;
    :try_end_227
    .catch Ljava/lang/NumberFormatException; {:try_start_217 .. :try_end_227} :catch_228

    goto :goto_1ae

    .line 17465
    :catch_228
    move-exception v0

    .line 17466
    new-instance v2, Lcom/google/protobuf/Descriptors$DescriptorValidationException;

    new-instance v3, Ljava/lang/StringBuilder;

    const-string v4, "Could not parse default value: \""

    invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    iget-object v4, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    .line 17468
    invoke-virtual {v4}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->getDefaultValue()Ljava/lang/String;

    move-result-object v4

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    invoke-direct {v2, p0, v3, v0, v1}, Lcom/google/protobuf/Descriptors$DescriptorValidationException;-><init>(Lcom/google/protobuf/bi;Ljava/lang/String;Ljava/lang/Throwable;Lcom/google/protobuf/Descriptors$1;)V

    throw v2

    .line 17404
    :pswitch_248
    :try_start_248
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    invoke-virtual {v0}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->getDefaultValue()Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Lcom/google/protobuf/TextFormat;->fE(Ljava/lang/String;)I

    move-result v0

    invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v0

    iput-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkK:Ljava/lang/Object;

    goto/16 :goto_1ae

    .line 17409
    :pswitch_25a
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    invoke-virtual {v0}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->getDefaultValue()Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Lcom/google/protobuf/TextFormat;->fF(Ljava/lang/String;)J

    move-result-wide v2

    invoke-static {v2, v3}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;

    move-result-object v0

    iput-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkK:Ljava/lang/Object;

    goto/16 :goto_1ae

    .line 17413
    :pswitch_26c
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    invoke-virtual {v0}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->getDefaultValue()Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Lcom/google/protobuf/TextFormat;->fG(Ljava/lang/String;)J

    move-result-wide v2

    invoke-static {v2, v3}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;

    move-result-object v0

    iput-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkK:Ljava/lang/Object;

    goto/16 :goto_1ae

    .line 17416
    :pswitch_27e
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    invoke-virtual {v0}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->getDefaultValue()Ljava/lang/String;

    move-result-object v0

    const-string v2, "inf"

    invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_296

    .line 17417
    const/high16 v0, 0x7f800000    # Float.POSITIVE_INFINITY

    invoke-static {v0}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;

    move-result-object v0

    iput-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkK:Ljava/lang/Object;

    goto/16 :goto_1ae

    .line 17418
    :cond_296
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    invoke-virtual {v0}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->getDefaultValue()Ljava/lang/String;

    move-result-object v0

    const-string v2, "-inf"

    invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_2ae

    .line 17419
    const/high16 v0, -0x800000    # Float.NEGATIVE_INFINITY

    invoke-static {v0}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;

    move-result-object v0

    iput-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkK:Ljava/lang/Object;

    goto/16 :goto_1ae

    .line 17420
    :cond_2ae
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    invoke-virtual {v0}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->getDefaultValue()Ljava/lang/String;

    move-result-object v0

    const-string v2, "nan"

    invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_2c6

    .line 17421
    const/high16 v0, 0x7fc00000    # Float.NaN

    invoke-static {v0}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;

    move-result-object v0

    iput-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkK:Ljava/lang/Object;

    goto/16 :goto_1ae

    .line 17423
    :cond_2c6
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    invoke-virtual {v0}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->getDefaultValue()Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Ljava/lang/Float;->valueOf(Ljava/lang/String;)Ljava/lang/Float;

    move-result-object v0

    iput-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkK:Ljava/lang/Object;

    goto/16 :goto_1ae

    .line 17427
    :pswitch_2d4
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    invoke-virtual {v0}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->getDefaultValue()Ljava/lang/String;

    move-result-object v0

    const-string v2, "inf"

    invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_2ec

    .line 17428
    const-wide/high16 v2, 0x7ff0000000000000L    # Double.POSITIVE_INFINITY

    invoke-static {v2, v3}, Ljava/lang/Double;->valueOf(D)Ljava/lang/Double;

    move-result-object v0

    iput-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkK:Ljava/lang/Object;

    goto/16 :goto_1ae

    .line 17429
    :cond_2ec
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    invoke-virtual {v0}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->getDefaultValue()Ljava/lang/String;

    move-result-object v0

    const-string v2, "-inf"

    invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_304

    .line 17430
    const-wide/high16 v2, -0x10000000000000L    # Double.NEGATIVE_INFINITY

    invoke-static {v2, v3}, Ljava/lang/Double;->valueOf(D)Ljava/lang/Double;

    move-result-object v0

    iput-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkK:Ljava/lang/Object;

    goto/16 :goto_1ae

    .line 17431
    :cond_304
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    invoke-virtual {v0}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->getDefaultValue()Ljava/lang/String;

    move-result-object v0

    const-string v2, "nan"

    invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_31c

    .line 17432
    const-wide/high16 v2, 0x7ff8000000000000L    # Double.NaN

    invoke-static {v2, v3}, Ljava/lang/Double;->valueOf(D)Ljava/lang/Double;

    move-result-object v0

    iput-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkK:Ljava/lang/Object;

    goto/16 :goto_1ae

    .line 17434
    :cond_31c
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    invoke-virtual {v0}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->getDefaultValue()Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Ljava/lang/Double;->valueOf(Ljava/lang/String;)Ljava/lang/Double;

    move-result-object v0

    iput-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkK:Ljava/lang/Object;

    goto/16 :goto_1ae

    .line 17438
    :pswitch_32a
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    invoke-virtual {v0}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->getDefaultValue()Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Ljava/lang/Boolean;->valueOf(Ljava/lang/String;)Ljava/lang/Boolean;

    move-result-object v0

    iput-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkK:Ljava/lang/Object;

    goto/16 :goto_1ae

    .line 17441
    :pswitch_338
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    invoke-virtual {v0}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->getDefaultValue()Ljava/lang/String;

    move-result-object v0

    iput-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkK:Ljava/lang/Object;
    :try_end_340
    .catch Ljava/lang/NumberFormatException; {:try_start_248 .. :try_end_340} :catch_228

    goto/16 :goto_1ae

    .line 17445
    :pswitch_342
    :try_start_342
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    .line 17446
    invoke-virtual {v0}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->getDefaultValue()Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Lcom/google/protobuf/TextFormat;->o(Ljava/lang/CharSequence;)Lcom/google/protobuf/ByteString;

    move-result-object v0

    iput-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkK:Ljava/lang/Object;
    :try_end_34e
    .catch Lcom/google/protobuf/TextFormat$InvalidEscapeSequenceException; {:try_start_342 .. :try_end_34e} :catch_350
    .catch Ljava/lang/NumberFormatException; {:try_start_342 .. :try_end_34e} :catch_228

    goto/16 :goto_1ae

    .line 17447
    :catch_350
    move-exception v0

    .line 17448
    :try_start_351
    new-instance v2, Lcom/google/protobuf/Descriptors$DescriptorValidationException;

    new-instance v3, Ljava/lang/StringBuilder;

    const-string v4, "Couldn\'t parse default value: "

    invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    .line 17449
    invoke-virtual {v0}, Lcom/google/protobuf/TextFormat$InvalidEscapeSequenceException;->getMessage()Ljava/lang/String;

    move-result-object v4

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    const/4 v4, 0x0

    invoke-direct {v2, p0, v3, v0, v4}, Lcom/google/protobuf/Descriptors$DescriptorValidationException;-><init>(Lcom/google/protobuf/bi;Ljava/lang/String;Ljava/lang/Throwable;Lcom/google/protobuf/Descriptors$1;)V

    throw v2

    .line 17453
    :pswitch_36b
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkJ:Lcom/google/protobuf/Descriptors$EnumDescriptor;

    iget-object v2, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    invoke-virtual {v2}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->getDefaultValue()Ljava/lang/String;

    move-result-object v2

    .line 23582
    iget-object v3, v0, Lcom/google/protobuf/Descriptors$EnumDescriptor;->bkk:Lcom/google/protobuf/Descriptors$FileDescriptor;

    .line 23583
    invoke-static {v3}, Lcom/google/protobuf/Descriptors$FileDescriptor;->c(Lcom/google/protobuf/Descriptors$FileDescriptor;)Lcom/google/protobuf/Descriptors$DescriptorPool;

    move-result-object v3

    new-instance v4, Ljava/lang/StringBuilder;

    invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V

    iget-object v0, v0, Lcom/google/protobuf/Descriptors$EnumDescriptor;->fullName:Ljava/lang/String;

    invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const/16 v4, 0x2e

    invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v3, v0}, Lcom/google/protobuf/Descriptors$DescriptorPool;->fA(Ljava/lang/String;)Lcom/google/protobuf/bi;

    move-result-object v0

    .line 23584
    if-eqz v0, :cond_3c6

    instance-of v2, v0, Lcom/google/protobuf/Descriptors$EnumValueDescriptor;

    if-eqz v2, :cond_3c6

    .line 23585
    check-cast v0, Lcom/google/protobuf/Descriptors$EnumValueDescriptor;

    .line 17453
    :goto_39e
    iput-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkK:Ljava/lang/Object;

    .line 17454
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkK:Ljava/lang/Object;

    if-nez v0, :cond_1ae

    .line 17455
    new-instance v0, Lcom/google/protobuf/Descriptors$DescriptorValidationException;

    new-instance v2, Ljava/lang/StringBuilder;

    const-string v3, "Unknown enum default value: \""

    invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    iget-object v3, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    .line 17457
    invoke-virtual {v3}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->getDefaultValue()Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    const/16 v3, 0x22

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    const/4 v3, 0x0

    invoke-direct {v0, p0, v2, v3}, Lcom/google/protobuf/Descriptors$DescriptorValidationException;-><init>(Lcom/google/protobuf/bi;Ljava/lang/String;Lcom/google/protobuf/Descriptors$1;)V

    throw v0

    :cond_3c6
    move-object v0, v1

    .line 23587
    goto :goto_39e

    .line 17462
    :pswitch_3c8
    new-instance v0, Lcom/google/protobuf/Descriptors$DescriptorValidationException;

    const-string v2, "Message type had default value."

    const/4 v3, 0x0

    invoke-direct {v0, p0, v2, v3}, Lcom/google/protobuf/Descriptors$DescriptorValidationException;-><init>(Lcom/google/protobuf/bi;Ljava/lang/String;Lcom/google/protobuf/Descriptors$1;)V

    throw v0
    :try_end_3d1
    .catch Ljava/lang/NumberFormatException; {:try_start_351 .. :try_end_3d1} :catch_228

    .line 17472
    :cond_3d1
    invoke-virtual {p0}, Lcom/google/protobuf/Descriptors$FieldDescriptor;->DP()Z

    move-result v0

    if-eqz v0, :cond_3df

    .line 17473
    invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List;

    move-result-object v0

    iput-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkK:Ljava/lang/Object;

    goto/16 :goto_1ae

    .line 17475
    :cond_3df
    sget-object v0, Lcom/google/protobuf/Descriptors$1;->bki:[I

    .line 23941
    iget-object v2, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkF:Lcom/google/protobuf/Descriptors$FieldDescriptor$Type;

    invoke-virtual {v2}, Lcom/google/protobuf/Descriptors$FieldDescriptor$Type;->getJavaType()Lcom/google/protobuf/Descriptors$FieldDescriptor$JavaType;

    move-result-object v2

    .line 17475
    invoke-virtual {v2}, Lcom/google/protobuf/Descriptors$FieldDescriptor$JavaType;->ordinal()I

    move-result v2

    aget v0, v0, v2

    packed-switch v0, :pswitch_data_470

    .line 24941
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkF:Lcom/google/protobuf/Descriptors$FieldDescriptor$Type;

    invoke-virtual {v0}, Lcom/google/protobuf/Descriptors$FieldDescriptor$Type;->getJavaType()Lcom/google/protobuf/Descriptors$FieldDescriptor$JavaType;

    move-result-object v0

    .line 17485
    # getter for: Lcom/google/protobuf/Descriptors$FieldDescriptor$JavaType;->defaultDefault:Ljava/lang/Object;
    invoke-static {v0}, Lcom/google/protobuf/Descriptors$FieldDescriptor$JavaType;->access$2300(Lcom/google/protobuf/Descriptors$FieldDescriptor$JavaType;)Ljava/lang/Object;

    move-result-object v0

    iput-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkK:Ljava/lang/Object;

    goto/16 :goto_1ae

    .line 17479
    :pswitch_3fe
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkJ:Lcom/google/protobuf/Descriptors$EnumDescriptor;

    invoke-virtual {v0}, Lcom/google/protobuf/Descriptors$EnumDescriptor;->getValues()Ljava/util/List;

    move-result-object v0

    const/4 v2, 0x0

    invoke-interface {v0, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;

    move-result-object v0

    iput-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkK:Ljava/lang/Object;

    goto/16 :goto_1ae

    .line 17482
    :pswitch_40d
    iput-object v1, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkK:Ljava/lang/Object;

    goto/16 :goto_1ae

    .line 17495
    :cond_411
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkG:Lcom/google/protobuf/Descriptors$Descriptor;

    if-eqz v0, :cond_447

    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkG:Lcom/google/protobuf/Descriptors$Descriptor;

    .line 29634
    iget-object v0, v0, Lcom/google/protobuf/Descriptors$Descriptor;->bkj:Lcom/google/protobuf/DescriptorProtos$DescriptorProto;

    invoke-virtual {v0}, Lcom/google/protobuf/DescriptorProtos$DescriptorProto;->getOptions()Lcom/google/protobuf/DescriptorProtos$MessageOptions;

    move-result-object v0

    .line 17496
    invoke-virtual {v0}, Lcom/google/protobuf/DescriptorProtos$MessageOptions;->getMessageSetWireFormat()Z

    move-result v0

    if-eqz v0, :cond_447

    .line 30047
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    invoke-virtual {v0}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->hasExtendee()Z

    move-result v0

    .line 17497
    if-eqz v0, :cond_43f

    .line 17498
    invoke-virtual {p0}, Lcom/google/protobuf/Descriptors$FieldDescriptor;->DO()Z

    move-result v0

    if-eqz v0, :cond_437

    .line 30956
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkF:Lcom/google/protobuf/Descriptors$FieldDescriptor$Type;

    .line 17498
    sget-object v2, Lcom/google/protobuf/Descriptors$FieldDescriptor$Type;->MESSAGE:Lcom/google/protobuf/Descriptors$FieldDescriptor$Type;

    if-eq v0, v2, :cond_447

    .line 17499
    :cond_437
    new-instance v0, Lcom/google/protobuf/Descriptors$DescriptorValidationException;

    const-string v2, "Extensions of MessageSets must be optional messages."

    invoke-direct {v0, p0, v2, v1}, Lcom/google/protobuf/Descriptors$DescriptorValidationException;-><init>(Lcom/google/protobuf/bi;Ljava/lang/String;Lcom/google/protobuf/Descriptors$1;)V

    throw v0

    .line 17503
    :cond_43f
    new-instance v0, Lcom/google/protobuf/Descriptors$DescriptorValidationException;

    const-string v2, "MessageSets cannot have fields, only extensions."

    invoke-direct {v0, p0, v2, v1}, Lcom/google/protobuf/Descriptors$DescriptorValidationException;-><init>(Lcom/google/protobuf/bi;Ljava/lang/String;Lcom/google/protobuf/Descriptors$1;)V

    throw v0

    .line 895
    :cond_447
    return-void

    .line 17396
    :pswitch_data_448
    .packed-switch 0x1
        :pswitch_217
        :pswitch_217
        :pswitch_217
        :pswitch_248
        :pswitch_248
        :pswitch_25a
        :pswitch_25a
        :pswitch_25a
        :pswitch_26c
        :pswitch_26c
        :pswitch_27e
        :pswitch_2d4
        :pswitch_32a
        :pswitch_338
        :pswitch_342
        :pswitch_36b
        :pswitch_3c8
        :pswitch_3c8
    .end packed-switch

    .line 17475
    :pswitch_data_470
    .packed-switch 0x1
        :pswitch_3fe
        :pswitch_40d
    .end packed-switch
.end method


# virtual methods
.method public final DE()Lcom/google/protobuf/Descriptors$FileDescriptor;
    .registers 2

    .prologue
    .line 952
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkk:Lcom/google/protobuf/Descriptors$FileDescriptor;

    return-object v0
.end method

.method public final bridge synthetic DJ()Lcom/google/protobuf/Message;
    .registers 2

    .prologue
    .line 895
    .line 14908
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    .line 895
    return-object v0
.end method

.method public final DK()Lcom/google/protobuf/WireFormat$JavaType;
    .registers 2

    .prologue
    .line 946
    invoke-virtual {p0}, Lcom/google/protobuf/Descriptors$FieldDescriptor;->DL()Lcom/google/protobuf/WireFormat$FieldType;

    move-result-object v0

    invoke-virtual {v0}, Lcom/google/protobuf/WireFormat$FieldType;->getJavaType()Lcom/google/protobuf/WireFormat$JavaType;

    move-result-object v0

    return-object v0
.end method

.method public final DL()Lcom/google/protobuf/WireFormat$FieldType;
    .registers 3

    .prologue
    .line 961
    sget-object v0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkC:[Lcom/google/protobuf/WireFormat$FieldType;

    iget-object v1, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkF:Lcom/google/protobuf/Descriptors$FieldDescriptor$Type;

    invoke-virtual {v1}, Lcom/google/protobuf/Descriptors$FieldDescriptor$Type;->ordinal()I

    move-result v1

    aget-object v0, v0, v1

    return-object v0
.end method

.method public final DM()Z
    .registers 4

    .prologue
    const/4 v0, 0x1

    .line 966
    iget-object v1, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkF:Lcom/google/protobuf/Descriptors$FieldDescriptor$Type;

    sget-object v2, Lcom/google/protobuf/Descriptors$FieldDescriptor$Type;->STRING:Lcom/google/protobuf/Descriptors$FieldDescriptor$Type;

    if-eq v1, v2, :cond_9

    .line 967
    const/4 v0, 0x0

    .line 976
    :cond_8
    :goto_8
    return v0

    .line 3054
    :cond_9
    iget-object v1, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkG:Lcom/google/protobuf/Descriptors$Descriptor;

    .line 3634
    iget-object v1, v1, Lcom/google/protobuf/Descriptors$Descriptor;->bkj:Lcom/google/protobuf/DescriptorProtos$DescriptorProto;

    invoke-virtual {v1}, Lcom/google/protobuf/DescriptorProtos$DescriptorProto;->getOptions()Lcom/google/protobuf/DescriptorProtos$MessageOptions;

    move-result-object v1

    .line 969
    invoke-virtual {v1}, Lcom/google/protobuf/DescriptorProtos$MessageOptions;->getMapEntry()Z

    move-result v1

    if-nez v1, :cond_8

    .line 3952
    iget-object v1, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkk:Lcom/google/protobuf/Descriptors$FileDescriptor;

    .line 973
    invoke-virtual {v1}, Lcom/google/protobuf/Descriptors$FileDescriptor;->DU()Lcom/google/protobuf/Descriptors$FileDescriptor$Syntax;

    move-result-object v1

    sget-object v2, Lcom/google/protobuf/Descriptors$FileDescriptor$Syntax;->PROTO3:Lcom/google/protobuf/Descriptors$FileDescriptor$Syntax;

    if-eq v1, v2, :cond_8

    .line 4952
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkk:Lcom/google/protobuf/Descriptors$FileDescriptor;

    .line 5108
    iget-object v0, v0, Lcom/google/protobuf/Descriptors$FileDescriptor;->bkN:Lcom/google/protobuf/DescriptorProtos$FileDescriptorProto;

    invoke-virtual {v0}, Lcom/google/protobuf/DescriptorProtos$FileDescriptorProto;->getOptions()Lcom/google/protobuf/DescriptorProtos$FileOptions;

    move-result-object v0

    .line 976
    invoke-virtual {v0}, Lcom/google/protobuf/DescriptorProtos$FileOptions;->getJavaStringCheckUtf8()Z

    move-result v0

    goto :goto_8
.end method

.method public final DN()Z
    .registers 3

    .prologue
    .line 980
    .line 5956
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkF:Lcom/google/protobuf/Descriptors$FieldDescriptor$Type;

    .line 980
    sget-object v1, Lcom/google/protobuf/Descriptors$FieldDescriptor$Type;->MESSAGE:Lcom/google/protobuf/Descriptors$FieldDescriptor$Type;

    if-ne v0, v1, :cond_1e

    invoke-virtual {p0}, Lcom/google/protobuf/Descriptors$FieldDescriptor;->DP()Z

    move-result v0

    if-eqz v0, :cond_1e

    .line 981
    invoke-virtual {p0}, Lcom/google/protobuf/Descriptors$FieldDescriptor;->DR()Lcom/google/protobuf/Descriptors$Descriptor;

    move-result-object v0

    .line 6634
    iget-object v0, v0, Lcom/google/protobuf/Descriptors$Descriptor;->bkj:Lcom/google/protobuf/DescriptorProtos$DescriptorProto;

    invoke-virtual {v0}, Lcom/google/protobuf/DescriptorProtos$DescriptorProto;->getOptions()Lcom/google/protobuf/DescriptorProtos$MessageOptions;

    move-result-object v0

    .line 981
    invoke-virtual {v0}, Lcom/google/protobuf/DescriptorProtos$MessageOptions;->getMapEntry()Z

    move-result v0

    if-eqz v0, :cond_1e

    const/4 v0, 0x1

    :goto_1d
    return v0

    :cond_1e
    const/4 v0, 0x0

    goto :goto_1d
.end method

.method public final DO()Z
    .registers 3

    .prologue
    .line 997
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    invoke-virtual {v0}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->getLabel()Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto$Label;

    move-result-object v0

    sget-object v1, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto$Label;->LABEL_OPTIONAL:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto$Label;

    if-ne v0, v1, :cond_c

    const/4 v0, 0x1

    :goto_b
    return v0

    :cond_c
    const/4 v0, 0x0

    goto :goto_b
.end method

.method public final DP()Z
    .registers 3

    .prologue
    .line 1003
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    invoke-virtual {v0}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->getLabel()Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto$Label;

    move-result-object v0

    sget-object v1, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto$Label;->LABEL_REPEATED:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto$Label;

    if-ne v0, v1, :cond_c

    const/4 v0, 0x1

    :goto_b
    return v0

    :cond_c
    const/4 v0, 0x0

    goto :goto_b
.end method

.method public final DQ()Z
    .registers 4

    .prologue
    const/4 v0, 0x0

    .line 1011
    invoke-virtual {p0}, Lcom/google/protobuf/Descriptors$FieldDescriptor;->isPackable()Z

    move-result v1

    if-nez v1, :cond_8

    .line 1017
    :cond_7
    :goto_7
    return v0

    .line 6952
    :cond_8
    iget-object v1, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkk:Lcom/google/protobuf/Descriptors$FileDescriptor;

    .line 1014
    invoke-virtual {v1}, Lcom/google/protobuf/Descriptors$FileDescriptor;->DU()Lcom/google/protobuf/Descriptors$FileDescriptor$Syntax;

    move-result-object v1

    sget-object v2, Lcom/google/protobuf/Descriptors$FileDescriptor$Syntax;->PROTO2:Lcom/google/protobuf/Descriptors$FileDescriptor$Syntax;

    if-ne v1, v2, :cond_1d

    .line 7044
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    invoke-virtual {v0}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->getOptions()Lcom/google/protobuf/DescriptorProtos$FieldOptions;

    move-result-object v0

    .line 1015
    invoke-virtual {v0}, Lcom/google/protobuf/DescriptorProtos$FieldOptions;->getPacked()Z

    move-result v0

    goto :goto_7

    .line 8044
    :cond_1d
    iget-object v1, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    invoke-virtual {v1}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->getOptions()Lcom/google/protobuf/DescriptorProtos$FieldOptions;

    move-result-object v1

    .line 1017
    invoke-virtual {v1}, Lcom/google/protobuf/DescriptorProtos$FieldOptions;->hasPacked()Z

    move-result v1

    if-eqz v1, :cond_35

    .line 9044
    iget-object v1, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    invoke-virtual {v1}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->getOptions()Lcom/google/protobuf/DescriptorProtos$FieldOptions;

    move-result-object v1

    .line 1017
    invoke-virtual {v1}, Lcom/google/protobuf/DescriptorProtos$FieldOptions;->getPacked()Z

    move-result v1

    if-eqz v1, :cond_7

    :cond_35
    const/4 v0, 0x1

    goto :goto_7
.end method

.method public final DR()Lcom/google/protobuf/Descriptors$Descriptor;
    .registers 3

    .prologue
    .line 1090
    .line 10941
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkF:Lcom/google/protobuf/Descriptors$FieldDescriptor$Type;

    invoke-virtual {v0}, Lcom/google/protobuf/Descriptors$FieldDescriptor$Type;->getJavaType()Lcom/google/protobuf/Descriptors$FieldDescriptor$JavaType;

    move-result-object v0

    .line 1090
    sget-object v1, Lcom/google/protobuf/Descriptors$FieldDescriptor$JavaType;->MESSAGE:Lcom/google/protobuf/Descriptors$FieldDescriptor$JavaType;

    if-eq v0, v1, :cond_12

    .line 1091
    new-instance v0, Ljava/lang/UnsupportedOperationException;

    const-string v1, "This field is not of message type."

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

    throw v0

    .line 1094
    :cond_12
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkH:Lcom/google/protobuf/Descriptors$Descriptor;

    return-object v0
.end method

.method public final DS()Lcom/google/protobuf/Descriptors$EnumDescriptor;
    .registers 3

    .prologue
    .line 1100
    .line 11941
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkF:Lcom/google/protobuf/Descriptors$FieldDescriptor$Type;

    invoke-virtual {v0}, Lcom/google/protobuf/Descriptors$FieldDescriptor$Type;->getJavaType()Lcom/google/protobuf/Descriptors$FieldDescriptor$JavaType;

    move-result-object v0

    .line 1100
    sget-object v1, Lcom/google/protobuf/Descriptors$FieldDescriptor$JavaType;->ENUM:Lcom/google/protobuf/Descriptors$FieldDescriptor$JavaType;

    if-eq v0, v1, :cond_12

    .line 1101
    new-instance v0, Ljava/lang/UnsupportedOperationException;

    const-string v1, "This field is not of enum type."

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

    throw v0

    .line 1104
    :cond_12
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkJ:Lcom/google/protobuf/Descriptors$EnumDescriptor;

    return-object v0
.end method

.method public final a(Lcom/google/protobuf/MessageLite$Builder;Lcom/google/protobuf/MessageLite;)Lcom/google/protobuf/MessageLite$Builder;
    .registers 4

    .prologue
    .line 1522
    check-cast p1, Lcom/google/protobuf/Message$Builder;

    check-cast p2, Lcom/google/protobuf/Message;

    invoke-interface {p1, p2}, Lcom/google/protobuf/Message$Builder;->mergeFrom(Lcom/google/protobuf/Message;)Lcom/google/protobuf/Message$Builder;

    move-result-object v0

    return-object v0
.end method

.method public final synthetic compareTo(Ljava/lang/Object;)I
    .registers 4

    .prologue
    .line 895
    check-cast p1, Lcom/google/protobuf/Descriptors$FieldDescriptor;

    .line 15119
    iget-object v0, p1, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkG:Lcom/google/protobuf/Descriptors$Descriptor;

    iget-object v1, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkG:Lcom/google/protobuf/Descriptors$Descriptor;

    if-eq v0, v1, :cond_10

    .line 15120
    new-instance v0, Ljava/lang/IllegalArgumentException;

    const-string v1, "FieldDescriptors can only be compared to other FieldDescriptors for fields of the same message type."

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

    throw v0

    .line 15920
    :cond_10
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    invoke-virtual {v0}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->getNumber()I

    move-result v0

    .line 16920
    iget-object v1, p1, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    invoke-virtual {v1}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->getNumber()I

    move-result v1

    .line 15124
    sub-int/2addr v0, v1

    .line 895
    return v0
.end method

.method public final getDefaultValue()Ljava/lang/Object;
    .registers 3

    .prologue
    .line 1035
    .line 9941
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkF:Lcom/google/protobuf/Descriptors$FieldDescriptor$Type;

    invoke-virtual {v0}, Lcom/google/protobuf/Descriptors$FieldDescriptor$Type;->getJavaType()Lcom/google/protobuf/Descriptors$FieldDescriptor$JavaType;

    move-result-object v0

    .line 1035
    sget-object v1, Lcom/google/protobuf/Descriptors$FieldDescriptor$JavaType;->MESSAGE:Lcom/google/protobuf/Descriptors$FieldDescriptor$JavaType;

    if-ne v0, v1, :cond_12

    .line 1036
    new-instance v0, Ljava/lang/UnsupportedOperationException;

    const-string v1, "FieldDescriptor.getDefaultValue() called on an embedded message field."

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

    throw v0

    .line 1040
    :cond_12
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkK:Ljava/lang/Object;

    return-object v0
.end method

.method public final getFullName()Ljava/lang/String;
    .registers 2

    .prologue
    .line 929
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->fullName:Ljava/lang/String;

    return-object v0
.end method

.method public final getName()Ljava/lang/String;
    .registers 2

    .prologue
    .line 914
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    invoke-virtual {v0}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->getName()Ljava/lang/String;

    move-result-object v0

    return-object v0
.end method

.method public final getNumber()I
    .registers 2

    .prologue
    .line 920
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    invoke-virtual {v0}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->getNumber()I

    move-result v0

    return v0
.end method

.method public final isPackable()Z
    .registers 2

    .prologue
    .line 1023
    invoke-virtual {p0}, Lcom/google/protobuf/Descriptors$FieldDescriptor;->DP()Z

    move-result v0

    if-eqz v0, :cond_12

    invoke-virtual {p0}, Lcom/google/protobuf/Descriptors$FieldDescriptor;->DL()Lcom/google/protobuf/WireFormat$FieldType;

    move-result-object v0

    invoke-virtual {v0}, Lcom/google/protobuf/WireFormat$FieldType;->isPackable()Z

    move-result v0

    if-eqz v0, :cond_12

    const/4 v0, 0x1

    :goto_11
    return v0

    :cond_12
    const/4 v0, 0x0

    goto :goto_11
.end method

.method public final isRequired()Z
    .registers 3

    .prologue
    .line 992
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->bkD:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    invoke-virtual {v0}, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;->getLabel()Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto$Label;

    move-result-object v0

    sget-object v1, Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto$Label;->LABEL_REQUIRED:Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto$Label;

    if-ne v0, v1, :cond_c

    const/4 v0, 0x1

    :goto_b
    return v0

    :cond_c
    const/4 v0, 0x0

    goto :goto_b
.end method

.method public final toString()Ljava/lang/String;
    .registers 2

    .prologue
    .line 1129
    .line 12929
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FieldDescriptor;->fullName:Ljava/lang/String;

    .line 1129
    return-object v0
.end method