final class com.oracle.svm.driver.MacroOption$EnabledOption
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.oracle.svm.driver.MacroOption$EnabledOption
  super_class: java.lang.Object
{
  private final com.oracle.svm.driver.MacroOption option;
    descriptor: Lcom/oracle/svm/driver/MacroOption;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String optionArg;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean enabledFromCommandline;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private void <init>(com.oracle.svm.driver.MacroOption, java.lang.String, boolean);
    descriptor: (Lcom/oracle/svm/driver/MacroOption;Ljava/lang/String;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // com.oracle.svm.driver.MacroOption$EnabledOption this
        start local 1 // com.oracle.svm.driver.MacroOption option
        start local 2 // java.lang.String optionArg
        start local 3 // boolean enabledFromCommandline
         0: .line 179
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 180
            aload 0 /* this */
            aload 1 /* option */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.oracle.svm.driver.MacroOption
            putfield com.oracle.svm.driver.MacroOption$EnabledOption.option:Lcom/oracle/svm/driver/MacroOption;
         2: .line 181
            aload 0 /* this */
            aload 2 /* optionArg */
            putfield com.oracle.svm.driver.MacroOption$EnabledOption.optionArg:Ljava/lang/String;
         3: .line 182
            aload 0 /* this */
            iload 3 /* enabledFromCommandline */
            putfield com.oracle.svm.driver.MacroOption$EnabledOption.enabledFromCommandline:Z
         4: .line 183
            return
        end local 3 // boolean enabledFromCommandline
        end local 2 // java.lang.String optionArg
        end local 1 // com.oracle.svm.driver.MacroOption option
        end local 0 // com.oracle.svm.driver.MacroOption$EnabledOption this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    5     0                    this  Lcom/oracle/svm/driver/MacroOption$EnabledOption;
            0    5     1                  option  Lcom/oracle/svm/driver/MacroOption;
            0    5     2               optionArg  Ljava/lang/String;
            0    5     3  enabledFromCommandline  Z
    MethodParameters:
                        Name  Flags
      option                  
      optionArg               
      enabledFromCommandline  

  private java.lang.String resolvePropertyValue(com.oracle.svm.driver.NativeImage$BuildConfiguration, java.lang.String);
    descriptor: (Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.oracle.svm.driver.MacroOption$EnabledOption this
        start local 1 // com.oracle.svm.driver.NativeImage$BuildConfiguration config
        start local 2 // java.lang.String val
         0: .line 186
            aload 2 /* val */
            aload 0 /* this */
            getfield com.oracle.svm.driver.MacroOption$EnabledOption.optionArg:Ljava/lang/String;
            aload 0 /* this */
            invokevirtual com.oracle.svm.driver.MacroOption$EnabledOption.getOption:()Lcom/oracle/svm/driver/MacroOption;
            getfield com.oracle.svm.driver.MacroOption.optionDirectory:Ljava/nio/file/Path;
            aload 1 /* config */
            invokestatic com.oracle.svm.driver.NativeImage.resolvePropertyValue:(Ljava/lang/String;Ljava/lang/String;Ljava/nio/file/Path;Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;)Ljava/lang/String;
            areturn
        end local 2 // java.lang.String val
        end local 1 // com.oracle.svm.driver.NativeImage$BuildConfiguration config
        end local 0 // com.oracle.svm.driver.MacroOption$EnabledOption this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/oracle/svm/driver/MacroOption$EnabledOption;
            0    1     1  config  Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;
            0    1     2     val  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      config  
      val     

  java.lang.String getProperty(com.oracle.svm.driver.NativeImage$BuildConfiguration, java.lang.String, java.lang.String);
    descriptor: (Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // com.oracle.svm.driver.MacroOption$EnabledOption this
        start local 1 // com.oracle.svm.driver.NativeImage$BuildConfiguration config
        start local 2 // java.lang.String key
        start local 3 // java.lang.String defaultVal
         0: .line 190
            aload 0 /* this */
            getfield com.oracle.svm.driver.MacroOption$EnabledOption.option:Lcom/oracle/svm/driver/MacroOption;
            getfield com.oracle.svm.driver.MacroOption.properties:Ljava/util/Map;
            aload 2 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* val */
        start local 4 // java.lang.String val
         1: .line 191
            aload 4 /* val */
            ifnonnull 3
         2: .line 192
            aload 3 /* defaultVal */
            areturn
         3: .line 194
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 1 /* config */
            aload 4 /* val */
            invokevirtual com.oracle.svm.driver.MacroOption$EnabledOption.resolvePropertyValue:(Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 4 // java.lang.String val
        end local 3 // java.lang.String defaultVal
        end local 2 // java.lang.String key
        end local 1 // com.oracle.svm.driver.NativeImage$BuildConfiguration config
        end local 0 // com.oracle.svm.driver.MacroOption$EnabledOption this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lcom/oracle/svm/driver/MacroOption$EnabledOption;
            0    4     1      config  Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;
            0    4     2         key  Ljava/lang/String;
            0    4     3  defaultVal  Ljava/lang/String;
            1    4     4         val  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      config      
      key         
      defaultVal  

  java.lang.String getProperty(com.oracle.svm.driver.NativeImage$BuildConfiguration, java.lang.String);
    descriptor: (Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.oracle.svm.driver.MacroOption$EnabledOption this
        start local 1 // com.oracle.svm.driver.NativeImage$BuildConfiguration config
        start local 2 // java.lang.String key
         0: .line 198
            aload 0 /* this */
            aload 1 /* config */
            aload 2 /* key */
            aconst_null
            invokevirtual com.oracle.svm.driver.MacroOption$EnabledOption.getProperty:(Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 2 // java.lang.String key
        end local 1 // com.oracle.svm.driver.NativeImage$BuildConfiguration config
        end local 0 // com.oracle.svm.driver.MacroOption$EnabledOption this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/oracle/svm/driver/MacroOption$EnabledOption;
            0    1     1  config  Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;
            0    1     2     key  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      config  
      key     

  boolean forEachPropertyValue(com.oracle.svm.driver.NativeImage$BuildConfiguration, java.lang.String, java.util.function.Consumer<java.lang.String>);
    descriptor: (Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;Ljava/lang/String;Ljava/util/function/Consumer;)Z
    flags: (0x0000) 
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.oracle.svm.driver.MacroOption$EnabledOption this
        start local 1 // com.oracle.svm.driver.NativeImage$BuildConfiguration config
        start local 2 // java.lang.String propertyKey
        start local 3 // java.util.function.Consumer target
         0: .line 202
            aload 0 /* this */
            aload 1 /* config */
            aload 2 /* propertyKey */
            aload 3 /* target */
            ldc " "
            invokevirtual com.oracle.svm.driver.MacroOption$EnabledOption.forEachPropertyValue:(Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;Ljava/lang/String;Ljava/util/function/Consumer;Ljava/lang/String;)Z
            ireturn
        end local 3 // java.util.function.Consumer target
        end local 2 // java.lang.String propertyKey
        end local 1 // com.oracle.svm.driver.NativeImage$BuildConfiguration config
        end local 0 // com.oracle.svm.driver.MacroOption$EnabledOption this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lcom/oracle/svm/driver/MacroOption$EnabledOption;
            0    1     1       config  Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;
            0    1     2  propertyKey  Ljava/lang/String;
            0    1     3       target  Ljava/util/function/Consumer<Ljava/lang/String;>;
    Signature: (Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;Ljava/lang/String;Ljava/util/function/Consumer<Ljava/lang/String;>;)Z
    MethodParameters:
             Name  Flags
      config       
      propertyKey  
      target       

  boolean forEachPropertyValue(com.oracle.svm.driver.NativeImage$BuildConfiguration, java.lang.String, java.util.function.Consumer<java.lang.String>, java.lang.String);
    descriptor: (Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;Ljava/lang/String;Ljava/util/function/Consumer;Ljava/lang/String;)Z
    flags: (0x0000) 
    Code:
      stack=4, locals=6, args_size=5
        start local 0 // com.oracle.svm.driver.MacroOption$EnabledOption this
        start local 1 // com.oracle.svm.driver.NativeImage$BuildConfiguration config
        start local 2 // java.lang.String propertyKey
        start local 3 // java.util.function.Consumer target
        start local 4 // java.lang.String separatorRegex
         0: .line 206
            aload 0 /* this */
            aload 1 /* config */
            invokedynamic apply(Lcom/oracle/svm/driver/MacroOption$EnabledOption;Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;)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/MacroOption$EnabledOption.lambda$0(Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;Ljava/lang/String;)Ljava/lang/String; (7)
                  (Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* resolvePropertyValue */
        start local 5 // java.util.function.Function resolvePropertyValue
         1: .line 207
            aload 0 /* this */
            getfield com.oracle.svm.driver.MacroOption$EnabledOption.option:Lcom/oracle/svm/driver/MacroOption;
            getfield com.oracle.svm.driver.MacroOption.properties:Ljava/util/Map;
            aload 2 /* propertyKey */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            aload 3 /* target */
            aload 5 /* resolvePropertyValue */
            aload 4 /* separatorRegex */
            invokestatic com.oracle.svm.driver.NativeImage.forEachPropertyValue:(Ljava/lang/String;Ljava/util/function/Consumer;Ljava/util/function/Function;Ljava/lang/String;)Z
            ireturn
        end local 5 // java.util.function.Function resolvePropertyValue
        end local 4 // java.lang.String separatorRegex
        end local 3 // java.util.function.Consumer target
        end local 2 // java.lang.String propertyKey
        end local 1 // com.oracle.svm.driver.NativeImage$BuildConfiguration config
        end local 0 // com.oracle.svm.driver.MacroOption$EnabledOption this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    2     0                  this  Lcom/oracle/svm/driver/MacroOption$EnabledOption;
            0    2     1                config  Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;
            0    2     2           propertyKey  Ljava/lang/String;
            0    2     3                target  Ljava/util/function/Consumer<Ljava/lang/String;>;
            0    2     4        separatorRegex  Ljava/lang/String;
            1    2     5  resolvePropertyValue  Ljava/util/function/Function<Ljava/lang/String;Ljava/lang/String;>;
    Signature: (Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;Ljava/lang/String;Ljava/util/function/Consumer<Ljava/lang/String;>;Ljava/lang/String;)Z
    MethodParameters:
                Name  Flags
      config          
      propertyKey     
      target          
      separatorRegex  

  com.oracle.svm.driver.MacroOption getOption();
    descriptor: ()Lcom/oracle/svm/driver/MacroOption;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.driver.MacroOption$EnabledOption this
         0: .line 211
            aload 0 /* this */
            getfield com.oracle.svm.driver.MacroOption$EnabledOption.option:Lcom/oracle/svm/driver/MacroOption;
            areturn
        end local 0 // com.oracle.svm.driver.MacroOption$EnabledOption this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/driver/MacroOption$EnabledOption;

  boolean isEnabledFromCommandline();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.driver.MacroOption$EnabledOption this
         0: .line 215
            aload 0 /* this */
            getfield com.oracle.svm.driver.MacroOption$EnabledOption.enabledFromCommandline:Z
            ireturn
        end local 0 // com.oracle.svm.driver.MacroOption$EnabledOption this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/driver/MacroOption$EnabledOption;

  private java.lang.String lambda$0(com.oracle.svm.driver.NativeImage$BuildConfiguration, java.lang.String);
    descriptor: (Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.svm.driver.MacroOption$EnabledOption this
        start local 2 // java.lang.String str
         0: .line 206
            aload 0 /* this */
            aload 1
            aload 2 /* str */
            invokevirtual com.oracle.svm.driver.MacroOption$EnabledOption.resolvePropertyValue:(Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 2 // java.lang.String str
        end local 0 // com.oracle.svm.driver.MacroOption$EnabledOption this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/driver/MacroOption$EnabledOption;
            0    1     2   str  Ljava/lang/String;
}
SourceFile: "MacroOption.java"
NestHost: com.oracle.svm.driver.MacroOption
InnerClasses:
  final EnabledOption = com.oracle.svm.driver.MacroOption$EnabledOption of com.oracle.svm.driver.MacroOption
  public abstract BuildConfiguration = com.oracle.svm.driver.NativeImage$BuildConfiguration of com.oracle.svm.driver.NativeImage
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles