public class com.google.protobuf.util.JsonFormat$Parser
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.google.protobuf.util.JsonFormat$Parser
  super_class: java.lang.Object
{
  private final com.google.protobuf.TypeRegistry registry;
    descriptor: Lcom/google/protobuf/TypeRegistry;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.google.protobuf.util.JsonFormat$TypeRegistry oldRegistry;
    descriptor: Lcom/google/protobuf/util/JsonFormat$TypeRegistry;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean ignoringUnknownFields;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int recursionLimit;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static final int DEFAULT_RECURSION_LIMIT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 100

  private void <init>(com.google.protobuf.TypeRegistry, com.google.protobuf.util.JsonFormat$TypeRegistry, boolean, int);
    descriptor: (Lcom/google/protobuf/TypeRegistry;Lcom/google/protobuf/util/JsonFormat$TypeRegistry;ZI)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // com.google.protobuf.util.JsonFormat$Parser this
        start local 1 // com.google.protobuf.TypeRegistry registry
        start local 2 // com.google.protobuf.util.JsonFormat$TypeRegistry oldRegistry
        start local 3 // boolean ignoreUnknownFields
        start local 4 // int recursionLimit
         0: .line 416
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 421
            aload 0 /* this */
            aload 1 /* registry */
            putfield com.google.protobuf.util.JsonFormat$Parser.registry:Lcom/google/protobuf/TypeRegistry;
         2: .line 422
            aload 0 /* this */
            aload 2 /* oldRegistry */
            putfield com.google.protobuf.util.JsonFormat$Parser.oldRegistry:Lcom/google/protobuf/util/JsonFormat$TypeRegistry;
         3: .line 423
            aload 0 /* this */
            iload 3 /* ignoreUnknownFields */
            putfield com.google.protobuf.util.JsonFormat$Parser.ignoringUnknownFields:Z
         4: .line 424
            aload 0 /* this */
            iload 4 /* recursionLimit */
            putfield com.google.protobuf.util.JsonFormat$Parser.recursionLimit:I
         5: .line 425
            return
        end local 4 // int recursionLimit
        end local 3 // boolean ignoreUnknownFields
        end local 2 // com.google.protobuf.util.JsonFormat$TypeRegistry oldRegistry
        end local 1 // com.google.protobuf.TypeRegistry registry
        end local 0 // com.google.protobuf.util.JsonFormat$Parser this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    6     0                 this  Lcom/google/protobuf/util/JsonFormat$Parser;
            0    6     1             registry  Lcom/google/protobuf/TypeRegistry;
            0    6     2          oldRegistry  Lcom/google/protobuf/util/JsonFormat$TypeRegistry;
            0    6     3  ignoreUnknownFields  Z
            0    6     4       recursionLimit  I
    MethodParameters:
                     Name  Flags
      registry             
      oldRegistry          
      ignoreUnknownFields  
      recursionLimit       

  public com.google.protobuf.util.JsonFormat$Parser usingTypeRegistry(com.google.protobuf.util.JsonFormat$TypeRegistry);
    descriptor: (Lcom/google/protobuf/util/JsonFormat$TypeRegistry;)Lcom/google/protobuf/util/JsonFormat$Parser;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // com.google.protobuf.util.JsonFormat$Parser this
        start local 1 // com.google.protobuf.util.JsonFormat$TypeRegistry oldRegistry
         0: .line 434
            aload 0 /* this */
            getfield com.google.protobuf.util.JsonFormat$Parser.oldRegistry:Lcom/google/protobuf/util/JsonFormat$TypeRegistry;
            invokestatic com.google.protobuf.util.JsonFormat$TypeRegistry.getEmptyTypeRegistry:()Lcom/google/protobuf/util/JsonFormat$TypeRegistry;
            if_acmpne 2
         1: .line 435
            aload 0 /* this */
            getfield com.google.protobuf.util.JsonFormat$Parser.registry:Lcom/google/protobuf/TypeRegistry;
            invokestatic com.google.protobuf.TypeRegistry.getEmptyTypeRegistry:()Lcom/google/protobuf/TypeRegistry;
            if_acmpeq 3
         2: .line 436
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "Only one registry is allowed."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 438
      StackMap locals:
      StackMap stack:
            new com.google.protobuf.util.JsonFormat$Parser
            dup
         4: .line 439
            invokestatic com.google.protobuf.TypeRegistry.getEmptyTypeRegistry:()Lcom/google/protobuf/TypeRegistry;
         5: .line 440
            aload 1 /* oldRegistry */
         6: .line 441
            aload 0 /* this */
            getfield com.google.protobuf.util.JsonFormat$Parser.ignoringUnknownFields:Z
         7: .line 442
            aload 0 /* this */
            getfield com.google.protobuf.util.JsonFormat$Parser.recursionLimit:I
         8: .line 438
            invokespecial com.google.protobuf.util.JsonFormat$Parser.<init>:(Lcom/google/protobuf/TypeRegistry;Lcom/google/protobuf/util/JsonFormat$TypeRegistry;ZI)V
            areturn
        end local 1 // com.google.protobuf.util.JsonFormat$TypeRegistry oldRegistry
        end local 0 // com.google.protobuf.util.JsonFormat$Parser this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Lcom/google/protobuf/util/JsonFormat$Parser;
            0    9     1  oldRegistry  Lcom/google/protobuf/util/JsonFormat$TypeRegistry;
    MethodParameters:
             Name  Flags
      oldRegistry  

  public com.google.protobuf.util.JsonFormat$Parser usingTypeRegistry(com.google.protobuf.TypeRegistry);
    descriptor: (Lcom/google/protobuf/TypeRegistry;)Lcom/google/protobuf/util/JsonFormat$Parser;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // com.google.protobuf.util.JsonFormat$Parser this
        start local 1 // com.google.protobuf.TypeRegistry registry
         0: .line 452
            aload 0 /* this */
            getfield com.google.protobuf.util.JsonFormat$Parser.oldRegistry:Lcom/google/protobuf/util/JsonFormat$TypeRegistry;
            invokestatic com.google.protobuf.util.JsonFormat$TypeRegistry.getEmptyTypeRegistry:()Lcom/google/protobuf/util/JsonFormat$TypeRegistry;
            if_acmpne 2
         1: .line 453
            aload 0 /* this */
            getfield com.google.protobuf.util.JsonFormat$Parser.registry:Lcom/google/protobuf/TypeRegistry;
            invokestatic com.google.protobuf.TypeRegistry.getEmptyTypeRegistry:()Lcom/google/protobuf/TypeRegistry;
            if_acmpeq 3
         2: .line 454
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "Only one registry is allowed."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 456
      StackMap locals:
      StackMap stack:
            new com.google.protobuf.util.JsonFormat$Parser
            dup
            aload 1 /* registry */
            aload 0 /* this */
            getfield com.google.protobuf.util.JsonFormat$Parser.oldRegistry:Lcom/google/protobuf/util/JsonFormat$TypeRegistry;
            aload 0 /* this */
            getfield com.google.protobuf.util.JsonFormat$Parser.ignoringUnknownFields:Z
            aload 0 /* this */
            getfield com.google.protobuf.util.JsonFormat$Parser.recursionLimit:I
            invokespecial com.google.protobuf.util.JsonFormat$Parser.<init>:(Lcom/google/protobuf/TypeRegistry;Lcom/google/protobuf/util/JsonFormat$TypeRegistry;ZI)V
            areturn
        end local 1 // com.google.protobuf.TypeRegistry registry
        end local 0 // com.google.protobuf.util.JsonFormat$Parser this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lcom/google/protobuf/util/JsonFormat$Parser;
            0    4     1  registry  Lcom/google/protobuf/TypeRegistry;
    MethodParameters:
          Name  Flags
      registry  

  public com.google.protobuf.util.JsonFormat$Parser ignoringUnknownFields();
    descriptor: ()Lcom/google/protobuf/util/JsonFormat$Parser;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // com.google.protobuf.util.JsonFormat$Parser this
         0: .line 464
            new com.google.protobuf.util.JsonFormat$Parser
            dup
            aload 0 /* this */
            getfield com.google.protobuf.util.JsonFormat$Parser.registry:Lcom/google/protobuf/TypeRegistry;
            aload 0 /* this */
            getfield com.google.protobuf.util.JsonFormat$Parser.oldRegistry:Lcom/google/protobuf/util/JsonFormat$TypeRegistry;
            iconst_1
            aload 0 /* this */
            getfield com.google.protobuf.util.JsonFormat$Parser.recursionLimit:I
            invokespecial com.google.protobuf.util.JsonFormat$Parser.<init>:(Lcom/google/protobuf/TypeRegistry;Lcom/google/protobuf/util/JsonFormat$TypeRegistry;ZI)V
            areturn
        end local 0 // com.google.protobuf.util.JsonFormat$Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/protobuf/util/JsonFormat$Parser;

  public void merge(java.lang.String, com.google.protobuf.Message$Builder);
    descriptor: (Ljava/lang/String;Lcom/google/protobuf/Message$Builder;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // com.google.protobuf.util.JsonFormat$Parser this
        start local 1 // java.lang.String json
        start local 2 // com.google.protobuf.Message$Builder builder
         0: .line 476
            new com.google.protobuf.util.JsonFormat$ParserImpl
            dup
            aload 0 /* this */
            getfield com.google.protobuf.util.JsonFormat$Parser.registry:Lcom/google/protobuf/TypeRegistry;
            aload 0 /* this */
            getfield com.google.protobuf.util.JsonFormat$Parser.oldRegistry:Lcom/google/protobuf/util/JsonFormat$TypeRegistry;
            aload 0 /* this */
            getfield com.google.protobuf.util.JsonFormat$Parser.ignoringUnknownFields:Z
            aload 0 /* this */
            getfield com.google.protobuf.util.JsonFormat$Parser.recursionLimit:I
            invokespecial com.google.protobuf.util.JsonFormat$ParserImpl.<init>:(Lcom/google/protobuf/TypeRegistry;Lcom/google/protobuf/util/JsonFormat$TypeRegistry;ZI)V
         1: .line 477
            aload 1 /* json */
            aload 2 /* builder */
            invokevirtual com.google.protobuf.util.JsonFormat$ParserImpl.merge:(Ljava/lang/String;Lcom/google/protobuf/Message$Builder;)V
         2: .line 478
            return
        end local 2 // com.google.protobuf.Message$Builder builder
        end local 1 // java.lang.String json
        end local 0 // com.google.protobuf.util.JsonFormat$Parser this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lcom/google/protobuf/util/JsonFormat$Parser;
            0    3     1     json  Ljava/lang/String;
            0    3     2  builder  Lcom/google/protobuf/Message$Builder;
    Exceptions:
      throws com.google.protobuf.InvalidProtocolBufferException
    MethodParameters:
         Name  Flags
      json     
      builder  

  public void merge(java.io.Reader, com.google.protobuf.Message$Builder);
    descriptor: (Ljava/io/Reader;Lcom/google/protobuf/Message$Builder;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // com.google.protobuf.util.JsonFormat$Parser this
        start local 1 // java.io.Reader json
        start local 2 // com.google.protobuf.Message$Builder builder
         0: .line 490
            new com.google.protobuf.util.JsonFormat$ParserImpl
            dup
            aload 0 /* this */
            getfield com.google.protobuf.util.JsonFormat$Parser.registry:Lcom/google/protobuf/TypeRegistry;
            aload 0 /* this */
            getfield com.google.protobuf.util.JsonFormat$Parser.oldRegistry:Lcom/google/protobuf/util/JsonFormat$TypeRegistry;
            aload 0 /* this */
            getfield com.google.protobuf.util.JsonFormat$Parser.ignoringUnknownFields:Z
            aload 0 /* this */
            getfield com.google.protobuf.util.JsonFormat$Parser.recursionLimit:I
            invokespecial com.google.protobuf.util.JsonFormat$ParserImpl.<init>:(Lcom/google/protobuf/TypeRegistry;Lcom/google/protobuf/util/JsonFormat$TypeRegistry;ZI)V
         1: .line 491
            aload 1 /* json */
            aload 2 /* builder */
            invokevirtual com.google.protobuf.util.JsonFormat$ParserImpl.merge:(Ljava/io/Reader;Lcom/google/protobuf/Message$Builder;)V
         2: .line 492
            return
        end local 2 // com.google.protobuf.Message$Builder builder
        end local 1 // java.io.Reader json
        end local 0 // com.google.protobuf.util.JsonFormat$Parser this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lcom/google/protobuf/util/JsonFormat$Parser;
            0    3     1     json  Ljava/io/Reader;
            0    3     2  builder  Lcom/google/protobuf/Message$Builder;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      json     
      builder  

  com.google.protobuf.util.JsonFormat$Parser usingRecursionLimit(int);
    descriptor: (I)Lcom/google/protobuf/util/JsonFormat$Parser;
    flags: (0x0000) 
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // com.google.protobuf.util.JsonFormat$Parser this
        start local 1 // int recursionLimit
         0: .line 496
            new com.google.protobuf.util.JsonFormat$Parser
            dup
            aload 0 /* this */
            getfield com.google.protobuf.util.JsonFormat$Parser.registry:Lcom/google/protobuf/TypeRegistry;
            aload 0 /* this */
            getfield com.google.protobuf.util.JsonFormat$Parser.oldRegistry:Lcom/google/protobuf/util/JsonFormat$TypeRegistry;
            aload 0 /* this */
            getfield com.google.protobuf.util.JsonFormat$Parser.ignoringUnknownFields:Z
            iload 1 /* recursionLimit */
            invokespecial com.google.protobuf.util.JsonFormat$Parser.<init>:(Lcom/google/protobuf/TypeRegistry;Lcom/google/protobuf/util/JsonFormat$TypeRegistry;ZI)V
            areturn
        end local 1 // int recursionLimit
        end local 0 // com.google.protobuf.util.JsonFormat$Parser this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lcom/google/protobuf/util/JsonFormat$Parser;
            0    1     1  recursionLimit  I
    MethodParameters:
                Name  Flags
      recursionLimit  
}
SourceFile: "JsonFormat.java"
NestHost: com.google.protobuf.util.JsonFormat
InnerClasses:
  public abstract Builder = com.google.protobuf.Message$Builder of com.google.protobuf.Message
  public Parser = com.google.protobuf.util.JsonFormat$Parser of com.google.protobuf.util.JsonFormat
  private ParserImpl = com.google.protobuf.util.JsonFormat$ParserImpl of com.google.protobuf.util.JsonFormat
  public TypeRegistry = com.google.protobuf.util.JsonFormat$TypeRegistry of com.google.protobuf.util.JsonFormat