public final class jdk.nashorn.api.scripting.NashornScriptEngineFactory implements javax.script.ScriptEngineFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: jdk.nashorn.api.scripting.NashornScriptEngineFactory
  super_class: java.lang.Object
{
  private static final java.lang.String[] DEFAULT_OPTIONS;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.List<java.lang.String> names;
    descriptor: Ljava/util/List;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/List<Ljava/lang/String;>;

  private static final java.util.List<java.lang.String> mimeTypes;
    descriptor: Ljava/util/List;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/List<Ljava/lang/String;>;

  private static final java.util.List<java.lang.String> extensions;
    descriptor: Ljava/util/List;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/List<Ljava/lang/String;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 145
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "-doe"
            aastore
            putstatic jdk.nashorn.api.scripting.NashornScriptEngineFactory.DEFAULT_OPTIONS:[Ljava/lang/String;
         1: .line 257
            bipush 8
            anewarray java.lang.String
            dup
            iconst_0
         2: .line 258
            ldc "nashorn"
            aastore
            dup
            iconst_1
            ldc "Nashorn"
            aastore
            dup
            iconst_2
         3: .line 259
            ldc "js"
            aastore
            dup
            iconst_3
            ldc "JS"
            aastore
            dup
            iconst_4
         4: .line 260
            ldc "JavaScript"
            aastore
            dup
            iconst_5
            ldc "javascript"
            aastore
            dup
            bipush 6
         5: .line 261
            ldc "ECMAScript"
            aastore
            dup
            bipush 7
            ldc "ecmascript"
            aastore
         6: .line 257
            invokestatic jdk.nashorn.api.scripting.NashornScriptEngineFactory.immutableList:([Ljava/lang/String;)Ljava/util/List;
            putstatic jdk.nashorn.api.scripting.NashornScriptEngineFactory.names:Ljava/util/List;
         7: .line 264
            iconst_4
            anewarray java.lang.String
            dup
            iconst_0
         8: .line 265
            ldc "application/javascript"
            aastore
            dup
            iconst_1
         9: .line 266
            ldc "application/ecmascript"
            aastore
            dup
            iconst_2
        10: .line 267
            ldc "text/javascript"
            aastore
            dup
            iconst_3
        11: .line 268
            ldc "text/ecmascript"
            aastore
        12: .line 264
            invokestatic jdk.nashorn.api.scripting.NashornScriptEngineFactory.immutableList:([Ljava/lang/String;)Ljava/util/List;
            putstatic jdk.nashorn.api.scripting.NashornScriptEngineFactory.mimeTypes:Ljava/util/List;
        13: .line 271
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "js"
            aastore
            invokestatic jdk.nashorn.api.scripting.NashornScriptEngineFactory.immutableList:([Ljava/lang/String;)Ljava/util/List;
            putstatic jdk.nashorn.api.scripting.NashornScriptEngineFactory.extensions:Ljava/util/List;
        14: .line 272
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.api.scripting.NashornScriptEngineFactory this
         0: .line 51
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // jdk.nashorn.api.scripting.NashornScriptEngineFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/api/scripting/NashornScriptEngineFactory;

  public java.lang.String getEngineName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.api.scripting.NashornScriptEngineFactory this
         0: .line 54
            aload 0 /* this */
            ldc "javax.script.engine"
            invokevirtual jdk.nashorn.api.scripting.NashornScriptEngineFactory.getParameter:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 0 // jdk.nashorn.api.scripting.NashornScriptEngineFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/api/scripting/NashornScriptEngineFactory;

  public java.lang.String getEngineVersion();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.api.scripting.NashornScriptEngineFactory this
         0: .line 59
            aload 0 /* this */
            ldc "javax.script.engine_version"
            invokevirtual jdk.nashorn.api.scripting.NashornScriptEngineFactory.getParameter:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 0 // jdk.nashorn.api.scripting.NashornScriptEngineFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/api/scripting/NashornScriptEngineFactory;

  public java.util.List<java.lang.String> getExtensions();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.api.scripting.NashornScriptEngineFactory this
         0: .line 64
            getstatic jdk.nashorn.api.scripting.NashornScriptEngineFactory.extensions:Ljava/util/List;
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            areturn
        end local 0 // jdk.nashorn.api.scripting.NashornScriptEngineFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/api/scripting/NashornScriptEngineFactory;
    Signature: ()Ljava/util/List<Ljava/lang/String;>;

  public java.lang.String getLanguageName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.api.scripting.NashornScriptEngineFactory this
         0: .line 69
            aload 0 /* this */
            ldc "javax.script.language"
            invokevirtual jdk.nashorn.api.scripting.NashornScriptEngineFactory.getParameter:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 0 // jdk.nashorn.api.scripting.NashornScriptEngineFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/api/scripting/NashornScriptEngineFactory;

  public java.lang.String getLanguageVersion();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.api.scripting.NashornScriptEngineFactory this
         0: .line 74
            aload 0 /* this */
            ldc "javax.script.language_version"
            invokevirtual jdk.nashorn.api.scripting.NashornScriptEngineFactory.getParameter:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 0 // jdk.nashorn.api.scripting.NashornScriptEngineFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/api/scripting/NashornScriptEngineFactory;

  public java.lang.String getMethodCallSyntax(java.lang.String, java.lang.String, java.lang.String[]);
    descriptor: (Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=3, locals=7, args_size=4
        start local 0 // jdk.nashorn.api.scripting.NashornScriptEngineFactory this
        start local 1 // java.lang.String obj
        start local 2 // java.lang.String method
        start local 3 // java.lang.String[] args
         0: .line 79
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
         1: .line 80
            aload 1 /* obj */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
         2: .line 81
            aload 2 /* method */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 40
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
         3: .line 79
            astore 4 /* sb */
        start local 4 // java.lang.StringBuilder sb
         4: .line 82
            aload 3 /* args */
            arraylength
            istore 5 /* len */
        start local 5 // int len
         5: .line 84
            iload 5 /* len */
            ifle 7
         6: .line 85
            aload 4 /* sb */
            aload 3 /* args */
            iconst_0
            aaload
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 87
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            iconst_1
            istore 6 /* i */
        start local 6 // int i
         8: goto 11
         9: .line 88
      StackMap locals: int
      StackMap stack:
            aload 4 /* sb */
            bipush 44
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 3 /* args */
            iload 6 /* i */
            aaload
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 87
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 6 /* i */
            iload 5 /* len */
            if_icmplt 9
        end local 6 // int i
        12: .line 90
            aload 4 /* sb */
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        13: .line 92
            aload 4 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 5 // int len
        end local 4 // java.lang.StringBuilder sb
        end local 3 // java.lang.String[] args
        end local 2 // java.lang.String method
        end local 1 // java.lang.String obj
        end local 0 // jdk.nashorn.api.scripting.NashornScriptEngineFactory this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    this  Ljdk/nashorn/api/scripting/NashornScriptEngineFactory;
            0   14     1     obj  Ljava/lang/String;
            0   14     2  method  Ljava/lang/String;
            0   14     3    args  [Ljava/lang/String;
            4   14     4      sb  Ljava/lang/StringBuilder;
            5   14     5     len  I
            8   12     6       i  I
    MethodParameters:
        Name  Flags
      obj     final
      method  final
      args    final

  public java.util.List<java.lang.String> getMimeTypes();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.api.scripting.NashornScriptEngineFactory this
         0: .line 97
            getstatic jdk.nashorn.api.scripting.NashornScriptEngineFactory.mimeTypes:Ljava/util/List;
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            areturn
        end local 0 // jdk.nashorn.api.scripting.NashornScriptEngineFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/api/scripting/NashornScriptEngineFactory;
    Signature: ()Ljava/util/List<Ljava/lang/String;>;

  public java.util.List<java.lang.String> getNames();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.api.scripting.NashornScriptEngineFactory this
         0: .line 102
            getstatic jdk.nashorn.api.scripting.NashornScriptEngineFactory.names:Ljava/util/List;
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            areturn
        end local 0 // jdk.nashorn.api.scripting.NashornScriptEngineFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/api/scripting/NashornScriptEngineFactory;
    Signature: ()Ljava/util/List<Ljava/lang/String;>;

  public java.lang.String getOutputStatement(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.nashorn.api.scripting.NashornScriptEngineFactory this
        start local 1 // java.lang.String toDisplay
         0: .line 107
            new java.lang.StringBuilder
            dup
            ldc "print("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* toDisplay */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.String toDisplay
        end local 0 // jdk.nashorn.api.scripting.NashornScriptEngineFactory this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Ljdk/nashorn/api/scripting/NashornScriptEngineFactory;
            0    1     1  toDisplay  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      toDisplay  final

  public java.lang.Object getParameter(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // jdk.nashorn.api.scripting.NashornScriptEngineFactory this
        start local 1 // java.lang.String key
         0: .line 112
            aload 1 /* key */
            dup
            astore 2
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 6
          -1073020410: 1
          -1047659667: 2
           -917703229: 3
           -852670884: 4
           -125973898: 5
           1224369528: 6
              default: 13
          }
      StackMap locals: java.lang.String
      StackMap stack:
         1: aload 2
            ldc "javax.script.engine_version"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 9
            goto 13
      StackMap locals:
      StackMap stack:
         2: aload 2
            ldc "javax.script.engine"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 8
            goto 13
      StackMap locals:
      StackMap stack:
         3: aload 2
            ldc "javax.script.language"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 10
            goto 13
      StackMap locals:
      StackMap stack:
         4: aload 2
            ldc "javax.script.language_version"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 11
            goto 13
      StackMap locals:
      StackMap stack:
         5: aload 2
            ldc "javax.script.name"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 7
            goto 13
      StackMap locals:
      StackMap stack:
         6: aload 2
            ldc "THREADING"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 12
            goto 13
         7: .line 114
      StackMap locals:
      StackMap stack:
            ldc "javascript"
            areturn
         8: .line 116
      StackMap locals:
      StackMap stack:
            ldc "Oracle Nashorn"
            areturn
         9: .line 118
      StackMap locals:
      StackMap stack:
            invokestatic jdk.nashorn.internal.runtime.Version.version:()Ljava/lang/String;
            areturn
        10: .line 120
      StackMap locals:
      StackMap stack:
            ldc "ECMAScript"
            areturn
        11: .line 122
      StackMap locals:
      StackMap stack:
            ldc "ECMA - 262 Edition 5.1"
            areturn
        12: .line 126
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        13: .line 128
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.lang.String key
        end local 0 // jdk.nashorn.api.scripting.NashornScriptEngineFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Ljdk/nashorn/api/scripting/NashornScriptEngineFactory;
            0   14     1   key  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      key   final

  public java.lang.String getProgram(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=2, locals=7, args_size=2
        start local 0 // jdk.nashorn.api.scripting.NashornScriptEngineFactory this
        start local 1 // java.lang.String[] statements
         0: .line 134
            aload 1 /* statements */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 135
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* sb */
        start local 2 // java.lang.StringBuilder sb
         2: .line 137
            aload 1 /* statements */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 6
      StackMap locals: jdk.nashorn.api.scripting.NashornScriptEngineFactory java.lang.String[] java.lang.StringBuilder top int int java.lang.String[]
      StackMap stack:
         3: aload 6
            iload 4
            aaload
            astore 3 /* statement */
        start local 3 // java.lang.String statement
         4: .line 138
            aload 2 /* sb */
            aload 3 /* statement */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 59
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 3 // java.lang.String statement
         5: .line 137
            iinc 4 1
      StackMap locals:
      StackMap stack:
         6: iload 4
            iload 5
            if_icmplt 3
         7: .line 141
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder sb
        end local 1 // java.lang.String[] statements
        end local 0 // jdk.nashorn.api.scripting.NashornScriptEngineFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Ljdk/nashorn/api/scripting/NashornScriptEngineFactory;
            0    8     1  statements  [Ljava/lang/String;
            2    8     2          sb  Ljava/lang/StringBuilder;
            4    5     3   statement  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      statements  final

  public javax.script.ScriptEngine getScriptEngine();
    descriptor: ()Ljavax/script/ScriptEngine;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // jdk.nashorn.api.scripting.NashornScriptEngineFactory this
         0: .line 150
            new jdk.nashorn.api.scripting.NashornScriptEngine
            dup
            aload 0 /* this */
            getstatic jdk.nashorn.api.scripting.NashornScriptEngineFactory.DEFAULT_OPTIONS:[Ljava/lang/String;
            invokestatic jdk.nashorn.api.scripting.NashornScriptEngineFactory.getAppClassLoader:()Ljava/lang/ClassLoader;
            aconst_null
            invokespecial jdk.nashorn.api.scripting.NashornScriptEngine.<init>:(Ljdk/nashorn/api/scripting/NashornScriptEngineFactory;[Ljava/lang/String;Ljava/lang/ClassLoader;Ljdk/nashorn/api/scripting/ClassFilter;)V
         1: areturn
         2: .line 151
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            astore 1 /* e */
        start local 1 // java.lang.RuntimeException e
         3: .line 152
            getstatic jdk.nashorn.internal.runtime.Context.DEBUG:Z
            ifeq 5
         4: .line 153
            aload 1 /* e */
            invokevirtual java.lang.RuntimeException.printStackTrace:()V
         5: .line 155
      StackMap locals: java.lang.RuntimeException
      StackMap stack:
            aload 1 /* e */
            athrow
        end local 1 // java.lang.RuntimeException e
        end local 0 // jdk.nashorn.api.scripting.NashornScriptEngineFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljdk/nashorn/api/scripting/NashornScriptEngineFactory;
            3    6     1     e  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.RuntimeException

  public javax.script.ScriptEngine getScriptEngine(java.lang.ClassLoader);
    descriptor: (Ljava/lang/ClassLoader;)Ljavax/script/ScriptEngine;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jdk.nashorn.api.scripting.NashornScriptEngineFactory this
        start local 1 // java.lang.ClassLoader appLoader
         0: .line 169
            aload 0 /* this */
            getstatic jdk.nashorn.api.scripting.NashornScriptEngineFactory.DEFAULT_OPTIONS:[Ljava/lang/String;
            aload 1 /* appLoader */
            aconst_null
            invokevirtual jdk.nashorn.api.scripting.NashornScriptEngineFactory.newEngine:([Ljava/lang/String;Ljava/lang/ClassLoader;Ljdk/nashorn/api/scripting/ClassFilter;)Ljavax/script/ScriptEngine;
            areturn
        end local 1 // java.lang.ClassLoader appLoader
        end local 0 // jdk.nashorn.api.scripting.NashornScriptEngineFactory this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Ljdk/nashorn/api/scripting/NashornScriptEngineFactory;
            0    1     1  appLoader  Ljava/lang/ClassLoader;
    MethodParameters:
           Name  Flags
      appLoader  final

  public javax.script.ScriptEngine getScriptEngine(jdk.nashorn.api.scripting.ClassFilter);
    descriptor: (Ljdk/nashorn/api/scripting/ClassFilter;)Ljavax/script/ScriptEngine;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jdk.nashorn.api.scripting.NashornScriptEngineFactory this
        start local 1 // jdk.nashorn.api.scripting.ClassFilter classFilter
         0: .line 183
            aload 0 /* this */
            getstatic jdk.nashorn.api.scripting.NashornScriptEngineFactory.DEFAULT_OPTIONS:[Ljava/lang/String;
            invokestatic jdk.nashorn.api.scripting.NashornScriptEngineFactory.getAppClassLoader:()Ljava/lang/ClassLoader;
            aload 1 /* classFilter */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast jdk.nashorn.api.scripting.ClassFilter
            invokevirtual jdk.nashorn.api.scripting.NashornScriptEngineFactory.newEngine:([Ljava/lang/String;Ljava/lang/ClassLoader;Ljdk/nashorn/api/scripting/ClassFilter;)Ljavax/script/ScriptEngine;
            areturn
        end local 1 // jdk.nashorn.api.scripting.ClassFilter classFilter
        end local 0 // jdk.nashorn.api.scripting.NashornScriptEngineFactory this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Ljdk/nashorn/api/scripting/NashornScriptEngineFactory;
            0    1     1  classFilter  Ljdk/nashorn/api/scripting/ClassFilter;
    MethodParameters:
             Name  Flags
      classFilter  final

  public javax.script.ScriptEngine getScriptEngine(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)Ljavax/script/ScriptEngine;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jdk.nashorn.api.scripting.NashornScriptEngineFactory this
        start local 1 // java.lang.String[] args
         0: .line 197
            aload 0 /* this */
            aload 1 /* args */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String[]
            invokestatic jdk.nashorn.api.scripting.NashornScriptEngineFactory.getAppClassLoader:()Ljava/lang/ClassLoader;
            aconst_null
            invokevirtual jdk.nashorn.api.scripting.NashornScriptEngineFactory.newEngine:([Ljava/lang/String;Ljava/lang/ClassLoader;Ljdk/nashorn/api/scripting/ClassFilter;)Ljavax/script/ScriptEngine;
            areturn
        end local 1 // java.lang.String[] args
        end local 0 // jdk.nashorn.api.scripting.NashornScriptEngineFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/api/scripting/NashornScriptEngineFactory;
            0    1     1  args  [Ljava/lang/String;
    MethodParameters:
      Name  Flags
      args  final

  public javax.script.ScriptEngine getScriptEngine(java.lang.String[], java.lang.ClassLoader);
    descriptor: ([Ljava/lang/String;Ljava/lang/ClassLoader;)Ljavax/script/ScriptEngine;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // jdk.nashorn.api.scripting.NashornScriptEngineFactory this
        start local 1 // java.lang.String[] args
        start local 2 // java.lang.ClassLoader appLoader
         0: .line 212
            aload 0 /* this */
            aload 1 /* args */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String[]
            aload 2 /* appLoader */
            aconst_null
            invokevirtual jdk.nashorn.api.scripting.NashornScriptEngineFactory.newEngine:([Ljava/lang/String;Ljava/lang/ClassLoader;Ljdk/nashorn/api/scripting/ClassFilter;)Ljavax/script/ScriptEngine;
            areturn
        end local 2 // java.lang.ClassLoader appLoader
        end local 1 // java.lang.String[] args
        end local 0 // jdk.nashorn.api.scripting.NashornScriptEngineFactory this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Ljdk/nashorn/api/scripting/NashornScriptEngineFactory;
            0    1     1       args  [Ljava/lang/String;
            0    1     2  appLoader  Ljava/lang/ClassLoader;
    MethodParameters:
           Name  Flags
      args       final
      appLoader  final

  public javax.script.ScriptEngine getScriptEngine(java.lang.String[], java.lang.ClassLoader, jdk.nashorn.api.scripting.ClassFilter);
    descriptor: ([Ljava/lang/String;Ljava/lang/ClassLoader;Ljdk/nashorn/api/scripting/ClassFilter;)Ljavax/script/ScriptEngine;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // jdk.nashorn.api.scripting.NashornScriptEngineFactory this
        start local 1 // java.lang.String[] args
        start local 2 // java.lang.ClassLoader appLoader
        start local 3 // jdk.nashorn.api.scripting.ClassFilter classFilter
         0: .line 228
            aload 0 /* this */
            aload 1 /* args */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String[]
            aload 2 /* appLoader */
            aload 3 /* classFilter */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast jdk.nashorn.api.scripting.ClassFilter
            invokevirtual jdk.nashorn.api.scripting.NashornScriptEngineFactory.newEngine:([Ljava/lang/String;Ljava/lang/ClassLoader;Ljdk/nashorn/api/scripting/ClassFilter;)Ljavax/script/ScriptEngine;
            areturn
        end local 3 // jdk.nashorn.api.scripting.ClassFilter classFilter
        end local 2 // java.lang.ClassLoader appLoader
        end local 1 // java.lang.String[] args
        end local 0 // jdk.nashorn.api.scripting.NashornScriptEngineFactory this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Ljdk/nashorn/api/scripting/NashornScriptEngineFactory;
            0    1     1         args  [Ljava/lang/String;
            0    1     2    appLoader  Ljava/lang/ClassLoader;
            0    1     3  classFilter  Ljdk/nashorn/api/scripting/ClassFilter;
    MethodParameters:
             Name  Flags
      args         final
      appLoader    final
      classFilter  final

  private javax.script.ScriptEngine newEngine(java.lang.String[], java.lang.ClassLoader, jdk.nashorn.api.scripting.ClassFilter);
    descriptor: ([Ljava/lang/String;Ljava/lang/ClassLoader;Ljdk/nashorn/api/scripting/ClassFilter;)Ljavax/script/ScriptEngine;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // jdk.nashorn.api.scripting.NashornScriptEngineFactory this
        start local 1 // java.lang.String[] args
        start local 2 // java.lang.ClassLoader appLoader
        start local 3 // jdk.nashorn.api.scripting.ClassFilter classFilter
         0: .line 232
            invokestatic jdk.nashorn.api.scripting.NashornScriptEngineFactory.checkConfigPermission:()V
         1: .line 234
            new jdk.nashorn.api.scripting.NashornScriptEngine
            dup
            aload 0 /* this */
            aload 1 /* args */
            aload 2 /* appLoader */
            aload 3 /* classFilter */
            invokespecial jdk.nashorn.api.scripting.NashornScriptEngine.<init>:(Ljdk/nashorn/api/scripting/NashornScriptEngineFactory;[Ljava/lang/String;Ljava/lang/ClassLoader;Ljdk/nashorn/api/scripting/ClassFilter;)V
         2: areturn
         3: .line 235
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            astore 4 /* e */
        start local 4 // java.lang.RuntimeException e
         4: .line 236
            getstatic jdk.nashorn.internal.runtime.Context.DEBUG:Z
            ifeq 6
         5: .line 237
            aload 4 /* e */
            invokevirtual java.lang.RuntimeException.printStackTrace:()V
         6: .line 239
      StackMap locals: java.lang.RuntimeException
      StackMap stack:
            aload 4 /* e */
            athrow
        end local 4 // java.lang.RuntimeException e
        end local 3 // jdk.nashorn.api.scripting.ClassFilter classFilter
        end local 2 // java.lang.ClassLoader appLoader
        end local 1 // java.lang.String[] args
        end local 0 // jdk.nashorn.api.scripting.NashornScriptEngineFactory this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Ljdk/nashorn/api/scripting/NashornScriptEngineFactory;
            0    7     1         args  [Ljava/lang/String;
            0    7     2    appLoader  Ljava/lang/ClassLoader;
            0    7     3  classFilter  Ljdk/nashorn/api/scripting/ClassFilter;
            4    7     4            e  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.RuntimeException
    MethodParameters:
             Name  Flags
      args         final
      appLoader    final
      classFilter  final

  private static void checkConfigPermission();
    descriptor: ()V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=0
         0: .line 246
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 0 /* sm */
        start local 0 // java.lang.SecurityManager sm
         1: .line 247
            aload 0 /* sm */
            ifnull 3
         2: .line 248
            aload 0 /* sm */
            new java.lang.RuntimePermission
            dup
            ldc "nashorn.setConfig"
            invokespecial java.lang.RuntimePermission.<init>:(Ljava/lang/String;)V
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
         3: .line 250
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            return
        end local 0 // java.lang.SecurityManager sm
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1    4     0    sm  Ljava/lang/SecurityManager;

  private static java.util.List<java.lang.String> immutableList(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)Ljava/util/List;
    flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String[] elements
         0: .line 275
            aload 0 /* elements */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            areturn
        end local 0 // java.lang.String[] elements
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  elements  [Ljava/lang/String;
    Signature: ([Ljava/lang/String;)Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
          Name  Flags
      elements  final

  private static java.lang.ClassLoader getAppClassLoader();
    descriptor: ()Ljava/lang/ClassLoader;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=0
         0: .line 282
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
            astore 0 /* ccl */
        start local 0 // java.lang.ClassLoader ccl
         1: .line 283
            aload 0 /* ccl */
            ifnonnull 2
            ldc Ljdk/nashorn/api/scripting/NashornScriptEngineFactory;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            goto 3
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
         2: aload 0 /* ccl */
      StackMap locals:
      StackMap stack: java.lang.ClassLoader
         3: areturn
        end local 0 // java.lang.ClassLoader ccl
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1    4     0   ccl  Ljava/lang/ClassLoader;
}
SourceFile: "NashornScriptEngineFactory.java"