class org.graalvm.launcher.Launcher$Native
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.graalvm.launcher.Launcher$Native
  super_class: java.lang.Object
{
  private java.lang.ref.WeakReference<org.graalvm.options.OptionDescriptors> compilerOptionDescriptors;
    descriptor: Ljava/lang/ref/WeakReference;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/lang/ref/WeakReference<Lorg/graalvm/options/OptionDescriptors;>;

  private java.lang.ref.WeakReference<org.graalvm.options.OptionDescriptors> vmOptionDescriptors;
    descriptor: Ljava/lang/ref/WeakReference;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/lang/ref/WeakReference<Lorg/graalvm/options/OptionDescriptors;>;

  final org.graalvm.launcher.Launcher this$0;
    descriptor: Lorg/graalvm/launcher/Launcher;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

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

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

  void <init>(org.graalvm.launcher.Launcher);
    descriptor: (Lorg/graalvm/launcher/Launcher;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.launcher.Launcher$Native this
         0: .line 1248
            aload 0 /* this */
            aload 1
            putfield org.graalvm.launcher.Launcher$Native.this$0:Lorg/graalvm/launcher/Launcher;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.graalvm.launcher.Launcher$Native this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/launcher/Launcher$Native;
    MethodParameters:
        Name  Flags
      this$0  final

  private org.graalvm.options.OptionDescriptors getCompilerOptions();
    descriptor: ()Lorg/graalvm/options/OptionDescriptors;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.graalvm.launcher.Launcher$Native this
         0: .line 1255
            aconst_null
            astore 1 /* descriptors */
        start local 1 // org.graalvm.options.OptionDescriptors descriptors
         1: .line 1256
            aload 0 /* this */
            getfield org.graalvm.launcher.Launcher$Native.compilerOptionDescriptors:Ljava/lang/ref/WeakReference;
            ifnull 3
         2: .line 1257
            aload 0 /* this */
            getfield org.graalvm.launcher.Launcher$Native.compilerOptionDescriptors:Ljava/lang/ref/WeakReference;
            invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
            checkcast org.graalvm.options.OptionDescriptors
            astore 1 /* descriptors */
         3: .line 1259
      StackMap locals: org.graalvm.options.OptionDescriptors
      StackMap stack:
            aload 1 /* descriptors */
            ifnonnull 6
         4: .line 1260
            getstatic org.graalvm.nativeimage.RuntimeOptions$OptionClass.Compiler:Lorg/graalvm/nativeimage/RuntimeOptions$OptionClass;
            invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;)Ljava/util/EnumSet;
            invokestatic org.graalvm.nativeimage.RuntimeOptions.getOptions:(Ljava/util/EnumSet;)Lorg/graalvm/options/OptionDescriptors;
            astore 1 /* descriptors */
         5: .line 1261
            aload 0 /* this */
            new java.lang.ref.WeakReference
            dup
            aload 1 /* descriptors */
            invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
            putfield org.graalvm.launcher.Launcher$Native.compilerOptionDescriptors:Ljava/lang/ref/WeakReference;
         6: .line 1263
      StackMap locals:
      StackMap stack:
            aload 1 /* descriptors */
            areturn
        end local 1 // org.graalvm.options.OptionDescriptors descriptors
        end local 0 // org.graalvm.launcher.Launcher$Native this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lorg/graalvm/launcher/Launcher$Native;
            1    7     1  descriptors  Lorg/graalvm/options/OptionDescriptors;

  private org.graalvm.options.OptionDescriptors getVMOptions();
    descriptor: ()Lorg/graalvm/options/OptionDescriptors;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.graalvm.launcher.Launcher$Native this
         0: .line 1267
            aconst_null
            astore 1 /* descriptors */
        start local 1 // org.graalvm.options.OptionDescriptors descriptors
         1: .line 1268
            aload 0 /* this */
            getfield org.graalvm.launcher.Launcher$Native.vmOptionDescriptors:Ljava/lang/ref/WeakReference;
            ifnull 3
         2: .line 1269
            aload 0 /* this */
            getfield org.graalvm.launcher.Launcher$Native.vmOptionDescriptors:Ljava/lang/ref/WeakReference;
            invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
            checkcast org.graalvm.options.OptionDescriptors
            astore 1 /* descriptors */
         3: .line 1271
      StackMap locals: org.graalvm.options.OptionDescriptors
      StackMap stack:
            aload 1 /* descriptors */
            ifnonnull 6
         4: .line 1272
            getstatic org.graalvm.nativeimage.RuntimeOptions$OptionClass.VM:Lorg/graalvm/nativeimage/RuntimeOptions$OptionClass;
            invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;)Ljava/util/EnumSet;
            invokestatic org.graalvm.nativeimage.RuntimeOptions.getOptions:(Ljava/util/EnumSet;)Lorg/graalvm/options/OptionDescriptors;
            astore 1 /* descriptors */
         5: .line 1273
            aload 0 /* this */
            new java.lang.ref.WeakReference
            dup
            aload 1 /* descriptors */
            invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
            putfield org.graalvm.launcher.Launcher$Native.vmOptionDescriptors:Ljava/lang/ref/WeakReference;
         6: .line 1275
      StackMap locals:
      StackMap stack:
            aload 1 /* descriptors */
            areturn
        end local 1 // org.graalvm.options.OptionDescriptors descriptors
        end local 0 // org.graalvm.launcher.Launcher$Native this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lorg/graalvm/launcher/Launcher$Native;
            1    7     1  descriptors  Lorg/graalvm/options/OptionDescriptors;

  private void setNativeOption(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.graalvm.launcher.Launcher$Native this
        start local 1 // java.lang.String arg
         0: .line 1279
            aload 1 /* arg */
            ldc "Dgraal."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 3
         1: .line 1280
            aload 0 /* this */
            aload 1 /* arg */
            ldc "Dgraal."
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual org.graalvm.launcher.Launcher$Native.setGraalStyleRuntimeOption:(Ljava/lang/String;)V
         2: .line 1281
            goto 15
      StackMap locals:
      StackMap stack:
         3: aload 1 /* arg */
            ldc "D"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 6
         4: .line 1282
            aload 0 /* this */
            aload 1 /* arg */
            ldc "D"
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual org.graalvm.launcher.Launcher$Native.setSystemProperty:(Ljava/lang/String;)V
         5: .line 1283
            goto 15
      StackMap locals:
      StackMap stack:
         6: aload 1 /* arg */
            ldc "XX:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 9
         7: .line 1284
            aload 0 /* this */
            aload 1 /* arg */
            ldc "XX:"
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual org.graalvm.launcher.Launcher$Native.setRuntimeOption:(Ljava/lang/String;)V
         8: .line 1285
            goto 15
      StackMap locals:
      StackMap stack:
         9: aload 1 /* arg */
            ldc "X"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 14
        10: .line 1286
            aload 0 /* this */
            aload 1 /* arg */
            invokevirtual org.graalvm.launcher.Launcher$Native.isXOption:(Ljava/lang/String;)Z
            ifeq 13
        11: .line 1287
            aload 0 /* this */
            aload 1 /* arg */
            ldc "X"
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual org.graalvm.launcher.Launcher$Native.setXOption:(Ljava/lang/String;)V
        12: .line 1288
            goto 15
        13: .line 1289
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.launcher.Launcher$Native.this$0:Lorg/graalvm/launcher/Launcher;
            new java.lang.StringBuilder
            dup
            ldc "Unrecognized vm option: '--vm."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* arg */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "'. Some VM options may be only supported in --jvm mode."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.graalvm.launcher.Launcher.abort:(Ljava/lang/String;)Lorg/graalvm/launcher/Launcher$AbortException;
            athrow
        14: .line 1292
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.launcher.Launcher$Native.this$0:Lorg/graalvm/launcher/Launcher;
            new java.lang.StringBuilder
            dup
            ldc "Unrecognized vm option: '--vm."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* arg */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "'. Such arguments should start with '--vm.D', '--vm.XX:', or '--vm.X'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.graalvm.launcher.Launcher.abort:(Ljava/lang/String;)Lorg/graalvm/launcher/Launcher$AbortException;
            athrow
        15: .line 1294
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String arg
        end local 0 // org.graalvm.launcher.Launcher$Native this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  this  Lorg/graalvm/launcher/Launcher$Native;
            0   16     1   arg  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      arg   

  private void setGraalStyleRuntimeOption(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // org.graalvm.launcher.Launcher$Native this
        start local 1 // java.lang.String arg
         0: .line 1297
            aload 1 /* arg */
            ldc "+"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 1
            aload 1 /* arg */
            ldc "-"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 1298
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.launcher.Launcher$Native.this$0:Lorg/graalvm/launcher/Launcher;
            ldc "Dgraal option must use <name>=<value> format, not +/- prefix"
            invokevirtual org.graalvm.launcher.Launcher.abort:(Ljava/lang/String;)Lorg/graalvm/launcher/Launcher$AbortException;
            athrow
         2: .line 1300
      StackMap locals:
      StackMap stack:
            aload 1 /* arg */
            bipush 61
            invokevirtual java.lang.String.indexOf:(I)I
            istore 2 /* eqIdx */
        start local 2 // int eqIdx
         3: .line 1303
            iload 2 /* eqIdx */
            ifge 7
         4: .line 1304
            aload 1 /* arg */
            astore 3 /* key */
        start local 3 // java.lang.String key
         5: .line 1305
            ldc ""
            astore 4 /* value */
        start local 4 // java.lang.String value
         6: .line 1306
            goto 9
        end local 4 // java.lang.String value
        end local 3 // java.lang.String key
         7: .line 1307
      StackMap locals: int
      StackMap stack:
            aload 1 /* arg */
            iconst_0
            iload 2 /* eqIdx */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 3 /* key */
        start local 3 // java.lang.String key
         8: .line 1308
            aload 1 /* arg */
            iload 2 /* eqIdx */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 4 /* value */
        start local 4 // java.lang.String value
         9: .line 1310
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.launcher.Launcher$Native.getCompilerOptions:()Lorg/graalvm/options/OptionDescriptors;
            aload 3 /* key */
            invokeinterface org.graalvm.options.OptionDescriptors.get:(Ljava/lang/String;)Lorg/graalvm/options/OptionDescriptor;
            astore 5 /* descriptor */
        start local 5 // org.graalvm.options.OptionDescriptor descriptor
        10: .line 1311
            aload 5 /* descriptor */
            ifnonnull 21
        11: .line 1312
            aload 0 /* this */
            invokevirtual org.graalvm.launcher.Launcher$Native.getVMOptions:()Lorg/graalvm/options/OptionDescriptors;
            aload 3 /* key */
            invokeinterface org.graalvm.options.OptionDescriptors.get:(Ljava/lang/String;)Lorg/graalvm/options/OptionDescriptor;
            astore 5 /* descriptor */
        12: .line 1313
            aload 5 /* descriptor */
            ifnull 21
        13: .line 1314
            aload 0 /* this */
            aload 5 /* descriptor */
            invokevirtual org.graalvm.launcher.Launcher$Native.isBooleanOption:(Lorg/graalvm/options/OptionDescriptor;)Z
            ifeq 18
        14: .line 1315
            aload 0 /* this */
            getfield org.graalvm.launcher.Launcher$Native.this$0:Lorg/graalvm/launcher/Launcher;
            ldc "VM options such as '%s' should be set with '--vm.XX:\u00B1%<s'.%nSupport for setting them with '--vm.Dgraal.%<s=<value>' is deprecated and will be removed.%n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        15: .line 1316
            aload 3 /* key */
            aastore
        16: .line 1315
            invokevirtual org.graalvm.launcher.Launcher.warn:(Ljava/lang/String;[Ljava/lang/Object;)V
        17: .line 1317
            goto 21
        18: .line 1318
      StackMap locals: org.graalvm.options.OptionDescriptor
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.launcher.Launcher$Native.this$0:Lorg/graalvm/launcher/Launcher;
            ldc "VM options such as '%s' should be set with '--vm.XX:%<s=<value>'.%nSupport for setting them with '--vm.Dgraal.%<s=<value>' is deprecated and will be removed.%n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        19: .line 1319
            aload 3 /* key */
            aastore
        20: .line 1318
            invokevirtual org.graalvm.launcher.Launcher.warn:(Ljava/lang/String;[Ljava/lang/Object;)V
        21: .line 1323
      StackMap locals:
      StackMap stack:
            aload 5 /* descriptor */
            ifnonnull 23
        22: .line 1324
            aload 0 /* this */
            aload 3 /* key */
            invokevirtual org.graalvm.launcher.Launcher$Native.unknownOption:(Ljava/lang/String;)Lorg/graalvm/launcher/Launcher$AbortException;
            athrow
        23: .line 1327
      StackMap locals:
      StackMap stack:
            aload 3 /* key */
            aload 5 /* descriptor */
            invokevirtual org.graalvm.options.OptionDescriptor.getKey:()Lorg/graalvm/options/OptionKey;
            invokevirtual org.graalvm.options.OptionKey.getType:()Lorg/graalvm/options/OptionType;
            aload 4 /* value */
            invokevirtual org.graalvm.options.OptionType.convert:(Ljava/lang/String;)Ljava/lang/Object;
            invokestatic org.graalvm.nativeimage.RuntimeOptions.set:(Ljava/lang/String;Ljava/lang/Object;)V
        24: .line 1328
            goto 27
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
        25: astore 6 /* iae */
        start local 6 // java.lang.IllegalArgumentException iae
        26: .line 1329
            aload 0 /* this */
            getfield org.graalvm.launcher.Launcher$Native.this$0:Lorg/graalvm/launcher/Launcher;
            new java.lang.StringBuilder
            dup
            ldc "Invalid argument: '--vm."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* arg */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "': "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* iae */
            invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.graalvm.launcher.Launcher.abort:(Ljava/lang/String;)Lorg/graalvm/launcher/Launcher$AbortException;
            athrow
        end local 6 // java.lang.IllegalArgumentException iae
        27: .line 1331
      StackMap locals:
      StackMap stack:
            return
        end local 5 // org.graalvm.options.OptionDescriptor descriptor
        end local 4 // java.lang.String value
        end local 3 // java.lang.String key
        end local 2 // int eqIdx
        end local 1 // java.lang.String arg
        end local 0 // org.graalvm.launcher.Launcher$Native this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   28     0        this  Lorg/graalvm/launcher/Launcher$Native;
            0   28     1         arg  Ljava/lang/String;
            3   28     2       eqIdx  I
            5    7     3         key  Ljava/lang/String;
            8   28     3         key  Ljava/lang/String;
            6    7     4       value  Ljava/lang/String;
            9   28     4       value  Ljava/lang/String;
           10   28     5  descriptor  Lorg/graalvm/options/OptionDescriptor;
           26   27     6         iae  Ljava/lang/IllegalArgumentException;
      Exception table:
        from    to  target  type
          23    24      25  Class java.lang.IllegalArgumentException
    MethodParameters:
      Name  Flags
      arg   

  public void setSystemProperty(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.graalvm.launcher.Launcher$Native this
        start local 1 // java.lang.String arg
         0: .line 1334
            aload 1 /* arg */
            bipush 61
            invokevirtual java.lang.String.indexOf:(I)I
            istore 2 /* eqIdx */
        start local 2 // int eqIdx
         1: .line 1337
            iload 2 /* eqIdx */
            ifge 5
         2: .line 1338
            aload 1 /* arg */
            astore 3 /* key */
        start local 3 // java.lang.String key
         3: .line 1339
            ldc ""
            astore 4 /* value */
        start local 4 // java.lang.String value
         4: .line 1340
            goto 7
        end local 4 // java.lang.String value
        end local 3 // java.lang.String key
         5: .line 1341
      StackMap locals: int
      StackMap stack:
            aload 1 /* arg */
            iconst_0
            iload 2 /* eqIdx */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 3 /* key */
        start local 3 // java.lang.String key
         6: .line 1342
            aload 1 /* arg */
            iload 2 /* eqIdx */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 4 /* value */
        start local 4 // java.lang.String value
         7: .line 1344
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 3 /* key */
            aload 4 /* value */
            invokestatic java.lang.System.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            pop
         8: .line 1345
            return
        end local 4 // java.lang.String value
        end local 3 // java.lang.String key
        end local 2 // int eqIdx
        end local 1 // java.lang.String arg
        end local 0 // org.graalvm.launcher.Launcher$Native this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lorg/graalvm/launcher/Launcher$Native;
            0    9     1    arg  Ljava/lang/String;
            1    9     2  eqIdx  I
            3    5     3    key  Ljava/lang/String;
            6    9     3    key  Ljava/lang/String;
            4    5     4  value  Ljava/lang/String;
            7    9     4  value  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      arg   

  public void setRuntimeOption(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // org.graalvm.launcher.Launcher$Native this
        start local 1 // java.lang.String arg
         0: .line 1348
            aload 1 /* arg */
            bipush 61
            invokevirtual java.lang.String.indexOf:(I)I
            istore 2 /* eqIdx */
        start local 2 // int eqIdx
         1: .line 1351
            aload 1 /* arg */
            ldc "+"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 2
            aload 1 /* arg */
            ldc "-"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 10
         2: .line 1352
      StackMap locals: int
      StackMap stack:
            aload 1 /* arg */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 3 /* key */
        start local 3 // java.lang.String key
         3: .line 1353
            iload 2 /* eqIdx */
            iflt 5
         4: .line 1354
            aload 0 /* this */
            getfield org.graalvm.launcher.Launcher$Native.this$0:Lorg/graalvm/launcher/Launcher;
            new java.lang.StringBuilder
            dup
            ldc "Invalid argument: '--vm."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* arg */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "': Use either +/- or =, but not both"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.graalvm.launcher.Launcher.abort:(Ljava/lang/String;)Lorg/graalvm/launcher/Launcher$AbortException;
            athrow
         5: .line 1356
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 3 /* key */
            invokevirtual org.graalvm.launcher.Launcher$Native.getVMOptionDescriptor:(Ljava/lang/String;)Lorg/graalvm/options/OptionDescriptor;
            astore 5 /* descriptor */
        start local 5 // org.graalvm.options.OptionDescriptor descriptor
         6: .line 1357
            aload 0 /* this */
            aload 5 /* descriptor */
            invokevirtual org.graalvm.launcher.Launcher$Native.isBooleanOption:(Lorg/graalvm/options/OptionDescriptor;)Z
            ifne 8
         7: .line 1358
            aload 0 /* this */
            getfield org.graalvm.launcher.Launcher$Native.this$0:Lorg/graalvm/launcher/Launcher;
            new java.lang.StringBuilder
            dup
            ldc "Invalid argument: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* key */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " is not a boolean option, set it with --vm.XX:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* key */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "=<value>."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.graalvm.launcher.Launcher.abort:(Ljava/lang/String;)Lorg/graalvm/launcher/Launcher$AbortException;
            athrow
         8: .line 1360
      StackMap locals: org.graalvm.launcher.Launcher$Native java.lang.String int java.lang.String top org.graalvm.options.OptionDescriptor
      StackMap stack:
            aload 1 /* arg */
            ldc "+"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            astore 4 /* value */
        end local 5 // org.graalvm.options.OptionDescriptor descriptor
        start local 4 // java.lang.Object value
         9: .line 1361
            goto 20
        end local 4 // java.lang.Object value
        end local 3 // java.lang.String key
      StackMap locals: org.graalvm.launcher.Launcher$Native java.lang.String int
      StackMap stack:
        10: iload 2 /* eqIdx */
            ifle 19
        11: .line 1362
            aload 1 /* arg */
            iconst_0
            iload 2 /* eqIdx */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 3 /* key */
        start local 3 // java.lang.String key
        12: .line 1363
            aload 0 /* this */
            aload 3 /* key */
            invokevirtual org.graalvm.launcher.Launcher$Native.getVMOptionDescriptor:(Ljava/lang/String;)Lorg/graalvm/options/OptionDescriptor;
            astore 5 /* descriptor */
        start local 5 // org.graalvm.options.OptionDescriptor descriptor
        13: .line 1364
            aload 0 /* this */
            aload 5 /* descriptor */
            invokevirtual org.graalvm.launcher.Launcher$Native.isBooleanOption:(Lorg/graalvm/options/OptionDescriptor;)Z
            ifeq 15
        14: .line 1365
            aload 0 /* this */
            getfield org.graalvm.launcher.Launcher$Native.this$0:Lorg/graalvm/launcher/Launcher;
            new java.lang.StringBuilder
            dup
            ldc "Boolean option '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* key */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "' must be set with +/- prefix, not <name>=<value> format."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.graalvm.launcher.Launcher.abort:(Ljava/lang/String;)Lorg/graalvm/launcher/Launcher$AbortException;
            athrow
        15: .line 1368
      StackMap locals: org.graalvm.launcher.Launcher$Native java.lang.String int java.lang.String top org.graalvm.options.OptionDescriptor
      StackMap stack:
            aload 5 /* descriptor */
            invokevirtual org.graalvm.options.OptionDescriptor.getKey:()Lorg/graalvm/options/OptionKey;
            invokevirtual org.graalvm.options.OptionKey.getType:()Lorg/graalvm/options/OptionType;
            aload 1 /* arg */
            iload 2 /* eqIdx */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual org.graalvm.options.OptionType.convert:(Ljava/lang/String;)Ljava/lang/Object;
            astore 4 /* value */
        start local 4 // java.lang.Object value
        16: .line 1369
            goto 20
        end local 4 // java.lang.Object value
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
        17: astore 6 /* iae */
        start local 6 // java.lang.IllegalArgumentException iae
        18: .line 1370
            aload 0 /* this */
            getfield org.graalvm.launcher.Launcher$Native.this$0:Lorg/graalvm/launcher/Launcher;
            new java.lang.StringBuilder
            dup
            ldc "Invalid argument: '--vm."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* arg */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "': "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* iae */
            invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.graalvm.launcher.Launcher.abort:(Ljava/lang/String;)Lorg/graalvm/launcher/Launcher$AbortException;
            athrow
        end local 6 // java.lang.IllegalArgumentException iae
        end local 5 // org.graalvm.options.OptionDescriptor descriptor
        end local 3 // java.lang.String key
        19: .line 1373
      StackMap locals: org.graalvm.launcher.Launcher$Native java.lang.String int
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.launcher.Launcher$Native.this$0:Lorg/graalvm/launcher/Launcher;
            new java.lang.StringBuilder
            dup
            ldc "Invalid argument: '--vm."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* arg */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "'. Prefix boolean options with + or -, suffix other options with <name>=<value>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.graalvm.launcher.Launcher.abort:(Ljava/lang/String;)Lorg/graalvm/launcher/Launcher$AbortException;
            athrow
        start local 3 // java.lang.String key
        start local 4 // java.lang.Object value
        20: .line 1375
      StackMap locals: java.lang.String java.lang.Object
      StackMap stack:
            aload 3 /* key */
            aload 4 /* value */
            invokestatic org.graalvm.nativeimage.RuntimeOptions.set:(Ljava/lang/String;Ljava/lang/Object;)V
        21: .line 1376
            return
        end local 4 // java.lang.Object value
        end local 3 // java.lang.String key
        end local 2 // int eqIdx
        end local 1 // java.lang.String arg
        end local 0 // org.graalvm.launcher.Launcher$Native this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   22     0        this  Lorg/graalvm/launcher/Launcher$Native;
            0   22     1         arg  Ljava/lang/String;
            1   22     2       eqIdx  I
            3   10     3         key  Ljava/lang/String;
           12   19     3         key  Ljava/lang/String;
           20   22     3         key  Ljava/lang/String;
            9   10     4       value  Ljava/lang/Object;
           16   17     4       value  Ljava/lang/Object;
           20   22     4       value  Ljava/lang/Object;
            6    9     5  descriptor  Lorg/graalvm/options/OptionDescriptor;
           13   19     5  descriptor  Lorg/graalvm/options/OptionDescriptor;
           18   19     6         iae  Ljava/lang/IllegalArgumentException;
      Exception table:
        from    to  target  type
          15    16      17  Class java.lang.IllegalArgumentException
    MethodParameters:
      Name  Flags
      arg   

  private org.graalvm.options.OptionDescriptor getVMOptionDescriptor(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/graalvm/options/OptionDescriptor;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // org.graalvm.launcher.Launcher$Native this
        start local 1 // java.lang.String key
         0: .line 1379
            aload 0 /* this */
            invokevirtual org.graalvm.launcher.Launcher$Native.getVMOptions:()Lorg/graalvm/options/OptionDescriptors;
            aload 1 /* key */
            invokeinterface org.graalvm.options.OptionDescriptors.get:(Ljava/lang/String;)Lorg/graalvm/options/OptionDescriptor;
            astore 2 /* descriptor */
        start local 2 // org.graalvm.options.OptionDescriptor descriptor
         1: .line 1380
            aload 2 /* descriptor */
            ifnonnull 7
         2: .line 1381
            aload 0 /* this */
            invokevirtual org.graalvm.launcher.Launcher$Native.getCompilerOptions:()Lorg/graalvm/options/OptionDescriptors;
            aload 1 /* key */
            invokeinterface org.graalvm.options.OptionDescriptors.get:(Ljava/lang/String;)Lorg/graalvm/options/OptionDescriptor;
            astore 2 /* descriptor */
         3: .line 1382
            aload 2 /* descriptor */
            ifnull 7
         4: .line 1383
            aload 0 /* this */
            getfield org.graalvm.launcher.Launcher$Native.this$0:Lorg/graalvm/launcher/Launcher;
            ldc "compiler options such as '%s' should be set with '--vm.Dgraal.%<s=<value>'.%nSupport for setting them with '--vm.XX:...' is deprecated and will be removed.%n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
         5: .line 1384
            aload 1 /* key */
            aastore
         6: .line 1383
            invokevirtual org.graalvm.launcher.Launcher.warn:(Ljava/lang/String;[Ljava/lang/Object;)V
         7: .line 1387
      StackMap locals: org.graalvm.options.OptionDescriptor
      StackMap stack:
            aload 2 /* descriptor */
            ifnonnull 9
         8: .line 1388
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.graalvm.launcher.Launcher$Native.unknownOption:(Ljava/lang/String;)Lorg/graalvm/launcher/Launcher$AbortException;
            athrow
         9: .line 1390
      StackMap locals:
      StackMap stack:
            aload 2 /* descriptor */
            areturn
        end local 2 // org.graalvm.options.OptionDescriptor descriptor
        end local 1 // java.lang.String key
        end local 0 // org.graalvm.launcher.Launcher$Native this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Lorg/graalvm/launcher/Launcher$Native;
            0   10     1         key  Ljava/lang/String;
            1   10     2  descriptor  Lorg/graalvm/options/OptionDescriptor;
    MethodParameters:
      Name  Flags
      key   

  private boolean isXOption(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.launcher.Launcher$Native this
        start local 1 // java.lang.String arg
         0: .line 1395
            aload 1 /* arg */
            ldc "Xmn"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 1
            aload 1 /* arg */
            ldc "Xms"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 1
            aload 1 /* arg */
            ldc "Xmx"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 1
            aload 1 /* arg */
            ldc "Xss"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 1 // java.lang.String arg
        end local 0 // org.graalvm.launcher.Launcher$Native this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/launcher/Launcher$Native;
            0    2     1   arg  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      arg   

  private void setXOption(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.graalvm.launcher.Launcher$Native this
        start local 1 // java.lang.String arg
         0: .line 1401
            aload 1 /* arg */
            aconst_null
            invokestatic org.graalvm.nativeimage.RuntimeOptions.set:(Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 1402
            goto 4
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
         2: pop
         3: .line 1403
            aload 0 /* this */
            getfield org.graalvm.launcher.Launcher$Native.this$0:Lorg/graalvm/launcher/Launcher;
            new java.lang.StringBuilder
            dup
            ldc "Invalid argument: '--vm.X"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* arg */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "' does not specify a valid number."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.graalvm.launcher.Launcher.abort:(Ljava/lang/String;)Lorg/graalvm/launcher/Launcher$AbortException;
            athrow
         4: .line 1405
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String arg
        end local 0 // org.graalvm.launcher.Launcher$Native this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/graalvm/launcher/Launcher$Native;
            0    5     1   arg  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.RuntimeException
    MethodParameters:
      Name  Flags
      arg   

  private boolean isBooleanOption(org.graalvm.options.OptionDescriptor);
    descriptor: (Lorg/graalvm/options/OptionDescriptor;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.launcher.Launcher$Native this
        start local 1 // org.graalvm.options.OptionDescriptor descriptor
         0: .line 1408
            aload 1 /* descriptor */
            invokevirtual org.graalvm.options.OptionDescriptor.getKey:()Lorg/graalvm/options/OptionKey;
            invokevirtual org.graalvm.options.OptionKey.getType:()Lorg/graalvm/options/OptionType;
            ldc Ljava/lang/Boolean;
            invokestatic org.graalvm.options.OptionType.defaultType:(Ljava/lang/Class;)Lorg/graalvm/options/OptionType;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // org.graalvm.options.OptionDescriptor descriptor
        end local 0 // org.graalvm.launcher.Launcher$Native this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/graalvm/launcher/Launcher$Native;
            0    1     1  descriptor  Lorg/graalvm/options/OptionDescriptor;
    MethodParameters:
            Name  Flags
      descriptor  

  private org.graalvm.launcher.Launcher$AbortException unknownOption(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/graalvm/launcher/Launcher$AbortException;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.graalvm.launcher.Launcher$Native this
        start local 1 // java.lang.String key
         0: .line 1412
            aload 0 /* this */
            getfield org.graalvm.launcher.Launcher$Native.this$0:Lorg/graalvm/launcher/Launcher;
            new java.lang.StringBuilder
            dup
            ldc "Unknown native option: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* key */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ". Use --help:vm to list available options."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.graalvm.launcher.Launcher.abort:(Ljava/lang/String;)Lorg/graalvm/launcher/Launcher$AbortException;
            athrow
        end local 1 // java.lang.String key
        end local 0 // org.graalvm.launcher.Launcher$Native this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/launcher/Launcher$Native;
            0    1     1   key  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      key   

  private void printNativeHelp();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // org.graalvm.launcher.Launcher$Native this
         0: .line 1416
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Native VM options:"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         1: .line 1417
            new java.util.TreeMap
            dup
            invokespecial java.util.TreeMap.<init>:()V
            astore 1 /* sortedOptions */
        start local 1 // java.util.SortedMap sortedOptions
         2: .line 1418
            aload 0 /* this */
            invokevirtual org.graalvm.launcher.Launcher$Native.getVMOptions:()Lorg/graalvm/options/OptionDescriptors;
            invokeinterface org.graalvm.options.OptionDescriptors.iterator:()Ljava/util/Iterator;
            astore 3
            goto 6
      StackMap locals: org.graalvm.launcher.Launcher$Native java.util.SortedMap top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.options.OptionDescriptor
            astore 2 /* descriptor */
        start local 2 // org.graalvm.options.OptionDescriptor descriptor
         4: .line 1419
            aload 2 /* descriptor */
            invokevirtual org.graalvm.options.OptionDescriptor.isDeprecated:()Z
            ifne 6
         5: .line 1420
            aload 1 /* sortedOptions */
            aload 2 /* descriptor */
            invokevirtual org.graalvm.options.OptionDescriptor.getName:()Ljava/lang/String;
            aload 2 /* descriptor */
            invokeinterface java.util.SortedMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 2 // org.graalvm.options.OptionDescriptor descriptor
         6: .line 1418
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         7: .line 1423
            aload 1 /* sortedOptions */
            invokeinterface java.util.SortedMap.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 25
      StackMap locals:
      StackMap stack:
         8: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 2 /* entry */
        start local 2 // java.util.Map$Entry entry
         9: .line 1424
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.graalvm.options.OptionDescriptor
            astore 4 /* descriptor */
        start local 4 // org.graalvm.options.OptionDescriptor descriptor
        10: .line 1425
            aload 4 /* descriptor */
            invokevirtual org.graalvm.options.OptionDescriptor.getHelp:()Ljava/lang/String;
            astore 5 /* helpMsg */
        start local 5 // java.lang.String helpMsg
        11: .line 1426
            aload 0 /* this */
            aload 4 /* descriptor */
            invokevirtual org.graalvm.launcher.Launcher$Native.isBooleanOption:(Lorg/graalvm/options/OptionDescriptor;)Z
            ifeq 21
        12: .line 1427
            aload 4 /* descriptor */
            invokevirtual org.graalvm.options.OptionDescriptor.getKey:()Lorg/graalvm/options/OptionKey;
            invokevirtual org.graalvm.options.OptionKey.getDefaultValue:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            astore 6 /* val */
        start local 6 // java.lang.Boolean val
        13: .line 1428
            aload 5 /* helpMsg */
            invokevirtual java.lang.String.length:()I
            ifeq 15
        14: .line 1429
            new java.lang.StringBuilder
            dup
            aload 5 /* helpMsg */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* helpMsg */
        15: .line 1431
      StackMap locals: org.graalvm.launcher.Launcher$Native java.util.SortedMap java.util.Map$Entry java.util.Iterator org.graalvm.options.OptionDescriptor java.lang.String java.lang.Boolean
      StackMap stack:
            aload 6 /* val */
            ifnull 16
            aload 6 /* val */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifne 18
        16: .line 1432
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 5 /* helpMsg */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "Default: - (disabled)."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* helpMsg */
        17: .line 1433
            goto 19
        18: .line 1434
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 5 /* helpMsg */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "Default: + (enabled)."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* helpMsg */
        19: .line 1436
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.launcher.Launcher$Native.this$0:Lorg/graalvm/launcher/Launcher;
            new java.lang.StringBuilder
            dup
            ldc "--vm.XX:\u00B1"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()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;
            aload 5 /* helpMsg */
            invokevirtual org.graalvm.launcher.Launcher.launcherOption:(Ljava/lang/String;Ljava/lang/String;)V
        end local 6 // java.lang.Boolean val
        20: .line 1437
            goto 25
        21: .line 1438
      StackMap locals:
      StackMap stack:
            aload 4 /* descriptor */
            invokevirtual org.graalvm.options.OptionDescriptor.getKey:()Lorg/graalvm/options/OptionKey;
            invokevirtual org.graalvm.options.OptionKey.getDefaultValue:()Ljava/lang/Object;
            astore 6 /* def */
        start local 6 // java.lang.Object def
        22: .line 1439
            aload 6 /* def */
            instanceof java.lang.String
            ifeq 24
        23: .line 1440
            new java.lang.StringBuilder
            dup
            ldc "\""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* def */
            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;
            astore 6 /* def */
        24: .line 1442
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.launcher.Launcher$Native.this$0:Lorg/graalvm/launcher/Launcher;
            new java.lang.StringBuilder
            dup
            ldc "--vm.XX:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.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;
            aload 6 /* def */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 5 /* helpMsg */
            invokevirtual org.graalvm.launcher.Launcher.launcherOption:(Ljava/lang/String;Ljava/lang/String;)V
        end local 6 // java.lang.Object def
        end local 5 // java.lang.String helpMsg
        end local 4 // org.graalvm.options.OptionDescriptor descriptor
        end local 2 // java.util.Map$Entry entry
        25: .line 1423
      StackMap locals: org.graalvm.launcher.Launcher$Native java.util.SortedMap top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        26: .line 1445
            aload 0 /* this */
            invokevirtual org.graalvm.launcher.Launcher$Native.printCompilerOptions:()V
        27: .line 1446
            aload 0 /* this */
            getfield org.graalvm.launcher.Launcher$Native.this$0:Lorg/graalvm/launcher/Launcher;
            invokevirtual org.graalvm.launcher.Launcher.printBasicNativeHelp:()V
        28: .line 1447
            return
        end local 1 // java.util.SortedMap sortedOptions
        end local 0 // org.graalvm.launcher.Launcher$Native this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   29     0           this  Lorg/graalvm/launcher/Launcher$Native;
            2   29     1  sortedOptions  Ljava/util/SortedMap<Ljava/lang/String;Lorg/graalvm/options/OptionDescriptor;>;
            4    6     2     descriptor  Lorg/graalvm/options/OptionDescriptor;
            9   25     2          entry  Ljava/util/Map$Entry<Ljava/lang/String;Lorg/graalvm/options/OptionDescriptor;>;
           10   25     4     descriptor  Lorg/graalvm/options/OptionDescriptor;
           11   25     5        helpMsg  Ljava/lang/String;
           13   20     6            val  Ljava/lang/Boolean;
           22   25     6            def  Ljava/lang/Object;

  private void printCompilerOptions();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // org.graalvm.launcher.Launcher$Native this
         0: .line 1450
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Compiler options:"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         1: .line 1451
            new java.util.TreeMap
            dup
            invokespecial java.util.TreeMap.<init>:()V
            astore 1 /* sortedOptions */
        start local 1 // java.util.SortedMap sortedOptions
         2: .line 1452
            aload 0 /* this */
            invokevirtual org.graalvm.launcher.Launcher$Native.getCompilerOptions:()Lorg/graalvm/options/OptionDescriptors;
            invokeinterface org.graalvm.options.OptionDescriptors.iterator:()Ljava/util/Iterator;
            astore 3
            goto 6
      StackMap locals: org.graalvm.launcher.Launcher$Native java.util.SortedMap top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.options.OptionDescriptor
            astore 2 /* descriptor */
        start local 2 // org.graalvm.options.OptionDescriptor descriptor
         4: .line 1453
            aload 2 /* descriptor */
            invokevirtual org.graalvm.options.OptionDescriptor.isDeprecated:()Z
            ifne 6
         5: .line 1454
            aload 1 /* sortedOptions */
            aload 2 /* descriptor */
            invokevirtual org.graalvm.options.OptionDescriptor.getName:()Ljava/lang/String;
            aload 2 /* descriptor */
            invokeinterface java.util.SortedMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 2 // org.graalvm.options.OptionDescriptor descriptor
         6: .line 1452
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         7: .line 1457
            aload 1 /* sortedOptions */
            invokeinterface java.util.SortedMap.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 15
      StackMap locals:
      StackMap stack:
         8: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 2 /* entry */
        start local 2 // java.util.Map$Entry entry
         9: .line 1458
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.graalvm.options.OptionDescriptor
            astore 4 /* descriptor */
        start local 4 // org.graalvm.options.OptionDescriptor descriptor
        10: .line 1459
            aload 4 /* descriptor */
            invokevirtual org.graalvm.options.OptionDescriptor.getHelp:()Ljava/lang/String;
            astore 5 /* helpMsg */
        start local 5 // java.lang.String helpMsg
        11: .line 1460
            aload 4 /* descriptor */
            invokevirtual org.graalvm.options.OptionDescriptor.getKey:()Lorg/graalvm/options/OptionKey;
            invokevirtual org.graalvm.options.OptionKey.getDefaultValue:()Ljava/lang/Object;
            astore 6 /* def */
        start local 6 // java.lang.Object def
        12: .line 1461
            aload 6 /* def */
            instanceof java.lang.String
            ifeq 14
        13: .line 1462
            new java.lang.StringBuilder
            dup
            bipush 34
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* def */
            checkcast java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 34
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 6 /* def */
        14: .line 1464
      StackMap locals: org.graalvm.launcher.Launcher$Native java.util.SortedMap java.util.Map$Entry java.util.Iterator org.graalvm.options.OptionDescriptor java.lang.String java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.launcher.Launcher$Native.this$0:Lorg/graalvm/launcher/Launcher;
            new java.lang.StringBuilder
            dup
            ldc "--vm.Dgraal."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.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;
            aload 6 /* def */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 5 /* helpMsg */
            invokevirtual org.graalvm.launcher.Launcher.launcherOption:(Ljava/lang/String;Ljava/lang/String;)V
        end local 6 // java.lang.Object def
        end local 5 // java.lang.String helpMsg
        end local 4 // org.graalvm.options.OptionDescriptor descriptor
        end local 2 // java.util.Map$Entry entry
        15: .line 1457
      StackMap locals: org.graalvm.launcher.Launcher$Native java.util.SortedMap top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        16: .line 1466
            return
        end local 1 // java.util.SortedMap sortedOptions
        end local 0 // org.graalvm.launcher.Launcher$Native this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   17     0           this  Lorg/graalvm/launcher/Launcher$Native;
            2   17     1  sortedOptions  Ljava/util/SortedMap<Ljava/lang/String;Lorg/graalvm/options/OptionDescriptor;>;
            4    6     2     descriptor  Lorg/graalvm/options/OptionDescriptor;
            9   15     2          entry  Ljava/util/Map$Entry<Ljava/lang/String;Lorg/graalvm/options/OptionDescriptor;>;
           10   15     4     descriptor  Lorg/graalvm/options/OptionDescriptor;
           11   15     5        helpMsg  Ljava/lang/String;
           12   15     6            def  Ljava/lang/Object;

  private void executePolyglot(java.util.List<java.lang.String>, );
    descriptor: (Ljava/util/List;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.graalvm.launcher.Launcher$Native this
        start local 1 // java.util.List args
        start local 2 // boolean forceNative
         0: .line 1469
            new java.util.ArrayList
            dup
            aload 1 /* args */
            invokeinterface java.util.List.size:()I
            iconst_3
            iadd
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 3 /* command */
        start local 3 // java.util.List command
         1: .line 1470
            aload 0 /* this */
            getfield org.graalvm.launcher.Launcher$Native.this$0:Lorg/graalvm/launcher/Launcher;
            ldc "polyglot"
            invokevirtual org.graalvm.launcher.Launcher.getGraalVMBinaryPath:(Ljava/lang/String;)Ljava/nio/file/Path;
            astore 4 /* executable */
        start local 4 // java.nio.file.Path executable
         2: .line 1471
            iload 2 /* forceNative */
            ifeq 4
         3: .line 1472
            aload 3 /* command */
            ldc "--native"
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         4: .line 1474
      StackMap locals: java.util.List java.nio.file.Path
      StackMap stack:
            aload 3 /* command */
            ldc "--use-launcher"
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         5: .line 1475
            aload 3 /* command */
            aload 0 /* this */
            getfield org.graalvm.launcher.Launcher$Native.this$0:Lorg/graalvm/launcher/Launcher;
            invokevirtual org.graalvm.launcher.Launcher.getMainClass:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         6: .line 1476
            aload 3 /* command */
            aload 1 /* args */
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         7: .line 1477
            aload 0 /* this */
            aload 4 /* executable */
            aload 3 /* command */
            invokevirtual org.graalvm.launcher.Launcher$Native.exec:(Ljava/nio/file/Path;Ljava/util/List;)V
         8: .line 1478
            return
        end local 4 // java.nio.file.Path executable
        end local 3 // java.util.List command
        end local 2 // boolean forceNative
        end local 1 // java.util.List args
        end local 0 // org.graalvm.launcher.Launcher$Native this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Lorg/graalvm/launcher/Launcher$Native;
            0    9     1         args  Ljava/util/List<Ljava/lang/String;>;
            0    9     2  forceNative  Z
            1    9     3      command  Ljava/util/List<Ljava/lang/String;>;
            2    9     4   executable  Ljava/nio/file/Path;
    Signature: (Ljava/util/List<Ljava/lang/String;>;Z)V
    MethodParameters:
             Name  Flags
      args         
      forceNative  

  private void execJVM(java.lang.String, java.util.List<java.lang.String>, java.util.List<java.lang.String>);
    descriptor: (Ljava/lang/String;Ljava/util/List;Ljava/util/List;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.graalvm.launcher.Launcher$Native this
        start local 1 // java.lang.String classpath
        start local 2 // java.util.List jvmArgs
        start local 3 // java.util.List args
         0: .line 1482
            new java.util.ArrayList
            dup
            aload 2 /* jvmArgs */
            invokeinterface java.util.List.size:()I
            aload 3 /* args */
            invokeinterface java.util.List.size:()I
            iadd
            iconst_4
            iadd
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 4 /* command */
        start local 4 // java.util.List command
         1: .line 1483
            aload 0 /* this */
            getfield org.graalvm.launcher.Launcher$Native.this$0:Lorg/graalvm/launcher/Launcher;
            ldc "java"
            invokevirtual org.graalvm.launcher.Launcher.getGraalVMBinaryPath:(Ljava/lang/String;)Ljava/nio/file/Path;
            astore 5 /* executable */
        start local 5 // java.nio.file.Path executable
         2: .line 1484
            aload 1 /* classpath */
            ifnull 5
         3: .line 1485
            aload 4 /* command */
            ldc "-classpath"
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         4: .line 1486
            aload 4 /* command */
            aload 1 /* classpath */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         5: .line 1488
      StackMap locals: java.util.List java.nio.file.Path
      StackMap stack:
            aload 4 /* command */
            aload 2 /* jvmArgs */
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         6: .line 1489
            aload 4 /* command */
            aload 0 /* this */
            getfield org.graalvm.launcher.Launcher$Native.this$0:Lorg/graalvm/launcher/Launcher;
            invokevirtual org.graalvm.launcher.Launcher.getMainClass:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         7: .line 1490
            aload 4 /* command */
            aload 3 /* args */
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         8: .line 1491
            aload 0 /* this */
            aload 5 /* executable */
            aload 4 /* command */
            invokevirtual org.graalvm.launcher.Launcher$Native.exec:(Ljava/nio/file/Path;Ljava/util/List;)V
         9: .line 1492
            return
        end local 5 // java.nio.file.Path executable
        end local 4 // java.util.List command
        end local 3 // java.util.List args
        end local 2 // java.util.List jvmArgs
        end local 1 // java.lang.String classpath
        end local 0 // org.graalvm.launcher.Launcher$Native this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Lorg/graalvm/launcher/Launcher$Native;
            0   10     1   classpath  Ljava/lang/String;
            0   10     2     jvmArgs  Ljava/util/List<Ljava/lang/String;>;
            0   10     3        args  Ljava/util/List<Ljava/lang/String;>;
            1   10     4     command  Ljava/util/List<Ljava/lang/String;>;
            2   10     5  executable  Ljava/nio/file/Path;
    Signature: (Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;Ljava/util/List<Ljava/lang/String;>;)V
    MethodParameters:
           Name  Flags
      classpath  
      jvmArgs    
      args       

  private java.lang.String getClasspath(java.util.List<java.lang.String>);
    descriptor: (Ljava/util/List;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=9, args_size=2
        start local 0 // org.graalvm.launcher.Launcher$Native this
        start local 1 // java.util.List jvmArgs
         0: .line 1495
            getstatic org.graalvm.launcher.Launcher$Native.$assertionsDisabled:Z
            ifne 1
            invokestatic org.graalvm.launcher.Launcher.isAOT:()Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1496
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.launcher.Launcher$Native.$assertionsDisabled:Z
            ifne 2
            getstatic org.graalvm.launcher.Launcher.CLASSPATH:Ljava/lang/String;
            ifnonnull 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 1497
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* sb */
        start local 2 // java.lang.StringBuilder sb
         3: .line 1498
            getstatic org.graalvm.launcher.Launcher.CLASSPATH:Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 16
         4: .line 1499
            aload 0 /* this */
            getfield org.graalvm.launcher.Launcher$Native.this$0:Lorg/graalvm/launcher/Launcher;
            invokevirtual org.graalvm.launcher.Launcher.getGraalVMHome:()Ljava/nio/file/Path;
            astore 3 /* graalVMHome */
        start local 3 // java.nio.file.Path graalVMHome
         5: .line 1500
            aload 3 /* graalVMHome */
            ifnonnull 7
         6: .line 1501
            aload 0 /* this */
            getfield org.graalvm.launcher.Launcher$Native.this$0:Lorg/graalvm/launcher/Launcher;
            ldc "Can not resolve classpath: could not get GraalVM home"
            invokevirtual org.graalvm.launcher.Launcher.abort:(Ljava/lang/String;)Lorg/graalvm/launcher/Launcher$AbortException;
            athrow
         7: .line 1503
      StackMap locals: java.lang.StringBuilder java.nio.file.Path
      StackMap stack:
            getstatic org.graalvm.launcher.Launcher.CLASSPATH:Ljava/lang/String;
            getstatic java.io.File.pathSeparator:Ljava/lang/String;
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 15
      StackMap locals: org.graalvm.launcher.Launcher$Native java.util.List java.lang.StringBuilder java.nio.file.Path top int int java.lang.String[]
      StackMap stack:
         8: aload 7
            iload 5
            aaload
            astore 4 /* entry */
        start local 4 // java.lang.String entry
         9: .line 1504
            aload 3 /* graalVMHome */
            aload 4 /* entry */
            invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
            astore 8 /* resolved */
        start local 8 // java.nio.file.Path resolved
        10: .line 1505
            aload 0 /* this */
            getfield org.graalvm.launcher.Launcher$Native.this$0:Lorg/graalvm/launcher/Launcher;
            invokevirtual org.graalvm.launcher.Launcher.isVerbose:()Z
            ifeq 12
            aload 8 /* resolved */
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.exists:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
            ifne 12
        11: .line 1506
            aload 0 /* this */
            getfield org.graalvm.launcher.Launcher$Native.this$0:Lorg/graalvm/launcher/Launcher;
            ldc "%s does not exist"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 8 /* resolved */
            aastore
            invokevirtual org.graalvm.launcher.Launcher.warn:(Ljava/lang/String;[Ljava/lang/Object;)V
        12: .line 1508
      StackMap locals: org.graalvm.launcher.Launcher$Native java.util.List java.lang.StringBuilder java.nio.file.Path java.lang.String int int java.lang.String[] java.nio.file.Path
      StackMap stack:
            aload 2 /* sb */
            aload 8 /* resolved */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
        13: .line 1509
            aload 2 /* sb */
            getstatic java.io.File.pathSeparatorChar:C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 8 // java.nio.file.Path resolved
        end local 4 // java.lang.String entry
        14: .line 1503
            iinc 5 1
      StackMap locals: org.graalvm.launcher.Launcher$Native java.util.List java.lang.StringBuilder java.nio.file.Path top int int java.lang.String[]
      StackMap stack:
        15: iload 5
            iload 6
            if_icmplt 8
        end local 3 // java.nio.file.Path graalVMHome
        16: .line 1512
      StackMap locals: org.graalvm.launcher.Launcher$Native java.util.List java.lang.StringBuilder
      StackMap stack:
            aconst_null
            astore 3 /* classpathFromArgs */
        start local 3 // java.lang.String classpathFromArgs
        17: .line 1513
            aload 1 /* jvmArgs */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4 /* iterator */
        start local 4 // java.util.Iterator iterator
        18: .line 1514
            goto 28
        19: .line 1515
      StackMap locals: java.lang.String java.util.Iterator
      StackMap stack:
            aload 4 /* iterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* jvmArg */
        start local 5 // java.lang.String jvmArg
        20: .line 1516
            aload 5 /* jvmArg */
            ldc "-cp"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 21
            aload 5 /* jvmArg */
            ldc "-classpath"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 25
        21: .line 1517
      StackMap locals: java.lang.String
      StackMap stack:
            aload 4 /* iterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 25
        22: .line 1518
            aload 4 /* iterator */
            invokeinterface java.util.Iterator.remove:()V
        23: .line 1519
            aload 4 /* iterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* classpathFromArgs */
        24: .line 1520
            aload 4 /* iterator */
            invokeinterface java.util.Iterator.remove:()V
        25: .line 1524
      StackMap locals:
      StackMap stack:
            aload 5 /* jvmArg */
            ldc "-Djava.class.path="
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 28
        26: .line 1525
            aload 4 /* iterator */
            invokeinterface java.util.Iterator.remove:()V
        27: .line 1526
            aload 5 /* jvmArg */
            ldc "-Djava.class.path="
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 3 /* classpathFromArgs */
        end local 5 // java.lang.String jvmArg
        28: .line 1514
      StackMap locals:
      StackMap stack:
            aload 4 /* iterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 19
        29: .line 1529
            aload 3 /* classpathFromArgs */
            ifnull 32
        30: .line 1530
            aload 2 /* sb */
            aload 3 /* classpathFromArgs */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        31: .line 1531
            aload 2 /* sb */
            getstatic java.io.File.pathSeparatorChar:C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        32: .line 1533
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.length:()I
            ifne 34
        33: .line 1534
            aconst_null
            areturn
        34: .line 1536
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            iconst_0
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.length:()I
            iconst_1
            isub
            invokevirtual java.lang.StringBuilder.substring:(II)Ljava/lang/String;
            areturn
        end local 4 // java.util.Iterator iterator
        end local 3 // java.lang.String classpathFromArgs
        end local 2 // java.lang.StringBuilder sb
        end local 1 // java.util.List jvmArgs
        end local 0 // org.graalvm.launcher.Launcher$Native this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   35     0               this  Lorg/graalvm/launcher/Launcher$Native;
            0   35     1            jvmArgs  Ljava/util/List<Ljava/lang/String;>;
            3   35     2                 sb  Ljava/lang/StringBuilder;
            5   16     3        graalVMHome  Ljava/nio/file/Path;
            9   14     4              entry  Ljava/lang/String;
           10   14     8           resolved  Ljava/nio/file/Path;
           17   35     3  classpathFromArgs  Ljava/lang/String;
           18   35     4           iterator  Ljava/util/Iterator<Ljava/lang/String;>;
           20   28     5             jvmArg  Ljava/lang/String;
    Signature: (Ljava/util/List<Ljava/lang/String;>;)Ljava/lang/String;
    MethodParameters:
         Name  Flags
      jvmArgs  

  private void exec(java.nio.file.Path, java.util.List<java.lang.String>);
    descriptor: (Ljava/nio/file/Path;Ljava/util/List;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=8, args_size=3
        start local 0 // org.graalvm.launcher.Launcher$Native this
        start local 1 // java.nio.file.Path executable
        start local 2 // java.util.List command
         0: .line 1540
            getstatic org.graalvm.launcher.Launcher$Native.$assertionsDisabled:Z
            ifne 1
            invokestatic org.graalvm.launcher.Launcher.isAOT:()Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1541
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.launcher.Launcher$Native.this$0:Lorg/graalvm/launcher/Launcher;
            invokevirtual org.graalvm.launcher.Launcher.isVerbose:()Z
            ifeq 4
         2: .line 1542
            aload 0 /* this */
            aload 1 /* executable */
            aload 2 /* command */
            invokevirtual org.graalvm.launcher.Launcher$Native.formatExec:(Ljava/nio/file/Path;Ljava/util/List;)Ljava/lang/StringBuilder;
            astore 3 /* sb */
        start local 3 // java.lang.StringBuilder sb
         3: .line 1543
            aload 0 /* this */
            getfield org.graalvm.launcher.Launcher$Native.this$0:Lorg/graalvm/launcher/Launcher;
            getfield org.graalvm.launcher.Launcher.err:Ljava/io/PrintStream;
            aload 3 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        end local 3 // java.lang.StringBuilder sb
         4: .line 1545
      StackMap locals:
      StackMap stack:
            aload 2 /* command */
            invokeinterface java.util.List.size:()I
            iconst_1
            iadd
            anewarray java.lang.String
            astore 3 /* argv */
        start local 3 // java.lang.String[] argv
         5: .line 1546
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         6: .line 1547
            aload 1 /* executable */
            invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
            astore 5 /* filename */
        start local 5 // java.nio.file.Path filename
         7: .line 1548
            aload 5 /* filename */
            ifnonnull 9
         8: .line 1549
            aload 0 /* this */
            getfield org.graalvm.launcher.Launcher$Native.this$0:Lorg/graalvm/launcher/Launcher;
            ldc "Cannot determine execute filename from path %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 5 /* filename */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual org.graalvm.launcher.Launcher.abort:(Ljava/lang/String;)Lorg/graalvm/launcher/Launcher$AbortException;
            athrow
         9: .line 1551
      StackMap locals: java.lang.String[] int java.nio.file.Path
      StackMap stack:
            aload 3 /* argv */
            iload 4 /* i */
            iinc 4 /* i */ 1
            aload 5 /* filename */
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            aastore
        10: .line 1552
            aload 2 /* command */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 13
      StackMap locals: org.graalvm.launcher.Launcher$Native java.nio.file.Path java.util.List java.lang.String[] int java.nio.file.Path top java.util.Iterator
      StackMap stack:
        11: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* arg */
        start local 6 // java.lang.String arg
        12: .line 1553
            aload 3 /* argv */
            iload 4 /* i */
            iinc 4 /* i */ 1
            aload 6 /* arg */
            aastore
        end local 6 // java.lang.String arg
        13: .line 1552
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        14: .line 1555
            aload 1 /* executable */
            aload 3 /* argv */
            invokestatic org.graalvm.nativeimage.ProcessProperties.exec:(Ljava/nio/file/Path;[Ljava/lang/String;)V
        15: .line 1556
            return
        end local 5 // java.nio.file.Path filename
        end local 4 // int i
        end local 3 // java.lang.String[] argv
        end local 2 // java.util.List command
        end local 1 // java.nio.file.Path executable
        end local 0 // org.graalvm.launcher.Launcher$Native this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0        this  Lorg/graalvm/launcher/Launcher$Native;
            0   16     1  executable  Ljava/nio/file/Path;
            0   16     2     command  Ljava/util/List<Ljava/lang/String;>;
            3    4     3          sb  Ljava/lang/StringBuilder;
            5   16     3        argv  [Ljava/lang/String;
            6   16     4           i  I
            7   16     5    filename  Ljava/nio/file/Path;
           12   13     6         arg  Ljava/lang/String;
    Signature: (Ljava/nio/file/Path;Ljava/util/List<Ljava/lang/String;>;)V
    MethodParameters:
            Name  Flags
      executable  
      command     

  private java.lang.StringBuilder formatExec(java.nio.file.Path, java.util.List<java.lang.String>);
    descriptor: (Ljava/nio/file/Path;Ljava/util/List;)Ljava/lang/StringBuilder;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // org.graalvm.launcher.Launcher$Native this
        start local 1 // java.nio.file.Path executable
        start local 2 // java.util.List command
         0: .line 1559
            new java.lang.StringBuilder
            dup
            ldc "exec: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 3 /* sb */
        start local 3 // java.lang.StringBuilder sb
         1: .line 1560
            aload 3 /* sb */
            aload 1 /* executable */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
         2: .line 1561
            aload 2 /* command */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 6
      StackMap locals: org.graalvm.launcher.Launcher$Native java.nio.file.Path java.util.List java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* arg */
        start local 4 // java.lang.String arg
         4: .line 1562
            aload 3 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         5: .line 1563
            aload 3 /* sb */
            aload 4 /* arg */
            invokestatic org.graalvm.launcher.Launcher$ShellQuotes.quote:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 4 // java.lang.String arg
         6: .line 1561
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         7: .line 1565
            aload 3 /* sb */
            invokestatic java.lang.System.lineSeparator:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 1566
            aload 3 /* sb */
            areturn
        end local 3 // java.lang.StringBuilder sb
        end local 2 // java.util.List command
        end local 1 // java.nio.file.Path executable
        end local 0 // org.graalvm.launcher.Launcher$Native this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lorg/graalvm/launcher/Launcher$Native;
            0    9     1  executable  Ljava/nio/file/Path;
            0    9     2     command  Ljava/util/List<Ljava/lang/String;>;
            1    9     3          sb  Ljava/lang/StringBuilder;
            4    6     4         arg  Ljava/lang/String;
    Signature: (Ljava/nio/file/Path;Ljava/util/List<Ljava/lang/String;>;)Ljava/lang/StringBuilder;
    MethodParameters:
            Name  Flags
      executable  
      command     
}
SourceFile: "Launcher.java"
NestHost: org.graalvm.launcher.Launcher
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map
  protected final AbortException = org.graalvm.launcher.Launcher$AbortException of org.graalvm.launcher.Launcher
  Native = org.graalvm.launcher.Launcher$Native of org.graalvm.launcher.Launcher
  private final ShellQuotes = org.graalvm.launcher.Launcher$ShellQuotes of org.graalvm.launcher.Launcher
  public final OptionClass = org.graalvm.nativeimage.RuntimeOptions$OptionClass of org.graalvm.nativeimage.RuntimeOptions