public final class com.oracle.svm.core.option.RuntimeOptionParser
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.oracle.svm.core.option.RuntimeOptionParser
  super_class: java.lang.Object
{
  private static final java.lang.String DEFAULT_OPTION_PREFIX;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "-XX:"

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

  private final java.util.SortedMap<java.lang.String, org.graalvm.compiler.options.OptionDescriptor> sortedOptions;
    descriptor: Ljava/util/SortedMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/SortedMap<Ljava/lang/String;Lorg/graalvm/compiler/options/OptionDescriptor;>;

  private java.util.ArrayList<com.oracle.svm.core.option.RuntimeOptionParser$OptionsParsedListener> optionsParsedListeners;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/ArrayList<Lcom/oracle/svm/core/option/RuntimeOptionParser$OptionsParsedListener;>;

  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 57
            ldc Lcom/oracle/svm/core/option/RuntimeOptionParser;
            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.core.option.RuntimeOptionParser.$assertionsDisabled:Z
         3: .line 67
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.lang.String[] parseAndConsumeAllOptions(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.lang.String[] initialArgs
         0: .line 75
            aload 0 /* initialArgs */
            astore 1 /* args */
        start local 1 // java.lang.String[] args
         1: .line 76
            getstatic com.oracle.svm.core.SubstrateOptions.ParseRuntimeOptions:Lcom/oracle/svm/core/option/HostedOptionKey;
            invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 7
         2: .line 77
            invokestatic com.oracle.svm.core.option.RuntimeOptionParser.singleton:()Lcom/oracle/svm/core/option/RuntimeOptionParser;
            aload 1 /* args */
            ldc "-XX:"
            getstatic com.oracle.svm.core.option.SubstrateOptionsParser$BooleanOptionFormat.PLUS_MINUS:Lcom/oracle/svm/core/option/SubstrateOptionsParser$BooleanOptionFormat;
            iconst_1
            invokevirtual com.oracle.svm.core.option.RuntimeOptionParser.parse:([Ljava/lang/String;Ljava/lang/String;Lcom/oracle/svm/core/option/SubstrateOptionsParser$BooleanOptionFormat;Z)[Ljava/lang/String;
            astore 1 /* args */
         3: .line 78
            invokestatic com.oracle.svm.core.option.RuntimeOptionParser.singleton:()Lcom/oracle/svm/core/option/RuntimeOptionParser;
            aload 1 /* args */
            ldc "-Dgraal."
            getstatic com.oracle.svm.core.option.SubstrateOptionsParser$BooleanOptionFormat.NAME_VALUE:Lcom/oracle/svm/core/option/SubstrateOptionsParser$BooleanOptionFormat;
            iconst_1
            invokevirtual com.oracle.svm.core.option.RuntimeOptionParser.parse:([Ljava/lang/String;Ljava/lang/String;Lcom/oracle/svm/core/option/SubstrateOptionsParser$BooleanOptionFormat;Z)[Ljava/lang/String;
            astore 1 /* args */
         4: .line 79
            invokestatic com.oracle.svm.core.option.XOptions.singleton:()Lcom/oracle/svm/core/option/XOptions;
            aload 1 /* args */
            iconst_1
            invokevirtual com.oracle.svm.core.option.XOptions.parse:([Ljava/lang/String;Z)[Ljava/lang/String;
            astore 1 /* args */
         5: .line 80
            aload 1 /* args */
            invokestatic com.oracle.svm.core.properties.RuntimePropertyParser.parse:([Ljava/lang/String;)[Ljava/lang/String;
            astore 1 /* args */
         6: .line 82
            invokestatic com.oracle.svm.core.option.RuntimeOptionParser.singleton:()Lcom/oracle/svm/core/option/RuntimeOptionParser;
            invokevirtual com.oracle.svm.core.option.RuntimeOptionParser.notifyOptionsParsed:()V
         7: .line 84
      StackMap locals: java.lang.String[]
      StackMap stack:
            aload 1 /* args */
            areturn
        end local 1 // java.lang.String[] args
        end local 0 // java.lang.String[] initialArgs
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0  initialArgs  [Ljava/lang/String;
            1    8     1         args  [Ljava/lang/String;
    MethodParameters:
             Name  Flags
      initialArgs  

  public java.util.Optional<org.graalvm.compiler.options.OptionDescriptor> getDescriptor(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Optional;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.core.option.RuntimeOptionParser this
        start local 1 // java.lang.String optionName
         0: .line 92
            aload 0 /* this */
            getfield com.oracle.svm.core.option.RuntimeOptionParser.sortedOptions:Ljava/util/SortedMap;
            aload 1 /* optionName */
            invokeinterface java.util.SortedMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.options.OptionDescriptor
            invokestatic java.util.Optional.ofNullable:(Ljava/lang/Object;)Ljava/util/Optional;
            areturn
        end local 1 // java.lang.String optionName
        end local 0 // com.oracle.svm.core.option.RuntimeOptionParser this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/oracle/svm/core/option/RuntimeOptionParser;
            0    1     1  optionName  Ljava/lang/String;
    Signature: (Ljava/lang/String;)Ljava/util/Optional<Lorg/graalvm/compiler/options/OptionDescriptor;>;
    MethodParameters:
            Name  Flags
      optionName  

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.svm.core.option.RuntimeOptionParser this
         0: .line 96
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 97
            aload 0 /* this */
            new java.util.TreeMap
            dup
            invokespecial java.util.TreeMap.<init>:()V
            putfield com.oracle.svm.core.option.RuntimeOptionParser.sortedOptions:Ljava/util/SortedMap;
         2: .line 98
            return
        end local 0 // com.oracle.svm.core.option.RuntimeOptionParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/svm/core/option/RuntimeOptionParser;
    RuntimeVisibleAnnotations: 
      org.graalvm.nativeimage.Platforms(value = {Lorg/graalvm/nativeimage/Platform$HOSTED_ONLY;})

  public boolean updateRuntimeOptions(java.util.Set<org.graalvm.compiler.options.OptionDescriptor>);
    descriptor: (Ljava/util/Set;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // com.oracle.svm.core.option.RuntimeOptionParser this
        start local 1 // java.util.Set newRuntimeOptions
         0: .line 102
            iconst_0
            istore 2 /* result */
        start local 2 // boolean result
         1: .line 103
            aload 1 /* newRuntimeOptions */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 9
      StackMap locals: com.oracle.svm.core.option.RuntimeOptionParser java.util.Set int top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.options.OptionDescriptor
            astore 3 /* descriptor */
        start local 3 // org.graalvm.compiler.options.OptionDescriptor descriptor
         3: .line 104
            aload 3 /* descriptor */
            invokevirtual org.graalvm.compiler.options.OptionDescriptor.getName:()Ljava/lang/String;
            astore 5 /* name */
        start local 5 // java.lang.String name
         4: .line 105
            aload 0 /* this */
            getfield com.oracle.svm.core.option.RuntimeOptionParser.sortedOptions:Ljava/util/SortedMap;
            aload 5 /* name */
            invokeinterface java.util.SortedMap.containsKey:(Ljava/lang/Object;)Z
            ifne 8
         5: .line 106
            aload 0 /* this */
            getfield com.oracle.svm.core.option.RuntimeOptionParser.sortedOptions:Ljava/util/SortedMap;
            aload 5 /* name */
            aload 3 /* descriptor */
            invokeinterface java.util.SortedMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 107
            iconst_1
            istore 2 /* result */
         7: .line 108
            goto 9
         8: .line 109
      StackMap locals: com.oracle.svm.core.option.RuntimeOptionParser java.util.Set int org.graalvm.compiler.options.OptionDescriptor java.util.Iterator java.lang.String
      StackMap stack:
            getstatic com.oracle.svm.core.option.RuntimeOptionParser.$assertionsDisabled:Z
            ifne 9
            aload 3 /* descriptor */
            aload 0 /* this */
            getfield com.oracle.svm.core.option.RuntimeOptionParser.sortedOptions:Ljava/util/SortedMap;
            aload 5 /* name */
            invokeinterface java.util.SortedMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            if_acmpeq 9
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 5 // java.lang.String name
        end local 3 // org.graalvm.compiler.options.OptionDescriptor descriptor
         9: .line 103
      StackMap locals: com.oracle.svm.core.option.RuntimeOptionParser java.util.Set int top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        10: .line 112
            iload 2 /* result */
            ireturn
        end local 2 // boolean result
        end local 1 // java.util.Set newRuntimeOptions
        end local 0 // com.oracle.svm.core.option.RuntimeOptionParser this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   11     0               this  Lcom/oracle/svm/core/option/RuntimeOptionParser;
            0   11     1  newRuntimeOptions  Ljava/util/Set<Lorg/graalvm/compiler/options/OptionDescriptor;>;
            1   11     2             result  Z
            3    9     3         descriptor  Lorg/graalvm/compiler/options/OptionDescriptor;
            4    9     5               name  Ljava/lang/String;
    Signature: (Ljava/util/Set<Lorg/graalvm/compiler/options/OptionDescriptor;>;)Z
    RuntimeVisibleAnnotations: 
      org.graalvm.nativeimage.Platforms(value = {Lorg/graalvm/nativeimage/Platform$HOSTED_ONLY;})
    MethodParameters:
                   Name  Flags
      newRuntimeOptions  

  public void registerOptionsParsedListener(com.oracle.svm.core.option.RuntimeOptionParser$OptionsParsedListener);
    descriptor: (Lcom/oracle/svm/core/option/RuntimeOptionParser$OptionsParsedListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.svm.core.option.RuntimeOptionParser this
        start local 1 // com.oracle.svm.core.option.RuntimeOptionParser$OptionsParsedListener listener
         0: .line 117
            aload 0 /* this */
            getfield com.oracle.svm.core.option.RuntimeOptionParser.optionsParsedListeners:Ljava/util/ArrayList;
            ifnonnull 2
         1: .line 118
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.oracle.svm.core.option.RuntimeOptionParser.optionsParsedListeners:Ljava/util/ArrayList;
         2: .line 120
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.core.option.RuntimeOptionParser.optionsParsedListeners:Ljava/util/ArrayList;
            aload 1 /* listener */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         3: .line 121
            return
        end local 1 // com.oracle.svm.core.option.RuntimeOptionParser$OptionsParsedListener listener
        end local 0 // com.oracle.svm.core.option.RuntimeOptionParser this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lcom/oracle/svm/core/option/RuntimeOptionParser;
            0    4     1  listener  Lcom/oracle/svm/core/option/RuntimeOptionParser$OptionsParsedListener;
    RuntimeVisibleAnnotations: 
      org.graalvm.nativeimage.Platforms(value = {Lorg/graalvm/nativeimage/Platform$HOSTED_ONLY;})
    MethodParameters:
          Name  Flags
      listener  

  public static com.oracle.svm.core.option.RuntimeOptionParser singleton();
    descriptor: ()Lcom/oracle/svm/core/option/RuntimeOptionParser;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 128
            ldc Lcom/oracle/svm/core/option/RuntimeOptionParser;
            invokestatic org.graalvm.nativeimage.ImageSingletons.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast com.oracle.svm.core.option.RuntimeOptionParser
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.String[] parse(java.lang.String[], java.lang.String);
    descriptor: ([Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.oracle.svm.core.option.RuntimeOptionParser this
        start local 1 // java.lang.String[] args
        start local 2 // java.lang.String optionPrefix
         0: .line 144
            aload 0 /* this */
            aload 1 /* args */
            aload 2 /* optionPrefix */
            getstatic com.oracle.svm.core.option.SubstrateOptionsParser$BooleanOptionFormat.PLUS_MINUS:Lcom/oracle/svm/core/option/SubstrateOptionsParser$BooleanOptionFormat;
            iconst_0
            invokevirtual com.oracle.svm.core.option.RuntimeOptionParser.parse:([Ljava/lang/String;Ljava/lang/String;Lcom/oracle/svm/core/option/SubstrateOptionsParser$BooleanOptionFormat;Z)[Ljava/lang/String;
            areturn
        end local 2 // java.lang.String optionPrefix
        end local 1 // java.lang.String[] args
        end local 0 // com.oracle.svm.core.option.RuntimeOptionParser this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lcom/oracle/svm/core/option/RuntimeOptionParser;
            0    1     1          args  [Ljava/lang/String;
            0    1     2  optionPrefix  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      args          
      optionPrefix  

  public java.lang.String[] parse(java.lang.String[], java.lang.String, com.oracle.svm.core.option.SubstrateOptionsParser$BooleanOptionFormat, boolean);
    descriptor: ([Ljava/lang/String;Ljava/lang/String;Lcom/oracle/svm/core/option/SubstrateOptionsParser$BooleanOptionFormat;Z)[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=9, args_size=5
        start local 0 // com.oracle.svm.core.option.RuntimeOptionParser this
        start local 1 // java.lang.String[] args
        start local 2 // java.lang.String optionPrefix
        start local 3 // com.oracle.svm.core.option.SubstrateOptionsParser$BooleanOptionFormat booleanOptionFormat
        start local 4 // boolean systemExitOnError
         0: .line 161
            iconst_0
            istore 5 /* newIdx */
        start local 5 // int newIdx
         1: .line 162
            invokestatic org.graalvm.compiler.options.OptionValues.newOptionMap:()Lorg/graalvm/collections/EconomicMap;
            astore 6 /* values */
        start local 6 // org.graalvm.collections.EconomicMap values
         2: .line 163
            iconst_0
            istore 7 /* oldIdx */
        start local 7 // int oldIdx
         3: goto 12
         4: .line 164
      StackMap locals: int org.graalvm.collections.EconomicMap int
      StackMap stack:
            aload 1 /* args */
            iload 7 /* oldIdx */
            aaload
            astore 8 /* arg */
        start local 8 // java.lang.String arg
         5: .line 165
            aload 8 /* arg */
            aload 2 /* optionPrefix */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 8
         6: .line 166
            aload 0 /* this */
            aload 8 /* arg */
            aload 2 /* optionPrefix */
            aload 3 /* booleanOptionFormat */
            aload 6 /* values */
            iload 4 /* systemExitOnError */
            invokevirtual com.oracle.svm.core.option.RuntimeOptionParser.parseOptionAtRuntime:(Ljava/lang/String;Ljava/lang/String;Lcom/oracle/svm/core/option/SubstrateOptionsParser$BooleanOptionFormat;Lorg/graalvm/collections/EconomicMap;Z)V
         7: .line 167
            goto 11
         8: .line 168
      StackMap locals: java.lang.String
      StackMap stack:
            getstatic com.oracle.svm.core.option.RuntimeOptionParser.$assertionsDisabled:Z
            ifne 9
            iload 5 /* newIdx */
            iload 7 /* oldIdx */
            if_icmple 9
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         9: .line 169
      StackMap locals:
      StackMap stack:
            aload 1 /* args */
            iload 5 /* newIdx */
            aload 8 /* arg */
            aastore
        10: .line 170
            iinc 5 /* newIdx */ 1
        end local 8 // java.lang.String arg
        11: .line 163
      StackMap locals:
      StackMap stack:
            iinc 7 /* oldIdx */ 1
      StackMap locals:
      StackMap stack:
        12: iload 7 /* oldIdx */
            aload 1 /* args */
            arraylength
            if_icmplt 4
        end local 7 // int oldIdx
        13: .line 173
            aload 6 /* values */
            invokeinterface org.graalvm.collections.EconomicMap.isEmpty:()Z
            ifne 15
        14: .line 174
            invokestatic com.oracle.svm.core.option.RuntimeOptionValues.singleton:()Lcom/oracle/svm/core/option/RuntimeOptionValues;
            aload 6 /* values */
            invokevirtual com.oracle.svm.core.option.RuntimeOptionValues.update:(Lorg/graalvm/collections/UnmodifiableEconomicMap;)V
        15: .line 176
      StackMap locals:
      StackMap stack:
            iload 5 /* newIdx */
            aload 1 /* args */
            arraylength
            if_icmpne 17
        16: .line 178
            aload 1 /* args */
            areturn
        17: .line 180
      StackMap locals:
      StackMap stack:
            aload 1 /* args */
            iload 5 /* newIdx */
            invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 6 // org.graalvm.collections.EconomicMap values
        end local 5 // int newIdx
        end local 4 // boolean systemExitOnError
        end local 3 // com.oracle.svm.core.option.SubstrateOptionsParser$BooleanOptionFormat booleanOptionFormat
        end local 2 // java.lang.String optionPrefix
        end local 1 // java.lang.String[] args
        end local 0 // com.oracle.svm.core.option.RuntimeOptionParser this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   18     0                 this  Lcom/oracle/svm/core/option/RuntimeOptionParser;
            0   18     1                 args  [Ljava/lang/String;
            0   18     2         optionPrefix  Ljava/lang/String;
            0   18     3  booleanOptionFormat  Lcom/oracle/svm/core/option/SubstrateOptionsParser$BooleanOptionFormat;
            0   18     4    systemExitOnError  Z
            1   18     5               newIdx  I
            2   18     6               values  Lorg/graalvm/collections/EconomicMap<Lorg/graalvm/compiler/options/OptionKey<*>;Ljava/lang/Object;>;
            3   13     7               oldIdx  I
            5   11     8                  arg  Ljava/lang/String;
    MethodParameters:
                     Name  Flags
      args                 
      optionPrefix         
      booleanOptionFormat  
      systemExitOnError    

  private void parseOptionAtRuntime(java.lang.String, java.lang.String, com.oracle.svm.core.option.SubstrateOptionsParser$BooleanOptionFormat, org.graalvm.collections.EconomicMap<org.graalvm.compiler.options.OptionKey<?>, java.lang.Object>, );
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lcom/oracle/svm/core/option/SubstrateOptionsParser$BooleanOptionFormat;Lorg/graalvm/collections/EconomicMap;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=6
        start local 0 // com.oracle.svm.core.option.RuntimeOptionParser this
        start local 1 // java.lang.String arg
        start local 2 // java.lang.String optionPrefix
        start local 3 // com.oracle.svm.core.option.SubstrateOptionsParser$BooleanOptionFormat booleanOptionFormat
        start local 4 // org.graalvm.collections.EconomicMap values
        start local 5 // boolean systemExitOnError
         0: .line 196
            aload 0 /* this */
            getfield com.oracle.svm.core.option.RuntimeOptionParser.sortedOptions:Ljava/util/SortedMap;
            aload 1 /* arg */
            aload 2 /* optionPrefix */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            aload 4 /* values */
            aload 2 /* optionPrefix */
            aload 3 /* booleanOptionFormat */
            invokestatic com.oracle.svm.core.option.SubstrateOptionsParser.parseOption:(Ljava/util/SortedMap;Ljava/lang/String;Lorg/graalvm/collections/EconomicMap;Ljava/lang/String;Lcom/oracle/svm/core/option/SubstrateOptionsParser$BooleanOptionFormat;)Lcom/oracle/svm/core/option/SubstrateOptionsParser$OptionParseResult;
            astore 6 /* parseResult */
        start local 6 // com.oracle.svm.core.option.SubstrateOptionsParser$OptionParseResult parseResult
         1: .line 197
            aload 6 /* parseResult */
            invokevirtual com.oracle.svm.core.option.SubstrateOptionsParser$OptionParseResult.printFlags:()Z
            ifne 2
            aload 6 /* parseResult */
            invokevirtual com.oracle.svm.core.option.SubstrateOptionsParser$OptionParseResult.printFlagsWithExtraHelp:()Z
            ifeq 4
         2: .line 198
      StackMap locals: com.oracle.svm.core.option.SubstrateOptionsParser$OptionParseResult
      StackMap stack:
            aload 6 /* parseResult */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic test(Lcom/oracle/svm/core/option/SubstrateOptionsParser$OptionParseResult;)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/core/option/SubstrateOptionsParser$OptionParseResult.matchesFlagsRuntime(Lorg/graalvm/compiler/options/OptionDescriptor;)Z (5)
                  (Lorg/graalvm/compiler/options/OptionDescriptor;)Z
            aload 0 /* this */
            getfield com.oracle.svm.core.option.RuntimeOptionParser.sortedOptions:Ljava/util/SortedMap;
            aload 2 /* optionPrefix */
            invokestatic com.oracle.svm.core.log.Log.logStream:()Ljava/io/PrintStream;
            aload 6 /* parseResult */
            invokevirtual com.oracle.svm.core.option.SubstrateOptionsParser$OptionParseResult.printFlagsWithExtraHelp:()Z
            invokestatic com.oracle.svm.core.option.SubstrateOptionsParser.printFlags:(Ljava/util/function/Predicate;Ljava/util/SortedMap;Ljava/lang/String;Ljava/io/PrintStream;Z)V
         3: .line 199
            iconst_0
            invokestatic java.lang.System.exit:(I)V
         4: .line 201
      StackMap locals:
      StackMap stack:
            aload 6 /* parseResult */
            invokevirtual com.oracle.svm.core.option.SubstrateOptionsParser$OptionParseResult.isValid:()Z
            ifne 9
         5: .line 202
            iload 5 /* systemExitOnError */
            ifeq 8
         6: .line 203
            invokestatic com.oracle.svm.core.log.Log.logStream:()Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "error: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* parseResult */
            invokevirtual com.oracle.svm.core.option.SubstrateOptionsParser$OptionParseResult.getError:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         7: .line 204
            iconst_1
            invokestatic java.lang.System.exit:(I)V
         8: .line 206
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            aload 6 /* parseResult */
            invokevirtual com.oracle.svm.core.option.SubstrateOptionsParser$OptionParseResult.getError:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 208
      StackMap locals:
      StackMap stack:
            return
        end local 6 // com.oracle.svm.core.option.SubstrateOptionsParser$OptionParseResult parseResult
        end local 5 // boolean systemExitOnError
        end local 4 // org.graalvm.collections.EconomicMap values
        end local 3 // com.oracle.svm.core.option.SubstrateOptionsParser$BooleanOptionFormat booleanOptionFormat
        end local 2 // java.lang.String optionPrefix
        end local 1 // java.lang.String arg
        end local 0 // com.oracle.svm.core.option.RuntimeOptionParser this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   10     0                 this  Lcom/oracle/svm/core/option/RuntimeOptionParser;
            0   10     1                  arg  Ljava/lang/String;
            0   10     2         optionPrefix  Ljava/lang/String;
            0   10     3  booleanOptionFormat  Lcom/oracle/svm/core/option/SubstrateOptionsParser$BooleanOptionFormat;
            0   10     4               values  Lorg/graalvm/collections/EconomicMap<Lorg/graalvm/compiler/options/OptionKey<*>;Ljava/lang/Object;>;
            0   10     5    systemExitOnError  Z
            1   10     6          parseResult  Lcom/oracle/svm/core/option/SubstrateOptionsParser$OptionParseResult;
    Signature: (Ljava/lang/String;Ljava/lang/String;Lcom/oracle/svm/core/option/SubstrateOptionsParser$BooleanOptionFormat;Lorg/graalvm/collections/EconomicMap<Lorg/graalvm/compiler/options/OptionKey<*>;Ljava/lang/Object;>;Z)V
    MethodParameters:
                     Name  Flags
      arg                  
      optionPrefix         
      booleanOptionFormat  
      values               
      systemExitOnError    

  public org.graalvm.compiler.options.OptionKey<?> lookupOption(java.lang.String, java.util.Collection<org.graalvm.compiler.options.OptionDescriptor>);
    descriptor: (Ljava/lang/String;Ljava/util/Collection;)Lorg/graalvm/compiler/options/OptionKey;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // com.oracle.svm.core.option.RuntimeOptionParser this
        start local 1 // java.lang.String name
        start local 2 // java.util.Collection fuzzyMatches
         0: .line 211
            aload 0 /* this */
            getfield com.oracle.svm.core.option.RuntimeOptionParser.sortedOptions:Ljava/util/SortedMap;
            aload 1 /* name */
            invokeinterface java.util.SortedMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.options.OptionDescriptor
            astore 3 /* desc */
        start local 3 // org.graalvm.compiler.options.OptionDescriptor desc
         1: .line 213
            aload 3 /* desc */
            ifnonnull 6
         2: .line 214
            aload 2 /* fuzzyMatches */
            ifnull 4
         3: .line 215
            aload 0 /* this */
            getfield com.oracle.svm.core.option.RuntimeOptionParser.sortedOptions:Ljava/util/SortedMap;
            invokeinterface java.util.SortedMap.values:()Ljava/util/Collection;
            aload 1 /* name */
            aload 2 /* fuzzyMatches */
            invokestatic org.graalvm.compiler.options.OptionsParser.collectFuzzyMatches:(Ljava/lang/Iterable;Ljava/lang/String;Ljava/util/Collection;)Z
            pop
         4: .line 217
      StackMap locals: org.graalvm.compiler.options.OptionDescriptor
      StackMap stack:
            aconst_null
            astore 4 /* option */
        start local 4 // org.graalvm.compiler.options.OptionKey option
         5: .line 218
            goto 7
        end local 4 // org.graalvm.compiler.options.OptionKey option
         6: .line 219
      StackMap locals:
      StackMap stack:
            aload 3 /* desc */
            invokevirtual org.graalvm.compiler.options.OptionDescriptor.getOptionKey:()Lorg/graalvm/compiler/options/OptionKey;
            astore 4 /* option */
        start local 4 // org.graalvm.compiler.options.OptionKey option
         7: .line 221
      StackMap locals: org.graalvm.compiler.options.OptionKey
      StackMap stack:
            aload 4 /* option */
            areturn
        end local 4 // org.graalvm.compiler.options.OptionKey option
        end local 3 // org.graalvm.compiler.options.OptionDescriptor desc
        end local 2 // java.util.Collection fuzzyMatches
        end local 1 // java.lang.String name
        end local 0 // com.oracle.svm.core.option.RuntimeOptionParser this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          this  Lcom/oracle/svm/core/option/RuntimeOptionParser;
            0    8     1          name  Ljava/lang/String;
            0    8     2  fuzzyMatches  Ljava/util/Collection<Lorg/graalvm/compiler/options/OptionDescriptor;>;
            1    8     3          desc  Lorg/graalvm/compiler/options/OptionDescriptor;
            5    6     4        option  Lorg/graalvm/compiler/options/OptionKey<*>;
            7    8     4        option  Lorg/graalvm/compiler/options/OptionKey<*>;
    Signature: (Ljava/lang/String;Ljava/util/Collection<Lorg/graalvm/compiler/options/OptionDescriptor;>;)Lorg/graalvm/compiler/options/OptionKey<*>;
    MethodParameters:
              Name  Flags
      name          
      fuzzyMatches  

  public java.util.Collection<org.graalvm.compiler.options.OptionDescriptor> getDescriptors();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.core.option.RuntimeOptionParser this
         0: .line 225
            aload 0 /* this */
            getfield com.oracle.svm.core.option.RuntimeOptionParser.sortedOptions:Ljava/util/SortedMap;
            invokeinterface java.util.SortedMap.values:()Ljava/util/Collection;
            areturn
        end local 0 // com.oracle.svm.core.option.RuntimeOptionParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/core/option/RuntimeOptionParser;
    Signature: ()Ljava/util/Collection<Lorg/graalvm/compiler/options/OptionDescriptor;>;

  private void notifyOptionsParsed();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=3, args_size=1
        start local 0 // com.oracle.svm.core.option.RuntimeOptionParser this
         0: .line 229
            aload 0 /* this */
            getfield com.oracle.svm.core.option.RuntimeOptionParser.optionsParsedListeners:Ljava/util/ArrayList;
            ifnull 5
         1: .line 230
            aload 0 /* this */
            getfield com.oracle.svm.core.option.RuntimeOptionParser.optionsParsedListeners:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 2
            goto 4
      StackMap locals: com.oracle.svm.core.option.RuntimeOptionParser top java.util.Iterator
      StackMap stack:
         2: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.svm.core.option.RuntimeOptionParser$OptionsParsedListener
            astore 1 /* listener */
        start local 1 // com.oracle.svm.core.option.RuntimeOptionParser$OptionsParsedListener listener
         3: .line 231
            aload 1 /* listener */
            invokeinterface com.oracle.svm.core.option.RuntimeOptionParser$OptionsParsedListener.onOptionsParsed:()V
        end local 1 // com.oracle.svm.core.option.RuntimeOptionParser$OptionsParsedListener listener
         4: .line 230
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 234
      StackMap locals: com.oracle.svm.core.option.RuntimeOptionParser
      StackMap stack:
            return
        end local 0 // com.oracle.svm.core.option.RuntimeOptionParser this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lcom/oracle/svm/core/option/RuntimeOptionParser;
            3    4     1  listener  Lcom/oracle/svm/core/option/RuntimeOptionParser$OptionsParsedListener;
}
SourceFile: "RuntimeOptionParser.java"
NestMembers:
  com.oracle.svm.core.option.RuntimeOptionParser$OptionsParsedListener
InnerClasses:
  public abstract OptionsParsedListener = com.oracle.svm.core.option.RuntimeOptionParser$OptionsParsedListener of com.oracle.svm.core.option.RuntimeOptionParser
  public final BooleanOptionFormat = com.oracle.svm.core.option.SubstrateOptionsParser$BooleanOptionFormat of com.oracle.svm.core.option.SubstrateOptionsParser
  final OptionParseResult = com.oracle.svm.core.option.SubstrateOptionsParser$OptionParseResult of com.oracle.svm.core.option.SubstrateOptionsParser
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles