public class com.oracle.svm.driver.NativeImage
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.svm.driver.NativeImage
  super_class: java.lang.Object
{
  private static final java.lang.String DEFAULT_GENERATOR_CLASS_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "com.oracle.svm.hosted.NativeImageGeneratorRunner"

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

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

  static final boolean IS_AOT;
    descriptor: Z
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final java.lang.String platform;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final java.lang.String graalvmVersion;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final java.lang.String graalvmConfig;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final java.util.Map<java.lang.String, java.lang.String[]> graalCompilerFlags;
    descriptor: Ljava/util/Map;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;[Ljava/lang/String;>;

  static java.lang.Boolean useJVMCINativeLibrary;
    descriptor: Ljava/lang/Boolean;
    flags: (0x0008) ACC_STATIC

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

  final com.oracle.svm.driver.DefaultOptionHandler defaultOptionHandler;
    descriptor: Lcom/oracle/svm/driver/DefaultOptionHandler;
    flags: (0x0010) ACC_FINAL

  final com.oracle.svm.driver.APIOptionHandler apiOptionHandler;
    descriptor: Lcom/oracle/svm/driver/APIOptionHandler;
    flags: (0x0010) ACC_FINAL

  public static final java.lang.String oH;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "-H:"

  static final java.lang.String oR;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "-R:"

  final java.lang.String enablePrintFlags;
    descriptor: Ljava/lang/String;
    flags: (0x0010) ACC_FINAL

  final java.lang.String enablePrintFlagsWithExtraHelp;
    descriptor: Ljava/lang/String;
    flags: (0x0010) ACC_FINAL

  final java.lang.String oHClass;
    descriptor: Ljava/lang/String;
    flags: (0x0010) ACC_FINAL

  final java.lang.String oHName;
    descriptor: Ljava/lang/String;
    flags: (0x0010) ACC_FINAL

  final java.lang.String oHPath;
    descriptor: Ljava/lang/String;
    flags: (0x0010) ACC_FINAL

  final java.lang.String enableSharedLibraryFlag;
    descriptor: Ljava/lang/String;
    flags: (0x0010) ACC_FINAL

  final java.lang.String oHCLibraryPath;
    descriptor: Ljava/lang/String;
    flags: (0x0010) ACC_FINAL

  final java.lang.String oHOptimize;
    descriptor: Ljava/lang/String;
    flags: (0x0010) ACC_FINAL

  final java.lang.String oHFallbackThreshold;
    descriptor: Ljava/lang/String;
    flags: (0x0010) ACC_FINAL

  final java.lang.String oHFallbackExecutorJavaArg;
    descriptor: Ljava/lang/String;
    flags: (0x0010) ACC_FINAL

  final java.lang.String oRRuntimeJavaArg;
    descriptor: Ljava/lang/String;
    flags: (0x0010) ACC_FINAL

  final java.lang.String oHTraceClassInitialization;
    descriptor: Ljava/lang/String;
    flags: (0x0010) ACC_FINAL

  final java.lang.String oHTraceObjectInstantiation;
    descriptor: Ljava/lang/String;
    flags: (0x0010) ACC_FINAL

  final java.lang.String oHTargetPlatform;
    descriptor: Ljava/lang/String;
    flags: (0x0010) ACC_FINAL

  final java.lang.String oHSubstitutionFiles;
    descriptor: Ljava/lang/String;
    flags: (0x0010) ACC_FINAL

  final java.lang.String oHReflectionConfigurationFiles;
    descriptor: Ljava/lang/String;
    flags: (0x0010) ACC_FINAL

  final java.lang.String oHDynamicProxyConfigurationFiles;
    descriptor: Ljava/lang/String;
    flags: (0x0010) ACC_FINAL

  final java.lang.String oHResourceConfigurationFiles;
    descriptor: Ljava/lang/String;
    flags: (0x0010) ACC_FINAL

  final java.lang.String oHJNIConfigurationFiles;
    descriptor: Ljava/lang/String;
    flags: (0x0010) ACC_FINAL

  final java.lang.String oHSerializationConfigurationFiles;
    descriptor: Ljava/lang/String;
    flags: (0x0010) ACC_FINAL

  final java.lang.String oHSerializationDenyConfigurationFiles;
    descriptor: Ljava/lang/String;
    flags: (0x0010) ACC_FINAL

  final java.lang.String oHInspectServerContentPath;
    descriptor: Ljava/lang/String;
    flags: (0x0010) ACC_FINAL

  final java.lang.String oHDeadlockWatchdogInterval;
    descriptor: Ljava/lang/String;
    flags: (0x0010) ACC_FINAL

  static final java.lang.String oXmx;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "-Xmx"

  static final java.lang.String oXms;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "-Xms"

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

  private final java.util.LinkedHashSet<java.lang.String> imageBuilderArgs;
    descriptor: Ljava/util/LinkedHashSet;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/LinkedHashSet<Ljava/lang/String;>;

  private final java.util.LinkedHashSet<java.nio.file.Path> imageBuilderClasspath;
    descriptor: Ljava/util/LinkedHashSet;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/LinkedHashSet<Ljava/nio/file/Path;>;

  private final java.util.LinkedHashSet<java.nio.file.Path> imageBuilderBootClasspath;
    descriptor: Ljava/util/LinkedHashSet;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/LinkedHashSet<Ljava/nio/file/Path;>;

  private final java.util.LinkedHashSet<java.lang.String> imageIncludeBuiltinModules;
    descriptor: Ljava/util/LinkedHashSet;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/LinkedHashSet<Ljava/lang/String;>;

  private final java.util.ArrayList<java.lang.String> imageBuilderJavaArgs;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/ArrayList<Ljava/lang/String;>;

  private final java.util.LinkedHashSet<java.nio.file.Path> imageClasspath;
    descriptor: Ljava/util/LinkedHashSet;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/LinkedHashSet<Ljava/nio/file/Path;>;

  private final java.util.LinkedHashSet<java.nio.file.Path> imageProvidedClasspath;
    descriptor: Ljava/util/LinkedHashSet;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/LinkedHashSet<Ljava/nio/file/Path;>;

  private final java.util.ArrayList<java.lang.String> customJavaArgs;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/ArrayList<Ljava/lang/String;>;

  private final java.util.LinkedHashSet<java.lang.String> customImageBuilderArgs;
    descriptor: Ljava/util/LinkedHashSet;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/LinkedHashSet<Ljava/lang/String;>;

  private final java.util.LinkedHashSet<java.nio.file.Path> customImageClasspath;
    descriptor: Ljava/util/LinkedHashSet;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/LinkedHashSet<Ljava/nio/file/Path;>;

  private final java.util.ArrayList<com.oracle.svm.driver.NativeImage$OptionHandler<? extends com.oracle.svm.driver.NativeImage>> optionHandlers;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/ArrayList<Lcom/oracle/svm/driver/NativeImage$OptionHandler<+Lcom/oracle/svm/driver/NativeImage;>;>;

  protected final com.oracle.svm.driver.NativeImage$BuildConfiguration config;
    descriptor: Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  private final java.util.Map<java.lang.String, java.lang.String> userConfigProperties;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;

  private final java.util.Map<java.lang.String, java.lang.String> propertyFileSubstitutionValues;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;

  private boolean verbose;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean jarOptionMode;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean dryRun;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

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

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

  final com.oracle.svm.driver.MacroOption$Registry optionRegistry;
    descriptor: Lcom/oracle/svm/driver/MacroOption$Registry;
    flags: (0x0010) ACC_FINAL

  private java.util.LinkedHashSet<com.oracle.svm.driver.MacroOption$EnabledOption> enabledLanguages;
    descriptor: Ljava/util/LinkedHashSet;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/LinkedHashSet<Lcom/oracle/svm/driver/MacroOption$EnabledOption;>;

  public static final java.lang.String nativeImagePropertiesFilename;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "native-image.properties"

  public static final java.lang.String nativeImageMetaInf;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "META-INF/native-image"

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

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

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

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

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

  private java.nio.file.Path imagePath;
    descriptor: Ljava/nio/file/Path;
    flags: (0x0002) ACC_PRIVATE

  private static final java.util.function.Function<com.oracle.svm.driver.NativeImage$BuildConfiguration, com.oracle.svm.driver.NativeImage> defaultNativeImageProvider;
    descriptor: Ljava/util/function/Function;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/function/Function<Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;Lcom/oracle/svm/driver/NativeImage;>;

  private static java.lang.String deletedFileSuffix;
    descriptor: Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  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=2, locals=0, args_size=0
         0: .line 97
            ldc Lcom/oracle/svm/driver/NativeImage;
            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.NativeImage.$assertionsDisabled:Z
         3: .line 101
            ldc Lcom/oracle/svm/hosted/NativeImageSystemClassLoader;
            invokevirtual java.lang.Class.getCanonicalName:()Ljava/lang/String;
            putstatic com.oracle.svm.driver.NativeImage.CUSTOM_SYSTEM_CLASS_LOADER:Ljava/lang/String;
         4: .line 103
            ldc "com.oracle.graalvm.isaot"
            invokestatic java.lang.Boolean.getBoolean:(Ljava/lang/String;)Z
            putstatic com.oracle.svm.driver.NativeImage.IS_AOT:Z
         5: .line 105
            invokestatic com.oracle.svm.driver.NativeImage.getPlatform:()Ljava/lang/String;
            putstatic com.oracle.svm.driver.NativeImage.platform:Ljava/lang/String;
         6: .line 111
            ldc "org.graalvm.version"
            ldc "dev"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            putstatic com.oracle.svm.driver.NativeImage.graalvmVersion:Ljava/lang/String;
         7: .line 112
            ldc "org.graalvm.config"
            ldc ""
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            putstatic com.oracle.svm.driver.NativeImage.graalvmConfig:Ljava/lang/String;
         8: .line 126
            invokestatic com.oracle.svm.driver.NativeImage.getCompilerFlags:()Ljava/util/Map;
            putstatic com.oracle.svm.driver.NativeImage.graalCompilerFlags:Ljava/util/Map;
         9: .line 128
            aconst_null
            putstatic com.oracle.svm.driver.NativeImage.useJVMCINativeLibrary:Ljava/lang/Boolean;
        10: .line 141
            ldc "/Usage.txt"
            invokestatic com.oracle.svm.driver.NativeImage.getResource:(Ljava/lang/String;)Ljava/lang/String;
            putstatic com.oracle.svm.driver.NativeImage.usageText:Ljava/lang/String;
        11: .line 1371
            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/NativeImage.lambda$0(Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;)Lcom/oracle/svm/driver/NativeImage; (6)
                  (Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;)Lcom/oracle/svm/driver/NativeImage;
            putstatic com.oracle.svm.driver.NativeImage.defaultNativeImageProvider:Ljava/util/function/Function;
        12: .line 1816
            ldc ".deleted"
            putstatic com.oracle.svm.driver.NativeImage.deletedFileSuffix:Ljava/lang/String;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.String getPlatform();
    descriptor: ()Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 108
            new java.lang.StringBuilder
            dup
            invokestatic com.oracle.svm.core.OS.getCurrent:()Lcom/oracle/svm/core/OS;
            getfield com.oracle.svm.core.OS.className:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "-"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokestatic com.oracle.svm.core.SubstrateUtil.getArchitectureName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.util.Map<java.lang.String, java.lang.String[]> getCompilerFlags();
    descriptor: ()Ljava/util/Map;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=0
         0: .line 115
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 0 /* result */
        start local 0 // java.util.Map result
         1: .line 116
            ldc "versions"
            invokestatic com.oracle.svm.driver.NativeImage.flagsFileName:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic com.oracle.svm.driver.NativeImage.getResource:(Ljava/lang/String;)Ljava/lang/String;
            ldc "\n"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 5
      StackMap locals: java.util.Map top int int java.lang.String[]
      StackMap stack:
         2: aload 4
            iload 2
            aaload
            astore 1 /* versionTag */
        start local 1 // java.lang.String versionTag
         3: .line 117
            aload 0 /* result */
            aload 1 /* versionTag */
            aload 1 /* versionTag */
            invokestatic com.oracle.svm.driver.NativeImage.flagsFileName:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic com.oracle.svm.driver.NativeImage.getResource:(Ljava/lang/String;)Ljava/lang/String;
            ldc "\n"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 1 // java.lang.String versionTag
         4: .line 116
            iinc 2 1
      StackMap locals:
      StackMap stack:
         5: iload 2
            iload 3
            if_icmplt 2
         6: .line 119
            aload 0 /* result */
            areturn
        end local 0 // java.util.Map result
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            1    7     0      result  Ljava/util/Map<Ljava/lang/String;[Ljava/lang/String;>;
            3    4     1  versionTag  Ljava/lang/String;
    Signature: ()Ljava/util/Map<Ljava/lang/String;[Ljava/lang/String;>;

  private static java.lang.String flagsFileName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String versionTag
         0: .line 123
            new java.lang.StringBuilder
            dup
            ldc "/graal-compiler-flags-"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* versionTag */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ".config"
            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 versionTag
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  versionTag  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      versionTag  

  static java.lang.String getResource(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=6, args_size=1
        start local 0 // java.lang.String resourceName
         0: .line 131
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: ldc Lcom/oracle/svm/driver/NativeImage;
            aload 0 /* resourceName */
            invokevirtual java.lang.Class.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
            astore 3 /* input */
        start local 3 // java.io.InputStream input
         2: .line 132
            new java.io.BufferedReader
            dup
            new java.io.InputStreamReader
            dup
            aload 3 /* input */
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/nio/charset/Charset;)V
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
            astore 4 /* reader */
        start local 4 // java.io.BufferedReader reader
         3: .line 133
            aload 4 /* reader */
            invokevirtual java.io.BufferedReader.lines:()Ljava/util/stream/Stream;
            ldc "\n"
            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
            astore 5 /* resourceString */
        start local 5 // java.lang.String resourceString
         4: .line 134
            aload 5 /* resourceString */
            ldc "%pathsep%"
            getstatic java.io.File.pathSeparator:Ljava/lang/String;
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
         5: .line 135
            aload 3 /* input */
            ifnull 6
            aload 3 /* input */
            invokevirtual java.io.InputStream.close:()V
         6: .line 134
      StackMap locals: java.lang.String java.lang.Throwable java.lang.Throwable java.io.InputStream java.io.BufferedReader java.lang.String
      StackMap stack: java.lang.String
            areturn
        end local 5 // java.lang.String resourceString
        end local 4 // java.io.BufferedReader reader
      StackMap locals: java.lang.String java.lang.Throwable java.lang.Throwable java.io.InputStream
      StackMap stack: java.lang.Throwable
         7: astore 1
         8: .line 135
            aload 3 /* input */
            ifnull 9
            aload 3 /* input */
            invokevirtual java.io.InputStream.close:()V
        end local 3 // java.io.InputStream input
      StackMap locals:
      StackMap stack:
         9: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: astore 2
            aload 1
            ifnonnull 11
            aload 2
            astore 1
            goto 12
      StackMap locals:
      StackMap stack:
        11: aload 1
            aload 2
            if_acmpeq 12
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        12: aload 1
            athrow
      StackMap locals: java.lang.String
      StackMap stack: java.io.IOException
        13: astore 1 /* e */
        start local 1 // java.io.IOException e
        14: .line 136
            aload 1 /* e */
            invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            pop
        end local 1 // java.io.IOException e
        15: .line 138
            aconst_null
            areturn
        end local 0 // java.lang.String resourceName
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   16     0    resourceName  Ljava/lang/String;
            2    9     3           input  Ljava/io/InputStream;
            3    7     4          reader  Ljava/io/BufferedReader;
            4    7     5  resourceString  Ljava/lang/String;
           14   15     1               e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           2     5       7  any
           1     6      10  any
           7    10      10  any
           0     6      13  Class java.io.IOException
           7    13      13  Class java.io.IOException
    MethodParameters:
              Name  Flags
      resourceName  

  private static <T> java.lang.String oH(org.graalvm.compiler.options.OptionKey<T>);
    descriptor: (Lorg/graalvm/compiler/options/OptionKey;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.options.OptionKey option
         0: .line 167
            new java.lang.StringBuilder
            dup
            ldc "-H:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* option */
            invokevirtual org.graalvm.compiler.options.OptionKey.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.graalvm.compiler.options.OptionKey option
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  option  Lorg/graalvm/compiler/options/OptionKey<TT;>;
    Signature: <T:Ljava/lang/Object;>(Lorg/graalvm/compiler/options/OptionKey<TT;>;)Ljava/lang/String;
    MethodParameters:
        Name  Flags
      option  

  private static <T> java.lang.String oR(org.graalvm.compiler.options.OptionKey<T>);
    descriptor: (Lorg/graalvm/compiler/options/OptionKey;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.options.OptionKey option
         0: .line 171
            new java.lang.StringBuilder
            dup
            ldc "-R:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* option */
            invokevirtual org.graalvm.compiler.options.OptionKey.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.graalvm.compiler.options.OptionKey option
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  option  Lorg/graalvm/compiler/options/OptionKey<TT;>;
    Signature: <T:Ljava/lang/Object;>(Lorg/graalvm/compiler/options/OptionKey<TT;>;)Ljava/lang/String;
    MethodParameters:
        Name  Flags
      option  

  private java.util.ArrayList<java.lang.String> createFallbackBuildArgs();
    descriptor: ()Ljava/util/ArrayList;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=1
        start local 0 // com.oracle.svm.driver.NativeImage this
         0: .line 585
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* buildArgs */
        start local 1 // java.util.ArrayList buildArgs
         1: .line 586
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.customJavaArgs:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.stream:()Ljava/util/stream/Stream;
         2: .line 587
            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/NativeImage.lambda$1(Ljava/lang/String;)Z (6)
                  (Ljava/lang/String;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
         3: .line 588
            invokedynamic get()Ljava/util/function/Supplier;
              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;
                  java/util/LinkedHashSet.<init>()V (8)
                  ()Ljava/util/LinkedHashSet;
            invokestatic java.util.stream.Collectors.toCollection:(Ljava/util/function/Supplier;)Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.Collection
         4: .line 586
            astore 2 /* fallbackSystemProperties */
        start local 2 // java.util.Collection fallbackSystemProperties
         5: .line 589
            aload 2 /* fallbackSystemProperties */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 8
      StackMap locals: com.oracle.svm.driver.NativeImage java.util.ArrayList java.util.Collection top java.util.Iterator
      StackMap stack:
         6: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* property */
        start local 3 // java.lang.String property
         7: .line 590
            aload 1 /* buildArgs */
            new java.lang.StringBuilder
            dup
            getstatic com.oracle.svm.core.FallbackExecutor$Options.FallbackExecutorSystemProperty:Lcom/oracle/svm/core/option/HostedOptionKey;
            invokestatic com.oracle.svm.driver.NativeImage.oH:(Lorg/graalvm/compiler/options/OptionKey;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* property */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.lang.String property
         8: .line 589
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
         9: .line 593
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageBuilderArgs:Ljava/util/LinkedHashSet;
            invokevirtual java.util.LinkedHashSet.stream:()Ljava/util/stream/Stream;
        10: .line 594
            aload 0 /* this */
            invokedynamic test(Lcom/oracle/svm/driver/NativeImage;)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/NativeImage.lambda$3(Ljava/lang/String;)Z (7)
                  (Ljava/lang/String;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
        11: .line 595
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
        12: .line 593
            astore 3 /* runtimeJavaArgs */
        start local 3 // java.util.List runtimeJavaArgs
        13: .line 596
            aload 3 /* runtimeJavaArgs */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 16
      StackMap locals: com.oracle.svm.driver.NativeImage java.util.ArrayList java.util.Collection java.util.List top java.util.Iterator
      StackMap stack:
        14: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* runtimeJavaArg */
        start local 4 // java.lang.String runtimeJavaArg
        15: .line 597
            aload 1 /* buildArgs */
            aload 4 /* runtimeJavaArg */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.String runtimeJavaArg
        16: .line 596
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 14
        17: .line 600
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageBuilderArgs:Ljava/util/LinkedHashSet;
            invokevirtual java.util.LinkedHashSet.stream:()Ljava/util/stream/Stream;
        18: .line 601
            aload 0 /* this */
            invokedynamic test(Lcom/oracle/svm/driver/NativeImage;)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/NativeImage.lambda$4(Ljava/lang/String;)Z (7)
                  (Ljava/lang/String;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
        19: .line 602
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
        20: .line 600
            astore 4 /* fallbackExecutorJavaArgs */
        start local 4 // java.util.List fallbackExecutorJavaArgs
        21: .line 603
            aload 4 /* fallbackExecutorJavaArgs */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 24
      StackMap locals: com.oracle.svm.driver.NativeImage java.util.ArrayList java.util.Collection java.util.List java.util.List top java.util.Iterator
      StackMap stack:
        22: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* fallbackExecutorJavaArg */
        start local 5 // java.lang.String fallbackExecutorJavaArg
        23: .line 604
            aload 1 /* buildArgs */
            aload 5 /* fallbackExecutorJavaArg */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // java.lang.String fallbackExecutorJavaArg
        24: .line 603
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 22
        25: .line 607
            aload 1 /* buildArgs */
            new java.lang.StringBuilder
            dup
            ldc "-H:+"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic com.oracle.svm.core.SubstrateOptions.ParseRuntimeOptions:Lcom/oracle/svm/core/option/HostedOptionKey;
            invokevirtual com.oracle.svm.core.option.HostedOptionKey.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        26: .line 608
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageClasspath:Ljava/util/LinkedHashSet;
            invokevirtual java.util.LinkedHashSet.stream:()Ljava/util/stream/Stream;
        27: .line 609
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imagePath:Ljava/nio/file/Path;
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic apply(Ljava/nio/file/Path;)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;
                  java/nio/file/Path.relativize(Ljava/nio/file/Path;)Ljava/nio/file/Path; (9 itf)
                  (Ljava/nio/file/Path;)Ljava/nio/file/Path;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
        28: .line 610
            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/core/util/ClasspathUtils.classpathToString(Ljava/nio/file/Path;)Ljava/lang/String; (6)
                  (Ljava/nio/file/Path;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
        29: .line 611
            getstatic java.io.File.pathSeparator:Ljava/lang/String;
            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
        30: .line 608
            astore 5 /* classpathString */
        start local 5 // java.lang.String classpathString
        31: .line 612
            aload 1 /* buildArgs */
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.oHPath: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 /* this */
            getfield com.oracle.svm.driver.NativeImage.imagePath:Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        32: .line 613
            aload 1 /* buildArgs */
            new java.lang.StringBuilder
            dup
            getstatic com.oracle.svm.core.FallbackExecutor$Options.FallbackExecutorClasspath:Lcom/oracle/svm/core/option/HostedOptionKey;
            invokestatic com.oracle.svm.driver.NativeImage.oH:(Lorg/graalvm/compiler/options/OptionKey;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* classpathString */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        33: .line 614
            aload 1 /* buildArgs */
            new java.lang.StringBuilder
            dup
            getstatic com.oracle.svm.core.FallbackExecutor$Options.FallbackExecutorMainClass:Lcom/oracle/svm/core/option/HostedOptionKey;
            invokestatic com.oracle.svm.driver.NativeImage.oH:(Lorg/graalvm/compiler/options/OptionKey;)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 /* this */
            getfield com.oracle.svm.driver.NativeImage.mainClass:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        34: .line 620
            aload 1 /* buildArgs */
            new java.lang.StringBuilder
            dup
            ldc "-H:-"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic com.oracle.svm.core.SubstrateOptions.DetectUserDirectoriesInImageHeap:Lcom/oracle/svm/core/option/HostedOptionKey;
            invokevirtual com.oracle.svm.core.option.HostedOptionKey.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        35: .line 622
            aload 1 /* buildArgs */
            ldc Lcom/oracle/svm/core/FallbackExecutor;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        36: .line 623
            aload 1 /* buildArgs */
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageName:Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        37: .line 625
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.optionHandlers:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 8
            goto 40
      StackMap locals: com.oracle.svm.driver.NativeImage java.util.ArrayList java.util.Collection java.util.List java.util.List java.lang.String top top java.util.Iterator
      StackMap stack:
        38: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.svm.driver.NativeImage$OptionHandler
            astore 7 /* handler */
        start local 7 // com.oracle.svm.driver.NativeImage$OptionHandler handler
        39: .line 626
            aload 7 /* handler */
            aload 1 /* buildArgs */
            invokevirtual com.oracle.svm.driver.NativeImage$OptionHandler.addFallbackBuildArgs:(Ljava/util/List;)V
        end local 7 // com.oracle.svm.driver.NativeImage$OptionHandler handler
        40: .line 625
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 38
        41: .line 628
            aload 1 /* buildArgs */
            areturn
        end local 5 // java.lang.String classpathString
        end local 4 // java.util.List fallbackExecutorJavaArgs
        end local 3 // java.util.List runtimeJavaArgs
        end local 2 // java.util.Collection fallbackSystemProperties
        end local 1 // java.util.ArrayList buildArgs
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   42     0                      this  Lcom/oracle/svm/driver/NativeImage;
            1   42     1                 buildArgs  Ljava/util/ArrayList<Ljava/lang/String;>;
            5   42     2  fallbackSystemProperties  Ljava/util/Collection<Ljava/lang/String;>;
            7    8     3                  property  Ljava/lang/String;
           13   42     3           runtimeJavaArgs  Ljava/util/List<Ljava/lang/String;>;
           15   16     4            runtimeJavaArg  Ljava/lang/String;
           21   42     4  fallbackExecutorJavaArgs  Ljava/util/List<Ljava/lang/String;>;
           23   24     5   fallbackExecutorJavaArg  Ljava/lang/String;
           31   42     5           classpathString  Ljava/lang/String;
           39   40     7                   handler  Lcom/oracle/svm/driver/NativeImage$OptionHandler<+Lcom/oracle/svm/driver/NativeImage;>;
    Signature: ()Ljava/util/ArrayList<Ljava/lang/String;>;

  protected void <init>(com.oracle.svm.driver.NativeImage$BuildConfiguration);
    descriptor: (Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 1 // com.oracle.svm.driver.NativeImage$BuildConfiguration config
         0: .line 663
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 163
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            getstatic com.oracle.svm.core.SubstrateOptions.PrintFlags:Lorg/graalvm/compiler/options/OptionKey;
            invokevirtual org.graalvm.compiler.options.OptionKey.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield com.oracle.svm.driver.NativeImage.enablePrintFlags:Ljava/lang/String;
         2: .line 164
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            getstatic com.oracle.svm.core.SubstrateOptions.PrintFlagsWithExtraHelp:Lorg/graalvm/compiler/options/OptionKey;
            invokevirtual org.graalvm.compiler.options.OptionKey.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield com.oracle.svm.driver.NativeImage.enablePrintFlagsWithExtraHelp:Ljava/lang/String;
         3: .line 174
            aload 0 /* this */
            getstatic com.oracle.svm.core.SubstrateOptions.Class:Lcom/oracle/svm/core/option/HostedOptionKey;
            invokestatic com.oracle.svm.driver.NativeImage.oH:(Lorg/graalvm/compiler/options/OptionKey;)Ljava/lang/String;
            putfield com.oracle.svm.driver.NativeImage.oHClass:Ljava/lang/String;
         4: .line 175
            aload 0 /* this */
            getstatic com.oracle.svm.core.SubstrateOptions.Name:Lcom/oracle/svm/core/option/HostedOptionKey;
            invokestatic com.oracle.svm.driver.NativeImage.oH:(Lorg/graalvm/compiler/options/OptionKey;)Ljava/lang/String;
            putfield com.oracle.svm.driver.NativeImage.oHName:Ljava/lang/String;
         5: .line 176
            aload 0 /* this */
            getstatic com.oracle.svm.core.SubstrateOptions.Path:Lcom/oracle/svm/core/option/HostedOptionKey;
            invokestatic com.oracle.svm.driver.NativeImage.oH:(Lorg/graalvm/compiler/options/OptionKey;)Ljava/lang/String;
            putfield com.oracle.svm.driver.NativeImage.oHPath:Ljava/lang/String;
         6: .line 177
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "-H:+"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic com.oracle.svm.core.SubstrateOptions.SharedLibrary:Lcom/oracle/svm/core/option/HostedOptionKey;
            invokevirtual com.oracle.svm.core.option.HostedOptionKey.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield com.oracle.svm.driver.NativeImage.enableSharedLibraryFlag:Ljava/lang/String;
         7: .line 178
            aload 0 /* this */
            getstatic com.oracle.svm.core.SubstrateOptions.CLibraryPath:Lcom/oracle/svm/core/option/HostedOptionKey;
            invokestatic com.oracle.svm.driver.NativeImage.oH:(Lorg/graalvm/compiler/options/OptionKey;)Ljava/lang/String;
            putfield com.oracle.svm.driver.NativeImage.oHCLibraryPath:Ljava/lang/String;
         8: .line 179
            aload 0 /* this */
            getstatic com.oracle.svm.core.SubstrateOptions.Optimize:Lcom/oracle/svm/core/option/HostedOptionKey;
            invokestatic com.oracle.svm.driver.NativeImage.oH:(Lorg/graalvm/compiler/options/OptionKey;)Ljava/lang/String;
            putfield com.oracle.svm.driver.NativeImage.oHOptimize:Ljava/lang/String;
         9: .line 180
            aload 0 /* this */
            getstatic com.oracle.svm.core.SubstrateOptions.FallbackThreshold:Lcom/oracle/svm/core/option/HostedOptionKey;
            invokestatic com.oracle.svm.driver.NativeImage.oH:(Lorg/graalvm/compiler/options/OptionKey;)Ljava/lang/String;
            putfield com.oracle.svm.driver.NativeImage.oHFallbackThreshold:Ljava/lang/String;
        10: .line 181
            aload 0 /* this */
            getstatic com.oracle.svm.core.FallbackExecutor$Options.FallbackExecutorJavaArg:Lcom/oracle/svm/core/option/HostedOptionKey;
            invokestatic com.oracle.svm.driver.NativeImage.oH:(Lorg/graalvm/compiler/options/OptionKey;)Ljava/lang/String;
            putfield com.oracle.svm.driver.NativeImage.oHFallbackExecutorJavaArg:Ljava/lang/String;
        11: .line 182
            aload 0 /* this */
            getstatic com.oracle.svm.core.FallbackExecutor$Options.FallbackExecutorRuntimeJavaArg:Lcom/oracle/svm/core/option/RuntimeOptionKey;
            invokestatic com.oracle.svm.driver.NativeImage.oR:(Lorg/graalvm/compiler/options/OptionKey;)Ljava/lang/String;
            putfield com.oracle.svm.driver.NativeImage.oRRuntimeJavaArg:Ljava/lang/String;
        12: .line 183
            aload 0 /* this */
            getstatic com.oracle.svm.core.SubstrateOptions.TraceClassInitialization:Lcom/oracle/svm/core/option/HostedOptionKey;
            invokestatic com.oracle.svm.driver.NativeImage.oH:(Lorg/graalvm/compiler/options/OptionKey;)Ljava/lang/String;
            putfield com.oracle.svm.driver.NativeImage.oHTraceClassInitialization:Ljava/lang/String;
        13: .line 184
            aload 0 /* this */
            getstatic com.oracle.svm.core.SubstrateOptions.TraceObjectInstantiation:Lcom/oracle/svm/core/option/HostedOptionKey;
            invokestatic com.oracle.svm.driver.NativeImage.oH:(Lorg/graalvm/compiler/options/OptionKey;)Ljava/lang/String;
            putfield com.oracle.svm.driver.NativeImage.oHTraceObjectInstantiation:Ljava/lang/String;
        14: .line 185
            aload 0 /* this */
            getstatic com.oracle.svm.core.SubstrateOptions.TargetPlatform:Lcom/oracle/svm/core/option/HostedOptionKey;
            invokestatic com.oracle.svm.driver.NativeImage.oH:(Lorg/graalvm/compiler/options/OptionKey;)Ljava/lang/String;
            putfield com.oracle.svm.driver.NativeImage.oHTargetPlatform:Ljava/lang/String;
        15: .line 188
            aload 0 /* this */
            getstatic com.oracle.svm.core.configure.ConfigurationFiles$Options.SubstitutionFiles:Lcom/oracle/svm/core/option/HostedOptionKey;
            invokestatic com.oracle.svm.driver.NativeImage.oH:(Lorg/graalvm/compiler/options/OptionKey;)Ljava/lang/String;
            putfield com.oracle.svm.driver.NativeImage.oHSubstitutionFiles:Ljava/lang/String;
        16: .line 189
            aload 0 /* this */
            getstatic com.oracle.svm.core.configure.ConfigurationFiles$Options.ReflectionConfigurationFiles:Lcom/oracle/svm/core/option/HostedOptionKey;
            invokestatic com.oracle.svm.driver.NativeImage.oH:(Lorg/graalvm/compiler/options/OptionKey;)Ljava/lang/String;
            putfield com.oracle.svm.driver.NativeImage.oHReflectionConfigurationFiles:Ljava/lang/String;
        17: .line 190
            aload 0 /* this */
            getstatic com.oracle.svm.core.configure.ConfigurationFiles$Options.DynamicProxyConfigurationFiles:Lcom/oracle/svm/core/option/HostedOptionKey;
            invokestatic com.oracle.svm.driver.NativeImage.oH:(Lorg/graalvm/compiler/options/OptionKey;)Ljava/lang/String;
            putfield com.oracle.svm.driver.NativeImage.oHDynamicProxyConfigurationFiles:Ljava/lang/String;
        18: .line 191
            aload 0 /* this */
            getstatic com.oracle.svm.core.configure.ConfigurationFiles$Options.ResourceConfigurationFiles:Lcom/oracle/svm/core/option/HostedOptionKey;
            invokestatic com.oracle.svm.driver.NativeImage.oH:(Lorg/graalvm/compiler/options/OptionKey;)Ljava/lang/String;
            putfield com.oracle.svm.driver.NativeImage.oHResourceConfigurationFiles:Ljava/lang/String;
        19: .line 192
            aload 0 /* this */
            getstatic com.oracle.svm.core.configure.ConfigurationFiles$Options.JNIConfigurationFiles:Lcom/oracle/svm/core/option/HostedOptionKey;
            invokestatic com.oracle.svm.driver.NativeImage.oH:(Lorg/graalvm/compiler/options/OptionKey;)Ljava/lang/String;
            putfield com.oracle.svm.driver.NativeImage.oHJNIConfigurationFiles:Ljava/lang/String;
        20: .line 193
            aload 0 /* this */
            getstatic com.oracle.svm.core.configure.ConfigurationFiles$Options.SerializationConfigurationFiles:Lcom/oracle/svm/core/option/HostedOptionKey;
            invokestatic com.oracle.svm.driver.NativeImage.oH:(Lorg/graalvm/compiler/options/OptionKey;)Ljava/lang/String;
            putfield com.oracle.svm.driver.NativeImage.oHSerializationConfigurationFiles:Ljava/lang/String;
        21: .line 194
            aload 0 /* this */
            getstatic com.oracle.svm.core.configure.ConfigurationFiles$Options.SerializationDenyConfigurationFiles:Lcom/oracle/svm/core/option/HostedOptionKey;
            invokestatic com.oracle.svm.driver.NativeImage.oH:(Lorg/graalvm/compiler/options/OptionKey;)Ljava/lang/String;
            putfield com.oracle.svm.driver.NativeImage.oHSerializationDenyConfigurationFiles:Ljava/lang/String;
        22: .line 196
            aload 0 /* this */
            getstatic com.oracle.graal.pointsto.api.PointstoOptions.InspectServerContentPath:Lorg/graalvm/compiler/options/OptionKey;
            invokestatic com.oracle.svm.driver.NativeImage.oH:(Lorg/graalvm/compiler/options/OptionKey;)Ljava/lang/String;
            putfield com.oracle.svm.driver.NativeImage.oHInspectServerContentPath:Ljava/lang/String;
        23: .line 197
            aload 0 /* this */
            getstatic com.oracle.svm.core.SubstrateOptions.DeadlockWatchdogInterval:Lcom/oracle/svm/core/option/HostedOptionKey;
            invokestatic com.oracle.svm.driver.NativeImage.oH:(Lorg/graalvm/compiler/options/OptionKey;)Ljava/lang/String;
            putfield com.oracle.svm.driver.NativeImage.oHDeadlockWatchdogInterval:Ljava/lang/String;
        24: .line 204
            aload 0 /* this */
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            putfield com.oracle.svm.driver.NativeImage.imageBuilderArgs:Ljava/util/LinkedHashSet;
        25: .line 205
            aload 0 /* this */
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            putfield com.oracle.svm.driver.NativeImage.imageBuilderClasspath:Ljava/util/LinkedHashSet;
        26: .line 206
            aload 0 /* this */
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            putfield com.oracle.svm.driver.NativeImage.imageBuilderBootClasspath:Ljava/util/LinkedHashSet;
        27: .line 207
            aload 0 /* this */
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            putfield com.oracle.svm.driver.NativeImage.imageIncludeBuiltinModules:Ljava/util/LinkedHashSet;
        28: .line 208
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.oracle.svm.driver.NativeImage.imageBuilderJavaArgs:Ljava/util/ArrayList;
        29: .line 209
            aload 0 /* this */
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            putfield com.oracle.svm.driver.NativeImage.imageClasspath:Ljava/util/LinkedHashSet;
        30: .line 210
            aload 0 /* this */
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            putfield com.oracle.svm.driver.NativeImage.imageProvidedClasspath:Ljava/util/LinkedHashSet;
        31: .line 211
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.oracle.svm.driver.NativeImage.customJavaArgs:Ljava/util/ArrayList;
        32: .line 212
            aload 0 /* this */
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            putfield com.oracle.svm.driver.NativeImage.customImageBuilderArgs:Ljava/util/LinkedHashSet;
        33: .line 213
            aload 0 /* this */
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            putfield com.oracle.svm.driver.NativeImage.customImageClasspath:Ljava/util/LinkedHashSet;
        34: .line 214
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.oracle.svm.driver.NativeImage.optionHandlers:Ljava/util/ArrayList;
        35: .line 218
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield com.oracle.svm.driver.NativeImage.userConfigProperties:Ljava/util/Map;
        36: .line 219
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield com.oracle.svm.driver.NativeImage.propertyFileSubstitutionValues:Ljava/util/Map;
        37: .line 221
            aload 0 /* this */
            ldc "VERBOSE_GRAALVM_LAUNCHERS"
            invokestatic java.lang.System.getenv:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Boolean.valueOf:(Ljava/lang/String;)Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            putfield com.oracle.svm.driver.NativeImage.verbose:Z
        38: .line 222
            aload 0 /* this */
            iconst_0
            putfield com.oracle.svm.driver.NativeImage.jarOptionMode:Z
        39: .line 223
            aload 0 /* this */
            iconst_0
            putfield com.oracle.svm.driver.NativeImage.dryRun:Z
        40: .line 224
            aload 0 /* this */
            aconst_null
            putfield com.oracle.svm.driver.NativeImage.printFlagsOptionQuery:Ljava/lang/String;
        41: .line 225
            aload 0 /* this */
            aconst_null
            putfield com.oracle.svm.driver.NativeImage.printFlagsWithExtraHelpOptionQuery:Ljava/lang/String;
        42: .line 1259
            aload 0 /* this */
            aconst_null
            putfield com.oracle.svm.driver.NativeImage.targetPlatform:Ljava/lang/String;
        43: .line 1260
            aload 0 /* this */
            aconst_null
            putfield com.oracle.svm.driver.NativeImage.targetOS:Ljava/lang/String;
        44: .line 1261
            aload 0 /* this */
            aconst_null
            putfield com.oracle.svm.driver.NativeImage.targetArch:Ljava/lang/String;
        45: .line 664
            aload 0 /* this */
            aload 1 /* config */
            putfield com.oracle.svm.driver.NativeImage.config:Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;
        46: .line 666
            ldc "NATIVE_IMAGE_CONFIG_FILE"
            astore 2 /* configFileEnvVarKey */
        start local 2 // java.lang.String configFileEnvVarKey
        47: .line 667
            aload 2 /* configFileEnvVarKey */
            invokestatic java.lang.System.getenv:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* configFile */
        start local 3 // java.lang.String configFile
        48: .line 668
            aload 3 /* configFile */
            ifnull 53
            aload 3 /* configFile */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 53
        49: .line 670
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.userConfigProperties:Ljava/util/Map;
            aload 0 /* this */
            aload 3 /* configFile */
            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;
            invokestatic com.oracle.svm.driver.NativeImage.loadProperties:(Ljava/nio/file/Path;)Ljava/util/Map;
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
        50: .line 671
            goto 53
      StackMap locals: com.oracle.svm.driver.NativeImage com.oracle.svm.driver.NativeImage$BuildConfiguration java.lang.String java.lang.String
      StackMap stack: java.lang.Throwable
        51: astore 4 /* e */
        start local 4 // java.lang.Throwable e
        52: .line 672
            new java.lang.StringBuilder
            dup
            ldc "Invalid environment variable "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* configFileEnvVarKey */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 4 /* e */
            invokestatic com.oracle.svm.driver.NativeImage.showError:(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/Error;
            pop
        end local 4 // java.lang.Throwable e
        53: .line 677
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.oHPath:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* config */
            invokeinterface com.oracle.svm.driver.NativeImage$BuildConfiguration.getWorkingDirectory:()Ljava/nio/file/Path;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.oracle.svm.driver.NativeImage.addPlainImageBuilderArg:(Ljava/lang/String;)V
        54: .line 680
            aload 0 /* this */
            new com.oracle.svm.driver.MacroOption$Registry
            dup
            invokespecial com.oracle.svm.driver.MacroOption$Registry.<init>:()V
            putfield com.oracle.svm.driver.NativeImage.optionRegistry:Lcom/oracle/svm/driver/MacroOption$Registry;
        55: .line 683
            aload 0 /* this */
            new com.oracle.svm.driver.DefaultOptionHandler
            dup
            aload 0 /* this */
            invokespecial com.oracle.svm.driver.DefaultOptionHandler.<init>:(Lcom/oracle/svm/driver/NativeImage;)V
            putfield com.oracle.svm.driver.NativeImage.defaultOptionHandler:Lcom/oracle/svm/driver/DefaultOptionHandler;
        56: .line 684
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.defaultOptionHandler:Lcom/oracle/svm/driver/DefaultOptionHandler;
            invokevirtual com.oracle.svm.driver.NativeImage.registerOptionHandler:(Lcom/oracle/svm/driver/NativeImage$OptionHandler;)V
        57: .line 685
            aload 0 /* this */
            new com.oracle.svm.driver.APIOptionHandler
            dup
            aload 0 /* this */
            invokespecial com.oracle.svm.driver.APIOptionHandler.<init>:(Lcom/oracle/svm/driver/NativeImage;)V
            putfield com.oracle.svm.driver.NativeImage.apiOptionHandler:Lcom/oracle/svm/driver/APIOptionHandler;
        58: .line 686
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.apiOptionHandler:Lcom/oracle/svm/driver/APIOptionHandler;
            invokevirtual com.oracle.svm.driver.NativeImage.registerOptionHandler:(Lcom/oracle/svm/driver/NativeImage$OptionHandler;)V
        59: .line 687
            aload 0 /* this */
            new com.oracle.svm.driver.MacroOptionHandler
            dup
            aload 0 /* this */
            invokespecial com.oracle.svm.driver.MacroOptionHandler.<init>:(Lcom/oracle/svm/driver/NativeImage;)V
            invokevirtual com.oracle.svm.driver.NativeImage.registerOptionHandler:(Lcom/oracle/svm/driver/NativeImage$OptionHandler;)V
        60: .line 688
            return
        end local 3 // java.lang.String configFile
        end local 2 // java.lang.String configFileEnvVarKey
        end local 1 // com.oracle.svm.driver.NativeImage$BuildConfiguration config
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   61     0                 this  Lcom/oracle/svm/driver/NativeImage;
            0   61     1               config  Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;
           47   61     2  configFileEnvVarKey  Ljava/lang/String;
           48   61     3           configFile  Ljava/lang/String;
           52   53     4                    e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          49    50      51  Class com.oracle.svm.driver.NativeImage$NativeImageError
          49    50      51  Class java.lang.Exception
    MethodParameters:
        Name  Flags
      config  

  void addMacroOptionRoot(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 1 // java.nio.file.Path configDir
         0: .line 691
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.optionRegistry:Lcom/oracle/svm/driver/MacroOption$Registry;
            aload 0 /* this */
            aload 1 /* configDir */
            invokevirtual com.oracle.svm.driver.NativeImage.canonicalize:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            invokevirtual com.oracle.svm.driver.MacroOption$Registry.addMacroOptionRoot:(Ljava/nio/file/Path;)V
         1: .line 692
            return
        end local 1 // java.nio.file.Path configDir
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/oracle/svm/driver/NativeImage;
            0    2     1  configDir  Ljava/nio/file/Path;
    MethodParameters:
           Name  Flags
      configDir  

  protected void registerOptionHandler(com.oracle.svm.driver.NativeImage$OptionHandler<? extends com.oracle.svm.driver.NativeImage>);
    descriptor: (Lcom/oracle/svm/driver/NativeImage$OptionHandler;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 1 // com.oracle.svm.driver.NativeImage$OptionHandler handler
         0: .line 695
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.optionHandlers:Ljava/util/ArrayList;
            aload 1 /* handler */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         1: .line 696
            return
        end local 1 // com.oracle.svm.driver.NativeImage$OptionHandler handler
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lcom/oracle/svm/driver/NativeImage;
            0    2     1  handler  Lcom/oracle/svm/driver/NativeImage$OptionHandler<+Lcom/oracle/svm/driver/NativeImage;>;
    Signature: (Lcom/oracle/svm/driver/NativeImage$OptionHandler<+Lcom/oracle/svm/driver/NativeImage;>;)V
    MethodParameters:
         Name  Flags
      handler  

  protected java.util.Map<java.lang.String, java.lang.String> getUserConfigProperties();
    descriptor: ()Ljava/util/Map;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.driver.NativeImage this
         0: .line 699
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.userConfigProperties:Ljava/util/Map;
            areturn
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/driver/NativeImage;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;

  protected java.nio.file.Path getUserConfigDir();
    descriptor: ()Ljava/nio/file/Path;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // com.oracle.svm.driver.NativeImage this
         0: .line 703
            ldc "NATIVE_IMAGE_USER_HOME"
            astore 1 /* envVarKey */
        start local 1 // java.lang.String envVarKey
         1: .line 704
            aload 1 /* envVarKey */
            invokestatic java.lang.System.getenv:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* userHomeStr */
        start local 2 // java.lang.String userHomeStr
         2: .line 705
            aload 2 /* userHomeStr */
            ifnull 3
            aload 2 /* userHomeStr */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 4
         3: .line 706
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            ldc "user.home"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc ".native-image"
            aastore
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            areturn
         4: .line 708
      StackMap locals:
      StackMap stack:
            aload 2 /* userHomeStr */
            iconst_0
            anewarray java.lang.String
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            areturn
        end local 2 // java.lang.String userHomeStr
        end local 1 // java.lang.String envVarKey
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lcom/oracle/svm/driver/NativeImage;
            1    5     1    envVarKey  Ljava/lang/String;
            2    5     2  userHomeStr  Ljava/lang/String;

  protected static void ensureDirectoryExists(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.nio.file.Path dir
         0: .line 712
            aload 0 /* dir */
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.exists:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
            ifeq 3
         1: .line 713
            aload 0 /* dir */
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.isDirectory:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
            ifne 7
         2: .line 714
            new java.lang.StringBuilder
            dup
            ldc "File "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* dir */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " is not a directory"
            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;
            athrow
         3: .line 718
      StackMap locals:
      StackMap stack:
            aload 0 /* dir */
            iconst_0
            anewarray java.nio.file.attribute.FileAttribute
            invokestatic java.nio.file.Files.createDirectories:(Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;
            pop
         4: .line 719
            goto 7
      StackMap locals:
      StackMap stack: java.io.IOException
         5: pop
         6: .line 720
            new java.lang.StringBuilder
            dup
            ldc "Could not create directory "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* dir */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.oracle.svm.driver.NativeImage.showError:(Ljava/lang/String;)Ljava/lang/Error;
            athrow
         7: .line 723
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.nio.file.Path dir
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0   dir  Ljava/nio/file/Path;
      Exception table:
        from    to  target  type
           3     4       5  Class java.io.IOException
    MethodParameters:
      Name  Flags
      dir   

  private void prepareImageBuildArgs();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=6, args_size=1
        start local 0 // com.oracle.svm.driver.NativeImage this
         0: .line 726
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.config:Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;
            invokeinterface com.oracle.svm.driver.NativeImage$BuildConfiguration.getBuilderJavaArgs:()Ljava/util/List;
            aload 0 /* this */
            invokedynamic accept(Lcom/oracle/svm/driver/NativeImage;)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/NativeImage.lambda$65(Ljava/lang/String;)V (7)
                  (Ljava/lang/String;)V
            invokeinterface java.util.List.forEach:(Ljava/util/function/Consumer;)V
         1: .line 727
            aload 0 /* this */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "-Xss10m"
            aastore
            invokevirtual com.oracle.svm.driver.NativeImage.addImageBuilderJavaArgs:([Ljava/lang/String;)V
         2: .line 728
            aload 0 /* this */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            new java.lang.StringBuilder
            dup
            ldc "-Xms"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual com.oracle.svm.driver.NativeImage.getXmsValue:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
            invokevirtual com.oracle.svm.driver.NativeImage.addImageBuilderJavaArgs:([Ljava/lang/String;)V
         3: .line 729
            aload 0 /* this */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            new java.lang.StringBuilder
            dup
            ldc "-Xmx"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            iconst_1
            invokevirtual com.oracle.svm.driver.NativeImage.getXmxValue:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
            invokevirtual com.oracle.svm.driver.NativeImage.addImageBuilderJavaArgs:([Ljava/lang/String;)V
         4: .line 730
            aload 0 /* this */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "-Duser.country=US"
            aastore
            dup
            iconst_1
            ldc "-Duser.language=en"
            aastore
            invokevirtual com.oracle.svm.driver.NativeImage.addImageBuilderJavaArgs:([Ljava/lang/String;)V
         5: .line 732
            invokestatic com.oracle.svm.core.OS.getCurrent:()Lcom/oracle/svm/core/OS;
            getstatic com.oracle.svm.core.OS.WINDOWS:Lcom/oracle/svm/core/OS;
            if_acmpne 6
            getstatic org.graalvm.compiler.serviceprovider.JavaVersionUtil.JAVA_SPEC:I
            bipush 8
            if_icmple 7
         6: .line 734
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "-Djava.awt.headless=true"
            aastore
            invokevirtual com.oracle.svm.driver.NativeImage.addImageBuilderJavaArgs:([Ljava/lang/String;)V
         7: .line 736
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            new java.lang.StringBuilder
            dup
            ldc "-Dorg.graalvm.version="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic com.oracle.svm.driver.NativeImage.graalvmVersion:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
            invokevirtual com.oracle.svm.driver.NativeImage.addImageBuilderJavaArgs:([Ljava/lang/String;)V
         8: .line 737
            aload 0 /* this */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            new java.lang.StringBuilder
            dup
            ldc "-Dorg.graalvm.config="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic com.oracle.svm.driver.NativeImage.graalvmConfig:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
            invokevirtual com.oracle.svm.driver.NativeImage.addImageBuilderJavaArgs:([Ljava/lang/String;)V
         9: .line 738
            aload 0 /* this */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "-Dcom.oracle.graalvm.isaot=true"
            aastore
            invokevirtual com.oracle.svm.driver.NativeImage.addImageBuilderJavaArgs:([Ljava/lang/String;)V
        10: .line 739
            aload 0 /* this */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            new java.lang.StringBuilder
            dup
            ldc "-Djava.system.class.loader="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic com.oracle.svm.driver.NativeImage.CUSTOM_SYSTEM_CLASS_LOADER:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
            invokevirtual com.oracle.svm.driver.NativeImage.addImageBuilderJavaArgs:([Ljava/lang/String;)V
        11: .line 741
            invokestatic com.oracle.svm.core.OS.getCurrent:()Lcom/oracle/svm/core/OS;
            getstatic com.oracle.svm.core.OS.LINUX:Lcom/oracle/svm/core/OS;
            if_acmpne 15
            getstatic org.graalvm.compiler.serviceprovider.JavaVersionUtil.JAVA_SPEC:I
            bipush 11
            if_icmplt 15
        12: .line 742
            aload 0 /* this */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "-Dawt.toolkit=sun.awt.X11.XToolkit"
            aastore
            invokevirtual com.oracle.svm.driver.NativeImage.addImageBuilderJavaArgs:([Ljava/lang/String;)V
        13: .line 743
            aload 0 /* this */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "-Djava.awt.graphicsenv=sun.awt.X11GraphicsEnvironment"
            aastore
            invokevirtual com.oracle.svm.driver.NativeImage.addImageBuilderJavaArgs:([Ljava/lang/String;)V
        14: .line 744
            aload 0 /* this */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "-Djava.awt.printerjob=sun.print.PSPrinterJob"
            aastore
            invokevirtual com.oracle.svm.driver.NativeImage.addImageBuilderJavaArgs:([Ljava/lang/String;)V
        15: .line 751
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "-Xshare:off"
            aastore
            invokevirtual com.oracle.svm.driver.NativeImage.addImageBuilderJavaArgs:([Ljava/lang/String;)V
        16: .line 752
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.config:Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;
            invokeinterface com.oracle.svm.driver.NativeImage$BuildConfiguration.getBuilderClasspath:()Ljava/util/List;
            aload 0 /* this */
            invokedynamic accept(Lcom/oracle/svm/driver/NativeImage;)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/NativeImage.addImageBuilderClasspath(Ljava/nio/file/Path;)V (5)
                  (Ljava/nio/file/Path;)V
            invokeinterface java.util.List.forEach:(Ljava/util/function/Consumer;)V
        17: .line 753
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.config:Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;
            invokeinterface com.oracle.svm.driver.NativeImage$BuildConfiguration.getImageProvidedClasspath:()Ljava/util/List;
            aload 0 /* this */
            invokedynamic accept(Lcom/oracle/svm/driver/NativeImage;)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/NativeImage.addImageProvidedClasspath(Ljava/nio/file/Path;)V (7)
                  (Ljava/nio/file/Path;)V
            invokeinterface java.util.List.forEach:(Ljava/util/function/Consumer;)V
        18: .line 755
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.config:Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;
            invokeinterface com.oracle.svm.driver.NativeImage$BuildConfiguration.getBuilderInspectServerPath:()Ljava/nio/file/Path;
            ifnull 20
        19: .line 756
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.oHInspectServerContentPath: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 /* this */
            getfield com.oracle.svm.driver.NativeImage.config:Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;
            invokeinterface com.oracle.svm.driver.NativeImage$BuildConfiguration.getBuilderInspectServerPath:()Ljava/nio/file/Path;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.oracle.svm.driver.NativeImage.addPlainImageBuilderArg:(Ljava/lang/String;)V
        20: .line 759
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.config:Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;
            invokeinterface com.oracle.svm.driver.NativeImage$BuildConfiguration.useJavaModules:()Z
            ifeq 34
        21: .line 760
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.config:Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;
            invokeinterface com.oracle.svm.driver.NativeImage$BuildConfiguration.getBuilderModulePath:()Ljava/util/List;
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
        22: .line 761
            aload 0 /* this */
            invokedynamic apply(Lcom/oracle/svm/driver/NativeImage;)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/NativeImage.lambda$10(Ljava/nio/file/Path;)Ljava/lang/String; (7)
                  (Ljava/nio/file/Path;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
        23: .line 762
            getstatic java.io.File.pathSeparator:Ljava/lang/String;
            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
        24: .line 760
            astore 4 /* modulePath */
        start local 4 // java.lang.String modulePath
        25: .line 763
            aload 4 /* modulePath */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 27
        26: .line 764
            aload 0 /* this */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "--module-path"
            aastore
            dup
            iconst_1
            aload 4 /* modulePath */
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokevirtual com.oracle.svm.driver.NativeImage.addImageBuilderJavaArgs:(Ljava/util/Collection;)V
        27: .line 766
      StackMap locals: com.oracle.svm.driver.NativeImage top top top java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.config:Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;
            invokeinterface com.oracle.svm.driver.NativeImage$BuildConfiguration.getBuilderUpgradeModulePath:()Ljava/util/List;
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
        28: .line 767
            aload 0 /* this */
            invokedynamic apply(Lcom/oracle/svm/driver/NativeImage;)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/NativeImage.lambda$11(Ljava/nio/file/Path;)Ljava/lang/String; (7)
                  (Ljava/nio/file/Path;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
        29: .line 768
            getstatic java.io.File.pathSeparator:Ljava/lang/String;
            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
        30: .line 766
            astore 5 /* upgradeModulePath */
        start local 5 // java.lang.String upgradeModulePath
        31: .line 769
            aload 5 /* upgradeModulePath */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 43
        32: .line 770
            aload 0 /* this */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "--upgrade-module-path"
            aastore
            dup
            iconst_1
            aload 5 /* upgradeModulePath */
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokevirtual com.oracle.svm.driver.NativeImage.addImageBuilderJavaArgs:(Ljava/util/Collection;)V
        end local 5 // java.lang.String upgradeModulePath
        end local 4 // java.lang.String modulePath
        33: .line 772
            goto 43
        34: .line 773
      StackMap locals: com.oracle.svm.driver.NativeImage
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.config:Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;
            invokeinterface com.oracle.svm.driver.NativeImage$BuildConfiguration.getBuilderJVMCIClasspath:()Ljava/util/List;
            aload 0 /* this */
            invokedynamic accept(Lcom/oracle/svm/driver/NativeImage;)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/NativeImage.addImageBuilderClasspath(Ljava/nio/file/Path;)V (5)
                  (Ljava/nio/file/Path;)V
            invokeinterface java.util.List.forEach:(Ljava/util/function/Consumer;)V
        35: .line 774
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.config:Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;
            invokeinterface com.oracle.svm.driver.NativeImage$BuildConfiguration.getBuilderJVMCIClasspathAppend:()Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 41
        36: .line 775
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.config:Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;
            invokeinterface com.oracle.svm.driver.NativeImage$BuildConfiguration.getBuilderJVMCIClasspathAppend:()Ljava/util/List;
        37: .line 776
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            aload 0 /* this */
            invokedynamic apply(Lcom/oracle/svm/driver/NativeImage;)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/NativeImage.lambda$13(Ljava/nio/file/Path;)Ljava/lang/String; (7)
                  (Ljava/nio/file/Path;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
        38: .line 777
            getstatic java.io.File.pathSeparator:Ljava/lang/String;
            ldc "-Djvmci.class.path.append="
            ldc ""
            invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.lang.String
        39: .line 775
            astore 5 /* builderJavaArg */
        start local 5 // java.lang.String builderJavaArg
        40: .line 778
            aload 0 /* this */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 5 /* builderJavaArg */
            aastore
            invokevirtual com.oracle.svm.driver.NativeImage.addImageBuilderJavaArgs:([Ljava/lang/String;)V
        end local 5 // java.lang.String builderJavaArg
        41: .line 781
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.config:Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;
            invokeinterface com.oracle.svm.driver.NativeImage$BuildConfiguration.getBuilderBootClasspath:()Ljava/util/List;
            aload 0 /* this */
            invokedynamic accept(Lcom/oracle/svm/driver/NativeImage;)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/NativeImage.addImageBuilderBootClasspath(Ljava/nio/file/Path;)V (5)
                  (Ljava/nio/file/Path;)V
            invokeinterface java.util.List.forEach:(Ljava/util/function/Consumer;)V
        42: .line 782
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.config:Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;
            invokeinterface com.oracle.svm.driver.NativeImage$BuildConfiguration.getResourcesJar:()Ljava/util/Optional;
            aload 0 /* this */
            invokedynamic accept(Lcom/oracle/svm/driver/NativeImage;)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/NativeImage.addImageBuilderClasspath(Ljava/nio/file/Path;)V (5)
                  (Ljava/nio/file/Path;)V
            invokevirtual java.util.Optional.ifPresent:(Ljava/util/function/Consumer;)V
        43: .line 785
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.config:Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;
            invokeinterface com.oracle.svm.driver.NativeImage$BuildConfiguration.getImageClasspath:()Ljava/util/List;
            aload 0 /* this */
            invokedynamic accept(Lcom/oracle/svm/driver/NativeImage;)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/NativeImage.addCustomImageClasspath(Ljava/nio/file/Path;)V (5)
                  (Ljava/nio/file/Path;)V
            invokeinterface java.util.List.forEach:(Ljava/util/function/Consumer;)V
        44: .line 786
            return
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   45     0               this  Lcom/oracle/svm/driver/NativeImage;
           25   33     4         modulePath  Ljava/lang/String;
           31   33     5  upgradeModulePath  Ljava/lang/String;
           40   41     5     builderJavaArg  Ljava/lang/String;

  private void completeOptionArgs();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=6, args_size=1
        start local 0 // com.oracle.svm.driver.NativeImage this
         0: .line 789
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.optionRegistry:Lcom/oracle/svm/driver/MacroOption$Registry;
            invokevirtual com.oracle.svm.driver.MacroOption$Registry.getEnabledOptions:()Ljava/util/LinkedHashSet;
            astore 1 /* enabledOptions */
        start local 1 // java.util.LinkedHashSet enabledOptions
         1: .line 791
            aload 1 /* enabledOptions */
            invokevirtual java.util.LinkedHashSet.isEmpty:()Z
            ifne 3
         2: .line 792
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.oHFallbackThreshold:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iconst_0
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.oracle.svm.driver.NativeImage.addPlainImageBuilderArg:(Ljava/lang/String;)V
         3: .line 796
      StackMap locals: java.util.LinkedHashSet
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.optionRegistry:Lcom/oracle/svm/driver/MacroOption$Registry;
            getstatic com.oracle.svm.driver.MacroOption$MacroOptionKind.Language:Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;
            invokevirtual com.oracle.svm.driver.MacroOption$Registry.getEnabledOptions:(Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;)Ljava/util/LinkedHashSet;
            putfield com.oracle.svm.driver.NativeImage.enabledLanguages:Ljava/util/LinkedHashSet;
         4: .line 799
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.enabledLanguages:Ljava/util/LinkedHashSet;
            invokevirtual java.util.LinkedHashSet.size:()I
            iconst_1
            if_icmple 8
         5: .line 800
            ldc "4g"
            invokestatic com.oracle.svm.core.option.SubstrateOptionsParser.parseLong:(Ljava/lang/String;)J
            lstore 2 /* baseMemRequirements */
        start local 2 // long baseMemRequirements
         6: .line 801
            lload 2 /* baseMemRequirements */
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.enabledLanguages:Ljava/util/LinkedHashSet;
            invokevirtual java.util.LinkedHashSet.size:()I
            i2l
            ldc "1g"
            invokestatic com.oracle.svm.core.option.SubstrateOptionsParser.parseLong:(Ljava/lang/String;)J
            lmul
            ladd
            lstore 4 /* memRequirements */
        start local 4 // long memRequirements
         7: .line 803
            aload 0 /* this */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            new java.lang.StringBuilder
            dup
            ldc "-Xmx"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 4 /* memRequirements */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
            invokevirtual com.oracle.svm.driver.NativeImage.addImageBuilderJavaArgs:([Ljava/lang/String;)V
        end local 4 // long memRequirements
        end local 2 // long baseMemRequirements
         8: .line 806
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageBuilderJavaArgs:Ljava/util/ArrayList;
            ldc "-Dpolyglot.engine.PreinitializeContexts="
            ldc ","
            invokestatic java.util.function.Function.identity:()Ljava/util/function/Function;
            invokestatic com.oracle.svm.driver.NativeImage.consolidateListArgs:(Ljava/util/Collection;Ljava/lang/String;Ljava/lang/String;Ljava/util/function/Function;)V
         9: .line 807
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageBuilderJavaArgs:Ljava/util/ArrayList;
            ldc "-Dpolyglot.image-build-time.PreinitializeContexts="
            ldc ","
            invokestatic java.util.function.Function.identity:()Ljava/util/function/Function;
            invokestatic com.oracle.svm.driver.NativeImage.consolidateListArgs:(Ljava/util/Collection;Ljava/lang/String;Ljava/lang/String;Ljava/util/function/Function;)V
        10: .line 808
            return
        end local 1 // java.util.LinkedHashSet enabledOptions
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   11     0                 this  Lcom/oracle/svm/driver/NativeImage;
            1   11     1       enabledOptions  Ljava/util/LinkedHashSet<Lcom/oracle/svm/driver/MacroOption$EnabledOption;>;
            6    8     2  baseMemRequirements  J
            7    8     4      memRequirements  J

  protected static java.lang.String consolidateSingleValueArg(java.util.Collection<java.lang.String>, java.lang.String);
    descriptor: (Ljava/util/Collection;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // java.util.Collection args
        start local 1 // java.lang.String argPrefix
         0: .line 811
            invokedynamic apply()Ljava/util/function/BiFunction;
              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;)Ljava/lang/Object;
                  com/oracle/svm/driver/NativeImage.lambda$17(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; (6)
                  (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* takeLast */
        start local 2 // java.util.function.BiFunction takeLast
         1: .line 812
            aload 0 /* args */
            aload 1 /* argPrefix */
            invokestatic java.util.function.Function.identity:()Ljava/util/function/Function;
            invokestatic java.util.function.Function.identity:()Ljava/util/function/Function;
            invokedynamic get()Ljava/util/function/Supplier;
              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;
                  com/oracle/svm/driver/NativeImage.lambda$18()Ljava/lang/String; (6)
                  ()Ljava/lang/String;
            aload 2 /* takeLast */
            invokestatic com.oracle.svm.driver.NativeImage.consolidateArgs:(Ljava/util/Collection;Ljava/lang/String;Ljava/util/function/Function;Ljava/util/function/Function;Ljava/util/function/Supplier;Ljava/util/function/BiFunction;)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 2 // java.util.function.BiFunction takeLast
        end local 1 // java.lang.String argPrefix
        end local 0 // java.util.Collection args
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       args  Ljava/util/Collection<Ljava/lang/String;>;
            0    2     1  argPrefix  Ljava/lang/String;
            1    2     2   takeLast  Ljava/util/function/BiFunction<Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;>;
    Signature: (Ljava/util/Collection<Ljava/lang/String;>;Ljava/lang/String;)Ljava/lang/String;
    MethodParameters:
           Name  Flags
      args       
      argPrefix  

  protected static boolean replaceArg(java.util.Collection<java.lang.String>, java.lang.String, java.lang.String);
    descriptor: (Ljava/util/Collection;Ljava/lang/String;Ljava/lang/String;)Z
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // java.util.Collection args
        start local 1 // java.lang.String argPrefix
        start local 2 // java.lang.String argSuffix
         0: .line 816
            aload 0 /* args */
            aload 1 /* argPrefix */
            invokedynamic test(Ljava/lang/String;)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/NativeImage.lambda$19(Ljava/lang/String;Ljava/lang/String;)Z (6)
                  (Ljava/lang/String;)Z
            invokeinterface java.util.Collection.removeIf:(Ljava/util/function/Predicate;)Z
            istore 3 /* elementsRemoved */
        start local 3 // boolean elementsRemoved
         1: .line 817
            aload 0 /* args */
            new java.lang.StringBuilder
            dup
            aload 1 /* argPrefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* argSuffix */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         2: .line 818
            iload 3 /* elementsRemoved */
            ireturn
        end local 3 // boolean elementsRemoved
        end local 2 // java.lang.String argSuffix
        end local 1 // java.lang.String argPrefix
        end local 0 // java.util.Collection args
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             args  Ljava/util/Collection<Ljava/lang/String;>;
            0    3     1        argPrefix  Ljava/lang/String;
            0    3     2        argSuffix  Ljava/lang/String;
            1    3     3  elementsRemoved  Z
    Signature: (Ljava/util/Collection<Ljava/lang/String;>;Ljava/lang/String;Ljava/lang/String;)Z
    MethodParameters:
           Name  Flags
      args       
      argPrefix  
      argSuffix  

  private static <T> T consolidateArgs(java.util.Collection<java.lang.String>, java.lang.String, java.util.function.Function<java.lang.String, T>, java.util.function.Function<T, java.lang.String>, java.util.function.Supplier<T>, java.util.function.BiFunction<T, T, T>);
    descriptor: (Ljava/util/Collection;Ljava/lang/String;Ljava/util/function/Function;Ljava/util/function/Function;Ljava/util/function/Supplier;Ljava/util/function/BiFunction;)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=10, args_size=6
        start local 0 // java.util.Collection args
        start local 1 // java.lang.String argPrefix
        start local 2 // java.util.function.Function fromSuffix
        start local 3 // java.util.function.Function toSuffix
        start local 4 // java.util.function.Supplier init
        start local 5 // java.util.function.BiFunction combiner
         0: .line 824
            aconst_null
            astore 6 /* consolidatedValue */
        start local 6 // java.lang.Object consolidatedValue
         1: .line 825
            iconst_0
            istore 7 /* needsConsolidate */
        start local 7 // boolean needsConsolidate
         2: .line 826
            aload 0 /* args */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 9
            goto 10
      StackMap locals: java.util.Collection java.lang.String java.util.function.Function java.util.function.Function java.util.function.Supplier java.util.function.BiFunction java.lang.Object int top java.util.Iterator
      StackMap stack:
         3: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 8 /* arg */
        start local 8 // java.lang.String arg
         4: .line 827
            aload 8 /* arg */
            aload 1 /* argPrefix */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 10
         5: .line 828
            aload 6 /* consolidatedValue */
            ifnonnull 8
         6: .line 829
            aload 4 /* init */
            invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
            astore 6 /* consolidatedValue */
         7: .line 830
            goto 9
         8: .line 831
      StackMap locals: java.util.Collection java.lang.String java.util.function.Function java.util.function.Function java.util.function.Supplier java.util.function.BiFunction java.lang.Object int java.lang.String java.util.Iterator
      StackMap stack:
            iconst_1
            istore 7 /* needsConsolidate */
         9: .line 833
      StackMap locals:
      StackMap stack:
            aload 5 /* combiner */
            aload 6 /* consolidatedValue */
            aload 2 /* fromSuffix */
            aload 8 /* arg */
            aload 1 /* argPrefix */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            invokeinterface java.util.function.BiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 6 /* consolidatedValue */
        end local 8 // java.lang.String arg
        10: .line 826
      StackMap locals: java.util.Collection java.lang.String java.util.function.Function java.util.function.Function java.util.function.Supplier java.util.function.BiFunction java.lang.Object int top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        11: .line 836
            aload 6 /* consolidatedValue */
            ifnull 13
            iload 7 /* needsConsolidate */
            ifeq 13
        12: .line 837
            aload 0 /* args */
            aload 1 /* argPrefix */
            aload 3 /* toSuffix */
            aload 6 /* consolidatedValue */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic com.oracle.svm.driver.NativeImage.replaceArg:(Ljava/util/Collection;Ljava/lang/String;Ljava/lang/String;)Z
            pop
        13: .line 839
      StackMap locals: java.util.Collection java.lang.String java.util.function.Function java.util.function.Function java.util.function.Supplier java.util.function.BiFunction java.lang.Object int
      StackMap stack:
            aload 6 /* consolidatedValue */
            areturn
        end local 7 // boolean needsConsolidate
        end local 6 // java.lang.Object consolidatedValue
        end local 5 // java.util.function.BiFunction combiner
        end local 4 // java.util.function.Supplier init
        end local 3 // java.util.function.Function toSuffix
        end local 2 // java.util.function.Function fromSuffix
        end local 1 // java.lang.String argPrefix
        end local 0 // java.util.Collection args
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   14     0               args  Ljava/util/Collection<Ljava/lang/String;>;
            0   14     1          argPrefix  Ljava/lang/String;
            0   14     2         fromSuffix  Ljava/util/function/Function<Ljava/lang/String;TT;>;
            0   14     3           toSuffix  Ljava/util/function/Function<TT;Ljava/lang/String;>;
            0   14     4               init  Ljava/util/function/Supplier<TT;>;
            0   14     5           combiner  Ljava/util/function/BiFunction<TT;TT;TT;>;
            1   14     6  consolidatedValue  TT;
            2   14     7   needsConsolidate  Z
            4   10     8                arg  Ljava/lang/String;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/Collection<Ljava/lang/String;>;Ljava/lang/String;Ljava/util/function/Function<Ljava/lang/String;TT;>;Ljava/util/function/Function<TT;Ljava/lang/String;>;Ljava/util/function/Supplier<TT;>;Ljava/util/function/BiFunction<TT;TT;TT;>;)TT;
    MethodParameters:
            Name  Flags
      args        
      argPrefix   
      fromSuffix  
      toSuffix    
      init        
      combiner    

  private static java.util.LinkedHashSet<java.lang.String> collectListArgs(java.util.Collection<java.lang.String>, java.lang.String, java.lang.String);
    descriptor: (Ljava/util/Collection;Ljava/lang/String;Ljava/lang/String;)Ljava/util/LinkedHashSet;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // java.util.Collection args
        start local 1 // java.lang.String argPrefix
        start local 2 // java.lang.String delimiter
         0: .line 843
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            astore 3 /* allEntries */
        start local 3 // java.util.LinkedHashSet allEntries
         1: .line 844
            aload 0 /* args */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 7
      StackMap locals: java.util.Collection java.lang.String java.lang.String java.util.LinkedHashSet top java.util.Iterator
      StackMap stack:
         2: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* arg */
        start local 4 // java.lang.String arg
         3: .line 845
            aload 4 /* arg */
            aload 1 /* argPrefix */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 7
         4: .line 846
            aload 4 /* arg */
            aload 1 /* argPrefix */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 6 /* argEntriesRaw */
        start local 6 // java.lang.String argEntriesRaw
         5: .line 847
            aload 6 /* argEntriesRaw */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 7
         6: .line 848
            aload 3 /* allEntries */
            aload 6 /* argEntriesRaw */
            aload 2 /* delimiter */
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokevirtual java.util.LinkedHashSet.addAll:(Ljava/util/Collection;)Z
            pop
        end local 6 // java.lang.String argEntriesRaw
        end local 4 // java.lang.String arg
         7: .line 844
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         8: .line 852
            aload 3 /* allEntries */
            areturn
        end local 3 // java.util.LinkedHashSet allEntries
        end local 2 // java.lang.String delimiter
        end local 1 // java.lang.String argPrefix
        end local 0 // java.util.Collection args
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           args  Ljava/util/Collection<Ljava/lang/String;>;
            0    9     1      argPrefix  Ljava/lang/String;
            0    9     2      delimiter  Ljava/lang/String;
            1    9     3     allEntries  Ljava/util/LinkedHashSet<Ljava/lang/String;>;
            3    7     4            arg  Ljava/lang/String;
            5    7     6  argEntriesRaw  Ljava/lang/String;
    Signature: (Ljava/util/Collection<Ljava/lang/String;>;Ljava/lang/String;Ljava/lang/String;)Ljava/util/LinkedHashSet<Ljava/lang/String;>;
    MethodParameters:
           Name  Flags
      args       
      argPrefix  
      delimiter  

  private static void consolidateListArgs(java.util.Collection<java.lang.String>, java.lang.String, java.lang.String, java.util.function.Function<java.lang.String, java.lang.String>);
    descriptor: (Ljava/util/Collection;Ljava/lang/String;Ljava/lang/String;Ljava/util/function/Function;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // java.util.Collection args
        start local 1 // java.lang.String argPrefix
        start local 2 // java.lang.String delimiter
        start local 3 // java.util.function.Function mapFunc
         0: .line 856
            aload 0 /* args */
            aload 1 /* argPrefix */
            aload 2 /* delimiter */
            invokestatic com.oracle.svm.driver.NativeImage.collectListArgs:(Ljava/util/Collection;Ljava/lang/String;Ljava/lang/String;)Ljava/util/LinkedHashSet;
            astore 4 /* allEntries */
        start local 4 // java.util.LinkedHashSet allEntries
         1: .line 857
            aload 4 /* allEntries */
            invokevirtual java.util.LinkedHashSet.isEmpty:()Z
            ifne 3
         2: .line 858
            aload 0 /* args */
            aload 1 /* argPrefix */
            aload 4 /* allEntries */
            invokevirtual java.util.LinkedHashSet.stream:()Ljava/util/stream/Stream;
            aload 3 /* mapFunc */
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            aload 2 /* delimiter */
            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
            invokestatic com.oracle.svm.driver.NativeImage.replaceArg:(Ljava/util/Collection;Ljava/lang/String;Ljava/lang/String;)Z
            pop
         3: .line 860
      StackMap locals: java.util.LinkedHashSet
      StackMap stack:
            return
        end local 4 // java.util.LinkedHashSet allEntries
        end local 3 // java.util.function.Function mapFunc
        end local 2 // java.lang.String delimiter
        end local 1 // java.lang.String argPrefix
        end local 0 // java.util.Collection args
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        args  Ljava/util/Collection<Ljava/lang/String;>;
            0    4     1   argPrefix  Ljava/lang/String;
            0    4     2   delimiter  Ljava/lang/String;
            0    4     3     mapFunc  Ljava/util/function/Function<Ljava/lang/String;Ljava/lang/String;>;
            1    4     4  allEntries  Ljava/util/LinkedHashSet<Ljava/lang/String;>;
    Signature: (Ljava/util/Collection<Ljava/lang/String;>;Ljava/lang/String;Ljava/lang/String;Ljava/util/function/Function<Ljava/lang/String;Ljava/lang/String;>;)V
    MethodParameters:
           Name  Flags
      args       
      argPrefix  
      delimiter  
      mapFunc    

  private void processClasspathNativeImageMetaInf(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 1 // java.nio.file.Path classpathEntry
         0: .line 885
            aload 0 /* this */
            aload 1 /* classpathEntry */
            aload 0 /* this */
            invokedynamic processMetaInfResource(Lcom/oracle/svm/driver/NativeImage;)Lcom/oracle/svm/driver/NativeImage$NativeImageMetaInfResourceProcessor;
              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/nio/file/Path;Ljava/nio/file/Path;Ljava/nio/file/Path;Lcom/oracle/svm/driver/NativeImage$MetaInfFileType;Ljava/util/function/Function;)V
                  com/oracle/svm/driver/NativeImage.processNativeImageMetaInf(Ljava/nio/file/Path;Ljava/nio/file/Path;Ljava/nio/file/Path;Lcom/oracle/svm/driver/NativeImage$MetaInfFileType;Ljava/util/function/Function;)V (7)
                  (Ljava/nio/file/Path;Ljava/nio/file/Path;Ljava/nio/file/Path;Lcom/oracle/svm/driver/NativeImage$MetaInfFileType;Ljava/util/function/Function;)V
            invokevirtual com.oracle.svm.driver.NativeImage.processClasspathNativeImageMetaInf:(Ljava/nio/file/Path;Lcom/oracle/svm/driver/NativeImage$NativeImageMetaInfResourceProcessor;)V
         1: .line 886
            return
        end local 1 // java.nio.file.Path classpathEntry
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lcom/oracle/svm/driver/NativeImage;
            0    2     1  classpathEntry  Ljava/nio/file/Path;
    MethodParameters:
                Name  Flags
      classpathEntry  

  private void processClasspathNativeImageMetaInf(java.nio.file.Path, com.oracle.svm.driver.NativeImage$NativeImageMetaInfResourceProcessor);
    descriptor: (Ljava/nio/file/Path;Lcom/oracle/svm/driver/NativeImage$NativeImageMetaInfResourceProcessor;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=12, args_size=3
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 1 // java.nio.file.Path classpathEntry
        start local 2 // com.oracle.svm.driver.NativeImage$NativeImageMetaInfResourceProcessor metaInfProcessor
         0: .line 890
            aload 1 /* classpathEntry */
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.isDirectory:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
            ifeq 4
         1: .line 891
            aload 1 /* classpathEntry */
            ldc "META-INF/native-image"
            iconst_0
            anewarray java.lang.String
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.resolve:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            astore 3 /* nativeImageMetaInfBase */
        start local 3 // java.nio.file.Path nativeImageMetaInfBase
         2: .line 892
            aload 0 /* this */
            aload 1 /* classpathEntry */
            aload 3 /* nativeImageMetaInfBase */
            aload 2 /* metaInfProcessor */
            invokevirtual com.oracle.svm.driver.NativeImage.processNativeImageMetaInf:(Ljava/nio/file/Path;Ljava/nio/file/Path;Lcom/oracle/svm/driver/NativeImage$NativeImageMetaInfResourceProcessor;)V
        end local 3 // java.nio.file.Path nativeImageMetaInfBase
         3: .line 893
            goto 41
         4: .line 894
      StackMap locals:
      StackMap stack:
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            astore 3 /* jarFileMatches */
        start local 3 // java.util.List jarFileMatches
         5: .line 895
            aload 1 /* classpathEntry */
            ldc "$JavaCla$$pathWildcard$ubstitute$"
            invokeinterface java.nio.file.Path.endsWith:(Ljava/lang/String;)Z
            ifeq 13
         6: .line 897
            aload 1 /* classpathEntry */
            invokeinterface java.nio.file.Path.getParent:()Ljava/nio/file/Path;
            invokestatic java.nio.file.Files.list:(Ljava/nio/file/Path;)Ljava/util/stream/Stream;
         7: .line 898
            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/core/util/ClasspathUtils.isJar(Ljava/nio/file/Path;)Z (6)
                  (Ljava/nio/file/Path;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
         8: .line 899
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
         9: .line 897
            astore 3 /* jarFileMatches */
        10: .line 900
            goto 15
      StackMap locals: com.oracle.svm.driver.NativeImage java.nio.file.Path com.oracle.svm.driver.NativeImage$NativeImageMetaInfResourceProcessor java.util.List
      StackMap stack: java.nio.file.NoSuchFileException
        11: pop
        12: .line 903
            goto 15
      StackMap locals:
      StackMap stack:
        13: aload 1 /* classpathEntry */
            invokestatic java.nio.file.Files.isReadable:(Ljava/nio/file/Path;)Z
            ifeq 15
        14: .line 904
            aload 1 /* classpathEntry */
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            astore 3 /* jarFileMatches */
        15: .line 907
      StackMap locals:
      StackMap stack:
            aload 3 /* jarFileMatches */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 37
      StackMap locals: com.oracle.svm.driver.NativeImage java.nio.file.Path com.oracle.svm.driver.NativeImage$NativeImageMetaInfResourceProcessor java.util.List top java.util.Iterator
      StackMap stack:
        16: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.nio.file.Path
            astore 4 /* jarFile */
        start local 4 // java.nio.file.Path jarFile
        17: .line 908
            new java.lang.StringBuilder
            dup
            ldc "jar:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* jarFile */
            invokeinterface java.nio.file.Path.toUri:()Ljava/net/URI;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic java.net.URI.create:(Ljava/lang/String;)Ljava/net/URI;
            astore 6 /* jarFileURI */
        start local 6 // java.net.URI jarFileURI
        18: .line 911
            aload 6 /* jarFileURI */
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic java.nio.file.FileSystems.newFileSystem:(Ljava/net/URI;Ljava/util/Map;)Ljava/nio/file/FileSystem;
            astore 7 /* probeJarFS */
        start local 7 // java.nio.file.FileSystem probeJarFS
        19: .line 912
            goto 26
        end local 7 // java.nio.file.FileSystem probeJarFS
      StackMap locals: com.oracle.svm.driver.NativeImage java.nio.file.Path com.oracle.svm.driver.NativeImage$NativeImageMetaInfResourceProcessor java.util.List java.nio.file.Path java.util.Iterator java.net.URI
      StackMap stack: java.lang.UnsupportedOperationException
        20: pop
        21: .line 913
            aconst_null
            astore 7 /* probeJarFS */
        start local 7 // java.nio.file.FileSystem probeJarFS
        22: .line 914
            aload 0 /* this */
            invokevirtual com.oracle.svm.driver.NativeImage.isVerbose:()Z
            ifeq 26
        23: .line 915
            new java.lang.StringBuilder
            dup
            aload 1 /* classpathEntry */
            invokestatic com.oracle.svm.core.util.ClasspathUtils.classpathToString:(Ljava/nio/file/Path;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " does not describe valid jarfile"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* jarFileMatches */
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmple 24
            ldc "s"
            goto 25
      StackMap locals: com.oracle.svm.driver.NativeImage java.nio.file.Path com.oracle.svm.driver.NativeImage$NativeImageMetaInfResourceProcessor java.util.List java.nio.file.Path java.util.Iterator java.net.URI java.nio.file.FileSystem
      StackMap stack: java.lang.StringBuilder
        24: ldc ""
      StackMap locals: com.oracle.svm.driver.NativeImage java.nio.file.Path com.oracle.svm.driver.NativeImage$NativeImageMetaInfResourceProcessor java.util.List java.nio.file.Path java.util.Iterator java.net.URI java.nio.file.FileSystem
      StackMap stack: java.lang.StringBuilder java.lang.String
        25: 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
        26: .line 918
      StackMap locals:
      StackMap stack:
            aload 7 /* probeJarFS */
            ifnull 37
        27: .line 919
            aconst_null
            astore 8
            aconst_null
            astore 9
        28: aload 7 /* probeJarFS */
            astore 10 /* jarFS */
        start local 10 // java.nio.file.FileSystem jarFS
        29: .line 920
            aload 10 /* jarFS */
            ldc "/META-INF/native-image"
            iconst_0
            anewarray java.lang.String
            invokevirtual java.nio.file.FileSystem.getPath:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            astore 11 /* nativeImageMetaInfBase */
        start local 11 // java.nio.file.Path nativeImageMetaInfBase
        30: .line 921
            aload 0 /* this */
            aload 4 /* jarFile */
            aload 11 /* nativeImageMetaInfBase */
            aload 2 /* metaInfProcessor */
            invokevirtual com.oracle.svm.driver.NativeImage.processNativeImageMetaInf:(Ljava/nio/file/Path;Ljava/nio/file/Path;Lcom/oracle/svm/driver/NativeImage$NativeImageMetaInfResourceProcessor;)V
        end local 11 // java.nio.file.Path nativeImageMetaInfBase
        31: .line 922
            aload 10 /* jarFS */
            ifnull 37
            aload 10 /* jarFS */
            invokevirtual java.nio.file.FileSystem.close:()V
            goto 37
      StackMap locals: com.oracle.svm.driver.NativeImage java.nio.file.Path com.oracle.svm.driver.NativeImage$NativeImageMetaInfResourceProcessor java.util.List java.nio.file.Path java.util.Iterator java.net.URI java.nio.file.FileSystem java.lang.Throwable java.lang.Throwable java.nio.file.FileSystem
      StackMap stack: java.lang.Throwable
        32: astore 8
            aload 10 /* jarFS */
            ifnull 33
            aload 10 /* jarFS */
            invokevirtual java.nio.file.FileSystem.close:()V
        end local 10 // java.nio.file.FileSystem jarFS
      StackMap locals:
      StackMap stack:
        33: aload 8
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        34: astore 9
            aload 8
            ifnonnull 35
            aload 9
            astore 8
            goto 36
      StackMap locals:
      StackMap stack:
        35: aload 8
            aload 9
            if_acmpeq 36
            aload 8
            aload 9
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        36: aload 8
            athrow
        end local 7 // java.nio.file.FileSystem probeJarFS
        end local 6 // java.net.URI jarFileURI
        end local 4 // java.nio.file.Path jarFile
        37: .line 907
      StackMap locals: com.oracle.svm.driver.NativeImage java.nio.file.Path com.oracle.svm.driver.NativeImage$NativeImageMetaInfResourceProcessor java.util.List top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 16
        end local 3 // java.util.List jarFileMatches
        38: .line 926
            goto 41
      StackMap locals: com.oracle.svm.driver.NativeImage java.nio.file.Path com.oracle.svm.driver.NativeImage$NativeImageMetaInfResourceProcessor
      StackMap stack: java.lang.Exception
        39: astore 3 /* e */
        start local 3 // java.lang.Exception e
        40: .line 927
            new java.lang.StringBuilder
            dup
            ldc "Invalid classpath entry "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* classpathEntry */
            invokestatic com.oracle.svm.core.util.ClasspathUtils.classpathToString:(Ljava/nio/file/Path;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 3 /* e */
            invokestatic com.oracle.svm.driver.NativeImage.showError:(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/Error;
            athrow
        end local 3 // java.lang.Exception e
        41: .line 929
      StackMap locals:
      StackMap stack:
            return
        end local 2 // com.oracle.svm.driver.NativeImage$NativeImageMetaInfResourceProcessor metaInfProcessor
        end local 1 // java.nio.file.Path classpathEntry
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   42     0                    this  Lcom/oracle/svm/driver/NativeImage;
            0   42     1          classpathEntry  Ljava/nio/file/Path;
            0   42     2        metaInfProcessor  Lcom/oracle/svm/driver/NativeImage$NativeImageMetaInfResourceProcessor;
            2    3     3  nativeImageMetaInfBase  Ljava/nio/file/Path;
            5   38     3          jarFileMatches  Ljava/util/List<Ljava/nio/file/Path;>;
           17   37     4                 jarFile  Ljava/nio/file/Path;
           18   37     6              jarFileURI  Ljava/net/URI;
           19   20     7              probeJarFS  Ljava/nio/file/FileSystem;
           22   37     7              probeJarFS  Ljava/nio/file/FileSystem;
           29   33    10                   jarFS  Ljava/nio/file/FileSystem;
           30   31    11  nativeImageMetaInfBase  Ljava/nio/file/Path;
           40   41     3                       e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           6    10      11  Class java.nio.file.NoSuchFileException
          18    19      20  Class java.lang.UnsupportedOperationException
          29    31      32  any
          28    34      34  any
           0    38      39  Class java.io.IOException
           0    38      39  Class java.nio.file.FileSystemNotFoundException
    MethodParameters:
                  Name  Flags
      classpathEntry    
      metaInfProcessor  

  private void processNativeImageMetaInf(java.nio.file.Path, java.nio.file.Path, com.oracle.svm.driver.NativeImage$NativeImageMetaInfResourceProcessor);
    descriptor: (Ljava/nio/file/Path;Ljava/nio/file/Path;Lcom/oracle/svm/driver/NativeImage$NativeImageMetaInfResourceProcessor;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=14, args_size=4
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 1 // java.nio.file.Path classpathEntry
        start local 2 // java.nio.file.Path nativeImageMetaInfBase
        start local 3 // com.oracle.svm.driver.NativeImage$NativeImageMetaInfResourceProcessor metaInfProcessor
         0: .line 932
            aload 2 /* nativeImageMetaInfBase */
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.isDirectory:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
            ifeq 19
         1: .line 933
            invokestatic com.oracle.svm.driver.NativeImage$MetaInfFileType.values:()[Lcom/oracle/svm/driver/NativeImage$MetaInfFileType;
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 18
      StackMap locals: com.oracle.svm.driver.NativeImage java.nio.file.Path java.nio.file.Path com.oracle.svm.driver.NativeImage$NativeImageMetaInfResourceProcessor top int int com.oracle.svm.driver.NativeImage$MetaInfFileType[]
      StackMap stack:
         2: aload 7
            iload 5
            aaload
            astore 4 /* fileType */
        start local 4 // com.oracle.svm.driver.NativeImage$MetaInfFileType fileType
         3: .line 934
            aload 2 /* nativeImageMetaInfBase */
            iconst_0
            anewarray java.nio.file.FileVisitOption
            invokestatic java.nio.file.Files.walk:(Ljava/nio/file/Path;[Ljava/nio/file/FileVisitOption;)Ljava/util/stream/Stream;
         4: .line 935
            aload 4 /* fileType */
            invokedynamic test(Lcom/oracle/svm/driver/NativeImage$MetaInfFileType;)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/NativeImage.lambda$22(Lcom/oracle/svm/driver/NativeImage$MetaInfFileType;Ljava/nio/file/Path;)Z (6)
                  (Ljava/nio/file/Path;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
         5: .line 936
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
         6: .line 934
            astore 8 /* nativeImageMetaInfFiles */
        start local 8 // java.util.List nativeImageMetaInfFiles
         7: .line 937
            aload 8 /* nativeImageMetaInfFiles */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 16
      StackMap locals: com.oracle.svm.driver.NativeImage java.nio.file.Path java.nio.file.Path com.oracle.svm.driver.NativeImage$NativeImageMetaInfResourceProcessor com.oracle.svm.driver.NativeImage$MetaInfFileType int int com.oracle.svm.driver.NativeImage$MetaInfFileType[] java.util.List top java.util.Iterator
      StackMap stack:
         8: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.nio.file.Path
            astore 9 /* nativeImageMetaInfFile */
        start local 9 // java.nio.file.Path nativeImageMetaInfFile
         9: .line 938
            aload 2 /* nativeImageMetaInfBase */
            invokeinterface java.nio.file.Path.getParent:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.getParent:()Ljava/nio/file/Path;
            astore 11 /* resourceRoot */
        start local 11 // java.nio.file.Path resourceRoot
        10: .line 939
            aload 0 /* this */
            aload 11 /* resourceRoot */
            aload 9 /* nativeImageMetaInfFile */
            invokedynamic apply(Lcom/oracle/svm/driver/NativeImage;Ljava/nio/file/Path;Ljava/nio/file/Path;)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/NativeImage.lambda$23(Ljava/nio/file/Path;Ljava/nio/file/Path;Ljava/lang/String;)Ljava/lang/String; (7)
                  (Ljava/lang/String;)Ljava/lang/String;
            astore 12 /* resolver */
        start local 12 // java.util.function.Function resolver
        11: .line 949
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.oracle.svm.driver.NativeImage.isVerbose:()Z
            new java.lang.StringBuilder
            dup
            ldc "Apply "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* nativeImageMetaInfFile */
            invokeinterface java.nio.file.Path.toUri:()Ljava/net/URI;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.oracle.svm.driver.NativeImage.showVerboseMessage:(ZLjava/lang/String;)V
        12: .line 951
            aload 3 /* metaInfProcessor */
            aload 1 /* classpathEntry */
            aload 11 /* resourceRoot */
            aload 9 /* nativeImageMetaInfFile */
            aload 4 /* fileType */
            aload 12 /* resolver */
            invokeinterface com.oracle.svm.driver.NativeImage$NativeImageMetaInfResourceProcessor.processMetaInfResource:(Ljava/nio/file/Path;Ljava/nio/file/Path;Ljava/nio/file/Path;Lcom/oracle/svm/driver/NativeImage$MetaInfFileType;Ljava/util/function/Function;)V
        13: .line 952
            goto 16
      StackMap locals: com.oracle.svm.driver.NativeImage java.nio.file.Path java.nio.file.Path com.oracle.svm.driver.NativeImage$NativeImageMetaInfResourceProcessor com.oracle.svm.driver.NativeImage$MetaInfFileType int int com.oracle.svm.driver.NativeImage$MetaInfFileType[] java.util.List java.nio.file.Path java.util.Iterator java.nio.file.Path java.util.function.Function
      StackMap stack: com.oracle.svm.driver.NativeImage$NativeImageError
        14: astore 13 /* err */
        start local 13 // com.oracle.svm.driver.NativeImage$NativeImageError err
        15: .line 953
            new java.lang.StringBuilder
            dup
            ldc "Processing "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* nativeImageMetaInfFile */
            invokeinterface java.nio.file.Path.toUri:()Ljava/net/URI;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " failed"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 13 /* err */
            invokestatic com.oracle.svm.driver.NativeImage.showError:(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/Error;
            pop
        end local 13 // com.oracle.svm.driver.NativeImage$NativeImageError err
        end local 12 // java.util.function.Function resolver
        end local 11 // java.nio.file.Path resourceRoot
        end local 9 // java.nio.file.Path nativeImageMetaInfFile
        16: .line 937
      StackMap locals: com.oracle.svm.driver.NativeImage java.nio.file.Path java.nio.file.Path com.oracle.svm.driver.NativeImage$NativeImageMetaInfResourceProcessor com.oracle.svm.driver.NativeImage$MetaInfFileType int int com.oracle.svm.driver.NativeImage$MetaInfFileType[] java.util.List top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        end local 8 // java.util.List nativeImageMetaInfFiles
        end local 4 // com.oracle.svm.driver.NativeImage$MetaInfFileType fileType
        17: .line 933
            iinc 5 1
      StackMap locals: com.oracle.svm.driver.NativeImage java.nio.file.Path java.nio.file.Path com.oracle.svm.driver.NativeImage$NativeImageMetaInfResourceProcessor top int int com.oracle.svm.driver.NativeImage$MetaInfFileType[]
      StackMap stack:
        18: iload 5
            iload 6
            if_icmplt 2
        19: .line 958
      StackMap locals: com.oracle.svm.driver.NativeImage java.nio.file.Path java.nio.file.Path com.oracle.svm.driver.NativeImage$NativeImageMetaInfResourceProcessor
      StackMap stack:
            return
        end local 3 // com.oracle.svm.driver.NativeImage$NativeImageMetaInfResourceProcessor metaInfProcessor
        end local 2 // java.nio.file.Path nativeImageMetaInfBase
        end local 1 // java.nio.file.Path classpathEntry
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   20     0                     this  Lcom/oracle/svm/driver/NativeImage;
            0   20     1           classpathEntry  Ljava/nio/file/Path;
            0   20     2   nativeImageMetaInfBase  Ljava/nio/file/Path;
            0   20     3         metaInfProcessor  Lcom/oracle/svm/driver/NativeImage$NativeImageMetaInfResourceProcessor;
            3   17     4                 fileType  Lcom/oracle/svm/driver/NativeImage$MetaInfFileType;
            7   17     8  nativeImageMetaInfFiles  Ljava/util/List<Ljava/nio/file/Path;>;
            9   16     9   nativeImageMetaInfFile  Ljava/nio/file/Path;
           10   16    11             resourceRoot  Ljava/nio/file/Path;
           11   16    12                 resolver  Ljava/util/function/Function<Ljava/lang/String;Ljava/lang/String;>;
           15   16    13                      err  Lcom/oracle/svm/driver/NativeImage$NativeImageError;
      Exception table:
        from    to  target  type
          12    13      14  Class com.oracle.svm.driver.NativeImage$NativeImageError
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                        Name  Flags
      classpathEntry          
      nativeImageMetaInfBase  
      metaInfProcessor        

  private void processNativeImageMetaInf(java.nio.file.Path, java.nio.file.Path, java.nio.file.Path, com.oracle.svm.driver.NativeImage$MetaInfFileType, java.util.function.Function<java.lang.String, java.lang.String>);
    descriptor: (Ljava/nio/file/Path;Ljava/nio/file/Path;Ljava/nio/file/Path;Lcom/oracle/svm/driver/NativeImage$MetaInfFileType;Ljava/util/function/Function;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=6
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 1 // java.nio.file.Path classpathEntry
        start local 2 // java.nio.file.Path resourceRoot
        start local 3 // java.nio.file.Path resourcePath
        start local 4 // com.oracle.svm.driver.NativeImage$MetaInfFileType resourceType
        start local 5 // java.util.function.Function resolver
         0: .line 963
            new com.oracle.svm.driver.NativeImage$NativeImageArgsProcessor
            dup
            aload 0 /* this */
            invokespecial com.oracle.svm.driver.NativeImage$NativeImageArgsProcessor.<init>:(Lcom/oracle/svm/driver/NativeImage;)V
            astore 6 /* args */
        start local 6 // com.oracle.svm.driver.NativeImage$NativeImageArgsProcessor args
         1: .line 964
            aload 4 /* resourceType */
            getstatic com.oracle.svm.driver.NativeImage$MetaInfFileType.Properties:Lcom/oracle/svm/driver/NativeImage$MetaInfFileType;
            if_acmpne 9
         2: .line 965
            aload 3 /* resourcePath */
            iconst_0
            anewarray java.nio.file.OpenOption
            invokestatic java.nio.file.Files.newInputStream:(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/io/InputStream;
            invokestatic com.oracle.svm.driver.NativeImage.loadProperties:(Ljava/io/InputStream;)Ljava/util/Map;
            astore 7 /* properties */
        start local 7 // java.util.Map properties
         3: .line 966
            aload 7 /* properties */
            ldc "ImageName"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 8 /* imageNameValue */
        start local 8 // java.lang.String imageNameValue
         4: .line 967
            aload 8 /* imageNameValue */
            ifnull 6
         5: .line 968
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.oHName:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* resolver */
            aload 8 /* imageNameValue */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.oracle.svm.driver.NativeImage.addCustomImageBuilderArgs:(Ljava/lang/String;)V
         6: .line 970
      StackMap locals: com.oracle.svm.driver.NativeImage$NativeImageArgsProcessor java.util.Map java.lang.String
      StackMap stack:
            aload 7 /* properties */
            ldc "JavaArgs"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            aload 0 /* this */
            invokedynamic accept(Lcom/oracle/svm/driver/NativeImage;)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/NativeImage.lambda$66(Ljava/lang/String;)V (7)
                  (Ljava/lang/String;)V
            aload 5 /* resolver */
            invokestatic com.oracle.svm.driver.NativeImage.forEachPropertyValue:(Ljava/lang/String;Ljava/util/function/Consumer;Ljava/util/function/Function;)Z
            pop
         7: .line 971
            aload 7 /* properties */
            ldc "Args"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            aload 6 /* args */
            aload 5 /* resolver */
            invokestatic com.oracle.svm.driver.NativeImage.forEachPropertyValue:(Ljava/lang/String;Ljava/util/function/Consumer;Ljava/util/function/Function;)Z
            pop
        end local 8 // java.lang.String imageNameValue
        end local 7 // java.util.Map properties
         8: .line 972
            goto 10
         9: .line 973
      StackMap locals:
      StackMap stack:
            aload 6 /* args */
            new java.lang.StringBuilder
            dup
            aload 4 /* resourceType */
            getfield com.oracle.svm.driver.NativeImage$MetaInfFileType.optionKey:Lorg/graalvm/compiler/options/OptionKey;
            invokestatic com.oracle.svm.driver.NativeImage.oH:(Lorg/graalvm/compiler/options/OptionKey;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* resourceRoot */
            aload 3 /* resourcePath */
            invokeinterface java.nio.file.Path.relativize:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.oracle.svm.driver.NativeImage$NativeImageArgsProcessor.accept:(Ljava/lang/String;)V
        10: .line 975
      StackMap locals:
      StackMap stack:
            aload 6 /* args */
            iconst_1
            invokevirtual com.oracle.svm.driver.NativeImage$NativeImageArgsProcessor.apply:(Z)Ljava/util/List;
            pop
        11: .line 976
            return
        end local 6 // com.oracle.svm.driver.NativeImage$NativeImageArgsProcessor args
        end local 5 // java.util.function.Function resolver
        end local 4 // com.oracle.svm.driver.NativeImage$MetaInfFileType resourceType
        end local 3 // java.nio.file.Path resourcePath
        end local 2 // java.nio.file.Path resourceRoot
        end local 1 // java.nio.file.Path classpathEntry
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   12     0            this  Lcom/oracle/svm/driver/NativeImage;
            0   12     1  classpathEntry  Ljava/nio/file/Path;
            0   12     2    resourceRoot  Ljava/nio/file/Path;
            0   12     3    resourcePath  Ljava/nio/file/Path;
            0   12     4    resourceType  Lcom/oracle/svm/driver/NativeImage$MetaInfFileType;
            0   12     5        resolver  Ljava/util/function/Function<Ljava/lang/String;Ljava/lang/String;>;
            1   12     6            args  Lcom/oracle/svm/driver/NativeImage$NativeImageArgsProcessor;
            3    8     7      properties  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            4    8     8  imageNameValue  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/nio/file/Path;Ljava/nio/file/Path;Ljava/nio/file/Path;Lcom/oracle/svm/driver/NativeImage$MetaInfFileType;Ljava/util/function/Function<Ljava/lang/String;Ljava/lang/String;>;)V
    MethodParameters:
                Name  Flags
      classpathEntry  
      resourceRoot    
      resourcePath    
      resourceType    
      resolver        

  static void processManifestMainAttributes(java.nio.file.Path, java.util.function.BiConsumer<java.nio.file.Path, java.util.jar.Attributes>);
    descriptor: (Ljava/nio/file/Path;Ljava/util/function/BiConsumer;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.nio.file.Path path
        start local 1 // java.util.function.BiConsumer manifestConsumer
         0: .line 979
            aload 0 /* path */
            ldc "$JavaCla$$pathWildcard$ubstitute$"
            invokeinterface java.nio.file.Path.endsWith:(Ljava/lang/String;)Z
            ifeq 9
         1: .line 980
            aload 0 /* path */
            invokeinterface java.nio.file.Path.getParent:()Ljava/nio/file/Path;
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.isDirectory:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
            ifne 3
         2: .line 981
            new java.lang.StringBuilder
            dup
            ldc "Cannot expand wildcard: '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* path */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "' is not a directory"
            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;
            athrow
         3: .line 984
      StackMap locals:
      StackMap stack:
            aload 0 /* path */
            invokeinterface java.nio.file.Path.getParent:()Ljava/nio/file/Path;
            invokestatic java.nio.file.Files.list:(Ljava/nio/file/Path;)Ljava/util/stream/Stream;
         4: .line 985
            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/core/util/ClasspathUtils.isJar(Ljava/nio/file/Path;)Z (6)
                  (Ljava/nio/file/Path;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
         5: .line 986
            aload 1 /* manifestConsumer */
            invokedynamic accept(Ljava/util/function/BiConsumer;)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/NativeImage.lambda$26(Ljava/util/function/BiConsumer;Ljava/nio/file/Path;)V (6)
                  (Ljava/nio/file/Path;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
         6: .line 987
            goto 11
      StackMap locals:
      StackMap stack: java.io.IOException
         7: astore 2 /* e */
        start local 2 // java.io.IOException e
         8: .line 988
            new java.lang.StringBuilder
            dup
            ldc "Error while expanding wildcard for '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* path */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* e */
            invokestatic com.oracle.svm.driver.NativeImage.showError:(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/Error;
            athrow
        end local 2 // java.io.IOException e
         9: .line 990
      StackMap locals:
      StackMap stack:
            aload 0 /* path */
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.isDirectory:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
            ifne 11
        10: .line 991
            aload 0 /* path */
            aload 1 /* manifestConsumer */
            invokestatic com.oracle.svm.driver.NativeImage.processJarManifestMainAttributes:(Ljava/nio/file/Path;Ljava/util/function/BiConsumer;)Z
            pop
        11: .line 993
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.function.BiConsumer manifestConsumer
        end local 0 // java.nio.file.Path path
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   12     0              path  Ljava/nio/file/Path;
            0   12     1  manifestConsumer  Ljava/util/function/BiConsumer<Ljava/nio/file/Path;Ljava/util/jar/Attributes;>;
            8    9     2                 e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           3     6       7  Class java.io.IOException
    Signature: (Ljava/nio/file/Path;Ljava/util/function/BiConsumer<Ljava/nio/file/Path;Ljava/util/jar/Attributes;>;)V
    MethodParameters:
                  Name  Flags
      path              
      manifestConsumer  

  static boolean processJarManifestMainAttributes(java.nio.file.Path, java.util.function.BiConsumer<java.nio.file.Path, java.util.jar.Attributes>);
    descriptor: (Ljava/nio/file/Path;Ljava/util/function/BiConsumer;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // java.nio.file.Path jarFilePath
        start local 1 // java.util.function.BiConsumer manifestConsumer
         0: .line 996
            aconst_null
            astore 2
            aconst_null
            astore 3
         1: new java.util.jar.JarFile
            dup
            aload 0 /* jarFilePath */
            invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
            invokespecial java.util.jar.JarFile.<init>:(Ljava/io/File;)V
            astore 4 /* jarFile */
        start local 4 // java.util.jar.JarFile jarFile
         2: .line 997
            aload 4 /* jarFile */
            invokevirtual java.util.jar.JarFile.getManifest:()Ljava/util/jar/Manifest;
            astore 5 /* manifest */
        start local 5 // java.util.jar.Manifest manifest
         3: .line 998
            aload 5 /* manifest */
            ifnonnull 6
         4: .line 1003
            aload 4 /* jarFile */
            ifnull 5
            aload 4 /* jarFile */
            invokevirtual java.util.jar.JarFile.close:()V
         5: .line 999
      StackMap locals: java.nio.file.Path java.util.function.BiConsumer java.lang.Throwable java.lang.Throwable java.util.jar.JarFile java.util.jar.Manifest
      StackMap stack:
            iconst_0
            ireturn
         6: .line 1001
      StackMap locals:
      StackMap stack:
            aload 1 /* manifestConsumer */
            aload 0 /* jarFilePath */
            aload 5 /* manifest */
            invokevirtual java.util.jar.Manifest.getMainAttributes:()Ljava/util/jar/Attributes;
            invokeinterface java.util.function.BiConsumer.accept:(Ljava/lang/Object;Ljava/lang/Object;)V
         7: .line 1003
            aload 4 /* jarFile */
            ifnull 8
            aload 4 /* jarFile */
            invokevirtual java.util.jar.JarFile.close:()V
         8: .line 1002
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 5 // java.util.jar.Manifest manifest
      StackMap locals: java.nio.file.Path java.util.function.BiConsumer java.lang.Throwable java.lang.Throwable java.util.jar.JarFile
      StackMap stack: java.lang.Throwable
         9: astore 2
        10: .line 1003
            aload 4 /* jarFile */
            ifnull 11
            aload 4 /* jarFile */
            invokevirtual java.util.jar.JarFile.close:()V
        end local 4 // java.util.jar.JarFile jarFile
      StackMap locals:
      StackMap stack:
        11: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: astore 3
            aload 2
            ifnonnull 13
            aload 3
            astore 2
            goto 14
      StackMap locals:
      StackMap stack:
        13: aload 2
            aload 3
            if_acmpeq 14
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        14: aload 2
            athrow
      StackMap locals: java.nio.file.Path java.util.function.BiConsumer
      StackMap stack: java.io.IOException
        15: astore 2 /* e */
        start local 2 // java.io.IOException e
        16: .line 1004
            new java.lang.StringBuilder
            dup
            ldc "Invalid or corrupt jarfile "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* jarFilePath */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* e */
            invokestatic com.oracle.svm.driver.NativeImage.showError:(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/Error;
            athrow
        end local 2 // java.io.IOException e
        end local 1 // java.util.function.BiConsumer manifestConsumer
        end local 0 // java.nio.file.Path jarFilePath
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   17     0       jarFilePath  Ljava/nio/file/Path;
            0   17     1  manifestConsumer  Ljava/util/function/BiConsumer<Ljava/nio/file/Path;Ljava/util/jar/Attributes;>;
            2   11     4           jarFile  Ljava/util/jar/JarFile;
            3    9     5          manifest  Ljava/util/jar/Manifest;
           16   17     2                 e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           2     4       9  any
           6     7       9  any
           1     5      12  any
           6     8      12  any
           9    12      12  any
           0     5      15  Class java.io.IOException
           6     8      15  Class java.io.IOException
           9    15      15  Class java.io.IOException
    Signature: (Ljava/nio/file/Path;Ljava/util/function/BiConsumer<Ljava/nio/file/Path;Ljava/util/jar/Attributes;>;)Z
    MethodParameters:
                  Name  Flags
      jarFilePath       
      manifestConsumer  

  void handleMainClassAttribute(java.nio.file.Path, java.util.jar.Attributes);
    descriptor: (Ljava/nio/file/Path;Ljava/util/jar/Attributes;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 1 // java.nio.file.Path jarFilePath
        start local 2 // java.util.jar.Attributes mainAttributes
         0: .line 1009
            aload 2 /* mainAttributes */
            ldc "Main-Class"
            invokevirtual java.util.jar.Attributes.getValue:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* mainClassValue */
        start local 3 // java.lang.String mainClassValue
         1: .line 1010
            aload 3 /* mainClassValue */
            ifnonnull 3
         2: .line 1011
            new java.lang.StringBuilder
            dup
            ldc "No main manifest attribute, in "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* jarFilePath */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)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
         3: .line 1013
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.oHClass:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* mainClassValue */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.oracle.svm.driver.NativeImage.addPlainImageBuilderArg:(Ljava/lang/String;)V
         4: .line 1014
            aload 1 /* jarFilePath */
            invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            astore 4 /* jarFileName */
        start local 4 // java.lang.String jarFileName
         5: .line 1015
            ldc ".jar"
            astore 5 /* jarSuffix */
        start local 5 // java.lang.String jarSuffix
         6: .line 1017
            aload 4 /* jarFileName */
            aload 5 /* jarSuffix */
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 9
         7: .line 1018
            aload 4 /* jarFileName */
            iconst_0
            aload 4 /* jarFileName */
            invokevirtual java.lang.String.length:()I
            aload 5 /* jarSuffix */
            invokevirtual java.lang.String.length:()I
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 6 /* jarFileNameBase */
        start local 6 // java.lang.String jarFileNameBase
         8: .line 1019
            goto 10
        end local 6 // java.lang.String jarFileNameBase
         9: .line 1020
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 4 /* jarFileName */
            astore 6 /* jarFileNameBase */
        start local 6 // java.lang.String jarFileNameBase
        10: .line 1022
      StackMap locals: java.lang.String
      StackMap stack:
            aload 6 /* jarFileNameBase */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 12
        11: .line 1023
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.oHName: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 /* jarFileNameBase */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.oracle.svm.driver.NativeImage.addPlainImageBuilderArg:(Ljava/lang/String;)V
        12: .line 1025
      StackMap locals:
      StackMap stack:
            return
        end local 6 // java.lang.String jarFileNameBase
        end local 5 // java.lang.String jarSuffix
        end local 4 // java.lang.String jarFileName
        end local 3 // java.lang.String mainClassValue
        end local 2 // java.util.jar.Attributes mainAttributes
        end local 1 // java.nio.file.Path jarFilePath
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   13     0             this  Lcom/oracle/svm/driver/NativeImage;
            0   13     1      jarFilePath  Ljava/nio/file/Path;
            0   13     2   mainAttributes  Ljava/util/jar/Attributes;
            1   13     3   mainClassValue  Ljava/lang/String;
            5   13     4      jarFileName  Ljava/lang/String;
            6   13     5        jarSuffix  Ljava/lang/String;
            8    9     6  jarFileNameBase  Ljava/lang/String;
           10   13     6  jarFileNameBase  Ljava/lang/String;
    MethodParameters:
                Name  Flags
      jarFilePath     
      mainAttributes  

  void handleClassPathAttribute(java.nio.file.Path, java.util.jar.Attributes);
    descriptor: (Ljava/nio/file/Path;Ljava/util/jar/Attributes;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=9, args_size=3
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 1 // java.nio.file.Path jarFilePath
        start local 2 // java.util.jar.Attributes mainAttributes
         0: .line 1028
            aload 2 /* mainAttributes */
            ldc "Class-Path"
            invokevirtual java.util.jar.Attributes.getValue:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* classPathValue */
        start local 3 // java.lang.String classPathValue
         1: .line 1030
            aload 3 /* classPathValue */
            ifnull 10
         2: .line 1031
            aload 3 /* classPathValue */
            ldc " +"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 9
      StackMap locals: com.oracle.svm.driver.NativeImage java.nio.file.Path java.util.jar.Attributes java.lang.String top int int java.lang.String[]
      StackMap stack:
         3: aload 7
            iload 5
            aaload
            astore 4 /* cp */
        start local 4 // java.lang.String cp
         4: .line 1032
            aload 4 /* cp */
            invokestatic com.oracle.svm.core.util.ClasspathUtils.stringToClasspath:(Ljava/lang/String;)Ljava/nio/file/Path;
            astore 8 /* manifestClassPath */
        start local 8 // java.nio.file.Path manifestClassPath
         5: .line 1033
            aload 8 /* manifestClassPath */
            invokeinterface java.nio.file.Path.isAbsolute:()Z
            ifne 7
         6: .line 1035
            aload 1 /* jarFilePath */
            invokeinterface java.nio.file.Path.getParent:()Ljava/nio/file/Path;
            aload 8 /* manifestClassPath */
            invokeinterface java.nio.file.Path.resolve:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            astore 8 /* manifestClassPath */
         7: .line 1038
      StackMap locals: com.oracle.svm.driver.NativeImage java.nio.file.Path java.util.jar.Attributes java.lang.String java.lang.String int int java.lang.String[] java.nio.file.Path
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageClasspath:Ljava/util/LinkedHashSet;
            aload 8 /* manifestClassPath */
            iconst_0
            invokevirtual com.oracle.svm.driver.NativeImage.addImageClasspathEntry:(Ljava/util/LinkedHashSet;Ljava/nio/file/Path;Z)V
        end local 8 // java.nio.file.Path manifestClassPath
        end local 4 // java.lang.String cp
         8: .line 1031
            iinc 5 1
      StackMap locals: com.oracle.svm.driver.NativeImage java.nio.file.Path java.util.jar.Attributes java.lang.String top int int java.lang.String[]
      StackMap stack:
         9: iload 5
            iload 6
            if_icmplt 3
        10: .line 1041
      StackMap locals: com.oracle.svm.driver.NativeImage java.nio.file.Path java.util.jar.Attributes java.lang.String
      StackMap stack:
            return
        end local 3 // java.lang.String classPathValue
        end local 2 // java.util.jar.Attributes mainAttributes
        end local 1 // java.nio.file.Path jarFilePath
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   11     0               this  Lcom/oracle/svm/driver/NativeImage;
            0   11     1        jarFilePath  Ljava/nio/file/Path;
            0   11     2     mainAttributes  Ljava/util/jar/Attributes;
            1   11     3     classPathValue  Ljava/lang/String;
            4    8     4                 cp  Ljava/lang/String;
            5    8     8  manifestClassPath  Ljava/nio/file/Path;
    MethodParameters:
                Name  Flags
      jarFilePath     
      mainAttributes  

  private int completeImageBuild();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=15, args_size=1
        start local 0 // com.oracle.svm.driver.NativeImage this
         0: .line 1044
            aload 0 /* this */
            invokevirtual com.oracle.svm.driver.NativeImage.processNativeImageArgs:()Ljava/util/List;
            astore 1 /* leftoverArgs */
        start local 1 // java.util.List leftoverArgs
         1: .line 1046
            aload 0 /* this */
            invokevirtual com.oracle.svm.driver.NativeImage.completeOptionArgs:()V
         2: .line 1047
            aload 0 /* this */
            invokevirtual com.oracle.svm.driver.NativeImage.addTargetArguments:()V
         3: .line 1049
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.targetPlatform:Ljava/lang/String;
            ifnull 4
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.targetPlatform:Ljava/lang/String;
            goto 5
      StackMap locals: java.util.List
      StackMap stack:
         4: getstatic com.oracle.svm.driver.NativeImage.platform:Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         5: astore 2 /* clibrariesPath */
        start local 2 // java.lang.String clibrariesPath
         6: .line 1050
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.config:Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;
            invokeinterface com.oracle.svm.driver.NativeImage$BuildConfiguration.getBuilderCLibrariesPaths:()Ljava/util/List;
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
         7: .line 1051
            aload 0 /* this */
            aload 2 /* clibrariesPath */
            invokedynamic apply(Lcom/oracle/svm/driver/NativeImage;Ljava/lang/String;)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/NativeImage.lambda$27(Ljava/lang/String;Ljava/nio/file/Path;)Ljava/lang/String; (7)
                  (Ljava/nio/file/Path;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         8: .line 1052
            ldc ","
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.oHCLibraryPath:Ljava/lang/String;
            ldc ""
            invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.lang.String
         9: .line 1050
            astore 3 /* clibrariesBuilderArg */
        start local 3 // java.lang.String clibrariesBuilderArg
        10: .line 1053
            aload 0 /* this */
            aload 3 /* clibrariesBuilderArg */
            invokevirtual com.oracle.svm.driver.NativeImage.addPlainImageBuilderArg:(Ljava/lang/String;)V
        11: .line 1055
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.printFlagsOptionQuery:Ljava/lang/String;
            ifnull 15
        12: .line 1056
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "-H:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.enablePrintFlags:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.printFlagsOptionQuery:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.oracle.svm.driver.NativeImage.addPlainImageBuilderArg:(Ljava/lang/String;)V
        13: .line 1057
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "-R:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.enablePrintFlags:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.printFlagsOptionQuery:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.oracle.svm.driver.NativeImage.addPlainImageBuilderArg:(Ljava/lang/String;)V
        14: .line 1058
            goto 18
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
        15: aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.printFlagsWithExtraHelpOptionQuery:Ljava/lang/String;
            ifnull 18
        16: .line 1059
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "-H:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.enablePrintFlagsWithExtraHelp:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.printFlagsWithExtraHelpOptionQuery:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.oracle.svm.driver.NativeImage.addPlainImageBuilderArg:(Ljava/lang/String;)V
        17: .line 1060
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "-R:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.enablePrintFlagsWithExtraHelp:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.printFlagsWithExtraHelpOptionQuery:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.oracle.svm.driver.NativeImage.addPlainImageBuilderArg:(Ljava/lang/String;)V
        18: .line 1063
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.svm.driver.NativeImage.shouldAddCWDToCP:()Z
            ifeq 20
        19: .line 1064
            aload 0 /* this */
            ldc "."
            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.addImageClasspath:(Ljava/nio/file/Path;)V
        20: .line 1066
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageClasspath:Ljava/util/LinkedHashSet;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.customImageClasspath:Ljava/util/LinkedHashSet;
            invokevirtual java.util.LinkedHashSet.addAll:(Ljava/util/Collection;)Z
            pop
        21: .line 1069
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageBuilderJavaArgs:Ljava/util/ArrayList;
            ldc "-Xmx"
            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/core/option/SubstrateOptionsParser.parseLong(Ljava/lang/String;)J (6)
                  (Ljava/lang/String;)Ljava/lang/Long;
            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;
                  java/lang/String.valueOf(Ljava/lang/Object;)Ljava/lang/String; (6)
                  (Ljava/lang/Long;)Ljava/lang/String;
            invokedynamic get()Ljava/util/function/Supplier;
              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;
                  com/oracle/svm/driver/NativeImage.lambda$30()Ljava/lang/Long; (6)
                  ()Ljava/lang/Long;
            invokedynamic apply()Ljava/util/function/BiFunction;
              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;)Ljava/lang/Object;
                  java/lang/Math.max(JJ)J (6)
                  (Ljava/lang/Long;Ljava/lang/Long;)Ljava/lang/Long;
            invokestatic com.oracle.svm.driver.NativeImage.consolidateArgs:(Ljava/util/Collection;Ljava/lang/String;Ljava/util/function/Function;Ljava/util/function/Function;Ljava/util/function/Supplier;Ljava/util/function/BiFunction;)Ljava/lang/Object;
            checkcast java.lang.Long
            astore 4 /* xmxValue */
        start local 4 // java.lang.Long xmxValue
        22: .line 1070
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageBuilderJavaArgs:Ljava/util/ArrayList;
            ldc "-Xms"
            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/core/option/SubstrateOptionsParser.parseLong(Ljava/lang/String;)J (6)
                  (Ljava/lang/String;)Ljava/lang/Long;
            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;
                  java/lang/String.valueOf(Ljava/lang/Object;)Ljava/lang/String; (6)
                  (Ljava/lang/Long;)Ljava/lang/String;
            aload 0 /* this */
            invokedynamic get(Lcom/oracle/svm/driver/NativeImage;)Ljava/util/function/Supplier;
              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;
                  com/oracle/svm/driver/NativeImage.lambda$34()Ljava/lang/Long; (7)
                  ()Ljava/lang/Long;
            invokedynamic apply()Ljava/util/function/BiFunction;
              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;)Ljava/lang/Object;
                  java/lang/Math.max(JJ)J (6)
                  (Ljava/lang/Long;Ljava/lang/Long;)Ljava/lang/Long;
            invokestatic com.oracle.svm.driver.NativeImage.consolidateArgs:(Ljava/util/Collection;Ljava/lang/String;Ljava/util/function/Function;Ljava/util/function/Function;Ljava/util/function/Supplier;Ljava/util/function/BiFunction;)Ljava/lang/Object;
            checkcast java.lang.Long
            astore 5 /* xmsValue */
        start local 5 // java.lang.Long xmsValue
        23: .line 1071
            aload 5 /* xmsValue */
            invokevirtual java.lang.Long.longValue:()J
            aload 4 /* xmxValue */
            invokevirtual java.lang.Long.longValue:()J
            invokestatic java.lang.Long.compareUnsigned:(JJ)I
            ifle 25
        24: .line 1072
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageBuilderJavaArgs:Ljava/util/ArrayList;
            ldc "-Xms"
            aload 4 /* xmxValue */
            invokevirtual java.lang.Long.longValue:()J
            invokestatic java.lang.Long.toUnsignedString:(J)Ljava/lang/String;
            invokestatic com.oracle.svm.driver.NativeImage.replaceArg:(Ljava/util/Collection;Ljava/lang/String;Ljava/lang/String;)Z
            pop
        25: .line 1075
      StackMap locals: java.lang.Long java.lang.Long
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageBuilderJavaArgs:Ljava/util/ArrayList;
            ldc "-Djdk.internal.lambda.disableEagerInitialization=true"
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        26: .line 1077
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageBuilderJavaArgs:Ljava/util/ArrayList;
            ldc "-Djdk.internal.lambda.eagerlyInitialize=false"
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        27: .line 1078
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageBuilderJavaArgs:Ljava/util/ArrayList;
            ldc "-Djava.lang.invoke.InnerClassLambdaMetafactory.initializeLambdas=false"
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        28: .line 1079
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageIncludeBuiltinModules:Ljava/util/LinkedHashSet;
            invokevirtual java.util.LinkedHashSet.isEmpty:()Z
            ifne 30
        29: .line 1080
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageBuilderJavaArgs:Ljava/util/ArrayList;
            new java.lang.StringBuilder
            dup
            ldc "-Dsubstratevm.ImageIncludeBuiltinModules="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ","
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageIncludeBuiltinModules:Ljava/util/LinkedHashSet;
            invokestatic java.lang.String.join:(Ljava/lang/CharSequence;Ljava/lang/Iterable;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        30: .line 1084
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* afterOption */
        start local 6 // boolean afterOption
        31: .line 1085
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.customJavaArgs:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 8
            goto 40
      StackMap locals: com.oracle.svm.driver.NativeImage java.util.List java.lang.String java.lang.String java.lang.Long java.lang.Long int top java.util.Iterator
      StackMap stack:
        32: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* arg */
        start local 7 // java.lang.String arg
        33: .line 1086
            aload 7 /* arg */
            ldc "-"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 36
        34: .line 1087
            iconst_1
            istore 6 /* afterOption */
        35: .line 1088
            goto 40
        36: .line 1089
      StackMap locals: com.oracle.svm.driver.NativeImage java.util.List java.lang.String java.lang.String java.lang.Long java.lang.Long int java.lang.String java.util.Iterator
      StackMap stack:
            iload 6 /* afterOption */
            ifne 39
        37: .line 1090
            new java.lang.StringBuilder
            dup
            ldc "Found invalid image builder Java VM argument: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* arg */
            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
        38: .line 1091
            goto 40
        39: .line 1092
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* afterOption */
        end local 7 // java.lang.String arg
        40: .line 1085
      StackMap locals: com.oracle.svm.driver.NativeImage java.util.List java.lang.String java.lang.String java.lang.Long java.lang.Long int top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 32
        41: .line 1096
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.customJavaArgs:Ljava/util/ArrayList;
            iconst_0
            anewarray java.lang.String
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            invokevirtual com.oracle.svm.driver.NativeImage.addImageBuilderJavaArgs:([Ljava/lang/String;)V
        42: .line 1099
            aload 0 /* this */
            invokedynamic apply(Lcom/oracle/svm/driver/NativeImage;)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/NativeImage.lambda$36(Ljava/lang/String;)Ljava/lang/String; (7)
                  (Ljava/lang/String;)Ljava/lang/String;
            astore 7 /* canonicalizedPathStr */
        start local 7 // java.util.function.Function canonicalizedPathStr
        43: .line 1100
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageBuilderArgs:Ljava/util/LinkedHashSet;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.oHCLibraryPath:Ljava/lang/String;
            ldc ","
            aload 7 /* canonicalizedPathStr */
            invokestatic com.oracle.svm.driver.NativeImage.consolidateListArgs:(Ljava/util/Collection;Ljava/lang/String;Ljava/lang/String;Ljava/util/function/Function;)V
        44: .line 1101
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageBuilderArgs:Ljava/util/LinkedHashSet;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.oHSubstitutionFiles:Ljava/lang/String;
            ldc ","
            aload 7 /* canonicalizedPathStr */
            invokestatic com.oracle.svm.driver.NativeImage.consolidateListArgs:(Ljava/util/Collection;Ljava/lang/String;Ljava/lang/String;Ljava/util/function/Function;)V
        45: .line 1102
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageBuilderArgs:Ljava/util/LinkedHashSet;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.oHReflectionConfigurationFiles:Ljava/lang/String;
            ldc ","
            aload 7 /* canonicalizedPathStr */
            invokestatic com.oracle.svm.driver.NativeImage.consolidateListArgs:(Ljava/util/Collection;Ljava/lang/String;Ljava/lang/String;Ljava/util/function/Function;)V
        46: .line 1103
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageBuilderArgs:Ljava/util/LinkedHashSet;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.oHDynamicProxyConfigurationFiles:Ljava/lang/String;
            ldc ","
            aload 7 /* canonicalizedPathStr */
            invokestatic com.oracle.svm.driver.NativeImage.consolidateListArgs:(Ljava/util/Collection;Ljava/lang/String;Ljava/lang/String;Ljava/util/function/Function;)V
        47: .line 1104
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageBuilderArgs:Ljava/util/LinkedHashSet;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.oHResourceConfigurationFiles:Ljava/lang/String;
            ldc ","
            aload 7 /* canonicalizedPathStr */
            invokestatic com.oracle.svm.driver.NativeImage.consolidateListArgs:(Ljava/util/Collection;Ljava/lang/String;Ljava/lang/String;Ljava/util/function/Function;)V
        48: .line 1105
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageBuilderArgs:Ljava/util/LinkedHashSet;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.oHJNIConfigurationFiles:Ljava/lang/String;
            ldc ","
            aload 7 /* canonicalizedPathStr */
            invokestatic com.oracle.svm.driver.NativeImage.consolidateListArgs:(Ljava/util/Collection;Ljava/lang/String;Ljava/lang/String;Ljava/util/function/Function;)V
        49: .line 1106
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageBuilderArgs:Ljava/util/LinkedHashSet;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.oHTraceClassInitialization:Ljava/lang/String;
            ldc ","
            invokestatic java.util.function.Function.identity:()Ljava/util/function/Function;
            invokestatic com.oracle.svm.driver.NativeImage.consolidateListArgs:(Ljava/util/Collection;Ljava/lang/String;Ljava/lang/String;Ljava/util/function/Function;)V
        50: .line 1107
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageBuilderArgs:Ljava/util/LinkedHashSet;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.oHTraceObjectInstantiation:Ljava/lang/String;
            ldc ","
            invokestatic java.util.function.Function.identity:()Ljava/util/function/Function;
            invokestatic com.oracle.svm.driver.NativeImage.consolidateListArgs:(Ljava/util/Collection;Ljava/lang/String;Ljava/lang/String;Ljava/util/function/Function;)V
        51: .line 1108
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageBuilderArgs:Ljava/util/LinkedHashSet;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.oHSerializationConfigurationFiles:Ljava/lang/String;
            ldc ","
            aload 7 /* canonicalizedPathStr */
            invokestatic com.oracle.svm.driver.NativeImage.consolidateListArgs:(Ljava/util/Collection;Ljava/lang/String;Ljava/lang/String;Ljava/util/function/Function;)V
        52: .line 1109
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageBuilderArgs:Ljava/util/LinkedHashSet;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.oHSerializationDenyConfigurationFiles:Ljava/lang/String;
            ldc ","
            aload 7 /* canonicalizedPathStr */
            invokestatic com.oracle.svm.driver.NativeImage.consolidateListArgs:(Ljava/util/Collection;Ljava/lang/String;Ljava/lang/String;Ljava/util/function/Function;)V
        53: .line 1111
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageBuilderJavaArgs:Ljava/util/ArrayList;
            aload 0 /* this */
            invokevirtual com.oracle.svm.driver.NativeImage.getAgentArguments:()Ljava/util/List;
            invokevirtual java.util.ArrayList.addAll:(Ljava/util/Collection;)Z
            pop
        54: .line 1113
            invokedynamic apply()Ljava/util/function/BiFunction;
              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;)Ljava/lang/Object;
                  com/oracle/svm/driver/NativeImage.lambda$37(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; (6)
                  (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 8 /* takeLast */
        start local 8 // java.util.function.BiFunction takeLast
        55: .line 1114
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageBuilderArgs:Ljava/util/LinkedHashSet;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.oHPath:Ljava/lang/String;
            invokestatic java.util.function.Function.identity:()Ljava/util/function/Function;
            aload 7 /* canonicalizedPathStr */
            invokedynamic get()Ljava/util/function/Supplier;
              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;
                  com/oracle/svm/driver/NativeImage.lambda$38()Ljava/lang/String; (6)
                  ()Ljava/lang/String;
            aload 8 /* takeLast */
            invokestatic com.oracle.svm.driver.NativeImage.consolidateArgs:(Ljava/util/Collection;Ljava/lang/String;Ljava/util/function/Function;Ljava/util/function/Function;Ljava/util/function/Supplier;Ljava/util/function/BiFunction;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* imagePathStr */
        start local 9 // java.lang.String imagePathStr
        56: .line 1116
            aload 0 /* this */
            aload 0 /* this */
            aload 9 /* imagePathStr */
            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;
            putfield com.oracle.svm.driver.NativeImage.imagePath:Ljava/nio/file/Path;
        57: .line 1117
            goto 60
      StackMap locals: com.oracle.svm.driver.NativeImage java.util.List java.lang.String java.lang.String java.lang.Long java.lang.Long int java.util.function.Function java.util.function.BiFunction java.lang.String
      StackMap stack: java.lang.Throwable
        58: astore 10 /* e */
        start local 10 // java.lang.Throwable e
        59: .line 1118
            new java.lang.StringBuilder
            dup
            ldc "The given "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.oHPath:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 9 /* imagePathStr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " argument does not specify a valid path"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 10 /* e */
            invokestatic com.oracle.svm.driver.NativeImage.showError:(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/Error;
            athrow
        end local 10 // java.lang.Throwable e
        60: .line 1121
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageBuilderArgs:Ljava/util/LinkedHashSet;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.oHName:Ljava/lang/String;
            invokestatic java.util.function.Function.identity:()Ljava/util/function/Function;
            invokestatic java.util.function.Function.identity:()Ljava/util/function/Function;
            invokedynamic get()Ljava/util/function/Supplier;
              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;
                  com/oracle/svm/driver/NativeImage.lambda$39()Ljava/lang/String; (6)
                  ()Ljava/lang/String;
            aload 8 /* takeLast */
            invokestatic com.oracle.svm.driver.NativeImage.consolidateArgs:(Ljava/util/Collection;Ljava/lang/String;Ljava/util/function/Function;Ljava/util/function/Function;Ljava/util/function/Supplier;Ljava/util/function/BiFunction;)Ljava/lang/Object;
            pop
        61: .line 1122
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageBuilderArgs:Ljava/util/LinkedHashSet;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.oHClass:Ljava/lang/String;
            invokestatic com.oracle.svm.driver.NativeImage.consolidateSingleValueArg:(Ljava/util/Collection;Ljava/lang/String;)Ljava/lang/String;
            putfield com.oracle.svm.driver.NativeImage.mainClass:Ljava/lang/String;
        62: .line 1123
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageBuilderArgs:Ljava/util/LinkedHashSet;
            invokevirtual java.util.LinkedHashSet.stream:()Ljava/util/stream/Stream;
            aload 0 /* this */
            invokedynamic test(Lcom/oracle/svm/driver/NativeImage;)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/NativeImage.lambda$40(Ljava/lang/String;)Z (7)
                  (Ljava/lang/String;)Z
            invokeinterface java.util.stream.Stream.noneMatch:(Ljava/util/function/Predicate;)Z
            istore 10 /* buildExecutable */
        start local 10 // boolean buildExecutable
        63: .line 1124
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageBuilderArgs:Ljava/util/LinkedHashSet;
            invokevirtual java.util.LinkedHashSet.stream:()Ljava/util/stream/Stream;
            aload 0 /* this */
            invokedynamic test(Lcom/oracle/svm/driver/NativeImage;)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/NativeImage.lambda$41(Ljava/lang/String;)Z (7)
                  (Ljava/lang/String;)Z
            invokeinterface java.util.stream.Stream.anyMatch:(Ljava/util/function/Predicate;)Z
            istore 11 /* printFlags */
        start local 11 // boolean printFlags
        64: .line 1126
            iload 11 /* printFlags */
            ifne 98
        65: .line 1127
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 12 /* extraImageArgs */
        start local 12 // java.util.List extraImageArgs
        66: .line 1128
            aload 1 /* leftoverArgs */
            invokeinterface java.util.List.listIterator:()Ljava/util/ListIterator;
            astore 13 /* leftoverArgsItr */
        start local 13 // java.util.ListIterator leftoverArgsItr
        67: .line 1129
            goto 72
        68: .line 1130
      StackMap locals: com.oracle.svm.driver.NativeImage java.util.List java.lang.String java.lang.String java.lang.Long java.lang.Long int java.util.function.Function java.util.function.BiFunction java.lang.String int int java.util.List java.util.ListIterator
      StackMap stack:
            aload 13 /* leftoverArgsItr */
            invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 14 /* leftoverArg */
        start local 14 // java.lang.String leftoverArg
        69: .line 1131
            aload 14 /* leftoverArg */
            ldc "-"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 72
        70: .line 1132
            aload 13 /* leftoverArgsItr */
            invokeinterface java.util.ListIterator.remove:()V
        71: .line 1133
            aload 12 /* extraImageArgs */
            aload 14 /* leftoverArg */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 14 // java.lang.String leftoverArg
        72: .line 1129
      StackMap locals:
      StackMap stack:
            aload 13 /* leftoverArgsItr */
            invokeinterface java.util.ListIterator.hasNext:()Z
            ifne 68
        73: .line 1137
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.jarOptionMode:Z
            ifne 91
        74: .line 1139
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.customImageBuilderArgs:Ljava/util/LinkedHashSet;
            invokevirtual java.util.LinkedHashSet.stream:()Ljava/util/stream/Stream;
            aload 0 /* this */
            invokedynamic test(Lcom/oracle/svm/driver/NativeImage;)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/NativeImage.lambda$42(Ljava/lang/String;)Z (7)
                  (Ljava/lang/String;)Z
            invokeinterface java.util.stream.Stream.anyMatch:(Ljava/util/function/Predicate;)Z
            istore 14 /* explicitMainClass */
        start local 14 // boolean explicitMainClass
        75: .line 1141
            aload 12 /* extraImageArgs */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 79
        76: .line 1142
            iload 10 /* buildExecutable */
            ifeq 82
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.mainClass:Ljava/lang/String;
            ifnull 77
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.mainClass:Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 82
        77: .line 1143
      StackMap locals: int
      StackMap stack:
            ldc "Please specify class containing the main entry point method. (see --help)"
            invokestatic com.oracle.svm.driver.NativeImage.showError:(Ljava/lang/String;)Ljava/lang/Error;
            pop
        78: .line 1145
            goto 82
        79: .line 1147
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 14 /* explicitMainClass */
        80: .line 1148
            aload 0 /* this */
            aload 12 /* extraImageArgs */
            iconst_0
            invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
            checkcast java.lang.String
            putfield com.oracle.svm.driver.NativeImage.mainClass:Ljava/lang/String;
        81: .line 1149
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageBuilderArgs:Ljava/util/LinkedHashSet;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.oHClass:Ljava/lang/String;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.mainClass:Ljava/lang/String;
            invokestatic com.oracle.svm.driver.NativeImage.replaceArg:(Ljava/util/Collection;Ljava/lang/String;Ljava/lang/String;)Z
            pop
        82: .line 1152
      StackMap locals:
      StackMap stack:
            aload 12 /* extraImageArgs */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 89
        83: .line 1154
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.customImageBuilderArgs:Ljava/util/LinkedHashSet;
            invokevirtual java.util.LinkedHashSet.stream:()Ljava/util/stream/Stream;
            aload 0 /* this */
            invokedynamic test(Lcom/oracle/svm/driver/NativeImage;)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/NativeImage.lambda$43(Ljava/lang/String;)Z (7)
                  (Ljava/lang/String;)Z
            invokeinterface java.util.stream.Stream.noneMatch:(Ljava/util/function/Predicate;)Z
            ifeq 93
        84: .line 1156
            iload 14 /* explicitMainClass */
            ifeq 87
        85: .line 1158
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageBuilderArgs:Ljava/util/LinkedHashSet;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.oHName:Ljava/lang/String;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.mainClass:Ljava/lang/String;
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            invokestatic com.oracle.svm.driver.NativeImage.replaceArg:(Ljava/util/Collection;Ljava/lang/String;Ljava/lang/String;)Z
            pop
        86: .line 1159
            goto 93
      StackMap locals:
      StackMap stack:
        87: aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageBuilderArgs:Ljava/util/LinkedHashSet;
            invokevirtual java.util.LinkedHashSet.stream:()Ljava/util/stream/Stream;
            aload 0 /* this */
            invokedynamic test(Lcom/oracle/svm/driver/NativeImage;)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/NativeImage.lambda$44(Ljava/lang/String;)Z (7)
                  (Ljava/lang/String;)Z
            invokeinterface java.util.stream.Stream.noneMatch:(Ljava/util/function/Predicate;)Z
            ifeq 93
        88: .line 1161
            new java.lang.StringBuilder
            dup
            ldc "Missing image-name. Use "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.oHName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "<imagename> to provide one."
            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;
            athrow
        89: .line 1166
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageBuilderArgs:Ljava/util/LinkedHashSet;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.oHName:Ljava/lang/String;
            aload 12 /* extraImageArgs */
            iconst_0
            invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic com.oracle.svm.driver.NativeImage.replaceArg:(Ljava/util/Collection;Ljava/lang/String;Ljava/lang/String;)Z
            pop
        end local 14 // boolean explicitMainClass
        90: .line 1168
            goto 93
        91: .line 1169
      StackMap locals:
      StackMap stack:
            aload 12 /* extraImageArgs */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 93
        92: .line 1171
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageBuilderArgs:Ljava/util/LinkedHashSet;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.oHName:Ljava/lang/String;
            aload 12 /* extraImageArgs */
            iconst_0
            invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic com.oracle.svm.driver.NativeImage.replaceArg:(Ljava/util/Collection;Ljava/lang/String;Ljava/lang/String;)Z
            pop
        93: .line 1175
      StackMap locals:
      StackMap stack:
            aload 12 /* extraImageArgs */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 98
        94: .line 1176
            new java.lang.StringBuilder
            dup
            ldc "Unknown argument"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 12 /* extraImageArgs */
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmpne 95
            ldc ": "
            goto 96
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
        95: ldc "s: "
      StackMap locals: com.oracle.svm.driver.NativeImage java.util.List java.lang.String java.lang.String java.lang.Long java.lang.Long int java.util.function.Function java.util.function.BiFunction java.lang.String int int java.util.List java.util.ListIterator
      StackMap stack: java.lang.StringBuilder java.lang.String
        96: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 14 /* prefix */
        start local 14 // java.lang.String prefix
        97: .line 1177
            aload 12 /* extraImageArgs */
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            ldc ", "
            aload 14 /* prefix */
            ldc ""
            invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic com.oracle.svm.driver.NativeImage.showError:(Ljava/lang/String;)Ljava/lang/Error;
            pop
        end local 14 // java.lang.String prefix
        end local 13 // java.util.ListIterator leftoverArgsItr
        end local 12 // java.util.List extraImageArgs
        98: .line 1181
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageBuilderArgs:Ljava/util/LinkedHashSet;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.oHName:Ljava/lang/String;
            invokestatic com.oracle.svm.driver.NativeImage.consolidateSingleValueArg:(Ljava/util/Collection;Ljava/lang/String;)Ljava/lang/String;
            putfield com.oracle.svm.driver.NativeImage.imageName:Ljava/lang/String;
        99: .line 1183
            aload 1 /* leftoverArgs */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 104
       100: .line 1184
            new java.lang.StringBuilder
            dup
            ldc "Unrecognized option"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* leftoverArgs */
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmpne 101
            ldc ": "
            goto 102
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
       101: ldc "s: "
      StackMap locals: com.oracle.svm.driver.NativeImage java.util.List java.lang.String java.lang.String java.lang.Long java.lang.Long int java.util.function.Function java.util.function.BiFunction java.lang.String int int
      StackMap stack: java.lang.StringBuilder java.lang.String
       102: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 12 /* prefix */
        start local 12 // java.lang.String prefix
       103: .line 1185
            aload 1 /* leftoverArgs */
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            ldc ", "
            aload 12 /* prefix */
            ldc ""
            invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic com.oracle.svm.driver.NativeImage.showError:(Ljava/lang/String;)Ljava/lang/Error;
            pop
        end local 12 // java.lang.String prefix
       104: .line 1188
      StackMap locals:
      StackMap stack:
            new java.util.LinkedHashSet
            dup
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageBuilderBootClasspath:Ljava/util/LinkedHashSet;
            invokespecial java.util.LinkedHashSet.<init>:(Ljava/util/Collection;)V
            astore 12 /* finalImageClasspath */
        start local 12 // java.util.LinkedHashSet finalImageClasspath
       105: .line 1189
            aload 12 /* finalImageClasspath */
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageProvidedClasspath:Ljava/util/LinkedHashSet;
            invokevirtual java.util.LinkedHashSet.addAll:(Ljava/util/Collection;)Z
            pop
       106: .line 1190
            aload 12 /* finalImageClasspath */
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageClasspath:Ljava/util/LinkedHashSet;
            invokevirtual java.util.LinkedHashSet.addAll:(Ljava/util/Collection;)Z
            pop
       107: .line 1192
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.config:Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;
            invokeinterface com.oracle.svm.driver.NativeImage$BuildConfiguration.buildFallbackImage:()Z
            ifne 109
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageBuilderArgs:Ljava/util/LinkedHashSet;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.oHFallbackThreshold:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.LinkedHashSet.contains:(Ljava/lang/Object;)Z
            ifeq 109
       108: .line 1194
            iconst_2
            ireturn
       109: .line 1196
      StackMap locals: java.util.LinkedHashSet
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageBuilderJavaArgs:Ljava/util/ArrayList;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageBuilderBootClasspath:Ljava/util/LinkedHashSet;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageBuilderClasspath:Ljava/util/LinkedHashSet;
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageBuilderArgs:Ljava/util/LinkedHashSet;
            aload 12 /* finalImageClasspath */
            invokevirtual com.oracle.svm.driver.NativeImage.buildImage:(Ljava/util/List;Ljava/util/LinkedHashSet;Ljava/util/LinkedHashSet;Ljava/util/LinkedHashSet;Ljava/util/LinkedHashSet;)I
            ireturn
        end local 12 // java.util.LinkedHashSet finalImageClasspath
        end local 11 // boolean printFlags
        end local 10 // boolean buildExecutable
        end local 9 // java.lang.String imagePathStr
        end local 8 // java.util.function.BiFunction takeLast
        end local 7 // java.util.function.Function canonicalizedPathStr
        end local 6 // boolean afterOption
        end local 5 // java.lang.Long xmsValue
        end local 4 // java.lang.Long xmxValue
        end local 3 // java.lang.String clibrariesBuilderArg
        end local 2 // java.lang.String clibrariesPath
        end local 1 // java.util.List leftoverArgs
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0  110     0                  this  Lcom/oracle/svm/driver/NativeImage;
            1  110     1          leftoverArgs  Ljava/util/List<Ljava/lang/String;>;
            6  110     2        clibrariesPath  Ljava/lang/String;
           10  110     3  clibrariesBuilderArg  Ljava/lang/String;
           22  110     4              xmxValue  Ljava/lang/Long;
           23  110     5              xmsValue  Ljava/lang/Long;
           31  110     6           afterOption  Z
           33   40     7                   arg  Ljava/lang/String;
           43  110     7  canonicalizedPathStr  Ljava/util/function/Function<Ljava/lang/String;Ljava/lang/String;>;
           55  110     8              takeLast  Ljava/util/function/BiFunction<Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;>;
           56  110     9          imagePathStr  Ljava/lang/String;
           59   60    10                     e  Ljava/lang/Throwable;
           63  110    10       buildExecutable  Z
           64  110    11            printFlags  Z
           66   98    12        extraImageArgs  Ljava/util/List<Ljava/lang/String;>;
           67   98    13       leftoverArgsItr  Ljava/util/ListIterator<Ljava/lang/String;>;
           69   72    14           leftoverArg  Ljava/lang/String;
           75   90    14     explicitMainClass  Z
           97   98    14                prefix  Ljava/lang/String;
          103  104    12                prefix  Ljava/lang/String;
          105  110    12   finalImageClasspath  Ljava/util/LinkedHashSet<Ljava/nio/file/Path;>;
      Exception table:
        from    to  target  type
          56    57      58  Class com.oracle.svm.driver.NativeImage$NativeImageError
          56    57      58  Class java.nio.file.InvalidPathException

  private boolean shouldAddCWDToCP();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.oracle.svm.driver.NativeImage this
         0: .line 1200
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.config:Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;
            invokeinterface com.oracle.svm.driver.NativeImage$BuildConfiguration.buildFallbackImage:()Z
            ifne 1
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.printFlagsOptionQuery:Ljava/lang/String;
            ifnonnull 1
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.printFlagsWithExtraHelpOptionQuery:Ljava/lang/String;
            ifnull 2
         1: .line 1201
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 1204
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.optionRegistry:Lcom/oracle/svm/driver/MacroOption$Registry;
            getstatic com.oracle.svm.driver.MacroOption$MacroOptionKind.Macro:Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;
            invokevirtual com.oracle.svm.driver.MacroOption$Registry.getEnabledOptions:(Lcom/oracle/svm/driver/MacroOption$MacroOptionKind;)Ljava/util/LinkedHashSet;
            invokevirtual java.util.LinkedHashSet.stream:()Ljava/util/stream/Stream;
            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/MacroOption$EnabledOption.isEnabledFromCommandline()Z (5)
                  (Lcom/oracle/svm/driver/MacroOption$EnabledOption;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.findAny:()Ljava/util/Optional;
            astore 1 /* explicitMacroOption */
        start local 1 // java.util.Optional explicitMacroOption
         3: .line 1206
            aload 1 /* explicitMacroOption */
            invokevirtual java.util.Optional.isPresent:()Z
            ifeq 5
         4: .line 1207
            iconst_0
            ireturn
         5: .line 1211
      StackMap locals: java.util.Optional
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.customImageClasspath:Ljava/util/LinkedHashSet;
            invokevirtual java.util.LinkedHashSet.isEmpty:()Z
            ireturn
        end local 1 // java.util.Optional explicitMacroOption
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    6     0                 this  Lcom/oracle/svm/driver/NativeImage;
            3    6     1  explicitMacroOption  Ljava/util/Optional<Lcom/oracle/svm/driver/MacroOption$EnabledOption;>;

  private static boolean isListArgumentSet(java.util.Collection<java.lang.String>, java.lang.String);
    descriptor: (Ljava/util/Collection;Ljava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.Collection list
        start local 1 // java.lang.String argPrefix
         0: .line 1215
            aload 0 /* list */
            invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
            aload 1 /* argPrefix */
            invokedynamic test(Ljava/lang/String;)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/NativeImage.lambda$46(Ljava/lang/String;Ljava/lang/String;)Z (6)
                  (Ljava/lang/String;)Z
            invokeinterface java.util.stream.Stream.anyMatch:(Ljava/util/function/Predicate;)Z
            ireturn
        end local 1 // java.lang.String argPrefix
        end local 0 // java.util.Collection list
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       list  Ljava/util/Collection<Ljava/lang/String;>;
            0    1     1  argPrefix  Ljava/lang/String;
    Signature: (Ljava/util/Collection<Ljava/lang/String;>;Ljava/lang/String;)Z
    MethodParameters:
           Name  Flags
      list       
      argPrefix  

  private boolean isListArgumentSet(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 1 // java.lang.String argPrefix
         0: .line 1219
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageBuilderArgs:Ljava/util/LinkedHashSet;
            aload 1 /* argPrefix */
            invokestatic com.oracle.svm.driver.NativeImage.isListArgumentSet:(Ljava/util/Collection;Ljava/lang/String;)Z
            ireturn
        end local 1 // java.lang.String argPrefix
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lcom/oracle/svm/driver/NativeImage;
            0    1     1  argPrefix  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      argPrefix  

  private static java.lang.String getListArgumentValue(java.util.Collection<java.lang.String>, java.lang.String);
    descriptor: (Ljava/util/Collection;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.Collection list
        start local 1 // java.lang.String argPrefix
         0: .line 1223
            aload 0 /* list */
            aload 1 /* argPrefix */
            invokestatic com.oracle.svm.driver.NativeImage.isListArgumentSet:(Ljava/util/Collection;Ljava/lang/String;)Z
            invokestatic com.oracle.svm.core.util.VMError.guarantee:(Z)V
         1: .line 1224
            aload 0 /* list */
            invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
            aload 1 /* argPrefix */
            invokedynamic test(Ljava/lang/String;)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/NativeImage.lambda$47(Ljava/lang/String;Ljava/lang/String;)Z (6)
                  (Ljava/lang/String;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
            aload 1 /* argPrefix */
            invokedynamic apply(Ljava/lang/String;)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/NativeImage.lambda$48(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; (6)
                  (Ljava/lang/String;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            invokestatic java.util.stream.Collectors.joining:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 1 // java.lang.String argPrefix
        end local 0 // java.util.Collection list
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       list  Ljava/util/Collection<Ljava/lang/String;>;
            0    2     1  argPrefix  Ljava/lang/String;
    Signature: (Ljava/util/Collection<Ljava/lang/String;>;Ljava/lang/String;)Ljava/lang/String;
    MethodParameters:
           Name  Flags
      list       
      argPrefix  

  private java.lang.String getListArgumentValue(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 1 // java.lang.String argPrefix
         0: .line 1228
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageBuilderArgs:Ljava/util/LinkedHashSet;
            aload 1 /* argPrefix */
            invokestatic com.oracle.svm.driver.NativeImage.getListArgumentValue:(Ljava/util/Collection;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String argPrefix
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lcom/oracle/svm/driver/NativeImage;
            0    1     1  argPrefix  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      argPrefix  

  private java.util.List<java.lang.String> getAgentArguments();
    descriptor: ()Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // com.oracle.svm.driver.NativeImage this
         0: .line 1232
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* args */
        start local 1 // java.util.List args
         1: .line 1233
            ldc ""
            astore 2 /* agentOptions */
        start local 2 // java.lang.String agentOptions
         2: .line 1234
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.oHTraceClassInitialization:Ljava/lang/String;
            invokevirtual com.oracle.svm.driver.NativeImage.isListArgumentSet:(Ljava/lang/String;)Z
            istore 3 /* shouldTraceClassInitialization */
        start local 3 // boolean shouldTraceClassInitialization
         3: .line 1235
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.oHTraceObjectInstantiation:Ljava/lang/String;
            invokevirtual com.oracle.svm.driver.NativeImage.isListArgumentSet:(Ljava/lang/String;)Z
            istore 4 /* shouldTraceObjectInstantiation */
        start local 4 // boolean shouldTraceObjectInstantiation
         4: .line 1236
            iload 3 /* shouldTraceClassInitialization */
            ifeq 7
         5: .line 1237
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.oHTraceClassInitialization:Ljava/lang/String;
            invokevirtual com.oracle.svm.driver.NativeImage.getListArgumentValue:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* classesToTrace */
        start local 5 // java.lang.String classesToTrace
         6: .line 1238
            aload 5 /* classesToTrace */
            ldc "c"
            invokestatic com.oracle.svm.driver.NativeImage.getAgentOptions:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* agentOptions */
        end local 5 // java.lang.String classesToTrace
         7: .line 1240
      StackMap locals: com.oracle.svm.driver.NativeImage java.util.List java.lang.String int int
      StackMap stack:
            iload 4 /* shouldTraceObjectInstantiation */
            ifeq 12
         8: .line 1241
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.oHTraceObjectInstantiation:Ljava/lang/String;
            invokevirtual com.oracle.svm.driver.NativeImage.getListArgumentValue:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* objectsToTrace */
        start local 5 // java.lang.String objectsToTrace
         9: .line 1242
            aload 2 /* agentOptions */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 11
        10: .line 1243
            new java.lang.StringBuilder
            dup
            aload 2 /* agentOptions */
            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 2 /* agentOptions */
        11: .line 1245
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 2 /* agentOptions */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* objectsToTrace */
            ldc "o"
            invokestatic com.oracle.svm.driver.NativeImage.getAgentOptions:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* agentOptions */
        end local 5 // java.lang.String objectsToTrace
        12: .line 1248
      StackMap locals:
      StackMap stack:
            aload 2 /* agentOptions */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 14
        13: .line 1249
            aload 1 /* args */
            new java.lang.StringBuilder
            dup
            ldc "-agentlib:native-image-diagnostics-agent="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* agentOptions */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        14: .line 1251
      StackMap locals:
      StackMap stack:
            aload 1 /* args */
            new java.lang.StringBuilder
            dup
            ldc "-javaagent:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.config:Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;
            invokeinterface com.oracle.svm.driver.NativeImage$BuildConfiguration.getAgentJAR:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toAbsolutePath:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* agentOptions */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 15
            ldc ""
            goto 16
      StackMap locals: com.oracle.svm.driver.NativeImage java.util.List java.lang.String int int
      StackMap stack: java.util.List java.lang.StringBuilder
        15: new java.lang.StringBuilder
            dup
            ldc "="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* agentOptions */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
      StackMap locals: com.oracle.svm.driver.NativeImage java.util.List java.lang.String int int
      StackMap stack: java.util.List java.lang.StringBuilder java.lang.String
        16: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        17: .line 1252
            aload 1 /* args */
            areturn
        end local 4 // boolean shouldTraceObjectInstantiation
        end local 3 // boolean shouldTraceClassInitialization
        end local 2 // java.lang.String agentOptions
        end local 1 // java.util.List args
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot                            Name  Signature
            0   18     0                            this  Lcom/oracle/svm/driver/NativeImage;
            1   18     1                            args  Ljava/util/List<Ljava/lang/String;>;
            2   18     2                    agentOptions  Ljava/lang/String;
            3   18     3  shouldTraceClassInitialization  Z
            4   18     4  shouldTraceObjectInstantiation  Z
            6    7     5                  classesToTrace  Ljava/lang/String;
            9   12     5                  objectsToTrace  Ljava/lang/String;
    Signature: ()Ljava/util/List<Ljava/lang/String;>;

  private static java.lang.String getAgentOptions(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.String options
        start local 1 // java.lang.String optionName
         0: .line 1256
            aload 0 /* options */
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            invokestatic java.util.Arrays.stream:([Ljava/lang/Object;)Ljava/util/stream/Stream;
            aload 1 /* optionName */
            invokedynamic apply(Ljava/lang/String;)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/NativeImage.lambda$49(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; (6)
                  (Ljava/lang/String;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            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
            areturn
        end local 1 // java.lang.String optionName
        end local 0 // java.lang.String options
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0     options  Ljava/lang/String;
            0    1     1  optionName  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      options     
      optionName  

  private void addTargetArguments();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.oracle.svm.driver.NativeImage this
         0: .line 1270
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.oHTargetPlatform:Ljava/lang/String;
            invokevirtual com.oracle.svm.driver.NativeImage.isListArgumentSet:(Ljava/lang/String;)Z
            ifne 2
         1: .line 1271
            return
         2: .line 1274
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.oHTargetPlatform:Ljava/lang/String;
            invokevirtual com.oracle.svm.driver.NativeImage.getListArgumentValue:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            putfield com.oracle.svm.driver.NativeImage.targetPlatform:Ljava/lang/String;
         3: .line 1276
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.targetPlatform:Ljava/lang/String;
            ldc "-"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 1 /* parts */
        start local 1 // java.lang.String[] parts
         4: .line 1277
            aload 1 /* parts */
            arraylength
            iconst_2
            if_icmpeq 6
         5: .line 1278
            ldc "--target argument must be in format <OS>-<architecture>"
            iconst_0
            anewarray java.lang.Object
            invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
            athrow
         6: .line 1281
      StackMap locals: java.lang.String[]
      StackMap stack:
            aload 0 /* this */
            aload 1 /* parts */
            iconst_0
            aaload
            putfield com.oracle.svm.driver.NativeImage.targetOS:Ljava/lang/String;
         7: .line 1282
            aload 0 /* this */
            aload 1 /* parts */
            iconst_1
            aaload
            putfield com.oracle.svm.driver.NativeImage.targetArch:Ljava/lang/String;
         8: .line 1284
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.customJavaArgs:Ljava/util/ArrayList;
            ldc "-Dsvm.platform"
            invokestatic com.oracle.svm.driver.NativeImage.isListArgumentSet:(Ljava/util/Collection;Ljava/lang/String;)Z
            ifeq 10
         9: .line 1285
            ldc "Usage of -Dsvm.platform might conflict with --target parameter."
            invokestatic com.oracle.svm.driver.NativeImage.showWarning:(Ljava/lang/String;)V
        10: .line 1288
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.targetOS:Ljava/lang/String;
            ifnull 12
        11: .line 1289
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.customJavaArgs:Ljava/util/ArrayList;
            new java.lang.StringBuilder
            dup
            ldc "-Dsvm.targetPlatformOS="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.targetOS:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        12: .line 1291
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.targetArch:Ljava/lang/String;
            ifnull 14
        13: .line 1292
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.customJavaArgs:Ljava/util/ArrayList;
            new java.lang.StringBuilder
            dup
            ldc "-Dsvm.targetPlatformArch="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.targetArch:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        14: .line 1294
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String[] parts
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   15     0   this  Lcom/oracle/svm/driver/NativeImage;
            4   15     1  parts  [Ljava/lang/String;

  protected static java.util.List<java.lang.String> createImageBuilderArgs(java.util.LinkedHashSet<java.lang.String>, java.util.LinkedHashSet<java.nio.file.Path>);
    descriptor: (Ljava/util/LinkedHashSet;Ljava/util/LinkedHashSet;)Ljava/util/List;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.util.LinkedHashSet imageArgs
        start local 1 // java.util.LinkedHashSet imagecp
         0: .line 1301
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* result */
        start local 2 // java.util.List result
         1: .line 1302
            aload 2 /* result */
            ldc "-imagecp"
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 1303
            aload 2 /* result */
            aload 1 /* imagecp */
            invokevirtual java.util.LinkedHashSet.stream:()Ljava/util/stream/Stream;
            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/core/util/ClasspathUtils.classpathToString(Ljava/nio/file/Path;)Ljava/lang/String; (6)
                  (Ljava/nio/file/Path;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            getstatic java.io.File.pathSeparator:Ljava/lang/String;
            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
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 1304
            aload 2 /* result */
            aload 0 /* imageArgs */
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         4: .line 1305
            aload 2 /* result */
            areturn
        end local 2 // java.util.List result
        end local 1 // java.util.LinkedHashSet imagecp
        end local 0 // java.util.LinkedHashSet imageArgs
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0  imageArgs  Ljava/util/LinkedHashSet<Ljava/lang/String;>;
            0    5     1    imagecp  Ljava/util/LinkedHashSet<Ljava/nio/file/Path;>;
            1    5     2     result  Ljava/util/List<Ljava/lang/String;>;
    Signature: (Ljava/util/LinkedHashSet<Ljava/lang/String;>;Ljava/util/LinkedHashSet<Ljava/nio/file/Path;>;)Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
           Name  Flags
      imageArgs  
      imagecp    

  protected static java.lang.String createImageBuilderArgumentFile(java.util.List<java.lang.String>);
    descriptor: (Ljava/util/List;)Ljava/lang/String;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.util.List imageBuilderArguments
         0: .line 1310
            ldc "native-image"
            ldc "args"
            iconst_0
            anewarray java.nio.file.attribute.FileAttribute
            invokestatic java.nio.file.Files.createTempFile:(Ljava/lang/String;Ljava/lang/String;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;
            astore 1 /* argsFile */
        start local 1 // java.nio.file.Path argsFile
         1: .line 1311
            ldc "\u0000"
            aload 0 /* imageBuilderArguments */
            invokestatic java.lang.String.join:(Ljava/lang/CharSequence;Ljava/lang/Iterable;)Ljava/lang/String;
            astore 2 /* joinedOptions */
        start local 2 // java.lang.String joinedOptions
         2: .line 1312
            aload 1 /* argsFile */
            aload 2 /* joinedOptions */
            invokevirtual java.lang.String.getBytes:()[B
            iconst_0
            anewarray java.nio.file.OpenOption
            invokestatic java.nio.file.Files.write:(Ljava/nio/file/Path;[B[Ljava/nio/file/OpenOption;)Ljava/nio/file/Path;
            pop
         3: .line 1313
            invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
            new com.oracle.svm.driver.NativeImage$1
            dup
            aload 1 /* argsFile */
            invokespecial com.oracle.svm.driver.NativeImage$1.<init>:(Ljava/nio/file/Path;)V
            invokevirtual java.lang.Runtime.addShutdownHook:(Ljava/lang/Thread;)V
         4: .line 1323
            new java.lang.StringBuilder
            dup
            ldc "--image-args-file="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* argsFile */
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: areturn
        end local 2 // java.lang.String joinedOptions
        end local 1 // java.nio.file.Path argsFile
         6: .line 1324
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 1 /* e */
        start local 1 // java.io.IOException e
         7: .line 1325
            aload 1 /* e */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            invokestatic com.oracle.svm.driver.NativeImage.showError:(Ljava/lang/String;)Ljava/lang/Error;
            athrow
        end local 1 // java.io.IOException e
        end local 0 // java.util.List imageBuilderArguments
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    8     0  imageBuilderArguments  Ljava/util/List<Ljava/lang/String;>;
            1    6     1               argsFile  Ljava/nio/file/Path;
            2    6     2          joinedOptions  Ljava/lang/String;
            7    8     1                      e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     5       6  Class java.io.IOException
    Signature: (Ljava/util/List<Ljava/lang/String;>;)Ljava/lang/String;
    MethodParameters:
                       Name  Flags
      imageBuilderArguments  

  protected int buildImage(java.util.List<java.lang.String>, java.util.LinkedHashSet<java.nio.file.Path>, java.util.LinkedHashSet<java.nio.file.Path>, java.util.LinkedHashSet<java.lang.String>, java.util.LinkedHashSet<java.nio.file.Path>);
    descriptor: (Ljava/util/List;Ljava/util/LinkedHashSet;Ljava/util/LinkedHashSet;Ljava/util/LinkedHashSet;Ljava/util/LinkedHashSet;)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=12, args_size=6
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 1 // java.util.List javaArgs
        start local 2 // java.util.LinkedHashSet bcp
        start local 3 // java.util.LinkedHashSet cp
        start local 4 // java.util.LinkedHashSet imageArgs
        start local 5 // java.util.LinkedHashSet imagecp
         0: .line 1331
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 6 /* command */
        start local 6 // java.util.List command
         1: .line 1332
            aload 6 /* command */
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.config:Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;
            invokeinterface com.oracle.svm.driver.NativeImage$BuildConfiguration.getJavaExecutable:()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;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 1333
            aload 6 /* command */
            aload 1 /* javaArgs */
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         3: .line 1334
            aload 2 /* bcp */
            invokevirtual java.util.LinkedHashSet.isEmpty:()Z
            ifne 5
         4: .line 1335
            aload 6 /* command */
            aload 2 /* bcp */
            invokevirtual java.util.LinkedHashSet.stream:()Ljava/util/stream/Stream;
            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;
                  java/nio/file/Path.toString()Ljava/lang/String; (9 itf)
                  (Ljava/nio/file/Path;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            getstatic java.io.File.pathSeparator:Ljava/lang/String;
            ldc "-Xbootclasspath/a:"
            ldc ""
            invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.lang.String
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         5: .line 1338
      StackMap locals: java.util.List
      StackMap stack:
            aload 6 /* command */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "-cp"
            aastore
            dup
            iconst_1
            aload 3 /* cp */
            invokevirtual java.util.LinkedHashSet.stream:()Ljava/util/stream/Stream;
            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;
                  java/nio/file/Path.toString()Ljava/lang/String; (9 itf)
                  (Ljava/nio/file/Path;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            getstatic java.io.File.pathSeparator:Ljava/lang/String;
            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
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         6: .line 1339
            aload 6 /* command */
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.config:Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;
            invokeinterface com.oracle.svm.driver.NativeImage$BuildConfiguration.getGeneratorMainClass:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         7: .line 1340
            getstatic com.oracle.svm.driver.NativeImage.IS_AOT:Z
            ifeq 9
            invokestatic com.oracle.svm.core.OS.getCurrent:()Lcom/oracle/svm/core/OS;
            getfield com.oracle.svm.core.OS.hasProcFS:Z
            ifeq 9
         8: .line 1345
            aload 6 /* command */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "-watchpid"
            aastore
            dup
            iconst_1
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            invokestatic org.graalvm.nativeimage.ProcessProperties.getProcessID:()J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         9: .line 1347
      StackMap locals:
      StackMap stack:
            aload 4 /* imageArgs */
            aload 5 /* imagecp */
            invokestatic com.oracle.svm.driver.NativeImage.createImageBuilderArgs:(Ljava/util/LinkedHashSet;Ljava/util/LinkedHashSet;)Ljava/util/List;
            astore 7 /* finalImageBuilderArgs */
        start local 7 // java.util.List finalImageBuilderArgs
        10: .line 1348
            aload 6 /* command */
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            aload 7 /* finalImageBuilderArgs */
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            invokestatic java.util.stream.Stream.concat:(Ljava/util/stream/Stream;Ljava/util/stream/Stream;)Ljava/util/stream/Stream;
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
            astore 8 /* completeCommandList */
        start local 8 // java.util.List completeCommandList
        11: .line 1349
            aload 6 /* command */
            aload 7 /* finalImageBuilderArgs */
            invokestatic com.oracle.svm.driver.NativeImage.createImageBuilderArgumentFile:(Ljava/util/List;)Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        12: .line 1351
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.oracle.svm.driver.NativeImage.isVerbose:()Z
            ifne 13
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.dryRun:Z
            ifne 13
            iconst_0
            goto 14
      StackMap locals: com.oracle.svm.driver.NativeImage java.util.List java.util.LinkedHashSet java.util.LinkedHashSet java.util.LinkedHashSet java.util.LinkedHashSet java.util.List java.util.List java.util.List
      StackMap stack: com.oracle.svm.driver.NativeImage
        13: iconst_1
      StackMap locals: com.oracle.svm.driver.NativeImage java.util.List java.util.LinkedHashSet java.util.LinkedHashSet java.util.LinkedHashSet java.util.LinkedHashSet java.util.List java.util.List java.util.List
      StackMap stack: com.oracle.svm.driver.NativeImage int
        14: ldc "Executing ["
            invokevirtual com.oracle.svm.driver.NativeImage.showVerboseMessage:(ZLjava/lang/String;)V
        15: .line 1352
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.oracle.svm.driver.NativeImage.isVerbose:()Z
            ifne 16
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.dryRun:Z
            ifne 16
            iconst_0
            goto 17
      StackMap locals:
      StackMap stack: com.oracle.svm.driver.NativeImage
        16: iconst_1
      StackMap locals: com.oracle.svm.driver.NativeImage java.util.List java.util.LinkedHashSet java.util.LinkedHashSet java.util.LinkedHashSet java.util.LinkedHashSet java.util.List java.util.List java.util.List
      StackMap stack: com.oracle.svm.driver.NativeImage int
        17: aload 8 /* completeCommandList */
            iconst_1
            invokestatic com.oracle.svm.core.SubstrateUtil.getShellCommandString:(Ljava/util/List;Z)Ljava/lang/String;
            invokevirtual com.oracle.svm.driver.NativeImage.showVerboseMessage:(ZLjava/lang/String;)V
        18: .line 1353
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.oracle.svm.driver.NativeImage.isVerbose:()Z
            ifne 19
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.dryRun:Z
            ifne 19
            iconst_0
            goto 20
      StackMap locals:
      StackMap stack: com.oracle.svm.driver.NativeImage
        19: iconst_1
      StackMap locals: com.oracle.svm.driver.NativeImage java.util.List java.util.LinkedHashSet java.util.LinkedHashSet java.util.LinkedHashSet java.util.LinkedHashSet java.util.List java.util.List java.util.List
      StackMap stack: com.oracle.svm.driver.NativeImage int
        20: ldc "]"
            invokevirtual com.oracle.svm.driver.NativeImage.showVerboseMessage:(ZLjava/lang/String;)V
        21: .line 1355
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.dryRun:Z
            ifeq 23
        22: .line 1356
            iconst_0
            ireturn
        23: .line 1359
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 9 /* exitStatus */
        start local 9 // int exitStatus
        24: .line 1361
            new java.lang.ProcessBuilder
            dup
            iconst_0
            anewarray java.lang.String
            invokespecial java.lang.ProcessBuilder.<init>:([Ljava/lang/String;)V
            astore 10 /* pb */
        start local 10 // java.lang.ProcessBuilder pb
        25: .line 1362
            aload 10 /* pb */
            aload 6 /* command */
            invokevirtual java.lang.ProcessBuilder.command:(Ljava/util/List;)Ljava/lang/ProcessBuilder;
            pop
        26: .line 1363
            aload 10 /* pb */
            invokevirtual java.lang.ProcessBuilder.inheritIO:()Ljava/lang/ProcessBuilder;
            invokevirtual java.lang.ProcessBuilder.start:()Ljava/lang/Process;
            astore 11 /* p */
        start local 11 // java.lang.Process p
        27: .line 1364
            aload 11 /* p */
            invokevirtual java.lang.Process.waitFor:()I
            istore 9 /* exitStatus */
        end local 11 // java.lang.Process p
        end local 10 // java.lang.ProcessBuilder pb
        28: .line 1365
            goto 31
      StackMap locals: com.oracle.svm.driver.NativeImage java.util.List java.util.LinkedHashSet java.util.LinkedHashSet java.util.LinkedHashSet java.util.LinkedHashSet java.util.List java.util.List java.util.List int
      StackMap stack: java.lang.Exception
        29: astore 10 /* e */
        start local 10 // java.lang.Exception e
        30: .line 1366
            aload 10 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokestatic com.oracle.svm.driver.NativeImage.showError:(Ljava/lang/String;)Ljava/lang/Error;
            athrow
        end local 10 // java.lang.Exception e
        31: .line 1368
      StackMap locals:
      StackMap stack:
            iload 9 /* exitStatus */
            ireturn
        end local 9 // int exitStatus
        end local 8 // java.util.List completeCommandList
        end local 7 // java.util.List finalImageBuilderArgs
        end local 6 // java.util.List command
        end local 5 // java.util.LinkedHashSet imagecp
        end local 4 // java.util.LinkedHashSet imageArgs
        end local 3 // java.util.LinkedHashSet cp
        end local 2 // java.util.LinkedHashSet bcp
        end local 1 // java.util.List javaArgs
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   32     0                   this  Lcom/oracle/svm/driver/NativeImage;
            0   32     1               javaArgs  Ljava/util/List<Ljava/lang/String;>;
            0   32     2                    bcp  Ljava/util/LinkedHashSet<Ljava/nio/file/Path;>;
            0   32     3                     cp  Ljava/util/LinkedHashSet<Ljava/nio/file/Path;>;
            0   32     4              imageArgs  Ljava/util/LinkedHashSet<Ljava/lang/String;>;
            0   32     5                imagecp  Ljava/util/LinkedHashSet<Ljava/nio/file/Path;>;
            1   32     6                command  Ljava/util/List<Ljava/lang/String;>;
           10   32     7  finalImageBuilderArgs  Ljava/util/List<Ljava/lang/String;>;
           11   32     8    completeCommandList  Ljava/util/List<Ljava/lang/String;>;
           24   32     9             exitStatus  I
           25   28    10                     pb  Ljava/lang/ProcessBuilder;
           27   28    11                      p  Ljava/lang/Process;
           30   31    10                      e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          24    28      29  Class java.io.IOException
          24    28      29  Class java.lang.InterruptedException
    Signature: (Ljava/util/List<Ljava/lang/String;>;Ljava/util/LinkedHashSet<Ljava/nio/file/Path;>;Ljava/util/LinkedHashSet<Ljava/nio/file/Path;>;Ljava/util/LinkedHashSet<Ljava/lang/String;>;Ljava/util/LinkedHashSet<Ljava/nio/file/Path;>;)I
    MethodParameters:
           Name  Flags
      javaArgs   
      bcp        
      cp         
      imageArgs  
      imagecp    

  public static void main(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String[] args
         0: .line 1374
            new com.oracle.svm.driver.NativeImage$DefaultBuildConfiguration
            dup
            aload 0 /* args */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokespecial com.oracle.svm.driver.NativeImage$DefaultBuildConfiguration.<init>:(Ljava/util/List;)V
            getstatic com.oracle.svm.driver.NativeImage.defaultNativeImageProvider:Ljava/util/function/Function;
            invokestatic com.oracle.svm.driver.NativeImage.performBuild:(Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;Ljava/util/function/Function;)V
         1: .line 1375
            return
        end local 0 // java.lang.String[] args
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  args  [Ljava/lang/String;
    MethodParameters:
      Name  Flags
      args  

  public static void build(com.oracle.svm.driver.NativeImage$BuildConfiguration);
    descriptor: (Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.svm.driver.NativeImage$BuildConfiguration config
         0: .line 1378
            aload 0 /* config */
            getstatic com.oracle.svm.driver.NativeImage.defaultNativeImageProvider:Ljava/util/function/Function;
            invokestatic com.oracle.svm.driver.NativeImage.build:(Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;Ljava/util/function/Function;)V
         1: .line 1379
            return
        end local 0 // com.oracle.svm.driver.NativeImage$BuildConfiguration config
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  config  Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;
    MethodParameters:
        Name  Flags
      config  

  public static void agentBuild(java.nio.file.Path, java.nio.file.Path, java.util.List<java.lang.String>);
    descriptor: (Ljava/nio/file/Path;Ljava/nio/file/Path;Ljava/util/List;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.nio.file.Path javaHome
        start local 1 // java.nio.file.Path workDir
        start local 2 // java.util.List buildArgs
         0: .line 1382
            new com.oracle.svm.driver.NativeImage$DefaultBuildConfiguration
            dup
            aload 0 /* javaHome */
            aload 1 /* workDir */
            aload 2 /* buildArgs */
            invokespecial com.oracle.svm.driver.NativeImage$DefaultBuildConfiguration.<init>:(Ljava/nio/file/Path;Ljava/nio/file/Path;Ljava/util/List;)V
            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/NativeImage.<init>(Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;)V (8)
                  (Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;)Lcom/oracle/svm/driver/NativeImage;
            invokestatic com.oracle.svm.driver.NativeImage.performBuild:(Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;Ljava/util/function/Function;)V
         1: .line 1383
            return
        end local 2 // java.util.List buildArgs
        end local 1 // java.nio.file.Path workDir
        end local 0 // java.nio.file.Path javaHome
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0   javaHome  Ljava/nio/file/Path;
            0    2     1    workDir  Ljava/nio/file/Path;
            0    2     2  buildArgs  Ljava/util/List<Ljava/lang/String;>;
    Signature: (Ljava/nio/file/Path;Ljava/nio/file/Path;Ljava/util/List<Ljava/lang/String;>;)V
    MethodParameters:
           Name  Flags
      javaHome   
      workDir    
      buildArgs  

  private static void performBuild(com.oracle.svm.driver.NativeImage$BuildConfiguration, java.util.function.Function<com.oracle.svm.driver.NativeImage$BuildConfiguration, com.oracle.svm.driver.NativeImage>);
    descriptor: (Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;Ljava/util/function/Function;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // com.oracle.svm.driver.NativeImage$BuildConfiguration config
        start local 1 // java.util.function.Function nativeImageProvider
         0: .line 1387
            aload 0 /* config */
            aload 1 /* nativeImageProvider */
            invokestatic com.oracle.svm.driver.NativeImage.build:(Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;Ljava/util/function/Function;)V
         1: .line 1388
            goto 12
      StackMap locals:
      StackMap stack: com.oracle.svm.driver.NativeImage$NativeImageError
         2: astore 2 /* e */
        start local 2 // com.oracle.svm.driver.NativeImage$NativeImageError e
         3: .line 1389
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic accept(Ljava/io/PrintStream;)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
                  java/io/PrintStream.println(Ljava/lang/String;)V (5)
                  (Ljava/lang/String;)V
            new java.lang.StringBuilder
            dup
            ldc "Error: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* e */
            invokevirtual com.oracle.svm.driver.NativeImage$NativeImageError.getMessage:()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.show:(Ljava/util/function/Consumer;Ljava/lang/String;)V
         4: .line 1390
            aload 2 /* e */
            invokevirtual com.oracle.svm.driver.NativeImage$NativeImageError.getCause:()Ljava/lang/Throwable;
            astore 4 /* cause */
        start local 4 // java.lang.Throwable cause
         5: .line 1391
            goto 8
         6: .line 1392
      StackMap locals: com.oracle.svm.driver.NativeImage$BuildConfiguration java.util.function.Function com.oracle.svm.driver.NativeImage$NativeImageError top java.lang.Throwable
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic accept(Ljava/io/PrintStream;)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
                  java/io/PrintStream.println(Ljava/lang/String;)V (5)
                  (Ljava/lang/String;)V
            new java.lang.StringBuilder
            dup
            ldc "Caused by: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* cause */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.oracle.svm.driver.NativeImage.show:(Ljava/util/function/Consumer;Ljava/lang/String;)V
         7: .line 1393
            aload 4 /* cause */
            invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
            astore 4 /* cause */
         8: .line 1391
      StackMap locals:
      StackMap stack:
            aload 4 /* cause */
            ifnonnull 6
         9: .line 1395
            aload 0 /* config */
            invokeinterface com.oracle.svm.driver.NativeImage$BuildConfiguration.getBuildArgs:()Ljava/util/List;
            ldc "--verbose"
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 11
        10: .line 1396
            aload 2 /* e */
            invokevirtual com.oracle.svm.driver.NativeImage$NativeImageError.printStackTrace:()V
        11: .line 1398
      StackMap locals:
      StackMap stack:
            aload 2 /* e */
            getfield com.oracle.svm.driver.NativeImage$NativeImageError.exitCode:I
            invokestatic java.lang.System.exit:(I)V
        end local 4 // java.lang.Throwable cause
        end local 2 // com.oracle.svm.driver.NativeImage$NativeImageError e
        12: .line 1400
      StackMap locals: com.oracle.svm.driver.NativeImage$BuildConfiguration java.util.function.Function
      StackMap stack:
            iconst_0
            invokestatic java.lang.System.exit:(I)V
        13: .line 1401
            return
        end local 1 // java.util.function.Function nativeImageProvider
        end local 0 // com.oracle.svm.driver.NativeImage$BuildConfiguration config
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   14     0               config  Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;
            0   14     1  nativeImageProvider  Ljava/util/function/Function<Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;Lcom/oracle/svm/driver/NativeImage;>;
            3   12     2                    e  Lcom/oracle/svm/driver/NativeImage$NativeImageError;
            5   12     4                cause  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     1       2  Class com.oracle.svm.driver.NativeImage$NativeImageError
    Signature: (Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;Ljava/util/function/Function<Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;Lcom/oracle/svm/driver/NativeImage;>;)V
    MethodParameters:
                     Name  Flags
      config               
      nativeImageProvider  

  private static void build(com.oracle.svm.driver.NativeImage$BuildConfiguration, java.util.function.Function<com.oracle.svm.driver.NativeImage$BuildConfiguration, com.oracle.svm.driver.NativeImage>);
    descriptor: (Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;Ljava/util/function/Function;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.oracle.svm.driver.NativeImage$BuildConfiguration config
        start local 1 // java.util.function.Function nativeImageProvider
         0: .line 1404
            aload 1 /* nativeImageProvider */
            aload 0 /* config */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.oracle.svm.driver.NativeImage
            astore 2 /* nativeImage */
        start local 2 // com.oracle.svm.driver.NativeImage nativeImage
         1: .line 1405
            aload 0 /* config */
            invokeinterface com.oracle.svm.driver.NativeImage$BuildConfiguration.getBuildArgs:()Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 4
         2: .line 1406
            aload 2 /* nativeImage */
            getstatic com.oracle.svm.driver.NativeImage.usageText:Ljava/lang/String;
            invokevirtual com.oracle.svm.driver.NativeImage.showMessage:(Ljava/lang/String;)V
         3: .line 1407
            goto 21
         4: .line 1409
      StackMap locals: com.oracle.svm.driver.NativeImage
      StackMap stack:
            aload 2 /* nativeImage */
            invokevirtual com.oracle.svm.driver.NativeImage.prepareImageBuildArgs:()V
         5: .line 1410
            goto 10
      StackMap locals:
      StackMap stack: com.oracle.svm.driver.NativeImage$NativeImageError
         6: astore 3 /* e */
        start local 3 // com.oracle.svm.driver.NativeImage$NativeImageError e
         7: .line 1411
            aload 2 /* nativeImage */
            invokevirtual com.oracle.svm.driver.NativeImage.isVerbose:()Z
            ifeq 9
         8: .line 1412
            ldc "Requirements for building native images are not fulfilled"
            aload 3 /* e */
            invokestatic com.oracle.svm.driver.NativeImage.showError:(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/Error;
            athrow
         9: .line 1414
      StackMap locals: com.oracle.svm.driver.NativeImage$NativeImageError
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Requirements for building native images are not fulfilled [cause: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* e */
            invokevirtual com.oracle.svm.driver.NativeImage$NativeImageError.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aconst_null
            invokestatic com.oracle.svm.driver.NativeImage.showError:(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/Error;
            athrow
        end local 3 // com.oracle.svm.driver.NativeImage$NativeImageError e
        10: .line 1417
      StackMap locals:
      StackMap stack:
            aload 2 /* nativeImage */
            invokevirtual com.oracle.svm.driver.NativeImage.completeImageBuild:()I
            istore 3 /* buildStatus */
        start local 3 // int buildStatus
        11: .line 1418
            iload 3 /* buildStatus */
            iconst_2
            if_icmpne 19
        12: .line 1420
            aload 2 /* nativeImage */
            invokestatic com.oracle.svm.driver.NativeImage$FallbackBuildConfiguration.create:(Lcom/oracle/svm/driver/NativeImage;)Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;
            aload 1 /* nativeImageProvider */
            invokestatic com.oracle.svm.driver.NativeImage.build:(Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;Ljava/util/function/Function;)V
        13: .line 1421
            new java.lang.StringBuilder
            dup
            ldc "Image '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* nativeImage */
            getfield com.oracle.svm.driver.NativeImage.imageName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        14: .line 1422
            ldc "' is a fallback image that requires a JDK for execution "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        15: .line 1423
            ldc "(use --"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "no-fallback"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        16: .line 1424
            ldc " to suppress fallback image generation and to print more detailed information why a fallback image was necessary)."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        17: .line 1421
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.oracle.svm.driver.NativeImage.showWarning:(Ljava/lang/String;)V
        18: .line 1425
            goto 21
      StackMap locals: int
      StackMap stack:
        19: iload 3 /* buildStatus */
            ifeq 21
        20: .line 1426
            new java.lang.StringBuilder
            dup
            ldc "Image build request failed with exit status "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* buildStatus */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aconst_null
            iload 3 /* buildStatus */
            invokestatic com.oracle.svm.driver.NativeImage.showError:(Ljava/lang/String;Ljava/lang/Throwable;I)Ljava/lang/Error;
            athrow
        end local 3 // int buildStatus
        21: .line 1429
      StackMap locals:
      StackMap stack:
            return
        end local 2 // com.oracle.svm.driver.NativeImage nativeImage
        end local 1 // java.util.function.Function nativeImageProvider
        end local 0 // com.oracle.svm.driver.NativeImage$BuildConfiguration config
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   22     0               config  Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;
            0   22     1  nativeImageProvider  Ljava/util/function/Function<Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;Lcom/oracle/svm/driver/NativeImage;>;
            1   22     2          nativeImage  Lcom/oracle/svm/driver/NativeImage;
            7   10     3                    e  Lcom/oracle/svm/driver/NativeImage$NativeImageError;
           11   21     3          buildStatus  I
      Exception table:
        from    to  target  type
           4     5       6  Class com.oracle.svm.driver.NativeImage$NativeImageError
    Signature: (Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;Ljava/util/function/Function<Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;Lcom/oracle/svm/driver/NativeImage;>;)V
    MethodParameters:
                     Name  Flags
      config               
      nativeImageProvider  

  java.nio.file.Path canonicalize(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Ljava/nio/file/Path;
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 1 // java.nio.file.Path path
         0: .line 1432
            aload 0 /* this */
            aload 1 /* path */
            iconst_1
            invokevirtual com.oracle.svm.driver.NativeImage.canonicalize:(Ljava/nio/file/Path;Z)Ljava/nio/file/Path;
            areturn
        end local 1 // java.nio.file.Path path
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/driver/NativeImage;
            0    1     1  path  Ljava/nio/file/Path;
    MethodParameters:
      Name  Flags
      path  

  java.nio.file.Path canonicalize(java.nio.file.Path, boolean);
    descriptor: (Ljava/nio/file/Path;Z)Ljava/nio/file/Path;
    flags: (0x0000) 
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 1 // java.nio.file.Path path
        start local 2 // boolean strict
         0: .line 1436
            aload 1 /* path */
            invokeinterface java.nio.file.Path.isAbsolute:()Z
            ifeq 1
            aload 1 /* path */
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.config:Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;
            invokeinterface com.oracle.svm.driver.NativeImage$BuildConfiguration.getWorkingDirectory:()Ljava/nio/file/Path;
            aload 1 /* path */
            invokeinterface java.nio.file.Path.resolve:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
      StackMap locals:
      StackMap stack: java.nio.file.Path
         2: astore 3 /* absolutePath */
        start local 3 // java.nio.file.Path absolutePath
         3: .line 1437
            iload 2 /* strict */
            ifne 5
         4: .line 1438
            aload 3 /* absolutePath */
            areturn
         5: .line 1440
      StackMap locals: java.nio.file.Path
      StackMap stack:
            aload 3 /* absolutePath */
            ldc "$JavaCla$$pathWildcard$ubstitute$"
            invokeinterface java.nio.file.Path.endsWith:(Ljava/lang/String;)Z
            istore 4 /* hasWildcard */
        start local 4 // boolean hasWildcard
         6: .line 1441
            iload 4 /* hasWildcard */
            ifeq 8
         7: .line 1442
            aload 3 /* absolutePath */
            invokeinterface java.nio.file.Path.getParent:()Ljava/nio/file/Path;
            astore 3 /* absolutePath */
         8: .line 1445
      StackMap locals: int
      StackMap stack:
            aload 3 /* absolutePath */
            iconst_1
            anewarray java.nio.file.LinkOption
            dup
            iconst_0
            getstatic java.nio.file.LinkOption.NOFOLLOW_LINKS:Ljava/nio/file/LinkOption;
            aastore
            invokeinterface java.nio.file.Path.toRealPath:([Ljava/nio/file/LinkOption;)Ljava/nio/file/Path;
            astore 5 /* realPath */
        start local 5 // java.nio.file.Path realPath
         9: .line 1446
            aload 5 /* realPath */
            invokestatic java.nio.file.Files.isReadable:(Ljava/nio/file/Path;)Z
            ifne 11
        10: .line 1447
            new java.lang.StringBuilder
            dup
            ldc "Path entry "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* path */
            invokestatic com.oracle.svm.core.util.ClasspathUtils.classpathToString:(Ljava/nio/file/Path;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " is not readable"
            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
        11: .line 1449
      StackMap locals: java.nio.file.Path
      StackMap stack:
            iload 4 /* hasWildcard */
            ifeq 15
        12: .line 1450
            aload 5 /* realPath */
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.isDirectory:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
            ifne 14
        13: .line 1451
            new java.lang.StringBuilder
            dup
            ldc "Path entry with wildcard "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* path */
            invokestatic com.oracle.svm.core.util.ClasspathUtils.classpathToString:(Ljava/nio/file/Path;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " is not a directory"
            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
        14: .line 1453
      StackMap locals:
      StackMap stack:
            aload 5 /* realPath */
            ldc "$JavaCla$$pathWildcard$ubstitute$"
            invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
            astore 5 /* realPath */
        15: .line 1455
      StackMap locals:
      StackMap stack:
            aload 5 /* realPath */
        16: areturn
        end local 5 // java.nio.file.Path realPath
        17: .line 1456
      StackMap locals: com.oracle.svm.driver.NativeImage java.nio.file.Path int java.nio.file.Path int
      StackMap stack: java.io.IOException
            astore 5 /* e */
        start local 5 // java.io.IOException e
        18: .line 1457
            new java.lang.StringBuilder
            dup
            ldc "Invalid Path entry "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* path */
            invokestatic com.oracle.svm.core.util.ClasspathUtils.classpathToString:(Ljava/nio/file/Path;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 5 /* e */
            invokestatic com.oracle.svm.driver.NativeImage.showError:(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/Error;
            athrow
        end local 5 // java.io.IOException e
        end local 4 // boolean hasWildcard
        end local 3 // java.nio.file.Path absolutePath
        end local 2 // boolean strict
        end local 1 // java.nio.file.Path path
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   19     0          this  Lcom/oracle/svm/driver/NativeImage;
            0   19     1          path  Ljava/nio/file/Path;
            0   19     2        strict  Z
            3   19     3  absolutePath  Ljava/nio/file/Path;
            6   19     4   hasWildcard  Z
            9   17     5      realPath  Ljava/nio/file/Path;
           18   19     5             e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           8    16      17  Class java.io.IOException
    MethodParameters:
        Name  Flags
      path    
      strict  

  void addImageBuilderClasspath(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 1 // java.nio.file.Path classpath
         0: .line 1462
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageBuilderClasspath:Ljava/util/LinkedHashSet;
            aload 0 /* this */
            aload 1 /* classpath */
            invokevirtual com.oracle.svm.driver.NativeImage.canonicalize:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            invokevirtual java.util.LinkedHashSet.add:(Ljava/lang/Object;)Z
            pop
         1: .line 1463
            return
        end local 1 // java.nio.file.Path classpath
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/oracle/svm/driver/NativeImage;
            0    2     1  classpath  Ljava/nio/file/Path;
    MethodParameters:
           Name  Flags
      classpath  

  void addImageBuilderBootClasspath(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 1 // java.nio.file.Path classpath
         0: .line 1466
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageBuilderBootClasspath:Ljava/util/LinkedHashSet;
            aload 0 /* this */
            aload 1 /* classpath */
            invokevirtual com.oracle.svm.driver.NativeImage.canonicalize:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            invokevirtual java.util.LinkedHashSet.add:(Ljava/lang/Object;)Z
            pop
         1: .line 1467
            return
        end local 1 // java.nio.file.Path classpath
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/oracle/svm/driver/NativeImage;
            0    2     1  classpath  Ljava/nio/file/Path;
    MethodParameters:
           Name  Flags
      classpath  

  public void addImageIncludeBuiltinModules(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 1 // java.lang.String moduleName
         0: .line 1470
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageIncludeBuiltinModules:Ljava/util/LinkedHashSet;
            aload 1 /* moduleName */
            invokevirtual java.util.LinkedHashSet.add:(Ljava/lang/Object;)Z
            pop
         1: .line 1471
            return
        end local 1 // java.lang.String moduleName
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lcom/oracle/svm/driver/NativeImage;
            0    2     1  moduleName  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      moduleName  

  void addImageBuilderJavaArgs(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0080) ACC_VARARGS
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 1 // java.lang.String[] javaArgs
         0: .line 1474
            aload 0 /* this */
            aload 1 /* javaArgs */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokevirtual com.oracle.svm.driver.NativeImage.addImageBuilderJavaArgs:(Ljava/util/Collection;)V
         1: .line 1475
            return
        end local 1 // java.lang.String[] javaArgs
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/oracle/svm/driver/NativeImage;
            0    2     1  javaArgs  [Ljava/lang/String;
    MethodParameters:
          Name  Flags
      javaArgs  

  void addImageBuilderJavaArgs(java.util.Collection<java.lang.String>);
    descriptor: (Ljava/util/Collection;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 1 // java.util.Collection javaArgs
         0: .line 1478
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageBuilderJavaArgs:Ljava/util/ArrayList;
            aload 1 /* javaArgs */
            invokevirtual java.util.ArrayList.addAll:(Ljava/util/Collection;)Z
            pop
         1: .line 1479
            return
        end local 1 // java.util.Collection javaArgs
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/oracle/svm/driver/NativeImage;
            0    2     1  javaArgs  Ljava/util/Collection<Ljava/lang/String;>;
    Signature: (Ljava/util/Collection<Ljava/lang/String;>;)V
    MethodParameters:
          Name  Flags
      javaArgs  

  void addPlainImageBuilderArg(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 1 // java.lang.String plainArg
         0: .line 1515
            getstatic com.oracle.svm.driver.NativeImage.$assertionsDisabled:Z
            ifne 1
            aload 1 /* plainArg */
            ldc "-H:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 1
            aload 1 /* plainArg */
            ldc "-R:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1516
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageBuilderArgs:Ljava/util/LinkedHashSet;
            aload 1 /* plainArg */
            invokevirtual java.util.LinkedHashSet.remove:(Ljava/lang/Object;)Z
            pop
         2: .line 1517
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageBuilderArgs:Ljava/util/LinkedHashSet;
            aload 1 /* plainArg */
            invokevirtual java.util.LinkedHashSet.add:(Ljava/lang/Object;)Z
            pop
         3: .line 1518
            return
        end local 1 // java.lang.String plainArg
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lcom/oracle/svm/driver/NativeImage;
            0    4     1  plainArg  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      plainArg  

  private void addImageProvidedClasspath(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 1 // java.nio.file.Path classpath
         0: .line 1526
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageClasspath:Ljava/util/LinkedHashSet;
            invokevirtual java.util.LinkedHashSet.isEmpty:()Z
            ifeq 1
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.customImageClasspath:Ljava/util/LinkedHashSet;
            invokevirtual java.util.LinkedHashSet.isEmpty:()Z
            ifeq 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: invokestatic com.oracle.svm.core.util.VMError.guarantee:(Z)V
         3: .line 1527
            aload 0 /* this */
            aload 1 /* classpath */
            invokevirtual com.oracle.svm.driver.NativeImage.canonicalize:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            astore 2 /* classpathEntry */
        start local 2 // java.nio.file.Path classpathEntry
         4: .line 1528
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageProvidedClasspath:Ljava/util/LinkedHashSet;
            aload 2 /* classpathEntry */
            invokevirtual java.util.LinkedHashSet.add:(Ljava/lang/Object;)Z
            ifeq 7
         5: .line 1529
            aload 2 /* classpathEntry */
            aload 0 /* this */
            invokedynamic accept(Lcom/oracle/svm/driver/NativeImage;)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/NativeImage.handleClassPathAttribute(Ljava/nio/file/Path;Ljava/util/jar/Attributes;)V (5)
                  (Ljava/nio/file/Path;Ljava/util/jar/Attributes;)V
            invokestatic com.oracle.svm.driver.NativeImage.processManifestMainAttributes:(Ljava/nio/file/Path;Ljava/util/function/BiConsumer;)V
         6: .line 1530
            aload 0 /* this */
            aload 2 /* classpathEntry */
            invokevirtual com.oracle.svm.driver.NativeImage.processClasspathNativeImageMetaInf:(Ljava/nio/file/Path;)V
         7: .line 1532
      StackMap locals: java.nio.file.Path
      StackMap stack:
            return
        end local 2 // java.nio.file.Path classpathEntry
        end local 1 // java.nio.file.Path classpath
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0            this  Lcom/oracle/svm/driver/NativeImage;
            0    8     1       classpath  Ljava/nio/file/Path;
            4    8     2  classpathEntry  Ljava/nio/file/Path;
    MethodParameters:
           Name  Flags
      classpath  

  void addImageClasspath(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 1 // java.nio.file.Path classpath
         0: .line 1538
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageClasspath:Ljava/util/LinkedHashSet;
            aload 1 /* classpath */
            iconst_1
            invokevirtual com.oracle.svm.driver.NativeImage.addImageClasspathEntry:(Ljava/util/LinkedHashSet;Ljava/nio/file/Path;Z)V
         1: .line 1539
            return
        end local 1 // java.nio.file.Path classpath
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/oracle/svm/driver/NativeImage;
            0    2     1  classpath  Ljava/nio/file/Path;
    MethodParameters:
           Name  Flags
      classpath  

  void addCustomImageClasspath(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 1 // java.lang.String classpath
         0: .line 1547
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.customImageClasspath:Ljava/util/LinkedHashSet;
            aload 1 /* classpath */
            invokestatic com.oracle.svm.core.util.ClasspathUtils.stringToClasspath:(Ljava/lang/String;)Ljava/nio/file/Path;
            iconst_0
            invokevirtual com.oracle.svm.driver.NativeImage.addImageClasspathEntry:(Ljava/util/LinkedHashSet;Ljava/nio/file/Path;Z)V
         1: .line 1548
            return
        end local 1 // java.lang.String classpath
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/oracle/svm/driver/NativeImage;
            0    2     1  classpath  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      classpath  

  void addCustomImageClasspath(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 1 // java.nio.file.Path classpath
         0: .line 1555
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.customImageClasspath:Ljava/util/LinkedHashSet;
            aload 1 /* classpath */
            iconst_1
            invokevirtual com.oracle.svm.driver.NativeImage.addImageClasspathEntry:(Ljava/util/LinkedHashSet;Ljava/nio/file/Path;Z)V
         1: .line 1556
            return
        end local 1 // java.nio.file.Path classpath
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/oracle/svm/driver/NativeImage;
            0    2     1  classpath  Ljava/nio/file/Path;
    MethodParameters:
           Name  Flags
      classpath  

  private void addImageClasspathEntry(java.util.LinkedHashSet<java.nio.file.Path>, java.nio.file.Path, );
    descriptor: (Ljava/util/LinkedHashSet;Ljava/nio/file/Path;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 1 // java.util.LinkedHashSet destination
        start local 2 // java.nio.file.Path classpath
        start local 3 // boolean strict
         0: .line 1561
            aload 0 /* this */
            aload 2 /* classpath */
            invokevirtual com.oracle.svm.driver.NativeImage.canonicalize:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            astore 4 /* classpathEntry */
        start local 4 // java.nio.file.Path classpathEntry
         1: .line 1562
            goto 9
        end local 4 // java.nio.file.Path classpathEntry
      StackMap locals:
      StackMap stack: com.oracle.svm.driver.NativeImage$NativeImageError
         2: astore 5 /* e */
        start local 5 // com.oracle.svm.driver.NativeImage$NativeImageError e
         3: .line 1563
            iload 3 /* strict */
            ifeq 5
         4: .line 1564
            aload 5 /* e */
            athrow
         5: .line 1567
      StackMap locals: com.oracle.svm.driver.NativeImage java.util.LinkedHashSet java.nio.file.Path int top com.oracle.svm.driver.NativeImage$NativeImageError
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.svm.driver.NativeImage.isVerbose:()Z
            ifeq 7
         6: .line 1568
            new java.lang.StringBuilder
            dup
            ldc "Invalid classpath entry: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* classpath */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.oracle.svm.driver.NativeImage.showWarning:(Ljava/lang/String;)V
         7: .line 1571
      StackMap locals:
      StackMap stack:
            aload 1 /* destination */
            aload 0 /* this */
            aload 2 /* classpath */
            iconst_0
            invokevirtual com.oracle.svm.driver.NativeImage.canonicalize:(Ljava/nio/file/Path;Z)Ljava/nio/file/Path;
            invokevirtual java.util.LinkedHashSet.add:(Ljava/lang/Object;)Z
            pop
         8: .line 1572
            return
        end local 5 // com.oracle.svm.driver.NativeImage$NativeImageError e
        start local 4 // java.nio.file.Path classpathEntry
         9: .line 1575
      StackMap locals: com.oracle.svm.driver.NativeImage java.util.LinkedHashSet java.nio.file.Path int java.nio.file.Path
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.imageClasspath:Ljava/util/LinkedHashSet;
            aload 4 /* classpathEntry */
            invokevirtual java.util.LinkedHashSet.contains:(Ljava/lang/Object;)Z
            ifne 13
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.customImageClasspath:Ljava/util/LinkedHashSet;
            aload 4 /* classpathEntry */
            invokevirtual java.util.LinkedHashSet.contains:(Ljava/lang/Object;)Z
            ifne 13
        10: .line 1576
            aload 1 /* destination */
            aload 4 /* classpathEntry */
            invokevirtual java.util.LinkedHashSet.add:(Ljava/lang/Object;)Z
            pop
        11: .line 1577
            aload 4 /* classpathEntry */
            aload 0 /* this */
            invokedynamic accept(Lcom/oracle/svm/driver/NativeImage;)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/NativeImage.handleClassPathAttribute(Ljava/nio/file/Path;Ljava/util/jar/Attributes;)V (5)
                  (Ljava/nio/file/Path;Ljava/util/jar/Attributes;)V
            invokestatic com.oracle.svm.driver.NativeImage.processManifestMainAttributes:(Ljava/nio/file/Path;Ljava/util/function/BiConsumer;)V
        12: .line 1578
            aload 0 /* this */
            aload 4 /* classpathEntry */
            invokevirtual com.oracle.svm.driver.NativeImage.processClasspathNativeImageMetaInf:(Ljava/nio/file/Path;)V
        13: .line 1580
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.nio.file.Path classpathEntry
        end local 3 // boolean strict
        end local 2 // java.nio.file.Path classpath
        end local 1 // java.util.LinkedHashSet destination
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   14     0            this  Lcom/oracle/svm/driver/NativeImage;
            0   14     1     destination  Ljava/util/LinkedHashSet<Ljava/nio/file/Path;>;
            0   14     2       classpath  Ljava/nio/file/Path;
            0   14     3          strict  Z
            1    2     4  classpathEntry  Ljava/nio/file/Path;
            9   14     4  classpathEntry  Ljava/nio/file/Path;
            3    9     5               e  Lcom/oracle/svm/driver/NativeImage$NativeImageError;
      Exception table:
        from    to  target  type
           0     1       2  Class com.oracle.svm.driver.NativeImage$NativeImageError
    Signature: (Ljava/util/LinkedHashSet<Ljava/nio/file/Path;>;Ljava/nio/file/Path;Z)V
    MethodParameters:
             Name  Flags
      destination  
      classpath    
      strict       

  void addCustomJavaArgs(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 1 // java.lang.String javaArg
         0: .line 1583
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.customJavaArgs:Ljava/util/ArrayList;
            aload 1 /* javaArg */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         1: .line 1584
            return
        end local 1 // java.lang.String javaArg
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lcom/oracle/svm/driver/NativeImage;
            0    2     1  javaArg  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      javaArg  

  void addCustomImageBuilderArgs(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 1 // java.lang.String plainArg
         0: .line 1587
            aload 0 /* this */
            aload 1 /* plainArg */
            invokevirtual com.oracle.svm.driver.NativeImage.addPlainImageBuilderArg:(Ljava/lang/String;)V
         1: .line 1588
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.customImageBuilderArgs:Ljava/util/LinkedHashSet;
            aload 1 /* plainArg */
            invokevirtual java.util.LinkedHashSet.add:(Ljava/lang/Object;)Z
            pop
         2: .line 1589
            return
        end local 1 // java.lang.String plainArg
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lcom/oracle/svm/driver/NativeImage;
            0    3     1  plainArg  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      plainArg  

  void setVerbose(boolean);
    descriptor: (Z)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 1 // boolean val
         0: .line 1592
            aload 0 /* this */
            iload 1 /* val */
            putfield com.oracle.svm.driver.NativeImage.verbose:Z
         1: .line 1593
            return
        end local 1 // boolean val
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/svm/driver/NativeImage;
            0    2     1   val  Z
    MethodParameters:
      Name  Flags
      val   

  void setJarOptionMode(boolean);
    descriptor: (Z)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 1 // boolean val
         0: .line 1596
            aload 0 /* this */
            iload 1 /* val */
            putfield com.oracle.svm.driver.NativeImage.jarOptionMode:Z
         1: .line 1597
            return
        end local 1 // boolean val
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/svm/driver/NativeImage;
            0    2     1   val  Z
    MethodParameters:
      Name  Flags
      val   

  boolean isVerbose();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.driver.NativeImage this
         0: .line 1600
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.verbose:Z
            ireturn
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/driver/NativeImage;

  boolean useDebugAttach();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.driver.NativeImage this
         0: .line 1604
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.defaultOptionHandler:Lcom/oracle/svm/driver/DefaultOptionHandler;
            getfield com.oracle.svm.driver.DefaultOptionHandler.useDebugAttach:Z
            ireturn
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/driver/NativeImage;

  protected void setDryRun(boolean);
    descriptor: (Z)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 1 // boolean val
         0: .line 1608
            aload 0 /* this */
            iload 1 /* val */
            putfield com.oracle.svm.driver.NativeImage.dryRun:Z
         1: .line 1609
            return
        end local 1 // boolean val
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/svm/driver/NativeImage;
            0    2     1   val  Z
    MethodParameters:
      Name  Flags
      val   

  boolean isDryRun();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.driver.NativeImage this
         0: .line 1612
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.dryRun:Z
            ireturn
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/driver/NativeImage;

  public void setPrintFlagsOptionQuery(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 1 // java.lang.String val
         0: .line 1616
            aload 0 /* this */
            aload 1 /* val */
            putfield com.oracle.svm.driver.NativeImage.printFlagsOptionQuery:Ljava/lang/String;
         1: .line 1617
            return
        end local 1 // java.lang.String val
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/svm/driver/NativeImage;
            0    2     1   val  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      val   

  public void setPrintFlagsWithExtraHelpOptionQuery(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 1 // java.lang.String val
         0: .line 1620
            aload 0 /* this */
            aload 1 /* val */
            putfield com.oracle.svm.driver.NativeImage.printFlagsWithExtraHelpOptionQuery:Ljava/lang/String;
         1: .line 1621
            return
        end local 1 // java.lang.String val
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/svm/driver/NativeImage;
            0    2     1   val  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      val   

  void showVerboseMessage(boolean, java.lang.String);
    descriptor: (ZLjava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 1 // boolean show
        start local 2 // java.lang.String message
         0: .line 1624
            iload 1 /* show */
            ifeq 2
         1: .line 1625
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic accept(Ljava/io/PrintStream;)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
                  java/io/PrintStream.println(Ljava/lang/String;)V (5)
                  (Ljava/lang/String;)V
            aload 2 /* message */
            invokestatic com.oracle.svm.driver.NativeImage.show:(Ljava/util/function/Consumer;Ljava/lang/String;)V
         2: .line 1627
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String message
        end local 1 // boolean show
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lcom/oracle/svm/driver/NativeImage;
            0    3     1     show  Z
            0    3     2  message  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      show     
      message  

  void showMessage(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 1 // java.lang.String message
         0: .line 1630
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic accept(Ljava/io/PrintStream;)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
                  java/io/PrintStream.println(Ljava/lang/String;)V (5)
                  (Ljava/lang/String;)V
            aload 1 /* message */
            invokestatic com.oracle.svm.driver.NativeImage.show:(Ljava/util/function/Consumer;Ljava/lang/String;)V
         1: .line 1631
            return
        end local 1 // java.lang.String message
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lcom/oracle/svm/driver/NativeImage;
            0    2     1  message  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      message  

  void showNewline();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.driver.NativeImage this
         0: .line 1634
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
         1: .line 1635
            return
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/svm/driver/NativeImage;

  void showMessagePart(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 1 // java.lang.String message
         0: .line 1638
            invokedynamic accept()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/NativeImage.lambda$60(Ljava/lang/String;)V (6)
                  (Ljava/lang/String;)V
         1: .line 1641
            aload 1 /* message */
         2: .line 1638
            invokestatic com.oracle.svm.driver.NativeImage.show:(Ljava/util/function/Consumer;Ljava/lang/String;)V
         3: .line 1642
            return
        end local 1 // java.lang.String message
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lcom/oracle/svm/driver/NativeImage;
            0    4     1  message  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      message  

  public static void showWarning(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.String message
         0: .line 1645
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic accept(Ljava/io/PrintStream;)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
                  java/io/PrintStream.println(Ljava/lang/String;)V (5)
                  (Ljava/lang/String;)V
            new java.lang.StringBuilder
            dup
            ldc "Warning: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* message */
            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.show:(Ljava/util/function/Consumer;Ljava/lang/String;)V
         1: .line 1646
            return
        end local 0 // java.lang.String message
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  message  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      message  

  public static java.lang.Error showError(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Error;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String message
         0: .line 1668
            new com.oracle.svm.driver.NativeImage$NativeImageError
            dup
            aload 0 /* message */
            invokespecial com.oracle.svm.driver.NativeImage$NativeImageError.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // java.lang.String message
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  message  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      message  

  public static java.lang.Error showError(java.lang.String, java.lang.Throwable);
    descriptor: (Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/Error;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.String message
        start local 1 // java.lang.Throwable cause
         0: .line 1672
            new com.oracle.svm.driver.NativeImage$NativeImageError
            dup
            aload 0 /* message */
            aload 1 /* cause */
            invokespecial com.oracle.svm.driver.NativeImage$NativeImageError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.Throwable cause
        end local 0 // java.lang.String message
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  message  Ljava/lang/String;
            0    1     1    cause  Ljava/lang/Throwable;
    MethodParameters:
         Name  Flags
      message  
      cause    

  public static java.lang.Error showError(java.lang.String, java.lang.Throwable, int);
    descriptor: (Ljava/lang/String;Ljava/lang/Throwable;I)Ljava/lang/Error;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.lang.String message
        start local 1 // java.lang.Throwable cause
        start local 2 // int exitCode
         0: .line 1676
            new com.oracle.svm.driver.NativeImage$NativeImageError
            dup
            aload 0 /* message */
            aload 1 /* cause */
            iload 2 /* exitCode */
            invokespecial com.oracle.svm.driver.NativeImage$NativeImageError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;I)V
            athrow
        end local 2 // int exitCode
        end local 1 // java.lang.Throwable cause
        end local 0 // java.lang.String message
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0   message  Ljava/lang/String;
            0    1     1     cause  Ljava/lang/Throwable;
            0    1     2  exitCode  I
    MethodParameters:
          Name  Flags
      message   
      cause     
      exitCode  

  private static void show(java.util.function.Consumer<java.lang.String>, java.lang.String);
    descriptor: (Ljava/util/function/Consumer;Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.function.Consumer printFunc
        start local 1 // java.lang.String message
         0: .line 1680
            aload 0 /* printFunc */
            aload 1 /* message */
            invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
         1: .line 1681
            return
        end local 1 // java.lang.String message
        end local 0 // java.util.function.Consumer printFunc
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0  printFunc  Ljava/util/function/Consumer<Ljava/lang/String;>;
            0    2     1    message  Ljava/lang/String;
    Signature: (Ljava/util/function/Consumer<Ljava/lang/String;>;Ljava/lang/String;)V
    MethodParameters:
           Name  Flags
      printFunc  
      message    

  static java.util.List<java.nio.file.Path> getJars(java.nio.file.Path, java.lang.String[]);
    descriptor: (Ljava/nio/file/Path;[Ljava/lang/String;)Ljava/util/List;
    flags: (0x0088) ACC_STATIC, ACC_VARARGS
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.nio.file.Path dir
        start local 1 // java.lang.String[] jarBaseNames
         0: .line 1685
            aload 1 /* jarBaseNames */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            astore 2 /* baseNameList */
        start local 2 // java.util.List baseNameList
         1: .line 1686
            aload 0 /* dir */
            invokestatic java.nio.file.Files.list:(Ljava/nio/file/Path;)Ljava/util/stream/Stream;
         2: .line 1687
            aload 2 /* baseNameList */
            invokedynamic test(Ljava/util/List;)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/NativeImage.lambda$62(Ljava/util/List;Ljava/nio/file/Path;)Z (6)
                  (Ljava/nio/file/Path;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
         3: .line 1699
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
         4: .line 1686
            areturn
        end local 2 // java.util.List baseNameList
         5: .line 1700
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 2 /* e */
        start local 2 // java.io.IOException e
         6: .line 1701
            new java.lang.StringBuilder
            dup
            ldc "Unable to use jar-files from directory "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* dir */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* e */
            invokestatic com.oracle.svm.driver.NativeImage.showError:(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/Error;
            athrow
        end local 2 // java.io.IOException e
        end local 1 // java.lang.String[] jarBaseNames
        end local 0 // java.nio.file.Path dir
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0           dir  Ljava/nio/file/Path;
            0    7     1  jarBaseNames  [Ljava/lang/String;
            1    5     2  baseNameList  Ljava/util/List<Ljava/lang/String;>;
            6    7     2             e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     4       5  Class java.io.IOException
    Signature: (Ljava/nio/file/Path;[Ljava/lang/String;)Ljava/util/List<Ljava/nio/file/Path;>;
    MethodParameters:
              Name  Flags
      dir           
      jarBaseNames  

  private java.util.List<java.lang.String> processNativeImageArgs();
    descriptor: ()Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=1
        start local 0 // com.oracle.svm.driver.NativeImage this
         0: .line 1706
            new com.oracle.svm.driver.NativeImage$NativeImageArgsProcessor
            dup
            aload 0 /* this */
            invokespecial com.oracle.svm.driver.NativeImage$NativeImageArgsProcessor.<init>:(Lcom/oracle/svm/driver/NativeImage;)V
            astore 1 /* argsProcessor */
        start local 1 // com.oracle.svm.driver.NativeImage$NativeImageArgsProcessor argsProcessor
         1: .line 1707
            aload 0 /* this */
            invokevirtual com.oracle.svm.driver.NativeImage.getUserConfigProperties:()Ljava/util/Map;
            ldc "NativeImageArgs"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* defaultNativeImageArgs */
        start local 2 // java.lang.String defaultNativeImageArgs
         2: .line 1708
            aload 2 /* defaultNativeImageArgs */
            ifnull 8
            aload 2 /* defaultNativeImageArgs */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 8
         3: .line 1709
            aload 2 /* defaultNativeImageArgs */
            ldc " "
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 7
      StackMap locals: com.oracle.svm.driver.NativeImage com.oracle.svm.driver.NativeImage$NativeImageArgsProcessor java.lang.String top int int java.lang.String[]
      StackMap stack:
         4: aload 6
            iload 4
            aaload
            astore 3 /* defaultArg */
        start local 3 // java.lang.String defaultArg
         5: .line 1710
            aload 1 /* argsProcessor */
            aload 3 /* defaultArg */
            invokevirtual com.oracle.svm.driver.NativeImage$NativeImageArgsProcessor.accept:(Ljava/lang/String;)V
        end local 3 // java.lang.String defaultArg
         6: .line 1709
            iinc 4 1
      StackMap locals:
      StackMap stack:
         7: iload 4
            iload 5
            if_icmplt 4
         8: .line 1713
      StackMap locals: com.oracle.svm.driver.NativeImage com.oracle.svm.driver.NativeImage$NativeImageArgsProcessor java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.config:Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;
            invokeinterface com.oracle.svm.driver.NativeImage$BuildConfiguration.getBuildArgs:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 11
      StackMap locals: com.oracle.svm.driver.NativeImage com.oracle.svm.driver.NativeImage$NativeImageArgsProcessor java.lang.String top java.util.Iterator
      StackMap stack:
         9: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* arg */
        start local 3 // java.lang.String arg
        10: .line 1714
            aload 1 /* argsProcessor */
            aload 3 /* arg */
            invokevirtual com.oracle.svm.driver.NativeImage$NativeImageArgsProcessor.accept:(Ljava/lang/String;)V
        end local 3 // java.lang.String arg
        11: .line 1713
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        12: .line 1716
            aload 1 /* argsProcessor */
            iconst_0
            invokevirtual com.oracle.svm.driver.NativeImage$NativeImageArgsProcessor.apply:(Z)Ljava/util/List;
            areturn
        end local 2 // java.lang.String defaultNativeImageArgs
        end local 1 // com.oracle.svm.driver.NativeImage$NativeImageArgsProcessor argsProcessor
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   13     0                    this  Lcom/oracle/svm/driver/NativeImage;
            1   13     1           argsProcessor  Lcom/oracle/svm/driver/NativeImage$NativeImageArgsProcessor;
            2   13     2  defaultNativeImageArgs  Ljava/lang/String;
            5    6     3              defaultArg  Ljava/lang/String;
           10   11     3                     arg  Ljava/lang/String;
    Signature: ()Ljava/util/List<Ljava/lang/String;>;

  protected java.lang.String getXmsValue();
    descriptor: ()Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.driver.NativeImage this
         0: .line 1720
            ldc "1g"
            areturn
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/driver/NativeImage;

  private static long getPhysicalMemorySize();
    descriptor: ()J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=0
         0: .line 1725
            invokestatic java.lang.management.ManagementFactory.getOperatingSystemMXBean:()Ljava/lang/management/OperatingSystemMXBean;
            astore 0 /* osMXBean */
        start local 0 // java.lang.management.OperatingSystemMXBean osMXBean
         1: .line 1726
            aload 0 /* osMXBean */
            checkcast com.sun.management.OperatingSystemMXBean
            invokeinterface com.sun.management.OperatingSystemMXBean.getTotalPhysicalMemorySize:()J
            lstore 1 /* totalPhysicalMemorySize */
        start local 1 // long totalPhysicalMemorySize
         2: .line 1727
            lload 1 /* totalPhysicalMemorySize */
            lreturn
        end local 1 // long totalPhysicalMemorySize
        end local 0 // java.lang.management.OperatingSystemMXBean osMXBean
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            1    3     0                 osMXBean  Ljava/lang/management/OperatingSystemMXBean;
            2    3     1  totalPhysicalMemorySize  J

  protected java.lang.String getXmxValue(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 1 // int maxInstances
         0: .line 1731
            invokestatic com.oracle.svm.driver.NativeImage.getPhysicalMemorySize:()J
            ldc 10
            invokestatic java.lang.Long.divideUnsigned:(JJ)J
            ldc 8
            lmul
            iload 1 /* maxInstances */
            i2l
            invokestatic java.lang.Long.divideUnsigned:(JJ)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            astore 2 /* memMax */
        start local 2 // java.lang.Long memMax
         1: .line 1732
            ldc "14g"
            astore 3 /* maxXmx */
        start local 3 // java.lang.String maxXmx
         2: .line 1733
            aload 2 /* memMax */
            invokevirtual java.lang.Long.longValue:()J
            aload 3 /* maxXmx */
            invokestatic com.oracle.svm.core.option.SubstrateOptionsParser.parseLong:(Ljava/lang/String;)J
            invokestatic java.lang.Long.compareUnsigned:(JJ)I
            iflt 4
         3: .line 1734
            aload 3 /* maxXmx */
            areturn
         4: .line 1736
      StackMap locals: java.lang.Long java.lang.String
      StackMap stack:
            aload 2 /* memMax */
            invokevirtual java.lang.Long.longValue:()J
            invokestatic java.lang.Long.toUnsignedString:(J)Ljava/lang/String;
            areturn
        end local 3 // java.lang.String maxXmx
        end local 2 // java.lang.Long memMax
        end local 1 // int maxInstances
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lcom/oracle/svm/driver/NativeImage;
            0    5     1  maxInstances  I
            1    5     2        memMax  Ljava/lang/Long;
            2    5     3        maxXmx  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      maxInstances  

  static java.util.Map<java.lang.String, java.lang.String> loadProperties(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Ljava/util/Map;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.nio.file.Path propertiesPath
         0: .line 1740
            aload 0 /* propertiesPath */
            invokestatic java.nio.file.Files.isReadable:(Ljava/nio/file/Path;)Z
            ifeq 5
         1: .line 1742
            aload 0 /* propertiesPath */
            iconst_0
            anewarray java.nio.file.OpenOption
            invokestatic java.nio.file.Files.newInputStream:(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/io/InputStream;
            invokestatic com.oracle.svm.driver.NativeImage.loadProperties:(Ljava/io/InputStream;)Ljava/util/Map;
         2: areturn
         3: .line 1743
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 1 /* e */
        start local 1 // java.io.IOException e
         4: .line 1744
            new java.lang.StringBuilder
            dup
            ldc "Could not read properties-file: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* propertiesPath */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 1 /* e */
            invokestatic com.oracle.svm.driver.NativeImage.showError:(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/Error;
            athrow
        end local 1 // java.io.IOException e
         5: .line 1747
      StackMap locals:
      StackMap stack:
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            areturn
        end local 0 // java.nio.file.Path propertiesPath
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    6     0  propertiesPath  Ljava/nio/file/Path;
            4    5     1               e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           1     2       3  Class java.io.IOException
    Signature: (Ljava/nio/file/Path;)Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    MethodParameters:
                Name  Flags
      propertiesPath  

  static java.util.Map<java.lang.String, java.lang.String> loadProperties(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)Ljava/util/Map;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // java.io.InputStream propertiesInputStream
         0: .line 1751
            new java.util.Properties
            dup
            invokespecial java.util.Properties.<init>:()V
            astore 1 /* properties */
        start local 1 // java.util.Properties properties
         1: .line 1752
            aconst_null
            astore 2
            aconst_null
            astore 3
         2: aload 0 /* propertiesInputStream */
            astore 4 /* input */
        start local 4 // java.io.InputStream input
         3: .line 1753
            aload 1 /* properties */
            aload 4 /* input */
            invokevirtual java.util.Properties.load:(Ljava/io/InputStream;)V
         4: .line 1754
            aload 4 /* input */
            ifnull 12
            aload 4 /* input */
            invokevirtual java.io.InputStream.close:()V
            goto 12
      StackMap locals: java.io.InputStream java.util.Properties java.lang.Throwable java.lang.Throwable java.io.InputStream
      StackMap stack: java.lang.Throwable
         5: astore 2
            aload 4 /* input */
            ifnull 6
            aload 4 /* input */
            invokevirtual java.io.InputStream.close:()V
        end local 4 // java.io.InputStream input
      StackMap locals:
      StackMap stack:
         6: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: astore 3
            aload 2
            ifnonnull 8
            aload 3
            astore 2
            goto 9
      StackMap locals:
      StackMap stack:
         8: aload 2
            aload 3
            if_acmpeq 9
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
         9: aload 2
            athrow
      StackMap locals: java.io.InputStream java.util.Properties
      StackMap stack: java.io.IOException
        10: astore 2 /* e */
        start local 2 // java.io.IOException e
        11: .line 1755
            ldc "Could not read properties"
            aload 2 /* e */
            invokestatic com.oracle.svm.driver.NativeImage.showError:(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/Error;
            pop
        end local 2 // java.io.IOException e
        12: .line 1757
      StackMap locals:
      StackMap stack:
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* map */
        start local 2 // java.util.Map map
        13: .line 1758
            aload 1 /* properties */
            invokevirtual java.util.Properties.stringPropertyNames:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 16
      StackMap locals: java.io.InputStream java.util.Properties java.util.Map top java.util.Iterator
      StackMap stack:
        14: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* key */
        start local 3 // java.lang.String key
        15: .line 1759
            aload 2 /* map */
            aload 3 /* key */
            aload 1 /* properties */
            aload 3 /* key */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 3 // java.lang.String key
        16: .line 1758
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 14
        17: .line 1761
            aload 2 /* map */
            invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
            areturn
        end local 2 // java.util.Map map
        end local 1 // java.util.Properties properties
        end local 0 // java.io.InputStream propertiesInputStream
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   18     0  propertiesInputStream  Ljava/io/InputStream;
            1   18     1             properties  Ljava/util/Properties;
            3    6     4                  input  Ljava/io/InputStream;
           11   12     2                      e  Ljava/io/IOException;
           13   18     2                    map  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
           15   16     3                    key  Ljava/lang/String;
      Exception table:
        from    to  target  type
           3     4       5  any
           2     7       7  any
           1    10      10  Class java.io.IOException
    Signature: (Ljava/io/InputStream;)Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    MethodParameters:
                       Name  Flags
      propertiesInputStream  

  static boolean forEachPropertyValue(java.lang.String, java.util.function.Consumer<java.lang.String>, java.util.function.Function<java.lang.String, java.lang.String>);
    descriptor: (Ljava/lang/String;Ljava/util/function/Consumer;Ljava/util/function/Function;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.lang.String propertyValue
        start local 1 // java.util.function.Consumer target
        start local 2 // java.util.function.Function resolver
         0: .line 1765
            aload 0 /* propertyValue */
            aload 1 /* target */
            aload 2 /* resolver */
            ldc " "
            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 2 // java.util.function.Function resolver
        end local 1 // java.util.function.Consumer target
        end local 0 // java.lang.String propertyValue
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0  propertyValue  Ljava/lang/String;
            0    1     1         target  Ljava/util/function/Consumer<Ljava/lang/String;>;
            0    1     2       resolver  Ljava/util/function/Function<Ljava/lang/String;Ljava/lang/String;>;
    Signature: (Ljava/lang/String;Ljava/util/function/Consumer<Ljava/lang/String;>;Ljava/util/function/Function<Ljava/lang/String;Ljava/lang/String;>;)Z
    MethodParameters:
               Name  Flags
      propertyValue  
      target         
      resolver       

  static boolean forEachPropertyValue(java.lang.String, java.util.function.Consumer<java.lang.String>, java.util.function.Function<java.lang.String, java.lang.String>, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/util/function/Consumer;Ljava/util/function/Function;Ljava/lang/String;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=8, args_size=4
        start local 0 // java.lang.String propertyValue
        start local 1 // java.util.function.Consumer target
        start local 2 // java.util.function.Function resolver
        start local 3 // java.lang.String separatorRegex
         0: .line 1769
            aload 0 /* propertyValue */
            ifnull 7
         1: .line 1770
            aload 0 /* propertyValue */
            aload 3 /* separatorRegex */
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 5
      StackMap locals: java.lang.String java.util.function.Consumer java.util.function.Function java.lang.String top int int java.lang.String[]
      StackMap stack:
         2: aload 7
            iload 5
            aaload
            astore 4 /* propertyValuePart */
        start local 4 // java.lang.String propertyValuePart
         3: .line 1771
            aload 1 /* target */
            aload 2 /* resolver */
            aload 4 /* propertyValuePart */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
        end local 4 // java.lang.String propertyValuePart
         4: .line 1770
            iinc 5 1
      StackMap locals:
      StackMap stack:
         5: iload 5
            iload 6
            if_icmplt 2
         6: .line 1773
            iconst_1
            ireturn
         7: .line 1775
      StackMap locals: java.lang.String java.util.function.Consumer java.util.function.Function java.lang.String
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // java.lang.String separatorRegex
        end local 2 // java.util.function.Function resolver
        end local 1 // java.util.function.Consumer target
        end local 0 // java.lang.String propertyValue
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    8     0      propertyValue  Ljava/lang/String;
            0    8     1             target  Ljava/util/function/Consumer<Ljava/lang/String;>;
            0    8     2           resolver  Ljava/util/function/Function<Ljava/lang/String;Ljava/lang/String;>;
            0    8     3     separatorRegex  Ljava/lang/String;
            3    4     4  propertyValuePart  Ljava/lang/String;
    Signature: (Ljava/lang/String;Ljava/util/function/Consumer<Ljava/lang/String;>;Ljava/util/function/Function<Ljava/lang/String;Ljava/lang/String;>;Ljava/lang/String;)Z
    MethodParameters:
                Name  Flags
      propertyValue   
      target          
      resolver        
      separatorRegex  

  public void addOptionKeyValue(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 1 // java.lang.String key
        start local 2 // java.lang.String value
         0: .line 1779
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.propertyFileSubstitutionValues:Ljava/util/Map;
            aload 1 /* key */
            aload 2 /* value */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1780
            return
        end local 2 // java.lang.String value
        end local 1 // java.lang.String key
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/oracle/svm/driver/NativeImage;
            0    2     1    key  Ljava/lang/String;
            0    2     2  value  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      key    
      value  

  static java.lang.String resolvePropertyValue(java.lang.String, java.lang.String, java.nio.file.Path, com.oracle.svm.driver.NativeImage$BuildConfiguration);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/nio/file/Path;Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=12, args_size=4
        start local 0 // java.lang.String val
        start local 1 // java.lang.String optionArg
        start local 2 // java.nio.file.Path componentDirectory
        start local 3 // com.oracle.svm.driver.NativeImage$BuildConfiguration config
         0: .line 1783
            aload 0 /* val */
            astore 4 /* resultVal */
        start local 4 // java.lang.String resultVal
         1: .line 1784
            aload 1 /* optionArg */
            ifnull 13
         2: .line 1786
            aload 4 /* resultVal */
            ldc "${*}"
            aload 1 /* optionArg */
            invokestatic com.oracle.svm.driver.NativeImage.safeSubstitution:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            astore 4 /* resultVal */
         3: .line 1791
            aload 1 /* optionArg */
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 12
      StackMap locals: java.lang.String java.lang.String java.nio.file.Path com.oracle.svm.driver.NativeImage$BuildConfiguration java.lang.String top int int java.lang.String[]
      StackMap stack:
         4: aload 8
            iload 6
            aaload
            astore 5 /* argNameValue */
        start local 5 // java.lang.String argNameValue
         5: .line 1792
            aload 5 /* argNameValue */
            ldc ":"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 9 /* splitted */
        start local 9 // java.lang.String[] splitted
         6: .line 1793
            aload 9 /* splitted */
            arraylength
            iconst_2
            if_icmpne 11
         7: .line 1794
            aload 9 /* splitted */
            iconst_0
            aaload
            astore 10 /* argName */
        start local 10 // java.lang.String argName
         8: .line 1795
            aload 9 /* splitted */
            iconst_1
            aaload
            astore 11 /* argValue */
        start local 11 // java.lang.String argValue
         9: .line 1796
            aload 10 /* argName */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 11
        10: .line 1797
            aload 4 /* resultVal */
            new java.lang.StringBuilder
            dup
            ldc "${"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 10 /* argName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "}"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 11 /* argValue */
            invokestatic com.oracle.svm.driver.NativeImage.safeSubstitution:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            astore 4 /* resultVal */
        end local 11 // java.lang.String argValue
        end local 10 // java.lang.String argName
        end local 9 // java.lang.String[] splitted
        end local 5 // java.lang.String argNameValue
        11: .line 1791
      StackMap locals:
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
        12: iload 6
            iload 7
            if_icmplt 4
        13: .line 1803
      StackMap locals: java.lang.String java.lang.String java.nio.file.Path com.oracle.svm.driver.NativeImage$BuildConfiguration java.lang.String
      StackMap stack:
            aload 4 /* resultVal */
            ldc "${.}"
            aload 2 /* componentDirectory */
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            invokestatic com.oracle.svm.driver.NativeImage.safeSubstitution:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            astore 4 /* resultVal */
        14: .line 1805
            aload 4 /* resultVal */
            ldc "${java.home}"
            aload 3 /* config */
            invokeinterface com.oracle.svm.driver.NativeImage$BuildConfiguration.getJavaHome:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            invokestatic com.oracle.svm.driver.NativeImage.safeSubstitution:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            astore 4 /* resultVal */
        15: .line 1806
            aload 4 /* resultVal */
            areturn
        end local 4 // java.lang.String resultVal
        end local 3 // com.oracle.svm.driver.NativeImage$BuildConfiguration config
        end local 2 // java.nio.file.Path componentDirectory
        end local 1 // java.lang.String optionArg
        end local 0 // java.lang.String val
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   16     0                 val  Ljava/lang/String;
            0   16     1           optionArg  Ljava/lang/String;
            0   16     2  componentDirectory  Ljava/nio/file/Path;
            0   16     3              config  Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;
            1   16     4           resultVal  Ljava/lang/String;
            5   11     5        argNameValue  Ljava/lang/String;
            6   11     9            splitted  [Ljava/lang/String;
            8   11    10             argName  Ljava/lang/String;
            9   11    11            argValue  Ljava/lang/String;
    MethodParameters:
                    Name  Flags
      val                 
      optionArg           
      componentDirectory  
      config              

  private static java.lang.String safeSubstitution(java.lang.String, java.lang.CharSequence, java.lang.CharSequence);
    descriptor: (Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.lang.String source
        start local 1 // java.lang.CharSequence target
        start local 2 // java.lang.CharSequence replacement
         0: .line 1810
            aload 2 /* replacement */
            ifnonnull 2
            aload 0 /* source */
            aload 1 /* target */
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 2
         1: .line 1811
            new java.lang.StringBuilder
            dup
            ldc "Unable to provide meaningful substitution for \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* target */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "\" in "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* source */
            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;
            athrow
         2: .line 1813
      StackMap locals:
      StackMap stack:
            aload 0 /* source */
            aload 1 /* target */
            aload 2 /* replacement */
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            areturn
        end local 2 // java.lang.CharSequence replacement
        end local 1 // java.lang.CharSequence target
        end local 0 // java.lang.String source
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0       source  Ljava/lang/String;
            0    3     1       target  Ljava/lang/CharSequence;
            0    3     2  replacement  Ljava/lang/CharSequence;
    MethodParameters:
             Name  Flags
      source       
      target       
      replacement  

  protected static boolean isDeletedPath(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Z
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.nio.file.Path toDelete
         0: .line 1819
            aload 0 /* toDelete */
            invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            getstatic com.oracle.svm.driver.NativeImage.deletedFileSuffix:Ljava/lang/String;
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ireturn
        end local 0 // java.nio.file.Path toDelete
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  toDelete  Ljava/nio/file/Path;
    MethodParameters:
          Name  Flags
      toDelete  

  protected void deleteAllFiles(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 1 // java.nio.file.Path toDelete
         0: .line 1824
            aload 1 /* toDelete */
            astore 2 /* deletedPath */
        start local 2 // java.nio.file.Path deletedPath
         1: .line 1825
            aload 2 /* deletedPath */
            invokestatic com.oracle.svm.driver.NativeImage.isDeletedPath:(Ljava/nio/file/Path;)Z
            ifne 4
         2: .line 1826
            aload 1 /* toDelete */
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 1 /* toDelete */
            invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            getstatic com.oracle.svm.driver.NativeImage.deletedFileSuffix:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface java.nio.file.Path.resolveSibling:(Ljava/lang/String;)Ljava/nio/file/Path;
            astore 2 /* deletedPath */
         3: .line 1827
            aload 1 /* toDelete */
            aload 2 /* deletedPath */
            iconst_0
            anewarray java.nio.file.CopyOption
            invokestatic java.nio.file.Files.move:(Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/CopyOption;)Ljava/nio/file/Path;
            pop
         4: .line 1829
      StackMap locals: java.nio.file.Path
      StackMap stack:
            aload 2 /* deletedPath */
            iconst_0
            anewarray java.nio.file.FileVisitOption
            invokestatic java.nio.file.Files.walk:(Ljava/nio/file/Path;[Ljava/nio/file/FileVisitOption;)Ljava/util/stream/Stream;
            invokestatic java.util.Comparator.reverseOrder:()Ljava/util/Comparator;
            invokeinterface java.util.stream.Stream.sorted:(Ljava/util/Comparator;)Ljava/util/stream/Stream;
            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;
                  java/nio/file/Path.toFile()Ljava/io/File; (9 itf)
                  (Ljava/nio/file/Path;)Ljava/io/File;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            invokedynamic accept()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
                  java/io/File.delete()Z (5)
                  (Ljava/io/File;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
        end local 2 // java.nio.file.Path deletedPath
         5: .line 1830
            goto 10
      StackMap locals: com.oracle.svm.driver.NativeImage java.nio.file.Path
      StackMap stack: java.io.IOException
         6: astore 2 /* e */
        start local 2 // java.io.IOException e
         7: .line 1831
            aload 0 /* this */
            invokevirtual com.oracle.svm.driver.NativeImage.isVerbose:()Z
            ifeq 10
         8: .line 1832
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "Could not recursively delete path: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* toDelete */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.oracle.svm.driver.NativeImage.showMessage:(Ljava/lang/String;)V
         9: .line 1833
            aload 2 /* e */
            invokevirtual java.io.IOException.printStackTrace:()V
        end local 2 // java.io.IOException e
        10: .line 1836
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.nio.file.Path toDelete
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0         this  Lcom/oracle/svm/driver/NativeImage;
            0   11     1     toDelete  Ljava/nio/file/Path;
            1    5     2  deletedPath  Ljava/nio/file/Path;
            7   10     2            e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     5       6  Class java.io.IOException
    MethodParameters:
          Name  Flags
      toDelete  

  private static com.oracle.svm.driver.NativeImage lambda$0(com.oracle.svm.driver.NativeImage$BuildConfiguration);
    descriptor: (Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;)Lcom/oracle/svm/driver/NativeImage;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.svm.driver.NativeImage$BuildConfiguration config
         0: .line 1371
            getstatic com.oracle.svm.driver.NativeImage.IS_AOT:Z
            ifeq 1
            aload 0 /* config */
            invokestatic com.oracle.svm.driver.NativeImageServer.create:(Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;)Lcom/oracle/svm/driver/NativeImage;
            goto 2
      StackMap locals:
      StackMap stack:
         1: new com.oracle.svm.driver.NativeImage
            dup
            aload 0 /* config */
            invokespecial com.oracle.svm.driver.NativeImage.<init>:(Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;)V
      StackMap locals:
      StackMap stack: com.oracle.svm.driver.NativeImage
         2: areturn
        end local 0 // com.oracle.svm.driver.NativeImage$BuildConfiguration config
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  config  Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;

  private static boolean lambda$1(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 587
            aload 0 /* s */
            ldc "-D"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ireturn
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljava/lang/String;

  private boolean lambda$3(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 1 // java.lang.String s
         0: .line 594
            aload 1 /* s */
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.oRRuntimeJavaArg:Ljava/lang/String;
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ireturn
        end local 1 // java.lang.String s
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/driver/NativeImage;
            0    1     1     s  Ljava/lang/String;

  private boolean lambda$4(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 1 // java.lang.String s
         0: .line 601
            aload 1 /* s */
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.oHFallbackExecutorJavaArg:Ljava/lang/String;
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ireturn
        end local 1 // java.lang.String s
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/driver/NativeImage;
            0    1     1     s  Ljava/lang/String;

  private void lambda$65(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 1 // java.lang.String  arg0
         0: .line 1
            aload 0 /* this */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 1 /*  arg0 */
            aastore
            invokevirtual com.oracle.svm.driver.NativeImage.addImageBuilderJavaArgs:([Ljava/lang/String;)V
            return
        end local 1 // java.lang.String  arg0
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/oracle/svm/driver/NativeImage;
            0    1     1   arg0  Ljava/lang/String;

  private java.lang.String lambda$10(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Ljava/lang/String;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 1 // java.nio.file.Path p
         0: .line 761
            aload 0 /* this */
            aload 1 /* p */
            invokevirtual com.oracle.svm.driver.NativeImage.canonicalize:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.nio.file.Path p
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/driver/NativeImage;
            0    1     1     p  Ljava/nio/file/Path;

  private java.lang.String lambda$11(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Ljava/lang/String;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 1 // java.nio.file.Path p
         0: .line 767
            aload 0 /* this */
            aload 1 /* p */
            invokevirtual com.oracle.svm.driver.NativeImage.canonicalize:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.nio.file.Path p
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/driver/NativeImage;
            0    1     1     p  Ljava/nio/file/Path;

  private java.lang.String lambda$13(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Ljava/lang/String;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 1 // java.nio.file.Path path
         0: .line 776
            aload 0 /* this */
            aload 1 /* 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;
            areturn
        end local 1 // java.nio.file.Path path
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/driver/NativeImage;
            0    1     1  path  Ljava/nio/file/Path;

  private static java.lang.String lambda$17(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // java.lang.String a
        start local 1 // java.lang.String b
         0: .line 811
            aload 1 /* b */
            areturn
        end local 1 // java.lang.String b
        end local 0 // java.lang.String a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     a  Ljava/lang/String;
            0    1     1     b  Ljava/lang/String;

  private static java.lang.String lambda$18();
    descriptor: ()Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 812
            aconst_null
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static boolean lambda$19(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // java.lang.String arg
         0: .line 816
            aload 1 /* arg */
            aload 0
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ireturn
        end local 1 // java.lang.String arg
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1   arg  Ljava/lang/String;

  private static boolean lambda$22(com.oracle.svm.driver.NativeImage$MetaInfFileType, java.nio.file.Path);
    descriptor: (Lcom/oracle/svm/driver/NativeImage$MetaInfFileType;Ljava/nio/file/Path;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // java.nio.file.Path p
         0: .line 935
            aload 1 /* p */
            aload 0
            getfield com.oracle.svm.driver.NativeImage$MetaInfFileType.fileName:Ljava/lang/String;
            invokeinterface java.nio.file.Path.endsWith:(Ljava/lang/String;)Z
            ireturn
        end local 1 // java.nio.file.Path p
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     p  Ljava/nio/file/Path;

  private java.lang.String lambda$23(java.nio.file.Path, java.nio.file.Path, java.lang.String);
    descriptor: (Ljava/nio/file/Path;Ljava/nio/file/Path;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=8, args_size=4
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 3 // java.lang.String str
         0: .line 940
            aload 1
            aload 2
            invokeinterface java.nio.file.Path.relativize:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.getParent:()Ljava/nio/file/Path;
            astore 4 /* componentDirectory */
        start local 4 // java.nio.file.Path componentDirectory
         1: .line 941
            aload 4 /* componentDirectory */
            invokeinterface java.nio.file.Path.getNameCount:()I
            istore 5 /* nameCount */
        start local 5 // int nameCount
         2: .line 942
            aconst_null
            astore 6 /* optionArg */
        start local 6 // java.lang.String optionArg
         3: .line 943
            iload 5 /* nameCount */
            iconst_2
            if_icmple 6
         4: .line 944
            aload 4 /* componentDirectory */
            iconst_2
            iload 5 /* nameCount */
            invokeinterface java.nio.file.Path.subpath:(II)Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            astore 7 /* optionArgKey */
        start local 7 // java.lang.String optionArgKey
         5: .line 945
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.propertyFileSubstitutionValues:Ljava/util/Map;
            aload 7 /* optionArgKey */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* optionArg */
        end local 7 // java.lang.String optionArgKey
         6: .line 947
      StackMap locals: java.nio.file.Path int java.lang.String
      StackMap stack:
            aload 3 /* str */
            aload 6 /* optionArg */
            aload 4 /* componentDirectory */
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.config:Lcom/oracle/svm/driver/NativeImage$BuildConfiguration;
            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 6 // java.lang.String optionArg
        end local 5 // int nameCount
        end local 4 // java.nio.file.Path componentDirectory
        end local 3 // java.lang.String str
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    7     0                this  Lcom/oracle/svm/driver/NativeImage;
            0    7     3                 str  Ljava/lang/String;
            1    7     4  componentDirectory  Ljava/nio/file/Path;
            2    7     5           nameCount  I
            3    7     6           optionArg  Ljava/lang/String;
            5    6     7        optionArgKey  Ljava/lang/String;

  private void lambda$66(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 1 // java.lang.String  arg0
         0: .line 1
            aload 0 /* this */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 1 /*  arg0 */
            aastore
            invokevirtual com.oracle.svm.driver.NativeImage.addImageBuilderJavaArgs:([Ljava/lang/String;)V
            return
        end local 1 // java.lang.String  arg0
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/oracle/svm/driver/NativeImage;
            0    1     1   arg0  Ljava/lang/String;

  private static void lambda$26(java.util.function.BiConsumer, java.nio.file.Path);
    descriptor: (Ljava/util/function/BiConsumer;Ljava/nio/file/Path;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // java.nio.file.Path p
         0: .line 986
            aload 1 /* p */
            aload 0
            invokestatic com.oracle.svm.driver.NativeImage.processJarManifestMainAttributes:(Ljava/nio/file/Path;Ljava/util/function/BiConsumer;)Z
            return
        end local 1 // java.nio.file.Path p
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     p  Ljava/nio/file/Path;

  private java.lang.String lambda$27(java.lang.String, java.nio.file.Path);
    descriptor: (Ljava/lang/String;Ljava/nio/file/Path;)Ljava/lang/String;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 2 // java.nio.file.Path path
         0: .line 1051
            aload 0 /* this */
            aload 2 /* path */
            aload 1
            invokeinterface java.nio.file.Path.resolve:(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;
            areturn
        end local 2 // java.nio.file.Path path
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/driver/NativeImage;
            0    1     2  path  Ljava/nio/file/Path;

  private static java.lang.Long lambda$30();
    descriptor: ()Ljava/lang/Long;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 1069
            lconst_0
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private java.lang.Long lambda$34();
    descriptor: ()Ljava/lang/Long;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.svm.driver.NativeImage this
         0: .line 1070
            aload 0 /* this */
            invokevirtual com.oracle.svm.driver.NativeImage.getXmsValue:()Ljava/lang/String;
            invokestatic com.oracle.svm.core.option.SubstrateOptionsParser.parseLong:(Ljava/lang/String;)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            areturn
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/driver/NativeImage;

  private java.lang.String lambda$36(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 1 // java.lang.String s
         0: .line 1099
            aload 0 /* this */
            aload 1 /* s */
            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;
            areturn
        end local 1 // java.lang.String s
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/driver/NativeImage;
            0    1     1     s  Ljava/lang/String;

  private static java.lang.String lambda$37(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // java.lang.String a
        start local 1 // java.lang.String b
         0: .line 1113
            aload 1 /* b */
            areturn
        end local 1 // java.lang.String b
        end local 0 // java.lang.String a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     a  Ljava/lang/String;
            0    1     1     b  Ljava/lang/String;

  private static java.lang.String lambda$38();
    descriptor: ()Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 1114
            aconst_null
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.String lambda$39();
    descriptor: ()Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 1121
            aconst_null
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private boolean lambda$40(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 1 // java.lang.String arg
         0: .line 1123
            aload 1 /* arg */
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.enableSharedLibraryFlag:Ljava/lang/String;
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ireturn
        end local 1 // java.lang.String arg
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/driver/NativeImage;
            0    1     1   arg  Ljava/lang/String;

  private boolean lambda$41(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 1 // java.lang.String arg
         0: .line 1124
            aload 1 /* arg */
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.enablePrintFlags:Ljava/lang/String;
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifne 1
            aload 1 /* arg */
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.enablePrintFlagsWithExtraHelp:Ljava/lang/String;
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifne 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // java.lang.String arg
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/svm/driver/NativeImage;
            0    3     1   arg  Ljava/lang/String;

  private boolean lambda$42(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 1 // java.lang.String arg
         0: .line 1139
            aload 1 /* arg */
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.oHClass:Ljava/lang/String;
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ireturn
        end local 1 // java.lang.String arg
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/driver/NativeImage;
            0    1     1   arg  Ljava/lang/String;

  private boolean lambda$43(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 1 // java.lang.String arg
         0: .line 1154
            aload 1 /* arg */
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.oHName:Ljava/lang/String;
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ireturn
        end local 1 // java.lang.String arg
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/driver/NativeImage;
            0    1     1   arg  Ljava/lang/String;

  private boolean lambda$44(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.driver.NativeImage this
        start local 1 // java.lang.String arg
         0: .line 1159
            aload 1 /* arg */
            aload 0 /* this */
            getfield com.oracle.svm.driver.NativeImage.oHName:Ljava/lang/String;
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ireturn
        end local 1 // java.lang.String arg
        end local 0 // com.oracle.svm.driver.NativeImage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/driver/NativeImage;
            0    1     1   arg  Ljava/lang/String;

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

  private static boolean lambda$47(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // java.lang.String arg
         0: .line 1224
            aload 1 /* arg */
            aload 0
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ireturn
        end local 1 // java.lang.String arg
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1   arg  Ljava/lang/String;

  private static java.lang.String lambda$48(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // java.lang.String arg
         0: .line 1224
            aload 1 /* arg */
            aload 0
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String arg
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1   arg  Ljava/lang/String;

  private static java.lang.String lambda$49(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
        start local 1 // java.lang.String option
         0: .line 1256
            new java.lang.StringBuilder
            dup
            aload 0
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* option */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.String option
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     1  option  Ljava/lang/String;

  private static void lambda$60(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 1639
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 0 /* s */
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
         1: .line 1640
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.flush:()V
         2: .line 1641
            return
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     s  Ljava/lang/String;

  private static boolean lambda$62(java.util.List, java.nio.file.Path);
    descriptor: (Ljava/util/List;Ljava/nio/file/Path;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=5, args_size=2
        start local 1 // java.nio.file.Path p
         0: .line 1688
            aload 1 /* p */
            invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            astore 2 /* jarFileName */
        start local 2 // java.lang.String jarFileName
         1: .line 1689
            ldc ".jar"
            astore 3 /* jarSuffix */
        start local 3 // java.lang.String jarSuffix
         2: .line 1690
            aload 2 /* jarFileName */
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            aload 3 /* jarSuffix */
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 4
         3: .line 1691
            iconst_0
            ireturn
         4: .line 1693
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 0
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 6
         5: .line 1694
            iconst_1
            ireturn
         6: .line 1696
      StackMap locals:
      StackMap stack:
            aload 2 /* jarFileName */
            iconst_0
            aload 2 /* jarFileName */
            invokevirtual java.lang.String.length:()I
            aload 3 /* jarSuffix */
            invokevirtual java.lang.String.length:()I
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 4 /* jarBaseName */
        start local 4 // java.lang.String jarBaseName
         7: .line 1697
            aload 0
            aload 4 /* jarBaseName */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ireturn
        end local 4 // java.lang.String jarBaseName
        end local 3 // java.lang.String jarSuffix
        end local 2 // java.lang.String jarFileName
        end local 1 // java.nio.file.Path p
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     1            p  Ljava/nio/file/Path;
            1    8     2  jarFileName  Ljava/lang/String;
            2    8     3    jarSuffix  Ljava/lang/String;
            7    8     4  jarBaseName  Ljava/lang/String;
}
SourceFile: "NativeImage.java"
NestMembers:
  com.oracle.svm.driver.NativeImage$1  com.oracle.svm.driver.NativeImage$BuildConfiguration  com.oracle.svm.driver.NativeImage$DefaultBuildConfiguration  com.oracle.svm.driver.NativeImage$FallbackBuildConfiguration  com.oracle.svm.driver.NativeImage$JDK9Plus  com.oracle.svm.driver.NativeImage$MetaInfFileType  com.oracle.svm.driver.NativeImage$NativeImageArgsProcessor  com.oracle.svm.driver.NativeImage$NativeImageError  com.oracle.svm.driver.NativeImage$NativeImageMetaInfResourceProcessor  com.oracle.svm.driver.NativeImage$OptionHandler
InnerClasses:
  public Options = com.oracle.svm.core.FallbackExecutor$Options of com.oracle.svm.core.FallbackExecutor
  public final Options = com.oracle.svm.core.configure.ConfigurationFiles$Options of com.oracle.svm.core.configure.ConfigurationFiles
  public UserException = com.oracle.svm.core.util.UserError$UserException of com.oracle.svm.core.util.UserError
  final EnabledOption = com.oracle.svm.driver.MacroOption$EnabledOption of com.oracle.svm.driver.MacroOption
  final MacroOptionKind = com.oracle.svm.driver.MacroOption$MacroOptionKind of com.oracle.svm.driver.MacroOption
  final Registry = com.oracle.svm.driver.MacroOption$Registry of com.oracle.svm.driver.MacroOption
  com.oracle.svm.driver.NativeImage$1
  public abstract BuildConfiguration = com.oracle.svm.driver.NativeImage$BuildConfiguration of com.oracle.svm.driver.NativeImage
  private DefaultBuildConfiguration = com.oracle.svm.driver.NativeImage$DefaultBuildConfiguration of com.oracle.svm.driver.NativeImage
  private final FallbackBuildConfiguration = com.oracle.svm.driver.NativeImage$FallbackBuildConfiguration of com.oracle.svm.driver.NativeImage
  public JDK9Plus = com.oracle.svm.driver.NativeImage$JDK9Plus of com.oracle.svm.driver.NativeImage
  final MetaInfFileType = com.oracle.svm.driver.NativeImage$MetaInfFileType of com.oracle.svm.driver.NativeImage
  NativeImageArgsProcessor = com.oracle.svm.driver.NativeImage$NativeImageArgsProcessor of com.oracle.svm.driver.NativeImage
  public final NativeImageError = com.oracle.svm.driver.NativeImage$NativeImageError of com.oracle.svm.driver.NativeImage
  abstract NativeImageMetaInfResourceProcessor = com.oracle.svm.driver.NativeImage$NativeImageMetaInfResourceProcessor of com.oracle.svm.driver.NativeImage
  abstract OptionHandler = com.oracle.svm.driver.NativeImage$OptionHandler of com.oracle.svm.driver.NativeImage
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles