public class org.graalvm.compiler.options.processor.OptionProcessor extends org.graalvm.compiler.processor.AbstractProcessor
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.options.processor.OptionProcessor
  super_class: org.graalvm.compiler.processor.AbstractProcessor
{
  private static final java.lang.String OPTION_CLASS_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.graalvm.compiler.options.Option"

  private static final java.lang.String OPTION_KEY_CLASS_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.graalvm.compiler.options.OptionKey"

  private static final java.lang.String OPTION_TYPE_CLASS_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.graalvm.compiler.options.OptionType"

  private static final java.lang.String OPTION_DESCRIPTOR_CLASS_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.graalvm.compiler.options.OptionDescriptor"

  private static final java.lang.String OPTION_DESCRIPTORS_CLASS_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.graalvm.compiler.options.OptionDescriptors"

  private final java.util.Set<javax.lang.model.element.Element> processed;
    descriptor: Ljava/util/Set;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Set<Ljavax/lang/model/element/Element;>;

  private javax.lang.model.type.TypeMirror optionTypeMirror;
    descriptor: Ljavax/lang/model/type/TypeMirror;
    flags: (0x0002) ACC_PRIVATE

  private javax.lang.model.type.TypeMirror optionKeyTypeMirror;
    descriptor: Ljavax/lang/model/type/TypeMirror;
    flags: (0x0002) ACC_PRIVATE

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 69
            ldc Lorg/graalvm/compiler/options/processor/OptionProcessor;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.graalvm.compiler.options.processor.OptionProcessor.$assertionsDisabled:Z
         3: .line 75
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.options.processor.OptionProcessor this
         0: .line 69
            aload 0 /* this */
            invokespecial org.graalvm.compiler.processor.AbstractProcessor.<init>:()V
         1: .line 82
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.graalvm.compiler.options.processor.OptionProcessor.processed:Ljava/util/Set;
         2: .line 69
            return
        end local 0 // org.graalvm.compiler.options.processor.OptionProcessor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/options/processor/OptionProcessor;

  public javax.lang.model.SourceVersion getSupportedSourceVersion();
    descriptor: ()Ljavax/lang/model/SourceVersion;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.options.processor.OptionProcessor this
         0: .line 79
            invokestatic javax.lang.model.SourceVersion.latest:()Ljavax/lang/model/SourceVersion;
            areturn
        end local 0 // org.graalvm.compiler.options.processor.OptionProcessor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/options/processor/OptionProcessor;

  private void processElement(javax.lang.model.element.Element, org.graalvm.compiler.options.processor.OptionProcessor$OptionsInfo);
    descriptor: (Ljavax/lang/model/element/Element;Lorg/graalvm/compiler/options/processor/OptionProcessor$OptionsInfo;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=11, locals=27, args_size=3
        start local 0 // org.graalvm.compiler.options.processor.OptionProcessor this
        start local 1 // javax.lang.model.element.Element element
        start local 2 // org.graalvm.compiler.options.processor.OptionProcessor$OptionsInfo info
         0: .line 89
            aload 1 /* element */
            invokeinterface javax.lang.model.element.Element.getModifiers:()Ljava/util/Set;
            getstatic javax.lang.model.element.Modifier.STATIC:Ljavax/lang/model/element/Modifier;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 3
         1: .line 90
            aload 0 /* this */
            getfield org.graalvm.compiler.options.processor.OptionProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getMessager:()Ljavax/annotation/processing/Messager;
            getstatic javax.tools.Diagnostic$Kind.ERROR:Ljavax/tools/Diagnostic$Kind;
            ldc "Option field must be static"
            aload 1 /* element */
            invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;Ljavax/lang/model/element/Element;)V
         2: .line 91
            return
         3: .line 93
      StackMap locals:
      StackMap stack:
            aload 1 /* element */
            invokeinterface javax.lang.model.element.Element.getModifiers:()Ljava/util/Set;
            getstatic javax.lang.model.element.Modifier.PRIVATE:Ljavax/lang/model/element/Modifier;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 6
         4: .line 94
            aload 0 /* this */
            getfield org.graalvm.compiler.options.processor.OptionProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getMessager:()Ljavax/annotation/processing/Messager;
            getstatic javax.tools.Diagnostic$Kind.ERROR:Ljavax/tools/Diagnostic$Kind;
            ldc "Option field cannot be private"
            aload 1 /* element */
            invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;Ljavax/lang/model/element/Element;)V
         5: .line 95
            return
         6: .line 98
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* element */
            aload 0 /* this */
            getfield org.graalvm.compiler.options.processor.OptionProcessor.optionTypeMirror:Ljavax/lang/model/type/TypeMirror;
            invokevirtual org.graalvm.compiler.options.processor.OptionProcessor.getAnnotation:(Ljavax/lang/model/element/Element;Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/element/AnnotationMirror;
            astore 3 /* annotation */
        start local 3 // javax.lang.model.element.AnnotationMirror annotation
         7: .line 99
            getstatic org.graalvm.compiler.options.processor.OptionProcessor.$assertionsDisabled:Z
            ifne 8
            aload 3 /* annotation */
            ifnonnull 8
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         8: .line 100
      StackMap locals: javax.lang.model.element.AnnotationMirror
      StackMap stack:
            getstatic org.graalvm.compiler.options.processor.OptionProcessor.$assertionsDisabled:Z
            ifne 9
            aload 1 /* element */
            instanceof javax.lang.model.element.VariableElement
            ifne 9
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         9: .line 101
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.options.processor.OptionProcessor.$assertionsDisabled:Z
            ifne 10
            aload 1 /* element */
            invokeinterface javax.lang.model.element.Element.getKind:()Ljavax/lang/model/element/ElementKind;
            getstatic javax.lang.model.element.ElementKind.FIELD:Ljavax/lang/model/element/ElementKind;
            if_acmpeq 10
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        10: .line 102
      StackMap locals:
      StackMap stack:
            aload 1 /* element */
            checkcast javax.lang.model.element.VariableElement
            astore 4 /* field */
        start local 4 // javax.lang.model.element.VariableElement field
        11: .line 103
            aload 4 /* field */
            invokeinterface javax.lang.model.element.VariableElement.getSimpleName:()Ljavax/lang/model/element/Name;
            invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
            astore 5 /* fieldName */
        start local 5 // java.lang.String fieldName
        12: .line 105
            aload 0 /* this */
            getfield org.graalvm.compiler.options.processor.OptionProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getTypeUtils:()Ljavax/lang/model/util/Types;
            astore 6 /* types */
        start local 6 // javax.lang.model.util.Types types
        13: .line 107
            aload 4 /* field */
            invokeinterface javax.lang.model.element.VariableElement.asType:()Ljavax/lang/model/type/TypeMirror;
            astore 7 /* fieldType */
        start local 7 // javax.lang.model.type.TypeMirror fieldType
        14: .line 108
            aload 7 /* fieldType */
            invokeinterface javax.lang.model.type.TypeMirror.getKind:()Ljavax/lang/model/type/TypeKind;
            getstatic javax.lang.model.type.TypeKind.DECLARED:Ljavax/lang/model/type/TypeKind;
            if_acmpeq 17
        15: .line 109
            aload 0 /* this */
            getfield org.graalvm.compiler.options.processor.OptionProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getMessager:()Ljavax/annotation/processing/Messager;
            getstatic javax.tools.Diagnostic$Kind.ERROR:Ljavax/tools/Diagnostic$Kind;
            ldc "Option field must be of type org.graalvm.compiler.options.OptionKey"
            aload 1 /* element */
            invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;Ljavax/lang/model/element/Element;)V
        16: .line 110
            return
        17: .line 112
      StackMap locals: org.graalvm.compiler.options.processor.OptionProcessor javax.lang.model.element.Element org.graalvm.compiler.options.processor.OptionProcessor$OptionsInfo javax.lang.model.element.AnnotationMirror javax.lang.model.element.VariableElement java.lang.String javax.lang.model.util.Types javax.lang.model.type.TypeMirror
      StackMap stack:
            aload 7 /* fieldType */
            checkcast javax.lang.model.type.DeclaredType
            astore 8 /* declaredFieldType */
        start local 8 // javax.lang.model.type.DeclaredType declaredFieldType
        18: .line 114
            aload 6 /* types */
            aload 7 /* fieldType */
            aload 6 /* types */
            aload 0 /* this */
            getfield org.graalvm.compiler.options.processor.OptionProcessor.optionKeyTypeMirror:Ljavax/lang/model/type/TypeMirror;
            invokeinterface javax.lang.model.util.Types.erasure:(Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/type/TypeMirror;
            invokeinterface javax.lang.model.util.Types.isSubtype:(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/type/TypeMirror;)Z
            ifne 22
        19: .line 115
            ldc "Option field type %s is not a subclass of %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* fieldType */
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.graalvm.compiler.options.processor.OptionProcessor.optionKeyTypeMirror:Ljavax/lang/model/type/TypeMirror;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 9 /* msg */
        start local 9 // java.lang.String msg
        20: .line 116
            aload 0 /* this */
            getfield org.graalvm.compiler.options.processor.OptionProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getMessager:()Ljavax/annotation/processing/Messager;
            getstatic javax.tools.Diagnostic$Kind.ERROR:Ljavax/tools/Diagnostic$Kind;
            aload 9 /* msg */
            aload 1 /* element */
            invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;Ljavax/lang/model/element/Element;)V
        21: .line 117
            return
        end local 9 // java.lang.String msg
        22: .line 120
      StackMap locals: javax.lang.model.type.DeclaredType
      StackMap stack:
            aload 4 /* field */
            invokeinterface javax.lang.model.element.VariableElement.getModifiers:()Ljava/util/Set;
            getstatic javax.lang.model.element.Modifier.STATIC:Ljavax/lang/model/element/Modifier;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 25
        23: .line 121
            aload 0 /* this */
            getfield org.graalvm.compiler.options.processor.OptionProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getMessager:()Ljavax/annotation/processing/Messager;
            getstatic javax.tools.Diagnostic$Kind.ERROR:Ljavax/tools/Diagnostic$Kind;
            ldc "Option field must be static"
            aload 1 /* element */
            invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;Ljavax/lang/model/element/Element;)V
        24: .line 122
            return
        25: .line 124
      StackMap locals:
      StackMap stack:
            aload 4 /* field */
            invokeinterface javax.lang.model.element.VariableElement.getModifiers:()Ljava/util/Set;
            getstatic javax.lang.model.element.Modifier.PRIVATE:Ljavax/lang/model/element/Modifier;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 28
        26: .line 125
            aload 0 /* this */
            getfield org.graalvm.compiler.options.processor.OptionProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getMessager:()Ljavax/annotation/processing/Messager;
            getstatic javax.tools.Diagnostic$Kind.ERROR:Ljavax/tools/Diagnostic$Kind;
            ldc "Option field cannot be private"
            aload 1 /* element */
            invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;Ljavax/lang/model/element/Element;)V
        27: .line 126
            return
        28: .line 129
      StackMap locals:
      StackMap stack:
            aload 3 /* annotation */
            ldc "name"
            ldc Ljava/lang/String;
            invokestatic org.graalvm.compiler.options.processor.OptionProcessor.getAnnotationValue:(Ljavax/lang/model/element/AnnotationMirror;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* optionName */
        start local 9 // java.lang.String optionName
        29: .line 130
            aload 9 /* optionName */
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 31
        30: .line 131
            aload 5 /* fieldName */
            astore 9 /* optionName */
        31: .line 134
      StackMap locals: java.lang.String
      StackMap stack:
            aload 9 /* optionName */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.isUpperCase:(C)Z
            ifne 34
        32: .line 135
            aload 0 /* this */
            getfield org.graalvm.compiler.options.processor.OptionProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getMessager:()Ljavax/annotation/processing/Messager;
            getstatic javax.tools.Diagnostic$Kind.ERROR:Ljavax/tools/Diagnostic$Kind;
            ldc "Option name must start with an upper case letter"
            aload 1 /* element */
            invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;Ljavax/lang/model/element/Element;)V
        33: .line 136
            return
        34: .line 139
      StackMap locals:
      StackMap stack:
            aload 8 /* declaredFieldType */
            astore 10 /* declaredOptionKeyType */
        start local 10 // javax.lang.model.type.DeclaredType declaredOptionKeyType
        35: .line 140
            goto 39
        36: .line 141
      StackMap locals: javax.lang.model.type.DeclaredType
      StackMap stack:
            aload 6 /* types */
            aload 8 /* declaredFieldType */
            invokeinterface javax.lang.model.util.Types.directSupertypes:(Ljavax/lang/model/type/TypeMirror;)Ljava/util/List;
            astore 11 /* directSupertypes */
        start local 11 // java.util.List directSupertypes
        37: .line 142
            getstatic org.graalvm.compiler.options.processor.OptionProcessor.$assertionsDisabled:Z
            ifne 38
            aload 11 /* directSupertypes */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 38
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        38: .line 143
      StackMap locals: java.util.List
      StackMap stack:
            aload 11 /* directSupertypes */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.lang.model.type.DeclaredType
            astore 10 /* declaredOptionKeyType */
        end local 11 // java.util.List directSupertypes
        39: .line 140
      StackMap locals:
      StackMap stack:
            aload 6 /* types */
            aload 6 /* types */
            aload 10 /* declaredOptionKeyType */
            invokeinterface javax.lang.model.util.Types.erasure:(Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/type/TypeMirror;
            aload 6 /* types */
            aload 0 /* this */
            getfield org.graalvm.compiler.options.processor.OptionProcessor.optionKeyTypeMirror:Ljavax/lang/model/type/TypeMirror;
            invokeinterface javax.lang.model.util.Types.erasure:(Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/type/TypeMirror;
            invokeinterface javax.lang.model.util.Types.isSameType:(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/type/TypeMirror;)Z
            ifeq 36
        40: .line 146
            getstatic org.graalvm.compiler.options.processor.OptionProcessor.$assertionsDisabled:Z
            ifne 41
            aload 10 /* declaredOptionKeyType */
            invokeinterface javax.lang.model.type.DeclaredType.getTypeArguments:()Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 41
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        41: .line 147
      StackMap locals:
      StackMap stack:
            aload 10 /* declaredOptionKeyType */
            invokeinterface javax.lang.model.type.DeclaredType.getTypeArguments:()Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.lang.model.type.TypeMirror
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            astore 11 /* optionType */
        start local 11 // java.lang.String optionType
        42: .line 148
            aload 11 /* optionType */
            ldc "java.lang."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 44
        43: .line 149
            aload 11 /* optionType */
            ldc "java.lang."
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 11 /* optionType */
        44: .line 152
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* element */
            invokeinterface javax.lang.model.element.Element.getEnclosingElement:()Ljavax/lang/model/element/Element;
            astore 12 /* enclosing */
        start local 12 // javax.lang.model.element.Element enclosing
        45: .line 153
            ldc ""
            astore 13 /* declaringClass */
        start local 13 // java.lang.String declaringClass
        46: .line 154
            ldc ""
            astore 14 /* separator */
        start local 14 // java.lang.String separator
        47: .line 155
            aload 2 /* info */
            getfield org.graalvm.compiler.options.processor.OptionProcessor$OptionsInfo.originatingElements:Ljava/util/Set;
            astore 15 /* originatingElementsList */
        start local 15 // java.util.Set originatingElementsList
        48: .line 156
            aload 15 /* originatingElementsList */
            aload 4 /* field */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        49: .line 157
            aconst_null
            astore 16 /* enclosingPackage */
        start local 16 // javax.lang.model.element.PackageElement enclosingPackage
        50: .line 158
            goto 66
        51: .line 159
      StackMap locals: org.graalvm.compiler.options.processor.OptionProcessor javax.lang.model.element.Element org.graalvm.compiler.options.processor.OptionProcessor$OptionsInfo javax.lang.model.element.AnnotationMirror javax.lang.model.element.VariableElement java.lang.String javax.lang.model.util.Types javax.lang.model.type.TypeMirror javax.lang.model.type.DeclaredType java.lang.String javax.lang.model.type.DeclaredType java.lang.String javax.lang.model.element.Element java.lang.String java.lang.String java.util.Set javax.lang.model.element.PackageElement
      StackMap stack:
            aload 12 /* enclosing */
            invokeinterface javax.lang.model.element.Element.getKind:()Ljavax/lang/model/element/ElementKind;
            getstatic javax.lang.model.element.ElementKind.CLASS:Ljavax/lang/model/element/ElementKind;
            if_acmpeq 52
            aload 12 /* enclosing */
            invokeinterface javax.lang.model.element.Element.getKind:()Ljavax/lang/model/element/ElementKind;
            getstatic javax.lang.model.element.ElementKind.INTERFACE:Ljavax/lang/model/element/ElementKind;
            if_acmpeq 52
            aload 12 /* enclosing */
            invokeinterface javax.lang.model.element.Element.getKind:()Ljavax/lang/model/element/ElementKind;
            getstatic javax.lang.model.element.ElementKind.ENUM:Ljavax/lang/model/element/ElementKind;
            if_acmpne 60
        52: .line 160
      StackMap locals:
      StackMap stack:
            aload 12 /* enclosing */
            invokeinterface javax.lang.model.element.Element.getModifiers:()Ljava/util/Set;
            getstatic javax.lang.model.element.Modifier.PRIVATE:Ljavax/lang/model/element/Modifier;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 56
        53: .line 161
            ldc "Option field cannot be declared in a private %s %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 12 /* enclosing */
            invokeinterface javax.lang.model.element.Element.getKind:()Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.name:()Ljava/lang/String;
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 12 /* enclosing */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 17 /* msg */
        start local 17 // java.lang.String msg
        54: .line 162
            aload 0 /* this */
            getfield org.graalvm.compiler.options.processor.OptionProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getMessager:()Ljavax/annotation/processing/Messager;
            getstatic javax.tools.Diagnostic$Kind.ERROR:Ljavax/tools/Diagnostic$Kind;
            aload 17 /* msg */
            aload 1 /* element */
            invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;Ljavax/lang/model/element/Element;)V
        55: .line 163
            return
        end local 17 // java.lang.String msg
        56: .line 165
      StackMap locals:
      StackMap stack:
            aload 15 /* originatingElementsList */
            aload 12 /* enclosing */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        57: .line 166
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 12 /* enclosing */
            invokeinterface javax.lang.model.element.Element.getSimpleName:()Ljavax/lang/model/element/Name;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            aload 14 /* separator */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 13 /* declaringClass */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 13 /* declaringClass */
        58: .line 167
            ldc "."
            astore 14 /* separator */
        59: .line 168
            goto 65
      StackMap locals:
      StackMap stack:
        60: aload 12 /* enclosing */
            invokeinterface javax.lang.model.element.Element.getKind:()Ljavax/lang/model/element/ElementKind;
            getstatic javax.lang.model.element.ElementKind.PACKAGE:Ljavax/lang/model/element/ElementKind;
            if_acmpne 63
        61: .line 169
            aload 12 /* enclosing */
            checkcast javax.lang.model.element.PackageElement
            astore 16 /* enclosingPackage */
        62: .line 170
            goto 67
        63: .line 172
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.options.processor.OptionProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getMessager:()Ljavax/annotation/processing/Messager;
            getstatic javax.tools.Diagnostic$Kind.ERROR:Ljavax/tools/Diagnostic$Kind;
            new java.lang.StringBuilder
            dup
            ldc "Unexpected enclosing element kind: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 12 /* enclosing */
            invokeinterface javax.lang.model.element.Element.getKind:()Ljavax/lang/model/element/ElementKind;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 1 /* element */
            invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;Ljavax/lang/model/element/Element;)V
        64: .line 173
            return
        65: .line 175
      StackMap locals:
      StackMap stack:
            aload 12 /* enclosing */
            invokeinterface javax.lang.model.element.Element.getEnclosingElement:()Ljavax/lang/model/element/Element;
            astore 12 /* enclosing */
        66: .line 158
      StackMap locals:
      StackMap stack:
            aload 12 /* enclosing */
            ifnonnull 51
        67: .line 177
      StackMap locals:
      StackMap stack:
            aload 16 /* enclosingPackage */
            ifnull 68
            aload 16 /* enclosingPackage */
            invokeinterface javax.lang.model.element.PackageElement.isUnnamed:()Z
            ifeq 70
        68: .line 178
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.options.processor.OptionProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getMessager:()Ljavax/annotation/processing/Messager;
            getstatic javax.tools.Diagnostic$Kind.ERROR:Ljavax/tools/Diagnostic$Kind;
            ldc "Option field cannot be declared in the unnamed package"
            aload 1 /* element */
            invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;Ljavax/lang/model/element/Element;)V
        69: .line 179
            return
        70: .line 181
      StackMap locals:
      StackMap stack:
            aload 3 /* annotation */
            ldc "help"
            ldc Ljava/lang/String;
            invokestatic org.graalvm.compiler.options.processor.OptionProcessor.getAnnotationValueList:(Ljavax/lang/model/element/AnnotationMirror;Ljava/lang/String;Ljava/lang/Class;)Ljava/util/List;
            astore 17 /* helpValue */
        start local 17 // java.util.List helpValue
        71: .line 182
            ldc ""
            astore 18 /* help */
        start local 18 // java.lang.String help
        72: .line 183
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 19 /* extraHelp */
        start local 19 // java.util.List extraHelp
        73: .line 185
            aload 17 /* helpValue */
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmpne 102
        74: .line 186
            aload 17 /* helpValue */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 18 /* help */
        75: .line 187
            aload 18 /* help */
            ldc "file:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 105
        76: .line 188
            aload 18 /* help */
            ldc "file:"
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 20 /* path */
        start local 20 // java.lang.String path
        77: .line 189
            aload 0 /* this */
            getfield org.graalvm.compiler.options.processor.OptionProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getFiler:()Ljavax/annotation/processing/Filer;
            astore 21 /* filer */
        start local 21 // javax.annotation.processing.Filer filer
        78: .line 193
            aload 21 /* filer */
            getstatic javax.tools.StandardLocation.SOURCE_PATH:Ljavax/tools/StandardLocation;
            aload 16 /* enclosingPackage */
            invokeinterface javax.lang.model.element.PackageElement.getQualifiedName:()Ljavax/lang/model/element/Name;
            aload 20 /* path */
            invokeinterface javax.annotation.processing.Filer.getResource:(Ljavax/tools/JavaFileManager$Location;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljavax/tools/FileObject;
            astore 22 /* file */
        start local 22 // javax.tools.FileObject file
        79: .line 194
            goto 82
        end local 22 // javax.tools.FileObject file
      StackMap locals: org.graalvm.compiler.options.processor.OptionProcessor javax.lang.model.element.Element org.graalvm.compiler.options.processor.OptionProcessor$OptionsInfo javax.lang.model.element.AnnotationMirror javax.lang.model.element.VariableElement java.lang.String javax.lang.model.util.Types javax.lang.model.type.TypeMirror javax.lang.model.type.DeclaredType java.lang.String javax.lang.model.type.DeclaredType java.lang.String javax.lang.model.element.Element java.lang.String java.lang.String java.util.Set javax.lang.model.element.PackageElement java.util.List java.lang.String java.util.List java.lang.String javax.annotation.processing.Filer
      StackMap stack: java.lang.Exception
        80: pop
        81: .line 196
            aload 21 /* filer */
            getstatic javax.tools.StandardLocation.CLASS_OUTPUT:Ljavax/tools/StandardLocation;
            aload 16 /* enclosingPackage */
            invokeinterface javax.lang.model.element.PackageElement.getQualifiedName:()Ljavax/lang/model/element/Name;
            aload 20 /* path */
            invokeinterface javax.annotation.processing.Filer.getResource:(Ljavax/tools/JavaFileManager$Location;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljavax/tools/FileObject;
            astore 22 /* file */
        start local 22 // javax.tools.FileObject file
        82: .line 198
      StackMap locals: javax.tools.FileObject
      StackMap stack:
            aconst_null
            astore 23
            aconst_null
            astore 24
        83: new java.io.BufferedReader
            dup
            new java.io.InputStreamReader
            dup
            aload 22 /* file */
            invokeinterface javax.tools.FileObject.openInputStream:()Ljava/io/InputStream;
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
            astore 25 /* br */
        start local 25 // java.io.BufferedReader br
        84: .line 199
            aload 25 /* br */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            astore 18 /* help */
        85: .line 200
            aload 18 /* help */
            ifnonnull 87
        86: .line 201
            ldc ""
            astore 18 /* help */
        87: .line 203
      StackMap locals: java.lang.Throwable java.lang.Throwable java.io.BufferedReader
      StackMap stack:
            aload 25 /* br */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            astore 26 /* line */
        start local 26 // java.lang.String line
        88: .line 204
            goto 91
        89: .line 205
      StackMap locals: java.lang.String
      StackMap stack:
            aload 19 /* extraHelp */
            aload 26 /* line */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        90: .line 206
            aload 25 /* br */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            astore 26 /* line */
        91: .line 204
      StackMap locals:
      StackMap stack:
            aload 26 /* line */
            ifnonnull 89
        end local 26 // java.lang.String line
        92: .line 208
            aload 25 /* br */
            ifnull 105
            aload 25 /* br */
            invokevirtual java.io.BufferedReader.close:()V
            goto 105
      StackMap locals: org.graalvm.compiler.options.processor.OptionProcessor javax.lang.model.element.Element org.graalvm.compiler.options.processor.OptionProcessor$OptionsInfo javax.lang.model.element.AnnotationMirror javax.lang.model.element.VariableElement java.lang.String javax.lang.model.util.Types javax.lang.model.type.TypeMirror javax.lang.model.type.DeclaredType java.lang.String javax.lang.model.type.DeclaredType java.lang.String javax.lang.model.element.Element java.lang.String java.lang.String java.util.Set javax.lang.model.element.PackageElement java.util.List java.lang.String java.util.List java.lang.String javax.annotation.processing.Filer javax.tools.FileObject java.lang.Throwable java.lang.Throwable java.io.BufferedReader
      StackMap stack: java.lang.Throwable
        93: astore 23
            aload 25 /* br */
            ifnull 94
            aload 25 /* br */
            invokevirtual java.io.BufferedReader.close:()V
        end local 25 // java.io.BufferedReader br
      StackMap locals:
      StackMap stack:
        94: aload 23
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        95: astore 24
            aload 23
            ifnonnull 96
            aload 24
            astore 23
            goto 97
      StackMap locals:
      StackMap stack:
        96: aload 23
            aload 24
            if_acmpeq 97
            aload 23
            aload 24
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        97: aload 23
            athrow
        end local 22 // javax.tools.FileObject file
        98: .line 209
      StackMap locals: org.graalvm.compiler.options.processor.OptionProcessor javax.lang.model.element.Element org.graalvm.compiler.options.processor.OptionProcessor$OptionsInfo javax.lang.model.element.AnnotationMirror javax.lang.model.element.VariableElement java.lang.String javax.lang.model.util.Types javax.lang.model.type.TypeMirror javax.lang.model.type.DeclaredType java.lang.String javax.lang.model.type.DeclaredType java.lang.String javax.lang.model.element.Element java.lang.String java.lang.String java.util.Set javax.lang.model.element.PackageElement java.util.List java.lang.String java.util.List java.lang.String javax.annotation.processing.Filer
      StackMap stack: java.io.IOException
            astore 22 /* e */
        start local 22 // java.io.IOException e
        99: .line 210
            ldc "Error reading %s containing the help text for option field: %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 20 /* path */
            aastore
            dup
            iconst_1
            aload 22 /* e */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 23 /* msg */
        start local 23 // java.lang.String msg
       100: .line 211
            aload 0 /* this */
            getfield org.graalvm.compiler.options.processor.OptionProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getMessager:()Ljavax/annotation/processing/Messager;
            getstatic javax.tools.Diagnostic$Kind.ERROR:Ljavax/tools/Diagnostic$Kind;
            aload 23 /* msg */
            aload 1 /* element */
            invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;Ljavax/lang/model/element/Element;)V
       101: .line 212
            return
        end local 23 // java.lang.String msg
        end local 22 // java.io.IOException e
        end local 21 // javax.annotation.processing.Filer filer
        end local 20 // java.lang.String path
       102: .line 215
      StackMap locals:
      StackMap stack:
            aload 17 /* helpValue */
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmple 105
       103: .line 216
            aload 17 /* helpValue */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 18 /* help */
       104: .line 217
            aload 17 /* helpValue */
            iconst_1
            aload 17 /* helpValue */
            invokeinterface java.util.List.size:()I
            invokeinterface java.util.List.subList:(II)Ljava/util/List;
            astore 19 /* extraHelp */
       105: .line 219
      StackMap locals:
      StackMap stack:
            aload 18 /* help */
            invokevirtual java.lang.String.length:()I
            ifeq 110
       106: .line 220
            aload 18 /* help */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            istore 20 /* firstChar */
        start local 20 // char firstChar
       107: .line 221
            iload 20 /* firstChar */
            invokestatic java.lang.Character.isUpperCase:(C)Z
            ifne 110
       108: .line 222
            aload 0 /* this */
            getfield org.graalvm.compiler.options.processor.OptionProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getMessager:()Ljavax/annotation/processing/Messager;
            getstatic javax.tools.Diagnostic$Kind.ERROR:Ljavax/tools/Diagnostic$Kind;
            ldc "Option help text must start with an upper case letter"
            aload 1 /* element */
            invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;Ljavax/lang/model/element/Element;)V
       109: .line 223
            return
        end local 20 // char firstChar
       110: .line 227
      StackMap locals:
      StackMap stack:
            aload 3 /* annotation */
            ldc "stability"
            ldc Ljavax/lang/model/element/VariableElement;
            invokestatic org.graalvm.compiler.options.processor.OptionProcessor.getAnnotationValue:(Ljavax/lang/model/element/AnnotationMirror;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
            checkcast javax.lang.model.element.VariableElement
            invokeinterface javax.lang.model.element.VariableElement.getSimpleName:()Ljavax/lang/model/element/Name;
            invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
            astore 20 /* optionStabilityName */
        start local 20 // java.lang.String optionStabilityName
       111: .line 228
            aload 20 /* optionStabilityName */
            ldc "STABLE"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 115
       112: .line 229
            aload 18 /* help */
            invokevirtual java.lang.String.length:()I
            ifne 115
       113: .line 230
            aload 0 /* this */
            getfield org.graalvm.compiler.options.processor.OptionProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getMessager:()Ljavax/annotation/processing/Messager;
            getstatic javax.tools.Diagnostic$Kind.ERROR:Ljavax/tools/Diagnostic$Kind;
            ldc "A stable option must have non-empty help text"
            aload 1 /* element */
            invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;Ljavax/lang/model/element/Element;)V
       114: .line 231
            return
       115: .line 235
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* annotation */
            ldc "type"
            ldc Ljavax/lang/model/element/VariableElement;
            invokestatic org.graalvm.compiler.options.processor.OptionProcessor.getAnnotationValue:(Ljavax/lang/model/element/AnnotationMirror;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
            checkcast javax.lang.model.element.VariableElement
            invokeinterface javax.lang.model.element.VariableElement.getSimpleName:()Ljavax/lang/model/element/Name;
            invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
            astore 21 /* optionTypeName */
        start local 21 // java.lang.String optionTypeName
       116: .line 236
            aload 3 /* annotation */
            ldc "deprecated"
            ldc Ljava/lang/Boolean;
            invokestatic org.graalvm.compiler.options.processor.OptionProcessor.getAnnotationValue:(Ljavax/lang/model/element/AnnotationMirror;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            istore 22 /* deprecated */
        start local 22 // boolean deprecated
       117: .line 237
            aload 2 /* info */
            getfield org.graalvm.compiler.options.processor.OptionProcessor$OptionsInfo.options:Ljava/util/List;
            new org.graalvm.compiler.options.processor.OptionProcessor$OptionInfo
            dup
            aload 9 /* optionName */
            aload 21 /* optionTypeName */
            aload 18 /* help */
            aload 19 /* extraHelp */
            aload 11 /* optionType */
            aload 13 /* declaringClass */
            aload 4 /* field */
            invokeinterface javax.lang.model.element.VariableElement.getSimpleName:()Ljavax/lang/model/element/Name;
            invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
            iload 22 /* deprecated */
            invokespecial org.graalvm.compiler.options.processor.OptionProcessor$OptionInfo.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
       118: .line 238
            return
        end local 22 // boolean deprecated
        end local 21 // java.lang.String optionTypeName
        end local 20 // java.lang.String optionStabilityName
        end local 19 // java.util.List extraHelp
        end local 18 // java.lang.String help
        end local 17 // java.util.List helpValue
        end local 16 // javax.lang.model.element.PackageElement enclosingPackage
        end local 15 // java.util.Set originatingElementsList
        end local 14 // java.lang.String separator
        end local 13 // java.lang.String declaringClass
        end local 12 // javax.lang.model.element.Element enclosing
        end local 11 // java.lang.String optionType
        end local 10 // javax.lang.model.type.DeclaredType declaredOptionKeyType
        end local 9 // java.lang.String optionName
        end local 8 // javax.lang.model.type.DeclaredType declaredFieldType
        end local 7 // javax.lang.model.type.TypeMirror fieldType
        end local 6 // javax.lang.model.util.Types types
        end local 5 // java.lang.String fieldName
        end local 4 // javax.lang.model.element.VariableElement field
        end local 3 // javax.lang.model.element.AnnotationMirror annotation
        end local 2 // org.graalvm.compiler.options.processor.OptionProcessor$OptionsInfo info
        end local 1 // javax.lang.model.element.Element element
        end local 0 // org.graalvm.compiler.options.processor.OptionProcessor this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0  119     0                     this  Lorg/graalvm/compiler/options/processor/OptionProcessor;
            0  119     1                  element  Ljavax/lang/model/element/Element;
            0  119     2                     info  Lorg/graalvm/compiler/options/processor/OptionProcessor$OptionsInfo;
            7  119     3               annotation  Ljavax/lang/model/element/AnnotationMirror;
           11  119     4                    field  Ljavax/lang/model/element/VariableElement;
           12  119     5                fieldName  Ljava/lang/String;
           13  119     6                    types  Ljavax/lang/model/util/Types;
           14  119     7                fieldType  Ljavax/lang/model/type/TypeMirror;
           18  119     8        declaredFieldType  Ljavax/lang/model/type/DeclaredType;
           20   22     9                      msg  Ljava/lang/String;
           29  119     9               optionName  Ljava/lang/String;
           35  119    10    declaredOptionKeyType  Ljavax/lang/model/type/DeclaredType;
           37   39    11         directSupertypes  Ljava/util/List<+Ljavax/lang/model/type/TypeMirror;>;
           42  119    11               optionType  Ljava/lang/String;
           45  119    12                enclosing  Ljavax/lang/model/element/Element;
           46  119    13           declaringClass  Ljava/lang/String;
           47  119    14                separator  Ljava/lang/String;
           48  119    15  originatingElementsList  Ljava/util/Set<Ljavax/lang/model/element/Element;>;
           50  119    16         enclosingPackage  Ljavax/lang/model/element/PackageElement;
           54   56    17                      msg  Ljava/lang/String;
           71  119    17                helpValue  Ljava/util/List<Ljava/lang/String;>;
           72  119    18                     help  Ljava/lang/String;
           73  119    19                extraHelp  Ljava/util/List<Ljava/lang/String;>;
           77  102    20                     path  Ljava/lang/String;
           78  102    21                    filer  Ljavax/annotation/processing/Filer;
           79   80    22                     file  Ljavax/tools/FileObject;
           82   98    22                     file  Ljavax/tools/FileObject;
           84   94    25                       br  Ljava/io/BufferedReader;
           88   92    26                     line  Ljava/lang/String;
           99  102    22                        e  Ljava/io/IOException;
          100  102    23                      msg  Ljava/lang/String;
          107  110    20                firstChar  C
          111  119    20      optionStabilityName  Ljava/lang/String;
          116  119    21           optionTypeName  Ljava/lang/String;
          117  119    22               deprecated  Z
      Exception table:
        from    to  target  type
          78    79      80  Class java.lang.IllegalArgumentException
          78    79      80  Class java.io.IOException
          84    92      93  any
          83    95      95  any
          78    98      98  Class java.io.IOException
    MethodParameters:
         Name  Flags
      element  
      info     

  public static void createOptionsDescriptorsFile(javax.annotation.processing.ProcessingEnvironment, org.graalvm.compiler.options.processor.OptionProcessor$OptionsInfo);
    descriptor: (Ljavax/annotation/processing/ProcessingEnvironment;Lorg/graalvm/compiler/options/processor/OptionProcessor$OptionsInfo;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=22, args_size=2
        start local 0 // javax.annotation.processing.ProcessingEnvironment processingEnv
        start local 1 // org.graalvm.compiler.options.processor.OptionProcessor$OptionsInfo info
         0: .line 241
            aload 1 /* info */
            getfield org.graalvm.compiler.options.processor.OptionProcessor$OptionsInfo.originatingElements:Ljava/util/Set;
            aload 1 /* info */
            getfield org.graalvm.compiler.options.processor.OptionProcessor$OptionsInfo.originatingElements:Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            anewarray javax.lang.model.element.Element
            invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast javax.lang.model.element.Element[]
            astore 2 /* originatingElements */
        start local 2 // javax.lang.model.element.Element[] originatingElements
         1: .line 242
            new java.lang.StringBuilder
            dup
            aload 1 /* info */
            getfield org.graalvm.compiler.options.processor.OptionProcessor$OptionsInfo.className: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;
            ldc "org.graalvm.compiler.options.OptionDescriptors"
            invokestatic org.graalvm.compiler.options.processor.OptionProcessor.getSimpleName:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* optionsDescriptorsClassName */
        start local 3 // java.lang.String optionsDescriptorsClassName
         2: .line 244
            aload 0 /* processingEnv */
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getFiler:()Ljavax/annotation/processing/Filer;
            astore 4 /* filer */
        start local 4 // javax.annotation.processing.Filer filer
         3: .line 245
            aconst_null
            astore 5
            aconst_null
            astore 6
         4: aload 1 /* info */
            getfield org.graalvm.compiler.options.processor.OptionProcessor$OptionsInfo.packageName:Ljava/lang/String;
            aload 3 /* optionsDescriptorsClassName */
            aload 4 /* filer */
            aload 2 /* originatingElements */
            invokestatic org.graalvm.compiler.options.processor.OptionProcessor.createSourceFile:(Ljava/lang/String;Ljava/lang/String;Ljavax/annotation/processing/Filer;[Ljavax/lang/model/element/Element;)Ljava/io/PrintWriter;
            astore 7 /* out */
        start local 7 // java.io.PrintWriter out
         5: .line 247
            aload 7 /* out */
            ldc "// CheckStyle: stop header check"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         6: .line 248
            aload 7 /* out */
            ldc "// CheckStyle: stop line length check"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         7: .line 249
            aload 7 /* out */
            ldc "// GENERATED CONTENT - DO NOT EDIT"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         8: .line 250
            aload 7 /* out */
            new java.lang.StringBuilder
            dup
            ldc "// Source: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* info */
            getfield org.graalvm.compiler.options.processor.OptionProcessor$OptionsInfo.className:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ".java"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         9: .line 251
            aload 7 /* out */
            new java.lang.StringBuilder
            dup
            ldc "package "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* info */
            getfield org.graalvm.compiler.options.processor.OptionProcessor$OptionsInfo.packageName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ";"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        10: .line 252
            aload 7 /* out */
            ldc ""
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        11: .line 253
            aload 7 /* out */
            ldc "import java.util.*;"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        12: .line 254
            aload 7 /* out */
            new java.lang.StringBuilder
            dup
            ldc "import "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "org.graalvm.compiler.options.OptionDescriptors"
            invokestatic org.graalvm.compiler.options.processor.OptionProcessor.getPackageName:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ".*;"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        13: .line 255
            aload 7 /* out */
            ldc "import org.graalvm.compiler.options.OptionType;"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        14: .line 256
            aload 7 /* out */
            ldc ""
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        15: .line 257
            aload 7 /* out */
            new java.lang.StringBuilder
            dup
            ldc "public class "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* optionsDescriptorsClassName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " implements "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "org.graalvm.compiler.options.OptionDescriptors"
            invokestatic org.graalvm.compiler.options.processor.OptionProcessor.getSimpleName:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " {"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        16: .line 259
            ldc "org.graalvm.compiler.options.OptionDescriptor"
            invokestatic org.graalvm.compiler.options.processor.OptionProcessor.getSimpleName:(Ljava/lang/String;)Ljava/lang/String;
            astore 8 /* desc */
        start local 8 // java.lang.String desc
        17: .line 261
            aload 1 /* info */
            getfield org.graalvm.compiler.options.processor.OptionProcessor$OptionsInfo.options:Ljava/util/List;
            invokestatic java.util.Collections.sort:(Ljava/util/List;)V
        18: .line 263
            aload 7 /* out */
            ldc "    @Override"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        19: .line 264
            aload 7 /* out */
            ldc "    public OptionDescriptor get(String value) {"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        20: .line 265
            aload 7 /* out */
            ldc "        switch (value) {"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        21: .line 266
            aload 7 /* out */
            ldc "        // CheckStyle: stop line length check"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        22: .line 267
            aload 1 /* info */
            getfield org.graalvm.compiler.options.processor.OptionProcessor$OptionsInfo.options:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 51
      StackMap locals: javax.annotation.processing.ProcessingEnvironment org.graalvm.compiler.options.processor.OptionProcessor$OptionsInfo javax.lang.model.element.Element[] java.lang.String javax.annotation.processing.Filer java.lang.Throwable java.lang.Throwable java.io.PrintWriter java.lang.String top java.util.Iterator
      StackMap stack:
        23: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.options.processor.OptionProcessor$OptionInfo
            astore 9 /* option */
        start local 9 // org.graalvm.compiler.options.processor.OptionProcessor$OptionInfo option
        24: .line 268
            aload 9 /* option */
            getfield org.graalvm.compiler.options.processor.OptionProcessor$OptionInfo.name:Ljava/lang/String;
            astore 11 /* name */
        start local 11 // java.lang.String name
        25: .line 269
            new java.lang.StringBuilder
            dup
            aload 9 /* option */
            getfield org.graalvm.compiler.options.processor.OptionProcessor$OptionInfo.declaringClass: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 9 /* option */
            getfield org.graalvm.compiler.options.processor.OptionProcessor$OptionInfo.field:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 12 /* optionField */
        start local 12 // java.lang.String optionField
        26: .line 270
            aload 7 /* out */
            new java.lang.StringBuilder
            dup
            ldc "        case \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 11 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\": {"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        27: .line 271
            aload 9 /* option */
            getfield org.graalvm.compiler.options.processor.OptionProcessor$OptionInfo.optionType:Ljava/lang/String;
            astore 13 /* optionType */
        start local 13 // java.lang.String optionType
        28: .line 272
            aload 9 /* option */
            getfield org.graalvm.compiler.options.processor.OptionProcessor$OptionInfo.type:Ljava/lang/String;
            astore 14 /* type */
        start local 14 // java.lang.String type
        29: .line 273
            aload 9 /* option */
            getfield org.graalvm.compiler.options.processor.OptionProcessor$OptionInfo.help:Ljava/lang/String;
            astore 15 /* help */
        start local 15 // java.lang.String help
        30: .line 274
            aload 9 /* option */
            getfield org.graalvm.compiler.options.processor.OptionProcessor$OptionInfo.extraHelp:Ljava/util/List;
            astore 16 /* extraHelp */
        start local 16 // java.util.List extraHelp
        31: .line 275
            aload 9 /* option */
            getfield org.graalvm.compiler.options.processor.OptionProcessor$OptionInfo.declaringClass:Ljava/lang/String;
            astore 17 /* declaringClass */
        start local 17 // java.lang.String declaringClass
        32: .line 276
            aload 9 /* option */
            getfield org.graalvm.compiler.options.processor.OptionProcessor$OptionInfo.field:Ljava/lang/String;
            astore 18 /* fieldName */
        start local 18 // java.lang.String fieldName
        33: .line 277
            aload 9 /* option */
            getfield org.graalvm.compiler.options.processor.OptionProcessor$OptionInfo.deprecated:Z
            istore 19 /* deprecated */
        start local 19 // boolean deprecated
        34: .line 278
            aload 7 /* out */
            new java.lang.StringBuilder
            dup
            ldc "            return "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* desc */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ".create(\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        35: .line 279
            aload 7 /* out */
            ldc "                /*name*/ \"%s\",\n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 11 /* name */
            aastore
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        36: .line 280
            aload 7 /* out */
            ldc "                /*optionType*/ %s.%s,\n"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "org.graalvm.compiler.options.OptionType"
            invokestatic org.graalvm.compiler.options.processor.OptionProcessor.getSimpleName:(Ljava/lang/String;)Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 13 /* optionType */
            aastore
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        37: .line 281
            aload 7 /* out */
            ldc "                /*optionValueType*/ %s.class,\n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 14 /* type */
            aastore
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        38: .line 282
            aload 7 /* out */
            ldc "                /*help*/ \"%s\",\n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 15 /* help */
            aastore
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        39: .line 283
            aload 16 /* extraHelp */
            invokeinterface java.util.List.size:()I
            ifeq 46
        40: .line 284
            aload 7 /* out */
            ldc "                /*extraHelp*/ new String[] {\n"
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        41: .line 285
            aload 16 /* extraHelp */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 21
            goto 44
      StackMap locals: javax.annotation.processing.ProcessingEnvironment org.graalvm.compiler.options.processor.OptionProcessor$OptionsInfo javax.lang.model.element.Element[] java.lang.String javax.annotation.processing.Filer java.lang.Throwable java.lang.Throwable java.io.PrintWriter java.lang.String org.graalvm.compiler.options.processor.OptionProcessor$OptionInfo java.util.Iterator java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.util.List java.lang.String java.lang.String int top java.util.Iterator
      StackMap stack:
        42: aload 21
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 20 /* line */
        start local 20 // java.lang.String line
        43: .line 286
            aload 7 /* out */
            ldc "                         \"%s\",\n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 20 /* line */
            ldc "\\"
            ldc "\\\\"
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            ldc "\""
            ldc "\\\""
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            aastore
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        end local 20 // java.lang.String line
        44: .line 285
      StackMap locals:
      StackMap stack:
            aload 21
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 42
        45: .line 288
            aload 7 /* out */
            ldc "                              },\n"
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        46: .line 290
      StackMap locals: javax.annotation.processing.ProcessingEnvironment org.graalvm.compiler.options.processor.OptionProcessor$OptionsInfo javax.lang.model.element.Element[] java.lang.String javax.annotation.processing.Filer java.lang.Throwable java.lang.Throwable java.io.PrintWriter java.lang.String org.graalvm.compiler.options.processor.OptionProcessor$OptionInfo java.util.Iterator java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.util.List java.lang.String java.lang.String int
      StackMap stack:
            aload 7 /* out */
            ldc "                /*declaringClass*/ %s.class,\n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 17 /* declaringClass */
            aastore
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        47: .line 291
            aload 7 /* out */
            ldc "                /*fieldName*/ \"%s\",\n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 18 /* fieldName */
            aastore
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        48: .line 292
            aload 7 /* out */
            ldc "                /*option*/ %s,\n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 12 /* optionField */
            aastore
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        49: .line 293
            aload 7 /* out */
            ldc "                /*deprecated*/ %b);\n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 19 /* deprecated */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        50: .line 294
            aload 7 /* out */
            ldc "        }"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        end local 19 // boolean deprecated
        end local 18 // java.lang.String fieldName
        end local 17 // java.lang.String declaringClass
        end local 16 // java.util.List extraHelp
        end local 15 // java.lang.String help
        end local 14 // java.lang.String type
        end local 13 // java.lang.String optionType
        end local 12 // java.lang.String optionField
        end local 11 // java.lang.String name
        end local 9 // org.graalvm.compiler.options.processor.OptionProcessor$OptionInfo option
        51: .line 267
      StackMap locals: javax.annotation.processing.ProcessingEnvironment org.graalvm.compiler.options.processor.OptionProcessor$OptionsInfo javax.lang.model.element.Element[] java.lang.String javax.annotation.processing.Filer java.lang.Throwable java.lang.Throwable java.io.PrintWriter java.lang.String top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 23
        52: .line 296
            aload 7 /* out */
            ldc "        // CheckStyle: resume line length check"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        53: .line 297
            aload 7 /* out */
            ldc "        }"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        54: .line 298
            aload 7 /* out */
            ldc "        return null;"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        55: .line 299
            aload 7 /* out */
            ldc "    }"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        56: .line 300
            aload 7 /* out */
            invokevirtual java.io.PrintWriter.println:()V
        57: .line 301
            aload 7 /* out */
            ldc "    @Override"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        58: .line 302
            aload 7 /* out */
            new java.lang.StringBuilder
            dup
            ldc "    public Iterator<"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* desc */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "> iterator() {"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        59: .line 303
            aload 7 /* out */
            ldc "        return new Iterator<OptionDescriptor>() {"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        60: .line 304
            aload 7 /* out */
            ldc "            int i = 0;"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        61: .line 305
            aload 7 /* out */
            ldc "            @Override"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        62: .line 306
            aload 7 /* out */
            ldc "            public boolean hasNext() {"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        63: .line 307
            aload 7 /* out */
            new java.lang.StringBuilder
            dup
            ldc "                return i < "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* info */
            getfield org.graalvm.compiler.options.processor.OptionProcessor$OptionsInfo.options:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ";"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        64: .line 308
            aload 7 /* out */
            ldc "            }"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        65: .line 309
            aload 7 /* out */
            ldc "            @Override"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        66: .line 310
            aload 7 /* out */
            ldc "            public OptionDescriptor next() {"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        67: .line 311
            aload 7 /* out */
            ldc "                switch (i++) {"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        68: .line 312
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        69: goto 73
        70: .line 313
      StackMap locals: javax.annotation.processing.ProcessingEnvironment org.graalvm.compiler.options.processor.OptionProcessor$OptionsInfo javax.lang.model.element.Element[] java.lang.String javax.annotation.processing.Filer java.lang.Throwable java.lang.Throwable java.io.PrintWriter java.lang.String int
      StackMap stack:
            aload 1 /* info */
            getfield org.graalvm.compiler.options.processor.OptionProcessor$OptionsInfo.options:Ljava/util/List;
            iload 9 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.options.processor.OptionProcessor$OptionInfo
            astore 10 /* option */
        start local 10 // org.graalvm.compiler.options.processor.OptionProcessor$OptionInfo option
        71: .line 314
            aload 7 /* out */
            new java.lang.StringBuilder
            dup
            ldc "                    case "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 9 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ": return get(\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 10 /* option */
            getfield org.graalvm.compiler.options.processor.OptionProcessor$OptionInfo.name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\");"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        end local 10 // org.graalvm.compiler.options.processor.OptionProcessor$OptionInfo option
        72: .line 312
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        73: iload 9 /* i */
            aload 1 /* info */
            getfield org.graalvm.compiler.options.processor.OptionProcessor$OptionsInfo.options:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 70
        end local 9 // int i
        74: .line 316
            aload 7 /* out */
            ldc "                }"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        75: .line 317
            aload 7 /* out */
            ldc "                throw new NoSuchElementException();"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        76: .line 318
            aload 7 /* out */
            ldc "            }"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        77: .line 319
            aload 7 /* out */
            ldc "        };"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        78: .line 320
            aload 7 /* out */
            ldc "    }"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        79: .line 321
            aload 7 /* out */
            ldc "}"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        end local 8 // java.lang.String desc
        80: .line 322
            aload 7 /* out */
            ifnull 86
            aload 7 /* out */
            invokevirtual java.io.PrintWriter.close:()V
            goto 86
      StackMap locals: javax.annotation.processing.ProcessingEnvironment org.graalvm.compiler.options.processor.OptionProcessor$OptionsInfo javax.lang.model.element.Element[] java.lang.String javax.annotation.processing.Filer java.lang.Throwable java.lang.Throwable java.io.PrintWriter
      StackMap stack: java.lang.Throwable
        81: astore 5
            aload 7 /* out */
            ifnull 82
            aload 7 /* out */
            invokevirtual java.io.PrintWriter.close:()V
        end local 7 // java.io.PrintWriter out
      StackMap locals:
      StackMap stack:
        82: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        83: astore 6
            aload 5
            ifnonnull 84
            aload 6
            astore 5
            goto 85
      StackMap locals:
      StackMap stack:
        84: aload 5
            aload 6
            if_acmpeq 85
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        85: aload 5
            athrow
        86: .line 323
      StackMap locals:
      StackMap stack:
            return
        end local 4 // javax.annotation.processing.Filer filer
        end local 3 // java.lang.String optionsDescriptorsClassName
        end local 2 // javax.lang.model.element.Element[] originatingElements
        end local 1 // org.graalvm.compiler.options.processor.OptionProcessor$OptionsInfo info
        end local 0 // javax.annotation.processing.ProcessingEnvironment processingEnv
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0   87     0                processingEnv  Ljavax/annotation/processing/ProcessingEnvironment;
            0   87     1                         info  Lorg/graalvm/compiler/options/processor/OptionProcessor$OptionsInfo;
            1   87     2          originatingElements  [Ljavax/lang/model/element/Element;
            2   87     3  optionsDescriptorsClassName  Ljava/lang/String;
            3   87     4                        filer  Ljavax/annotation/processing/Filer;
            5   82     7                          out  Ljava/io/PrintWriter;
           17   80     8                         desc  Ljava/lang/String;
           24   51     9                       option  Lorg/graalvm/compiler/options/processor/OptionProcessor$OptionInfo;
           25   51    11                         name  Ljava/lang/String;
           26   51    12                  optionField  Ljava/lang/String;
           28   51    13                   optionType  Ljava/lang/String;
           29   51    14                         type  Ljava/lang/String;
           30   51    15                         help  Ljava/lang/String;
           31   51    16                    extraHelp  Ljava/util/List<Ljava/lang/String;>;
           32   51    17               declaringClass  Ljava/lang/String;
           33   51    18                    fieldName  Ljava/lang/String;
           34   51    19                   deprecated  Z
           43   44    20                         line  Ljava/lang/String;
           69   74     9                            i  I
           71   72    10                       option  Lorg/graalvm/compiler/options/processor/OptionProcessor$OptionInfo;
      Exception table:
        from    to  target  type
           5    80      81  any
           4    83      83  any
    MethodParameters:
               Name  Flags
      processingEnv  
      info           

  public static java.io.PrintWriter createSourceFile(java.lang.String, java.lang.String, javax.annotation.processing.Filer, javax.lang.model.element.Element[]);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljavax/annotation/processing/Filer;[Ljavax/lang/model/element/Element;)Ljava/io/PrintWriter;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // java.lang.String pkg
        start local 1 // java.lang.String relativeName
        start local 2 // javax.annotation.processing.Filer filer
        start local 3 // javax.lang.model.element.Element[] originatingElements
         0: .line 328
            new java.lang.StringBuilder
            dup
            aload 0 /* pkg */
            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 1 /* relativeName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* className */
        start local 4 // java.lang.String className
         1: .line 329
            aload 2 /* filer */
            aload 4 /* className */
            aload 3 /* originatingElements */
            invokeinterface javax.annotation.processing.Filer.createSourceFile:(Ljava/lang/CharSequence;[Ljavax/lang/model/element/Element;)Ljavax/tools/JavaFileObject;
            astore 5 /* sourceFile */
        start local 5 // javax.tools.JavaFileObject sourceFile
         2: .line 330
            new org.graalvm.compiler.options.processor.OptionProcessor$1
            dup
            aload 5 /* sourceFile */
            invokeinterface javax.tools.JavaFileObject.openWriter:()Ljava/io/Writer;
            invokespecial org.graalvm.compiler.options.processor.OptionProcessor$1.<init>:(Ljava/io/Writer;)V
         3: areturn
        end local 5 // javax.tools.JavaFileObject sourceFile
        end local 4 // java.lang.String className
         4: .line 337
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 4 /* e */
        start local 4 // java.io.IOException e
         5: .line 338
            new java.lang.RuntimeException
            dup
            aload 4 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.io.IOException e
        end local 3 // javax.lang.model.element.Element[] originatingElements
        end local 2 // javax.annotation.processing.Filer filer
        end local 1 // java.lang.String relativeName
        end local 0 // java.lang.String pkg
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    6     0                  pkg  Ljava/lang/String;
            0    6     1         relativeName  Ljava/lang/String;
            0    6     2                filer  Ljavax/annotation/processing/Filer;
            0    6     3  originatingElements  [Ljavax/lang/model/element/Element;
            1    4     4            className  Ljava/lang/String;
            2    4     5           sourceFile  Ljavax/tools/JavaFileObject;
            5    6     4                    e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     3       4  Class java.io.IOException
    MethodParameters:
                     Name  Flags
      pkg                  
      relativeName         
      filer                
      originatingElements  

  private static javax.lang.model.element.Element topDeclaringType(javax.lang.model.element.Element);
    descriptor: (Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // javax.lang.model.element.Element element
         0: .line 389
            aload 0 /* element */
            invokeinterface javax.lang.model.element.Element.getEnclosingElement:()Ljavax/lang/model/element/Element;
            astore 1 /* enclosing */
        start local 1 // javax.lang.model.element.Element enclosing
         1: .line 390
            aload 1 /* enclosing */
            ifnull 2
            aload 1 /* enclosing */
            invokeinterface javax.lang.model.element.Element.getKind:()Ljavax/lang/model/element/ElementKind;
            getstatic javax.lang.model.element.ElementKind.PACKAGE:Ljavax/lang/model/element/ElementKind;
            if_acmpne 3
         2: .line 391
      StackMap locals: javax.lang.model.element.Element
      StackMap stack:
            aload 0 /* element */
            areturn
         3: .line 393
      StackMap locals:
      StackMap stack:
            aload 1 /* enclosing */
            invokestatic org.graalvm.compiler.options.processor.OptionProcessor.topDeclaringType:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
            areturn
        end local 1 // javax.lang.model.element.Element enclosing
        end local 0 // javax.lang.model.element.Element element
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0    element  Ljavax/lang/model/element/Element;
            1    4     1  enclosing  Ljavax/lang/model/element/Element;
    MethodParameters:
         Name  Flags
      element  

  public boolean doProcess(java.util.Set<? extends javax.lang.model.element.TypeElement>, javax.annotation.processing.RoundEnvironment);
    descriptor: (Ljava/util/Set;Ljavax/annotation/processing/RoundEnvironment;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=13, args_size=3
        start local 0 // org.graalvm.compiler.options.processor.OptionProcessor this
        start local 1 // java.util.Set annotations
        start local 2 // javax.annotation.processing.RoundEnvironment roundEnv
         0: .line 398
            aload 2 /* roundEnv */
            invokeinterface javax.annotation.processing.RoundEnvironment.processingOver:()Z
            ifeq 2
         1: .line 399
            iconst_1
            ireturn
         2: .line 402
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "org.graalvm.compiler.options.Option"
            invokevirtual org.graalvm.compiler.options.processor.OptionProcessor.getTypeElement:(Ljava/lang/String;)Ljavax/lang/model/element/TypeElement;
            astore 3 /* optionTypeElement */
        start local 3 // javax.lang.model.element.TypeElement optionTypeElement
         3: .line 404
            aload 0 /* this */
            aload 3 /* optionTypeElement */
            invokeinterface javax.lang.model.element.TypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
            putfield org.graalvm.compiler.options.processor.OptionProcessor.optionTypeMirror:Ljavax/lang/model/type/TypeMirror;
         4: .line 405
            aload 0 /* this */
            aload 0 /* this */
            ldc "org.graalvm.compiler.options.OptionKey"
            invokevirtual org.graalvm.compiler.options.processor.OptionProcessor.getTypeElement:(Ljava/lang/String;)Ljavax/lang/model/element/TypeElement;
            invokeinterface javax.lang.model.element.TypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
            putfield org.graalvm.compiler.options.processor.OptionProcessor.optionKeyTypeMirror:Ljavax/lang/model/type/TypeMirror;
         5: .line 407
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 4 /* map */
        start local 4 // java.util.Map map
         6: .line 408
            aload 2 /* roundEnv */
            aload 3 /* optionTypeElement */
            invokeinterface javax.annotation.processing.RoundEnvironment.getElementsAnnotatedWith:(Ljavax/lang/model/element/TypeElement;)Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 20
      StackMap locals: org.graalvm.compiler.options.processor.OptionProcessor java.util.Set javax.annotation.processing.RoundEnvironment javax.lang.model.element.TypeElement java.util.Map top java.util.Iterator
      StackMap stack:
         7: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.lang.model.element.Element
            astore 5 /* element */
        start local 5 // javax.lang.model.element.Element element
         8: .line 409
            aload 0 /* this */
            getfield org.graalvm.compiler.options.processor.OptionProcessor.processed:Ljava/util/Set;
            aload 5 /* element */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 20
         9: .line 410
            aload 0 /* this */
            getfield org.graalvm.compiler.options.processor.OptionProcessor.processed:Ljava/util/Set;
            aload 5 /* element */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        10: .line 411
            aload 5 /* element */
            invokestatic org.graalvm.compiler.options.processor.OptionProcessor.topDeclaringType:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
            astore 7 /* topDeclaringType */
        start local 7 // javax.lang.model.element.Element topDeclaringType
        11: .line 412
            aload 4 /* map */
            aload 7 /* topDeclaringType */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.options.processor.OptionProcessor$OptionsInfo
            astore 8 /* options */
        start local 8 // org.graalvm.compiler.options.processor.OptionProcessor$OptionsInfo options
        12: .line 413
            aload 8 /* options */
            ifnonnull 17
        13: .line 414
            aload 7 /* topDeclaringType */
            invokeinterface javax.lang.model.element.Element.getEnclosingElement:()Ljavax/lang/model/element/Element;
            checkcast javax.lang.model.element.PackageElement
            invokeinterface javax.lang.model.element.PackageElement.getQualifiedName:()Ljavax/lang/model/element/Name;
            invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
            astore 9 /* pkg */
        start local 9 // java.lang.String pkg
        14: .line 415
            aload 7 /* topDeclaringType */
            invokeinterface javax.lang.model.element.Element.getSimpleName:()Ljavax/lang/model/element/Name;
            invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
            astore 10 /* topDeclaringClass */
        start local 10 // java.lang.String topDeclaringClass
        15: .line 416
            new org.graalvm.compiler.options.processor.OptionProcessor$OptionsInfo
            dup
            aload 9 /* pkg */
            aload 10 /* topDeclaringClass */
            invokespecial org.graalvm.compiler.options.processor.OptionProcessor$OptionsInfo.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 8 /* options */
        16: .line 417
            aload 4 /* map */
            aload 7 /* topDeclaringType */
            aload 8 /* options */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 10 // java.lang.String topDeclaringClass
        end local 9 // java.lang.String pkg
        17: .line 419
      StackMap locals: org.graalvm.compiler.options.processor.OptionProcessor java.util.Set javax.annotation.processing.RoundEnvironment javax.lang.model.element.TypeElement java.util.Map javax.lang.model.element.Element java.util.Iterator javax.lang.model.element.Element org.graalvm.compiler.options.processor.OptionProcessor$OptionsInfo
      StackMap stack:
            aload 5 /* element */
            invokeinterface javax.lang.model.element.Element.getEnclosingElement:()Ljavax/lang/model/element/Element;
            invokeinterface javax.lang.model.element.Element.getSimpleName:()Ljavax/lang/model/element/Name;
            invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
            ldc "Options"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 19
        18: .line 420
            aload 0 /* this */
            getfield org.graalvm.compiler.options.processor.OptionProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getMessager:()Ljavax/annotation/processing/Messager;
            getstatic javax.tools.Diagnostic$Kind.ERROR:Ljavax/tools/Diagnostic$Kind;
            ldc "Option declaring classes must have a name that ends with 'Options'"
            aload 5 /* element */
            invokeinterface javax.lang.model.element.Element.getEnclosingElement:()Ljavax/lang/model/element/Element;
            invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;Ljavax/lang/model/element/Element;)V
        19: .line 422
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* element */
            aload 8 /* options */
            invokevirtual org.graalvm.compiler.options.processor.OptionProcessor.processElement:(Ljavax/lang/model/element/Element;Lorg/graalvm/compiler/options/processor/OptionProcessor$OptionsInfo;)V
        end local 8 // org.graalvm.compiler.options.processor.OptionProcessor$OptionsInfo options
        end local 7 // javax.lang.model.element.Element topDeclaringType
        end local 5 // javax.lang.model.element.Element element
        20: .line 408
      StackMap locals: org.graalvm.compiler.options.processor.OptionProcessor java.util.Set javax.annotation.processing.RoundEnvironment javax.lang.model.element.TypeElement java.util.Map top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        21: .line 426
            iconst_1
            istore 5 /* ok */
        start local 5 // boolean ok
        22: .line 427
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 6 /* uniqueness */
        start local 6 // java.util.Map uniqueness
        23: .line 428
            aload 4 /* map */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 8
            goto 33
      StackMap locals: org.graalvm.compiler.options.processor.OptionProcessor java.util.Set javax.annotation.processing.RoundEnvironment javax.lang.model.element.TypeElement java.util.Map int java.util.Map top java.util.Iterator
      StackMap stack:
        24: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 7 /* e */
        start local 7 // java.util.Map$Entry e
        25: .line 429
            aload 7 /* e */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.options.processor.OptionProcessor$OptionsInfo
            astore 9 /* info */
        start local 9 // org.graalvm.compiler.options.processor.OptionProcessor$OptionsInfo info
        26: .line 430
            aload 9 /* info */
            getfield org.graalvm.compiler.options.processor.OptionProcessor$OptionsInfo.options:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 11
            goto 32
      StackMap locals: org.graalvm.compiler.options.processor.OptionProcessor java.util.Set javax.annotation.processing.RoundEnvironment javax.lang.model.element.TypeElement java.util.Map int java.util.Map java.util.Map$Entry java.util.Iterator org.graalvm.compiler.options.processor.OptionProcessor$OptionsInfo top java.util.Iterator
      StackMap stack:
        27: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.options.processor.OptionProcessor$OptionInfo
            astore 10 /* option */
        start local 10 // org.graalvm.compiler.options.processor.OptionProcessor$OptionInfo option
        28: .line 431
            aload 6 /* uniqueness */
            aload 10 /* option */
            getfield org.graalvm.compiler.options.processor.OptionProcessor$OptionInfo.name:Ljava/lang/String;
            aload 10 /* option */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.options.processor.OptionProcessor$OptionInfo
            astore 12 /* conflict */
        start local 12 // org.graalvm.compiler.options.processor.OptionProcessor$OptionInfo conflict
        29: .line 432
            aload 12 /* conflict */
            ifnull 32
        30: .line 433
            aload 0 /* this */
            getfield org.graalvm.compiler.options.processor.OptionProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getMessager:()Ljavax/annotation/processing/Messager;
            getstatic javax.tools.Diagnostic$Kind.ERROR:Ljavax/tools/Diagnostic$Kind;
            new java.lang.StringBuilder
            dup
            ldc "Duplicate option names for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 10 /* option */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " and "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 12 /* conflict */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 7 /* e */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast javax.lang.model.element.Element
            invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;Ljavax/lang/model/element/Element;)V
        31: .line 434
            iconst_0
            istore 5 /* ok */
        end local 12 // org.graalvm.compiler.options.processor.OptionProcessor$OptionInfo conflict
        end local 10 // org.graalvm.compiler.options.processor.OptionProcessor$OptionInfo option
        32: .line 430
      StackMap locals:
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 27
        end local 9 // org.graalvm.compiler.options.processor.OptionProcessor$OptionsInfo info
        end local 7 // java.util.Map$Entry e
        33: .line 428
      StackMap locals: org.graalvm.compiler.options.processor.OptionProcessor java.util.Set javax.annotation.processing.RoundEnvironment javax.lang.model.element.TypeElement java.util.Map int java.util.Map top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 24
        34: .line 439
            iload 5 /* ok */
            ifeq 39
        35: .line 440
            aload 4 /* map */
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 8
            goto 38
      StackMap locals:
      StackMap stack:
        36: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.options.processor.OptionProcessor$OptionsInfo
            astore 7 /* info */
        start local 7 // org.graalvm.compiler.options.processor.OptionProcessor$OptionsInfo info
        37: .line 441
            aload 0 /* this */
            getfield org.graalvm.compiler.options.processor.OptionProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
            aload 7 /* info */
            invokestatic org.graalvm.compiler.options.processor.OptionProcessor.createOptionsDescriptorsFile:(Ljavax/annotation/processing/ProcessingEnvironment;Lorg/graalvm/compiler/options/processor/OptionProcessor$OptionsInfo;)V
        end local 7 // org.graalvm.compiler.options.processor.OptionProcessor$OptionsInfo info
        38: .line 440
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 36
        39: .line 445
      StackMap locals: org.graalvm.compiler.options.processor.OptionProcessor java.util.Set javax.annotation.processing.RoundEnvironment javax.lang.model.element.TypeElement java.util.Map int java.util.Map
      StackMap stack:
            iconst_1
            ireturn
        end local 6 // java.util.Map uniqueness
        end local 5 // boolean ok
        end local 4 // java.util.Map map
        end local 3 // javax.lang.model.element.TypeElement optionTypeElement
        end local 2 // javax.annotation.processing.RoundEnvironment roundEnv
        end local 1 // java.util.Set annotations
        end local 0 // org.graalvm.compiler.options.processor.OptionProcessor this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   40     0               this  Lorg/graalvm/compiler/options/processor/OptionProcessor;
            0   40     1        annotations  Ljava/util/Set<+Ljavax/lang/model/element/TypeElement;>;
            0   40     2           roundEnv  Ljavax/annotation/processing/RoundEnvironment;
            3   40     3  optionTypeElement  Ljavax/lang/model/element/TypeElement;
            6   40     4                map  Ljava/util/Map<Ljavax/lang/model/element/Element;Lorg/graalvm/compiler/options/processor/OptionProcessor$OptionsInfo;>;
            8   20     5            element  Ljavax/lang/model/element/Element;
           11   20     7   topDeclaringType  Ljavax/lang/model/element/Element;
           12   20     8            options  Lorg/graalvm/compiler/options/processor/OptionProcessor$OptionsInfo;
           14   17     9                pkg  Ljava/lang/String;
           15   17    10  topDeclaringClass  Ljava/lang/String;
           22   40     5                 ok  Z
           23   40     6         uniqueness  Ljava/util/Map<Ljava/lang/String;Lorg/graalvm/compiler/options/processor/OptionProcessor$OptionInfo;>;
           25   33     7                  e  Ljava/util/Map$Entry<Ljavax/lang/model/element/Element;Lorg/graalvm/compiler/options/processor/OptionProcessor$OptionsInfo;>;
           26   33     9               info  Lorg/graalvm/compiler/options/processor/OptionProcessor$OptionsInfo;
           28   32    10             option  Lorg/graalvm/compiler/options/processor/OptionProcessor$OptionInfo;
           29   32    12           conflict  Lorg/graalvm/compiler/options/processor/OptionProcessor$OptionInfo;
           37   38     7               info  Lorg/graalvm/compiler/options/processor/OptionProcessor$OptionsInfo;
    Signature: (Ljava/util/Set<+Ljavax/lang/model/element/TypeElement;>;Ljavax/annotation/processing/RoundEnvironment;)Z
    MethodParameters:
             Name  Flags
      annotations  
      roundEnv     
}
SourceFile: "OptionProcessor.java"
NestMembers:
  org.graalvm.compiler.options.processor.OptionProcessor$1  org.graalvm.compiler.options.processor.OptionProcessor$OptionInfo  org.graalvm.compiler.options.processor.OptionProcessor$OptionsInfo
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map
  public final Kind = javax.tools.Diagnostic$Kind of javax.tools.Diagnostic
  public abstract Location = javax.tools.JavaFileManager$Location of javax.tools.JavaFileManager
  org.graalvm.compiler.options.processor.OptionProcessor$1
  public OptionInfo = org.graalvm.compiler.options.processor.OptionProcessor$OptionInfo of org.graalvm.compiler.options.processor.OptionProcessor
  public OptionsInfo = org.graalvm.compiler.options.processor.OptionProcessor$OptionsInfo of org.graalvm.compiler.options.processor.OptionProcessor
    RuntimeVisibleAnnotations: 
      javax.annotation.processing.SupportedAnnotationTypes(value = {"org.graalvm.compiler.options.Option"})