public final class jdk.nashorn.internal.runtime.options.Options
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: jdk.nashorn.internal.runtime.options.Options
  super_class: java.lang.Object
{
  private static final java.security.AccessControlContext READ_PROPERTY_ACC_CTXT;
    descriptor: Ljava/security/AccessControlContext;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

  private final java.io.PrintWriter err;
    descriptor: Ljava/io/PrintWriter;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  private final java.util.TreeMap<java.lang.String, jdk.nashorn.internal.runtime.options.Option<?>> options;
    descriptor: Ljava/util/TreeMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/TreeMap<Ljava/lang/String;Ljdk/nashorn/internal/runtime/options/Option<*>;>;

  private static final java.lang.String NASHORN_ARGS_PREPEND_PROPERTY;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "nashorn.args.prepend"

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

  private static final java.lang.String MESSAGES_RESOURCE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "jdk.nashorn.internal.runtime.resources.Options"

  private static java.util.ResourceBundle bundle;
    descriptor: Ljava/util/ResourceBundle;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.util.HashMap<java.lang.Object, java.lang.Object> usage;
    descriptor: Ljava/util/HashMap;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/HashMap<Ljava/lang/Object;Ljava/lang/Object;>;

  private static java.util.Collection<jdk.nashorn.internal.runtime.options.OptionTemplate> validOptions;
    descriptor: Ljava/util/Collection;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/Collection<Ljdk/nashorn/internal/runtime/options/OptionTemplate;>;

  private static jdk.nashorn.internal.runtime.options.OptionTemplate helpOptionTemplate;
    descriptor: Ljdk/nashorn/internal/runtime/options/OptionTemplate;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static jdk.nashorn.internal.runtime.options.OptionTemplate definePropTemplate;
    descriptor: Ljdk/nashorn/internal/runtime/options/OptionTemplate;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.lang.String definePropPrefix;
    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=7, locals=11, args_size=0
         0: .line 57
            ldc Ljdk/nashorn/internal/runtime/options/Options;
            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 jdk.nashorn.internal.runtime.options.Options.$assertionsDisabled:Z
         3: .line 65
            invokestatic jdk.nashorn.internal.runtime.options.Options.createPropertyReadAccCtxt:()Ljava/security/AccessControlContext;
            putstatic jdk.nashorn.internal.runtime.options.Options.READ_PROPERTY_ACC_CTXT:Ljava/security/AccessControlContext;
         4: .line 631
            ldc "jdk.nashorn.internal.runtime.resources.Options"
            invokestatic java.util.Locale.getDefault:()Ljava/util/Locale;
            invokestatic java.util.ResourceBundle.getBundle:(Ljava/lang/String;Ljava/util/Locale;)Ljava/util/ResourceBundle;
            putstatic jdk.nashorn.internal.runtime.options.Options.bundle:Ljava/util/ResourceBundle;
         5: .line 632
            new java.util.TreeSet
            dup
            invokespecial java.util.TreeSet.<init>:()V
            putstatic jdk.nashorn.internal.runtime.options.Options.validOptions:Ljava/util/Collection;
         6: .line 633
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putstatic jdk.nashorn.internal.runtime.options.Options.usage:Ljava/util/HashMap;
         7: .line 635
            getstatic jdk.nashorn.internal.runtime.options.Options.bundle:Ljava/util/ResourceBundle;
            invokevirtual java.util.ResourceBundle.getKeys:()Ljava/util/Enumeration;
            astore 0 /* keys */
        start local 0 // java.util.Enumeration keys
         8: goto 38
         9: .line 636
      StackMap locals: java.util.Enumeration
      StackMap stack:
            aload 0 /* keys */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* key */
        start local 1 // java.lang.String key
        10: .line 637
            new java.util.StringTokenizer
            dup
            aload 1 /* key */
            ldc "."
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 2 /* st */
        start local 2 // java.util.StringTokenizer st
        11: .line 638
            aconst_null
            astore 3 /* resource */
        start local 3 // java.lang.String resource
        12: .line 639
            aconst_null
            astore 4 /* type */
        start local 4 // java.lang.String type
        13: .line 641
            aload 2 /* st */
            invokevirtual java.util.StringTokenizer.countTokens:()I
            ifle 15
        14: .line 642
            aload 2 /* st */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            astore 3 /* resource */
        15: .line 645
      StackMap locals: java.util.Enumeration java.lang.String java.util.StringTokenizer java.lang.String java.lang.String
      StackMap stack:
            aload 2 /* st */
            invokevirtual java.util.StringTokenizer.countTokens:()I
            ifle 17
        16: .line 646
            aload 2 /* st */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            astore 4 /* type */
        17: .line 649
      StackMap locals:
      StackMap stack:
            ldc "option"
            aload 4 /* type */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 36
        18: .line 650
            aconst_null
            astore 5 /* helpKey */
        start local 5 // java.lang.String helpKey
        19: .line 651
            aconst_null
            astore 6 /* xhelpKey */
        start local 6 // java.lang.String xhelpKey
        20: .line 652
            aconst_null
            astore 7 /* definePropKey */
        start local 7 // java.lang.String definePropKey
        21: .line 654
            getstatic jdk.nashorn.internal.runtime.options.Options.bundle:Ljava/util/ResourceBundle;
            new java.lang.StringBuilder
            dup
            aload 3 /* resource */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".options.help.key"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* helpKey */
        22: .line 655
            getstatic jdk.nashorn.internal.runtime.options.Options.bundle:Ljava/util/ResourceBundle;
            new java.lang.StringBuilder
            dup
            aload 3 /* resource */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".options.xhelp.key"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* xhelpKey */
        23: .line 656
            getstatic jdk.nashorn.internal.runtime.options.Options.bundle:Ljava/util/ResourceBundle;
            new java.lang.StringBuilder
            dup
            aload 3 /* resource */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".options.D.key"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            astore 7 /* definePropKey */
        24: .line 657
            goto 26
      StackMap locals: java.util.Enumeration java.lang.String java.util.StringTokenizer java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String
      StackMap stack: java.util.MissingResourceException
        25: pop
        26: .line 660
      StackMap locals:
      StackMap stack:
            aload 1 /* key */
            aload 5 /* helpKey */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            istore 8 /* isHelp */
        start local 8 // boolean isHelp
        27: .line 661
            aload 1 /* key */
            aload 6 /* xhelpKey */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            istore 9 /* isXHelp */
        start local 9 // boolean isXHelp
        28: .line 662
            new jdk.nashorn.internal.runtime.options.OptionTemplate
            dup
            aload 3 /* resource */
            aload 1 /* key */
            getstatic jdk.nashorn.internal.runtime.options.Options.bundle:Ljava/util/ResourceBundle;
            aload 1 /* key */
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iload 8 /* isHelp */
            iload 9 /* isXHelp */
            invokespecial jdk.nashorn.internal.runtime.options.OptionTemplate.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZ)V
            astore 10 /* t */
        start local 10 // jdk.nashorn.internal.runtime.options.OptionTemplate t
        29: .line 664
            getstatic jdk.nashorn.internal.runtime.options.Options.validOptions:Ljava/util/Collection;
            aload 10 /* t */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        30: .line 665
            iload 8 /* isHelp */
            ifeq 32
        31: .line 666
            aload 10 /* t */
            putstatic jdk.nashorn.internal.runtime.options.Options.helpOptionTemplate:Ljdk/nashorn/internal/runtime/options/OptionTemplate;
        32: .line 669
      StackMap locals: int int jdk.nashorn.internal.runtime.options.OptionTemplate
      StackMap stack:
            aload 1 /* key */
            aload 7 /* definePropKey */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 38
        33: .line 670
            aload 10 /* t */
            invokevirtual jdk.nashorn.internal.runtime.options.OptionTemplate.getName:()Ljava/lang/String;
            putstatic jdk.nashorn.internal.runtime.options.Options.definePropPrefix:Ljava/lang/String;
        34: .line 671
            aload 10 /* t */
            putstatic jdk.nashorn.internal.runtime.options.Options.definePropTemplate:Ljdk/nashorn/internal/runtime/options/OptionTemplate;
        end local 10 // jdk.nashorn.internal.runtime.options.OptionTemplate t
        end local 9 // boolean isXHelp
        end local 8 // boolean isHelp
        end local 7 // java.lang.String definePropKey
        end local 6 // java.lang.String xhelpKey
        end local 5 // java.lang.String helpKey
        35: .line 673
            goto 38
      StackMap locals: java.util.Enumeration java.lang.String java.util.StringTokenizer java.lang.String java.lang.String
      StackMap stack:
        36: aload 3 /* resource */
            ifnull 38
            ldc "options"
            aload 4 /* type */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 38
        37: .line 674
            getstatic jdk.nashorn.internal.runtime.options.Options.usage:Ljava/util/HashMap;
            aload 3 /* resource */
            getstatic jdk.nashorn.internal.runtime.options.Options.bundle:Ljava/util/ResourceBundle;
            aload 1 /* key */
            invokevirtual java.util.ResourceBundle.getObject:(Ljava/lang/String;)Ljava/lang/Object;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // java.lang.String type
        end local 3 // java.lang.String resource
        end local 2 // java.util.StringTokenizer st
        end local 1 // java.lang.String key
        38: .line 635
      StackMap locals: java.util.Enumeration
      StackMap stack:
            aload 0 /* keys */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 9
        end local 0 // java.util.Enumeration keys
        39: .line 677
            return
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            8   39     0           keys  Ljava/util/Enumeration<Ljava/lang/String;>;
           10   38     1            key  Ljava/lang/String;
           11   38     2             st  Ljava/util/StringTokenizer;
           12   38     3       resource  Ljava/lang/String;
           13   38     4           type  Ljava/lang/String;
           19   35     5        helpKey  Ljava/lang/String;
           20   35     6       xhelpKey  Ljava/lang/String;
           21   35     7  definePropKey  Ljava/lang/String;
           27   35     8         isHelp  Z
           28   35     9        isXHelp  Z
           29   35    10              t  Ljdk/nashorn/internal/runtime/options/OptionTemplate;
      Exception table:
        from    to  target  type
          21    24      25  Class java.util.MissingResourceException

  private static java.security.AccessControlContext createPropertyReadAccCtxt();
    descriptor: ()Ljava/security/AccessControlContext;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=9, locals=1, args_size=0
         0: .line 60
            new java.security.Permissions
            dup
            invokespecial java.security.Permissions.<init>:()V
            astore 0 /* perms */
        start local 0 // java.security.Permissions perms
         1: .line 61
            aload 0 /* perms */
            new java.util.PropertyPermission
            dup
            ldc "nashorn.*"
            ldc "read"
            invokespecial java.util.PropertyPermission.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            invokevirtual java.security.Permissions.add:(Ljava/security/Permission;)V
         2: .line 62
            new java.security.AccessControlContext
            dup
            iconst_1
            anewarray java.security.ProtectionDomain
            dup
            iconst_0
            new java.security.ProtectionDomain
            dup
            aconst_null
            aload 0 /* perms */
            invokespecial java.security.ProtectionDomain.<init>:(Ljava/security/CodeSource;Ljava/security/PermissionCollection;)V
            aastore
            invokespecial java.security.AccessControlContext.<init>:([Ljava/security/ProtectionDomain;)V
            areturn
        end local 0 // java.security.Permissions perms
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            1    3     0  perms  Ljava/security/Permissions;

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.options.Options this
        start local 1 // java.lang.String resource
         0: .line 96
            aload 0 /* this */
            aload 1 /* resource */
            new java.io.PrintWriter
            dup
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            iconst_1
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;Z)V
            invokespecial jdk.nashorn.internal.runtime.options.Options.<init>:(Ljava/lang/String;Ljava/io/PrintWriter;)V
         1: .line 97
            return
        end local 1 // java.lang.String resource
        end local 0 // jdk.nashorn.internal.runtime.options.Options this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Ljdk/nashorn/internal/runtime/options/Options;
            0    2     1  resource  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      resource  final

  public void <init>(java.lang.String, java.io.PrintWriter);
    descriptor: (Ljava/lang/String;Ljava/io/PrintWriter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.options.Options this
        start local 1 // java.lang.String resource
        start local 2 // java.io.PrintWriter err
         0: .line 105
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 106
            aload 0 /* this */
            aload 1 /* resource */
            putfield jdk.nashorn.internal.runtime.options.Options.resource:Ljava/lang/String;
         2: .line 107
            aload 0 /* this */
            aload 2 /* err */
            putfield jdk.nashorn.internal.runtime.options.Options.err:Ljava/io/PrintWriter;
         3: .line 108
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield jdk.nashorn.internal.runtime.options.Options.files:Ljava/util/List;
         4: .line 109
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield jdk.nashorn.internal.runtime.options.Options.arguments:Ljava/util/List;
         5: .line 110
            aload 0 /* this */
            new java.util.TreeMap
            dup
            invokespecial java.util.TreeMap.<init>:()V
            putfield jdk.nashorn.internal.runtime.options.Options.options:Ljava/util/TreeMap;
         6: .line 113
            getstatic jdk.nashorn.internal.runtime.options.Options.validOptions:Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 15
      StackMap locals: jdk.nashorn.internal.runtime.options.Options java.lang.String java.io.PrintWriter top java.util.Iterator
      StackMap stack:
         7: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.runtime.options.OptionTemplate
            astore 3 /* t */
        start local 3 // jdk.nashorn.internal.runtime.options.OptionTemplate t
         8: .line 114
            aload 3 /* t */
            invokevirtual jdk.nashorn.internal.runtime.options.OptionTemplate.getDefaultValue:()Ljava/lang/String;
            ifnull 15
         9: .line 116
            aload 3 /* t */
            invokevirtual jdk.nashorn.internal.runtime.options.OptionTemplate.getKey:()Ljava/lang/String;
            aconst_null
            invokestatic jdk.nashorn.internal.runtime.options.Options.getStringProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* v */
        start local 5 // java.lang.String v
        10: .line 117
            aload 5 /* v */
            ifnull 13
        11: .line 118
            aload 0 /* this */
            aload 3 /* t */
            invokevirtual jdk.nashorn.internal.runtime.options.OptionTemplate.getKey:()Ljava/lang/String;
            aload 3 /* t */
            aload 5 /* v */
            invokestatic jdk.nashorn.internal.runtime.options.Options.createOption:(Ljdk/nashorn/internal/runtime/options/OptionTemplate;Ljava/lang/String;)Ljdk/nashorn/internal/runtime/options/Option;
            invokevirtual jdk.nashorn.internal.runtime.options.Options.set:(Ljava/lang/String;Ljdk/nashorn/internal/runtime/options/Option;)V
        12: .line 119
            goto 15
      StackMap locals: jdk.nashorn.internal.runtime.options.Options java.lang.String java.io.PrintWriter jdk.nashorn.internal.runtime.options.OptionTemplate java.util.Iterator java.lang.String
      StackMap stack:
        13: aload 3 /* t */
            invokevirtual jdk.nashorn.internal.runtime.options.OptionTemplate.getDefaultValue:()Ljava/lang/String;
            ifnull 15
        14: .line 120
            aload 0 /* this */
            aload 3 /* t */
            invokevirtual jdk.nashorn.internal.runtime.options.OptionTemplate.getKey:()Ljava/lang/String;
            aload 3 /* t */
            aload 3 /* t */
            invokevirtual jdk.nashorn.internal.runtime.options.OptionTemplate.getDefaultValue:()Ljava/lang/String;
            invokestatic jdk.nashorn.internal.runtime.options.Options.createOption:(Ljdk/nashorn/internal/runtime/options/OptionTemplate;Ljava/lang/String;)Ljdk/nashorn/internal/runtime/options/Option;
            invokevirtual jdk.nashorn.internal.runtime.options.Options.set:(Ljava/lang/String;Ljdk/nashorn/internal/runtime/options/Option;)V
        end local 5 // java.lang.String v
        end local 3 // jdk.nashorn.internal.runtime.options.OptionTemplate t
        15: .line 113
      StackMap locals: jdk.nashorn.internal.runtime.options.Options java.lang.String java.io.PrintWriter top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        16: .line 124
            return
        end local 2 // java.io.PrintWriter err
        end local 1 // java.lang.String resource
        end local 0 // jdk.nashorn.internal.runtime.options.Options this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   17     0      this  Ljdk/nashorn/internal/runtime/options/Options;
            0   17     1  resource  Ljava/lang/String;
            0   17     2       err  Ljava/io/PrintWriter;
            8   15     3         t  Ljdk/nashorn/internal/runtime/options/OptionTemplate;
           10   15     5         v  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      resource  final
      err       final

  public java.lang.String getResource();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.options.Options this
         0: .line 131
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.options.Options.resource:Ljava/lang/String;
            areturn
        end local 0 // jdk.nashorn.internal.runtime.options.Options this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/options/Options;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.options.Options this
         0: .line 136
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.options.Options.options:Ljava/util/TreeMap;
            invokevirtual java.util.TreeMap.toString:()Ljava/lang/String;
            areturn
        end local 0 // jdk.nashorn.internal.runtime.options.Options this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/options/Options;

  private static void checkPropertyName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String name
         0: .line 140
            aload 0 /* name */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            ldc "nashorn."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 2
         1: .line 141
            new java.lang.IllegalArgumentException
            dup
            aload 0 /* name */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 143
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  final

  public static boolean getBooleanProperty(java.lang.String, java.lang.Boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/Boolean;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.String name
        start local 1 // java.lang.Boolean defValue
         0: .line 153
            aload 0 /* name */
            invokestatic jdk.nashorn.internal.runtime.options.Options.checkPropertyName:(Ljava/lang/String;)V
         1: .line 155
            new jdk.nashorn.internal.runtime.options.Options$1
            dup
            aload 0 /* name */
            aload 1 /* defValue */
            invokespecial jdk.nashorn.internal.runtime.options.Options$1.<init>:(Ljava/lang/String;Ljava/lang/Boolean;)V
         2: .line 169
            getstatic jdk.nashorn.internal.runtime.options.Options.READ_PROPERTY_ACC_CTXT:Ljava/security/AccessControlContext;
         3: .line 154
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
        end local 1 // java.lang.Boolean defValue
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      name  Ljava/lang/String;
            0    4     1  defValue  Ljava/lang/Boolean;
    MethodParameters:
          Name  Flags
      name      final
      defValue  final

  public static boolean getBooleanProperty(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String name
         0: .line 179
            aload 0 /* name */
            aconst_null
            invokestatic jdk.nashorn.internal.runtime.options.Options.getBooleanProperty:(Ljava/lang/String;Ljava/lang/Boolean;)Z
            ireturn
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  final

  public static java.lang.String getStringProperty(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.String name
        start local 1 // java.lang.String defValue
         0: .line 190
            aload 0 /* name */
            invokestatic jdk.nashorn.internal.runtime.options.Options.checkPropertyName:(Ljava/lang/String;)V
         1: .line 192
            new jdk.nashorn.internal.runtime.options.Options$2
            dup
            aload 0 /* name */
            aload 1 /* defValue */
            invokespecial jdk.nashorn.internal.runtime.options.Options$2.<init>:(Ljava/lang/String;Ljava/lang/String;)V
         2: .line 202
            getstatic jdk.nashorn.internal.runtime.options.Options.READ_PROPERTY_ACC_CTXT:Ljava/security/AccessControlContext;
         3: .line 191
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 1 // java.lang.String defValue
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      name  Ljava/lang/String;
            0    4     1  defValue  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      name      final
      defValue  final

  public static int getIntProperty(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.String name
        start local 1 // int defValue
         0: .line 213
            aload 0 /* name */
            invokestatic jdk.nashorn.internal.runtime.options.Options.checkPropertyName:(Ljava/lang/String;)V
         1: .line 215
            new jdk.nashorn.internal.runtime.options.Options$3
            dup
            aload 0 /* name */
            iload 1 /* defValue */
            invokespecial jdk.nashorn.internal.runtime.options.Options$3.<init>:(Ljava/lang/String;I)V
         2: .line 225
            getstatic jdk.nashorn.internal.runtime.options.Options.READ_PROPERTY_ACC_CTXT:Ljava/security/AccessControlContext;
         3: .line 214
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            ireturn
        end local 1 // int defValue
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      name  Ljava/lang/String;
            0    4     1  defValue  I
    MethodParameters:
          Name  Flags
      name      final
      defValue  final

  public jdk.nashorn.internal.runtime.options.Option<?> get(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/nashorn/internal/runtime/options/Option;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.options.Options this
        start local 1 // java.lang.String key
         0: .line 237
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.options.Options.options:Ljava/util/TreeMap;
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual jdk.nashorn.internal.runtime.options.Options.key:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.util.TreeMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast jdk.nashorn.internal.runtime.options.Option
            areturn
        end local 1 // java.lang.String key
        end local 0 // jdk.nashorn.internal.runtime.options.Options this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/options/Options;
            0    1     1   key  Ljava/lang/String;
    Signature: (Ljava/lang/String;)Ljdk/nashorn/internal/runtime/options/Option<*>;
    MethodParameters:
      Name  Flags
      key   final

  public boolean getBoolean(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.options.Options this
        start local 1 // java.lang.String key
         0: .line 247
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual jdk.nashorn.internal.runtime.options.Options.get:(Ljava/lang/String;)Ljdk/nashorn/internal/runtime/options/Option;
            astore 2 /* option */
        start local 2 // jdk.nashorn.internal.runtime.options.Option option
         1: .line 248
            aload 2 /* option */
            ifnull 2
            aload 2 /* option */
            invokevirtual jdk.nashorn.internal.runtime.options.Option.getValue:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            goto 3
      StackMap locals: jdk.nashorn.internal.runtime.options.Option
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: ireturn
        end local 2 // jdk.nashorn.internal.runtime.options.Option option
        end local 1 // java.lang.String key
        end local 0 // jdk.nashorn.internal.runtime.options.Options this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Ljdk/nashorn/internal/runtime/options/Options;
            0    4     1     key  Ljava/lang/String;
            1    4     2  option  Ljdk/nashorn/internal/runtime/options/Option<*>;
    MethodParameters:
      Name  Flags
      key   final

  public int getInteger(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.options.Options this
        start local 1 // java.lang.String key
         0: .line 258
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual jdk.nashorn.internal.runtime.options.Options.get:(Ljava/lang/String;)Ljdk/nashorn/internal/runtime/options/Option;
            astore 2 /* option */
        start local 2 // jdk.nashorn.internal.runtime.options.Option option
         1: .line 259
            aload 2 /* option */
            ifnull 2
            aload 2 /* option */
            invokevirtual jdk.nashorn.internal.runtime.options.Option.getValue:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            goto 3
      StackMap locals: jdk.nashorn.internal.runtime.options.Option
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: ireturn
        end local 2 // jdk.nashorn.internal.runtime.options.Option option
        end local 1 // java.lang.String key
        end local 0 // jdk.nashorn.internal.runtime.options.Options this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Ljdk/nashorn/internal/runtime/options/Options;
            0    4     1     key  Ljava/lang/String;
            1    4     2  option  Ljdk/nashorn/internal/runtime/options/Option<*>;
    MethodParameters:
      Name  Flags
      key   final

  public java.lang.String getString(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.options.Options this
        start local 1 // java.lang.String key
         0: .line 269
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual jdk.nashorn.internal.runtime.options.Options.get:(Ljava/lang/String;)Ljdk/nashorn/internal/runtime/options/Option;
            astore 2 /* option */
        start local 2 // jdk.nashorn.internal.runtime.options.Option option
         1: .line 270
            aload 2 /* option */
            ifnull 5
         2: .line 271
            aload 2 /* option */
            invokevirtual jdk.nashorn.internal.runtime.options.Option.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* value */
        start local 3 // java.lang.String value
         3: .line 272
            aload 3 /* value */
            ifnull 5
         4: .line 273
            aload 3 /* value */
            invokevirtual java.lang.String.intern:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.String value
         5: .line 276
      StackMap locals: jdk.nashorn.internal.runtime.options.Option
      StackMap stack:
            aconst_null
            areturn
        end local 2 // jdk.nashorn.internal.runtime.options.Option option
        end local 1 // java.lang.String key
        end local 0 // jdk.nashorn.internal.runtime.options.Options this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Ljdk/nashorn/internal/runtime/options/Options;
            0    6     1     key  Ljava/lang/String;
            1    6     2  option  Ljdk/nashorn/internal/runtime/options/Option<*>;
            3    5     3   value  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      key   final

  public void set(java.lang.String, jdk.nashorn.internal.runtime.options.Option<?>);
    descriptor: (Ljava/lang/String;Ljdk/nashorn/internal/runtime/options/Option;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.options.Options this
        start local 1 // java.lang.String key
        start local 2 // jdk.nashorn.internal.runtime.options.Option option
         0: .line 286
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.options.Options.options:Ljava/util/TreeMap;
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual jdk.nashorn.internal.runtime.options.Options.key:(Ljava/lang/String;)Ljava/lang/String;
            aload 2 /* option */
            invokevirtual java.util.TreeMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 287
            return
        end local 2 // jdk.nashorn.internal.runtime.options.Option option
        end local 1 // java.lang.String key
        end local 0 // jdk.nashorn.internal.runtime.options.Options this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljdk/nashorn/internal/runtime/options/Options;
            0    2     1     key  Ljava/lang/String;
            0    2     2  option  Ljdk/nashorn/internal/runtime/options/Option<*>;
    Signature: (Ljava/lang/String;Ljdk/nashorn/internal/runtime/options/Option<*>;)V
    MethodParameters:
        Name  Flags
      key     final
      option  final

  public void set(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.options.Options this
        start local 1 // java.lang.String key
        start local 2 // boolean option
         0: .line 296
            aload 0 /* this */
            aload 1 /* key */
            new jdk.nashorn.internal.runtime.options.Option
            dup
            iload 2 /* option */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokespecial jdk.nashorn.internal.runtime.options.Option.<init>:(Ljava/lang/Object;)V
            invokevirtual jdk.nashorn.internal.runtime.options.Options.set:(Ljava/lang/String;Ljdk/nashorn/internal/runtime/options/Option;)V
         1: .line 297
            return
        end local 2 // boolean option
        end local 1 // java.lang.String key
        end local 0 // jdk.nashorn.internal.runtime.options.Options this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljdk/nashorn/internal/runtime/options/Options;
            0    2     1     key  Ljava/lang/String;
            0    2     2  option  Z
    MethodParameters:
        Name  Flags
      key     final
      option  final

  public void set(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.options.Options this
        start local 1 // java.lang.String key
        start local 2 // java.lang.String option
         0: .line 306
            aload 0 /* this */
            aload 1 /* key */
            new jdk.nashorn.internal.runtime.options.Option
            dup
            aload 2 /* option */
            invokespecial jdk.nashorn.internal.runtime.options.Option.<init>:(Ljava/lang/Object;)V
            invokevirtual jdk.nashorn.internal.runtime.options.Options.set:(Ljava/lang/String;Ljdk/nashorn/internal/runtime/options/Option;)V
         1: .line 307
            return
        end local 2 // java.lang.String option
        end local 1 // java.lang.String key
        end local 0 // jdk.nashorn.internal.runtime.options.Options this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljdk/nashorn/internal/runtime/options/Options;
            0    2     1     key  Ljava/lang/String;
            0    2     2  option  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      key     final
      option  final

  public java.util.List<java.lang.String> getArguments();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.options.Options this
         0: .line 316
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.options.Options.arguments:Ljava/util/List;
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            areturn
        end local 0 // jdk.nashorn.internal.runtime.options.Options this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/options/Options;
    Signature: ()Ljava/util/List<Ljava/lang/String;>;

  public java.util.List<java.lang.String> getFiles();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.options.Options this
         0: .line 325
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.options.Options.files:Ljava/util/List;
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            areturn
        end local 0 // jdk.nashorn.internal.runtime.options.Options this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/options/Options;
    Signature: ()Ljava/util/List<Ljava/lang/String;>;

  public static java.util.Collection<jdk.nashorn.internal.runtime.options.OptionTemplate> getValidOptions();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 334
            getstatic jdk.nashorn.internal.runtime.options.Options.validOptions:Ljava/util/Collection;
            invokestatic java.util.Collections.unmodifiableCollection:(Ljava/util/Collection;)Ljava/util/Collection;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: ()Ljava/util/Collection<Ljdk/nashorn/internal/runtime/options/OptionTemplate;>;

  private java.lang.String key(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.options.Options this
        start local 1 // java.lang.String shortKey
         0: .line 344
            aload 1 /* shortKey */
            astore 2 /* key */
        start local 2 // java.lang.String key
         1: .line 345
            goto 3
         2: .line 346
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* key */
            iconst_1
            aload 2 /* key */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 2 /* key */
         3: .line 345
      StackMap locals:
      StackMap stack:
            aload 2 /* key */
            ldc "-"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 2
         4: .line 348
            aload 2 /* key */
            ldc "-"
            ldc "."
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            astore 2 /* key */
         5: .line 349
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.options.Options.resource:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".option."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* keyPrefix */
        start local 3 // java.lang.String keyPrefix
         6: .line 350
            aload 2 /* key */
            aload 3 /* keyPrefix */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 8
         7: .line 351
            aload 2 /* key */
            areturn
         8: .line 353
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 3 /* keyPrefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* key */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.String keyPrefix
        end local 2 // java.lang.String key
        end local 1 // java.lang.String shortKey
        end local 0 // jdk.nashorn.internal.runtime.options.Options this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Ljdk/nashorn/internal/runtime/options/Options;
            0    9     1   shortKey  Ljava/lang/String;
            1    9     2        key  Ljava/lang/String;
            6    9     3  keyPrefix  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      shortKey  final

  static java.lang.String getMsg(java.lang.String, java.lang.String[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0088) ACC_STATIC, ACC_VARARGS
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.String msgId
        start local 1 // java.lang.String[] args
         0: .line 358
            getstatic jdk.nashorn.internal.runtime.options.Options.bundle:Ljava/util/ResourceBundle;
            aload 0 /* msgId */
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* msg */
        start local 2 // java.lang.String msg
         1: .line 359
            aload 1 /* args */
            arraylength
            ifne 4
         2: .line 360
            aload 2 /* msg */
         3: areturn
         4: .line 362
      StackMap locals: java.lang.String
      StackMap stack:
            new java.text.MessageFormat
            dup
            aload 2 /* msg */
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            aload 1 /* args */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
         5: areturn
        end local 2 // java.lang.String msg
         6: .line 363
      StackMap locals: java.lang.String java.lang.String[]
      StackMap stack: java.util.MissingResourceException
            astore 2 /* e */
        start local 2 // java.util.MissingResourceException e
         7: .line 364
            new java.lang.IllegalArgumentException
            dup
            aload 2 /* e */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.util.MissingResourceException e
        end local 1 // java.lang.String[] args
        end local 0 // java.lang.String msgId
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0  msgId  Ljava/lang/String;
            0    8     1   args  [Ljava/lang/String;
            1    6     2    msg  Ljava/lang/String;
            7    8     2      e  Ljava/util/MissingResourceException;
      Exception table:
        from    to  target  type
           0     3       6  Class java.util.MissingResourceException
           4     5       6  Class java.util.MissingResourceException
    MethodParameters:
       Name  Flags
      msgId  final
      args   final

  public void displayHelp(java.lang.IllegalArgumentException);
    descriptor: (Ljava/lang/IllegalArgumentException;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.options.Options this
        start local 1 // java.lang.IllegalArgumentException e
         0: .line 374
            aload 1 /* e */
            instanceof jdk.nashorn.internal.runtime.options.Options$IllegalOptionException
            ifeq 7
         1: .line 375
            aload 1 /* e */
            checkcast jdk.nashorn.internal.runtime.options.Options$IllegalOptionException
            invokevirtual jdk.nashorn.internal.runtime.options.Options$IllegalOptionException.getTemplate:()Ljdk/nashorn/internal/runtime/options/OptionTemplate;
            astore 2 /* template */
        start local 2 // jdk.nashorn.internal.runtime.options.OptionTemplate template
         2: .line 376
            aload 2 /* template */
            invokevirtual jdk.nashorn.internal.runtime.options.OptionTemplate.isXHelp:()Z
            ifeq 5
         3: .line 378
            aload 0 /* this */
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.options.Options.displayHelp:(Z)V
         4: .line 379
            goto 6
         5: .line 380
      StackMap locals: jdk.nashorn.internal.runtime.options.OptionTemplate
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.options.Options.err:Ljava/io/PrintWriter;
            aload 1 /* e */
            checkcast jdk.nashorn.internal.runtime.options.Options$IllegalOptionException
            invokevirtual jdk.nashorn.internal.runtime.options.Options$IllegalOptionException.getTemplate:()Ljdk/nashorn/internal/runtime/options/OptionTemplate;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/Object;)V
         6: .line 382
      StackMap locals:
      StackMap stack:
            return
        end local 2 // jdk.nashorn.internal.runtime.options.OptionTemplate template
         7: .line 385
      StackMap locals:
      StackMap stack:
            aload 1 /* e */
            ifnull 15
            aload 1 /* e */
            invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
            ifnull 15
         8: .line 386
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.options.Options.err:Ljava/io/PrintWriter;
            ldc "option.error.invalid.option"
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
         9: .line 387
            aload 1 /* e */
            invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
            aastore
            dup
            iconst_1
        10: .line 388
            getstatic jdk.nashorn.internal.runtime.options.Options.helpOptionTemplate:Ljdk/nashorn/internal/runtime/options/OptionTemplate;
            invokevirtual jdk.nashorn.internal.runtime.options.OptionTemplate.getShortName:()Ljava/lang/String;
            aastore
            dup
            iconst_2
        11: .line 389
            getstatic jdk.nashorn.internal.runtime.options.Options.helpOptionTemplate:Ljdk/nashorn/internal/runtime/options/OptionTemplate;
            invokevirtual jdk.nashorn.internal.runtime.options.OptionTemplate.getName:()Ljava/lang/String;
            aastore
        12: .line 386
            invokestatic jdk.nashorn.internal.runtime.options.Options.getMsg:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        13: .line 390
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.options.Options.err:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.println:()V
        14: .line 391
            return
        15: .line 394
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual jdk.nashorn.internal.runtime.options.Options.displayHelp:(Z)V
        16: .line 395
            return
        end local 1 // java.lang.IllegalArgumentException e
        end local 0 // jdk.nashorn.internal.runtime.options.Options this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   17     0      this  Ljdk/nashorn/internal/runtime/options/Options;
            0   17     1         e  Ljava/lang/IllegalArgumentException;
            2    7     2  template  Ljdk/nashorn/internal/runtime/options/OptionTemplate;
    MethodParameters:
      Name  Flags
      e     final

  public void displayHelp(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.options.Options this
        start local 1 // boolean extended
         0: .line 403
            getstatic jdk.nashorn.internal.runtime.options.Options.validOptions:Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 6
      StackMap locals: jdk.nashorn.internal.runtime.options.Options int top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.runtime.options.OptionTemplate
            astore 2 /* t */
        start local 2 // jdk.nashorn.internal.runtime.options.OptionTemplate t
         2: .line 404
            iload 1 /* extended */
            ifne 3
            aload 2 /* t */
            invokevirtual jdk.nashorn.internal.runtime.options.OptionTemplate.isUndocumented:()Z
            ifne 6
      StackMap locals: jdk.nashorn.internal.runtime.options.Options int jdk.nashorn.internal.runtime.options.OptionTemplate java.util.Iterator
      StackMap stack:
         3: aload 2 /* t */
            invokevirtual jdk.nashorn.internal.runtime.options.OptionTemplate.getResource:()Ljava/lang/String;
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.options.Options.resource:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         4: .line 405
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.options.Options.err:Ljava/io/PrintWriter;
            aload 2 /* t */
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/Object;)V
         5: .line 406
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.options.Options.err:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.println:()V
        end local 2 // jdk.nashorn.internal.runtime.options.OptionTemplate t
         6: .line 403
      StackMap locals: jdk.nashorn.internal.runtime.options.Options int top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         7: .line 409
            return
        end local 1 // boolean extended
        end local 0 // jdk.nashorn.internal.runtime.options.Options this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Ljdk/nashorn/internal/runtime/options/Options;
            0    8     1  extended  Z
            2    6     2         t  Ljdk/nashorn/internal/runtime/options/OptionTemplate;
    MethodParameters:
          Name  Flags
      extended  final

  public void process(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.options.Options this
        start local 1 // java.lang.String[] args
         0: .line 419
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            astore 2 /* argList */
        start local 2 // java.util.LinkedList argList
         1: .line 420
            ldc "nashorn.args.prepend"
            aload 2 /* argList */
            invokestatic jdk.nashorn.internal.runtime.options.Options.addSystemProperties:(Ljava/lang/String;Ljava/util/List;)V
         2: .line 421
            aload 0 /* this */
            aload 2 /* argList */
            invokevirtual jdk.nashorn.internal.runtime.options.Options.processArgList:(Ljava/util/LinkedList;)V
         3: .line 422
            getstatic jdk.nashorn.internal.runtime.options.Options.$assertionsDisabled:Z
            ifne 4
            aload 2 /* argList */
            invokevirtual java.util.LinkedList.isEmpty:()Z
            ifne 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 423
      StackMap locals: java.util.LinkedList
      StackMap stack:
            aload 2 /* argList */
            aload 1 /* args */
            invokestatic java.util.Collections.addAll:(Ljava/util/Collection;[Ljava/lang/Object;)Z
            pop
         5: .line 424
            aload 0 /* this */
            aload 2 /* argList */
            invokevirtual jdk.nashorn.internal.runtime.options.Options.processArgList:(Ljava/util/LinkedList;)V
         6: .line 425
            getstatic jdk.nashorn.internal.runtime.options.Options.$assertionsDisabled:Z
            ifne 7
            aload 2 /* argList */
            invokevirtual java.util.LinkedList.isEmpty:()Z
            ifne 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 426
      StackMap locals:
      StackMap stack:
            ldc "nashorn.args"
            aload 2 /* argList */
            invokestatic jdk.nashorn.internal.runtime.options.Options.addSystemProperties:(Ljava/lang/String;Ljava/util/List;)V
         8: .line 427
            aload 0 /* this */
            aload 2 /* argList */
            invokevirtual jdk.nashorn.internal.runtime.options.Options.processArgList:(Ljava/util/LinkedList;)V
         9: .line 428
            getstatic jdk.nashorn.internal.runtime.options.Options.$assertionsDisabled:Z
            ifne 10
            aload 2 /* argList */
            invokevirtual java.util.LinkedList.isEmpty:()Z
            ifne 10
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        10: .line 429
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.LinkedList argList
        end local 1 // java.lang.String[] args
        end local 0 // jdk.nashorn.internal.runtime.options.Options this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Ljdk/nashorn/internal/runtime/options/Options;
            0   11     1     args  [Ljava/lang/String;
            1   11     2  argList  Ljava/util/LinkedList<Ljava/lang/String;>;
    MethodParameters:
      Name  Flags
      args  final

  private void processArgList(java.util.LinkedList<java.lang.String>);
    descriptor: (Ljava/util/LinkedList;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.options.Options this
        start local 1 // java.util.LinkedList argList
         0: .line 432
            goto 48
         1: .line 433
      StackMap locals:
      StackMap stack:
            aload 1 /* argList */
            iconst_0
            invokevirtual java.util.LinkedList.remove:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* arg */
        start local 2 // java.lang.String arg
         2: .line 434
            aload 2 /* arg */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 437
            aload 2 /* arg */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 5
         4: .line 438
            goto 48
         5: .line 442
      StackMap locals: java.lang.String
      StackMap stack:
            ldc "--"
            aload 2 /* arg */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
         6: .line 443
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.options.Options.arguments:Ljava/util/List;
            aload 1 /* argList */
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         7: .line 444
            aload 1 /* argList */
            invokevirtual java.util.LinkedList.clear:()V
         8: .line 445
            goto 48
         9: .line 450
      StackMap locals:
      StackMap stack:
            aload 2 /* arg */
            ldc "-"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 10
            aload 2 /* arg */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpne 12
        10: .line 451
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.options.Options.files:Ljava/util/List;
            aload 2 /* arg */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        11: .line 452
            goto 48
        12: .line 455
      StackMap locals:
      StackMap stack:
            aload 2 /* arg */
            getstatic jdk.nashorn.internal.runtime.options.Options.definePropPrefix:Ljava/lang/String;
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 22
        13: .line 456
            aload 2 /* arg */
            getstatic jdk.nashorn.internal.runtime.options.Options.definePropPrefix:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 3 /* value */
        start local 3 // java.lang.String value
        14: .line 457
            aload 3 /* value */
            bipush 61
            invokevirtual java.lang.String.indexOf:(I)I
            istore 4 /* eq */
        start local 4 // int eq
        15: .line 458
            iload 4 /* eq */
            iconst_m1
            if_icmpeq 18
        16: .line 460
            aload 3 /* value */
            iconst_0
            iload 4 /* eq */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            aload 3 /* value */
            iload 4 /* eq */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic java.lang.System.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            pop
        17: .line 461
            goto 48
        18: .line 463
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 3 /* value */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 21
        19: .line 464
            aload 3 /* value */
            ldc ""
            invokestatic java.lang.System.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            pop
        20: .line 465
            goto 48
        21: .line 467
      StackMap locals:
      StackMap stack:
            new jdk.nashorn.internal.runtime.options.Options$IllegalOptionException
            dup
            getstatic jdk.nashorn.internal.runtime.options.Options.definePropTemplate:Ljdk/nashorn/internal/runtime/options/OptionTemplate;
            invokespecial jdk.nashorn.internal.runtime.options.Options$IllegalOptionException.<init>:(Ljdk/nashorn/internal/runtime/options/OptionTemplate;)V
            athrow
        end local 4 // int eq
        end local 3 // java.lang.String value
        22: .line 474
      StackMap locals:
      StackMap stack:
            new jdk.nashorn.internal.runtime.options.Options$ParsedArg
            dup
            aload 2 /* arg */
            invokespecial jdk.nashorn.internal.runtime.options.Options$ParsedArg.<init>:(Ljava/lang/String;)V
            astore 3 /* parg */
        start local 3 // jdk.nashorn.internal.runtime.options.Options$ParsedArg parg
        23: .line 477
            aload 3 /* parg */
            getfield jdk.nashorn.internal.runtime.options.Options$ParsedArg.template:Ljdk/nashorn/internal/runtime/options/OptionTemplate;
            invokevirtual jdk.nashorn.internal.runtime.options.OptionTemplate.isValueNextArg:()Z
            ifeq 27
        24: .line 478
            aload 1 /* argList */
            invokevirtual java.util.LinkedList.isEmpty:()Z
            ifeq 26
        25: .line 479
            new jdk.nashorn.internal.runtime.options.Options$IllegalOptionException
            dup
            aload 3 /* parg */
            getfield jdk.nashorn.internal.runtime.options.Options$ParsedArg.template:Ljdk/nashorn/internal/runtime/options/OptionTemplate;
            invokespecial jdk.nashorn.internal.runtime.options.Options$IllegalOptionException.<init>:(Ljdk/nashorn/internal/runtime/options/OptionTemplate;)V
            athrow
        26: .line 481
      StackMap locals: jdk.nashorn.internal.runtime.options.Options$ParsedArg
      StackMap stack:
            aload 3 /* parg */
            aload 1 /* argList */
            iconst_0
            invokevirtual java.util.LinkedList.remove:(I)Ljava/lang/Object;
            checkcast java.lang.String
            putfield jdk.nashorn.internal.runtime.options.Options$ParsedArg.value:Ljava/lang/String;
        27: .line 485
      StackMap locals:
      StackMap stack:
            aload 3 /* parg */
            getfield jdk.nashorn.internal.runtime.options.Options$ParsedArg.template:Ljdk/nashorn/internal/runtime/options/OptionTemplate;
            invokevirtual jdk.nashorn.internal.runtime.options.OptionTemplate.isHelp:()Z
            ifeq 34
        28: .line 487
            aload 1 /* argList */
            invokevirtual java.util.LinkedList.isEmpty:()Z
            ifne 33
        29: .line 489
            new jdk.nashorn.internal.runtime.options.Options$ParsedArg
            dup
            aload 1 /* argList */
            iconst_0
            invokevirtual java.util.LinkedList.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            invokespecial jdk.nashorn.internal.runtime.options.Options$ParsedArg.<init>:(Ljava/lang/String;)V
            getfield jdk.nashorn.internal.runtime.options.Options$ParsedArg.template:Ljdk/nashorn/internal/runtime/options/OptionTemplate;
            astore 4 /* t */
        start local 4 // jdk.nashorn.internal.runtime.options.OptionTemplate t
        30: .line 490
            new jdk.nashorn.internal.runtime.options.Options$IllegalOptionException
            dup
            aload 4 /* t */
            invokespecial jdk.nashorn.internal.runtime.options.Options$IllegalOptionException.<init>:(Ljdk/nashorn/internal/runtime/options/OptionTemplate;)V
            athrow
        end local 4 // jdk.nashorn.internal.runtime.options.OptionTemplate t
        31: .line 491
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
            astore 4 /* e */
        start local 4 // java.lang.IllegalArgumentException e
        32: .line 492
            aload 4 /* e */
            athrow
        end local 4 // java.lang.IllegalArgumentException e
        33: .line 495
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
        34: .line 499
      StackMap locals:
      StackMap stack:
            aload 3 /* parg */
            getfield jdk.nashorn.internal.runtime.options.Options$ParsedArg.template:Ljdk/nashorn/internal/runtime/options/OptionTemplate;
            invokevirtual jdk.nashorn.internal.runtime.options.OptionTemplate.isXHelp:()Z
            ifeq 36
        35: .line 500
            new jdk.nashorn.internal.runtime.options.Options$IllegalOptionException
            dup
            aload 3 /* parg */
            getfield jdk.nashorn.internal.runtime.options.Options$ParsedArg.template:Ljdk/nashorn/internal/runtime/options/OptionTemplate;
            invokespecial jdk.nashorn.internal.runtime.options.Options$IllegalOptionException.<init>:(Ljdk/nashorn/internal/runtime/options/OptionTemplate;)V
            athrow
        36: .line 503
      StackMap locals:
      StackMap stack:
            aload 3 /* parg */
            getfield jdk.nashorn.internal.runtime.options.Options$ParsedArg.template:Ljdk/nashorn/internal/runtime/options/OptionTemplate;
            invokevirtual jdk.nashorn.internal.runtime.options.OptionTemplate.isRepeated:()Z
            ifeq 45
        37: .line 504
            getstatic jdk.nashorn.internal.runtime.options.Options.$assertionsDisabled:Z
            ifne 38
            aload 3 /* parg */
            getfield jdk.nashorn.internal.runtime.options.Options$ParsedArg.template:Ljdk/nashorn/internal/runtime/options/OptionTemplate;
            invokevirtual jdk.nashorn.internal.runtime.options.OptionTemplate.getType:()Ljava/lang/String;
            ldc "string"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 38
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        38: .line 506
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* parg */
            getfield jdk.nashorn.internal.runtime.options.Options$ParsedArg.template:Ljdk/nashorn/internal/runtime/options/OptionTemplate;
            invokevirtual jdk.nashorn.internal.runtime.options.OptionTemplate.getKey:()Ljava/lang/String;
            invokevirtual jdk.nashorn.internal.runtime.options.Options.key:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* key */
        start local 4 // java.lang.String key
        39: .line 507
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.options.Options.options:Ljava/util/TreeMap;
            aload 4 /* key */
            invokevirtual java.util.TreeMap.containsKey:(Ljava/lang/Object;)Z
            ifeq 41
        40: .line 508
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.options.Options.options:Ljava/util/TreeMap;
            aload 4 /* key */
            invokevirtual java.util.TreeMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast jdk.nashorn.internal.runtime.options.Option
            invokevirtual jdk.nashorn.internal.runtime.options.Option.getValue:()Ljava/lang/Object;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* parg */
            getfield jdk.nashorn.internal.runtime.options.Options$ParsedArg.value:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            goto 42
      StackMap locals: java.lang.String
      StackMap stack:
        41: aload 3 /* parg */
            getfield jdk.nashorn.internal.runtime.options.Options$ParsedArg.value:Ljava/lang/String;
            invokestatic java.util.Objects.toString:(Ljava/lang/Object;)Ljava/lang/String;
        42: .line 507
      StackMap locals:
      StackMap stack: java.lang.String
            astore 5 /* value */
        start local 5 // java.lang.String value
        43: .line 509
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.options.Options.options:Ljava/util/TreeMap;
            aload 4 /* key */
            new jdk.nashorn.internal.runtime.options.Option
            dup
            aload 5 /* value */
            invokespecial jdk.nashorn.internal.runtime.options.Option.<init>:(Ljava/lang/Object;)V
            invokevirtual java.util.TreeMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // java.lang.String value
        end local 4 // java.lang.String key
        44: .line 510
            goto 46
        45: .line 511
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* parg */
            getfield jdk.nashorn.internal.runtime.options.Options$ParsedArg.template:Ljdk/nashorn/internal/runtime/options/OptionTemplate;
            invokevirtual jdk.nashorn.internal.runtime.options.OptionTemplate.getKey:()Ljava/lang/String;
            aload 3 /* parg */
            getfield jdk.nashorn.internal.runtime.options.Options$ParsedArg.template:Ljdk/nashorn/internal/runtime/options/OptionTemplate;
            aload 3 /* parg */
            getfield jdk.nashorn.internal.runtime.options.Options$ParsedArg.value:Ljava/lang/String;
            invokestatic jdk.nashorn.internal.runtime.options.Options.createOption:(Ljdk/nashorn/internal/runtime/options/OptionTemplate;Ljava/lang/String;)Ljdk/nashorn/internal/runtime/options/Option;
            invokevirtual jdk.nashorn.internal.runtime.options.Options.set:(Ljava/lang/String;Ljdk/nashorn/internal/runtime/options/Option;)V
        46: .line 516
      StackMap locals:
      StackMap stack:
            aload 3 /* parg */
            getfield jdk.nashorn.internal.runtime.options.Options$ParsedArg.template:Ljdk/nashorn/internal/runtime/options/OptionTemplate;
            invokevirtual jdk.nashorn.internal.runtime.options.OptionTemplate.getDependency:()Ljava/lang/String;
            ifnull 48
        47: .line 517
            aload 1 /* argList */
            aload 3 /* parg */
            getfield jdk.nashorn.internal.runtime.options.Options$ParsedArg.template:Ljdk/nashorn/internal/runtime/options/OptionTemplate;
            invokevirtual jdk.nashorn.internal.runtime.options.OptionTemplate.getDependency:()Ljava/lang/String;
            invokevirtual java.util.LinkedList.addFirst:(Ljava/lang/Object;)V
        end local 3 // jdk.nashorn.internal.runtime.options.Options$ParsedArg parg
        end local 2 // java.lang.String arg
        48: .line 432
      StackMap locals:
      StackMap stack:
            aload 1 /* argList */
            invokevirtual java.util.LinkedList.isEmpty:()Z
            ifeq 1
        49: .line 520
            return
        end local 1 // java.util.LinkedList argList
        end local 0 // jdk.nashorn.internal.runtime.options.Options this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   50     0     this  Ljdk/nashorn/internal/runtime/options/Options;
            0   50     1  argList  Ljava/util/LinkedList<Ljava/lang/String;>;
            2   48     2      arg  Ljava/lang/String;
           14   22     3    value  Ljava/lang/String;
           15   22     4       eq  I
           23   48     3     parg  Ljdk/nashorn/internal/runtime/options/Options$ParsedArg;
           30   31     4        t  Ljdk/nashorn/internal/runtime/options/OptionTemplate;
           32   33     4        e  Ljava/lang/IllegalArgumentException;
           39   44     4      key  Ljava/lang/String;
           43   44     5    value  Ljava/lang/String;
      Exception table:
        from    to  target  type
          29    31      31  Class java.lang.IllegalArgumentException
    Signature: (Ljava/util/LinkedList<Ljava/lang/String;>;)V
    MethodParameters:
         Name  Flags
      argList  final

  private static void addSystemProperties(java.lang.String, java.util.List<java.lang.String>);
    descriptor: (Ljava/lang/String;Ljava/util/List;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.lang.String sysPropName
        start local 1 // java.util.List argList
         0: .line 523
            aload 0 /* sysPropName */
            aconst_null
            invokestatic jdk.nashorn.internal.runtime.options.Options.getStringProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* sysArgs */
        start local 2 // java.lang.String sysArgs
         1: .line 524
            aload 2 /* sysArgs */
            ifnull 6
         2: .line 525
            new java.util.StringTokenizer
            dup
            aload 2 /* sysArgs */
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;)V
            astore 3 /* st */
        start local 3 // java.util.StringTokenizer st
         3: .line 526
            goto 5
         4: .line 527
      StackMap locals: java.lang.String java.util.StringTokenizer
      StackMap stack:
            aload 1 /* argList */
            aload 3 /* st */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         5: .line 526
      StackMap locals:
      StackMap stack:
            aload 3 /* st */
            invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
            ifne 4
        end local 3 // java.util.StringTokenizer st
         6: .line 530
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String sysArgs
        end local 1 // java.util.List argList
        end local 0 // java.lang.String sysPropName
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0  sysPropName  Ljava/lang/String;
            0    7     1      argList  Ljava/util/List<Ljava/lang/String;>;
            1    7     2      sysArgs  Ljava/lang/String;
            3    6     3           st  Ljava/util/StringTokenizer;
    Signature: (Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;)V
    MethodParameters:
             Name  Flags
      sysPropName  final
      argList      final

  public jdk.nashorn.internal.runtime.options.OptionTemplate getOptionTemplateByKey(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/nashorn/internal/runtime/options/OptionTemplate;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.options.Options this
        start local 1 // java.lang.String shortKey
         0: .line 539
            aload 0 /* this */
            aload 1 /* shortKey */
            invokevirtual jdk.nashorn.internal.runtime.options.Options.key:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* fullKey */
        start local 2 // java.lang.String fullKey
         1: .line 540
            getstatic jdk.nashorn.internal.runtime.options.Options.validOptions:Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 5
      StackMap locals: jdk.nashorn.internal.runtime.options.Options java.lang.String java.lang.String top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.runtime.options.OptionTemplate
            astore 3 /* t */
        start local 3 // jdk.nashorn.internal.runtime.options.OptionTemplate t
         3: .line 541
            aload 3 /* t */
            invokevirtual jdk.nashorn.internal.runtime.options.OptionTemplate.getKey:()Ljava/lang/String;
            aload 2 /* fullKey */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 542
            aload 3 /* t */
            areturn
        end local 3 // jdk.nashorn.internal.runtime.options.OptionTemplate t
         5: .line 540
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 545
            new java.lang.IllegalArgumentException
            dup
            aload 1 /* shortKey */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.String fullKey
        end local 1 // java.lang.String shortKey
        end local 0 // jdk.nashorn.internal.runtime.options.Options this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Ljdk/nashorn/internal/runtime/options/Options;
            0    7     1  shortKey  Ljava/lang/String;
            1    7     2   fullKey  Ljava/lang/String;
            3    5     3         t  Ljdk/nashorn/internal/runtime/options/OptionTemplate;
    MethodParameters:
          Name  Flags
      shortKey  final

  private static jdk.nashorn.internal.runtime.options.OptionTemplate getOptionTemplateByName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/nashorn/internal/runtime/options/OptionTemplate;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.lang.String name
         0: .line 549
            getstatic jdk.nashorn.internal.runtime.options.Options.validOptions:Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2
            goto 4
      StackMap locals: java.lang.String top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.runtime.options.OptionTemplate
            astore 1 /* t */
        start local 1 // jdk.nashorn.internal.runtime.options.OptionTemplate t
         2: .line 550
            aload 1 /* t */
            aload 0 /* name */
            invokevirtual jdk.nashorn.internal.runtime.options.OptionTemplate.nameMatches:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 551
            aload 1 /* t */
            areturn
        end local 1 // jdk.nashorn.internal.runtime.options.OptionTemplate t
         4: .line 549
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 554
            aconst_null
            areturn
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  name  Ljava/lang/String;
            2    4     1     t  Ljdk/nashorn/internal/runtime/options/OptionTemplate;
    MethodParameters:
      Name  Flags
      name  final

  private static jdk.nashorn.internal.runtime.options.Option<?> createOption(jdk.nashorn.internal.runtime.options.OptionTemplate, java.lang.String);
    descriptor: (Ljdk/nashorn/internal/runtime/options/OptionTemplate;Ljava/lang/String;)Ljdk/nashorn/internal/runtime/options/Option;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.options.OptionTemplate t
        start local 1 // java.lang.String value
         0: .line 558
            aload 0 /* t */
            invokevirtual jdk.nashorn.internal.runtime.options.OptionTemplate.getType:()Ljava/lang/String;
            dup
            astore 2
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 8
          -2076227591: 1
          -1097462182: 2
          -1003964351: 3
           -926053069: 4
           -891985903: 5
               107332: 6
             64711720: 7
           1958052158: 8
              default: 25
          }
      StackMap locals: java.lang.String
      StackMap stack:
         1: aload 2
            ldc "timezone"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 10
            goto 25
      StackMap locals:
      StackMap stack:
         2: aload 2
            ldc "locale"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 11
            goto 25
      StackMap locals:
      StackMap stack:
         3: aload 2
            ldc "keyvalues"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 12
            goto 25
      StackMap locals:
      StackMap stack:
         4: aload 2
            ldc "properties"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 23
            goto 25
      StackMap locals:
      StackMap stack:
         5: aload 2
            ldc "string"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 9
            goto 25
      StackMap locals:
      StackMap stack:
         6: aload 2
            ldc "log"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 13
            goto 25
      StackMap locals:
      StackMap stack:
         7: aload 2
            ldc "boolean"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 14
            goto 25
      StackMap locals:
      StackMap stack:
         8: aload 2
            ldc "integer"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 17
            goto 25
         9: .line 561
      StackMap locals:
      StackMap stack:
            new jdk.nashorn.internal.runtime.options.Option
            dup
            aload 1 /* value */
            invokespecial jdk.nashorn.internal.runtime.options.Option.<init>:(Ljava/lang/Object;)V
            areturn
        10: .line 564
      StackMap locals:
      StackMap stack:
            new jdk.nashorn.internal.runtime.options.Option
            dup
            aload 1 /* value */
            invokestatic java.util.TimeZone.getTimeZone:(Ljava/lang/String;)Ljava/util/TimeZone;
            invokespecial jdk.nashorn.internal.runtime.options.Option.<init>:(Ljava/lang/Object;)V
            areturn
        11: .line 566
      StackMap locals:
      StackMap stack:
            new jdk.nashorn.internal.runtime.options.Option
            dup
            aload 1 /* value */
            invokestatic java.util.Locale.forLanguageTag:(Ljava/lang/String;)Ljava/util/Locale;
            invokespecial jdk.nashorn.internal.runtime.options.Option.<init>:(Ljava/lang/Object;)V
            areturn
        12: .line 568
      StackMap locals:
      StackMap stack:
            new jdk.nashorn.internal.runtime.options.KeyValueOption
            dup
            aload 1 /* value */
            invokespecial jdk.nashorn.internal.runtime.options.KeyValueOption.<init>:(Ljava/lang/String;)V
            areturn
        13: .line 570
      StackMap locals:
      StackMap stack:
            new jdk.nashorn.internal.runtime.options.LoggingOption
            dup
            aload 1 /* value */
            invokespecial jdk.nashorn.internal.runtime.options.LoggingOption.<init>:(Ljava/lang/String;)V
            areturn
        14: .line 572
      StackMap locals:
      StackMap stack:
            new jdk.nashorn.internal.runtime.options.Option
            dup
            aload 1 /* value */
            ifnull 15
            aload 1 /* value */
            invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
            ifeq 15
            iconst_1
            goto 16
      StackMap locals: jdk.nashorn.internal.runtime.options.OptionTemplate java.lang.String java.lang.String
      StackMap stack: new 14 new 14
        15: iconst_0
      StackMap locals: jdk.nashorn.internal.runtime.options.OptionTemplate java.lang.String java.lang.String
      StackMap stack: new 14 new 14 int
        16: invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokespecial jdk.nashorn.internal.runtime.options.Option.<init>:(Ljava/lang/Object;)V
            areturn
        17: .line 575
      StackMap locals:
      StackMap stack:
            new jdk.nashorn.internal.runtime.options.Option
            dup
            aload 1 /* value */
            ifnonnull 18
            iconst_0
            goto 19
      StackMap locals: jdk.nashorn.internal.runtime.options.OptionTemplate java.lang.String java.lang.String
      StackMap stack: new 17 new 17
        18: aload 1 /* value */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
      StackMap locals: jdk.nashorn.internal.runtime.options.OptionTemplate java.lang.String java.lang.String
      StackMap stack: new 17 new 17 int
        19: invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokespecial jdk.nashorn.internal.runtime.options.Option.<init>:(Ljava/lang/Object;)V
        20: areturn
        21: .line 576
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
            pop
        22: .line 577
            new jdk.nashorn.internal.runtime.options.Options$IllegalOptionException
            dup
            aload 0 /* t */
            invokespecial jdk.nashorn.internal.runtime.options.Options$IllegalOptionException.<init>:(Ljdk/nashorn/internal/runtime/options/OptionTemplate;)V
            athrow
        23: .line 581
      StackMap locals:
      StackMap stack:
            new jdk.nashorn.internal.runtime.options.KeyValueOption
            dup
            aload 1 /* value */
            invokespecial jdk.nashorn.internal.runtime.options.KeyValueOption.<init>:(Ljava/lang/String;)V
            invokestatic jdk.nashorn.internal.runtime.options.Options.initProps:(Ljdk/nashorn/internal/runtime/options/KeyValueOption;)V
        24: .line 582
            aconst_null
            areturn
        25: .line 586
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            aload 1 /* value */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.String value
        end local 0 // jdk.nashorn.internal.runtime.options.OptionTemplate t
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   26     0      t  Ljdk/nashorn/internal/runtime/options/OptionTemplate;
            0   26     1  value  Ljava/lang/String;
      Exception table:
        from    to  target  type
          17    20      21  Class java.lang.NumberFormatException
    Signature: (Ljdk/nashorn/internal/runtime/options/OptionTemplate;Ljava/lang/String;)Ljdk/nashorn/internal/runtime/options/Option<*>;
    MethodParameters:
       Name  Flags
      t      final
      value  final

  private static void initProps(jdk.nashorn.internal.runtime.options.KeyValueOption);
    descriptor: (Ljdk/nashorn/internal/runtime/options/KeyValueOption;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.options.KeyValueOption kv
         0: .line 590
            aload 0 /* kv */
            invokevirtual jdk.nashorn.internal.runtime.options.KeyValueOption.getValues:()Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 2
            goto 3
      StackMap locals: jdk.nashorn.internal.runtime.options.KeyValueOption top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 1 /* entry */
        start local 1 // java.util.Map$Entry entry
         2: .line 591
            aload 1 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 1 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic java.lang.System.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            pop
        end local 1 // java.util.Map$Entry entry
         3: .line 590
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 593
            return
        end local 0 // jdk.nashorn.internal.runtime.options.KeyValueOption kv
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0     kv  Ljdk/nashorn/internal/runtime/options/KeyValueOption;
            2    3     1  entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
    MethodParameters:
      Name  Flags
      kv    final
}
SourceFile: "Options.java"
NestMembers:
  jdk.nashorn.internal.runtime.options.Options$1  jdk.nashorn.internal.runtime.options.Options$2  jdk.nashorn.internal.runtime.options.Options$3  jdk.nashorn.internal.runtime.options.Options$IllegalOptionException  jdk.nashorn.internal.runtime.options.Options$ParsedArg
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map
  jdk.nashorn.internal.runtime.options.Options$1
  jdk.nashorn.internal.runtime.options.Options$2
  jdk.nashorn.internal.runtime.options.Options$3
  private IllegalOptionException = jdk.nashorn.internal.runtime.options.Options$IllegalOptionException of jdk.nashorn.internal.runtime.options.Options
  private ParsedArg = jdk.nashorn.internal.runtime.options.Options$ParsedArg of jdk.nashorn.internal.runtime.options.Options