class jdk.internal.jshell.tool.ConsoleIOContext extends jdk.internal.jshell.tool.IOContext
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: jdk.internal.jshell.tool.ConsoleIOContext
  super_class: jdk.internal.jshell.tool.IOContext
{
  private static final java.lang.String HISTORY_LINE_PREFIX;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "HISTORY_LINE_"

  final boolean allowIncompleteInputs;
    descriptor: Z
    flags: (0x0010) ACC_FINAL

  final jdk.internal.jshell.tool.JShellTool repl;
    descriptor: Ljdk/internal/jshell/tool/JShellTool;
    flags: (0x0010) ACC_FINAL

  final jdk.internal.jshell.tool.StopDetectingInputStream input;
    descriptor: Ljdk/internal/jshell/tool/StopDetectingInputStream;
    flags: (0x0010) ACC_FINAL

  final jdk.internal.org.jline.terminal.Attributes originalAttributes;
    descriptor: Ljdk/internal/org/jline/terminal/Attributes;
    flags: (0x0010) ACC_FINAL

  final jdk.internal.org.jline.reader.impl.LineReaderImpl in;
    descriptor: Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
    flags: (0x0010) ACC_FINAL

  final jdk.internal.org.jline.reader.History userInputHistory;
    descriptor: Ljdk/internal/org/jline/reader/History;
    flags: (0x0010) ACC_FINAL

  final java.time.Instant historyLoad;
    descriptor: Ljava/time/Instant;
    flags: (0x0010) ACC_FINAL

  java.lang.String prefix;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  private static final java.lang.String FIXES_SHORTCUT;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "\u001B[Z"

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

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

  private static final int AUTOPRINT_THRESHOLD;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 100

  private static final int NEEDED_LINES;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  private static final long ESCAPE_TIMEOUT;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 100

  private byte[] inputBytes;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

  private int inputBytesPointer;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private static final jdk.internal.jshell.tool.ConsoleIOContext$FixComputer[] FIX_COMPUTERS;
    descriptor: [Ljdk/internal/jshell/tool/ConsoleIOContext$FixComputer;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

  private static volatile int[] $SWITCH_TABLE$jdk$internal$jshell$tool$ConsoleIOContext$CompletionTask$Result;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=0, args_size=0
         0: .line 87
            ldc Ljdk/internal/jshell/tool/ConsoleIOContext;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic jdk.internal.jshell.tool.ConsoleIOContext.$assertionsDisabled:Z
         3: .line 288
            ldc "line.separator"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            putstatic jdk.internal.jshell.tool.ConsoleIOContext.LINE_SEPARATOR:Ljava/lang/String;
         4: .line 289
            new java.lang.StringBuilder
            dup
            getstatic jdk.internal.jshell.tool.ConsoleIOContext.LINE_SEPARATOR:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic jdk.internal.jshell.tool.ConsoleIOContext.LINE_SEPARATOR:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putstatic jdk.internal.jshell.tool.ConsoleIOContext.LINE_SEPARATORS2:Ljava/lang/String;
         5: .line 990
            iconst_3
            anewarray jdk.internal.jshell.tool.ConsoleIOContext$FixComputer
            dup
            iconst_0
         6: .line 991
            new jdk.internal.jshell.tool.ConsoleIOContext$1
            dup
            bipush 118
            iconst_0
            invokespecial jdk.internal.jshell.tool.ConsoleIOContext$1.<init>:(CZ)V
            aastore
            dup
            iconst_1
         7: .line 1043
            new jdk.internal.jshell.tool.ConsoleIOContext$2
            dup
            bipush 109
            iconst_0
            invokespecial jdk.internal.jshell.tool.ConsoleIOContext$2.<init>:(CZ)V
            aastore
            dup
            iconst_2
         8: .line 1148
            new jdk.internal.jshell.tool.ConsoleIOContext$3
            dup
            bipush 105
            iconst_1
            invokespecial jdk.internal.jshell.tool.ConsoleIOContext$3.<init>:(CZ)V
            aastore
         9: .line 990
            putstatic jdk.internal.jshell.tool.ConsoleIOContext.FIX_COMPUTERS:[Ljdk/internal/jshell/tool/ConsoleIOContext$FixComputer;
        10: .line 1183
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(jdk.internal.jshell.tool.JShellTool, java.io.InputStream, java.io.PrintStream);
    descriptor: (Ljdk/internal/jshell/tool/JShellTool;Ljava/io/InputStream;Ljava/io/PrintStream;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=15, args_size=4
        start local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
        start local 1 // jdk.internal.jshell.tool.JShellTool repl
        start local 2 // java.io.InputStream cmdin
        start local 3 // java.io.PrintStream cmdout
         0: .line 101
            aload 0 /* this */
            invokespecial jdk.internal.jshell.tool.IOContext.<init>:()V
         1: .line 96
            aload 0 /* this */
            new jdk.internal.org.jline.reader.impl.history.DefaultHistory
            dup
            invokespecial jdk.internal.org.jline.reader.impl.history.DefaultHistory.<init>:()V
            putfield jdk.internal.jshell.tool.ConsoleIOContext.userInputHistory:Ljdk/internal/org/jline/reader/History;
         2: .line 99
            aload 0 /* this */
            ldc ""
            putfield jdk.internal.jshell.tool.ConsoleIOContext.prefix:Ljava/lang/String;
         3: .line 102
            aload 0 /* this */
            ldc "jshell.test.allow.incomplete.inputs"
            invokestatic java.lang.Boolean.getBoolean:(Ljava/lang/String;)Z
            putfield jdk.internal.jshell.tool.ConsoleIOContext.allowIncompleteInputs:Z
         4: .line 103
            aload 0 /* this */
            aload 1 /* repl */
            putfield jdk.internal.jshell.tool.ConsoleIOContext.repl:Ljdk/internal/jshell/tool/JShellTool;
         5: .line 104
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 4 /* variables */
        start local 4 // java.util.Map variables
         6: .line 105
            aload 0 /* this */
            new jdk.internal.jshell.tool.StopDetectingInputStream
            dup
            aload 1 /* repl */
            invokedynamic run(Ljdk/internal/jshell/tool/JShellTool;)Ljava/lang/Runnable;
              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:
                  ()V
                  jdk/internal/jshell/tool/ConsoleIOContext.lambda$0(Ljdk/internal/jshell/tool/JShellTool;)V (6)
                  ()V
         7: .line 106
            aload 1 /* repl */
            invokedynamic accept(Ljdk/internal/jshell/tool/JShellTool;)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
                  jdk/internal/jshell/tool/ConsoleIOContext.lambda$1(Ljdk/internal/jshell/tool/JShellTool;Ljava/lang/Exception;)V (6)
                  (Ljava/lang/Exception;)V
            invokespecial jdk.internal.jshell.tool.StopDetectingInputStream.<init>:(Ljava/lang/Runnable;Ljava/util/function/Consumer;)V
         8: .line 105
            putfield jdk.internal.jshell.tool.ConsoleIOContext.input:Ljdk/internal/jshell/tool/StopDetectingInputStream;
         9: .line 108
            ldc "test.jdk"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            ifnull 13
        10: .line 109
            new jdk.internal.jshell.tool.ConsoleIOContext$TestTerminal
            dup
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.input:Ljdk/internal/jshell/tool/StopDetectingInputStream;
            aload 3 /* cmdout */
            invokespecial jdk.internal.jshell.tool.ConsoleIOContext$TestTerminal.<init>:(Ljdk/internal/jshell/tool/StopDetectingInputStream;Ljava/io/OutputStream;)V
            astore 5 /* terminal */
        start local 5 // jdk.internal.org.jline.terminal.Terminal terminal
        11: .line 110
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.input:Ljdk/internal/jshell/tool/StopDetectingInputStream;
            aload 2 /* cmdin */
            invokevirtual jdk.internal.jshell.tool.StopDetectingInputStream.setInputStream:(Ljava/io/InputStream;)Ljava/io/InputStream;
            pop
        12: .line 111
            goto 16
        end local 5 // jdk.internal.org.jline.terminal.Terminal terminal
        13: .line 112
      StackMap locals: jdk.internal.jshell.tool.ConsoleIOContext jdk.internal.jshell.tool.JShellTool java.io.InputStream java.io.PrintStream java.util.Map
      StackMap stack:
            invokestatic jdk.internal.org.jline.terminal.TerminalBuilder.builder:()Ljdk/internal/org/jline/terminal/TerminalBuilder;
            aload 0 /* this */
            invokedynamic apply(Ljdk/internal/jshell/tool/ConsoleIOContext;)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/internal/jshell/tool/ConsoleIOContext.lambda$2(Ljava/io/InputStream;)Ljava/io/InputStream; (7)
                  (Ljava/io/InputStream;)Ljava/io/InputStream;
            invokevirtual jdk.internal.org.jline.terminal.TerminalBuilder.inputStreamWrapper:(Ljava/util/function/Function;)Ljdk/internal/org/jline/terminal/TerminalBuilder;
        14: .line 115
            invokevirtual jdk.internal.org.jline.terminal.TerminalBuilder.build:()Ljdk/internal/org/jline/terminal/Terminal;
        15: .line 112
            astore 5 /* terminal */
        start local 5 // jdk.internal.org.jline.terminal.Terminal terminal
        16: .line 117
      StackMap locals: jdk.internal.org.jline.terminal.Terminal
      StackMap stack:
            aload 0 /* this */
            aload 5 /* terminal */
            invokeinterface jdk.internal.org.jline.terminal.Terminal.getAttributes:()Ljdk/internal/org/jline/terminal/Attributes;
            putfield jdk.internal.jshell.tool.ConsoleIOContext.originalAttributes:Ljdk/internal/org/jline/terminal/Attributes;
        17: .line 118
            new jdk.internal.org.jline.terminal.Attributes
            dup
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.originalAttributes:Ljdk/internal/org/jline/terminal/Attributes;
            invokespecial jdk.internal.org.jline.terminal.Attributes.<init>:(Ljdk/internal/org/jline/terminal/Attributes;)V
            astore 6 /* noIntr */
        start local 6 // jdk.internal.org.jline.terminal.Attributes noIntr
        18: .line 119
            aload 6 /* noIntr */
            getstatic jdk.internal.org.jline.terminal.Attributes$ControlChar.VINTR:Ljdk/internal/org/jline/terminal/Attributes$ControlChar;
            iconst_0
            invokevirtual jdk.internal.org.jline.terminal.Attributes.setControlChar:(Ljdk/internal/org/jline/terminal/Attributes$ControlChar;I)V
        19: .line 120
            aload 5 /* terminal */
            aload 6 /* noIntr */
            invokeinterface jdk.internal.org.jline.terminal.Terminal.setAttributes:(Ljdk/internal/org/jline/terminal/Attributes;)V
        20: .line 121
            aload 5 /* terminal */
            invokeinterface jdk.internal.org.jline.terminal.Terminal.enterRawMode:()Ljdk/internal/org/jline/terminal/Attributes;
            pop
        21: .line 122
            new jdk.internal.jshell.tool.ConsoleIOContext$4
            dup
            aload 0 /* this */
            aload 5 /* terminal */
            ldc "jshell"
            aload 4 /* variables */
            invokespecial jdk.internal.jshell.tool.ConsoleIOContext$4.<init>:(Ljdk/internal/jshell/tool/ConsoleIOContext;Ljdk/internal/org/jline/terminal/Terminal;Ljava/lang/String;Ljava/util/Map;)V
            astore 7 /* reader */
        start local 7 // jdk.internal.org.jline.reader.impl.LineReaderImpl reader
        22: .line 151
            aload 7 /* reader */
            getstatic jdk.internal.org.jline.reader.LineReader$Option.DISABLE_EVENT_EXPANSION:Ljdk/internal/org/jline/reader/LineReader$Option;
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.setOpt:(Ljdk/internal/org/jline/reader/LineReader$Option;)V
        23: .line 153
            aload 7 /* reader */
            aload 0 /* this */
            aload 1 /* repl */
            invokedynamic parse(Ljdk/internal/jshell/tool/ConsoleIOContext;Ljdk/internal/jshell/tool/JShellTool;)Ljdk/internal/org/jline/reader/Parser;
              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/String;ILjdk/internal/org/jline/reader/Parser$ParseContext;)Ljdk/internal/org/jline/reader/ParsedLine;
                  jdk/internal/jshell/tool/ConsoleIOContext.lambda$3(Ljdk/internal/jshell/tool/JShellTool;Ljava/lang/String;ILjdk/internal/org/jline/reader/Parser$ParseContext;)Ljdk/internal/org/jline/reader/ParsedLine; (7)
                  (Ljava/lang/String;ILjdk/internal/org/jline/reader/Parser$ParseContext;)Ljdk/internal/org/jline/reader/ParsedLine;
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.setParser:(Ljdk/internal/org/jline/reader/Parser;)V
        24: .line 160
            aload 7 /* reader */
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.getKeyMaps:()Ljava/util/Map;
            ldc "main"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast jdk.internal.org.jline.keymap.KeyMap
        25: .line 161
            aload 0 /* this */
            invokedynamic apply(Ljdk/internal/jshell/tool/ConsoleIOContext;)Ljdk/internal/org/jline/reader/Widget;
              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:
                  ()Z
                  jdk/internal/jshell/tool/ConsoleIOContext.lambda$4()Z (7)
                  ()Z
            ldc "\u001B[Z"
            invokevirtual jdk.internal.org.jline.keymap.KeyMap.bind:(Ljava/lang/Object;Ljava/lang/CharSequence;)V
        26: .line 162
            aload 7 /* reader */
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.getKeyMaps:()Ljava/util/Map;
            ldc "main"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast jdk.internal.org.jline.keymap.KeyMap
        27: .line 163
            invokedynamic apply()Ljdk/internal/org/jline/reader/Widget;
              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:
                  ()Z
                  jdk/internal/jshell/tool/ConsoleIOContext.lambda$5()Z (6)
                  ()Z
            ldc "\u0003"
            invokevirtual jdk.internal.org.jline.keymap.KeyMap.bind:(Ljava/lang/Object;Ljava/lang/CharSequence;)V
        28: .line 165
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 8 /* loadHistory */
        start local 8 // java.util.List loadHistory
        29: .line 166
            aload 1 /* repl */
            getfield jdk.internal.jshell.tool.JShellTool.prefs:Ljdk/internal/jshell/tool/PersistentStorage;
            invokeinterface jdk.internal.jshell.tool.PersistentStorage.keys:()[Ljava/lang/String;
            invokestatic java.util.stream.Stream.of:([Ljava/lang/Object;)Ljava/util/stream/Stream;
        30: .line 167
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  jdk/internal/jshell/tool/ConsoleIOContext.lambda$6(Ljava/lang/String;)Z (6)
                  (Ljava/lang/String;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
        31: .line 168
            invokeinterface java.util.stream.Stream.sorted:()Ljava/util/stream/Stream;
        32: .line 169
            aload 1 /* repl */
            invokedynamic apply(Ljdk/internal/jshell/tool/JShellTool;)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/internal/jshell/tool/ConsoleIOContext.lambda$7(Ljdk/internal/jshell/tool/JShellTool;Ljava/lang/String;)Ljava/lang/String; (6)
                  (Ljava/lang/String;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
        33: .line 170
            aload 8 /* loadHistory */
            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)
                  (Ljava/lang/String;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
        34: .line 172
            aload 8 /* loadHistory */
            invokeinterface java.util.List.listIterator:()Ljava/util/ListIterator;
            astore 10 /* it */
        start local 10 // java.util.ListIterator it
        35: goto 50
        36: .line 173
      StackMap locals: jdk.internal.jshell.tool.ConsoleIOContext jdk.internal.jshell.tool.JShellTool java.io.InputStream java.io.PrintStream java.util.Map jdk.internal.org.jline.terminal.Terminal jdk.internal.org.jline.terminal.Attributes jdk.internal.org.jline.reader.impl.LineReaderImpl java.util.List top java.util.ListIterator
      StackMap stack:
            aload 10 /* it */
            invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 11 /* current */
        start local 11 // java.lang.String current
        37: .line 175
            aload 0 /* this */
            aload 11 /* current */
            invokevirtual jdk.internal.jshell.tool.ConsoleIOContext.countTrailintBackslashes:(Ljava/lang/CharSequence;)I
            istore 12 /* trailingBackSlashes */
        start local 12 // int trailingBackSlashes
        38: .line 176
            iload 12 /* trailingBackSlashes */
            iconst_2
            irem
            ifeq 39
            iconst_1
            goto 40
      StackMap locals: java.lang.String int
      StackMap stack:
        39: iconst_0
      StackMap locals:
      StackMap stack: int
        40: istore 13 /* continuation */
        start local 13 // boolean continuation
        41: .line 177
            aload 11 /* current */
            iconst_0
            aload 11 /* current */
            invokevirtual java.lang.String.length:()I
            iload 12 /* trailingBackSlashes */
            iconst_2
            idiv
            isub
            iload 13 /* continuation */
            ifeq 42
            iconst_1
            goto 43
      StackMap locals: jdk.internal.jshell.tool.ConsoleIOContext jdk.internal.jshell.tool.JShellTool java.io.InputStream java.io.PrintStream java.util.Map jdk.internal.org.jline.terminal.Terminal jdk.internal.org.jline.terminal.Attributes jdk.internal.org.jline.reader.impl.LineReaderImpl java.util.List top java.util.ListIterator java.lang.String int int
      StackMap stack: java.lang.String int int
        42: iconst_0
      StackMap locals: jdk.internal.jshell.tool.ConsoleIOContext jdk.internal.jshell.tool.JShellTool java.io.InputStream java.io.PrintStream java.util.Map jdk.internal.org.jline.terminal.Terminal jdk.internal.org.jline.terminal.Attributes jdk.internal.org.jline.reader.impl.LineReaderImpl java.util.List top java.util.ListIterator java.lang.String int int
      StackMap stack: java.lang.String int int int
        43: isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 11 /* current */
        44: .line 178
            iload 13 /* continuation */
            ifeq 49
            aload 10 /* it */
            invokeinterface java.util.ListIterator.hasNext:()Z
            ifeq 49
        45: .line 179
            aload 10 /* it */
            invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 14 /* next */
        start local 14 // java.lang.String next
        46: .line 180
            aload 10 /* it */
            invokeinterface java.util.ListIterator.remove:()V
        47: .line 181
            aload 10 /* it */
            invokeinterface java.util.ListIterator.previous:()Ljava/lang/Object;
            pop
        48: .line 182
            new java.lang.StringBuilder
            dup
            aload 11 /* current */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 14 /* next */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 11 /* current */
        end local 14 // java.lang.String next
        49: .line 185
      StackMap locals:
      StackMap stack:
            aload 10 /* it */
            aload 11 /* current */
            invokeinterface java.util.ListIterator.set:(Ljava/lang/Object;)V
        end local 13 // boolean continuation
        end local 12 // int trailingBackSlashes
        end local 11 // java.lang.String current
        50: .line 172
      StackMap locals:
      StackMap stack:
            aload 10 /* it */
            invokeinterface java.util.ListIterator.hasNext:()Z
            ifne 36
        end local 10 // java.util.ListIterator it
        51: .line 188
            aload 0 /* this */
            getstatic java.time.Instant.MIN:Ljava/time/Instant;
            putfield jdk.internal.jshell.tool.ConsoleIOContext.historyLoad:Ljava/time/Instant;
        52: .line 189
            aload 8 /* loadHistory */
            aload 0 /* this */
            aload 7 /* reader */
            invokedynamic accept(Ljdk/internal/jshell/tool/ConsoleIOContext;Ljdk/internal/org/jline/reader/impl/LineReaderImpl;)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
                  jdk/internal/jshell/tool/ConsoleIOContext.lambda$9(Ljdk/internal/org/jline/reader/impl/LineReaderImpl;Ljava/lang/String;)V (7)
                  (Ljava/lang/String;)V
            invokeinterface java.util.List.forEach:(Ljava/util/function/Consumer;)V
        53: .line 191
            aload 0 /* this */
            aload 7 /* reader */
            putfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
        54: .line 192
            return
        end local 8 // java.util.List loadHistory
        end local 7 // jdk.internal.org.jline.reader.impl.LineReaderImpl reader
        end local 6 // jdk.internal.org.jline.terminal.Attributes noIntr
        end local 5 // jdk.internal.org.jline.terminal.Terminal terminal
        end local 4 // java.util.Map variables
        end local 3 // java.io.PrintStream cmdout
        end local 2 // java.io.InputStream cmdin
        end local 1 // jdk.internal.jshell.tool.JShellTool repl
        end local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   55     0                 this  Ljdk/internal/jshell/tool/ConsoleIOContext;
            0   55     1                 repl  Ljdk/internal/jshell/tool/JShellTool;
            0   55     2                cmdin  Ljava/io/InputStream;
            0   55     3               cmdout  Ljava/io/PrintStream;
            6   55     4            variables  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
           11   13     5             terminal  Ljdk/internal/org/jline/terminal/Terminal;
           16   55     5             terminal  Ljdk/internal/org/jline/terminal/Terminal;
           18   55     6               noIntr  Ljdk/internal/org/jline/terminal/Attributes;
           22   55     7               reader  Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
           29   55     8          loadHistory  Ljava/util/List<Ljava/lang/String;>;
           35   51    10                   it  Ljava/util/ListIterator<Ljava/lang/String;>;
           37   50    11              current  Ljava/lang/String;
           38   50    12  trailingBackSlashes  I
           41   50    13         continuation  Z
           46   49    14                 next  Ljava/lang/String;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
        Name  Flags
      repl    
      cmdin   
      cmdout  

  public java.lang.String readLine(java.lang.String, java.lang.String, boolean, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=5
        start local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
        start local 1 // java.lang.String firstLinePrompt
        start local 2 // java.lang.String continuationPrompt
        start local 3 // boolean firstLine
        start local 4 // java.lang.String prefix
         0: .line 197
            getstatic jdk.internal.jshell.tool.ConsoleIOContext.$assertionsDisabled:Z
            ifne 1
            iload 3 /* firstLine */
            ifne 1
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.allowIncompleteInputs:Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 198
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* prefix */
            putfield jdk.internal.jshell.tool.ConsoleIOContext.prefix:Ljava/lang/String;
         2: .line 200
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            ldc "secondary-prompt-pattern"
            aload 2 /* continuationPrompt */
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.setVariable:(Ljava/lang/String;Ljava/lang/Object;)V
         3: .line 201
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            aload 1 /* firstLinePrompt */
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.readLine:(Ljava/lang/String;)Ljava/lang/String;
         4: areturn
         5: .line 202
      StackMap locals:
      StackMap stack: jdk.internal.org.jline.reader.UserInterruptException
            astore 5 /* ex */
        start local 5 // jdk.internal.org.jline.reader.UserInterruptException ex
         6: .line 203
            new jdk.internal.jshell.tool.IOContext$InputInterruptedException
            dup
            aload 0 /* this */
            invokespecial jdk.internal.jshell.tool.IOContext$InputInterruptedException.<init>:(Ljdk/internal/jshell/tool/IOContext;)V
            aload 5 /* ex */
            invokevirtual jdk.internal.jshell.tool.IOContext$InputInterruptedException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            checkcast jdk.internal.jshell.tool.IOContext$InputInterruptedException
            athrow
        end local 5 // jdk.internal.org.jline.reader.UserInterruptException ex
         7: .line 204
      StackMap locals:
      StackMap stack: jdk.internal.org.jline.reader.EndOfFileException
            pop
         8: .line 205
            aconst_null
            areturn
        end local 4 // java.lang.String prefix
        end local 3 // boolean firstLine
        end local 2 // java.lang.String continuationPrompt
        end local 1 // java.lang.String firstLinePrompt
        end local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    9     0                this  Ljdk/internal/jshell/tool/ConsoleIOContext;
            0    9     1     firstLinePrompt  Ljava/lang/String;
            0    9     2  continuationPrompt  Ljava/lang/String;
            0    9     3           firstLine  Z
            0    9     4              prefix  Ljava/lang/String;
            6    7     5                  ex  Ljdk/internal/org/jline/reader/UserInterruptException;
      Exception table:
        from    to  target  type
           2     4       5  Class jdk.internal.org.jline.reader.UserInterruptException
           2     4       7  Class jdk.internal.org.jline.reader.EndOfFileException
    Exceptions:
      throws java.io.IOException, jdk.internal.jshell.tool.IOContext$InputInterruptedException
    MethodParameters:
                    Name  Flags
      firstLinePrompt     
      continuationPrompt  
      firstLine           
      prefix              

  public boolean interactiveOutput();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
         0: .line 211
            iconst_1
            ireturn
        end local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/jshell/tool/ConsoleIOContext;

  public java.lang.Iterable<java.lang.String> history(boolean);
    descriptor: (Z)Ljava/lang/Iterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
        start local 1 // boolean currentSession
         0: .line 216
            aload 0 /* this */
            invokevirtual jdk.internal.jshell.tool.ConsoleIOContext.getHistory:()Ljdk/internal/org/jline/reader/History;
            invokeinterface jdk.internal.org.jline.reader.History.spliterator:()Ljava/util/Spliterator;
            iconst_0
            invokestatic java.util.stream.StreamSupport.stream:(Ljava/util/Spliterator;Z)Ljava/util/stream/Stream;
         1: .line 217
            aload 0 /* this */
            iload 1 /* currentSession */
            invokedynamic test(Ljdk/internal/jshell/tool/ConsoleIOContext;Z)Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  jdk/internal/jshell/tool/ConsoleIOContext.lambda$10(ZLjdk/internal/org/jline/reader/History$Entry;)Z (7)
                  (Ljdk/internal/org/jline/reader/History$Entry;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
         2: .line 218
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  jdk/internal/jshell/tool/ConsoleIOContext.lambda$11(Ljdk/internal/org/jline/reader/History$Entry;)Ljava/lang/String; (6)
                  (Ljdk/internal/org/jline/reader/History$Entry;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         3: .line 219
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.lang.Iterable
         4: .line 216
            areturn
        end local 1 // boolean currentSession
        end local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Ljdk/internal/jshell/tool/ConsoleIOContext;
            0    5     1  currentSession  Z
    Signature: (Z)Ljava/lang/Iterable<Ljava/lang/String;>;
    MethodParameters:
                Name  Flags
      currentSession  

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=8, args_size=1
        start local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
         0: .line 225
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.repl:Ljdk/internal/jshell/tool/JShellTool;
            getfield jdk.internal.jshell.tool.JShellTool.prefs:Ljdk/internal/jshell/tool/PersistentStorage;
            invokeinterface jdk.internal.jshell.tool.PersistentStorage.keys:()[Ljava/lang/String;
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 5
      StackMap locals: jdk.internal.jshell.tool.ConsoleIOContext top int int java.lang.String[]
      StackMap stack:
         1: aload 4
            iload 2
            aaload
            astore 1 /* key */
        start local 1 // java.lang.String key
         2: .line 226
            aload 1 /* key */
            ldc "HISTORY_LINE_"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 227
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.repl:Ljdk/internal/jshell/tool/JShellTool;
            getfield jdk.internal.jshell.tool.JShellTool.prefs:Ljdk/internal/jshell/tool/PersistentStorage;
            aload 1 /* key */
            invokeinterface jdk.internal.jshell.tool.PersistentStorage.remove:(Ljava/lang/String;)V
        end local 1 // java.lang.String key
         4: .line 225
      StackMap locals:
      StackMap stack:
            iinc 2 1
      StackMap locals:
      StackMap stack:
         5: iload 2
            iload 3
            if_icmplt 1
         6: .line 231
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.getHistory:()Ljdk/internal/org/jline/reader/History;
            invokeinterface jdk.internal.org.jline.reader.History.spliterator:()Ljava/util/Spliterator;
            iconst_0
            invokestatic java.util.stream.StreamSupport.stream:(Ljava/util/Spliterator;Z)Ljava/util/stream/Stream;
         7: .line 232
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  jdk/internal/org/jline/reader/History$Entry.line()Ljava/lang/String; (9 itf)
                  (Ljdk/internal/org/jline/reader/History$Entry;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         8: .line 233
            aload 0 /* this */
            invokedynamic apply(Ljdk/internal/jshell/tool/ConsoleIOContext;)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/internal/jshell/tool/ConsoleIOContext.toSplitEntries(Ljava/lang/String;)Ljava/util/stream/Stream; (7)
                  (Ljava/lang/String;)Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         9: .line 234
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.Collection
        10: .line 230
            astore 1 /* savedHistory */
        start local 1 // java.util.Collection savedHistory
        11: .line 235
            aload 1 /* savedHistory */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifne 19
        12: .line 236
            aload 1 /* savedHistory */
            invokeinterface java.util.Collection.size:()I
            iconst_1
            iadd
            i2d
            invokestatic java.lang.Math.log10:(D)D
            invokestatic java.lang.Math.ceil:(D)D
            d2i
            istore 3 /* len */
        start local 3 // int len
        13: .line 237
            new java.lang.StringBuilder
            dup
            ldc "HISTORY_LINE_%0"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* len */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "d"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* format */
        start local 4 // java.lang.String format
        14: .line 238
            iconst_0
            istore 5 /* index */
        start local 5 // int index
        15: .line 239
            aload 1 /* savedHistory */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 7
            goto 18
      StackMap locals: jdk.internal.jshell.tool.ConsoleIOContext java.util.Collection top int java.lang.String int top java.util.Iterator
      StackMap stack:
        16: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* historyLine */
        start local 6 // java.lang.String historyLine
        17: .line 240
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.repl:Ljdk/internal/jshell/tool/JShellTool;
            getfield jdk.internal.jshell.tool.JShellTool.prefs:Ljdk/internal/jshell/tool/PersistentStorage;
            aload 4 /* format */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 5 /* index */
            iinc 5 /* index */ 1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            aload 6 /* historyLine */
            invokeinterface jdk.internal.jshell.tool.PersistentStorage.put:(Ljava/lang/String;Ljava/lang/String;)V
        end local 6 // java.lang.String historyLine
        18: .line 239
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 16
        end local 5 // int index
        end local 4 // java.lang.String format
        end local 3 // int len
        19: .line 243
      StackMap locals: jdk.internal.jshell.tool.ConsoleIOContext java.util.Collection
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.repl:Ljdk/internal/jshell/tool/JShellTool;
            getfield jdk.internal.jshell.tool.JShellTool.prefs:Ljdk/internal/jshell/tool/PersistentStorage;
            invokeinterface jdk.internal.jshell.tool.PersistentStorage.flush:()V
        20: .line 245
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.getTerminal:()Ljdk/internal/org/jline/terminal/Terminal;
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.originalAttributes:Ljdk/internal/org/jline/terminal/Attributes;
            invokeinterface jdk.internal.org.jline.terminal.Terminal.setAttributes:(Ljdk/internal/org/jline/terminal/Attributes;)V
        21: .line 246
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.getTerminal:()Ljdk/internal/org/jline/terminal/Terminal;
            invokeinterface jdk.internal.org.jline.terminal.Terminal.close:()V
        22: .line 247
            goto 25
      StackMap locals:
      StackMap stack: java.lang.Exception
        23: astore 3 /* ex */
        start local 3 // java.lang.Exception ex
        24: .line 248
            new java.io.IOException
            dup
            aload 3 /* ex */
            invokespecial java.io.IOException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.Exception ex
        25: .line 250
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.input:Ljdk/internal/jshell/tool/StopDetectingInputStream;
            invokevirtual jdk.internal.jshell.tool.StopDetectingInputStream.shutdown:()V
        26: .line 251
            return
        end local 1 // java.util.Collection savedHistory
        end local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   27     0          this  Ljdk/internal/jshell/tool/ConsoleIOContext;
            2    4     1           key  Ljava/lang/String;
           11   27     1  savedHistory  Ljava/util/Collection<Ljava/lang/String;>;
           13   19     3           len  I
           14   19     4        format  Ljava/lang/String;
           15   19     5         index  I
           17   18     6   historyLine  Ljava/lang/String;
           24   25     3            ex  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          20    22      23  Class java.lang.Exception
    Exceptions:
      throws java.io.IOException

  private java.util.stream.Stream<java.lang.String> toSplitEntries(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/stream/Stream;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
        start local 1 // java.lang.String entry
         0: .line 254
            aload 1 /* entry */
            ldc "\n"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 2 /* lines */
        start local 2 // java.lang.String[] lines
         1: .line 255
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* result */
        start local 3 // java.util.List result
         2: .line 257
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 15
         4: .line 258
      StackMap locals: java.lang.String[] java.util.List int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 2 /* lines */
            iload 4 /* i */
            aaload
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 5 /* historyLine */
        start local 5 // java.lang.StringBuilder historyLine
         5: .line 259
            aload 0 /* this */
            aload 5 /* historyLine */
            invokevirtual jdk.internal.jshell.tool.ConsoleIOContext.countTrailintBackslashes:(Ljava/lang/CharSequence;)I
            istore 6 /* trailingBackSlashes */
        start local 6 // int trailingBackSlashes
         6: .line 260
            iconst_0
            istore 7 /* j */
        start local 7 // int j
         7: goto 10
         8: .line 261
      StackMap locals: java.lang.StringBuilder int int
      StackMap stack:
            aload 5 /* historyLine */
            ldc "\\"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 260
            iinc 7 /* j */ 1
      StackMap locals:
      StackMap stack:
        10: iload 7 /* j */
            iload 6 /* trailingBackSlashes */
            if_icmplt 8
        end local 7 // int j
        11: .line 263
            iload 4 /* i */
            iconst_1
            iadd
            aload 2 /* lines */
            arraylength
            if_icmpge 13
        12: .line 264
            aload 5 /* historyLine */
            ldc "\\"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 266
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
            aload 5 /* historyLine */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // int trailingBackSlashes
        end local 5 // java.lang.StringBuilder historyLine
        14: .line 257
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 4 /* i */
            aload 2 /* lines */
            arraylength
            if_icmplt 4
        end local 4 // int i
        16: .line 269
            aload 3 /* result */
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            areturn
        end local 3 // java.util.List result
        end local 2 // java.lang.String[] lines
        end local 1 // java.lang.String entry
        end local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   17     0                 this  Ljdk/internal/jshell/tool/ConsoleIOContext;
            0   17     1                entry  Ljava/lang/String;
            1   17     2                lines  [Ljava/lang/String;
            2   17     3               result  Ljava/util/List<Ljava/lang/String;>;
            3   16     4                    i  I
            5   14     5          historyLine  Ljava/lang/StringBuilder;
            6   14     6  trailingBackSlashes  I
            7   11     7                    j  I
    Signature: (Ljava/lang/String;)Ljava/util/stream/Stream<Ljava/lang/String;>;
    MethodParameters:
       Name  Flags
      entry  

  private int countTrailintBackslashes(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
        start local 1 // java.lang.CharSequence text
         0: .line 273
            iconst_0
            istore 2 /* count */
        start local 2 // int count
         1: .line 275
            aload 1 /* text */
            invokeinterface java.lang.CharSequence.length:()I
            iconst_1
            isub
            istore 3 /* i */
        start local 3 // int i
         2: goto 6
         3: .line 276
      StackMap locals: int int
      StackMap stack:
            aload 1 /* text */
            iload 3 /* i */
            invokeinterface java.lang.CharSequence.charAt:(I)C
            bipush 92
            if_icmpne 7
         4: .line 277
            iinc 2 /* count */ 1
         5: .line 275
            iinc 3 /* i */ -1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            ifge 3
        end local 3 // int i
         7: .line 283
      StackMap locals:
      StackMap stack:
            iload 2 /* count */
            ireturn
        end local 2 // int count
        end local 1 // java.lang.CharSequence text
        end local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Ljdk/internal/jshell/tool/ConsoleIOContext;
            0    8     1   text  Ljava/lang/CharSequence;
            1    8     2  count  I
            2    7     3      i  I
    MethodParameters:
      Name  Flags
      text  

  private boolean complete(jdk.internal.jshell.tool.ConsoleIOContext$CompletionState);
    descriptor: (Ljdk/internal/jshell/tool/ConsoleIOContext$CompletionState;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=18, args_size=2
        start local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
        start local 1 // jdk.internal.jshell.tool.ConsoleIOContext$CompletionState completionState
         0: .line 299
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.getBuffer:()Ljdk/internal/org/jline/reader/Buffer;
            invokeinterface jdk.internal.org.jline.reader.Buffer.toString:()Ljava/lang/String;
            astore 2 /* text */
        start local 2 // java.lang.String text
         1: .line 300
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.getBuffer:()Ljdk/internal/org/jline/reader/Buffer;
            invokeinterface jdk.internal.org.jline.reader.Buffer.cursor:()I
            istore 3 /* cursor */
        start local 3 // int cursor
         2: .line 302
            aload 1 /* completionState */
            getfield jdk.internal.jshell.tool.ConsoleIOContext$CompletionState.todo:Ljava/util/List;
            astore 4 /* todo */
        start local 4 // java.util.List todo
         3: .line 304
            aload 4 /* todo */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 4
            aload 1 /* completionState */
            getfield jdk.internal.jshell.tool.ConsoleIOContext$CompletionState.actionCount:I
            iconst_1
            if_icmpeq 80
         4: .line 305
      StackMap locals: java.lang.String int java.util.List
      StackMap stack:
            invokestatic jdk.internal.jshell.tool.ConsoleIOContextTestSupport.willComputeCompletion:()V
         5: .line 306
            iconst_1
            newarray 10
            dup
            iconst_0
            iconst_m1
            iastore
            astore 5 /* anchor */
        start local 5 // int[] anchor
         6: .line 309
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.prefix:Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 7
            aload 2 /* text */
            ldc "/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 7
            iconst_1
            goto 8
      StackMap locals: int[]
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: istore 8 /* command */
        start local 8 // boolean command
         9: .line 310
            iload 8 /* command */
            ifeq 13
        10: .line 311
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.repl:Ljdk/internal/jshell/tool/JShellTool;
            aload 2 /* text */
            iload 3 /* cursor */
            aload 5 /* anchor */
            invokevirtual jdk.internal.jshell.tool.JShellTool.commandCompletionSuggestions:(Ljava/lang/String;I[I)Ljava/util/List;
            astore 6 /* suggestions */
        start local 6 // java.util.List suggestions
        11: .line 312
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.repl:Ljdk/internal/jshell/tool/JShellTool;
            aload 2 /* text */
            iload 3 /* cursor */
            iconst_1
            invokevirtual jdk.internal.jshell.tool.JShellTool.commandDocumentation:(Ljava/lang/String;IZ)Ljava/util/List;
            astore 7 /* doc */
        start local 7 // java.util.List doc
        12: .line 313
            goto 21
        end local 7 // java.util.List doc
        end local 6 // java.util.List suggestions
        13: .line 314
      StackMap locals: jdk.internal.jshell.tool.ConsoleIOContext jdk.internal.jshell.tool.ConsoleIOContext$CompletionState java.lang.String int java.util.List int[] top top int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.prefix:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            istore 9 /* prefixLength */
        start local 9 // int prefixLength
        14: .line 315
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.repl:Ljdk/internal/jshell/tool/JShellTool;
            getfield jdk.internal.jshell.tool.JShellTool.analysis:Ljdk/jshell/SourceCodeAnalysis;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.prefix:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* text */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iload 3 /* cursor */
            iload 9 /* prefixLength */
            iadd
            aload 5 /* anchor */
            invokevirtual jdk.jshell.SourceCodeAnalysis.completionSuggestions:(Ljava/lang/String;I[I)Ljava/util/List;
            astore 6 /* suggestions */
        start local 6 // java.util.List suggestions
        15: .line 316
            aload 5 /* anchor */
            iconst_0
            dup2
            iaload
            iload 9 /* prefixLength */
            isub
            iastore
        16: .line 317
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.repl:Ljdk/internal/jshell/tool/JShellTool;
            getfield jdk.internal.jshell.tool.JShellTool.analysis:Ljdk/jshell/SourceCodeAnalysis;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.prefix:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* text */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iload 3 /* cursor */
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.prefix:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            iadd
            iconst_0
            invokevirtual jdk.jshell.SourceCodeAnalysis.documentation:(Ljava/lang/String;IZ)Ljava/util/List;
        17: .line 318
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
        18: .line 319
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  jdk/jshell/SourceCodeAnalysis$Documentation.signature()Ljava/lang/String; (9 itf)
                  (Ljdk/jshell/SourceCodeAnalysis$Documentation;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
        19: .line 320
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
        20: .line 317
            astore 7 /* doc */
        end local 9 // int prefixLength
        start local 7 // java.util.List doc
        21: .line 322
      StackMap locals: jdk.internal.jshell.tool.ConsoleIOContext jdk.internal.jshell.tool.ConsoleIOContext$CompletionState java.lang.String int java.util.List int[] java.util.List java.util.List int
      StackMap stack:
            aload 6 /* suggestions */
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  jdk/jshell/SourceCodeAnalysis$Suggestion.matchesType()Z (9 itf)
                  (Ljdk/jshell/SourceCodeAnalysis$Suggestion;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.count:()J
            lstore 9 /* smartCount */
        start local 9 // long smartCount
        22: .line 323
            lload 9 /* smartCount */
            lconst_0
            lcmp
            ifle 23
            lload 9 /* smartCount */
            ldc 100
            lcmp
            ifgt 23
            iconst_1
            goto 24
      StackMap locals: long
      StackMap stack:
        23: iconst_0
      StackMap locals:
      StackMap stack: int
        24: istore 11 /* hasSmart */
        start local 11 // boolean hasSmart
        25: .line 324
            iload 11 /* hasSmart */
            ifeq 32
        26: .line 325
            aload 6 /* suggestions */
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
        27: .line 326
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  jdk/internal/jshell/tool/ConsoleIOContext.lambda$16(Ljdk/jshell/SourceCodeAnalysis$Suggestion;)Ljava/lang/Boolean; (6)
                  (Ljdk/jshell/SourceCodeAnalysis$Suggestion;)Ljava/lang/Boolean;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
        28: .line 327
            invokeinterface java.util.stream.Stream.distinct:()Ljava/util/stream/Stream;
        29: .line 328
            invokeinterface java.util.stream.Stream.count:()J
            ldc 2
        30: .line 325
            lcmp
            ifne 32
        31: .line 324
            iconst_1
            goto 33
      StackMap locals: int
      StackMap stack:
        32: iconst_0
      StackMap locals:
      StackMap stack: int
        33: istore 12 /* hasBoth */
        start local 12 // boolean hasBoth
        34: .line 329
            aload 6 /* suggestions */
            invokeinterface java.util.List.size:()I
            bipush 100
            if_icmple 35
            iconst_1
            goto 36
      StackMap locals: int
      StackMap stack:
        35: iconst_0
      StackMap locals:
      StackMap stack: int
        36: istore 13 /* tooManyItems */
        start local 13 // boolean tooManyItems
        37: .line 331
            new jdk.internal.jshell.tool.ConsoleIOContext$OrdinaryCompletionTask
            dup
            aload 0 /* this */
            aload 6 /* suggestions */
        38: .line 332
            aload 5 /* anchor */
            iconst_0
            iaload
        39: .line 333
            iload 8 /* command */
            ifne 40
            aload 7 /* doc */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 40
            iconst_1
            goto 41
      StackMap locals: jdk.internal.jshell.tool.ConsoleIOContext jdk.internal.jshell.tool.ConsoleIOContext$CompletionState java.lang.String int java.util.List int[] java.util.List java.util.List int long int int int
      StackMap stack: new 37 new 37 jdk.internal.jshell.tool.ConsoleIOContext java.util.List int
        40: iconst_0
        41: .line 334
      StackMap locals: jdk.internal.jshell.tool.ConsoleIOContext jdk.internal.jshell.tool.ConsoleIOContext$CompletionState java.lang.String int java.util.List int[] java.util.List java.util.List int long int int int
      StackMap stack: new 37 new 37 jdk.internal.jshell.tool.ConsoleIOContext java.util.List int int
            iload 12 /* hasBoth */
        42: .line 331
            invokespecial jdk.internal.jshell.tool.ConsoleIOContext$OrdinaryCompletionTask.<init>:(Ljdk/internal/jshell/tool/ConsoleIOContext;Ljava/util/List;IZZ)V
        43: .line 330
            astore 14 /* ordinaryCompletion */
        start local 14 // jdk.internal.jshell.tool.ConsoleIOContext$CompletionTask ordinaryCompletion
        44: .line 335
            new jdk.internal.jshell.tool.ConsoleIOContext$AllSuggestionsCompletionTask
            dup
            aload 0 /* this */
            aload 6 /* suggestions */
            aload 5 /* anchor */
            iconst_0
            iaload
            invokespecial jdk.internal.jshell.tool.ConsoleIOContext$AllSuggestionsCompletionTask.<init>:(Ljdk/internal/jshell/tool/ConsoleIOContext;Ljava/util/List;I)V
            astore 15 /* allCompletion */
        start local 15 // jdk.internal.jshell.tool.ConsoleIOContext$CompletionTask allCompletion
        45: .line 337
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* todo */
        46: .line 340
            iload 8 /* command */
            ifeq 60
        47: .line 341
            new jdk.internal.jshell.tool.ConsoleIOContext$CommandSynopsisTask
            dup
            aload 0 /* this */
            aload 7 /* doc */
            invokespecial jdk.internal.jshell.tool.ConsoleIOContext$CommandSynopsisTask.<init>:(Ljdk/internal/jshell/tool/ConsoleIOContext;Ljava/util/List;)V
            astore 16 /* shortDocumentation */
        start local 16 // jdk.internal.jshell.tool.ConsoleIOContext$CompletionTask shortDocumentation
        48: .line 342
            new jdk.internal.jshell.tool.ConsoleIOContext$CommandFullDocumentationTask
            dup
            aload 0 /* this */
            aload 4 /* todo */
            invokespecial jdk.internal.jshell.tool.ConsoleIOContext$CommandFullDocumentationTask.<init>:(Ljdk/internal/jshell/tool/ConsoleIOContext;Ljava/util/List;)V
            astore 17 /* fullDocumentation */
        start local 17 // jdk.internal.jshell.tool.ConsoleIOContext$CompletionTask fullDocumentation
        49: .line 344
            aload 7 /* doc */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 58
        50: .line 345
            iload 13 /* tooManyItems */
            ifeq 54
        51: .line 346
            aload 4 /* todo */
            new jdk.internal.jshell.tool.ConsoleIOContext$NoopCompletionTask
            dup
            aload 0 /* this */
            invokespecial jdk.internal.jshell.tool.ConsoleIOContext$NoopCompletionTask.<init>:(Ljdk/internal/jshell/tool/ConsoleIOContext;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        52: .line 347
            aload 4 /* todo */
            aload 15 /* allCompletion */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        53: .line 348
            goto 55
        54: .line 349
      StackMap locals: jdk.internal.jshell.tool.ConsoleIOContext jdk.internal.jshell.tool.ConsoleIOContext$CompletionState java.lang.String int java.util.List int[] java.util.List java.util.List int long int int int jdk.internal.jshell.tool.ConsoleIOContext$CompletionTask jdk.internal.jshell.tool.ConsoleIOContext$CompletionTask jdk.internal.jshell.tool.ConsoleIOContext$CompletionTask jdk.internal.jshell.tool.ConsoleIOContext$CompletionTask
      StackMap stack:
            aload 4 /* todo */
            aload 14 /* ordinaryCompletion */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        55: .line 351
      StackMap locals:
      StackMap stack:
            aload 4 /* todo */
            aload 16 /* shortDocumentation */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        56: .line 352
            aload 4 /* todo */
            aload 17 /* fullDocumentation */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        57: .line 353
            goto 80
        58: .line 354
      StackMap locals:
      StackMap stack:
            aload 4 /* todo */
            new jdk.internal.jshell.tool.ConsoleIOContext$NoSuchCommandCompletionTask
            dup
            aload 0 /* this */
            invokespecial jdk.internal.jshell.tool.ConsoleIOContext$NoSuchCommandCompletionTask.<init>:(Ljdk/internal/jshell/tool/ConsoleIOContext;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 17 // jdk.internal.jshell.tool.ConsoleIOContext$CompletionTask fullDocumentation
        end local 16 // jdk.internal.jshell.tool.ConsoleIOContext$CompletionTask shortDocumentation
        59: .line 356
            goto 80
        60: .line 357
      StackMap locals:
      StackMap stack:
            aload 7 /* doc */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 69
        61: .line 358
            iload 11 /* hasSmart */
            ifeq 64
        62: .line 359
            aload 4 /* todo */
            aload 14 /* ordinaryCompletion */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        63: .line 360
            goto 66
      StackMap locals:
      StackMap stack:
        64: iload 13 /* tooManyItems */
            ifeq 66
        65: .line 361
            aload 4 /* todo */
            new jdk.internal.jshell.tool.ConsoleIOContext$NoopCompletionTask
            dup
            aload 0 /* this */
            invokespecial jdk.internal.jshell.tool.ConsoleIOContext$NoopCompletionTask.<init>:(Ljdk/internal/jshell/tool/ConsoleIOContext;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        66: .line 363
      StackMap locals:
      StackMap stack:
            iload 11 /* hasSmart */
            ifeq 67
            iload 12 /* hasBoth */
            ifeq 80
        67: .line 364
      StackMap locals:
      StackMap stack:
            aload 4 /* todo */
            aload 15 /* allCompletion */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        68: .line 366
            goto 80
        69: .line 367
      StackMap locals:
      StackMap stack:
            new jdk.internal.jshell.tool.ConsoleIOContext$ExpressionSignaturesTask
            dup
            aload 0 /* this */
            aload 7 /* doc */
            invokespecial jdk.internal.jshell.tool.ConsoleIOContext$ExpressionSignaturesTask.<init>:(Ljdk/internal/jshell/tool/ConsoleIOContext;Ljava/util/List;)V
            astore 16 /* shortDocumentation */
        start local 16 // jdk.internal.jshell.tool.ConsoleIOContext$CompletionTask shortDocumentation
        70: .line 368
            new jdk.internal.jshell.tool.ConsoleIOContext$ExpressionJavadocTask
            dup
            aload 0 /* this */
            aload 4 /* todo */
            invokespecial jdk.internal.jshell.tool.ConsoleIOContext$ExpressionJavadocTask.<init>:(Ljdk/internal/jshell/tool/ConsoleIOContext;Ljava/util/List;)V
            astore 17 /* fullDocumentation */
        start local 17 // jdk.internal.jshell.tool.ConsoleIOContext$CompletionTask fullDocumentation
        71: .line 370
            iload 11 /* hasSmart */
            ifeq 73
        72: .line 371
            aload 4 /* todo */
            aload 14 /* ordinaryCompletion */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        73: .line 373
      StackMap locals: jdk.internal.jshell.tool.ConsoleIOContext$CompletionTask jdk.internal.jshell.tool.ConsoleIOContext$CompletionTask
      StackMap stack:
            aload 4 /* todo */
            aload 16 /* shortDocumentation */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        74: .line 374
            iload 11 /* hasSmart */
            ifeq 75
            iload 12 /* hasBoth */
            ifeq 76
        75: .line 375
      StackMap locals:
      StackMap stack:
            aload 4 /* todo */
            aload 15 /* allCompletion */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        76: .line 377
      StackMap locals:
      StackMap stack:
            iload 13 /* tooManyItems */
            ifeq 79
        77: .line 378
            aload 4 /* todo */
            aload 4 /* todo */
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            aload 17 /* fullDocumentation */
            invokeinterface java.util.List.add:(ILjava/lang/Object;)V
        78: .line 379
            goto 80
        79: .line 380
      StackMap locals:
      StackMap stack:
            aload 4 /* todo */
            aload 17 /* fullDocumentation */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 17 // jdk.internal.jshell.tool.ConsoleIOContext$CompletionTask fullDocumentation
        end local 16 // jdk.internal.jshell.tool.ConsoleIOContext$CompletionTask shortDocumentation
        end local 15 // jdk.internal.jshell.tool.ConsoleIOContext$CompletionTask allCompletion
        end local 14 // jdk.internal.jshell.tool.ConsoleIOContext$CompletionTask ordinaryCompletion
        end local 13 // boolean tooManyItems
        end local 12 // boolean hasBoth
        end local 11 // boolean hasSmart
        end local 9 // long smartCount
        end local 8 // boolean command
        end local 7 // java.util.List doc
        end local 6 // java.util.List suggestions
        end local 5 // int[] anchor
        80: .line 386
      StackMap locals: jdk.internal.jshell.tool.ConsoleIOContext jdk.internal.jshell.tool.ConsoleIOContext$CompletionState java.lang.String int java.util.List
      StackMap stack:
            iconst_0
            istore 5 /* success */
        start local 5 // boolean success
        81: .line 387
            iconst_1
            istore 6 /* repaint */
        start local 6 // boolean repaint
        82: .line 389
            goto 93
        83: .line 390
      StackMap locals: int int
      StackMap stack:
            aload 4 /* todo */
            iconst_0
            invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
            checkcast jdk.internal.jshell.tool.ConsoleIOContext$CompletionTask
            aload 2 /* text */
            iload 3 /* cursor */
            invokeinterface jdk.internal.jshell.tool.ConsoleIOContext$CompletionTask.perform:(Ljava/lang/String;I)Ljdk/internal/jshell/tool/ConsoleIOContext$CompletionTask$Result;
            astore 7 /* result */
        start local 7 // jdk.internal.jshell.tool.ConsoleIOContext$CompletionTask$Result result
        84: .line 392
            invokestatic jdk.internal.jshell.tool.ConsoleIOContext.$SWITCH_TABLE$jdk$internal$jshell$tool$ConsoleIOContext$CompletionTask$Result:()[I
            aload 7 /* result */
            invokevirtual jdk.internal.jshell.tool.ConsoleIOContext$CompletionTask$Result.ordinal:()I
            iaload
            tableswitch { // 1 - 5
                    1: 89
                    2: 85
                    3: 88
                    4: 87
                    5: 86
              default: 93
          }
        85: .line 394
      StackMap locals: jdk.internal.jshell.tool.ConsoleIOContext$CompletionTask$Result
      StackMap stack:
            goto 93
        86: .line 396
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* repaint */
        87: .line 398
      StackMap locals:
      StackMap stack:
            aload 4 /* todo */
            invokeinterface java.util.List.clear:()V
        88: .line 401
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 5 /* success */
        89: .line 404
      StackMap locals:
      StackMap stack:
            aload 4 /* todo */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 94
        90: .line 405
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.getTerminal:()Ljdk/internal/org/jline/terminal/Terminal;
            invokeinterface jdk.internal.org.jline.terminal.Terminal.writer:()Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.println:()V
        91: .line 406
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.getTerminal:()Ljdk/internal/org/jline/terminal/Terminal;
            invokeinterface jdk.internal.org.jline.terminal.Terminal.writer:()Ljava/io/PrintWriter;
            aload 4 /* todo */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast jdk.internal.jshell.tool.ConsoleIOContext$CompletionTask
            invokeinterface jdk.internal.jshell.tool.ConsoleIOContext$CompletionTask.description:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        92: .line 408
            goto 94
        end local 7 // jdk.internal.jshell.tool.ConsoleIOContext$CompletionTask$Result result
        93: .line 389
      StackMap locals:
      StackMap stack:
            aload 4 /* todo */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 83
        94: .line 412
      StackMap locals:
      StackMap stack:
            aload 1 /* completionState */
            iconst_0
            putfield jdk.internal.jshell.tool.ConsoleIOContext$CompletionState.actionCount:I
        95: .line 413
            aload 1 /* completionState */
            aload 4 /* todo */
            putfield jdk.internal.jshell.tool.ConsoleIOContext$CompletionState.todo:Ljava/util/List;
        96: .line 415
            iload 6 /* repaint */
            ifeq 99
        97: .line 416
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.redrawLine:()Z
            pop
        98: .line 417
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.flush:()V
        99: .line 420
      StackMap locals:
      StackMap stack:
            iload 5 /* success */
       100: ireturn
        end local 6 // boolean repaint
        end local 5 // boolean success
        end local 4 // java.util.List todo
        end local 3 // int cursor
        end local 2 // java.lang.String text
       101: .line 421
      StackMap locals: jdk.internal.jshell.tool.ConsoleIOContext jdk.internal.jshell.tool.ConsoleIOContext$CompletionState
      StackMap stack: java.io.IOException
            astore 2 /* ex */
        start local 2 // java.io.IOException ex
       102: .line 422
            new java.lang.IllegalStateException
            dup
            aload 2 /* ex */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.io.IOException ex
        end local 1 // jdk.internal.jshell.tool.ConsoleIOContext$CompletionState completionState
        end local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0  103     0                this  Ljdk/internal/jshell/tool/ConsoleIOContext;
            0  103     1     completionState  Ljdk/internal/jshell/tool/ConsoleIOContext$CompletionState;
            1  101     2                text  Ljava/lang/String;
            2  101     3              cursor  I
            3  101     4                todo  Ljava/util/List<Ljdk/internal/jshell/tool/ConsoleIOContext$CompletionTask;>;
            6   80     5              anchor  [I
           11   13     6         suggestions  Ljava/util/List<Ljdk/jshell/SourceCodeAnalysis$Suggestion;>;
           15   80     6         suggestions  Ljava/util/List<Ljdk/jshell/SourceCodeAnalysis$Suggestion;>;
           12   13     7                 doc  Ljava/util/List<Ljava/lang/String;>;
           21   80     7                 doc  Ljava/util/List<Ljava/lang/String;>;
            9   80     8             command  Z
           14   21     9        prefixLength  I
           22   80     9          smartCount  J
           25   80    11            hasSmart  Z
           34   80    12             hasBoth  Z
           37   80    13        tooManyItems  Z
           44   80    14  ordinaryCompletion  Ljdk/internal/jshell/tool/ConsoleIOContext$CompletionTask;
           45   80    15       allCompletion  Ljdk/internal/jshell/tool/ConsoleIOContext$CompletionTask;
           48   59    16  shortDocumentation  Ljdk/internal/jshell/tool/ConsoleIOContext$CompletionTask;
           49   59    17   fullDocumentation  Ljdk/internal/jshell/tool/ConsoleIOContext$CompletionTask;
           70   80    16  shortDocumentation  Ljdk/internal/jshell/tool/ConsoleIOContext$CompletionTask;
           71   80    17   fullDocumentation  Ljdk/internal/jshell/tool/ConsoleIOContext$CompletionTask;
           81  101     5             success  Z
           82  101     6             repaint  Z
           84   93     7              result  Ljdk/internal/jshell/tool/ConsoleIOContext$CompletionTask$Result;
          102  103     2                  ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0   100     101  Class java.io.IOException
    MethodParameters:
                 Name  Flags
      completionState  

  private jdk.internal.jshell.tool.ConsoleIOContext$CompletionTask$Result doPrintFullDocumentation(java.util.List<jdk.internal.jshell.tool.ConsoleIOContext$CompletionTask>, java.util.List<java.lang.String>, boolean);
    descriptor: (Ljava/util/List;Ljava/util/List;Z)Ljdk/internal/jshell/tool/ConsoleIOContext$CompletionTask$Result;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=13, args_size=4
        start local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
        start local 1 // java.util.List todo
        start local 2 // java.util.List doc
        start local 3 // boolean command
         0: .line 427
            aload 2 /* doc */
            ifnull 24
            aload 2 /* doc */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 24
         1: .line 428
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.getTerminal:()Ljdk/internal/org/jline/terminal/Terminal;
            astore 4 /* term */
        start local 4 // jdk.internal.org.jline.terminal.Terminal term
         2: .line 429
            aload 4 /* term */
            invokeinterface jdk.internal.org.jline.terminal.Terminal.getHeight:()I
            iconst_4
            isub
            istore 5 /* pageHeight */
        start local 5 // int pageHeight
         3: .line 430
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 6 /* thisTODO */
        start local 6 // java.util.List thisTODO
         4: .line 432
            aload 2 /* doc */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7 /* docIt */
        start local 7 // java.util.Iterator docIt
         5: goto 21
         6: .line 433
      StackMap locals: jdk.internal.jshell.tool.ConsoleIOContext java.util.List java.util.List int jdk.internal.org.jline.terminal.Terminal int java.util.List java.util.Iterator
      StackMap stack:
            aload 7 /* docIt */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 8 /* currentDoc */
        start local 8 // java.lang.String currentDoc
         7: .line 434
            aload 8 /* currentDoc */
            ldc "\n"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 9 /* lines */
        start local 9 // java.lang.String[] lines
         8: .line 435
            iconst_0
            istore 10 /* firstLine */
        start local 10 // int firstLine
         9: .line 437
            goto 20
        10: .line 438
      StackMap locals: java.lang.String java.lang.String[] int
      StackMap stack:
            iload 10 /* firstLine */
            ifne 11
            iconst_1
            goto 12
      StackMap locals:
      StackMap stack:
        11: iconst_0
      StackMap locals:
      StackMap stack: int
        12: istore 11 /* first */
        start local 11 // boolean first
        13: .line 440
            aload 9 /* lines */
        14: .line 441
            iload 10 /* firstLine */
        15: .line 442
            iload 10 /* firstLine */
            iload 5 /* pageHeight */
            iadd
            aload 9 /* lines */
            arraylength
            invokestatic java.lang.Math.min:(II)I
        16: .line 440
            invokestatic java.util.Arrays.copyOfRange:([Ljava/lang/Object;II)[Ljava/lang/Object;
            checkcast java.lang.String[]
        17: .line 439
            astore 12 /* thisPageLines */
        start local 12 // java.lang.String[] thisPageLines
        18: .line 444
            aload 6 /* thisTODO */
            new jdk.internal.jshell.tool.ConsoleIOContext$5
            dup
            aload 0 /* this */
            iload 11 /* first */
            iload 3 /* command */
            aload 12 /* thisPageLines */
            invokespecial jdk.internal.jshell.tool.ConsoleIOContext$5.<init>:(Ljdk/internal/jshell/tool/ConsoleIOContext;ZZ[Ljava/lang/String;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        19: .line 464
            iload 10 /* firstLine */
            iload 5 /* pageHeight */
            iadd
            istore 10 /* firstLine */
        end local 12 // java.lang.String[] thisPageLines
        end local 11 // boolean first
        20: .line 437
      StackMap locals:
      StackMap stack:
            iload 10 /* firstLine */
            aload 9 /* lines */
            arraylength
            if_icmplt 10
        end local 10 // int firstLine
        end local 9 // java.lang.String[] lines
        end local 8 // java.lang.String currentDoc
        21: .line 432
      StackMap locals:
      StackMap stack:
            aload 7 /* docIt */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        end local 7 // java.util.Iterator docIt
        22: .line 468
            aload 1 /* todo */
            iconst_0
            aload 6 /* thisTODO */
            invokeinterface java.util.List.addAll:(ILjava/util/Collection;)Z
            pop
        23: .line 470
            getstatic jdk.internal.jshell.tool.ConsoleIOContext$CompletionTask$Result.CONTINUE:Ljdk/internal/jshell/tool/ConsoleIOContext$CompletionTask$Result;
            areturn
        end local 6 // java.util.List thisTODO
        end local 5 // int pageHeight
        end local 4 // jdk.internal.org.jline.terminal.Terminal term
        24: .line 473
      StackMap locals: jdk.internal.jshell.tool.ConsoleIOContext java.util.List java.util.List int
      StackMap stack:
            getstatic jdk.internal.jshell.tool.ConsoleIOContext$CompletionTask$Result.FINISH:Ljdk/internal/jshell/tool/ConsoleIOContext$CompletionTask$Result;
            areturn
        end local 3 // boolean command
        end local 2 // java.util.List doc
        end local 1 // java.util.List todo
        end local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   25     0           this  Ljdk/internal/jshell/tool/ConsoleIOContext;
            0   25     1           todo  Ljava/util/List<Ljdk/internal/jshell/tool/ConsoleIOContext$CompletionTask;>;
            0   25     2            doc  Ljava/util/List<Ljava/lang/String;>;
            0   25     3        command  Z
            2   24     4           term  Ljdk/internal/org/jline/terminal/Terminal;
            3   24     5     pageHeight  I
            4   24     6       thisTODO  Ljava/util/List<Ljdk/internal/jshell/tool/ConsoleIOContext$CompletionTask;>;
            5   22     7          docIt  Ljava/util/Iterator<Ljava/lang/String;>;
            7   21     8     currentDoc  Ljava/lang/String;
            8   21     9          lines  [Ljava/lang/String;
            9   21    10      firstLine  I
           13   20    11          first  Z
           18   20    12  thisPageLines  [Ljava/lang/String;
    Signature: (Ljava/util/List<Ljdk/internal/jshell/tool/ConsoleIOContext$CompletionTask;>;Ljava/util/List<Ljava/lang/String;>;Z)Ljdk/internal/jshell/tool/ConsoleIOContext$CompletionTask$Result;
    MethodParameters:
         Name  Flags
      todo     
      doc      
      command  

  private static java.lang.String commonPrefix(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.lang.String str1
        start local 1 // java.lang.String str2
         0: .line 479
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 5
         2: .line 480
      StackMap locals: int
      StackMap stack:
            aload 0 /* str1 */
            aload 1 /* str2 */
            iconst_0
            iload 2 /* i */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 4
         3: .line 481
            aload 1 /* str2 */
            iconst_0
            iload 2 /* i */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
         4: .line 479
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 1 /* str2 */
            invokevirtual java.lang.String.length:()I
            if_icmplt 2
        end local 2 // int i
         6: .line 485
            aload 1 /* str2 */
            areturn
        end local 1 // java.lang.String str2
        end local 0 // java.lang.String str1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  str1  Ljava/lang/String;
            0    7     1  str2  Ljava/lang/String;
            1    6     2     i  I
    MethodParameters:
      Name  Flags
      str1  
      str2  

  private void printColumns(java.util.List<? extends java.lang.CharSequence>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=8, args_size=2
        start local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
        start local 1 // java.util.List candidates
         0: .line 642
            aload 1 /* candidates */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 1
            return
         1: .line 643
      StackMap locals:
      StackMap stack:
            aload 1 /* candidates */
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            invokedynamic applyAsInt()Ljava/util/function/ToIntFunction;
              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;)I
                  java/lang/CharSequence.length()I (9 itf)
                  (Ljava/lang/CharSequence;)I
            invokeinterface java.util.stream.Stream.mapToInt:(Ljava/util/function/ToIntFunction;)Ljava/util/stream/IntStream;
            invokeinterface java.util.stream.IntStream.max:()Ljava/util/OptionalInt;
            invokevirtual java.util.OptionalInt.getAsInt:()I
            iconst_3
            iadd
            istore 2 /* size */
        start local 2 // int size
         2: .line 644
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.getTerminal:()Ljdk/internal/org/jline/terminal/Terminal;
            invokeinterface jdk.internal.org.jline.terminal.Terminal.getWidth:()I
            iload 2 /* size */
            idiv
            istore 3 /* columns */
        start local 3 // int columns
         3: .line 645
            iconst_0
            istore 4 /* c */
        start local 4 // int c
         4: .line 646
            aload 1 /* candidates */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 15
      StackMap locals: jdk.internal.jshell.tool.ConsoleIOContext java.util.List int int int top java.util.Iterator
      StackMap stack:
         5: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.CharSequence
            astore 5 /* cand */
        start local 5 // java.lang.CharSequence cand
         6: .line 647
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.getTerminal:()Ljdk/internal/org/jline/terminal/Terminal;
            invokeinterface jdk.internal.org.jline.terminal.Terminal.writer:()Ljava/io/PrintWriter;
            aload 5 /* cand */
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/Object;)V
         7: .line 648
            aload 5 /* cand */
            invokeinterface java.lang.CharSequence.length:()I
            istore 7 /* s */
        start local 7 // int s
         8: goto 11
         9: .line 649
      StackMap locals: jdk.internal.jshell.tool.ConsoleIOContext java.util.List int int int java.lang.CharSequence java.util.Iterator int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.getTerminal:()Ljdk/internal/org/jline/terminal/Terminal;
            invokeinterface jdk.internal.org.jline.terminal.Terminal.writer:()Ljava/io/PrintWriter;
            ldc " "
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
        10: .line 648
            iinc 7 /* s */ 1
      StackMap locals:
      StackMap stack:
        11: iload 7 /* s */
            iload 2 /* size */
            if_icmplt 9
        end local 7 // int s
        12: .line 651
            iinc 4 /* c */ 1
            iload 4 /* c */
            iload 3 /* columns */
            if_icmpne 15
        13: .line 652
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.getTerminal:()Ljdk/internal/org/jline/terminal/Terminal;
            invokeinterface jdk.internal.org.jline.terminal.Terminal.writer:()Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.println:()V
        14: .line 653
            iconst_0
            istore 4 /* c */
        end local 5 // java.lang.CharSequence cand
        15: .line 646
      StackMap locals: jdk.internal.jshell.tool.ConsoleIOContext java.util.List int int int top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        16: .line 656
            iload 4 /* c */
            ifeq 18
        17: .line 657
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.getTerminal:()Ljdk/internal/org/jline/terminal/Terminal;
            invokeinterface jdk.internal.org.jline.terminal.Terminal.writer:()Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.println:()V
        18: .line 659
      StackMap locals: jdk.internal.jshell.tool.ConsoleIOContext java.util.List int int int
      StackMap stack:
            return
        end local 4 // int c
        end local 3 // int columns
        end local 2 // int size
        end local 1 // java.util.List candidates
        end local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   19     0        this  Ljdk/internal/jshell/tool/ConsoleIOContext;
            0   19     1  candidates  Ljava/util/List<+Ljava/lang/CharSequence;>;
            2   19     2        size  I
            3   19     3     columns  I
            4   19     4           c  I
            6   15     5        cand  Ljava/lang/CharSequence;
            8   12     7           s  I
    Signature: (Ljava/util/List<+Ljava/lang/CharSequence;>;)V
    MethodParameters:
            Name  Flags
      candidates  

  public boolean terminalEditorRunning();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
         0: .line 766
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.getTerminal:()Ljdk/internal/org/jline/terminal/Terminal;
            astore 1 /* terminal */
        start local 1 // jdk.internal.org.jline.terminal.Terminal terminal
         1: .line 767
            aload 1 /* terminal */
            invokeinterface jdk.internal.org.jline.terminal.Terminal.getAttributes:()Ljdk/internal/org/jline/terminal/Attributes;
            getstatic jdk.internal.org.jline.terminal.Attributes$LocalFlag.ICANON:Ljdk/internal/org/jline/terminal/Attributes$LocalFlag;
            invokevirtual jdk.internal.org.jline.terminal.Attributes.getLocalFlag:(Ljdk/internal/org/jline/terminal/Attributes$LocalFlag;)Z
            ifeq 2
            iconst_0
            goto 3
      StackMap locals: jdk.internal.org.jline.terminal.Terminal
      StackMap stack:
         2: iconst_1
      StackMap locals:
      StackMap stack: int
         3: ireturn
        end local 1 // jdk.internal.org.jline.terminal.Terminal terminal
        end local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Ljdk/internal/jshell/tool/ConsoleIOContext;
            1    4     1  terminal  Ljdk/internal/org/jline/terminal/Terminal;

  public void suspend();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
         0: .line 772
            return
        end local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/jshell/tool/ConsoleIOContext;

  public void resume();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
         0: .line 776
            return
        end local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/jshell/tool/ConsoleIOContext;

  public void beforeUserCode();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
         0: .line 780
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         1: .line 781
            aload 0 /* this */
            aconst_null
            putfield jdk.internal.jshell.tool.ConsoleIOContext.inputBytes:[B
         2: .line 780
            aload 1
            monitorexit
         3: goto 6
      StackMap locals: jdk.internal.jshell.tool.ConsoleIOContext jdk.internal.jshell.tool.ConsoleIOContext
      StackMap stack: java.lang.Throwable
         4: aload 1
            monitorexit
         5: athrow
         6: .line 783
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.input:Ljdk/internal/jshell/tool/StopDetectingInputStream;
            getstatic jdk.internal.jshell.tool.StopDetectingInputStream$State.BUFFER:Ljdk/internal/jshell/tool/StopDetectingInputStream$State;
            invokevirtual jdk.internal.jshell.tool.StopDetectingInputStream.setState:(Ljdk/internal/jshell/tool/StopDetectingInputStream$State;)V
         7: .line 784
            return
        end local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljdk/internal/jshell/tool/ConsoleIOContext;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any

  public void afterUserCode();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
         0: .line 788
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.input:Ljdk/internal/jshell/tool/StopDetectingInputStream;
            getstatic jdk.internal.jshell.tool.StopDetectingInputStream$State.WAIT:Ljdk/internal/jshell/tool/StopDetectingInputStream$State;
            invokevirtual jdk.internal.jshell.tool.StopDetectingInputStream.setState:(Ljdk/internal/jshell/tool/StopDetectingInputStream$State;)V
         1: .line 789
            return
        end local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/internal/jshell/tool/ConsoleIOContext;

  public void replaceLastHistoryEntry(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
        start local 1 // java.lang.String source
         0: .line 793
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.getHistory:()Ljdk/internal/org/jline/reader/History;
            invokeinterface jdk.internal.org.jline.reader.History.iterator:()Ljava/util/ListIterator;
            astore 2 /* it */
        start local 2 // java.util.ListIterator it
         1: .line 794
            goto 3
         2: .line 795
      StackMap locals: java.util.ListIterator
      StackMap stack:
            aload 2 /* it */
            invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
            pop
         3: .line 794
      StackMap locals:
      StackMap stack:
            aload 2 /* it */
            invokeinterface java.util.ListIterator.hasNext:()Z
            ifne 2
         4: .line 797
            aload 2 /* it */
            invokeinterface java.util.ListIterator.remove:()V
         5: .line 798
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.getHistory:()Ljdk/internal/org/jline/reader/History;
            aload 1 /* source */
            invokeinterface jdk.internal.org.jline.reader.History.add:(Ljava/lang/String;)V
         6: .line 799
            return
        end local 2 // java.util.ListIterator it
        end local 1 // java.lang.String source
        end local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Ljdk/internal/jshell/tool/ConsoleIOContext;
            0    7     1  source  Ljava/lang/String;
            1    7     2      it  Ljava/util/ListIterator<Ljdk/internal/org/jline/reader/History$Entry;>;
    MethodParameters:
        Name  Flags
      source  

  private boolean fixes();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
         0: .line 805
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.getTerminal:()Ljdk/internal/org/jline/terminal/Terminal;
            invokeinterface jdk.internal.org.jline.terminal.Terminal.input:()Ljava/io/InputStream;
            invokevirtual java.io.InputStream.read:()I
            istore 1 /* c */
        start local 1 // int c
         1: .line 807
            iload 1 /* c */
            iconst_m1
            if_icmpne 3
         2: .line 808
            iconst_1
            ireturn
         3: .line 811
      StackMap locals: int
      StackMap stack:
            getstatic jdk.internal.jshell.tool.ConsoleIOContext.FIX_COMPUTERS:[Ljdk/internal/jshell/tool/ConsoleIOContext$FixComputer;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 9
      StackMap locals: jdk.internal.jshell.tool.ConsoleIOContext int top int int jdk.internal.jshell.tool.ConsoleIOContext$FixComputer[]
      StackMap stack:
         4: aload 5
            iload 3
            aaload
            astore 2 /* computer */
        start local 2 // jdk.internal.jshell.tool.ConsoleIOContext$FixComputer computer
         5: .line 812
            aload 2 /* computer */
            getfield jdk.internal.jshell.tool.ConsoleIOContext$FixComputer.shortcut:C
            iload 1 /* c */
            if_icmpne 8
         6: .line 813
            aload 0 /* this */
            aload 2 /* computer */
            invokevirtual jdk.internal.jshell.tool.ConsoleIOContext.fixes:(Ljdk/internal/jshell/tool/ConsoleIOContext$FixComputer;)V
         7: .line 814
            iconst_1
            ireturn
        end local 2 // jdk.internal.jshell.tool.ConsoleIOContext$FixComputer computer
         8: .line 811
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         9: iload 3
            iload 4
            if_icmplt 4
        10: .line 818
            aload 0 /* this */
            iload 1 /* c */
            invokevirtual jdk.internal.jshell.tool.ConsoleIOContext.readOutRemainingEscape:(I)V
        11: .line 820
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.beep:()Z
            pop
        12: .line 821
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.getTerminal:()Ljdk/internal/org/jline/terminal/Terminal;
            invokeinterface jdk.internal.org.jline.terminal.Terminal.writer:()Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.println:()V
        13: .line 822
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.getTerminal:()Ljdk/internal/org/jline/terminal/Terminal;
            invokeinterface jdk.internal.org.jline.terminal.Terminal.writer:()Ljava/io/PrintWriter;
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.repl:Ljdk/internal/jshell/tool/JShellTool;
            ldc "jshell.fix.wrong.shortcut"
            invokevirtual jdk.internal.jshell.tool.JShellTool.getResourceString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        14: .line 823
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.redrawLine:()Z
            pop
        15: .line 824
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.flush:()V
        end local 1 // int c
        16: .line 825
            goto 19
      StackMap locals: jdk.internal.jshell.tool.ConsoleIOContext
      StackMap stack: java.io.IOException
        17: astore 1 /* ex */
        start local 1 // java.io.IOException ex
        18: .line 826
            aload 1 /* ex */
            invokevirtual java.io.IOException.printStackTrace:()V
        end local 1 // java.io.IOException ex
        19: .line 828
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   20     0      this  Ljdk/internal/jshell/tool/ConsoleIOContext;
            1   16     1         c  I
            5    8     2  computer  Ljdk/internal/jshell/tool/ConsoleIOContext$FixComputer;
           18   19     1        ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     2      17  Class java.io.IOException
           3     7      17  Class java.io.IOException
           8    16      17  Class java.io.IOException

  private void readOutRemainingEscape(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
        start local 1 // int c
         0: .line 832
            iload 1 /* c */
            bipush 27
            if_icmpne 5
         1: .line 834
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.getTerminal:()Ljdk/internal/org/jline/terminal/Terminal;
            invokeinterface jdk.internal.org.jline.terminal.Terminal.reader:()Ljdk/internal/org/jline/utils/NonBlockingReader;
            astore 2 /* inp */
        start local 2 // jdk.internal.org.jline.utils.NonBlockingReader inp
         2: .line 836
            goto 4
         3: .line 837
      StackMap locals: jdk.internal.org.jline.utils.NonBlockingReader
      StackMap stack:
            aload 2 /* inp */
            invokevirtual jdk.internal.org.jline.utils.NonBlockingReader.read:()I
            pop
         4: .line 836
      StackMap locals:
      StackMap stack:
            aload 2 /* inp */
            ldc 100
            invokevirtual jdk.internal.org.jline.utils.NonBlockingReader.peek:(J)I
            ifgt 3
        end local 2 // jdk.internal.org.jline.utils.NonBlockingReader inp
         5: .line 840
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int c
        end local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljdk/internal/jshell/tool/ConsoleIOContext;
            0    6     1     c  I
            2    5     2   inp  Ljdk/internal/org/jline/utils/NonBlockingReader;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      c     

  private void fixes(jdk.internal.jshell.tool.ConsoleIOContext$FixComputer);
    descriptor: (Ljdk/internal/jshell/tool/ConsoleIOContext$FixComputer;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=10, args_size=2
        start local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
        start local 1 // jdk.internal.jshell.tool.ConsoleIOContext$FixComputer computer
         0: .line 845
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.prefix:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.getBuffer:()Ljdk/internal/org/jline/reader/Buffer;
            invokeinterface jdk.internal.org.jline.reader.Buffer.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* input */
        start local 2 // java.lang.String input
         1: .line 846
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.prefix:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.getBuffer:()Ljdk/internal/org/jline/reader/Buffer;
            invokeinterface jdk.internal.org.jline.reader.Buffer.cursor:()I
            iadd
            istore 3 /* cursor */
        start local 3 // int cursor
         2: .line 847
            aload 1 /* computer */
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.repl:Ljdk/internal/jshell/tool/JShellTool;
            aload 2 /* input */
            iload 3 /* cursor */
            invokevirtual jdk.internal.jshell.tool.ConsoleIOContext$FixComputer.compute:(Ljdk/internal/jshell/tool/JShellTool;Ljava/lang/String;I)Ljdk/internal/jshell/tool/ConsoleIOContext$FixResult;
            astore 4 /* candidates */
        start local 4 // jdk.internal.jshell.tool.ConsoleIOContext$FixResult candidates
         3: .line 850
            aload 4 /* candidates */
            getfield jdk.internal.jshell.tool.ConsoleIOContext$FixResult.error:Ljava/lang/String;
            ifnull 4
            aload 4 /* candidates */
            getfield jdk.internal.jshell.tool.ConsoleIOContext$FixResult.error:Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 4
            iconst_1
            goto 5
      StackMap locals: java.lang.String int jdk.internal.jshell.tool.ConsoleIOContext$FixResult
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: istore 5 /* printError */
        start local 5 // boolean printError
         6: .line 851
            iload 5 /* printError */
            ifeq 8
         7: .line 852
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.getTerminal:()Ljdk/internal/org/jline/terminal/Terminal;
            invokeinterface jdk.internal.org.jline.terminal.Terminal.writer:()Ljava/io/PrintWriter;
            aload 4 /* candidates */
            getfield jdk.internal.jshell.tool.ConsoleIOContext$FixResult.error:Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         8: .line 854
      StackMap locals: int
      StackMap stack:
            aload 4 /* candidates */
            getfield jdk.internal.jshell.tool.ConsoleIOContext$FixResult.fixes:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 14
         9: .line 855
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.beep:()Z
            pop
        10: .line 856
            iload 5 /* printError */
            ifeq 44
        11: .line 857
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.redrawLine:()Z
            pop
        12: .line 858
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.flush:()V
        13: .line 860
            goto 44
      StackMap locals:
      StackMap stack:
        14: aload 4 /* candidates */
            getfield jdk.internal.jshell.tool.ConsoleIOContext$FixResult.fixes:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmpne 20
            aload 1 /* computer */
            getfield jdk.internal.jshell.tool.ConsoleIOContext$FixComputer.showMenu:Z
            ifne 20
        15: .line 861
            iload 5 /* printError */
            ifeq 18
        16: .line 862
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.redrawLine:()Z
            pop
        17: .line 863
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.flush:()V
        18: .line 865
      StackMap locals:
      StackMap stack:
            aload 4 /* candidates */
            getfield jdk.internal.jshell.tool.ConsoleIOContext$FixResult.fixes:Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast jdk.internal.jshell.tool.ConsoleIOContext$Fix
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            invokeinterface jdk.internal.jshell.tool.ConsoleIOContext$Fix.perform:(Ljdk/internal/org/jline/reader/impl/LineReaderImpl;)V
        19: .line 866
            goto 44
        20: .line 867
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            aload 4 /* candidates */
            getfield jdk.internal.jshell.tool.ConsoleIOContext$FixResult.fixes:Ljava/util/List;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 6 /* fixes */
        start local 6 // java.util.List fixes
        21: .line 868
            aload 6 /* fixes */
            iconst_0
            new jdk.internal.jshell.tool.ConsoleIOContext$6
            dup
            aload 0 /* this */
            invokespecial jdk.internal.jshell.tool.ConsoleIOContext$6.<init>:(Ljdk/internal/jshell/tool/ConsoleIOContext;)V
            invokeinterface java.util.List.add:(ILjava/lang/Object;)V
        22: .line 880
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 7 /* char2Fix */
        start local 7 // java.util.Map char2Fix
        23: .line 881
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.getTerminal:()Ljdk/internal/org/jline/terminal/Terminal;
            invokeinterface jdk.internal.org.jline.terminal.Terminal.writer:()Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.println:()V
        24: .line 882
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        25: goto 30
        26: .line 883
      StackMap locals: java.util.List java.util.Map int
      StackMap stack:
            aload 6 /* fixes */
            iload 8 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast jdk.internal.jshell.tool.ConsoleIOContext$Fix
            astore 9 /* fix */
        start local 9 // jdk.internal.jshell.tool.ConsoleIOContext$Fix fix
        27: .line 884
            aload 7 /* char2Fix */
            bipush 48
            iload 8 /* i */
            iadd
            i2c
            invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
            aload 9 /* fix */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        28: .line 885
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.getTerminal:()Ljdk/internal/org/jline/terminal/Terminal;
            invokeinterface jdk.internal.org.jline.terminal.Terminal.writer:()Ljava/io/PrintWriter;
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            iload 8 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* fixes */
            iload 8 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast jdk.internal.jshell.tool.ConsoleIOContext$Fix
            invokeinterface jdk.internal.jshell.tool.ConsoleIOContext$Fix.displayName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        end local 9 // jdk.internal.jshell.tool.ConsoleIOContext$Fix fix
        29: .line 882
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        30: iload 8 /* i */
            aload 6 /* fixes */
            invokeinterface java.util.List.size:()I
            if_icmplt 26
        end local 8 // int i
        31: .line 887
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.getTerminal:()Ljdk/internal/org/jline/terminal/Terminal;
            invokeinterface jdk.internal.org.jline.terminal.Terminal.writer:()Ljava/io/PrintWriter;
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.repl:Ljdk/internal/jshell/tool/JShellTool;
            ldc "jshell.console.choice"
            iconst_0
            anewarray java.lang.Object
            invokevirtual jdk.internal.jshell.tool.JShellTool.messageFormat:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
        32: .line 888
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.flush:()V
        33: .line 891
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.readCharacter:()I
            istore 8 /* read */
        start local 8 // int read
        34: .line 893
            aload 7 /* char2Fix */
            iload 8 /* read */
            i2c
            invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast jdk.internal.jshell.tool.ConsoleIOContext$Fix
            astore 9 /* fix */
        start local 9 // jdk.internal.jshell.tool.ConsoleIOContext$Fix fix
        35: .line 895
            aload 9 /* fix */
            ifnonnull 38
        36: .line 896
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.beep:()Z
            pop
        37: .line 897
            aload 6 /* fixes */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast jdk.internal.jshell.tool.ConsoleIOContext$Fix
            astore 9 /* fix */
        38: .line 900
      StackMap locals: jdk.internal.jshell.tool.ConsoleIOContext$Fix
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.getTerminal:()Ljdk/internal/org/jline/terminal/Terminal;
            invokeinterface jdk.internal.org.jline.terminal.Terminal.writer:()Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.println:()V
        39: .line 902
            aload 9 /* fix */
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            invokeinterface jdk.internal.jshell.tool.ConsoleIOContext$Fix.perform:(Ljdk/internal/org/jline/reader/impl/LineReaderImpl;)V
        40: .line 904
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.flush:()V
        end local 9 // jdk.internal.jshell.tool.ConsoleIOContext$Fix fix
        end local 8 // int read
        end local 7 // java.util.Map char2Fix
        end local 6 // java.util.List fixes
        end local 5 // boolean printError
        41: .line 906
            goto 44
      StackMap locals: jdk.internal.jshell.tool.ConsoleIOContext jdk.internal.jshell.tool.ConsoleIOContext$FixComputer java.lang.String int jdk.internal.jshell.tool.ConsoleIOContext$FixResult
      StackMap stack: java.io.IOException
        42: astore 5 /* ex */
        start local 5 // java.io.IOException ex
        43: .line 907
            new java.lang.IllegalStateException
            dup
            aload 5 /* ex */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.io.IOException ex
        44: .line 909
      StackMap locals:
      StackMap stack:
            return
        end local 4 // jdk.internal.jshell.tool.ConsoleIOContext$FixResult candidates
        end local 3 // int cursor
        end local 2 // java.lang.String input
        end local 1 // jdk.internal.jshell.tool.ConsoleIOContext$FixComputer computer
        end local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   45     0        this  Ljdk/internal/jshell/tool/ConsoleIOContext;
            0   45     1    computer  Ljdk/internal/jshell/tool/ConsoleIOContext$FixComputer;
            1   45     2       input  Ljava/lang/String;
            2   45     3      cursor  I
            3   45     4  candidates  Ljdk/internal/jshell/tool/ConsoleIOContext$FixResult;
            6   41     5  printError  Z
           21   41     6       fixes  Ljava/util/List<Ljdk/internal/jshell/tool/ConsoleIOContext$Fix;>;
           23   41     7    char2Fix  Ljava/util/Map<Ljava/lang/Character;Ljdk/internal/jshell/tool/ConsoleIOContext$Fix;>;
           25   31     8           i  I
           27   29     9         fix  Ljdk/internal/jshell/tool/ConsoleIOContext$Fix;
           34   41     8        read  I
           35   41     9         fix  Ljdk/internal/jshell/tool/ConsoleIOContext$Fix;
           43   44     5          ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           3    41      42  Class java.io.IOException
    MethodParameters:
          Name  Flags
      computer  

  public synchronized int readUserInput();
    descriptor: ()I
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
         0: .line 916
            goto 23
         1: .line 917
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.getHistory:()Ljdk/internal/org/jline/reader/History;
            astore 1 /* prevHistory */
        start local 1 // jdk.internal.org.jline.reader.History prevHistory
         2: .line 918
            getstatic jdk.internal.org.jline.utils.Display.DISABLE_CR:Z
            istore 2 /* prevDisableCr */
        start local 2 // boolean prevDisableCr
         3: .line 919
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.getParser:()Ljdk/internal/org/jline/reader/Parser;
            astore 3 /* prevParser */
        start local 3 // jdk.internal.org.jline.reader.Parser prevParser
         4: .line 922
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            invokedynamic parse()Ljdk/internal/org/jline/reader/Parser;
              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/String;ILjdk/internal/org/jline/reader/Parser$ParseContext;)Ljdk/internal/org/jline/reader/ParsedLine;
                  jdk/internal/jshell/tool/ConsoleIOContext.lambda$18(Ljava/lang/String;ILjdk/internal/org/jline/reader/Parser$ParseContext;)Ljdk/internal/org/jline/reader/ParsedLine; (6)
                  (Ljava/lang/String;ILjdk/internal/org/jline/reader/Parser$ParseContext;)Ljdk/internal/org/jline/reader/ParsedLine;
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.setParser:(Ljdk/internal/org/jline/reader/Parser;)V
         5: .line 923
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.input:Ljdk/internal/jshell/tool/StopDetectingInputStream;
            getstatic jdk.internal.jshell.tool.StopDetectingInputStream$State.WAIT:Ljdk/internal/jshell/tool/StopDetectingInputStream$State;
            invokevirtual jdk.internal.jshell.tool.StopDetectingInputStream.setState:(Ljdk/internal/jshell/tool/StopDetectingInputStream$State;)V
         6: .line 924
            iconst_1
            putstatic jdk.internal.org.jline.utils.Display.DISABLE_CR:Z
         7: .line 925
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.userInputHistory:Ljdk/internal/org/jline/reader/History;
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.setHistory:(Ljdk/internal/org/jline/reader/History;)V
         8: .line 926
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            ldc ""
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.readLine:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "line.separator"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.getBytes:()[B
            putfield jdk.internal.jshell.tool.ConsoleIOContext.inputBytes:[B
         9: .line 927
            aload 0 /* this */
            iconst_0
            putfield jdk.internal.jshell.tool.ConsoleIOContext.inputBytesPointer:I
        10: .line 928
            goto 19
      StackMap locals: jdk.internal.jshell.tool.ConsoleIOContext jdk.internal.org.jline.reader.History int jdk.internal.org.jline.reader.Parser
      StackMap stack: jdk.internal.org.jline.reader.UserInterruptException
        11: pop
        12: .line 929
            new java.io.InterruptedIOException
            dup
            invokespecial java.io.InterruptedIOException.<init>:()V
            athrow
        13: .line 930
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
        14: .line 931
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            aload 3 /* prevParser */
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.setParser:(Ljdk/internal/org/jline/reader/Parser;)V
        15: .line 932
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            aload 1 /* prevHistory */
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.setHistory:(Ljdk/internal/org/jline/reader/History;)V
        16: .line 933
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.input:Ljdk/internal/jshell/tool/StopDetectingInputStream;
            getstatic jdk.internal.jshell.tool.StopDetectingInputStream$State.BUFFER:Ljdk/internal/jshell/tool/StopDetectingInputStream$State;
            invokevirtual jdk.internal.jshell.tool.StopDetectingInputStream.setState:(Ljdk/internal/jshell/tool/StopDetectingInputStream$State;)V
        17: .line 934
            iload 2 /* prevDisableCr */
            putstatic jdk.internal.org.jline.utils.Display.DISABLE_CR:Z
        18: .line 935
            aload 4
            athrow
        19: .line 931
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            aload 3 /* prevParser */
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.setParser:(Ljdk/internal/org/jline/reader/Parser;)V
        20: .line 932
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            aload 1 /* prevHistory */
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.setHistory:(Ljdk/internal/org/jline/reader/History;)V
        21: .line 933
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.input:Ljdk/internal/jshell/tool/StopDetectingInputStream;
            getstatic jdk.internal.jshell.tool.StopDetectingInputStream$State.BUFFER:Ljdk/internal/jshell/tool/StopDetectingInputStream$State;
            invokevirtual jdk.internal.jshell.tool.StopDetectingInputStream.setState:(Ljdk/internal/jshell/tool/StopDetectingInputStream$State;)V
        22: .line 934
            iload 2 /* prevDisableCr */
            putstatic jdk.internal.org.jline.utils.Display.DISABLE_CR:Z
        end local 3 // jdk.internal.org.jline.reader.Parser prevParser
        end local 2 // boolean prevDisableCr
        end local 1 // jdk.internal.org.jline.reader.History prevHistory
        23: .line 916
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.inputBytes:[B
            ifnull 1
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.inputBytes:[B
            arraylength
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.inputBytesPointer:I
            if_icmple 1
        24: .line 937
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.inputBytes:[B
            aload 0 /* this */
            dup
            getfield jdk.internal.jshell.tool.ConsoleIOContext.inputBytesPointer:I
            dup_x1
            iconst_1
            iadd
            putfield jdk.internal.jshell.tool.ConsoleIOContext.inputBytesPointer:I
            baload
            ireturn
        end local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   25     0           this  Ljdk/internal/jshell/tool/ConsoleIOContext;
            2   23     1    prevHistory  Ljdk/internal/org/jline/reader/History;
            3   23     2  prevDisableCr  Z
            4   23     3     prevParser  Ljdk/internal/org/jline/reader/Parser;
      Exception table:
        from    to  target  type
           4    10      11  Class jdk.internal.org.jline.reader.UserInterruptException
           4    13      13  any
    Exceptions:
      throws java.io.IOException

  private jdk.internal.org.jline.reader.History getHistory();
    descriptor: ()Ljdk/internal/org/jline/reader/History;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
         0: .line 1186
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.in:Ljdk/internal/org/jline/reader/impl/LineReaderImpl;
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.getHistory:()Ljdk/internal/org/jline/reader/History;
            areturn
        end local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/jshell/tool/ConsoleIOContext;

  static java.lang.String access$0();
    descriptor: ()Ljava/lang/String;
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 288
            getstatic jdk.internal.jshell.tool.ConsoleIOContext.LINE_SEPARATOR:Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static java.lang.String access$1(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 478
            aload 0
            aload 1
            invokestatic jdk.internal.jshell.tool.ConsoleIOContext.commonPrefix:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static int[] $SWITCH_TABLE$jdk$internal$jshell$tool$ConsoleIOContext$CompletionTask$Result();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 87
            getstatic jdk.internal.jshell.tool.ConsoleIOContext.$SWITCH_TABLE$jdk$internal$jshell$tool$ConsoleIOContext$CompletionTask$Result:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic jdk.internal.jshell.tool.ConsoleIOContext$CompletionTask$Result.values:()[Ljdk/internal/jshell/tool/ConsoleIOContext$CompletionTask$Result;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic jdk.internal.jshell.tool.ConsoleIOContext$CompletionTask$Result.CONTINUE:Ljdk/internal/jshell/tool/ConsoleIOContext$CompletionTask$Result;
            invokevirtual jdk.internal.jshell.tool.ConsoleIOContext$CompletionTask$Result.ordinal:()I
            iconst_2
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic jdk.internal.jshell.tool.ConsoleIOContext$CompletionTask$Result.FINISH:Ljdk/internal/jshell/tool/ConsoleIOContext$CompletionTask$Result;
            invokevirtual jdk.internal.jshell.tool.ConsoleIOContext$CompletionTask$Result.ordinal:()I
            iconst_3
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic jdk.internal.jshell.tool.ConsoleIOContext$CompletionTask$Result.NO_DATA:Ljdk/internal/jshell/tool/ConsoleIOContext$CompletionTask$Result;
            invokevirtual jdk.internal.jshell.tool.ConsoleIOContext$CompletionTask$Result.ordinal:()I
            iconst_1
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic jdk.internal.jshell.tool.ConsoleIOContext$CompletionTask$Result.SKIP:Ljdk/internal/jshell/tool/ConsoleIOContext$CompletionTask$Result;
            invokevirtual jdk.internal.jshell.tool.ConsoleIOContext$CompletionTask$Result.ordinal:()I
            iconst_4
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic jdk.internal.jshell.tool.ConsoleIOContext$CompletionTask$Result.SKIP_NOREPAINT:Ljdk/internal/jshell/tool/ConsoleIOContext$CompletionTask$Result;
            invokevirtual jdk.internal.jshell.tool.ConsoleIOContext$CompletionTask$Result.ordinal:()I
            iconst_5
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            dup
            putstatic jdk.internal.jshell.tool.ConsoleIOContext.$SWITCH_TABLE$jdk$internal$jshell$tool$ConsoleIOContext$CompletionTask$Result:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError

  private static void lambda$0(jdk.internal.jshell.tool.JShellTool);
    descriptor: (Ljdk/internal/jshell/tool/JShellTool;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 105
            aload 0
            invokevirtual jdk.internal.jshell.tool.JShellTool.stop:()V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void lambda$1(jdk.internal.jshell.tool.JShellTool, java.lang.Exception);
    descriptor: (Ljdk/internal/jshell/tool/JShellTool;Ljava/lang/Exception;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=6, locals=2, args_size=2
        start local 1 // java.lang.Exception ex
         0: .line 106
            aload 0
            ldc "Error on input: %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* ex */
            aastore
            invokevirtual jdk.internal.jshell.tool.JShellTool.hard:(Ljava/lang/String;[Ljava/lang/Object;)V
            return
        end local 1 // java.lang.Exception ex
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1    ex  Ljava/lang/Exception;

  private java.io.InputStream lambda$2(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)Ljava/io/InputStream;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
        start local 1 // java.io.InputStream in
         0: .line 113
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.input:Ljdk/internal/jshell/tool/StopDetectingInputStream;
            aload 1 /* in */
            invokevirtual jdk.internal.jshell.tool.StopDetectingInputStream.setInputStream:(Ljava/io/InputStream;)Ljava/io/InputStream;
            pop
         1: .line 114
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.input:Ljdk/internal/jshell/tool/StopDetectingInputStream;
            areturn
        end local 1 // java.io.InputStream in
        end local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/internal/jshell/tool/ConsoleIOContext;
            0    2     1    in  Ljava/io/InputStream;

  private jdk.internal.org.jline.reader.ParsedLine lambda$3(jdk.internal.jshell.tool.JShellTool, java.lang.String, int, jdk.internal.org.jline.reader.Parser$ParseContext);
    descriptor: (Ljdk/internal/jshell/tool/JShellTool;Ljava/lang/String;ILjdk/internal/org/jline/reader/Parser$ParseContext;)Ljdk/internal/org/jline/reader/ParsedLine;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
        start local 2 // java.lang.String line
        start local 3 // int cursor
        start local 4 // jdk.internal.org.jline.reader.Parser$ParseContext context
         0: .line 154
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.allowIncompleteInputs:Z
            ifne 2
            aload 1
            aload 2 /* line */
            invokevirtual jdk.internal.jshell.tool.JShellTool.isComplete:(Ljava/lang/String;)Z
            ifne 2
         1: .line 155
            new jdk.internal.org.jline.reader.EOFError
            dup
            iload 3 /* cursor */
            iload 3 /* cursor */
            aload 2 /* line */
            invokespecial jdk.internal.org.jline.reader.EOFError.<init>:(IILjava/lang/String;)V
            athrow
         2: .line 157
      StackMap locals:
      StackMap stack:
            new jdk.internal.org.jline.reader.impl.completer.ArgumentCompleter$ArgumentLine
            dup
            aload 2 /* line */
            iload 3 /* cursor */
            invokespecial jdk.internal.org.jline.reader.impl.completer.ArgumentCompleter$ArgumentLine.<init>:(Ljava/lang/String;I)V
            areturn
        end local 4 // jdk.internal.org.jline.reader.Parser$ParseContext context
        end local 3 // int cursor
        end local 2 // java.lang.String line
        end local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Ljdk/internal/jshell/tool/ConsoleIOContext;
            0    3     2     line  Ljava/lang/String;
            0    3     3   cursor  I
            0    3     4  context  Ljdk/internal/org/jline/reader/Parser$ParseContext;
    Exceptions:
      throws jdk.internal.org.jline.reader.SyntaxError

  private boolean lambda$4();
    descriptor: ()Z
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
         0: .line 161
            aload 0 /* this */
            invokevirtual jdk.internal.jshell.tool.ConsoleIOContext.fixes:()Z
            ireturn
        end local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/jshell/tool/ConsoleIOContext;

  private static boolean lambda$5();
    descriptor: ()Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 163
            new jdk.internal.org.jline.reader.UserInterruptException
            dup
            ldc ""
            invokespecial jdk.internal.org.jline.reader.UserInterruptException.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature

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

  private static java.lang.String lambda$7(jdk.internal.jshell.tool.JShellTool, java.lang.String);
    descriptor: (Ljdk/internal/jshell/tool/JShellTool;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // java.lang.String key
         0: .line 169
            aload 0
            getfield jdk.internal.jshell.tool.JShellTool.prefs:Ljdk/internal/jshell/tool/PersistentStorage;
            aload 1 /* key */
            invokeinterface jdk.internal.jshell.tool.PersistentStorage.get:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String key
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1   key  Ljava/lang/String;

  private void lambda$9(jdk.internal.org.jline.reader.impl.LineReaderImpl, java.lang.String);
    descriptor: (Ljdk/internal/org/jline/reader/impl/LineReaderImpl;Ljava/lang/String;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
        start local 2 // java.lang.String line
         0: .line 189
            aload 1
            invokevirtual jdk.internal.org.jline.reader.impl.LineReaderImpl.getHistory:()Ljdk/internal/org/jline/reader/History;
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.historyLoad:Ljava/time/Instant;
            aload 2 /* line */
            invokeinterface jdk.internal.org.jline.reader.History.add:(Ljava/time/Instant;Ljava/lang/String;)V
            return
        end local 2 // java.lang.String line
        end local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/jshell/tool/ConsoleIOContext;
            0    1     2  line  Ljava/lang/String;

  private boolean lambda$10(boolean, jdk.internal.org.jline.reader.History$Entry);
    descriptor: (ZLjdk/internal/org/jline/reader/History$Entry;)Z
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
        start local 2 // jdk.internal.org.jline.reader.History$Entry entry
         0: .line 217
            iload 1
            ifeq 1
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext.historyLoad:Ljava/time/Instant;
            aload 2 /* entry */
            invokeinterface jdk.internal.org.jline.reader.History$Entry.time:()Ljava/time/Instant;
            invokevirtual java.time.Instant.equals:(Ljava/lang/Object;)Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 2 // jdk.internal.org.jline.reader.History$Entry entry
        end local 0 // jdk.internal.jshell.tool.ConsoleIOContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Ljdk/internal/jshell/tool/ConsoleIOContext;
            0    3     2  entry  Ljdk/internal/org/jline/reader/History$Entry;

  private static java.lang.String lambda$11(jdk.internal.org.jline.reader.History$Entry);
    descriptor: (Ljdk/internal/org/jline/reader/History$Entry;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.internal.org.jline.reader.History$Entry entry
         0: .line 218
            aload 0 /* entry */
            invokeinterface jdk.internal.org.jline.reader.History$Entry.line:()Ljava/lang/String;
            areturn
        end local 0 // jdk.internal.org.jline.reader.History$Entry entry
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  entry  Ljdk/internal/org/jline/reader/History$Entry;

  private static java.lang.Boolean lambda$16(jdk.jshell.SourceCodeAnalysis$Suggestion);
    descriptor: (Ljdk/jshell/SourceCodeAnalysis$Suggestion;)Ljava/lang/Boolean;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jshell.SourceCodeAnalysis$Suggestion s
         0: .line 326
            aload 0 /* s */
            invokeinterface jdk.jshell.SourceCodeAnalysis$Suggestion.matchesType:()Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
        end local 0 // jdk.jshell.SourceCodeAnalysis$Suggestion s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljdk/jshell/SourceCodeAnalysis$Suggestion;

  private static jdk.internal.org.jline.reader.ParsedLine lambda$18(java.lang.String, int, jdk.internal.org.jline.reader.Parser$ParseContext);
    descriptor: (Ljava/lang/String;ILjdk/internal/org/jline/reader/Parser$ParseContext;)Ljdk/internal/org/jline/reader/ParsedLine;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.lang.String line
        start local 1 // int cursor
        start local 2 // jdk.internal.org.jline.reader.Parser$ParseContext context
         0: .line 922
            new jdk.internal.org.jline.reader.impl.completer.ArgumentCompleter$ArgumentLine
            dup
            aload 0 /* line */
            iload 1 /* cursor */
            invokespecial jdk.internal.org.jline.reader.impl.completer.ArgumentCompleter$ArgumentLine.<init>:(Ljava/lang/String;I)V
            areturn
        end local 2 // jdk.internal.org.jline.reader.Parser$ParseContext context
        end local 1 // int cursor
        end local 0 // java.lang.String line
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     line  Ljava/lang/String;
            0    1     1   cursor  I
            0    1     2  context  Ljdk/internal/org/jline/reader/Parser$ParseContext;
    Exceptions:
      throws jdk.internal.org.jline.reader.SyntaxError
}
SourceFile: "ConsoleIOContext.java"
NestMembers:
  jdk.internal.jshell.tool.ConsoleIOContext$1  jdk.internal.jshell.tool.ConsoleIOContext$1$1  jdk.internal.jshell.tool.ConsoleIOContext$1$2  jdk.internal.jshell.tool.ConsoleIOContext$2  jdk.internal.jshell.tool.ConsoleIOContext$2$1  jdk.internal.jshell.tool.ConsoleIOContext$2$2  jdk.internal.jshell.tool.ConsoleIOContext$3  jdk.internal.jshell.tool.ConsoleIOContext$3$1  jdk.internal.jshell.tool.ConsoleIOContext$4  jdk.internal.jshell.tool.ConsoleIOContext$4$1  jdk.internal.jshell.tool.ConsoleIOContext$5  jdk.internal.jshell.tool.ConsoleIOContext$6  jdk.internal.jshell.tool.ConsoleIOContext$AllSuggestionsCompletionTask  jdk.internal.jshell.tool.ConsoleIOContext$CommandFullDocumentationTask  jdk.internal.jshell.tool.ConsoleIOContext$CommandSynopsisTask  jdk.internal.jshell.tool.ConsoleIOContext$CompletionState  jdk.internal.jshell.tool.ConsoleIOContext$CompletionTask  jdk.internal.jshell.tool.ConsoleIOContext$CompletionTask$Result  jdk.internal.jshell.tool.ConsoleIOContext$ExpressionJavadocTask  jdk.internal.jshell.tool.ConsoleIOContext$ExpressionSignaturesTask  jdk.internal.jshell.tool.ConsoleIOContext$Fix  jdk.internal.jshell.tool.ConsoleIOContext$FixComputer  jdk.internal.jshell.tool.ConsoleIOContext$FixResult  jdk.internal.jshell.tool.ConsoleIOContext$NoSuchCommandCompletionTask  jdk.internal.jshell.tool.ConsoleIOContext$NoopCompletionTask  jdk.internal.jshell.tool.ConsoleIOContext$OrdinaryCompletionTask  jdk.internal.jshell.tool.ConsoleIOContext$TestTerminal
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  jdk.internal.jshell.tool.ConsoleIOContext$1
  jdk.internal.jshell.tool.ConsoleIOContext$2
  jdk.internal.jshell.tool.ConsoleIOContext$3
  jdk.internal.jshell.tool.ConsoleIOContext$4
  jdk.internal.jshell.tool.ConsoleIOContext$5
  jdk.internal.jshell.tool.ConsoleIOContext$6
  private final AllSuggestionsCompletionTask = jdk.internal.jshell.tool.ConsoleIOContext$AllSuggestionsCompletionTask of jdk.internal.jshell.tool.ConsoleIOContext
  private final CommandFullDocumentationTask = jdk.internal.jshell.tool.ConsoleIOContext$CommandFullDocumentationTask of jdk.internal.jshell.tool.ConsoleIOContext
  private final CommandSynopsisTask = jdk.internal.jshell.tool.ConsoleIOContext$CommandSynopsisTask of jdk.internal.jshell.tool.ConsoleIOContext
  private final CompletionState = jdk.internal.jshell.tool.ConsoleIOContext$CompletionState of jdk.internal.jshell.tool.ConsoleIOContext
  private abstract CompletionTask = jdk.internal.jshell.tool.ConsoleIOContext$CompletionTask of jdk.internal.jshell.tool.ConsoleIOContext
  public final Result = jdk.internal.jshell.tool.ConsoleIOContext$CompletionTask$Result of jdk.internal.jshell.tool.ConsoleIOContext$CompletionTask
  private final ExpressionJavadocTask = jdk.internal.jshell.tool.ConsoleIOContext$ExpressionJavadocTask of jdk.internal.jshell.tool.ConsoleIOContext
  private final ExpressionSignaturesTask = jdk.internal.jshell.tool.ConsoleIOContext$ExpressionSignaturesTask of jdk.internal.jshell.tool.ConsoleIOContext
  public abstract Fix = jdk.internal.jshell.tool.ConsoleIOContext$Fix of jdk.internal.jshell.tool.ConsoleIOContext
  public abstract FixComputer = jdk.internal.jshell.tool.ConsoleIOContext$FixComputer of jdk.internal.jshell.tool.ConsoleIOContext
  public FixResult = jdk.internal.jshell.tool.ConsoleIOContext$FixResult of jdk.internal.jshell.tool.ConsoleIOContext
  private final NoSuchCommandCompletionTask = jdk.internal.jshell.tool.ConsoleIOContext$NoSuchCommandCompletionTask of jdk.internal.jshell.tool.ConsoleIOContext
  private final NoopCompletionTask = jdk.internal.jshell.tool.ConsoleIOContext$NoopCompletionTask of jdk.internal.jshell.tool.ConsoleIOContext
  private final OrdinaryCompletionTask = jdk.internal.jshell.tool.ConsoleIOContext$OrdinaryCompletionTask of jdk.internal.jshell.tool.ConsoleIOContext
  private final TestTerminal = jdk.internal.jshell.tool.ConsoleIOContext$TestTerminal of jdk.internal.jshell.tool.ConsoleIOContext
  InputInterruptedException = jdk.internal.jshell.tool.IOContext$InputInterruptedException of jdk.internal.jshell.tool.IOContext
  public final State = jdk.internal.jshell.tool.StopDetectingInputStream$State of jdk.internal.jshell.tool.StopDetectingInputStream
  public abstract Entry = jdk.internal.org.jline.reader.History$Entry of jdk.internal.org.jline.reader.History
  public final Option = jdk.internal.org.jline.reader.LineReader$Option of jdk.internal.org.jline.reader.LineReader
  public final ParseContext = jdk.internal.org.jline.reader.Parser$ParseContext of jdk.internal.org.jline.reader.Parser
  public ArgumentLine = jdk.internal.org.jline.reader.impl.completer.ArgumentCompleter$ArgumentLine of jdk.internal.org.jline.reader.impl.completer.ArgumentCompleter
  public final ControlChar = jdk.internal.org.jline.terminal.Attributes$ControlChar of jdk.internal.org.jline.terminal.Attributes
  public final LocalFlag = jdk.internal.org.jline.terminal.Attributes$LocalFlag of jdk.internal.org.jline.terminal.Attributes
  public abstract Documentation = jdk.jshell.SourceCodeAnalysis$Documentation of jdk.jshell.SourceCodeAnalysis
  public abstract Suggestion = jdk.jshell.SourceCodeAnalysis$Suggestion of jdk.jshell.SourceCodeAnalysis