final class jdk.jfr.internal.jfc.JFCParserHandler extends jdk.internal.org.xml.sax.helpers.DefaultHandler
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: jdk.jfr.internal.jfc.JFCParserHandler
  super_class: jdk.internal.org.xml.sax.helpers.DefaultHandler
{
  private static final java.lang.String ELEMENT_CONFIGURATION;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "configuration"

  private static final java.lang.String ELEMENT_EVENT_TYPE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "event"

  private static final java.lang.String ELEMENT_SETTING;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "setting"

  private static final java.lang.String ATTRIBUTE_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "name"

  private static final java.lang.String ATTRIBUTE_LABEL;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "label"

  private static final java.lang.String ATTRIBUTE_DESCRIPTION;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "description"

  private static final java.lang.String ATTRIBUTE_PROVIDER;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "provider"

  private static final java.lang.String ATTRIBUTE_VERSION;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "version"

  final java.util.Map<java.lang.String, java.lang.String> settings;
    descriptor: Ljava/util/Map;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;

  private java.lang.String currentEventPath;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String currentSettingsName;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.StringBuilder currentCharacters;
    descriptor: Ljava/lang/StringBuilder;
    flags: (0x0002) ACC_PRIVATE

  java.lang.String label;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  java.lang.String provider;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  java.lang.String description;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.jfc.JFCParserHandler this
         0: .line 34
            aload 0 /* this */
            invokespecial jdk.internal.org.xml.sax.helpers.DefaultHandler.<init>:()V
         1: .line 44
            aload 0 /* this */
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            putfield jdk.jfr.internal.jfc.JFCParserHandler.settings:Ljava/util/Map;
         2: .line 34
            return
        end local 0 // jdk.jfr.internal.jfc.JFCParserHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/jfr/internal/jfc/JFCParserHandler;

  public void startElement(java.lang.String, java.lang.String, java.lang.String, jdk.internal.org.xml.sax.Attributes);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljdk/internal/org/xml/sax/Attributes;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // jdk.jfr.internal.jfc.JFCParserHandler this
        start local 1 // java.lang.String uri
        start local 2 // java.lang.String localName
        start local 3 // java.lang.String qName
        start local 4 // jdk.internal.org.xml.sax.Attributes attributes
         0: .line 54
            aload 3 /* qName */
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            dup
            astore 5
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 3
             96891546: 1
           1932752118: 2
           1985941072: 3
              default: 14
          }
      StackMap locals: java.lang.String
      StackMap stack:
         1: aload 5
            ldc "event"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 11
            goto 14
      StackMap locals:
      StackMap stack:
         2: aload 5
            ldc "configuration"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 4
            goto 14
      StackMap locals:
      StackMap stack:
         3: aload 5
            ldc "setting"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 13
            goto 14
         4: .line 56
      StackMap locals:
      StackMap stack:
            aload 4 /* attributes */
            ldc "version"
            invokeinterface jdk.internal.org.xml.sax.Attributes.getValue:(Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* version */
        start local 6 // java.lang.String version
         5: .line 57
            aload 6 /* version */
            ifnull 6
            aload 6 /* version */
            ldc "2."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 7
         6: .line 58
      StackMap locals: java.lang.String
      StackMap stack:
            new jdk.internal.org.xml.sax.SAXException
            dup
            ldc "This version of Flight Recorder can only read JFC file format version 2.x"
            invokespecial jdk.internal.org.xml.sax.SAXException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 60
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* attributes */
            ldc "label"
            invokeinterface jdk.internal.org.xml.sax.Attributes.getValue:(Ljava/lang/String;)Ljava/lang/String;
            putfield jdk.jfr.internal.jfc.JFCParserHandler.label:Ljava/lang/String;
         8: .line 61
            aload 0 /* this */
            aload 0 /* this */
            aload 4 /* attributes */
            ldc "description"
            ldc ""
            invokevirtual jdk.jfr.internal.jfc.JFCParserHandler.getOptional:(Ljdk/internal/org/xml/sax/Attributes;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            putfield jdk.jfr.internal.jfc.JFCParserHandler.description:Ljava/lang/String;
         9: .line 62
            aload 0 /* this */
            aload 0 /* this */
            aload 4 /* attributes */
            ldc "provider"
            ldc ""
            invokevirtual jdk.jfr.internal.jfc.JFCParserHandler.getOptional:(Ljdk/internal/org/xml/sax/Attributes;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            putfield jdk.jfr.internal.jfc.JFCParserHandler.provider:Ljava/lang/String;
        10: .line 63
            goto 14
        end local 6 // java.lang.String version
        11: .line 65
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* attributes */
            ldc "name"
            invokeinterface jdk.internal.org.xml.sax.Attributes.getValue:(Ljava/lang/String;)Ljava/lang/String;
            putfield jdk.jfr.internal.jfc.JFCParserHandler.currentEventPath:Ljava/lang/String;
        12: .line 66
            goto 14
        13: .line 68
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* attributes */
            ldc "name"
            invokeinterface jdk.internal.org.xml.sax.Attributes.getValue:(Ljava/lang/String;)Ljava/lang/String;
            putfield jdk.jfr.internal.jfc.JFCParserHandler.currentSettingsName:Ljava/lang/String;
        14: .line 71
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield jdk.jfr.internal.jfc.JFCParserHandler.currentCharacters:Ljava/lang/StringBuilder;
        15: .line 72
            return
        end local 4 // jdk.internal.org.xml.sax.Attributes attributes
        end local 3 // java.lang.String qName
        end local 2 // java.lang.String localName
        end local 1 // java.lang.String uri
        end local 0 // jdk.jfr.internal.jfc.JFCParserHandler this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0        this  Ljdk/jfr/internal/jfc/JFCParserHandler;
            0   16     1         uri  Ljava/lang/String;
            0   16     2   localName  Ljava/lang/String;
            0   16     3       qName  Ljava/lang/String;
            0   16     4  attributes  Ljdk/internal/org/xml/sax/Attributes;
            5   11     6     version  Ljava/lang/String;
    Exceptions:
      throws jdk.internal.org.xml.sax.SAXException
    MethodParameters:
            Name  Flags
      uri         
      localName   
      qName       
      attributes  

  private java.lang.String getOptional(jdk.internal.org.xml.sax.Attributes, java.lang.String, java.lang.String);
    descriptor: (Ljdk/internal/org/xml/sax/Attributes;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=4
        start local 0 // jdk.jfr.internal.jfc.JFCParserHandler this
        start local 1 // jdk.internal.org.xml.sax.Attributes attributes
        start local 2 // java.lang.String name
        start local 3 // java.lang.String defaultValue
         0: .line 75
            aload 1 /* attributes */
            aload 2 /* name */
            invokeinterface jdk.internal.org.xml.sax.Attributes.getValue:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* value */
        start local 4 // java.lang.String value
         1: .line 76
            aload 4 /* value */
            ifnonnull 2
            aload 3 /* defaultValue */
            goto 3
      StackMap locals: java.lang.String
      StackMap stack:
         2: aload 4 /* value */
      StackMap locals:
      StackMap stack: java.lang.String
         3: areturn
        end local 4 // java.lang.String value
        end local 3 // java.lang.String defaultValue
        end local 2 // java.lang.String name
        end local 1 // jdk.internal.org.xml.sax.Attributes attributes
        end local 0 // jdk.jfr.internal.jfc.JFCParserHandler this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Ljdk/jfr/internal/jfc/JFCParserHandler;
            0    4     1    attributes  Ljdk/internal/org/xml/sax/Attributes;
            0    4     2          name  Ljava/lang/String;
            0    4     3  defaultValue  Ljava/lang/String;
            1    4     4         value  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      attributes    
      name          
      defaultValue  

  public void characters(char[], int, int);
    descriptor: ([CII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // jdk.jfr.internal.jfc.JFCParserHandler this
        start local 1 // char[] ch
        start local 2 // int start
        start local 3 // int length
         0: .line 81
            aload 0 /* this */
            getfield jdk.jfr.internal.jfc.JFCParserHandler.currentCharacters:Ljava/lang/StringBuilder;
            ifnonnull 2
         1: .line 82
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            iload 3 /* length */
            invokespecial java.lang.StringBuilder.<init>:(I)V
            putfield jdk.jfr.internal.jfc.JFCParserHandler.currentCharacters:Ljava/lang/StringBuilder;
         2: .line 84
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jfr.internal.jfc.JFCParserHandler.currentCharacters:Ljava/lang/StringBuilder;
            aload 1 /* ch */
            iload 2 /* start */
            iload 3 /* length */
            invokevirtual java.lang.StringBuilder.append:([CII)Ljava/lang/StringBuilder;
            pop
         3: .line 85
            return
        end local 3 // int length
        end local 2 // int start
        end local 1 // char[] ch
        end local 0 // jdk.jfr.internal.jfc.JFCParserHandler this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Ljdk/jfr/internal/jfc/JFCParserHandler;
            0    4     1      ch  [C
            0    4     2   start  I
            0    4     3  length  I
    Exceptions:
      throws jdk.internal.org.xml.sax.SAXException
    MethodParameters:
        Name  Flags
      ch      
      start   
      length  

  public void endElement(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // jdk.jfr.internal.jfc.JFCParserHandler this
        start local 1 // java.lang.String uri
        start local 2 // java.lang.String localName
        start local 3 // java.lang.String qName
         0: .line 89
            aload 3 /* qName */
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            dup
            astore 4
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 3
             96891546: 1
           1932752118: 2
           1985941072: 3
              default: 11
          }
      StackMap locals: java.lang.String
      StackMap stack:
         1: aload 4
            ldc "event"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 4
            goto 11
      StackMap locals:
      StackMap stack:
         2: aload 4
            ldc "configuration"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 11
            goto 11
      StackMap locals:
      StackMap stack:
         3: aload 4
            ldc "setting"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 6
            goto 11
         4: .line 93
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield jdk.jfr.internal.jfc.JFCParserHandler.currentEventPath:Ljava/lang/String;
         5: .line 94
            goto 11
         6: .line 96
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jfr.internal.jfc.JFCParserHandler.currentCharacters:Ljava/lang/StringBuilder;
            ifnonnull 7
            ldc ""
            goto 8
      StackMap locals:
      StackMap stack:
         7: aload 0 /* this */
            getfield jdk.jfr.internal.jfc.JFCParserHandler.currentCharacters:Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         8: astore 5 /* settingsValue */
        start local 5 // java.lang.String settingsValue
         9: .line 97
            aload 0 /* this */
            getfield jdk.jfr.internal.jfc.JFCParserHandler.settings:Ljava/util/Map;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield jdk.jfr.internal.jfc.JFCParserHandler.currentEventPath:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "#"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield jdk.jfr.internal.jfc.JFCParserHandler.currentSettingsName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 5 /* settingsValue */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 98
            aload 0 /* this */
            aconst_null
            putfield jdk.jfr.internal.jfc.JFCParserHandler.currentSettingsName:Ljava/lang/String;
        end local 5 // java.lang.String settingsValue
        11: .line 101
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.String qName
        end local 2 // java.lang.String localName
        end local 1 // java.lang.String uri
        end local 0 // jdk.jfr.internal.jfc.JFCParserHandler this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   12     0           this  Ljdk/jfr/internal/jfc/JFCParserHandler;
            0   12     1            uri  Ljava/lang/String;
            0   12     2      localName  Ljava/lang/String;
            0   12     3          qName  Ljava/lang/String;
            9   11     5  settingsValue  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      uri        
      localName  
      qName      

  public java.util.Map<java.lang.String, java.lang.String> getSettings();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.jfc.JFCParserHandler this
         0: .line 104
            aload 0 /* this */
            getfield jdk.jfr.internal.jfc.JFCParserHandler.settings:Ljava/util/Map;
            areturn
        end local 0 // jdk.jfr.internal.jfc.JFCParserHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/jfc/JFCParserHandler;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
}
SourceFile: "JFCParserHandler.java"