final class jdk.nashorn.tools.jjs.NashornCompleter
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: jdk.nashorn.tools.jjs.NashornCompleter
  super_class: java.lang.Object
{
  private final jdk.nashorn.internal.runtime.Context context;
    descriptor: Ljdk/nashorn/internal/runtime/Context;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jdk.nashorn.internal.objects.Global global;
    descriptor: Ljdk/nashorn/internal/objects/Global;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jdk.nashorn.internal.runtime.ScriptEnvironment env;
    descriptor: Ljdk/nashorn/internal/runtime/ScriptEnvironment;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jdk.nashorn.tools.PartialParser partialParser;
    descriptor: Ljdk/nashorn/tools/PartialParser;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jdk.nashorn.tools.jjs.PropertiesHelper propsHelper;
    descriptor: Ljdk/nashorn/tools/jjs/PropertiesHelper;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jdk.nashorn.internal.runtime.ScriptFunction fileChooserFunc;
    descriptor: Ljdk/nashorn/internal/runtime/ScriptFunction;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jdk.nashorn.api.tree.Parser parser;
    descriptor: Ljdk/nashorn/api/tree/Parser;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static final boolean BACKSLASH_FILE_SEPARATOR;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.regex.Pattern SELECT_PROP_MISSING;
    descriptor: Ljava/util/regex/Pattern;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.regex.Pattern LOAD_CALL;
    descriptor: Ljava/util/regex/Pattern;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 78
            getstatic java.io.File.separatorChar:C
            bipush 92
            if_icmpne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic jdk.nashorn.tools.jjs.NashornCompleter.BACKSLASH_FILE_SEPARATOR:Z
         3: .line 210
            ldc ".*\\.\\s*"
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
            putstatic jdk.nashorn.tools.jjs.NashornCompleter.SELECT_PROP_MISSING:Ljava/util/regex/Pattern;
         4: .line 213
            ldc "\\s*load\\s*\\(\\s*"
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
            putstatic jdk.nashorn.tools.jjs.NashornCompleter.LOAD_CALL:Ljava/util/regex/Pattern;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(jdk.nashorn.internal.runtime.Context, jdk.nashorn.internal.objects.Global, jdk.nashorn.tools.PartialParser, jdk.nashorn.tools.jjs.PropertiesHelper, jdk.nashorn.internal.runtime.ScriptFunction);
    descriptor: (Ljdk/nashorn/internal/runtime/Context;Ljdk/nashorn/internal/objects/Global;Ljdk/nashorn/tools/PartialParser;Ljdk/nashorn/tools/jjs/PropertiesHelper;Ljdk/nashorn/internal/runtime/ScriptFunction;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=6, args_size=6
        start local 0 // jdk.nashorn.tools.jjs.NashornCompleter this
        start local 1 // jdk.nashorn.internal.runtime.Context context
        start local 2 // jdk.nashorn.internal.objects.Global global
        start local 3 // jdk.nashorn.tools.PartialParser partialParser
        start local 4 // jdk.nashorn.tools.jjs.PropertiesHelper propsHelper
        start local 5 // jdk.nashorn.internal.runtime.ScriptFunction fileChooserFunc
         0: .line 80
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 83
            aload 0 /* this */
            aload 1 /* context */
            putfield jdk.nashorn.tools.jjs.NashornCompleter.context:Ljdk/nashorn/internal/runtime/Context;
         2: .line 84
            aload 0 /* this */
            aload 2 /* global */
            putfield jdk.nashorn.tools.jjs.NashornCompleter.global:Ljdk/nashorn/internal/objects/Global;
         3: .line 85
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual jdk.nashorn.internal.runtime.Context.getEnv:()Ljdk/nashorn/internal/runtime/ScriptEnvironment;
            putfield jdk.nashorn.tools.jjs.NashornCompleter.env:Ljdk/nashorn/internal/runtime/ScriptEnvironment;
         4: .line 86
            aload 0 /* this */
            aload 3 /* partialParser */
            putfield jdk.nashorn.tools.jjs.NashornCompleter.partialParser:Ljdk/nashorn/tools/PartialParser;
         5: .line 87
            aload 0 /* this */
            aload 4 /* propsHelper */
            putfield jdk.nashorn.tools.jjs.NashornCompleter.propsHelper:Ljdk/nashorn/tools/jjs/PropertiesHelper;
         6: .line 88
            aload 0 /* this */
            aload 5 /* fileChooserFunc */
            putfield jdk.nashorn.tools.jjs.NashornCompleter.fileChooserFunc:Ljdk/nashorn/internal/runtime/ScriptFunction;
         7: .line 89
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.tools.jjs.NashornCompleter.env:Ljdk/nashorn/internal/runtime/ScriptEnvironment;
            invokestatic jdk.nashorn.tools.jjs.NashornCompleter.createParser:(Ljdk/nashorn/internal/runtime/ScriptEnvironment;)Ljdk/nashorn/api/tree/Parser;
            putfield jdk.nashorn.tools.jjs.NashornCompleter.parser:Ljdk/nashorn/api/tree/Parser;
         8: .line 90
            return
        end local 5 // jdk.nashorn.internal.runtime.ScriptFunction fileChooserFunc
        end local 4 // jdk.nashorn.tools.jjs.PropertiesHelper propsHelper
        end local 3 // jdk.nashorn.tools.PartialParser partialParser
        end local 2 // jdk.nashorn.internal.objects.Global global
        end local 1 // jdk.nashorn.internal.runtime.Context context
        end local 0 // jdk.nashorn.tools.jjs.NashornCompleter this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    9     0             this  Ljdk/nashorn/tools/jjs/NashornCompleter;
            0    9     1          context  Ljdk/nashorn/internal/runtime/Context;
            0    9     2           global  Ljdk/nashorn/internal/objects/Global;
            0    9     3    partialParser  Ljdk/nashorn/tools/PartialParser;
            0    9     4      propsHelper  Ljdk/nashorn/tools/jjs/PropertiesHelper;
            0    9     5  fileChooserFunc  Ljdk/nashorn/internal/runtime/ScriptFunction;
    MethodParameters:
                 Name  Flags
      context          final
      global           final
      partialParser    final
      propsHelper      final
      fileChooserFunc  final

  boolean isSyntaxErrorAt(java.lang.Throwable, int, int);
    descriptor: (Ljava/lang/Throwable;II)Z
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // jdk.nashorn.tools.jjs.NashornCompleter this
        start local 1 // java.lang.Throwable exp
        start local 2 // int line
        start local 3 // int column
         0: .line 103
            aload 1 /* exp */
            instanceof jdk.nashorn.internal.runtime.ECMAException
            ifeq 4
         1: .line 104
            aload 1 /* exp */
            checkcast jdk.nashorn.internal.runtime.ECMAException
            astore 4 /* eexp */
        start local 4 // jdk.nashorn.internal.runtime.ECMAException eexp
         2: .line 105
            aload 4 /* eexp */
            invokevirtual jdk.nashorn.internal.runtime.ECMAException.getThrown:()Ljava/lang/Object;
            instanceof jdk.nashorn.internal.objects.NativeSyntaxError
            ifeq 4
         3: .line 106
            aload 0 /* this */
            aload 4 /* eexp */
            invokevirtual jdk.nashorn.internal.runtime.ECMAException.getCause:()Ljava/lang/Throwable;
            iload 2 /* line */
            iload 3 /* column */
            invokevirtual jdk.nashorn.tools.jjs.NashornCompleter.isParseErrorAt:(Ljava/lang/Throwable;II)Z
            ireturn
        end local 4 // jdk.nashorn.internal.runtime.ECMAException eexp
         4: .line 110
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // int column
        end local 2 // int line
        end local 1 // java.lang.Throwable exp
        end local 0 // jdk.nashorn.tools.jjs.NashornCompleter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Ljdk/nashorn/tools/jjs/NashornCompleter;
            0    5     1     exp  Ljava/lang/Throwable;
            0    5     2    line  I
            0    5     3  column  I
            2    4     4    eexp  Ljdk/nashorn/internal/runtime/ECMAException;
    MethodParameters:
        Name  Flags
      exp     final
      line    final
      column  final

  boolean isParseErrorAt(java.lang.Throwable, int, int);
    descriptor: (Ljava/lang/Throwable;II)Z
    flags: (0x0000) 
    Code:
      stack=2, locals=5, args_size=4
        start local 0 // jdk.nashorn.tools.jjs.NashornCompleter this
        start local 1 // java.lang.Throwable exp
        start local 2 // int line
        start local 3 // int column
         0: .line 123
            aload 1 /* exp */
            instanceof jdk.nashorn.api.scripting.NashornException
            ifeq 4
         1: .line 124
            aload 1 /* exp */
            checkcast jdk.nashorn.api.scripting.NashornException
            astore 4 /* nexp */
        start local 4 // jdk.nashorn.api.scripting.NashornException nexp
         2: .line 125
            aload 4 /* nexp */
            invokevirtual jdk.nashorn.api.scripting.NashornException.getLineNumber:()I
            iload 2 /* line */
            if_icmpne 3
            aload 4 /* nexp */
            invokevirtual jdk.nashorn.api.scripting.NashornException.getColumnNumber:()I
            iload 3 /* column */
            if_icmpne 3
            iconst_1
            ireturn
      StackMap locals: jdk.nashorn.api.scripting.NashornException
      StackMap stack:
         3: iconst_0
            ireturn
        end local 4 // jdk.nashorn.api.scripting.NashornException nexp
         4: .line 127
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // int column
        end local 2 // int line
        end local 1 // java.lang.Throwable exp
        end local 0 // jdk.nashorn.tools.jjs.NashornCompleter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Ljdk/nashorn/tools/jjs/NashornCompleter;
            0    5     1     exp  Ljava/lang/Throwable;
            0    5     2    line  I
            0    5     3  column  I
            2    4     4    nexp  Ljdk/nashorn/api/scripting/NashornException;
    MethodParameters:
        Name  Flags
      exp     final
      line    final
      column  final

  java.lang.String readMoreLines(java.lang.String, java.lang.Exception, jdk.nashorn.tools.jjs.Console, java.lang.String, java.io.PrintWriter);
    descriptor: (Ljava/lang/String;Ljava/lang/Exception;Ljdk/nashorn/tools/jjs/Console;Ljava/lang/String;Ljava/io/PrintWriter;)Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=4, locals=11, args_size=6
        start local 0 // jdk.nashorn.tools.jjs.NashornCompleter this
        start local 1 // java.lang.String firstLine
        start local 2 // java.lang.Exception exp
        start local 3 // jdk.nashorn.tools.jjs.Console in
        start local 4 // java.lang.String prompt
        start local 5 // java.io.PrintWriter err
         0: .line 146
            iconst_1
            istore 6 /* line */
        start local 6 // int line
         1: .line 147
            new java.lang.StringBuilder
            dup
            aload 1 /* firstLine */
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 7 /* buf */
        start local 7 // java.lang.StringBuilder buf
         2: .line 149
      StackMap locals: int java.lang.StringBuilder
      StackMap stack:
            aload 7 /* buf */
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         3: .line 150
            aconst_null
            astore 8 /* curLine */
        start local 8 // java.lang.String curLine
         4: .line 152
            aload 3 /* in */
            aload 4 /* prompt */
            aload 4 /* prompt */
            invokevirtual jdk.nashorn.tools.jjs.Console.readLine:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 8 /* curLine */
         5: .line 153
            aload 7 /* buf */
            aload 8 /* curLine */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 154
            iinc 6 /* line */ 1
         7: .line 155
            goto 15
      StackMap locals: jdk.nashorn.tools.jjs.NashornCompleter java.lang.String java.lang.Exception jdk.nashorn.tools.jjs.Console java.lang.String java.io.PrintWriter int java.lang.StringBuilder java.lang.String
      StackMap stack: java.lang.Throwable
         8: astore 9 /* th */
        start local 9 // java.lang.Throwable th
         9: .line 156
            aload 9 /* th */
            instanceof jdk.internal.org.jline.reader.UserInterruptException
            ifeq 11
        10: .line 158
            aconst_null
            areturn
        11: .line 161
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 5 /* err */
            aload 9 /* th */
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/Object;)V
        12: .line 162
            aload 0 /* this */
            getfield jdk.nashorn.tools.jjs.NashornCompleter.env:Ljdk/nashorn/internal/runtime/ScriptEnvironment;
            getfield jdk.nashorn.internal.runtime.ScriptEnvironment._dump_on_error:Z
            ifeq 14
        13: .line 163
            aload 9 /* th */
            aload 5 /* err */
            invokevirtual java.lang.Throwable.printStackTrace:(Ljava/io/PrintWriter;)V
        14: .line 165
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 9 // java.lang.Throwable th
        15: .line 169
      StackMap locals:
      StackMap stack:
            aload 7 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 9 /* allLines */
        start local 9 // java.lang.String allLines
        16: .line 171
            aload 0 /* this */
            getfield jdk.nashorn.tools.jjs.NashornCompleter.parser:Ljdk/nashorn/api/tree/Parser;
            ldc "<shell>"
            aload 9 /* allLines */
            aconst_null
            invokeinterface jdk.nashorn.api.tree.Parser.parse:(Ljava/lang/String;Ljava/lang/String;Ljdk/nashorn/api/tree/DiagnosticListener;)Ljdk/nashorn/api/tree/CompilationUnitTree;
            pop
        17: .line 172
            goto 25
      StackMap locals: jdk.nashorn.tools.jjs.NashornCompleter java.lang.String java.lang.Exception jdk.nashorn.tools.jjs.Console java.lang.String java.io.PrintWriter int java.lang.StringBuilder java.lang.String java.lang.String
      StackMap stack: java.lang.Exception
        18: astore 10 /* pexp */
        start local 10 // java.lang.Exception pexp
        19: .line 175
            aload 0 /* this */
            aload 10 /* pexp */
            iload 6 /* line */
            aload 8 /* curLine */
            invokevirtual java.lang.String.length:()I
            invokevirtual jdk.nashorn.tools.jjs.NashornCompleter.isParseErrorAt:(Ljava/lang/Throwable;II)Z
            ifeq 21
        20: .line 176
            goto 2
        21: .line 179
      StackMap locals: java.lang.Exception
      StackMap stack:
            aload 5 /* err */
            aload 10 /* pexp */
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/Object;)V
        22: .line 180
            aload 0 /* this */
            getfield jdk.nashorn.tools.jjs.NashornCompleter.env:Ljdk/nashorn/internal/runtime/ScriptEnvironment;
            getfield jdk.nashorn.internal.runtime.ScriptEnvironment._dump_on_error:Z
            ifeq 24
        23: .line 181
            aload 10 /* pexp */
            aload 5 /* err */
            invokevirtual java.lang.Exception.printStackTrace:(Ljava/io/PrintWriter;)V
        24: .line 183
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 10 // java.lang.Exception pexp
        25: .line 188
      StackMap locals:
      StackMap stack:
            aload 7 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 9 // java.lang.String allLines
        end local 8 // java.lang.String curLine
        end local 7 // java.lang.StringBuilder buf
        end local 6 // int line
        end local 5 // java.io.PrintWriter err
        end local 4 // java.lang.String prompt
        end local 3 // jdk.nashorn.tools.jjs.Console in
        end local 2 // java.lang.Exception exp
        end local 1 // java.lang.String firstLine
        end local 0 // jdk.nashorn.tools.jjs.NashornCompleter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   26     0       this  Ljdk/nashorn/tools/jjs/NashornCompleter;
            0   26     1  firstLine  Ljava/lang/String;
            0   26     2        exp  Ljava/lang/Exception;
            0   26     3         in  Ljdk/nashorn/tools/jjs/Console;
            0   26     4     prompt  Ljava/lang/String;
            0   26     5        err  Ljava/io/PrintWriter;
            1   26     6       line  I
            2   26     7        buf  Ljava/lang/StringBuilder;
            4   26     8    curLine  Ljava/lang/String;
            9   15     9         th  Ljava/lang/Throwable;
           16   26     9   allLines  Ljava/lang/String;
           19   25    10       pexp  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           4     7       8  Class java.lang.Throwable
          16    17      18  Class java.lang.Exception
    MethodParameters:
           Name  Flags
      firstLine  final
      exp        final
      in         final
      prompt     final
      err        final

  public boolean isComplete(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // jdk.nashorn.tools.jjs.NashornCompleter this
        start local 1 // java.lang.String input
         0: .line 194
            aload 0 /* this */
            getfield jdk.nashorn.tools.jjs.NashornCompleter.parser:Ljdk/nashorn/api/tree/Parser;
            ldc "<shell>"
            aload 1 /* input */
            aconst_null
            invokeinterface jdk.nashorn.api.tree.Parser.parse:(Ljava/lang/String;Ljava/lang/String;Ljdk/nashorn/api/tree/DiagnosticListener;)Ljdk/nashorn/api/tree/CompilationUnitTree;
            pop
         1: .line 195
            goto 7
      StackMap locals:
      StackMap stack: java.lang.Exception
         2: astore 2 /* pexp */
        start local 2 // java.lang.Exception pexp
         3: .line 198
            aload 1 /* input */
            ldc "\n"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            arraylength
            istore 3 /* line */
        start local 3 // int line
         4: .line 199
            aload 1 /* input */
            invokevirtual java.lang.String.length:()I
            aload 1 /* input */
            ldc "\n"
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            iconst_1
            iadd
            isub
            istore 4 /* lastLineLen */
        start local 4 // int lastLineLen
         5: .line 201
            aload 0 /* this */
            aload 2 /* pexp */
            iload 3 /* line */
            iload 4 /* lastLineLen */
            invokevirtual jdk.nashorn.tools.jjs.NashornCompleter.isParseErrorAt:(Ljava/lang/Throwable;II)Z
            ifeq 7
         6: .line 202
            iconst_0
            ireturn
        end local 4 // int lastLineLen
        end local 3 // int line
        end local 2 // java.lang.Exception pexp
         7: .line 205
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // java.lang.String input
        end local 0 // jdk.nashorn.tools.jjs.NashornCompleter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Ljdk/nashorn/tools/jjs/NashornCompleter;
            0    8     1        input  Ljava/lang/String;
            3    7     2         pexp  Ljava/lang/Exception;
            4    7     3         line  I
            5    7     4  lastLineLen  I
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Exception
    MethodParameters:
       Name  Flags
      input  

  public int complete(java.lang.String, int, java.util.List<jdk.internal.org.jline.reader.Candidate>);
    descriptor: (Ljava/lang/String;ILjava/util/List;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=10, args_size=4
        start local 0 // jdk.nashorn.tools.jjs.NashornCompleter this
        start local 1 // java.lang.String test
        start local 2 // int cursor
        start local 3 // java.util.List candidates
         0: .line 217
            iload 2 /* cursor */
            aload 1 /* test */
            invokevirtual java.lang.String.length:()I
            if_icmpeq 2
         1: .line 218
            iload 2 /* cursor */
            ireturn
         2: .line 224
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.tools.jjs.NashornCompleter.partialParser:Ljdk/nashorn/tools/PartialParser;
            aload 0 /* this */
            getfield jdk.nashorn.tools.jjs.NashornCompleter.context:Ljdk/nashorn/internal/runtime/Context;
            aload 1 /* test */
            invokeinterface jdk.nashorn.tools.PartialParser.getLastExpressionStart:(Ljdk/nashorn/internal/runtime/Context;Ljava/lang/String;)I
            istore 4 /* exprStart */
        start local 4 // int exprStart
         3: .line 225
            iload 4 /* exprStart */
            iconst_m1
            if_icmpne 5
         4: .line 226
            iload 2 /* cursor */
            ireturn
         5: .line 231
      StackMap locals: int
      StackMap stack:
            aload 1 /* test */
            iload 4 /* exprStart */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 5 /* exprStr */
        start local 5 // java.lang.String exprStr
         6: .line 234
            getstatic jdk.nashorn.tools.jjs.NashornCompleter.SELECT_PROP_MISSING:Ljava/util/regex/Pattern;
            aload 5 /* exprStr */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            invokevirtual java.util.regex.Matcher.matches:()Z
            istore 6 /* endsWithDot */
        start local 6 // boolean endsWithDot
         7: .line 238
            iload 6 /* endsWithDot */
            ifeq 8
            new java.lang.StringBuilder
            dup
            aload 5 /* exprStr */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "x"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            goto 9
      StackMap locals: java.lang.String int
      StackMap stack:
         8: aload 5 /* exprStr */
      StackMap locals:
      StackMap stack: java.lang.String
         9: astore 7 /* completeExpr */
        start local 7 // java.lang.String completeExpr
        10: .line 240
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.tools.jjs.NashornCompleter.parser:Ljdk/nashorn/api/tree/Parser;
            aload 7 /* completeExpr */
            invokevirtual jdk.nashorn.tools.jjs.NashornCompleter.getTopLevelExpression:(Ljdk/nashorn/api/tree/Parser;Ljava/lang/String;)Ljdk/nashorn/api/tree/ExpressionTree;
            astore 8 /* topExpr */
        start local 8 // jdk.nashorn.api.tree.ExpressionTree topExpr
        11: .line 241
            aload 8 /* topExpr */
            ifnonnull 20
        12: .line 244
            aload 0 /* this */
            getfield jdk.nashorn.tools.jjs.NashornCompleter.fileChooserFunc:Ljdk/nashorn/internal/runtime/ScriptFunction;
            ifnull 19
            getstatic jdk.nashorn.tools.jjs.NashornCompleter.LOAD_CALL:Ljava/util/regex/Pattern;
            aload 1 /* test */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            invokevirtual java.util.regex.Matcher.matches:()Z
            ifeq 19
        13: .line 245
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.tools.jjs.NashornCompleter.context:Ljdk/nashorn/internal/runtime/Context;
            invokevirtual jdk.nashorn.internal.runtime.Context.getErr:()Ljava/io/PrintWriter;
            invokevirtual jdk.nashorn.tools.jjs.NashornCompleter.readFileName:(Ljava/io/PrintWriter;)Ljava/lang/String;
            astore 9 /* name */
        start local 9 // java.lang.String name
        14: .line 246
            aload 9 /* name */
            ifnull 19
        15: .line 248
            getstatic jdk.nashorn.tools.jjs.NashornCompleter.BACKSLASH_FILE_SEPARATOR:Z
            ifeq 17
        16: .line 249
            aload 9 /* name */
            ldc "\\"
            ldc "\\\\"
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            astore 9 /* name */
        17: .line 251
      StackMap locals: java.lang.String jdk.nashorn.api.tree.ExpressionTree java.lang.String
      StackMap stack:
            aload 3 /* candidates */
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "\""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* name */
            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;
            invokevirtual jdk.nashorn.tools.jjs.NashornCompleter.createCandidate:(Ljava/lang/String;)Ljdk/internal/org/jline/reader/Candidate;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        18: .line 252
            iload 2 /* cursor */
            aload 9 /* name */
            invokevirtual java.lang.String.length:()I
            iadd
            iconst_3
            iadd
            ireturn
        end local 9 // java.lang.String name
        19: .line 257
      StackMap locals:
      StackMap stack:
            iload 2 /* cursor */
            ireturn
        20: .line 262
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 8 /* topExpr */
            invokevirtual jdk.nashorn.tools.jjs.NashornCompleter.getRightMostExpression:(Ljdk/nashorn/api/tree/ExpressionTree;)Ljdk/nashorn/api/tree/Tree;
            astore 9 /* rightMostExpr */
        start local 9 // jdk.nashorn.api.tree.Tree rightMostExpr
        21: .line 263
            aload 9 /* rightMostExpr */
            instanceof jdk.nashorn.api.tree.MemberSelectTree
            ifeq 23
        22: .line 264
            aload 0 /* this */
            aload 5 /* exprStr */
            iload 2 /* cursor */
            aload 3 /* candidates */
            aload 9 /* rightMostExpr */
            checkcast jdk.nashorn.api.tree.MemberSelectTree
            iload 6 /* endsWithDot */
            invokevirtual jdk.nashorn.tools.jjs.NashornCompleter.completeMemberSelect:(Ljava/lang/String;ILjava/util/List;Ljdk/nashorn/api/tree/MemberSelectTree;Z)I
            ireturn
        23: .line 265
      StackMap locals: jdk.nashorn.api.tree.Tree
      StackMap stack:
            aload 9 /* rightMostExpr */
            instanceof jdk.nashorn.api.tree.IdentifierTree
            ifeq 25
        24: .line 266
            aload 0 /* this */
            aload 5 /* exprStr */
            iload 2 /* cursor */
            aload 3 /* candidates */
            aload 9 /* rightMostExpr */
            checkcast jdk.nashorn.api.tree.IdentifierTree
            invokevirtual jdk.nashorn.tools.jjs.NashornCompleter.completeIdentifier:(Ljava/lang/String;ILjava/util/List;Ljdk/nashorn/api/tree/IdentifierTree;)I
            ireturn
        25: .line 269
      StackMap locals:
      StackMap stack:
            iload 2 /* cursor */
            ireturn
        end local 9 // jdk.nashorn.api.tree.Tree rightMostExpr
        end local 8 // jdk.nashorn.api.tree.ExpressionTree topExpr
        end local 7 // java.lang.String completeExpr
        end local 6 // boolean endsWithDot
        end local 5 // java.lang.String exprStr
        end local 4 // int exprStart
        end local 3 // java.util.List candidates
        end local 2 // int cursor
        end local 1 // java.lang.String test
        end local 0 // jdk.nashorn.tools.jjs.NashornCompleter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   26     0           this  Ljdk/nashorn/tools/jjs/NashornCompleter;
            0   26     1           test  Ljava/lang/String;
            0   26     2         cursor  I
            0   26     3     candidates  Ljava/util/List<Ljdk/internal/org/jline/reader/Candidate;>;
            3   26     4      exprStart  I
            6   26     5        exprStr  Ljava/lang/String;
            7   26     6    endsWithDot  Z
           10   26     7   completeExpr  Ljava/lang/String;
           11   26     8        topExpr  Ljdk/nashorn/api/tree/ExpressionTree;
           14   19     9           name  Ljava/lang/String;
           21   26     9  rightMostExpr  Ljdk/nashorn/api/tree/Tree;
    Signature: (Ljava/lang/String;ILjava/util/List<Ljdk/internal/org/jline/reader/Candidate;>;)I
    MethodParameters:
            Name  Flags
      test        
      cursor      
      candidates  

  private java.lang.String readFileName(java.io.PrintWriter);
    descriptor: (Ljava/io/PrintWriter;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // jdk.nashorn.tools.jjs.NashornCompleter this
        start local 1 // java.io.PrintWriter err
         0: .line 278
            aload 0 /* this */
            getfield jdk.nashorn.tools.jjs.NashornCompleter.fileChooserFunc:Ljdk/nashorn/internal/runtime/ScriptFunction;
            aconst_null
            iconst_0
            anewarray java.lang.Object
            invokestatic jdk.nashorn.internal.runtime.ScriptRuntime.apply:(Ljdk/nashorn/internal/runtime/ScriptFunction;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* res */
        start local 2 // java.lang.Object res
         1: .line 279
            aload 2 /* res */
            instanceof java.lang.String
            ifeq 2
            aload 2 /* res */
            checkcast java.lang.String
            goto 3
      StackMap locals: java.lang.Object
      StackMap stack:
         2: aconst_null
      StackMap locals:
      StackMap stack: java.lang.String
         3: areturn
        end local 2 // java.lang.Object res
         4: .line 280
      StackMap locals: jdk.nashorn.tools.jjs.NashornCompleter java.io.PrintWriter
      StackMap stack: java.lang.Exception
            astore 2 /* e */
        start local 2 // java.lang.Exception e
         5: .line 281
            aload 1 /* err */
            aload 2 /* e */
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/Object;)V
         6: .line 282
            getstatic jdk.nashorn.tools.jjs.Main.DEBUG:Z
            ifeq 8
         7: .line 283
            aload 2 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
        end local 2 // java.lang.Exception e
         8: .line 286
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.io.PrintWriter err
        end local 0 // jdk.nashorn.tools.jjs.NashornCompleter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Ljdk/nashorn/tools/jjs/NashornCompleter;
            0    9     1   err  Ljava/io/PrintWriter;
            1    4     2   res  Ljava/lang/Object;
            5    8     2     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      err   final

  private int completeMemberSelect(java.lang.String, int, java.util.List<jdk.internal.org.jline.reader.Candidate>, jdk.nashorn.api.tree.MemberSelectTree, );
    descriptor: (Ljava/lang/String;ILjava/util/List;Ljdk/nashorn/api/tree/MemberSelectTree;Z)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=12, args_size=6
        start local 0 // jdk.nashorn.tools.jjs.NashornCompleter this
        start local 1 // java.lang.String exprStr
        start local 2 // int cursor
        start local 3 // java.util.List candidates
        start local 4 // jdk.nashorn.api.tree.MemberSelectTree select
        start local 5 // boolean endsWithDot
         0: .line 292
            aload 4 /* select */
            invokeinterface jdk.nashorn.api.tree.MemberSelectTree.getExpression:()Ljdk/nashorn/api/tree/ExpressionTree;
            astore 6 /* objExpr */
        start local 6 // jdk.nashorn.api.tree.ExpressionTree objExpr
         1: .line 293
            aload 1 /* exprStr */
            aload 6 /* objExpr */
            invokeinterface jdk.nashorn.api.tree.ExpressionTree.getStartPosition:()J
            l2i
            aload 6 /* objExpr */
            invokeinterface jdk.nashorn.api.tree.ExpressionTree.getEndPosition:()J
            l2i
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 7 /* objExprCode */
        start local 7 // java.lang.String objExprCode
         2: .line 296
            aconst_null
            astore 8 /* obj */
        start local 8 // java.lang.Object obj
         3: .line 298
            aload 0 /* this */
            getfield jdk.nashorn.tools.jjs.NashornCompleter.context:Ljdk/nashorn/internal/runtime/Context;
            aload 0 /* this */
            getfield jdk.nashorn.tools.jjs.NashornCompleter.global:Ljdk/nashorn/internal/objects/Global;
            aload 7 /* objExprCode */
            aload 0 /* this */
            getfield jdk.nashorn.tools.jjs.NashornCompleter.global:Ljdk/nashorn/internal/objects/Global;
            ldc "<suggestions>"
            invokevirtual jdk.nashorn.internal.runtime.Context.eval:(Ljdk/nashorn/internal/runtime/ScriptObject;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 8 /* obj */
         4: .line 299
            goto 8
      StackMap locals: jdk.nashorn.tools.jjs.NashornCompleter java.lang.String int java.util.List jdk.nashorn.api.tree.MemberSelectTree int jdk.nashorn.api.tree.ExpressionTree java.lang.String java.lang.Object
      StackMap stack: java.lang.Exception
         5: astore 9 /* exp */
        start local 9 // java.lang.Exception exp
         6: .line 301
            getstatic jdk.nashorn.tools.jjs.Main.DEBUG:Z
            ifeq 8
         7: .line 302
            aload 9 /* exp */
            invokevirtual java.lang.Exception.printStackTrace:()V
        end local 9 // java.lang.Exception exp
         8: .line 306
      StackMap locals:
      StackMap stack:
            aload 8 /* obj */
            ifnull 15
            aload 8 /* obj */
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
            if_acmpeq 15
         9: .line 307
            iload 5 /* endsWithDot */
            ifeq 12
        10: .line 309
            aload 0 /* this */
            getfield jdk.nashorn.tools.jjs.NashornCompleter.propsHelper:Ljdk/nashorn/tools/jjs/PropertiesHelper;
            aload 8 /* obj */
            invokevirtual jdk.nashorn.tools.jjs.PropertiesHelper.getProperties:(Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            aload 0 /* this */
            invokedynamic apply(Ljdk/nashorn/tools/jjs/NashornCompleter;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  jdk/nashorn/tools/jjs/NashornCompleter.createCandidate(Ljava/lang/String;)Ljdk/internal/org/jline/reader/Candidate; (7)
                  (Ljava/lang/String;)Ljdk/internal/org/jline/reader/Candidate;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            aload 3 /* candidates */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic accept(Ljava/util/List;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  java/util/List.add(Ljava/lang/Object;)Z (9 itf)
                  (Ljdk/internal/org/jline/reader/Candidate;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
        11: .line 310
            iload 2 /* cursor */
            ireturn
        12: .line 313
      StackMap locals:
      StackMap stack:
            aload 4 /* select */
            invokeinterface jdk.nashorn.api.tree.MemberSelectTree.getIdentifier:()Ljava/lang/String;
            astore 11 /* prefix */
        start local 11 // java.lang.String prefix
        13: .line 314
            aload 0 /* this */
            getfield jdk.nashorn.tools.jjs.NashornCompleter.propsHelper:Ljdk/nashorn/tools/jjs/PropertiesHelper;
            aload 8 /* obj */
            aload 11 /* prefix */
            invokevirtual jdk.nashorn.tools.jjs.PropertiesHelper.getProperties:(Ljava/lang/Object;Ljava/lang/String;)Ljava/util/List;
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            aload 0 /* this */
            invokedynamic apply(Ljdk/nashorn/tools/jjs/NashornCompleter;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  jdk/nashorn/tools/jjs/NashornCompleter.createCandidate(Ljava/lang/String;)Ljdk/internal/org/jline/reader/Candidate; (7)
                  (Ljava/lang/String;)Ljdk/internal/org/jline/reader/Candidate;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            aload 3 /* candidates */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic accept(Ljava/util/List;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  java/util/List.add(Ljava/lang/Object;)Z (9 itf)
                  (Ljdk/internal/org/jline/reader/Candidate;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
        14: .line 315
            iload 2 /* cursor */
            aload 11 /* prefix */
            invokevirtual java.lang.String.length:()I
            isub
            ireturn
        end local 11 // java.lang.String prefix
        15: .line 319
      StackMap locals:
      StackMap stack:
            iload 2 /* cursor */
            ireturn
        end local 8 // java.lang.Object obj
        end local 7 // java.lang.String objExprCode
        end local 6 // jdk.nashorn.api.tree.ExpressionTree objExpr
        end local 5 // boolean endsWithDot
        end local 4 // jdk.nashorn.api.tree.MemberSelectTree select
        end local 3 // java.util.List candidates
        end local 2 // int cursor
        end local 1 // java.lang.String exprStr
        end local 0 // jdk.nashorn.tools.jjs.NashornCompleter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   16     0         this  Ljdk/nashorn/tools/jjs/NashornCompleter;
            0   16     1      exprStr  Ljava/lang/String;
            0   16     2       cursor  I
            0   16     3   candidates  Ljava/util/List<Ljdk/internal/org/jline/reader/Candidate;>;
            0   16     4       select  Ljdk/nashorn/api/tree/MemberSelectTree;
            0   16     5  endsWithDot  Z
            1   16     6      objExpr  Ljdk/nashorn/api/tree/ExpressionTree;
            2   16     7  objExprCode  Ljava/lang/String;
            3   16     8          obj  Ljava/lang/Object;
            6    8     9          exp  Ljava/lang/Exception;
           13   15    11       prefix  Ljava/lang/String;
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.Exception
    Signature: (Ljava/lang/String;ILjava/util/List<Ljdk/internal/org/jline/reader/Candidate;>;Ljdk/nashorn/api/tree/MemberSelectTree;Z)I
    MethodParameters:
             Name  Flags
      exprStr      final
      cursor       final
      candidates   final
      select       final
      endsWithDot  final

  private int completeIdentifier(java.lang.String, int, java.util.List<jdk.internal.org.jline.reader.Candidate>, jdk.nashorn.api.tree.IdentifierTree);
    descriptor: (Ljava/lang/String;ILjava/util/List;Ljdk/nashorn/api/tree/IdentifierTree;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=5
        start local 0 // jdk.nashorn.tools.jjs.NashornCompleter this
        start local 1 // java.lang.String test
        start local 2 // int cursor
        start local 3 // java.util.List candidates
        start local 4 // jdk.nashorn.api.tree.IdentifierTree ident
         0: .line 325
            aload 4 /* ident */
            invokeinterface jdk.nashorn.api.tree.IdentifierTree.getName:()Ljava/lang/String;
            astore 5 /* name */
        start local 5 // java.lang.String name
         1: .line 326
            aload 0 /* this */
            getfield jdk.nashorn.tools.jjs.NashornCompleter.propsHelper:Ljdk/nashorn/tools/jjs/PropertiesHelper;
            aload 0 /* this */
            getfield jdk.nashorn.tools.jjs.NashornCompleter.global:Ljdk/nashorn/internal/objects/Global;
            aload 5 /* name */
            invokevirtual jdk.nashorn.tools.jjs.PropertiesHelper.getProperties:(Ljava/lang/Object;Ljava/lang/String;)Ljava/util/List;
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            aload 0 /* this */
            invokedynamic apply(Ljdk/nashorn/tools/jjs/NashornCompleter;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  jdk/nashorn/tools/jjs/NashornCompleter.createCandidate(Ljava/lang/String;)Ljdk/internal/org/jline/reader/Candidate; (7)
                  (Ljava/lang/String;)Ljdk/internal/org/jline/reader/Candidate;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            aload 3 /* candidates */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic accept(Ljava/util/List;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  java/util/List.add(Ljava/lang/Object;)Z (9 itf)
                  (Ljdk/internal/org/jline/reader/Candidate;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
         2: .line 327
            iload 2 /* cursor */
            aload 5 /* name */
            invokevirtual java.lang.String.length:()I
            isub
            ireturn
        end local 5 // java.lang.String name
        end local 4 // jdk.nashorn.api.tree.IdentifierTree ident
        end local 3 // java.util.List candidates
        end local 2 // int cursor
        end local 1 // java.lang.String test
        end local 0 // jdk.nashorn.tools.jjs.NashornCompleter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Ljdk/nashorn/tools/jjs/NashornCompleter;
            0    3     1        test  Ljava/lang/String;
            0    3     2      cursor  I
            0    3     3  candidates  Ljava/util/List<Ljdk/internal/org/jline/reader/Candidate;>;
            0    3     4       ident  Ljdk/nashorn/api/tree/IdentifierTree;
            1    3     5        name  Ljava/lang/String;
    Signature: (Ljava/lang/String;ILjava/util/List<Ljdk/internal/org/jline/reader/Candidate;>;Ljdk/nashorn/api/tree/IdentifierTree;)I
    MethodParameters:
            Name  Flags
      test        final
      cursor      final
      candidates  final
      ident       final

  private jdk.nashorn.api.tree.ExpressionTree getTopLevelExpression(jdk.nashorn.api.tree.Parser, java.lang.String);
    descriptor: (Ljdk/nashorn/api/tree/Parser;Ljava/lang/String;)Ljdk/nashorn/api/tree/ExpressionTree;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // jdk.nashorn.tools.jjs.NashornCompleter this
        start local 1 // jdk.nashorn.api.tree.Parser parser
        start local 2 // java.lang.String code
         0: .line 334
            aload 1 /* parser */
            ldc "<code>"
            aload 2 /* code */
            aconst_null
            invokeinterface jdk.nashorn.api.tree.Parser.parse:(Ljava/lang/String;Ljava/lang/String;Ljdk/nashorn/api/tree/DiagnosticListener;)Ljdk/nashorn/api/tree/CompilationUnitTree;
            astore 3 /* cut */
        start local 3 // jdk.nashorn.api.tree.CompilationUnitTree cut
         1: .line 335
            aload 3 /* cut */
            invokeinterface jdk.nashorn.api.tree.CompilationUnitTree.getSourceElements:()Ljava/util/List;
            astore 4 /* stats */
        start local 4 // java.util.List stats
         2: .line 336
            aload 4 /* stats */
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmpne 8
         3: .line 337
            aload 4 /* stats */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast jdk.nashorn.api.tree.Tree
            astore 5 /* stat */
        start local 5 // jdk.nashorn.api.tree.Tree stat
         4: .line 338
            aload 5 /* stat */
            instanceof jdk.nashorn.api.tree.ExpressionStatementTree
            ifeq 8
         5: .line 339
            aload 5 /* stat */
            checkcast jdk.nashorn.api.tree.ExpressionStatementTree
            invokeinterface jdk.nashorn.api.tree.ExpressionStatementTree.getExpression:()Ljdk/nashorn/api/tree/ExpressionTree;
         6: areturn
        end local 5 // jdk.nashorn.api.tree.Tree stat
        end local 4 // java.util.List stats
        end local 3 // jdk.nashorn.api.tree.CompilationUnitTree cut
         7: .line 342
      StackMap locals:
      StackMap stack: jdk.nashorn.api.scripting.NashornException
            pop
         8: .line 347
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.lang.String code
        end local 1 // jdk.nashorn.api.tree.Parser parser
        end local 0 // jdk.nashorn.tools.jjs.NashornCompleter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Ljdk/nashorn/tools/jjs/NashornCompleter;
            0    9     1  parser  Ljdk/nashorn/api/tree/Parser;
            0    9     2    code  Ljava/lang/String;
            1    7     3     cut  Ljdk/nashorn/api/tree/CompilationUnitTree;
            2    7     4   stats  Ljava/util/List<+Ljdk/nashorn/api/tree/Tree;>;
            4    7     5    stat  Ljdk/nashorn/api/tree/Tree;
      Exception table:
        from    to  target  type
           0     6       7  Class jdk.nashorn.api.scripting.NashornException
    MethodParameters:
        Name  Flags
      parser  final
      code    final

  private jdk.nashorn.api.tree.Tree getRightMostExpression(jdk.nashorn.api.tree.ExpressionTree);
    descriptor: (Ljdk/nashorn/api/tree/ExpressionTree;)Ljdk/nashorn/api/tree/Tree;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jdk.nashorn.tools.jjs.NashornCompleter this
        start local 1 // jdk.nashorn.api.tree.ExpressionTree expr
         0: .line 352
            aload 1 /* expr */
            new jdk.nashorn.tools.jjs.NashornCompleter$1
            dup
            aload 0 /* this */
            invokespecial jdk.nashorn.tools.jjs.NashornCompleter$1.<init>:(Ljdk/nashorn/tools/jjs/NashornCompleter;)V
         1: .line 408
            aconst_null
         2: .line 352
            invokeinterface jdk.nashorn.api.tree.ExpressionTree.accept:(Ljdk/nashorn/api/tree/TreeVisitor;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast jdk.nashorn.api.tree.Tree
            areturn
        end local 1 // jdk.nashorn.api.tree.ExpressionTree expr
        end local 0 // jdk.nashorn.tools.jjs.NashornCompleter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/nashorn/tools/jjs/NashornCompleter;
            0    3     1  expr  Ljdk/nashorn/api/tree/ExpressionTree;
    MethodParameters:
      Name  Flags
      expr  final

  private static jdk.nashorn.api.tree.Parser createParser(jdk.nashorn.internal.runtime.ScriptEnvironment);
    descriptor: (Ljdk/nashorn/internal/runtime/ScriptEnvironment;)Ljdk/nashorn/api/tree/Parser;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptEnvironment env
         0: .line 414
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* args */
        start local 1 // java.util.List args
         1: .line 415
            aload 0 /* env */
            getfield jdk.nashorn.internal.runtime.ScriptEnvironment._const_as_var:Z
            ifeq 3
         2: .line 416
            aload 1 /* args */
            ldc "--const-as-var"
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 419
      StackMap locals: java.util.List
      StackMap stack:
            aload 0 /* env */
            getfield jdk.nashorn.internal.runtime.ScriptEnvironment._no_syntax_extensions:Z
            ifeq 5
         4: .line 420
            aload 1 /* args */
            ldc "-nse"
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         5: .line 423
      StackMap locals:
      StackMap stack:
            aload 0 /* env */
            getfield jdk.nashorn.internal.runtime.ScriptEnvironment._scripting:Z
            ifeq 7
         6: .line 424
            aload 1 /* args */
            ldc "-scripting"
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         7: .line 427
      StackMap locals:
      StackMap stack:
            aload 0 /* env */
            getfield jdk.nashorn.internal.runtime.ScriptEnvironment._strict:Z
            ifeq 9
         8: .line 428
            aload 1 /* args */
            ldc "-strict"
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         9: .line 431
      StackMap locals:
      StackMap stack:
            aload 0 /* env */
            getfield jdk.nashorn.internal.runtime.ScriptEnvironment._es6:Z
            ifeq 11
        10: .line 432
            aload 1 /* args */
            ldc "--language=es6"
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        11: .line 435
      StackMap locals:
      StackMap stack:
            aload 1 /* args */
            iconst_0
            anewarray java.lang.String
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            invokestatic jdk.nashorn.api.tree.Parser.create:([Ljava/lang/String;)Ljdk/nashorn/api/tree/Parser;
            areturn
        end local 1 // java.util.List args
        end local 0 // jdk.nashorn.internal.runtime.ScriptEnvironment env
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0   env  Ljdk/nashorn/internal/runtime/ScriptEnvironment;
            1   12     1  args  Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
      Name  Flags
      env   final

  private jdk.internal.org.jline.reader.Candidate createCandidate(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/internal/org/jline/reader/Candidate;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=2, args_size=2
        start local 0 // jdk.nashorn.tools.jjs.NashornCompleter this
        start local 1 // java.lang.String value
         0: .line 439
            new jdk.internal.org.jline.reader.Candidate
            dup
            aload 1 /* value */
            aload 1 /* value */
            aconst_null
            aconst_null
            aconst_null
            aconst_null
            iconst_0
            invokespecial jdk.internal.org.jline.reader.Candidate.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
            areturn
        end local 1 // java.lang.String value
        end local 0 // jdk.nashorn.tools.jjs.NashornCompleter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Ljdk/nashorn/tools/jjs/NashornCompleter;
            0    1     1  value  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      value  
}
SourceFile: "NashornCompleter.java"
NestMembers:
  jdk.nashorn.tools.jjs.NashornCompleter$1
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  jdk.nashorn.tools.jjs.NashornCompleter$1