final class jdk.jfr.internal.consumer.ParserFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: jdk.jfr.internal.consumer.ParserFactory
  super_class: java.lang.Object
{
  private final jdk.jfr.internal.LongMap<jdk.jfr.internal.consumer.Parser> parsers;
    descriptor: Ljdk/jfr/internal/LongMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljdk/jfr/internal/LongMap<Ljdk/jfr/internal/consumer/Parser;>;

  private final jdk.jfr.internal.consumer.TimeConverter timeConverter;
    descriptor: Ljdk/jfr/internal/consumer/TimeConverter;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jdk.jfr.internal.LongMap<jdk.jfr.internal.Type> types;
    descriptor: Ljdk/jfr/internal/LongMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljdk/jfr/internal/LongMap<Ljdk/jfr/internal/Type;>;

  private final jdk.jfr.internal.LongMap<jdk.jfr.internal.consumer.ConstantLookup> constantLookups;
    descriptor: Ljdk/jfr/internal/LongMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljdk/jfr/internal/LongMap<Ljdk/jfr/internal/consumer/ConstantLookup;>;

  public void <init>(jdk.jfr.internal.MetadataDescriptor, jdk.jfr.internal.LongMap<jdk.jfr.internal.consumer.ConstantLookup>, jdk.jfr.internal.consumer.TimeConverter);
    descriptor: (Ljdk/jfr/internal/MetadataDescriptor;Ljdk/jfr/internal/LongMap;Ljdk/jfr/internal/consumer/TimeConverter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=4
        start local 0 // jdk.jfr.internal.consumer.ParserFactory this
        start local 1 // jdk.jfr.internal.MetadataDescriptor metadata
        start local 2 // jdk.jfr.internal.LongMap constantLookups
        start local 3 // jdk.jfr.internal.consumer.TimeConverter timeConverter
         0: .line 50
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 45
            aload 0 /* this */
            new jdk.jfr.internal.LongMap
            dup
            invokespecial jdk.jfr.internal.LongMap.<init>:()V
            putfield jdk.jfr.internal.consumer.ParserFactory.parsers:Ljdk/jfr/internal/LongMap;
         2: .line 47
            aload 0 /* this */
            new jdk.jfr.internal.LongMap
            dup
            invokespecial jdk.jfr.internal.LongMap.<init>:()V
            putfield jdk.jfr.internal.consumer.ParserFactory.types:Ljdk/jfr/internal/LongMap;
         3: .line 51
            aload 0 /* this */
            aload 2 /* constantLookups */
            putfield jdk.jfr.internal.consumer.ParserFactory.constantLookups:Ljdk/jfr/internal/LongMap;
         4: .line 52
            aload 0 /* this */
            aload 3 /* timeConverter */
            putfield jdk.jfr.internal.consumer.ParserFactory.timeConverter:Ljdk/jfr/internal/consumer/TimeConverter;
         5: .line 53
            aload 1 /* metadata */
            invokevirtual jdk.jfr.internal.MetadataDescriptor.getTypes:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 8
      StackMap locals: jdk.jfr.internal.consumer.ParserFactory jdk.jfr.internal.MetadataDescriptor jdk.jfr.internal.LongMap jdk.jfr.internal.consumer.TimeConverter top java.util.Iterator
      StackMap stack:
         6: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.jfr.internal.Type
            astore 4 /* t */
        start local 4 // jdk.jfr.internal.Type t
         7: .line 54
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ParserFactory.types:Ljdk/jfr/internal/LongMap;
            aload 4 /* t */
            invokevirtual jdk.jfr.internal.Type.getId:()J
            aload 4 /* t */
            invokevirtual jdk.jfr.internal.LongMap.put:(JLjava/lang/Object;)V
        end local 4 // jdk.jfr.internal.Type t
         8: .line 53
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
         9: .line 59
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* typeList */
        start local 4 // java.util.List typeList
        10: .line 60
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ParserFactory.types:Ljdk/jfr/internal/LongMap;
            aload 4 /* typeList */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic accept(Ljava/util/List;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  java/util/List.add(Ljava/lang/Object;)Z (9 itf)
                  (Ljdk/jfr/internal/Type;)V
            invokevirtual jdk.jfr.internal.LongMap.forEach:(Ljava/util/function/Consumer;)V
        11: .line 61
            aload 4 /* typeList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 17
      StackMap locals: jdk.jfr.internal.consumer.ParserFactory jdk.jfr.internal.MetadataDescriptor jdk.jfr.internal.LongMap jdk.jfr.internal.consumer.TimeConverter java.util.List top top java.util.Iterator
      StackMap stack:
        12: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.jfr.internal.Type
            astore 6 /* t */
        start local 6 // jdk.jfr.internal.Type t
        13: .line 62
            aload 6 /* t */
            invokevirtual jdk.jfr.internal.Type.getFields:()Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 17
        14: .line 63
            aload 0 /* this */
            aload 6 /* t */
            iconst_0
            invokevirtual jdk.jfr.internal.consumer.ParserFactory.createCompositeParser:(Ljdk/jfr/internal/Type;Z)Ljdk/jfr/internal/consumer/ParserFactory$CompositeParser;
            astore 8 /* cp */
        start local 8 // jdk.jfr.internal.consumer.ParserFactory$CompositeParser cp
        15: .line 64
            aload 6 /* t */
            invokevirtual jdk.jfr.internal.Type.isSimpleType:()Z
            ifeq 17
        16: .line 65
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ParserFactory.parsers:Ljdk/jfr/internal/LongMap;
            aload 6 /* t */
            invokevirtual jdk.jfr.internal.Type.getId:()J
            aload 8 /* cp */
            getfield jdk.jfr.internal.consumer.ParserFactory$CompositeParser.parsers:[Ljdk/jfr/internal/consumer/Parser;
            iconst_0
            aaload
            invokevirtual jdk.jfr.internal.LongMap.put:(JLjava/lang/Object;)V
        end local 8 // jdk.jfr.internal.consumer.ParserFactory$CompositeParser cp
        end local 6 // jdk.jfr.internal.Type t
        17: .line 61
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        18: .line 70
            aload 1 /* metadata */
            invokevirtual jdk.jfr.internal.MetadataDescriptor.getEventTypes:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 21
      StackMap locals:
      StackMap stack:
        19: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.jfr.EventType
            astore 6 /* t */
        start local 6 // jdk.jfr.EventType t
        20: .line 71
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ParserFactory.parsers:Ljdk/jfr/internal/LongMap;
            aload 6 /* t */
            invokevirtual jdk.jfr.EventType.getId:()J
            aload 0 /* this */
            aload 6 /* t */
            invokevirtual jdk.jfr.internal.consumer.ParserFactory.createEventParser:(Ljdk/jfr/EventType;)Ljdk/jfr/internal/consumer/EventParser;
            invokevirtual jdk.jfr.internal.LongMap.put:(JLjava/lang/Object;)V
        end local 6 // jdk.jfr.EventType t
        21: .line 70
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 19
        22: .line 73
            return
        end local 4 // java.util.List typeList
        end local 3 // jdk.jfr.internal.consumer.TimeConverter timeConverter
        end local 2 // jdk.jfr.internal.LongMap constantLookups
        end local 1 // jdk.jfr.internal.MetadataDescriptor metadata
        end local 0 // jdk.jfr.internal.consumer.ParserFactory this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   23     0             this  Ljdk/jfr/internal/consumer/ParserFactory;
            0   23     1         metadata  Ljdk/jfr/internal/MetadataDescriptor;
            0   23     2  constantLookups  Ljdk/jfr/internal/LongMap<Ljdk/jfr/internal/consumer/ConstantLookup;>;
            0   23     3    timeConverter  Ljdk/jfr/internal/consumer/TimeConverter;
            7    8     4                t  Ljdk/jfr/internal/Type;
           10   23     4         typeList  Ljava/util/List<Ljdk/jfr/internal/Type;>;
           13   17     6                t  Ljdk/jfr/internal/Type;
           15   17     8               cp  Ljdk/jfr/internal/consumer/ParserFactory$CompositeParser;
           20   21     6                t  Ljdk/jfr/EventType;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljdk/jfr/internal/MetadataDescriptor;Ljdk/jfr/internal/LongMap<Ljdk/jfr/internal/consumer/ConstantLookup;>;Ljdk/jfr/internal/consumer/TimeConverter;)V
    MethodParameters:
                 Name  Flags
      metadata         
      constantLookups  
      timeConverter    

  public jdk.jfr.internal.LongMap<jdk.jfr.internal.consumer.Parser> getParsers();
    descriptor: ()Ljdk/jfr/internal/LongMap;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.consumer.ParserFactory this
         0: .line 76
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ParserFactory.parsers:Ljdk/jfr/internal/LongMap;
            areturn
        end local 0 // jdk.jfr.internal.consumer.ParserFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/consumer/ParserFactory;
    Signature: ()Ljdk/jfr/internal/LongMap<Ljdk/jfr/internal/consumer/Parser;>;

  public jdk.jfr.internal.LongMap<jdk.jfr.internal.Type> getTypeMap();
    descriptor: ()Ljdk/jfr/internal/LongMap;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.consumer.ParserFactory this
         0: .line 80
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ParserFactory.types:Ljdk/jfr/internal/LongMap;
            areturn
        end local 0 // jdk.jfr.internal.consumer.ParserFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/consumer/ParserFactory;
    Signature: ()Ljdk/jfr/internal/LongMap<Ljdk/jfr/internal/Type;>;

  private jdk.jfr.internal.consumer.EventParser createEventParser(jdk.jfr.EventType);
    descriptor: (Ljdk/jfr/EventType;)Ljdk/jfr/internal/consumer/EventParser;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // jdk.jfr.internal.consumer.ParserFactory this
        start local 1 // jdk.jfr.EventType eventType
         0: .line 84
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* parsers */
        start local 2 // java.util.List parsers
         1: .line 85
            aload 1 /* eventType */
            invokevirtual jdk.jfr.EventType.getFields:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 4
      StackMap locals: jdk.jfr.internal.consumer.ParserFactory jdk.jfr.EventType java.util.List top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.jfr.ValueDescriptor
            astore 3 /* f */
        start local 3 // jdk.jfr.ValueDescriptor f
         3: .line 86
            aload 2 /* parsers */
            aload 0 /* this */
            aload 3 /* f */
            iconst_1
            invokevirtual jdk.jfr.internal.consumer.ParserFactory.createParser:(Ljdk/jfr/ValueDescriptor;Z)Ljdk/jfr/internal/consumer/Parser;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // jdk.jfr.ValueDescriptor f
         4: .line 85
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 88
            new jdk.jfr.internal.consumer.EventParser
            dup
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ParserFactory.timeConverter:Ljdk/jfr/internal/consumer/TimeConverter;
            aload 1 /* eventType */
            aload 2 /* parsers */
            iconst_0
            anewarray jdk.jfr.internal.consumer.Parser
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast jdk.jfr.internal.consumer.Parser[]
            invokespecial jdk.jfr.internal.consumer.EventParser.<init>:(Ljdk/jfr/internal/consumer/TimeConverter;Ljdk/jfr/EventType;[Ljdk/jfr/internal/consumer/Parser;)V
            areturn
        end local 2 // java.util.List parsers
        end local 1 // jdk.jfr.EventType eventType
        end local 0 // jdk.jfr.internal.consumer.ParserFactory this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Ljdk/jfr/internal/consumer/ParserFactory;
            0    6     1  eventType  Ljdk/jfr/EventType;
            1    6     2    parsers  Ljava/util/List<Ljdk/jfr/internal/consumer/Parser;>;
            3    4     3          f  Ljdk/jfr/ValueDescriptor;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      eventType  

  private jdk.jfr.internal.consumer.Parser createParser(jdk.jfr.ValueDescriptor, boolean);
    descriptor: (Ljdk/jfr/ValueDescriptor;Z)Ljdk/jfr/internal/consumer/Parser;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=9, args_size=3
        start local 0 // jdk.jfr.internal.consumer.ParserFactory this
        start local 1 // jdk.jfr.ValueDescriptor v
        start local 2 // boolean event
         0: .line 92
            invokestatic jdk.jfr.internal.PrivateAccess.getInstance:()Ljdk/jfr/internal/PrivateAccess;
            aload 1 /* v */
            invokevirtual jdk.jfr.internal.PrivateAccess.isConstantPool:(Ljdk/jfr/ValueDescriptor;)Z
            istore 3 /* constantPool */
        start local 3 // boolean constantPool
         1: .line 93
            aload 1 /* v */
            invokevirtual jdk.jfr.ValueDescriptor.isArray:()Z
            ifeq 5
         2: .line 94
            invokestatic jdk.jfr.internal.PrivateAccess.getInstance:()Ljdk/jfr/internal/PrivateAccess;
            aload 1 /* v */
            invokevirtual jdk.jfr.internal.PrivateAccess.getType:(Ljava/lang/Object;)Ljdk/jfr/internal/Type;
            astore 4 /* valueType */
        start local 4 // jdk.jfr.internal.Type valueType
         3: .line 95
            invokestatic jdk.jfr.internal.PrivateAccess.getInstance:()Ljdk/jfr/internal/PrivateAccess;
            aload 1 /* v */
            invokevirtual jdk.jfr.ValueDescriptor.getName:()Ljava/lang/String;
            aload 4 /* valueType */
            aload 1 /* v */
            invokevirtual jdk.jfr.ValueDescriptor.getAnnotationElements:()Ljava/util/List;
            iconst_0
            iload 3 /* constantPool */
            aconst_null
            invokevirtual jdk.jfr.internal.PrivateAccess.newValueDescriptor:(Ljava/lang/String;Ljdk/jfr/internal/Type;Ljava/util/List;IZLjava/lang/String;)Ljdk/jfr/ValueDescriptor;
            astore 5 /* element */
        start local 5 // jdk.jfr.ValueDescriptor element
         4: .line 96
            new jdk.jfr.internal.consumer.ParserFactory$ArrayParser
            dup
            aload 0 /* this */
            aload 5 /* element */
            iload 2 /* event */
            invokevirtual jdk.jfr.internal.consumer.ParserFactory.createParser:(Ljdk/jfr/ValueDescriptor;Z)Ljdk/jfr/internal/consumer/Parser;
            invokespecial jdk.jfr.internal.consumer.ParserFactory$ArrayParser.<init>:(Ljdk/jfr/internal/consumer/Parser;)V
            areturn
        end local 5 // jdk.jfr.ValueDescriptor element
        end local 4 // jdk.jfr.internal.Type valueType
         5: .line 98
      StackMap locals: int
      StackMap stack:
            aload 1 /* v */
            invokevirtual jdk.jfr.ValueDescriptor.getTypeId:()J
            lstore 4 /* id */
        start local 4 // long id
         6: .line 99
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ParserFactory.types:Ljdk/jfr/internal/LongMap;
            lload 4 /* id */
            invokevirtual jdk.jfr.internal.LongMap.get:(J)Ljava/lang/Object;
            checkcast jdk.jfr.internal.Type
            astore 6 /* type */
        start local 6 // jdk.jfr.internal.Type type
         7: .line 100
            aload 6 /* type */
            ifnonnull 9
         8: .line 101
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Type '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* v */
            invokevirtual jdk.jfr.ValueDescriptor.getTypeName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "' is not defined"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 103
      StackMap locals: long jdk.jfr.internal.Type
      StackMap stack:
            iload 3 /* constantPool */
            ifeq 18
        10: .line 104
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ParserFactory.constantLookups:Ljdk/jfr/internal/LongMap;
            lload 4 /* id */
            invokevirtual jdk.jfr.internal.LongMap.get:(J)Ljava/lang/Object;
            checkcast jdk.jfr.internal.consumer.ConstantLookup
            astore 7 /* lookup */
        start local 7 // jdk.jfr.internal.consumer.ConstantLookup lookup
        11: .line 105
            aload 7 /* lookup */
            ifnonnull 15
        12: .line 106
            new jdk.jfr.internal.consumer.ConstantMap
            dup
            aload 6 /* type */
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ParserFactory.timeConverter:Ljdk/jfr/internal/consumer/TimeConverter;
            invokestatic jdk.jfr.internal.consumer.ObjectFactory.create:(Ljdk/jfr/internal/Type;Ljdk/jfr/internal/consumer/TimeConverter;)Ljdk/jfr/internal/consumer/ObjectFactory;
            aload 6 /* type */
            invokevirtual jdk.jfr.internal.Type.getName:()Ljava/lang/String;
            invokespecial jdk.jfr.internal.consumer.ConstantMap.<init>:(Ljdk/jfr/internal/consumer/ObjectFactory;Ljava/lang/String;)V
            astore 8 /* pool */
        start local 8 // jdk.jfr.internal.consumer.ConstantMap pool
        13: .line 107
            new jdk.jfr.internal.consumer.ConstantLookup
            dup
            aload 8 /* pool */
            aload 6 /* type */
            invokespecial jdk.jfr.internal.consumer.ConstantLookup.<init>:(Ljdk/jfr/internal/consumer/ConstantMap;Ljdk/jfr/internal/Type;)V
            astore 7 /* lookup */
        14: .line 108
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ParserFactory.constantLookups:Ljdk/jfr/internal/LongMap;
            lload 4 /* id */
            aload 7 /* lookup */
            invokevirtual jdk.jfr.internal.LongMap.put:(JLjava/lang/Object;)V
        end local 8 // jdk.jfr.internal.consumer.ConstantMap pool
        15: .line 110
      StackMap locals: jdk.jfr.internal.consumer.ConstantLookup
      StackMap stack:
            iload 2 /* event */
            ifeq 17
        16: .line 111
            new jdk.jfr.internal.consumer.ParserFactory$EventValueConstantParser
            dup
            aload 7 /* lookup */
            invokespecial jdk.jfr.internal.consumer.ParserFactory$EventValueConstantParser.<init>:(Ljdk/jfr/internal/consumer/ConstantLookup;)V
            areturn
        17: .line 113
      StackMap locals:
      StackMap stack:
            new jdk.jfr.internal.consumer.ParserFactory$ConstantValueParser
            dup
            aload 7 /* lookup */
            invokespecial jdk.jfr.internal.consumer.ParserFactory$ConstantValueParser.<init>:(Ljdk/jfr/internal/consumer/ConstantLookup;)V
            areturn
        end local 7 // jdk.jfr.internal.consumer.ConstantLookup lookup
        18: .line 115
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ParserFactory.parsers:Ljdk/jfr/internal/LongMap;
            lload 4 /* id */
            invokevirtual jdk.jfr.internal.LongMap.get:(J)Ljava/lang/Object;
            checkcast jdk.jfr.internal.consumer.Parser
            astore 7 /* parser */
        start local 7 // jdk.jfr.internal.consumer.Parser parser
        19: .line 116
            aload 7 /* parser */
            ifnonnull 23
        20: .line 117
            aload 1 /* v */
            invokevirtual jdk.jfr.ValueDescriptor.getFields:()Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 22
        21: .line 118
            aload 0 /* this */
            aload 6 /* type */
            iload 2 /* event */
            invokevirtual jdk.jfr.internal.consumer.ParserFactory.createCompositeParser:(Ljdk/jfr/internal/Type;Z)Ljdk/jfr/internal/consumer/ParserFactory$CompositeParser;
            areturn
        22: .line 120
      StackMap locals: jdk.jfr.internal.consumer.Parser
      StackMap stack:
            aload 0 /* this */
            aload 6 /* type */
            aload 0 /* this */
            aload 6 /* type */
            iload 3 /* constantPool */
            invokevirtual jdk.jfr.internal.consumer.ParserFactory.createPrimitiveParser:(Ljdk/jfr/internal/Type;Z)Ljdk/jfr/internal/consumer/Parser;
            invokevirtual jdk.jfr.internal.consumer.ParserFactory.registerParserType:(Ljdk/jfr/internal/Type;Ljdk/jfr/internal/consumer/Parser;)Ljdk/jfr/internal/consumer/Parser;
            areturn
        23: .line 123
      StackMap locals:
      StackMap stack:
            aload 7 /* parser */
            areturn
        end local 7 // jdk.jfr.internal.consumer.Parser parser
        end local 6 // jdk.jfr.internal.Type type
        end local 4 // long id
        end local 3 // boolean constantPool
        end local 2 // boolean event
        end local 1 // jdk.jfr.ValueDescriptor v
        end local 0 // jdk.jfr.internal.consumer.ParserFactory this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   24     0          this  Ljdk/jfr/internal/consumer/ParserFactory;
            0   24     1             v  Ljdk/jfr/ValueDescriptor;
            0   24     2         event  Z
            1   24     3  constantPool  Z
            3    5     4     valueType  Ljdk/jfr/internal/Type;
            4    5     5       element  Ljdk/jfr/ValueDescriptor;
            6   24     4            id  J
            7   24     6          type  Ljdk/jfr/internal/Type;
           11   18     7        lookup  Ljdk/jfr/internal/consumer/ConstantLookup;
           13   15     8          pool  Ljdk/jfr/internal/consumer/ConstantMap;
           19   24     7        parser  Ljdk/jfr/internal/consumer/Parser;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      v      
      event  

  private jdk.jfr.internal.consumer.Parser createPrimitiveParser(jdk.jfr.internal.Type, boolean);
    descriptor: (Ljdk/jfr/internal/Type;Z)Ljdk/jfr/internal/consumer/Parser;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // jdk.jfr.internal.consumer.ParserFactory this
        start local 1 // jdk.jfr.internal.Type type
        start local 2 // boolean event
         0: .line 127
            aload 1 /* type */
            invokevirtual jdk.jfr.internal.Type.getName:()Ljava/lang/String;
            dup
            astore 3
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 9
          -1325958191: 1
               104431: 2
              3039496: 3
              3052374: 4
              3327612: 5
             64711720: 6
             97526364: 7
            109413500: 8
           1195259493: 9
              default: 22
          }
      StackMap locals: java.lang.String
      StackMap stack:
         1: aload 3
            ldc "double"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 13
            goto 22
      StackMap locals:
      StackMap stack:
         2: aload 3
            ldc "int"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 10
            goto 22
      StackMap locals:
      StackMap stack:
         3: aload 3
            ldc "byte"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 17
            goto 22
      StackMap locals:
      StackMap stack:
         4: aload 3
            ldc "char"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 14
            goto 22
      StackMap locals:
      StackMap stack:
         5: aload 3
            ldc "long"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 11
            goto 22
      StackMap locals:
      StackMap stack:
         6: aload 3
            ldc "boolean"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 15
            goto 22
      StackMap locals:
      StackMap stack:
         7: aload 3
            ldc "float"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 12
            goto 22
      StackMap locals:
      StackMap stack:
         8: aload 3
            ldc "short"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 16
            goto 22
      StackMap locals:
      StackMap stack:
         9: aload 3
            ldc "java.lang.String"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 18
            goto 22
        10: .line 129
      StackMap locals:
      StackMap stack:
            new jdk.jfr.internal.consumer.ParserFactory$IntegerParser
            dup
            invokespecial jdk.jfr.internal.consumer.ParserFactory$IntegerParser.<init>:()V
            areturn
        11: .line 131
      StackMap locals:
      StackMap stack:
            new jdk.jfr.internal.consumer.ParserFactory$LongParser
            dup
            invokespecial jdk.jfr.internal.consumer.ParserFactory$LongParser.<init>:()V
            areturn
        12: .line 133
      StackMap locals:
      StackMap stack:
            new jdk.jfr.internal.consumer.ParserFactory$FloatParser
            dup
            invokespecial jdk.jfr.internal.consumer.ParserFactory$FloatParser.<init>:()V
            areturn
        13: .line 135
      StackMap locals:
      StackMap stack:
            new jdk.jfr.internal.consumer.ParserFactory$DoubleParser
            dup
            invokespecial jdk.jfr.internal.consumer.ParserFactory$DoubleParser.<init>:()V
            areturn
        14: .line 137
      StackMap locals:
      StackMap stack:
            new jdk.jfr.internal.consumer.ParserFactory$CharacterParser
            dup
            invokespecial jdk.jfr.internal.consumer.ParserFactory$CharacterParser.<init>:()V
            areturn
        15: .line 139
      StackMap locals:
      StackMap stack:
            new jdk.jfr.internal.consumer.ParserFactory$BooleanParser
            dup
            invokespecial jdk.jfr.internal.consumer.ParserFactory$BooleanParser.<init>:()V
            areturn
        16: .line 141
      StackMap locals:
      StackMap stack:
            new jdk.jfr.internal.consumer.ParserFactory$ShortParser
            dup
            invokespecial jdk.jfr.internal.consumer.ParserFactory$ShortParser.<init>:()V
            areturn
        17: .line 143
      StackMap locals:
      StackMap stack:
            new jdk.jfr.internal.consumer.ParserFactory$ByteParser
            dup
            invokespecial jdk.jfr.internal.consumer.ParserFactory$ByteParser.<init>:()V
            areturn
        18: .line 145
      StackMap locals:
      StackMap stack:
            new jdk.jfr.internal.consumer.ConstantMap
            dup
            aload 1 /* type */
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ParserFactory.timeConverter:Ljdk/jfr/internal/consumer/TimeConverter;
            invokestatic jdk.jfr.internal.consumer.ObjectFactory.create:(Ljdk/jfr/internal/Type;Ljdk/jfr/internal/consumer/TimeConverter;)Ljdk/jfr/internal/consumer/ObjectFactory;
            aload 1 /* type */
            invokevirtual jdk.jfr.internal.Type.getName:()Ljava/lang/String;
            invokespecial jdk.jfr.internal.consumer.ConstantMap.<init>:(Ljdk/jfr/internal/consumer/ObjectFactory;Ljava/lang/String;)V
            astore 4 /* pool */
        start local 4 // jdk.jfr.internal.consumer.ConstantMap pool
        19: .line 146
            new jdk.jfr.internal.consumer.ConstantLookup
            dup
            aload 4 /* pool */
            aload 1 /* type */
            invokespecial jdk.jfr.internal.consumer.ConstantLookup.<init>:(Ljdk/jfr/internal/consumer/ConstantMap;Ljdk/jfr/internal/Type;)V
            astore 5 /* lookup */
        start local 5 // jdk.jfr.internal.consumer.ConstantLookup lookup
        20: .line 147
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ParserFactory.constantLookups:Ljdk/jfr/internal/LongMap;
            aload 1 /* type */
            invokevirtual jdk.jfr.internal.Type.getId:()J
            aload 5 /* lookup */
            invokevirtual jdk.jfr.internal.LongMap.put:(JLjava/lang/Object;)V
        21: .line 148
            new jdk.jfr.internal.consumer.StringParser
            dup
            aload 5 /* lookup */
            iload 2 /* event */
            invokespecial jdk.jfr.internal.consumer.StringParser.<init>:(Ljdk/jfr/internal/consumer/ConstantLookup;Z)V
            areturn
        end local 5 // jdk.jfr.internal.consumer.ConstantLookup lookup
        end local 4 // jdk.jfr.internal.consumer.ConstantMap pool
        22: .line 150
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown primitive type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* type */
            invokevirtual jdk.jfr.internal.Type.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // boolean event
        end local 1 // jdk.jfr.internal.Type type
        end local 0 // jdk.jfr.internal.consumer.ParserFactory this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   23     0    this  Ljdk/jfr/internal/consumer/ParserFactory;
            0   23     1    type  Ljdk/jfr/internal/Type;
            0   23     2   event  Z
           19   22     4    pool  Ljdk/jfr/internal/consumer/ConstantMap;
           20   22     5  lookup  Ljdk/jfr/internal/consumer/ConstantLookup;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      type   
      event  

  private jdk.jfr.internal.consumer.Parser registerParserType(jdk.jfr.internal.Type, jdk.jfr.internal.consumer.Parser);
    descriptor: (Ljdk/jfr/internal/Type;Ljdk/jfr/internal/consumer/Parser;)Ljdk/jfr/internal/consumer/Parser;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // jdk.jfr.internal.consumer.ParserFactory this
        start local 1 // jdk.jfr.internal.Type t
        start local 2 // jdk.jfr.internal.consumer.Parser parser
         0: .line 155
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ParserFactory.parsers:Ljdk/jfr/internal/LongMap;
            aload 1 /* t */
            invokevirtual jdk.jfr.internal.Type.getId:()J
            invokevirtual jdk.jfr.internal.LongMap.get:(J)Ljava/lang/Object;
            checkcast jdk.jfr.internal.consumer.Parser
            astore 3 /* p */
        start local 3 // jdk.jfr.internal.consumer.Parser p
         1: .line 157
            aload 3 /* p */
            ifnull 3
         2: .line 158
            aload 3 /* p */
            areturn
         3: .line 160
      StackMap locals: jdk.jfr.internal.consumer.Parser
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ParserFactory.parsers:Ljdk/jfr/internal/LongMap;
            aload 1 /* t */
            invokevirtual jdk.jfr.internal.Type.getId:()J
            aload 2 /* parser */
            invokevirtual jdk.jfr.internal.LongMap.put:(JLjava/lang/Object;)V
         4: .line 161
            aload 2 /* parser */
            areturn
        end local 3 // jdk.jfr.internal.consumer.Parser p
        end local 2 // jdk.jfr.internal.consumer.Parser parser
        end local 1 // jdk.jfr.internal.Type t
        end local 0 // jdk.jfr.internal.consumer.ParserFactory this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Ljdk/jfr/internal/consumer/ParserFactory;
            0    5     1       t  Ljdk/jfr/internal/Type;
            0    5     2  parser  Ljdk/jfr/internal/consumer/Parser;
            1    5     3       p  Ljdk/jfr/internal/consumer/Parser;
    MethodParameters:
        Name  Flags
      t       
      parser  

  private jdk.jfr.internal.consumer.ParserFactory$CompositeParser createCompositeParser(jdk.jfr.internal.Type, boolean);
    descriptor: (Ljdk/jfr/internal/Type;Z)Ljdk/jfr/internal/consumer/ParserFactory$CompositeParser;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // jdk.jfr.internal.consumer.ParserFactory this
        start local 1 // jdk.jfr.internal.Type type
        start local 2 // boolean event
         0: .line 165
            aload 1 /* type */
            invokevirtual jdk.jfr.internal.Type.getFields:()Ljava/util/List;
            astore 3 /* vds */
        start local 3 // java.util.List vds
         1: .line 166
            aload 3 /* vds */
            invokeinterface java.util.List.size:()I
            anewarray jdk.jfr.internal.consumer.Parser
            astore 4 /* parsers */
        start local 4 // jdk.jfr.internal.consumer.Parser[] parsers
         2: .line 167
            new jdk.jfr.internal.consumer.ParserFactory$CompositeParser
            dup
            aload 4 /* parsers */
            invokespecial jdk.jfr.internal.consumer.ParserFactory$CompositeParser.<init>:([Ljdk/jfr/internal/consumer/Parser;)V
            astore 5 /* composite */
        start local 5 // jdk.jfr.internal.consumer.ParserFactory$CompositeParser composite
         3: .line 169
            aload 0 /* this */
            aload 1 /* type */
            aload 5 /* composite */
            invokevirtual jdk.jfr.internal.consumer.ParserFactory.registerParserType:(Ljdk/jfr/internal/Type;Ljdk/jfr/internal/consumer/Parser;)Ljdk/jfr/internal/consumer/Parser;
            pop
         4: .line 171
            iconst_0
            istore 6 /* index */
        start local 6 // int index
         5: .line 172
            aload 3 /* vds */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 8
      StackMap locals: jdk.jfr.internal.consumer.ParserFactory jdk.jfr.internal.Type int java.util.List jdk.jfr.internal.consumer.Parser[] jdk.jfr.internal.consumer.ParserFactory$CompositeParser int top java.util.Iterator
      StackMap stack:
         6: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.jfr.ValueDescriptor
            astore 7 /* vd */
        start local 7 // jdk.jfr.ValueDescriptor vd
         7: .line 173
            aload 4 /* parsers */
            iload 6 /* index */
            iinc 6 /* index */ 1
            aload 0 /* this */
            aload 7 /* vd */
            iload 2 /* event */
            invokevirtual jdk.jfr.internal.consumer.ParserFactory.createParser:(Ljdk/jfr/ValueDescriptor;Z)Ljdk/jfr/internal/consumer/Parser;
            aastore
        end local 7 // jdk.jfr.ValueDescriptor vd
         8: .line 172
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
         9: .line 175
            aload 5 /* composite */
            areturn
        end local 6 // int index
        end local 5 // jdk.jfr.internal.consumer.ParserFactory$CompositeParser composite
        end local 4 // jdk.jfr.internal.consumer.Parser[] parsers
        end local 3 // java.util.List vds
        end local 2 // boolean event
        end local 1 // jdk.jfr.internal.Type type
        end local 0 // jdk.jfr.internal.consumer.ParserFactory this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Ljdk/jfr/internal/consumer/ParserFactory;
            0   10     1       type  Ljdk/jfr/internal/Type;
            0   10     2      event  Z
            1   10     3        vds  Ljava/util/List<Ljdk/jfr/ValueDescriptor;>;
            2   10     4    parsers  [Ljdk/jfr/internal/consumer/Parser;
            3   10     5  composite  Ljdk/jfr/internal/consumer/ParserFactory$CompositeParser;
            5   10     6      index  I
            7    8     7         vd  Ljdk/jfr/ValueDescriptor;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      type   
      event  
}
SourceFile: "ParserFactory.java"
NestMembers:
  jdk.jfr.internal.consumer.ParserFactory$ArrayParser  jdk.jfr.internal.consumer.ParserFactory$BooleanParser  jdk.jfr.internal.consumer.ParserFactory$ByteParser  jdk.jfr.internal.consumer.ParserFactory$CharacterParser  jdk.jfr.internal.consumer.ParserFactory$CompositeParser  jdk.jfr.internal.consumer.ParserFactory$ConstantValueParser  jdk.jfr.internal.consumer.ParserFactory$DoubleParser  jdk.jfr.internal.consumer.ParserFactory$EventValueConstantParser  jdk.jfr.internal.consumer.ParserFactory$FloatParser  jdk.jfr.internal.consumer.ParserFactory$IntegerParser  jdk.jfr.internal.consumer.ParserFactory$LongParser  jdk.jfr.internal.consumer.ParserFactory$ShortParser
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  private final ArrayParser = jdk.jfr.internal.consumer.ParserFactory$ArrayParser of jdk.jfr.internal.consumer.ParserFactory
  private final BooleanParser = jdk.jfr.internal.consumer.ParserFactory$BooleanParser of jdk.jfr.internal.consumer.ParserFactory
  private final ByteParser = jdk.jfr.internal.consumer.ParserFactory$ByteParser of jdk.jfr.internal.consumer.ParserFactory
  private final CharacterParser = jdk.jfr.internal.consumer.ParserFactory$CharacterParser of jdk.jfr.internal.consumer.ParserFactory
  private final CompositeParser = jdk.jfr.internal.consumer.ParserFactory$CompositeParser of jdk.jfr.internal.consumer.ParserFactory
  private final ConstantValueParser = jdk.jfr.internal.consumer.ParserFactory$ConstantValueParser of jdk.jfr.internal.consumer.ParserFactory
  private final DoubleParser = jdk.jfr.internal.consumer.ParserFactory$DoubleParser of jdk.jfr.internal.consumer.ParserFactory
  private final EventValueConstantParser = jdk.jfr.internal.consumer.ParserFactory$EventValueConstantParser of jdk.jfr.internal.consumer.ParserFactory
  private final FloatParser = jdk.jfr.internal.consumer.ParserFactory$FloatParser of jdk.jfr.internal.consumer.ParserFactory
  private final IntegerParser = jdk.jfr.internal.consumer.ParserFactory$IntegerParser of jdk.jfr.internal.consumer.ParserFactory
  private final LongParser = jdk.jfr.internal.consumer.ParserFactory$LongParser of jdk.jfr.internal.consumer.ParserFactory
  private final ShortParser = jdk.jfr.internal.consumer.ParserFactory$ShortParser of jdk.jfr.internal.consumer.ParserFactory