class com.oracle.svm.driver.APIOptionHandler extends com.oracle.svm.driver.NativeImage$OptionHandler<com.oracle.svm.driver.NativeImage>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.oracle.svm.driver.APIOptionHandler
  super_class: com.oracle.svm.driver.NativeImage$OptionHandler
{
  private final java.util.SortedMap<java.lang.String, com.oracle.svm.driver.APIOptionHandler$OptionInfo> apiOptions;
    descriptor: Ljava/util/SortedMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/SortedMap<Ljava/lang/String;Lcom/oracle/svm/driver/APIOptionHandler$OptionInfo;>;

  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 62
            ldc Lcom/oracle/svm/driver/APIOptionHandler;
            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 com.oracle.svm.driver.APIOptionHandler.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(com.oracle.svm.driver.NativeImage);
    descriptor: (Lcom/oracle/svm/driver/NativeImage;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // com.oracle.svm.driver.APIOptionHandler this
        start local 1 // com.oracle.svm.driver.NativeImage nativeImage
         0: .line 99
            aload 0 /* this */
            aload 1 /* nativeImage */
            invokespecial com.oracle.svm.driver.NativeImage$OptionHandler.<init>:(Lcom/oracle/svm/driver/NativeImage;)V
         1: .line 100
            getstatic com.oracle.svm.driver.NativeImage.IS_AOT:Z
            ifeq 4
         2: .line 101
            aload 0 /* this */
            ldc Lcom/oracle/svm/driver/APIOptionCollector;
            invokestatic org.graalvm.nativeimage.ImageSingletons.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast com.oracle.svm.driver.APIOptionCollector
            getfield com.oracle.svm.driver.APIOptionCollector.options:Ljava/util/SortedMap;
            putfield com.oracle.svm.driver.APIOptionHandler.apiOptions:Ljava/util/SortedMap;
         3: .line 102
            goto 11
         4: .line 103
      StackMap locals: com.oracle.svm.driver.APIOptionHandler com.oracle.svm.driver.NativeImage
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* optionDescriptorsList */
        start local 2 // java.util.List optionDescriptorsList
         5: .line 104
            ldc Lorg/graalvm/compiler/options/OptionDescriptors;
            aload 1 /* nativeImage */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            invokestatic java.util.ServiceLoader.load:(Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/util/ServiceLoader;
            astore 3 /* serviceLoader */
        start local 3 // java.util.ServiceLoader serviceLoader
         6: .line 105
            aload 3 /* serviceLoader */
            invokevirtual java.util.ServiceLoader.iterator:()Ljava/util/Iterator;
            astore 5
            goto 9
      StackMap locals: com.oracle.svm.driver.APIOptionHandler com.oracle.svm.driver.NativeImage java.util.List java.util.ServiceLoader top java.util.Iterator
      StackMap stack:
         7: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.options.OptionDescriptors
            astore 4 /* optionDescriptors */
        start local 4 // org.graalvm.compiler.options.OptionDescriptors optionDescriptors
         8: .line 106
            aload 2 /* optionDescriptorsList */
            aload 4 /* optionDescriptors */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // org.graalvm.compiler.options.OptionDescriptors optionDescriptors
         9: .line 105
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        10: .line 108
            aload 0 /* this */
            aload 2 /* optionDescriptorsList */
            invokestatic com.oracle.svm.driver.APIOptionHandler.extractOptions:(Ljava/util/List;)Ljava/util/SortedMap;
            putfield com.oracle.svm.driver.APIOptionHandler.apiOptions:Ljava/util/SortedMap;
        end local 3 // java.util.ServiceLoader serviceLoader
        end local 2 // java.util.List optionDescriptorsList
        11: .line 110
      StackMap locals: com.oracle.svm.driver.APIOptionHandler com.oracle.svm.driver.NativeImage
      StackMap stack:
            return
        end local 1 // com.oracle.svm.driver.NativeImage nativeImage
        end local 0 // com.oracle.svm.driver.APIOptionHandler this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   12     0                   this  Lcom/oracle/svm/driver/APIOptionHandler;
            0   12     1            nativeImage  Lcom/oracle/svm/driver/NativeImage;
            5   11     2  optionDescriptorsList  Ljava/util/List<Ljava/lang/Class<+Lorg/graalvm/compiler/options/OptionDescriptors;>;>;
            6   11     3          serviceLoader  Ljava/util/ServiceLoader<Lorg/graalvm/compiler/options/OptionDescriptors;>;
            8    9     4      optionDescriptors  Lorg/graalvm/compiler/options/OptionDescriptors;
    MethodParameters:
             Name  Flags
      nativeImage  

  static java.util.SortedMap<java.lang.String, com.oracle.svm.driver.APIOptionHandler$OptionInfo> extractOptions(java.util.List<java.lang.Class<? extends org.graalvm.compiler.options.OptionDescriptors>>);
    descriptor: (Ljava/util/List;)Ljava/util/SortedMap;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // java.util.List optionsClasses
         0: .line 113
            new java.util.TreeMap
            dup
            invokespecial java.util.TreeMap.<init>:()V
            astore 1 /* hostedOptions */
        start local 1 // java.util.SortedMap hostedOptions
         1: .line 114
            new java.util.TreeMap
            dup
            invokespecial java.util.TreeMap.<init>:()V
            astore 2 /* runtimeOptions */
        start local 2 // java.util.SortedMap runtimeOptions
         2: .line 115
            aload 0 /* optionsClasses */
            aload 1 /* hostedOptions */
            aload 2 /* runtimeOptions */
            invokestatic com.oracle.svm.hosted.option.HostedOptionParser.collectOptions:(Ljava/util/List;Ljava/util/SortedMap;Ljava/util/SortedMap;)V
         3: .line 116
            new java.util.TreeMap
            dup
            invokespecial java.util.TreeMap.<init>:()V
            astore 3 /* apiOptions */
        start local 3 // java.util.SortedMap apiOptions
         4: .line 117
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 4 /* groupDefaults */
        start local 4 // java.util.Map groupDefaults
         5: .line 118
            aload 1 /* hostedOptions */
            invokeinterface java.util.SortedMap.values:()Ljava/util/Collection;
            aload 3 /* apiOptions */
            aload 4 /* groupDefaults */
            invokedynamic accept(Ljava/util/SortedMap;Ljava/util/Map;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  com/oracle/svm/driver/APIOptionHandler.lambda$0(Ljava/util/SortedMap;Ljava/util/Map;Lorg/graalvm/compiler/options/OptionDescriptor;)V (6)
                  (Lorg/graalvm/compiler/options/OptionDescriptor;)V
            invokeinterface java.util.Collection.forEach:(Ljava/util/function/Consumer;)V
         6: .line 119
            aload 2 /* runtimeOptions */
            invokeinterface java.util.SortedMap.values:()Ljava/util/Collection;
            aload 3 /* apiOptions */
            aload 4 /* groupDefaults */
            invokedynamic accept(Ljava/util/SortedMap;Ljava/util/Map;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  com/oracle/svm/driver/APIOptionHandler.lambda$1(Ljava/util/SortedMap;Ljava/util/Map;Lorg/graalvm/compiler/options/OptionDescriptor;)V (6)
                  (Lorg/graalvm/compiler/options/OptionDescriptor;)V
            invokeinterface java.util.Collection.forEach:(Ljava/util/function/Consumer;)V
         7: .line 120
            aload 4 /* groupDefaults */
            invokedynamic accept()Ljava/util/function/BiConsumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)V
                  com/oracle/svm/driver/APIOptionHandler.lambda$2(Ljava/lang/String;Ljava/util/List;)V (6)
                  (Ljava/lang/String;Ljava/util/List;)V
            invokeinterface java.util.Map.forEach:(Ljava/util/function/BiConsumer;)V
         8: .line 126
            aload 3 /* apiOptions */
            areturn
        end local 4 // java.util.Map groupDefaults
        end local 3 // java.util.SortedMap apiOptions
        end local 2 // java.util.SortedMap runtimeOptions
        end local 1 // java.util.SortedMap hostedOptions
        end local 0 // java.util.List optionsClasses
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0  optionsClasses  Ljava/util/List<Ljava/lang/Class<+Lorg/graalvm/compiler/options/OptionDescriptors;>;>;
            1    9     1   hostedOptions  Ljava/util/SortedMap<Ljava/lang/String;Lorg/graalvm/compiler/options/OptionDescriptor;>;
            2    9     2  runtimeOptions  Ljava/util/SortedMap<Ljava/lang/String;Lorg/graalvm/compiler/options/OptionDescriptor;>;
            4    9     3      apiOptions  Ljava/util/SortedMap<Ljava/lang/String;Lcom/oracle/svm/driver/APIOptionHandler$OptionInfo;>;
            5    9     4   groupDefaults  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
    Signature: (Ljava/util/List<Ljava/lang/Class<+Lorg/graalvm/compiler/options/OptionDescriptors;>;>;)Ljava/util/SortedMap<Ljava/lang/String;Lcom/oracle/svm/driver/APIOptionHandler$OptionInfo;>;
    MethodParameters:
                Name  Flags
      optionsClasses  

  private static void extractOption(java.lang.String, org.graalvm.compiler.options.OptionDescriptor, java.util.SortedMap<java.lang.String, com.oracle.svm.driver.APIOptionHandler$OptionInfo>, java.util.Map<java.lang.String, java.util.List<java.lang.String>>);
    descriptor: (Ljava/lang/String;Lorg/graalvm/compiler/options/OptionDescriptor;Ljava/util/SortedMap;Ljava/util/Map;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=14, locals=23, args_size=4
        start local 0 // java.lang.String optionPrefix
        start local 1 // org.graalvm.compiler.options.OptionDescriptor optionDescriptor
        start local 2 // java.util.SortedMap apiOptions
        start local 3 // java.util.Map groupDefaults
         0: .line 132
            aload 1 /* optionDescriptor */
            invokevirtual org.graalvm.compiler.options.OptionDescriptor.getDeclaringClass:()Ljava/lang/Class;
            aload 1 /* optionDescriptor */
            invokevirtual org.graalvm.compiler.options.OptionDescriptor.getFieldName:()Ljava/lang/String;
            invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
            astore 4 /* optionField */
        start local 4 // java.lang.reflect.Field optionField
         1: .line 133
            aload 4 /* optionField */
            ldc Lcom/oracle/svm/core/option/APIOption;
            invokevirtual java.lang.reflect.Field.getAnnotationsByType:(Ljava/lang/Class;)[Ljava/lang/annotation/Annotation;
            checkcast com.oracle.svm.core.option.APIOption[]
            astore 5 /* apiAnnotations */
        start local 5 // com.oracle.svm.core.option.APIOption[] apiAnnotations
         2: .line 135
            aload 5 /* apiAnnotations */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 83
      StackMap locals: java.lang.String org.graalvm.compiler.options.OptionDescriptor java.util.SortedMap java.util.Map java.lang.reflect.Field com.oracle.svm.core.option.APIOption[] top int int com.oracle.svm.core.option.APIOption[]
      StackMap stack:
         3: aload 9
            iload 7
            aaload
            astore 6 /* apiAnnotation */
        start local 6 // com.oracle.svm.core.option.APIOption apiAnnotation
         4: .line 136
            aload 0 /* optionPrefix */
            astore 10 /* builderOption */
        start local 10 // java.lang.String builderOption
         5: .line 137
            aload 6 /* apiAnnotation */
            invokeinterface com.oracle.svm.core.option.APIOption.name:()[Ljava/lang/String;
            arraylength
            ifgt 7
         6: .line 138
            ldc "APIOption for %s does not provide a name entry"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* optionDescriptor */
            invokevirtual org.graalvm.compiler.options.OptionDescriptor.getLocation:()Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            pop
         7: .line 140
      StackMap locals: java.lang.String org.graalvm.compiler.options.OptionDescriptor java.util.SortedMap java.util.Map java.lang.reflect.Field com.oracle.svm.core.option.APIOption[] com.oracle.svm.core.option.APIOption int int com.oracle.svm.core.option.APIOption[] java.lang.String
      StackMap stack:
            aload 6 /* apiAnnotation */
            invokeinterface com.oracle.svm.core.option.APIOption.name:()[Ljava/lang/String;
            iconst_0
            aaload
            invokestatic com.oracle.svm.core.option.APIOption$Utils.optionName:(Ljava/lang/String;)Ljava/lang/String;
            astore 11 /* apiOptionName */
        start local 11 // java.lang.String apiOptionName
         8: .line 141
            aload 1 /* optionDescriptor */
            invokevirtual org.graalvm.compiler.options.OptionDescriptor.getName:()Ljava/lang/String;
            astore 12 /* rawOptionName */
        start local 12 // java.lang.String rawOptionName
         9: .line 142
            aconst_null
            astore 13 /* group */
        start local 13 // com.oracle.svm.core.option.APIOptionGroup group
        10: .line 143
            aconst_null
            astore 14 /* defaultValue */
        start local 14 // java.lang.String defaultValue
        11: .line 145
            iconst_0
            istore 15 /* booleanOption */
        start local 15 // boolean booleanOption
        12: .line 146
            aload 1 /* optionDescriptor */
            invokevirtual org.graalvm.compiler.options.OptionDescriptor.getOptionValueType:()Ljava/lang/Class;
            ldc Ljava/lang/Boolean;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 41
        13: .line 147
            aload 6 /* apiAnnotation */
            invokeinterface com.oracle.svm.core.option.APIOption.group:()Ljava/lang/Class;
            ldc Lcom/oracle/svm/core/option/APIOption$NullGroup;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 29
        14: .line 149
            aload 6 /* apiAnnotation */
            invokeinterface com.oracle.svm.core.option.APIOption.group:()Ljava/lang/Class;
            astore 16 /* groupClass */
        start local 16 // java.lang.Class groupClass
        15: .line 150
            aload 16 /* groupClass */
            invokestatic com.oracle.svm.util.ReflectionUtil.newInstance:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast com.oracle.svm.core.option.APIOptionGroup
            astore 13 /* group */
        16: .line 151
            aload 13 /* group */
            invokestatic com.oracle.svm.core.option.APIOption$Utils.groupName:(Lcom/oracle/svm/core/option/APIOptionGroup;)Ljava/lang/String;
            astore 17 /* groupName */
        start local 17 // java.lang.String groupName
        17: .line 152
            aload 13 /* group */
            invokeinterface com.oracle.svm.core.option.APIOptionGroup.helpText:()Ljava/lang/String;
            ifnull 18
            aload 13 /* group */
            invokeinterface com.oracle.svm.core.option.APIOptionGroup.helpText:()Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 19
        18: .line 153
      StackMap locals: java.lang.String org.graalvm.compiler.options.OptionDescriptor java.util.SortedMap java.util.Map java.lang.reflect.Field com.oracle.svm.core.option.APIOption[] com.oracle.svm.core.option.APIOption int int com.oracle.svm.core.option.APIOption[] java.lang.String java.lang.String java.lang.String com.oracle.svm.core.option.APIOptionGroup java.lang.String int java.lang.Class java.lang.String
      StackMap stack:
            ldc "APIOptionGroup %s(%s) needs to provide help text"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 16 /* groupClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 13 /* group */
            invokeinterface com.oracle.svm.core.option.APIOptionGroup.name:()Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            pop
        19: .line 155
      StackMap locals:
      StackMap stack:
            aload 6 /* apiAnnotation */
            invokeinterface com.oracle.svm.core.option.APIOption.name:()[Ljava/lang/String;
            iconst_0
            aaload
            astore 18 /* groupMember */
        start local 18 // java.lang.String groupMember
        20: .line 156
            new java.lang.StringBuilder
            dup
            aload 17 /* groupName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 18 /* groupMember */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 11 /* apiOptionName */
        21: .line 157
            aload 1 /* optionDescriptor */
            invokevirtual org.graalvm.compiler.options.OptionDescriptor.getOptionKey:()Lorg/graalvm/compiler/options/OptionKey;
            invokevirtual org.graalvm.compiler.options.OptionKey.getDefaultValue:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            astore 19 /* isEnabled */
        start local 19 // java.lang.Boolean isEnabled
        22: .line 158
            aload 19 /* isEnabled */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 29
        23: .line 159
            aload 3 /* groupDefaults */
            aload 17 /* groupName */
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/svm/driver/APIOptionHandler.lambda$3(Ljava/lang/String;)Ljava/util/List; (6)
                  (Ljava/lang/String;)Ljava/util/List;
            invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast java.util.List
            aload 18 /* groupMember */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        24: .line 161
            aload 18 /* groupMember */
            astore 14 /* defaultValue */
        end local 19 // java.lang.Boolean isEnabled
        end local 18 // java.lang.String groupMember
        end local 17 // java.lang.String groupName
        end local 16 // java.lang.Class groupClass
        25: .line 163
            goto 29
      StackMap locals: java.lang.String org.graalvm.compiler.options.OptionDescriptor java.util.SortedMap java.util.Map java.lang.reflect.Field com.oracle.svm.core.option.APIOption[] com.oracle.svm.core.option.APIOption int int com.oracle.svm.core.option.APIOption[] java.lang.String java.lang.String java.lang.String com.oracle.svm.core.option.APIOptionGroup java.lang.String int
      StackMap stack: com.oracle.svm.util.ReflectionUtil$ReflectionUtilError
        26: astore 16 /* ex */
        start local 16 // com.oracle.svm.util.ReflectionUtil$ReflectionUtilError ex
        27: .line 165
            new java.lang.StringBuilder
            dup
            ldc "Class specified as group for @APIOption "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 11 /* apiOptionName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " cannot be loaded or instantiated: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* apiAnnotation */
            invokeinterface com.oracle.svm.core.option.APIOption.group:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getTypeName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 16 /* ex */
            invokevirtual com.oracle.svm.util.ReflectionUtil$ReflectionUtilError.getCause:()Ljava/lang/Throwable;
        28: .line 164
            invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 16 // com.oracle.svm.util.ReflectionUtil$ReflectionUtilError ex
        29: .line 168
      StackMap locals:
      StackMap stack:
            aload 6 /* apiAnnotation */
            invokeinterface com.oracle.svm.core.option.APIOption.kind:()Lcom/oracle/svm/core/option/APIOption$APIOptionKind;
            getstatic com.oracle.svm.core.option.APIOption$APIOptionKind.Paths:Lcom/oracle/svm/core/option/APIOption$APIOptionKind;
            invokevirtual com.oracle.svm.core.option.APIOption$APIOptionKind.equals:(Ljava/lang/Object;)Z
            ifeq 31
        30: .line 169
            ldc "Boolean APIOption %s(%s) cannot use APIOptionKind.Paths"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 11 /* apiOptionName */
            aastore
            dup
            iconst_1
            aload 12 /* rawOptionName */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            pop
        31: .line 171
      StackMap locals:
      StackMap stack:
            aload 6 /* apiAnnotation */
            invokeinterface com.oracle.svm.core.option.APIOption.defaultValue:()[Ljava/lang/String;
            arraylength
            ifle 33
        32: .line 172
            ldc "Boolean APIOption %s(%s) cannot use APIOption.defaultValue"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 11 /* apiOptionName */
            aastore
            dup
            iconst_1
            aload 12 /* rawOptionName */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            pop
        33: .line 174
      StackMap locals:
      StackMap stack:
            aload 6 /* apiAnnotation */
            invokeinterface com.oracle.svm.core.option.APIOption.fixedValue:()[Ljava/lang/String;
            arraylength
            ifle 35
        34: .line 175
            ldc "Boolean APIOption %s(%s) cannot use APIOption.fixedValue"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 11 /* apiOptionName */
            aastore
            dup
            iconst_1
            aload 12 /* rawOptionName */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            pop
        35: .line 177
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 10 /* builderOption */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* apiAnnotation */
            invokeinterface com.oracle.svm.core.option.APIOption.kind:()Lcom/oracle/svm/core/option/APIOption$APIOptionKind;
            getstatic com.oracle.svm.core.option.APIOption$APIOptionKind.Negated:Lcom/oracle/svm/core/option/APIOption$APIOptionKind;
            invokevirtual com.oracle.svm.core.option.APIOption$APIOptionKind.equals:(Ljava/lang/Object;)Z
            ifeq 36
            ldc "-"
            goto 37
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
        36: ldc "+"
      StackMap locals: java.lang.String org.graalvm.compiler.options.OptionDescriptor java.util.SortedMap java.util.Map java.lang.reflect.Field com.oracle.svm.core.option.APIOption[] com.oracle.svm.core.option.APIOption int int com.oracle.svm.core.option.APIOption[] java.lang.String java.lang.String java.lang.String com.oracle.svm.core.option.APIOptionGroup java.lang.String int
      StackMap stack: java.lang.StringBuilder java.lang.String
        37: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 10 /* builderOption */
        38: .line 178
            new java.lang.StringBuilder
            dup
            aload 10 /* builderOption */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 12 /* rawOptionName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 10 /* builderOption */
        39: .line 179
            iconst_1
            istore 15 /* booleanOption */
        40: .line 180
            goto 57
        41: .line 181
      StackMap locals:
      StackMap stack:
            aload 6 /* apiAnnotation */
            invokeinterface com.oracle.svm.core.option.APIOption.group:()Ljava/lang/Class;
            ldc Lcom/oracle/svm/core/option/APIOption$NullGroup;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 43
        42: .line 182
            ldc "Using @APIOption.group not supported for non-boolean APIOption %s(%s)"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 11 /* apiOptionName */
            aastore
            dup
            iconst_1
            aload 12 /* rawOptionName */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            pop
        43: .line 184
      StackMap locals:
      StackMap stack:
            aload 6 /* apiAnnotation */
            invokeinterface com.oracle.svm.core.option.APIOption.kind:()Lcom/oracle/svm/core/option/APIOption$APIOptionKind;
            getstatic com.oracle.svm.core.option.APIOption$APIOptionKind.Negated:Lcom/oracle/svm/core/option/APIOption$APIOptionKind;
            invokevirtual com.oracle.svm.core.option.APIOption$APIOptionKind.equals:(Ljava/lang/Object;)Z
            ifeq 45
        44: .line 185
            ldc "Non-boolean APIOption %s(%s) cannot use APIOptionKind.Negated"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 11 /* apiOptionName */
            aastore
            dup
            iconst_1
            aload 12 /* rawOptionName */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            pop
        45: .line 187
      StackMap locals:
      StackMap stack:
            aload 6 /* apiAnnotation */
            invokeinterface com.oracle.svm.core.option.APIOption.defaultValue:()[Ljava/lang/String;
            arraylength
            iconst_1
            if_icmple 47
        46: .line 188
            ldc "APIOption %s(%s) cannot have more than one APIOption.defaultValue"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 11 /* apiOptionName */
            aastore
            dup
            iconst_1
            aload 12 /* rawOptionName */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            pop
        47: .line 190
      StackMap locals:
      StackMap stack:
            aload 6 /* apiAnnotation */
            invokeinterface com.oracle.svm.core.option.APIOption.fixedValue:()[Ljava/lang/String;
            arraylength
            iconst_1
            if_icmple 49
        48: .line 191
            ldc "APIOption %s(%s) cannot have more than one APIOption.fixedValue"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 11 /* apiOptionName */
            aastore
            dup
            iconst_1
            aload 12 /* rawOptionName */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            pop
        49: .line 193
      StackMap locals:
      StackMap stack:
            aload 6 /* apiAnnotation */
            invokeinterface com.oracle.svm.core.option.APIOption.fixedValue:()[Ljava/lang/String;
            arraylength
            ifle 51
            aload 6 /* apiAnnotation */
            invokeinterface com.oracle.svm.core.option.APIOption.defaultValue:()[Ljava/lang/String;
            arraylength
            ifle 51
        50: .line 194
            ldc "APIOption %s(%s) APIOption.defaultValue and APIOption.fixedValue cannot be combined"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 11 /* apiOptionName */
            aastore
            dup
            iconst_1
            aload 12 /* rawOptionName */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            pop
        51: .line 196
      StackMap locals:
      StackMap stack:
            aload 6 /* apiAnnotation */
            invokeinterface com.oracle.svm.core.option.APIOption.defaultValue:()[Ljava/lang/String;
            arraylength
            ifle 53
        52: .line 197
            aload 6 /* apiAnnotation */
            invokeinterface com.oracle.svm.core.option.APIOption.defaultValue:()[Ljava/lang/String;
            iconst_0
            aaload
            astore 14 /* defaultValue */
        53: .line 199
      StackMap locals:
      StackMap stack:
            aload 6 /* apiAnnotation */
            invokeinterface com.oracle.svm.core.option.APIOption.fixedValue:()[Ljava/lang/String;
            arraylength
            ifle 55
        54: .line 200
            aload 6 /* apiAnnotation */
            invokeinterface com.oracle.svm.core.option.APIOption.fixedValue:()[Ljava/lang/String;
            iconst_0
            aaload
            astore 14 /* defaultValue */
        55: .line 203
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 10 /* builderOption */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 12 /* rawOptionName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 10 /* builderOption */
        56: .line 204
            new java.lang.StringBuilder
            dup
            aload 10 /* builderOption */
            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;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 10 /* builderOption */
        57: .line 207
      StackMap locals:
      StackMap stack:
            aload 1 /* optionDescriptor */
            invokevirtual org.graalvm.compiler.options.OptionDescriptor.getHelp:()Ljava/lang/String;
            astore 16 /* helpText */
        start local 16 // java.lang.String helpText
        58: .line 208
            aload 6 /* apiAnnotation */
            invokeinterface com.oracle.svm.core.option.APIOption.customHelp:()Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 60
        59: .line 209
            aload 6 /* apiAnnotation */
            invokeinterface com.oracle.svm.core.option.APIOption.customHelp:()Ljava/lang/String;
            astore 16 /* helpText */
        60: .line 211
      StackMap locals: java.lang.String
      StackMap stack:
            aload 16 /* helpText */
            ifnull 61
            aload 16 /* helpText */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 62
        61: .line 212
      StackMap locals:
      StackMap stack:
            ldc "APIOption %s(%s) needs to provide help text"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 11 /* apiOptionName */
            aastore
            dup
            iconst_1
            aload 12 /* rawOptionName */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            pop
        62: .line 214
      StackMap locals:
      StackMap stack:
            aload 13 /* group */
            ifnonnull 64
        63: .line 216
            aload 16 /* helpText */
            invokestatic com.oracle.svm.driver.APIOptionHandler.startLowerCase:(Ljava/lang/String;)Ljava/lang/String;
            astore 16 /* helpText */
        64: .line 219
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            aload 6 /* apiAnnotation */
            invokeinterface com.oracle.svm.core.option.APIOption.valueTransformer:()[Ljava/lang/Class;
            arraylength
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 17 /* valueTransformers */
        start local 17 // java.util.List valueTransformers
        65: .line 220
            aload 6 /* apiAnnotation */
            invokeinterface com.oracle.svm.core.option.APIOption.valueTransformer:()[Ljava/lang/Class;
            dup
            astore 21
            arraylength
            istore 20
            iconst_0
            istore 19
            goto 73
      StackMap locals: java.lang.String org.graalvm.compiler.options.OptionDescriptor java.util.SortedMap java.util.Map java.lang.reflect.Field com.oracle.svm.core.option.APIOption[] com.oracle.svm.core.option.APIOption int int com.oracle.svm.core.option.APIOption[] java.lang.String java.lang.String java.lang.String com.oracle.svm.core.option.APIOptionGroup java.lang.String int java.lang.String java.util.List top int int java.lang.Class[]
      StackMap stack:
        66: aload 21
            iload 19
            aaload
            astore 18 /* transformerClass */
        start local 18 // java.lang.Class transformerClass
        67: .line 222
            aload 17 /* valueTransformers */
            aload 18 /* transformerClass */
            invokestatic com.oracle.svm.util.ReflectionUtil.newInstance:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast java.util.function.Function
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        68: .line 223
            goto 72
      StackMap locals: java.lang.String org.graalvm.compiler.options.OptionDescriptor java.util.SortedMap java.util.Map java.lang.reflect.Field com.oracle.svm.core.option.APIOption[] com.oracle.svm.core.option.APIOption int int com.oracle.svm.core.option.APIOption[] java.lang.String java.lang.String java.lang.String com.oracle.svm.core.option.APIOptionGroup java.lang.String int java.lang.String java.util.List java.lang.Class int int java.lang.Class[]
      StackMap stack: com.oracle.svm.util.ReflectionUtil$ReflectionUtilError
        69: astore 22 /* ex */
        start local 22 // com.oracle.svm.util.ReflectionUtil$ReflectionUtilError ex
        70: .line 225
            new java.lang.StringBuilder
            dup
            ldc "Class specified as valueTransformer for @APIOption "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 11 /* apiOptionName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " cannot be loaded or instantiated: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 18 /* transformerClass */
            invokevirtual java.lang.Class.getTypeName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 22 /* ex */
            invokevirtual com.oracle.svm.util.ReflectionUtil$ReflectionUtilError.getCause:()Ljava/lang/Throwable;
        71: .line 224
            invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 22 // com.oracle.svm.util.ReflectionUtil$ReflectionUtilError ex
        end local 18 // java.lang.Class transformerClass
        72: .line 220
      StackMap locals: java.lang.String org.graalvm.compiler.options.OptionDescriptor java.util.SortedMap java.util.Map java.lang.reflect.Field com.oracle.svm.core.option.APIOption[] com.oracle.svm.core.option.APIOption int int com.oracle.svm.core.option.APIOption[] java.lang.String java.lang.String java.lang.String com.oracle.svm.core.option.APIOptionGroup java.lang.String int java.lang.String java.util.List top int int java.lang.Class[]
      StackMap stack:
            iinc 19 1
      StackMap locals:
      StackMap stack:
        73: iload 19
            iload 20
            if_icmplt 66
        74: .line 228
            aload 2 /* apiOptions */
            aload 11 /* apiOptionName */
        75: .line 229
            new com.oracle.svm.driver.APIOptionHandler$OptionInfo
            dup
            aload 6 /* apiAnnotation */
            invokeinterface com.oracle.svm.core.option.APIOption.name:()[Ljava/lang/String;
            aload 6 /* apiAnnotation */
            invokeinterface com.oracle.svm.core.option.APIOption.valueSeparator:()C
            aload 10 /* builderOption */
            aload 14 /* defaultValue */
            aload 16 /* helpText */
        76: .line 230
            aload 6 /* apiAnnotation */
            invokeinterface com.oracle.svm.core.option.APIOption.kind:()Lcom/oracle/svm/core/option/APIOption$APIOptionKind;
            getstatic com.oracle.svm.core.option.APIOption$APIOptionKind.Paths:Lcom/oracle/svm/core/option/APIOption$APIOptionKind;
            invokevirtual com.oracle.svm.core.option.APIOption$APIOptionKind.equals:(Ljava/lang/Object;)Z
        77: .line 231
            iload 15 /* booleanOption */
            ifne 78
            aload 6 /* apiAnnotation */
            invokeinterface com.oracle.svm.core.option.APIOption.fixedValue:()[Ljava/lang/String;
            arraylength
            ifgt 78
            iconst_0
            goto 79
      StackMap locals: java.lang.String org.graalvm.compiler.options.OptionDescriptor java.util.SortedMap java.util.Map java.lang.reflect.Field com.oracle.svm.core.option.APIOption[] com.oracle.svm.core.option.APIOption int int com.oracle.svm.core.option.APIOption[] java.lang.String java.lang.String java.lang.String com.oracle.svm.core.option.APIOptionGroup java.lang.String int java.lang.String java.util.List
      StackMap stack: java.util.SortedMap java.lang.String new 75 new 75 java.lang.String[] int java.lang.String java.lang.String java.lang.String int
        78: iconst_1
      StackMap locals: java.lang.String org.graalvm.compiler.options.OptionDescriptor java.util.SortedMap java.util.Map java.lang.reflect.Field com.oracle.svm.core.option.APIOption[] com.oracle.svm.core.option.APIOption int int com.oracle.svm.core.option.APIOption[] java.lang.String java.lang.String java.lang.String com.oracle.svm.core.option.APIOptionGroup java.lang.String int java.lang.String java.util.List
      StackMap stack: java.util.SortedMap java.lang.String new 75 new 75 java.lang.String[] int java.lang.String java.lang.String java.lang.String int int
        79: aload 6 /* apiAnnotation */
            invokeinterface com.oracle.svm.core.option.APIOption.deprecated:()Ljava/lang/String;
            aload 17 /* valueTransformers */
            aload 13 /* group */
        80: .line 229
            invokespecial com.oracle.svm.driver.APIOptionHandler$OptionInfo.<init>:([Ljava/lang/String;CLjava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZLjava/lang/String;Ljava/util/List;Lcom/oracle/svm/core/option/APIOptionGroup;)V
        81: .line 228
            invokeinterface java.util.SortedMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 17 // java.util.List valueTransformers
        end local 16 // java.lang.String helpText
        end local 15 // boolean booleanOption
        end local 14 // java.lang.String defaultValue
        end local 13 // com.oracle.svm.core.option.APIOptionGroup group
        end local 12 // java.lang.String rawOptionName
        end local 11 // java.lang.String apiOptionName
        end local 10 // java.lang.String builderOption
        end local 6 // com.oracle.svm.core.option.APIOption apiAnnotation
        82: .line 135
            iinc 7 1
      StackMap locals: java.lang.String org.graalvm.compiler.options.OptionDescriptor java.util.SortedMap java.util.Map java.lang.reflect.Field com.oracle.svm.core.option.APIOption[] top int int com.oracle.svm.core.option.APIOption[]
      StackMap stack:
        83: iload 7
            iload 8
            if_icmplt 3
        end local 5 // com.oracle.svm.core.option.APIOption[] apiAnnotations
        end local 4 // java.lang.reflect.Field optionField
        84: .line 233
            goto 86
      StackMap locals: java.lang.String org.graalvm.compiler.options.OptionDescriptor java.util.SortedMap java.util.Map
      StackMap stack: java.lang.NoSuchFieldException
        85: pop
        86: .line 236
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.util.Map groupDefaults
        end local 2 // java.util.SortedMap apiOptions
        end local 1 // org.graalvm.compiler.options.OptionDescriptor optionDescriptor
        end local 0 // java.lang.String optionPrefix
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   87     0       optionPrefix  Ljava/lang/String;
            0   87     1   optionDescriptor  Lorg/graalvm/compiler/options/OptionDescriptor;
            0   87     2         apiOptions  Ljava/util/SortedMap<Ljava/lang/String;Lcom/oracle/svm/driver/APIOptionHandler$OptionInfo;>;
            0   87     3      groupDefaults  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
            1   84     4        optionField  Ljava/lang/reflect/Field;
            2   84     5     apiAnnotations  [Lcom/oracle/svm/core/option/APIOption;
            4   82     6      apiAnnotation  Lcom/oracle/svm/core/option/APIOption;
            5   82    10      builderOption  Ljava/lang/String;
            8   82    11      apiOptionName  Ljava/lang/String;
            9   82    12      rawOptionName  Ljava/lang/String;
           10   82    13              group  Lcom/oracle/svm/core/option/APIOptionGroup;
           11   82    14       defaultValue  Ljava/lang/String;
           12   82    15      booleanOption  Z
           15   25    16         groupClass  Ljava/lang/Class<+Lcom/oracle/svm/core/option/APIOptionGroup;>;
           17   25    17          groupName  Ljava/lang/String;
           20   25    18        groupMember  Ljava/lang/String;
           22   25    19          isEnabled  Ljava/lang/Boolean;
           27   29    16                 ex  Lcom/oracle/svm/util/ReflectionUtil$ReflectionUtilError;
           58   82    16           helpText  Ljava/lang/String;
           65   82    17  valueTransformers  Ljava/util/List<Ljava/util/function/Function<Ljava/lang/Object;Ljava/lang/Object;>;>;
           67   72    18   transformerClass  Ljava/lang/Class<+Ljava/util/function/Function<Ljava/lang/Object;Ljava/lang/Object;>;>;
           70   72    22                 ex  Lcom/oracle/svm/util/ReflectionUtil$ReflectionUtilError;
      Exception table:
        from    to  target  type
          14    25      26  Class com.oracle.svm.util.ReflectionUtil$ReflectionUtilError
          67    68      69  Class com.oracle.svm.util.ReflectionUtil$ReflectionUtilError
           0    84      85  Class java.lang.NoSuchFieldException
    Signature: (Ljava/lang/String;Lorg/graalvm/compiler/options/OptionDescriptor;Ljava/util/SortedMap<Ljava/lang/String;Lcom/oracle/svm/driver/APIOptionHandler$OptionInfo;>;Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;)V
    MethodParameters:
                  Name  Flags
      optionPrefix      
      optionDescriptor  
      apiOptions        
      groupDefaults     

  private static java.lang.String startLowerCase(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.lang.String str
         0: .line 239
            new java.lang.StringBuilder
            dup
            aload 0 /* str */
            iconst_0
            iconst_1
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* str */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   str  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      str   

  boolean consume(java.util.Queue<java.lang.String>);
    descriptor: (Ljava/util/Queue;)Z
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // com.oracle.svm.driver.APIOptionHandler this
        start local 1 // java.util.Queue args
         0: .line 244
            aload 1 /* args */
            invokeinterface java.util.Queue.peek:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* headArg */
        start local 2 // java.lang.String headArg
         1: .line 245
            aload 0 /* this */
            aload 2 /* headArg */
            invokevirtual com.oracle.svm.driver.APIOptionHandler.translateOption:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* translatedOption */
        start local 3 // java.lang.String translatedOption
         2: .line 246
            aload 3 /* translatedOption */
            ifnull 6
         3: .line 247
            aload 1 /* args */
            invokeinterface java.util.Queue.poll:()Ljava/lang/Object;
            pop
         4: .line 248
            aload 0 /* this */
            getfield com.oracle.svm.driver.APIOptionHandler.nativeImage:Lcom/oracle/svm/driver/NativeImage;
            aload 3 /* translatedOption */
            invokevirtual com.oracle.svm.driver.NativeImage.addPlainImageBuilderArg:(Ljava/lang/String;)V
         5: .line 249
            iconst_1
            ireturn
         6: .line 251
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // java.lang.String translatedOption
        end local 2 // java.lang.String headArg
        end local 1 // java.util.Queue args
        end local 0 // com.oracle.svm.driver.APIOptionHandler this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    7     0              this  Lcom/oracle/svm/driver/APIOptionHandler;
            0    7     1              args  Ljava/util/Queue<Ljava/lang/String;>;
            1    7     2           headArg  Ljava/lang/String;
            2    7     3  translatedOption  Ljava/lang/String;
    Signature: (Ljava/util/Queue<Ljava/lang/String;>;)Z
    MethodParameters:
      Name  Flags
      args  

  java.lang.String translateOption(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=4, locals=11, args_size=2
        start local 0 // com.oracle.svm.driver.APIOptionHandler this
        start local 1 // java.lang.String arg
         0: .line 255
            aconst_null
            astore 2 /* option */
        start local 2 // com.oracle.svm.driver.APIOptionHandler$OptionInfo option
         1: .line 256
            aconst_null
            astore 3 /* optionNameAndOptionValue */
        start local 3 // java.lang.String[] optionNameAndOptionValue
         2: .line 257
            aload 0 /* this */
            getfield com.oracle.svm.driver.APIOptionHandler.apiOptions:Ljava/util/SortedMap;
            invokeinterface java.util.SortedMap.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 20
      StackMap locals: com.oracle.svm.driver.APIOptionHandler java.lang.String com.oracle.svm.driver.APIOptionHandler$OptionInfo java.lang.String[] top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.svm.driver.APIOptionHandler$OptionInfo
            astore 4 /* optionInfo */
        start local 4 // com.oracle.svm.driver.APIOptionHandler$OptionInfo optionInfo
         4: .line 258
            aload 4 /* optionInfo */
            getfield com.oracle.svm.driver.APIOptionHandler$OptionInfo.variants:[Ljava/lang/String;
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 19
      StackMap locals: com.oracle.svm.driver.APIOptionHandler java.lang.String com.oracle.svm.driver.APIOptionHandler$OptionInfo java.lang.String[] com.oracle.svm.driver.APIOptionHandler$OptionInfo java.util.Iterator top int int java.lang.String[]
      StackMap stack:
         5: aload 9
            iload 7
            aaload
            astore 6 /* variant */
        start local 6 // java.lang.String variant
         6: .line 260
            aload 4 /* optionInfo */
            getfield com.oracle.svm.driver.APIOptionHandler$OptionInfo.group:Lcom/oracle/svm/core/option/APIOptionGroup;
            ifnonnull 9
         7: .line 261
            aload 6 /* variant */
            invokestatic com.oracle.svm.core.option.APIOption$Utils.optionName:(Ljava/lang/String;)Ljava/lang/String;
            astore 10 /* optionName */
        start local 10 // java.lang.String optionName
         8: .line 262
            goto 10
        end local 10 // java.lang.String optionName
         9: .line 263
      StackMap locals: com.oracle.svm.driver.APIOptionHandler java.lang.String com.oracle.svm.driver.APIOptionHandler$OptionInfo java.lang.String[] com.oracle.svm.driver.APIOptionHandler$OptionInfo java.util.Iterator java.lang.String int int java.lang.String[]
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 4 /* optionInfo */
            getfield com.oracle.svm.driver.APIOptionHandler$OptionInfo.group:Lcom/oracle/svm/core/option/APIOptionGroup;
            invokestatic com.oracle.svm.core.option.APIOption$Utils.groupName:(Lcom/oracle/svm/core/option/APIOptionGroup;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* variant */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 10 /* optionName */
        start local 10 // java.lang.String optionName
        10: .line 265
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* arg */
            aload 10 /* optionName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 14
        11: .line 266
            aload 4 /* optionInfo */
            astore 2 /* option */
        12: .line 267
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 10 /* optionName */
            aastore
            astore 3 /* optionNameAndOptionValue */
        13: .line 268
            goto 21
        14: .line 270
      StackMap locals:
      StackMap stack:
            aload 1 /* arg */
            new java.lang.StringBuilder
            dup
            aload 10 /* optionName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* optionInfo */
            getfield com.oracle.svm.driver.APIOptionHandler$OptionInfo.valueSeparator:C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 18
        15: .line 271
            aload 4 /* optionInfo */
            astore 2 /* option */
        16: .line 272
            aload 1 /* arg */
            aload 4 /* optionInfo */
            getfield com.oracle.svm.driver.APIOptionHandler$OptionInfo.valueSeparator:C
            invokestatic java.lang.Character.toString:(C)Ljava/lang/String;
            iconst_2
            invokestatic com.oracle.svm.core.SubstrateUtil.split:(Ljava/lang/String;Ljava/lang/String;I)[Ljava/lang/String;
            astore 3 /* optionNameAndOptionValue */
        17: .line 273
            goto 21
        end local 10 // java.lang.String optionName
        end local 6 // java.lang.String variant
        18: .line 258
      StackMap locals: com.oracle.svm.driver.APIOptionHandler java.lang.String com.oracle.svm.driver.APIOptionHandler$OptionInfo java.lang.String[] com.oracle.svm.driver.APIOptionHandler$OptionInfo java.util.Iterator top int int java.lang.String[]
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
        19: iload 7
            iload 8
            if_icmplt 5
        end local 4 // com.oracle.svm.driver.APIOptionHandler$OptionInfo optionInfo
        20: .line 257
      StackMap locals: com.oracle.svm.driver.APIOptionHandler java.lang.String com.oracle.svm.driver.APIOptionHandler$OptionInfo java.lang.String[] top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        21: .line 278
      StackMap locals: com.oracle.svm.driver.APIOptionHandler java.lang.String com.oracle.svm.driver.APIOptionHandler$OptionInfo java.lang.String[]
      StackMap stack:
            aload 2 /* option */
            ifnull 46
        22: .line 279
            aload 2 /* option */
            getfield com.oracle.svm.driver.APIOptionHandler$OptionInfo.deprecationWarning:Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 24
        23: .line 280
            new java.lang.StringBuilder
            dup
            ldc "Using a deprecated option "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* optionNameAndOptionValue */
            iconst_0
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ". "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* option */
            getfield com.oracle.svm.driver.APIOptionHandler$OptionInfo.deprecationWarning:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.oracle.svm.driver.NativeImage.showWarning:(Ljava/lang/String;)V
        24: .line 282
      StackMap locals:
      StackMap stack:
            aload 2 /* option */
            getfield com.oracle.svm.driver.APIOptionHandler$OptionInfo.builderOption:Ljava/lang/String;
            astore 4 /* builderOption */
        start local 4 // java.lang.String builderOption
        25: .line 284
            aload 2 /* option */
            getfield com.oracle.svm.driver.APIOptionHandler$OptionInfo.group:Lcom/oracle/svm/core/option/APIOptionGroup;
            ifnull 26
            aconst_null
            goto 27
      StackMap locals: java.lang.String
      StackMap stack:
        26: aload 2 /* option */
            getfield com.oracle.svm.driver.APIOptionHandler$OptionInfo.defaultValue:Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
        27: astore 5 /* optionValue */
        start local 5 // java.lang.String optionValue
        28: .line 285
            aload 3 /* optionNameAndOptionValue */
            arraylength
            iconst_2
            if_icmpne 32
        29: .line 286
            aload 2 /* option */
            getfield com.oracle.svm.driver.APIOptionHandler$OptionInfo.defaultFinal:Z
            ifeq 31
        30: .line 287
            new java.lang.StringBuilder
            dup
            ldc "Passing values to option "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* optionNameAndOptionValue */
            iconst_0
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " is not supported."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.oracle.svm.driver.NativeImage.showError:(Ljava/lang/String;)Ljava/lang/Error;
            pop
        31: .line 289
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* optionNameAndOptionValue */
            iconst_1
            aaload
            astore 5 /* optionValue */
        32: .line 291
      StackMap locals:
      StackMap stack:
            aload 5 /* optionValue */
            ifnull 45
        33: .line 292
            aload 2 /* option */
            getfield com.oracle.svm.driver.APIOptionHandler$OptionInfo.hasPathArguments:Z
            ifeq 39
        34: .line 293
            aload 5 /* optionValue */
            ldc ","
            invokestatic com.oracle.svm.core.SubstrateUtil.split:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
            invokestatic java.util.Arrays.stream:([Ljava/lang/Object;)Ljava/util/stream/Stream;
        35: .line 294
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  com/oracle/svm/driver/APIOptionHandler.lambda$4(Ljava/lang/String;)Z (6)
                  (Ljava/lang/String;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
        36: .line 295
            aload 0 /* this */
            invokedynamic apply(Lcom/oracle/svm/driver/APIOptionHandler;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/svm/driver/APIOptionHandler.tryCanonicalize(Ljava/lang/String;)Ljava/lang/String; (7)
                  (Ljava/lang/String;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
        37: .line 296
            ldc ","
            invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.lang.String
        38: .line 293
            astore 5 /* optionValue */
        39: .line 298
      StackMap locals:
      StackMap stack:
            aload 5 /* optionValue */
            astore 7 /* transformed */
        start local 7 // java.lang.Object transformed
        40: .line 299
            aload 2 /* option */
            getfield com.oracle.svm.driver.APIOptionHandler$OptionInfo.valueTransformers:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 9
            goto 43
      StackMap locals: com.oracle.svm.driver.APIOptionHandler java.lang.String com.oracle.svm.driver.APIOptionHandler$OptionInfo java.lang.String[] java.lang.String java.lang.String top java.lang.Object top java.util.Iterator
      StackMap stack:
        41: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.function.Function
            astore 8 /* transformer */
        start local 8 // java.util.function.Function transformer
        42: .line 300
            aload 8 /* transformer */
            aload 7 /* transformed */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 7 /* transformed */
        end local 8 // java.util.function.Function transformer
        43: .line 299
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 41
        44: .line 303
            new java.lang.StringBuilder
            dup
            aload 4 /* builderOption */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* transformed */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* builderOption */
        end local 7 // java.lang.Object transformed
        45: .line 306
      StackMap locals: com.oracle.svm.driver.APIOptionHandler java.lang.String com.oracle.svm.driver.APIOptionHandler$OptionInfo java.lang.String[] java.lang.String java.lang.String
      StackMap stack:
            aload 4 /* builderOption */
            areturn
        end local 5 // java.lang.String optionValue
        end local 4 // java.lang.String builderOption
        46: .line 308
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 3 // java.lang.String[] optionNameAndOptionValue
        end local 2 // com.oracle.svm.driver.APIOptionHandler$OptionInfo option
        end local 1 // java.lang.String arg
        end local 0 // com.oracle.svm.driver.APIOptionHandler this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   47     0                      this  Lcom/oracle/svm/driver/APIOptionHandler;
            0   47     1                       arg  Ljava/lang/String;
            1   47     2                    option  Lcom/oracle/svm/driver/APIOptionHandler$OptionInfo;
            2   47     3  optionNameAndOptionValue  [Ljava/lang/String;
            4   20     4                optionInfo  Lcom/oracle/svm/driver/APIOptionHandler$OptionInfo;
            6   18     6                   variant  Ljava/lang/String;
            8    9    10                optionName  Ljava/lang/String;
           10   18    10                optionName  Ljava/lang/String;
           25   46     4             builderOption  Ljava/lang/String;
           28   46     5               optionValue  Ljava/lang/String;
           40   45     7               transformed  Ljava/lang/Object;
           42   43     8               transformer  Ljava/util/function/Function<Ljava/lang/Object;Ljava/lang/Object;>;
    MethodParameters:
      Name  Flags
      arg   

  private java.lang.String tryCanonicalize(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.svm.driver.APIOptionHandler this
        start local 1 // java.lang.String path
         0: .line 313
            aload 0 /* this */
            getfield com.oracle.svm.driver.APIOptionHandler.nativeImage:Lcom/oracle/svm/driver/NativeImage;
            aload 1 /* path */
            iconst_0
            anewarray java.lang.String
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            invokevirtual com.oracle.svm.driver.NativeImage.canonicalize:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
         1: areturn
         2: .line 314
      StackMap locals:
      StackMap stack: com.oracle.svm.driver.NativeImage$NativeImageError
            pop
         3: .line 316
            aload 1 /* path */
            areturn
        end local 1 // java.lang.String path
        end local 0 // com.oracle.svm.driver.APIOptionHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/svm/driver/APIOptionHandler;
            0    4     1  path  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     1       2  Class com.oracle.svm.driver.NativeImage$NativeImageError
    MethodParameters:
      Name  Flags
      path  

  void printOptions(java.util.function.Consumer<java.lang.String>);
    descriptor: (Ljava/util/function/Consumer;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.svm.driver.APIOptionHandler this
        start local 1 // java.util.function.Consumer println
         0: .line 321
            new java.util.TreeMap
            dup
            invokespecial java.util.TreeMap.<init>:()V
            astore 2 /* optionInfo */
        start local 2 // java.util.SortedMap optionInfo
         1: .line 322
            aload 0 /* this */
            getfield com.oracle.svm.driver.APIOptionHandler.apiOptions:Ljava/util/SortedMap;
            aload 2 /* optionInfo */
            invokedynamic accept(Ljava/util/SortedMap;)Ljava/util/function/BiConsumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)V
                  com/oracle/svm/driver/APIOptionHandler.lambda$6(Ljava/util/SortedMap;Ljava/lang/String;Lcom/oracle/svm/driver/APIOptionHandler$OptionInfo;)V (6)
                  (Ljava/lang/String;Lcom/oracle/svm/driver/APIOptionHandler$OptionInfo;)V
            invokeinterface java.util.SortedMap.forEach:(Ljava/util/function/BiConsumer;)V
         2: .line 340
            aload 2 /* optionInfo */
            aload 1 /* println */
            invokedynamic accept(Ljava/util/function/Consumer;)Ljava/util/function/BiConsumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)V
                  com/oracle/svm/driver/APIOptionHandler.lambda$7(Ljava/util/function/Consumer;Ljava/lang/String;Ljava/util/List;)V (6)
                  (Ljava/lang/String;Ljava/util/List;)V
            invokeinterface java.util.SortedMap.forEach:(Ljava/util/function/BiConsumer;)V
         3: .line 357
            return
        end local 2 // java.util.SortedMap optionInfo
        end local 1 // java.util.function.Consumer println
        end local 0 // com.oracle.svm.driver.APIOptionHandler this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lcom/oracle/svm/driver/APIOptionHandler;
            0    4     1     println  Ljava/util/function/Consumer<Ljava/lang/String;>;
            1    4     2  optionInfo  Ljava/util/SortedMap<Ljava/lang/String;Ljava/util/List<Lcom/oracle/svm/driver/APIOptionHandler$OptionInfo;>;>;
    Signature: (Ljava/util/function/Consumer<Ljava/lang/String;>;)V
    MethodParameters:
         Name  Flags
      println  

  private static void printGroupOption(java.util.function.Consumer<java.lang.String>, java.lang.String, java.util.List<com.oracle.svm.driver.APIOptionHandler$OptionInfo>);
    descriptor: (Ljava/util/function/Consumer;Ljava/lang/String;Ljava/util/List;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=13, args_size=3
        start local 0 // java.util.function.Consumer println
        start local 1 // java.lang.String groupName
        start local 2 // java.util.List options
         0: .line 360
            aload 2 /* options */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.oracle.svm.driver.APIOptionHandler$OptionInfo
            getfield com.oracle.svm.driver.APIOptionHandler$OptionInfo.group:Lcom/oracle/svm/core/option/APIOptionGroup;
            astore 3 /* group */
        start local 3 // com.oracle.svm.core.option.APIOptionGroup group
         1: .line 361
            getstatic com.oracle.svm.driver.APIOptionHandler.$assertionsDisabled:Z
            ifne 2
            aload 3 /* group */
            ifnonnull 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 362
      StackMap locals: com.oracle.svm.core.option.APIOptionGroup
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 4 /* sb */
        start local 4 // java.lang.StringBuilder sb
         3: .line 364
            aload 4 /* sb */
            aload 3 /* group */
            invokeinterface com.oracle.svm.core.option.APIOptionGroup.helpText:()Ljava/lang/String;
            invokestatic com.oracle.svm.driver.APIOptionHandler.startLowerCase:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 365
            aload 3 /* group */
            invokeinterface com.oracle.svm.core.option.APIOptionGroup.helpText:()Ljava/lang/String;
            ldc "."
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 6
         5: .line 366
            aload 4 /* sb */
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 368
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 4 /* sb */
            ldc " Allowed options for <value>:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 369
            aload 0 /* println */
            new java.lang.StringBuilder
            dup
            aload 1 /* groupName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "<value>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 4 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_4
            bipush 22
            bipush 66
            invokestatic com.oracle.svm.core.option.SubstrateOptionsParser.printOption:(Ljava/util/function/Consumer;Ljava/lang/String;Ljava/lang/String;III)V
         8: .line 371
            aload 2 /* options */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 29
      StackMap locals: java.util.function.Consumer java.lang.String java.util.List com.oracle.svm.core.option.APIOptionGroup java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
         9: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.svm.driver.APIOptionHandler$OptionInfo
            astore 5 /* groupEntry */
        start local 5 // com.oracle.svm.driver.APIOptionHandler$OptionInfo groupEntry
        10: .line 372
            getstatic com.oracle.svm.driver.APIOptionHandler.$assertionsDisabled:Z
            ifne 11
            aload 5 /* groupEntry */
            getfield com.oracle.svm.driver.APIOptionHandler$OptionInfo.group:Lcom/oracle/svm/core/option/APIOptionGroup;
            aload 3 /* group */
            if_acmpeq 11
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        11: .line 373
      StackMap locals: java.util.function.Consumer java.lang.String java.util.List com.oracle.svm.core.option.APIOptionGroup java.lang.StringBuilder com.oracle.svm.driver.APIOptionHandler$OptionInfo java.util.Iterator
      StackMap stack:
            aload 4 /* sb */
            iconst_0
            invokevirtual java.lang.StringBuilder.setLength:(I)V
        12: .line 375
            iconst_1
            istore 7 /* first */
        start local 7 // boolean first
        13: .line 376
            iconst_0
            istore 8 /* isDefault */
        start local 8 // boolean isDefault
        14: .line 377
            aload 5 /* groupEntry */
            getfield com.oracle.svm.driver.APIOptionHandler$OptionInfo.variants:[Ljava/lang/String;
            dup
            astore 12
            arraylength
            istore 11
            iconst_0
            istore 10
            goto 24
      StackMap locals: java.util.function.Consumer java.lang.String java.util.List com.oracle.svm.core.option.APIOptionGroup java.lang.StringBuilder com.oracle.svm.driver.APIOptionHandler$OptionInfo java.util.Iterator int int top int int java.lang.String[]
      StackMap stack:
        15: aload 12
            iload 10
            aaload
            astore 9 /* variant */
        start local 9 // java.lang.String variant
        16: .line 378
            aload 9 /* variant */
            aload 5 /* groupEntry */
            getfield com.oracle.svm.driver.APIOptionHandler$OptionInfo.defaultValue:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 18
        17: .line 379
            iconst_1
            istore 8 /* isDefault */
        18: .line 381
      StackMap locals: java.util.function.Consumer java.lang.String java.util.List com.oracle.svm.core.option.APIOptionGroup java.lang.StringBuilder com.oracle.svm.driver.APIOptionHandler$OptionInfo java.util.Iterator int int java.lang.String int int java.lang.String[]
      StackMap stack:
            iload 7 /* first */
            ifeq 21
        19: .line 382
            iconst_0
            istore 7 /* first */
        20: .line 383
            goto 22
        21: .line 384
      StackMap locals:
      StackMap stack:
            aload 4 /* sb */
            ldc " | "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        22: .line 386
      StackMap locals:
      StackMap stack:
            aload 4 /* sb */
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 9 /* variant */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 9 // java.lang.String variant
        23: .line 377
            iinc 10 1
      StackMap locals: java.util.function.Consumer java.lang.String java.util.List com.oracle.svm.core.option.APIOptionGroup java.lang.StringBuilder com.oracle.svm.driver.APIOptionHandler$OptionInfo java.util.Iterator int int top int int java.lang.String[]
      StackMap stack:
        24: iload 10
            iload 11
            if_icmplt 15
        25: .line 388
            aload 4 /* sb */
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* groupEntry */
            getfield com.oracle.svm.driver.APIOptionHandler$OptionInfo.helpText:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        26: .line 389
            iload 8 /* isDefault */
            ifeq 28
        27: .line 390
            aload 4 /* sb */
            ldc " (default)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        28: .line 392
      StackMap locals: java.util.function.Consumer java.lang.String java.util.List com.oracle.svm.core.option.APIOptionGroup java.lang.StringBuilder com.oracle.svm.driver.APIOptionHandler$OptionInfo java.util.Iterator int int
      StackMap stack:
            aload 0 /* println */
            ldc ""
            aload 4 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_4
            bipush 22
            bipush 66
            invokestatic com.oracle.svm.core.option.SubstrateOptionsParser.printOption:(Ljava/util/function/Consumer;Ljava/lang/String;Ljava/lang/String;III)V
        end local 8 // boolean isDefault
        end local 7 // boolean first
        end local 5 // com.oracle.svm.driver.APIOptionHandler$OptionInfo groupEntry
        29: .line 371
      StackMap locals: java.util.function.Consumer java.lang.String java.util.List com.oracle.svm.core.option.APIOptionGroup java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        30: .line 394
            return
        end local 4 // java.lang.StringBuilder sb
        end local 3 // com.oracle.svm.core.option.APIOptionGroup group
        end local 2 // java.util.List options
        end local 1 // java.lang.String groupName
        end local 0 // java.util.function.Consumer println
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   31     0     println  Ljava/util/function/Consumer<Ljava/lang/String;>;
            0   31     1   groupName  Ljava/lang/String;
            0   31     2     options  Ljava/util/List<Lcom/oracle/svm/driver/APIOptionHandler$OptionInfo;>;
            1   31     3       group  Lcom/oracle/svm/core/option/APIOptionGroup;
            3   31     4          sb  Ljava/lang/StringBuilder;
           10   29     5  groupEntry  Lcom/oracle/svm/driver/APIOptionHandler$OptionInfo;
           13   29     7       first  Z
           14   29     8   isDefault  Z
           16   23     9     variant  Ljava/lang/String;
    Signature: (Ljava/util/function/Consumer<Ljava/lang/String;>;Ljava/lang/String;Ljava/util/List<Lcom/oracle/svm/driver/APIOptionHandler$OptionInfo;>;)V
    MethodParameters:
           Name  Flags
      println    
      groupName  
      options    

  private static void lambda$0(java.util.SortedMap, java.util.Map, org.graalvm.compiler.options.OptionDescriptor);
    descriptor: (Ljava/util/SortedMap;Ljava/util/Map;Lorg/graalvm/compiler/options/OptionDescriptor;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=3, args_size=3
        start local 2 // org.graalvm.compiler.options.OptionDescriptor o
         0: .line 118
            ldc "-H:"
            aload 2 /* o */
            aload 0
            aload 1
            invokestatic com.oracle.svm.driver.APIOptionHandler.extractOption:(Ljava/lang/String;Lorg/graalvm/compiler/options/OptionDescriptor;Ljava/util/SortedMap;Ljava/util/Map;)V
            return
        end local 2 // org.graalvm.compiler.options.OptionDescriptor o
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     2     o  Lorg/graalvm/compiler/options/OptionDescriptor;

  private static void lambda$1(java.util.SortedMap, java.util.Map, org.graalvm.compiler.options.OptionDescriptor);
    descriptor: (Ljava/util/SortedMap;Ljava/util/Map;Lorg/graalvm/compiler/options/OptionDescriptor;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=3, args_size=3
        start local 2 // org.graalvm.compiler.options.OptionDescriptor o
         0: .line 119
            ldc "-R:"
            aload 2 /* o */
            aload 0
            aload 1
            invokestatic com.oracle.svm.driver.APIOptionHandler.extractOption:(Ljava/lang/String;Lorg/graalvm/compiler/options/OptionDescriptor;Ljava/util/SortedMap;Ljava/util/Map;)V
            return
        end local 2 // org.graalvm.compiler.options.OptionDescriptor o
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     2     o  Lorg/graalvm/compiler/options/OptionDescriptor;

  private static void lambda$2(java.lang.String, java.util.List);
    descriptor: (Ljava/lang/String;Ljava/util/List;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // java.lang.String groupName
        start local 1 // java.util.List defaults
         0: .line 121
            aload 1 /* defaults */
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmple 4
         1: .line 122
            ldc "APIOptionGroup %s must only have a single default (but has: %s)"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         2: .line 123
            aload 0 /* groupName */
            aastore
            dup
            iconst_1
            ldc ", "
            aload 1 /* defaults */
            invokestatic java.lang.String.join:(Ljava/lang/CharSequence;Ljava/lang/Iterable;)Ljava/lang/String;
            aastore
         3: .line 122
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            pop
         4: .line 125
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.List defaults
        end local 0 // java.lang.String groupName
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0  groupName  Ljava/lang/String;
            0    5     1   defaults  Ljava/util/List<Ljava/lang/String;>;

  private static java.util.List lambda$3(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/List;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String cls
         0: .line 159
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            areturn
        end local 0 // java.lang.String cls
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   cls  Ljava/lang/String;

  private static boolean lambda$4(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 294
            aload 0 /* s */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     s  Ljava/lang/String;

  private static void lambda$6(java.util.SortedMap, java.lang.String, com.oracle.svm.driver.APIOptionHandler$OptionInfo);
    descriptor: (Ljava/util/SortedMap;Ljava/lang/String;Lcom/oracle/svm/driver/APIOptionHandler$OptionInfo;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=5, args_size=3
        start local 1 // java.lang.String optionName
        start local 2 // com.oracle.svm.driver.APIOptionHandler$OptionInfo option
         0: .line 323
            aload 2 /* option */
            invokevirtual com.oracle.svm.driver.APIOptionHandler$OptionInfo.isDeprecated:()Z
            ifeq 2
         1: .line 324
            return
         2: .line 326
      StackMap locals:
      StackMap stack:
            aload 2 /* option */
            getfield com.oracle.svm.driver.APIOptionHandler$OptionInfo.group:Lcom/oracle/svm/core/option/APIOptionGroup;
            ifnull 3
            aload 2 /* option */
            getfield com.oracle.svm.driver.APIOptionHandler$OptionInfo.group:Lcom/oracle/svm/core/option/APIOptionGroup;
            invokestatic com.oracle.svm.core.option.APIOption$Utils.groupName:(Lcom/oracle/svm/core/option/APIOptionGroup;)Ljava/lang/String;
            goto 4
      StackMap locals:
      StackMap stack:
         3: aload 1 /* optionName */
      StackMap locals:
      StackMap stack: java.lang.String
         4: astore 3 /* groupOrOptionName */
        start local 3 // java.lang.String groupOrOptionName
         5: .line 327
            aload 0
            aload 3 /* groupOrOptionName */
            invokeinterface java.util.SortedMap.containsKey:(Ljava/lang/Object;)Z
            ifeq 12
         6: .line 328
            aload 0
            aload 3 /* groupOrOptionName */
            invokeinterface java.util.SortedMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 4 /* options */
        start local 4 // java.util.List options
         7: .line 329
            aload 4 /* options */
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmpne 10
         8: .line 331
            new java.util.ArrayList
            dup
            aload 4 /* options */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 4 /* options */
         9: .line 332
            aload 0
            aload 3 /* groupOrOptionName */
            aload 4 /* options */
            invokeinterface java.util.SortedMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 334
      StackMap locals: java.lang.String java.util.List
      StackMap stack:
            aload 4 /* options */
            aload 2 /* option */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.util.List options
        11: .line 335
            goto 13
        12: .line 337
      StackMap locals:
      StackMap stack:
            aload 0
            aload 3 /* groupOrOptionName */
            aload 2 /* option */
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.SortedMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 3 // java.lang.String groupOrOptionName
        13: .line 339
      StackMap locals:
      StackMap stack:
            return
        end local 2 // com.oracle.svm.driver.APIOptionHandler$OptionInfo option
        end local 1 // java.lang.String optionName
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   14     1         optionName  Ljava/lang/String;
            0   14     2             option  Lcom/oracle/svm/driver/APIOptionHandler$OptionInfo;
            5   13     3  groupOrOptionName  Ljava/lang/String;
            7   11     4            options  Ljava/util/List<Lcom/oracle/svm/driver/APIOptionHandler$OptionInfo;>;

  private static void lambda$7(java.util.function.Consumer, java.lang.String, java.util.List);
    descriptor: (Ljava/util/function/Consumer;Ljava/lang/String;Ljava/util/List;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=6, locals=4, args_size=3
        start local 1 // java.lang.String optionName
        start local 2 // java.util.List options
         0: .line 341
            aload 2 /* options */
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmpne 8
         1: .line 342
            aload 2 /* options */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.oracle.svm.driver.APIOptionHandler$OptionInfo
            astore 3 /* singleOption */
        start local 3 // com.oracle.svm.driver.APIOptionHandler$OptionInfo singleOption
         2: .line 343
            aload 3 /* singleOption */
            getfield com.oracle.svm.driver.APIOptionHandler$OptionInfo.group:Lcom/oracle/svm/core/option/APIOptionGroup;
            ifnonnull 5
         3: .line 344
            aload 0
            aload 1 /* optionName */
            aload 3 /* singleOption */
            getfield com.oracle.svm.driver.APIOptionHandler$OptionInfo.helpText:Ljava/lang/String;
            iconst_4
            bipush 22
            bipush 66
            invokestatic com.oracle.svm.core.option.SubstrateOptionsParser.printOption:(Ljava/util/function/Consumer;Ljava/lang/String;Ljava/lang/String;III)V
         4: .line 345
            goto 9
         5: .line 349
      StackMap locals: com.oracle.svm.driver.APIOptionHandler$OptionInfo
      StackMap stack:
            aload 3 /* singleOption */
            getfield com.oracle.svm.driver.APIOptionHandler$OptionInfo.variants:[Ljava/lang/String;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            aload 3 /* singleOption */
            getfield com.oracle.svm.driver.APIOptionHandler$OptionInfo.defaultValue:Ljava/lang/String;
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifne 9
         6: .line 350
            aload 0
            aload 1 /* optionName */
            aload 2 /* options */
            invokestatic com.oracle.svm.driver.APIOptionHandler.printGroupOption:(Ljava/util/function/Consumer;Ljava/lang/String;Ljava/util/List;)V
        end local 3 // com.oracle.svm.driver.APIOptionHandler$OptionInfo singleOption
         7: .line 353
            goto 9
         8: .line 354
      StackMap locals:
      StackMap stack:
            aload 0
            aload 1 /* optionName */
            aload 2 /* options */
            invokestatic com.oracle.svm.driver.APIOptionHandler.printGroupOption:(Ljava/util/function/Consumer;Ljava/lang/String;Ljava/util/List;)V
         9: .line 356
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.List options
        end local 1 // java.lang.String optionName
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     1    optionName  Ljava/lang/String;
            0   10     2       options  Ljava/util/List<Lcom/oracle/svm/driver/APIOptionHandler$OptionInfo;>;
            2    7     3  singleOption  Lcom/oracle/svm/driver/APIOptionHandler$OptionInfo;
}
Signature: Lcom/oracle/svm/driver/NativeImage$OptionHandler<Lcom/oracle/svm/driver/NativeImage;>;
SourceFile: "APIOptionHandler.java"
NestMembers:
  com.oracle.svm.driver.APIOptionHandler$OptionInfo
InnerClasses:
  public final APIOptionKind = com.oracle.svm.core.option.APIOption$APIOptionKind of com.oracle.svm.core.option.APIOption
  public final NullGroup = com.oracle.svm.core.option.APIOption$NullGroup of com.oracle.svm.core.option.APIOption
  public Utils = com.oracle.svm.core.option.APIOption$Utils of com.oracle.svm.core.option.APIOption
  final OptionInfo = com.oracle.svm.driver.APIOptionHandler$OptionInfo of com.oracle.svm.driver.APIOptionHandler
  public final NativeImageError = com.oracle.svm.driver.NativeImage$NativeImageError of com.oracle.svm.driver.NativeImage
  abstract OptionHandler = com.oracle.svm.driver.NativeImage$OptionHandler of com.oracle.svm.driver.NativeImage
  public final ReflectionUtilError = com.oracle.svm.util.ReflectionUtil$ReflectionUtilError of com.oracle.svm.util.ReflectionUtil
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles