Descriptors$FileDescriptor.smali

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


# instance fields
.field bkN:Lcom/google/protobuf/DescriptorProtos$FileDescriptorProto;

.field private final bkO:[Lcom/google/protobuf/Descriptors$Descriptor;

.field private final bkP:[Lcom/google/protobuf/bk;

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

.field final bkR:Lcom/google/protobuf/Descriptors$DescriptorPool;

.field private final bkm:[Lcom/google/protobuf/Descriptors$EnumDescriptor;

.field private final bko:[Lcom/google/protobuf/Descriptors$FieldDescriptor;


# direct methods
.method private constructor <init>(Lcom/google/protobuf/DescriptorProtos$FileDescriptorProto;[Lcom/google/protobuf/Descriptors$FileDescriptor;Lcom/google/protobuf/Descriptors$DescriptorPool;)V
    .registers 12

    .prologue
    const/4 v3, 0x0

    const/4 v6, 0x0

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

    .line 451
    iput-object p3, p0, Lcom/google/protobuf/Descriptors$FileDescriptor;->bkR:Lcom/google/protobuf/Descriptors$DescriptorPool;

    .line 452
    iput-object p1, p0, Lcom/google/protobuf/Descriptors$FileDescriptor;->bkN:Lcom/google/protobuf/DescriptorProtos$FileDescriptorProto;

    .line 453
    invoke-virtual {p2}, [Lcom/google/protobuf/Descriptors$FileDescriptor;->clone()Ljava/lang/Object;

    .line 454
    new-instance v2, Ljava/util/HashMap;

    invoke-direct {v2}, Ljava/util/HashMap;-><init>()V

    .line 456
    array-length v1, p2

    move v0, v6

    :goto_13
    if-ge v0, v1, :cond_23

    aget-object v4, p2, v0

    .line 4085
    iget-object v5, v4, Lcom/google/protobuf/Descriptors$FileDescriptor;->bkN:Lcom/google/protobuf/DescriptorProtos$FileDescriptorProto;

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

    move-result-object v5

    .line 457
    invoke-virtual {v2, v5, v4}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

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

    goto :goto_13

    .line 459
    :cond_23
    new-instance v4, Ljava/util/ArrayList;

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

    move v1, v6

    .line 460
    :goto_29
    invoke-virtual {p1}, Lcom/google/protobuf/DescriptorProtos$FileDescriptorProto;->getPublicDependencyCount()I

    move-result v0

    if-ge v1, v0, :cond_56

    .line 461
    invoke-virtual {p1, v1}, Lcom/google/protobuf/DescriptorProtos$FileDescriptorProto;->getPublicDependency(I)I

    move-result v0

    .line 462
    if-ltz v0, :cond_3b

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

    move-result v5

    if-lt v0, v5, :cond_43

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

    const-string v1, "Invalid public dependency index."

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

    throw v0

    .line 466
    :cond_43
    invoke-virtual {p1, v0}, Lcom/google/protobuf/DescriptorProtos$FileDescriptorProto;->getDependency(I)Ljava/lang/String;

    move-result-object v0

    .line 467
    invoke-virtual {v2, v0}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

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

    .line 468
    if-eqz v0, :cond_52

    .line 475
    invoke-interface {v4, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    .line 460
    :cond_52
    add-int/lit8 v0, v1, 0x1

    move v1, v0

    goto :goto_29

    .line 478
    :cond_56
    invoke-interface {v4}, Ljava/util/List;->size()I

    move-result v0

    new-array v0, v0, [Lcom/google/protobuf/Descriptors$FileDescriptor;

    iput-object v0, p0, Lcom/google/protobuf/Descriptors$FileDescriptor;->bkQ:[Lcom/google/protobuf/Descriptors$FileDescriptor;

    .line 479
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FileDescriptor;->bkQ:[Lcom/google/protobuf/Descriptors$FileDescriptor;

    invoke-interface {v4, v0}, Ljava/util/List;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;

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

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

    move-result-object v0

    .line 481
    invoke-virtual {p3, v0, p0}, Lcom/google/protobuf/Descriptors$DescriptorPool;->a(Ljava/lang/String;Lcom/google/protobuf/Descriptors$FileDescriptor;)V

    .line 483
    invoke-virtual {p1}, Lcom/google/protobuf/DescriptorProtos$FileDescriptorProto;->getMessageTypeCount()I

    move-result v0

    new-array v0, v0, [Lcom/google/protobuf/Descriptors$Descriptor;

    iput-object v0, p0, Lcom/google/protobuf/Descriptors$FileDescriptor;->bkO:[Lcom/google/protobuf/Descriptors$Descriptor;

    move v0, v6

    .line 484
    :goto_75
    invoke-virtual {p1}, Lcom/google/protobuf/DescriptorProtos$FileDescriptorProto;->getMessageTypeCount()I

    move-result v1

    if-ge v0, v1, :cond_8b

    .line 485
    iget-object v1, p0, Lcom/google/protobuf/Descriptors$FileDescriptor;->bkO:[Lcom/google/protobuf/Descriptors$Descriptor;

    new-instance v2, Lcom/google/protobuf/Descriptors$Descriptor;

    .line 486
    invoke-virtual {p1, v0}, Lcom/google/protobuf/DescriptorProtos$FileDescriptorProto;->getMessageType(I)Lcom/google/protobuf/DescriptorProtos$DescriptorProto;

    move-result-object v4

    invoke-direct {v2, v4, p0}, Lcom/google/protobuf/Descriptors$Descriptor;-><init>(Lcom/google/protobuf/DescriptorProtos$DescriptorProto;Lcom/google/protobuf/Descriptors$FileDescriptor;)V

    aput-object v2, v1, v0

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

    goto :goto_75

    .line 489
    :cond_8b
    invoke-virtual {p1}, Lcom/google/protobuf/DescriptorProtos$FileDescriptorProto;->getEnumTypeCount()I

    move-result v0

    new-array v0, v0, [Lcom/google/protobuf/Descriptors$EnumDescriptor;

    iput-object v0, p0, Lcom/google/protobuf/Descriptors$FileDescriptor;->bkm:[Lcom/google/protobuf/Descriptors$EnumDescriptor;

    move v0, v6

    .line 490
    :goto_94
    invoke-virtual {p1}, Lcom/google/protobuf/DescriptorProtos$FileDescriptorProto;->getEnumTypeCount()I

    move-result v1

    if-ge v0, v1, :cond_aa

    .line 491
    iget-object v1, p0, Lcom/google/protobuf/Descriptors$FileDescriptor;->bkm:[Lcom/google/protobuf/Descriptors$EnumDescriptor;

    new-instance v2, Lcom/google/protobuf/Descriptors$EnumDescriptor;

    invoke-virtual {p1, v0}, Lcom/google/protobuf/DescriptorProtos$FileDescriptorProto;->getEnumType(I)Lcom/google/protobuf/DescriptorProtos$EnumDescriptorProto;

    move-result-object v4

    invoke-direct {v2, v4, p0, v3, v6}, Lcom/google/protobuf/Descriptors$EnumDescriptor;-><init>(Lcom/google/protobuf/DescriptorProtos$EnumDescriptorProto;Lcom/google/protobuf/Descriptors$FileDescriptor;Lcom/google/protobuf/Descriptors$Descriptor;B)V

    aput-object v2, v1, v0

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

    goto :goto_94

    .line 494
    :cond_aa
    invoke-virtual {p1}, Lcom/google/protobuf/DescriptorProtos$FileDescriptorProto;->getServiceCount()I

    move-result v0

    new-array v0, v0, [Lcom/google/protobuf/bk;

    iput-object v0, p0, Lcom/google/protobuf/Descriptors$FileDescriptor;->bkP:[Lcom/google/protobuf/bk;

    move v0, v6

    .line 495
    :goto_b3
    invoke-virtual {p1}, Lcom/google/protobuf/DescriptorProtos$FileDescriptorProto;->getServiceCount()I

    move-result v1

    if-ge v0, v1, :cond_c9

    .line 496
    iget-object v1, p0, Lcom/google/protobuf/Descriptors$FileDescriptor;->bkP:[Lcom/google/protobuf/bk;

    new-instance v2, Lcom/google/protobuf/bk;

    invoke-virtual {p1, v0}, Lcom/google/protobuf/DescriptorProtos$FileDescriptorProto;->getService(I)Lcom/google/protobuf/DescriptorProtos$ServiceDescriptorProto;

    move-result-object v4

    invoke-direct {v2, v4, p0, v6}, Lcom/google/protobuf/bk;-><init>(Lcom/google/protobuf/DescriptorProtos$ServiceDescriptorProto;Lcom/google/protobuf/Descriptors$FileDescriptor;B)V

    aput-object v2, v1, v0

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

    goto :goto_b3

    .line 499
    :cond_c9
    invoke-virtual {p1}, Lcom/google/protobuf/DescriptorProtos$FileDescriptorProto;->getExtensionCount()I

    move-result v0

    new-array v0, v0, [Lcom/google/protobuf/Descriptors$FieldDescriptor;

    iput-object v0, p0, Lcom/google/protobuf/Descriptors$FileDescriptor;->bko:[Lcom/google/protobuf/Descriptors$FieldDescriptor;

    move v4, v6

    .line 500
    :goto_d2
    invoke-virtual {p1}, Lcom/google/protobuf/DescriptorProtos$FileDescriptorProto;->getExtensionCount()I

    move-result v0

    if-ge v4, v0, :cond_ea

    .line 501
    iget-object v7, p0, Lcom/google/protobuf/Descriptors$FileDescriptor;->bko:[Lcom/google/protobuf/Descriptors$FieldDescriptor;

    new-instance v0, Lcom/google/protobuf/Descriptors$FieldDescriptor;

    .line 502
    invoke-virtual {p1, v4}, Lcom/google/protobuf/DescriptorProtos$FileDescriptorProto;->getExtension(I)Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;

    move-result-object v1

    const/4 v5, 0x1

    move-object v2, p0

    invoke-direct/range {v0 .. v6}, Lcom/google/protobuf/Descriptors$FieldDescriptor;-><init>(Lcom/google/protobuf/DescriptorProtos$FieldDescriptorProto;Lcom/google/protobuf/Descriptors$FileDescriptor;Lcom/google/protobuf/Descriptors$Descriptor;IZB)V

    aput-object v0, v7, v4

    .line 500
    add-int/lit8 v4, v4, 0x1

    goto :goto_d2

    .line 504
    :cond_ea
    return-void
.end method

.method constructor <init>(Ljava/lang/String;Lcom/google/protobuf/Descriptors$Descriptor;)V
    .registers 7

    .prologue
    const/4 v3, 0x0

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

    .line 511
    new-instance v0, Lcom/google/protobuf/Descriptors$DescriptorPool;

    new-array v1, v3, [Lcom/google/protobuf/Descriptors$FileDescriptor;

    invoke-direct {v0, v1}, Lcom/google/protobuf/Descriptors$DescriptorPool;-><init>([Lcom/google/protobuf/Descriptors$FileDescriptor;)V

    iput-object v0, p0, Lcom/google/protobuf/Descriptors$FileDescriptor;->bkR:Lcom/google/protobuf/Descriptors$DescriptorPool;

    .line 512
    invoke-static {}, Lcom/google/protobuf/DescriptorProtos$FileDescriptorProto;->newBuilder()Lcom/google/protobuf/af;

    move-result-object v0

    new-instance v1, Ljava/lang/StringBuilder;

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

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

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

    move-result-object v1

    const-string v2, ".placeholder.proto"

    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-virtual {v0, v1}, Lcom/google/protobuf/af;->fx(Ljava/lang/String;)Lcom/google/protobuf/af;

    move-result-object v0

    .line 514
    invoke-virtual {v0, p1}, Lcom/google/protobuf/af;->fy(Ljava/lang/String;)Lcom/google/protobuf/af;

    move-result-object v0

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

    .line 514
    invoke-virtual {v0, v1}, Lcom/google/protobuf/af;->b(Lcom/google/protobuf/DescriptorProtos$DescriptorProto;)Lcom/google/protobuf/af;

    move-result-object v0

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

    move-result-object v0

    iput-object v0, p0, Lcom/google/protobuf/Descriptors$FileDescriptor;->bkN:Lcom/google/protobuf/DescriptorProtos$FileDescriptorProto;

    .line 516
    new-array v0, v3, [Lcom/google/protobuf/Descriptors$FileDescriptor;

    iput-object v0, p0, Lcom/google/protobuf/Descriptors$FileDescriptor;->bkQ:[Lcom/google/protobuf/Descriptors$FileDescriptor;

    .line 518
    const/4 v0, 0x1

    new-array v0, v0, [Lcom/google/protobuf/Descriptors$Descriptor;

    aput-object p2, v0, v3

    iput-object v0, p0, Lcom/google/protobuf/Descriptors$FileDescriptor;->bkO:[Lcom/google/protobuf/Descriptors$Descriptor;

    .line 519
    new-array v0, v3, [Lcom/google/protobuf/Descriptors$EnumDescriptor;

    iput-object v0, p0, Lcom/google/protobuf/Descriptors$FileDescriptor;->bkm:[Lcom/google/protobuf/Descriptors$EnumDescriptor;

    .line 520
    new-array v0, v3, [Lcom/google/protobuf/bk;

    iput-object v0, p0, Lcom/google/protobuf/Descriptors$FileDescriptor;->bkP:[Lcom/google/protobuf/bk;

    .line 521
    new-array v0, v3, [Lcom/google/protobuf/Descriptors$FieldDescriptor;

    iput-object v0, p0, Lcom/google/protobuf/Descriptors$FileDescriptor;->bko:[Lcom/google/protobuf/Descriptors$FieldDescriptor;

    .line 523
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FileDescriptor;->bkR:Lcom/google/protobuf/Descriptors$DescriptorPool;

    invoke-virtual {v0, p1, p0}, Lcom/google/protobuf/Descriptors$DescriptorPool;->a(Ljava/lang/String;Lcom/google/protobuf/Descriptors$FileDescriptor;)V

    .line 524
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FileDescriptor;->bkR:Lcom/google/protobuf/Descriptors$DescriptorPool;

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

    .line 525
    return-void
.end method

.method private static a(Lcom/google/protobuf/DescriptorProtos$FileDescriptorProto;[Lcom/google/protobuf/Descriptors$FileDescriptor;)Lcom/google/protobuf/Descriptors$FileDescriptor;
    .registers 15

    .prologue
    const/4 v12, 0x0

    const/4 v0, 0x0

    .line 300
    new-instance v1, Lcom/google/protobuf/Descriptors$DescriptorPool;

    invoke-direct {v1, p1}, Lcom/google/protobuf/Descriptors$DescriptorPool;-><init>([Lcom/google/protobuf/Descriptors$FileDescriptor;)V

    .line 302
    new-instance v3, Lcom/google/protobuf/Descriptors$FileDescriptor;

    invoke-direct {v3, p0, p1, v1}, Lcom/google/protobuf/Descriptors$FileDescriptor;-><init>(Lcom/google/protobuf/DescriptorProtos$FileDescriptorProto;[Lcom/google/protobuf/Descriptors$FileDescriptor;Lcom/google/protobuf/Descriptors$DescriptorPool;)V

    .line 2529
    iget-object v2, v3, Lcom/google/protobuf/Descriptors$FileDescriptor;->bkO:[Lcom/google/protobuf/Descriptors$Descriptor;

    array-length v4, v2

    move v1, v0

    :goto_10
    if-ge v1, v4, :cond_1a

    aget-object v5, v2, v1

    .line 2530
    invoke-static {v5}, Lcom/google/protobuf/Descriptors$Descriptor;->a(Lcom/google/protobuf/Descriptors$Descriptor;)V

    .line 2529
    add-int/lit8 v1, v1, 0x1

    goto :goto_10

    .line 2533
    :cond_1a
    iget-object v4, v3, Lcom/google/protobuf/Descriptors$FileDescriptor;->bkP:[Lcom/google/protobuf/bk;

    array-length v5, v4

    move v2, v0

    :goto_1e
    if-ge v2, v5, :cond_9b

    aget-object v1, v4, v2

    .line 2899
    iget-object v6, v1, Lcom/google/protobuf/bk;->bkW:[Lcom/google/protobuf/bj;

    array-length v7, v6

    move v1, v0

    :goto_26
    if-ge v1, v7, :cond_97

    aget-object v8, v6, v1

    .line 2993
    iget-object v9, v8, Lcom/google/protobuf/bj;->bkk:Lcom/google/protobuf/Descriptors$FileDescriptor;

    .line 3075
    iget-object v9, v9, Lcom/google/protobuf/Descriptors$FileDescriptor;->bkR:Lcom/google/protobuf/Descriptors$DescriptorPool;

    .line 2994
    iget-object v10, v8, Lcom/google/protobuf/bj;->bkT:Lcom/google/protobuf/DescriptorProtos$MethodDescriptorProto;

    invoke-virtual {v10}, Lcom/google/protobuf/DescriptorProtos$MethodDescriptorProto;->getInputType()Ljava/lang/String;

    move-result-object v10

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

    invoke-virtual {v9, v10, v8, v11}, 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 v9

    .line 2996
    instance-of v9, v9, Lcom/google/protobuf/Descriptors$Descriptor;

    if-nez v9, :cond_5f

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

    new-instance v1, Ljava/lang/StringBuilder;

    const-string v2, "\""

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

    iget-object v2, v8, Lcom/google/protobuf/bj;->bkT:Lcom/google/protobuf/DescriptorProtos$MethodDescriptorProto;

    .line 2998
    invoke-virtual {v2}, Lcom/google/protobuf/DescriptorProtos$MethodDescriptorProto;->getInputType()Ljava/lang/String;

    move-result-object v2

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

    move-result-object v1

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

    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, v8, v1, v12}, Lcom/google/protobuf/Descriptors$DescriptorValidationException;-><init>(Lcom/google/protobuf/bi;Ljava/lang/String;Lcom/google/protobuf/Descriptors$1;)V

    throw v0

    .line 3002
    :cond_5f
    iget-object v9, v8, Lcom/google/protobuf/bj;->bkk:Lcom/google/protobuf/Descriptors$FileDescriptor;

    .line 4075
    iget-object v9, v9, Lcom/google/protobuf/Descriptors$FileDescriptor;->bkR:Lcom/google/protobuf/Descriptors$DescriptorPool;

    .line 3003
    iget-object v10, v8, Lcom/google/protobuf/bj;->bkT:Lcom/google/protobuf/DescriptorProtos$MethodDescriptorProto;

    invoke-virtual {v10}, Lcom/google/protobuf/DescriptorProtos$MethodDescriptorProto;->getOutputType()Ljava/lang/String;

    move-result-object v10

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

    invoke-virtual {v9, v10, v8, v11}, 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 v9

    .line 3005
    instance-of v9, v9, Lcom/google/protobuf/Descriptors$Descriptor;

    if-nez v9, :cond_94

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

    new-instance v1, Ljava/lang/StringBuilder;

    const-string v2, "\""

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

    iget-object v2, v8, Lcom/google/protobuf/bj;->bkT:Lcom/google/protobuf/DescriptorProtos$MethodDescriptorProto;

    .line 3007
    invoke-virtual {v2}, Lcom/google/protobuf/DescriptorProtos$MethodDescriptorProto;->getOutputType()Ljava/lang/String;

    move-result-object v2

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

    move-result-object v1

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

    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, v8, v1, v12}, Lcom/google/protobuf/Descriptors$DescriptorValidationException;-><init>(Lcom/google/protobuf/bi;Ljava/lang/String;Lcom/google/protobuf/Descriptors$1;)V

    throw v0

    .line 2899
    :cond_94
    add-int/lit8 v1, v1, 0x1

    goto :goto_26

    .line 2533
    :cond_97
    add-int/lit8 v1, v2, 0x1

    move v2, v1

    goto :goto_1e

    .line 2537
    :cond_9b
    iget-object v1, v3, Lcom/google/protobuf/Descriptors$FileDescriptor;->bko:[Lcom/google/protobuf/Descriptors$FieldDescriptor;

    array-length v2, v1

    :goto_9e
    if-ge v0, v2, :cond_a8

    aget-object v4, v1, v0

    .line 2538
    invoke-static {v4}, Lcom/google/protobuf/Descriptors$FieldDescriptor;->y(Lcom/google/protobuf/Descriptors$FieldDescriptor;)V

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

    goto :goto_9e

    .line 305
    :cond_a8
    return-object v3
.end method

.method public static a([Ljava/lang/String;[Lcom/google/protobuf/Descriptors$FileDescriptor;Lcom/google/protobuf/bh;)V
    .registers 8

    .prologue
    .line 328
    new-instance v1, Ljava/lang/StringBuilder;

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

    .line 329
    array-length v2, p0

    const/4 v0, 0x0

    :goto_7
    if-ge v0, v2, :cond_11

    aget-object v3, p0, v0

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

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

    goto :goto_7

    .line 334
    :cond_11
    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

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

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

    move-result-object v0

    .line 338
    :try_start_1b
    invoke-static {v0}, Lcom/google/protobuf/DescriptorProtos$FileDescriptorProto;->parseFrom([B)Lcom/google/protobuf/DescriptorProtos$FileDescriptorProto;
    :try_end_1e
    .catch Lcom/google/protobuf/InvalidProtocolBufferException; {:try_start_1b .. :try_end_1e} :catch_31

    move-result-object v1

    .line 348
    :try_start_1f
    invoke-static {v1, p1}, Lcom/google/protobuf/Descriptors$FileDescriptor;->a(Lcom/google/protobuf/DescriptorProtos$FileDescriptorProto;[Lcom/google/protobuf/Descriptors$FileDescriptor;)Lcom/google/protobuf/Descriptors$FileDescriptor;
    :try_end_22
    .catch Lcom/google/protobuf/Descriptors$DescriptorValidationException; {:try_start_1f .. :try_end_22} :catch_3a

    move-result-object v1

    .line 355
    invoke-interface {p2, v1}, Lcom/google/protobuf/bh;->assignDescriptors(Lcom/google/protobuf/Descriptors$FileDescriptor;)Lcom/google/protobuf/ExtensionRegistry;

    move-result-object v2

    .line 357
    if-eqz v2, :cond_30

    .line 360
    :try_start_29
    invoke-static {v0, v2}, Lcom/google/protobuf/DescriptorProtos$FileDescriptorProto;->parseFrom([BLcom/google/protobuf/ExtensionRegistryLite;)Lcom/google/protobuf/DescriptorProtos$FileDescriptorProto;
    :try_end_2c
    .catch Lcom/google/protobuf/InvalidProtocolBufferException; {:try_start_29 .. :try_end_2c} :catch_5a

    move-result-object v0

    .line 367
    invoke-direct {v1, v0}, Lcom/google/protobuf/Descriptors$FileDescriptor;->b(Lcom/google/protobuf/DescriptorProtos$FileDescriptorProto;)V

    .line 369
    :cond_30
    return-void

    .line 339
    :catch_31
    move-exception v0

    .line 340
    new-instance v1, Ljava/lang/IllegalArgumentException;

    const-string v2, "Failed to parse protocol buffer descriptor for generated code."

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

    throw v1

    .line 349
    :catch_3a
    move-exception v0

    .line 350
    new-instance v2, Ljava/lang/IllegalArgumentException;

    new-instance v3, Ljava/lang/StringBuilder;

    const-string v4, "Invalid embedded descriptor for \""

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

    .line 351
    invoke-virtual {v1}, Lcom/google/protobuf/DescriptorProtos$FileDescriptorProto;->getName()Ljava/lang/String;

    move-result-object v1

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

    move-result-object v1

    const-string v3, "\"."

    invoke-virtual {v1, v3}, 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 {v2, v1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V

    throw v2

    .line 361
    :catch_5a
    move-exception v0

    .line 362
    new-instance v1, Ljava/lang/IllegalArgumentException;

    const-string v2, "Failed to parse protocol buffer descriptor for generated code."

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

    throw v1
.end method

.method private b(Lcom/google/protobuf/DescriptorProtos$FileDescriptorProto;)V
    .registers 9

    .prologue
    const/4 v1, 0x0

    .line 553
    iput-object p1, p0, Lcom/google/protobuf/Descriptors$FileDescriptor;->bkN:Lcom/google/protobuf/DescriptorProtos$FileDescriptorProto;

    move v0, v1

    .line 555
    :goto_4
    iget-object v2, p0, Lcom/google/protobuf/Descriptors$FileDescriptor;->bkO:[Lcom/google/protobuf/Descriptors$Descriptor;

    array-length v2, v2

    if-ge v0, v2, :cond_17

    .line 556
    iget-object v2, p0, Lcom/google/protobuf/Descriptors$FileDescriptor;->bkO:[Lcom/google/protobuf/Descriptors$Descriptor;

    aget-object v2, v2, v0

    invoke-virtual {p1, v0}, Lcom/google/protobuf/DescriptorProtos$FileDescriptorProto;->getMessageType(I)Lcom/google/protobuf/DescriptorProtos$DescriptorProto;

    move-result-object v3

    invoke-static {v2, v3}, Lcom/google/protobuf/Descriptors$Descriptor;->a(Lcom/google/protobuf/Descriptors$Descriptor;Lcom/google/protobuf/DescriptorProtos$DescriptorProto;)V

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

    goto :goto_4

    :cond_17
    move v0, v1

    .line 559
    :goto_18
    iget-object v2, p0, Lcom/google/protobuf/Descriptors$FileDescriptor;->bkm:[Lcom/google/protobuf/Descriptors$EnumDescriptor;

    array-length v2, v2

    if-ge v0, v2, :cond_2b

    .line 560
    iget-object v2, p0, Lcom/google/protobuf/Descriptors$FileDescriptor;->bkm:[Lcom/google/protobuf/Descriptors$EnumDescriptor;

    aget-object v2, v2, v0

    invoke-virtual {p1, v0}, Lcom/google/protobuf/DescriptorProtos$FileDescriptorProto;->getEnumType(I)Lcom/google/protobuf/DescriptorProtos$EnumDescriptorProto;

    move-result-object v3

    invoke-static {v2, v3}, Lcom/google/protobuf/Descriptors$EnumDescriptor;->a(Lcom/google/protobuf/Descriptors$EnumDescriptor;Lcom/google/protobuf/DescriptorProtos$EnumDescriptorProto;)V

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

    goto :goto_18

    :cond_2b
    move v0, v1

    .line 563
    :goto_2c
    iget-object v2, p0, Lcom/google/protobuf/Descriptors$FileDescriptor;->bkP:[Lcom/google/protobuf/bk;

    array-length v2, v2

    if-ge v0, v2, :cond_51

    .line 564
    iget-object v2, p0, Lcom/google/protobuf/Descriptors$FileDescriptor;->bkP:[Lcom/google/protobuf/bk;

    aget-object v3, v2, v0

    invoke-virtual {p1, v0}, Lcom/google/protobuf/DescriptorProtos$FileDescriptorProto;->getService(I)Lcom/google/protobuf/DescriptorProtos$ServiceDescriptorProto;

    move-result-object v4

    .line 5906
    iput-object v4, v3, Lcom/google/protobuf/bk;->bkV:Lcom/google/protobuf/DescriptorProtos$ServiceDescriptorProto;

    move v2, v1

    .line 5908
    :goto_3c
    iget-object v5, v3, Lcom/google/protobuf/bk;->bkW:[Lcom/google/protobuf/bj;

    array-length v5, v5

    if-ge v2, v5, :cond_4e

    .line 5909
    iget-object v5, v3, Lcom/google/protobuf/bk;->bkW:[Lcom/google/protobuf/bj;

    aget-object v5, v5, v2

    invoke-virtual {v4, v2}, Lcom/google/protobuf/DescriptorProtos$ServiceDescriptorProto;->getMethod(I)Lcom/google/protobuf/DescriptorProtos$MethodDescriptorProto;

    move-result-object v6

    .line 6014
    iput-object v6, v5, Lcom/google/protobuf/bj;->bkT:Lcom/google/protobuf/DescriptorProtos$MethodDescriptorProto;

    .line 5908
    add-int/lit8 v2, v2, 0x1

    goto :goto_3c

    .line 563
    :cond_4e
    add-int/lit8 v0, v0, 0x1

    goto :goto_2c

    .line 567
    :cond_51
    :goto_51
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FileDescriptor;->bko:[Lcom/google/protobuf/Descriptors$FieldDescriptor;

    array-length v0, v0

    if-ge v1, v0, :cond_64

    .line 568
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FileDescriptor;->bko:[Lcom/google/protobuf/Descriptors$FieldDescriptor;

    aget-object v0, v0, v1

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

    move-result-object v2

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

    .line 567
    add-int/lit8 v1, v1, 0x1

    goto :goto_51

    .line 570
    :cond_64
    return-void
.end method

.method static synthetic c(Lcom/google/protobuf/Descriptors$FileDescriptor;)Lcom/google/protobuf/Descriptors$DescriptorPool;
    .registers 2

    .prologue
    .line 75
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FileDescriptor;->bkR:Lcom/google/protobuf/Descriptors$DescriptorPool;

    return-object v0
.end method


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

    .prologue
    .line 91
    return-object p0
.end method

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

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

    .line 75
    return-object v0
.end method

.method public final DT()Ljava/util/List;
    .registers 2
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "()",
            "Ljava/util/List",
            "<",
            "Lcom/google/protobuf/Descriptors$Descriptor;",
            ">;"
        }
    .end annotation

    .prologue
    .line 112
    iget-object v0, p0, Lcom/google/protobuf/Descriptors$FileDescriptor;->bkO:[Lcom/google/protobuf/Descriptors$Descriptor;

    invoke-static {v0}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List;

    move-result-object v0

    invoke-static {v0}, Ljava/util/Collections;->unmodifiableList(Ljava/util/List;)Ljava/util/List;

    move-result-object v0

    return-object v0
.end method

.method public final DU()Lcom/google/protobuf/Descriptors$FileDescriptor$Syntax;
    .registers 3

    .prologue
    .line 154
    sget-object v0, Lcom/google/protobuf/Descriptors$FileDescriptor$Syntax;->PROTO3:Lcom/google/protobuf/Descriptors$FileDescriptor$Syntax;

    # getter for: Lcom/google/protobuf/Descriptors$FileDescriptor$Syntax;->name:Ljava/lang/String;
    invoke-static {v0}, Lcom/google/protobuf/Descriptors$FileDescriptor$Syntax;->access$000(Lcom/google/protobuf/Descriptors$FileDescriptor$Syntax;)Ljava/lang/String;

    move-result-object v0

    iget-object v1, p0, Lcom/google/protobuf/Descriptors$FileDescriptor;->bkN:Lcom/google/protobuf/DescriptorProtos$FileDescriptorProto;

    invoke-virtual {v1}, Lcom/google/protobuf/DescriptorProtos$FileDescriptorProto;->getSyntax()Ljava/lang/String;

    move-result-object v1

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

    move-result v0

    if-eqz v0, :cond_15

    .line 155
    sget-object v0, Lcom/google/protobuf/Descriptors$FileDescriptor$Syntax;->PROTO3:Lcom/google/protobuf/Descriptors$FileDescriptor$Syntax;

    .line 157
    :goto_14
    return-object v0

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

    goto :goto_14
.end method

.method final DV()Z
    .registers 3

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

    move-result-object v0

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

    if-ne v0, v1, :cond_a

    const/4 v0, 0x1

    :goto_9
    return v0

    :cond_a
    const/4 v0, 0x0

    goto :goto_9
.end method

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

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

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

    move-result-object v0

    return-object v0
.end method

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

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

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

    move-result-object v0

    return-object v0
.end method