class jdk.internal.jshell.tool.ConsoleIOContext$3 extends jdk.internal.jline.console.ConsoleReader
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: jdk.internal.jshell.tool.ConsoleIOContext$3
  super_class: jdk.internal.jline.console.ConsoleReader
{
  final jdk.internal.jshell.tool.ConsoleIOContext this$0;
    descriptor: Ljdk/internal/jshell/tool/ConsoleIOContext;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private final java.util.List val$completionTODO;
    descriptor: Ljava/util/List;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  void <init>(jdk.internal.jshell.tool.ConsoleIOContext, java.io.InputStream, java.io.OutputStream, jdk.internal.jline.Terminal, java.util.List);
    descriptor: (Ljdk/internal/jshell/tool/ConsoleIOContext;Ljava/io/InputStream;Ljava/io/OutputStream;Ljdk/internal/jline/Terminal;Ljava/util/List;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=6, args_size=6
        start local 0 // jdk.internal.jshell.tool.ConsoleIOContext$3 this
        start local 2 // java.io.InputStream $anonymous0
        start local 3 // java.io.OutputStream $anonymous1
        start local 4 // jdk.internal.jline.Terminal $anonymous2
         0: .line 94
            aload 0 /* this */
            aload 1
            putfield jdk.internal.jshell.tool.ConsoleIOContext$3.this$0:Ljdk/internal/jshell/tool/ConsoleIOContext;
            aload 0 /* this */
            aload 5
            putfield jdk.internal.jshell.tool.ConsoleIOContext$3.val$completionTODO:Ljava/util/List;
            aload 0 /* this */
            aload 2 /* $anonymous0 */
            aload 3 /* $anonymous1 */
            aload 4 /* $anonymous2 */
            invokespecial jdk.internal.jline.console.ConsoleReader.<init>:(Ljava/io/InputStream;Ljava/io/OutputStream;Ljdk/internal/jline/Terminal;)V
            return
        end local 4 // jdk.internal.jline.Terminal $anonymous2
        end local 3 // java.io.OutputStream $anonymous1
        end local 2 // java.io.InputStream $anonymous0
        end local 0 // jdk.internal.jshell.tool.ConsoleIOContext$3 this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Ljdk/internal/jshell/tool/ConsoleIOContext$3;
            0    1     2  $anonymous0  Ljava/io/InputStream;
            0    1     3  $anonymous1  Ljava/io/OutputStream;
            0    1     4  $anonymous2  Ljdk/internal/jline/Terminal;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                    Name  Flags
      this$0              final
      $anonymous0         
      $anonymous1         
      $anonymous2         
      val$completionTODO  final

  public jdk.internal.jline.console.KeyMap getKeys();
    descriptor: ()Ljdk/internal/jline/console/KeyMap;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // jdk.internal.jshell.tool.ConsoleIOContext$3 this
         0: .line 96
            new jdk.internal.jshell.tool.ConsoleIOContext$CheckCompletionKeyMap
            dup
            aload 0 /* this */
            invokespecial jdk.internal.jline.console.ConsoleReader.getKeys:()Ljdk/internal/jline/console/KeyMap;
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext$3.val$completionTODO:Ljava/util/List;
            invokespecial jdk.internal.jshell.tool.ConsoleIOContext$CheckCompletionKeyMap.<init>:(Ljdk/internal/jline/console/KeyMap;Ljava/util/List;)V
            areturn
        end local 0 // jdk.internal.jshell.tool.ConsoleIOContext$3 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/jshell/tool/ConsoleIOContext$3;

  protected boolean complete();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.internal.jshell.tool.ConsoleIOContext$3 this
         0: .line 100
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext$3.this$0:Ljdk/internal/jshell/tool/ConsoleIOContext;
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext$3.val$completionTODO:Ljava/util/List;
            invokevirtual jdk.internal.jshell.tool.ConsoleIOContext.complete:(Ljava/util/List;)Z
            ireturn
        end local 0 // jdk.internal.jshell.tool.ConsoleIOContext$3 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/jshell/tool/ConsoleIOContext$3;
    Exceptions:
      throws java.io.IOException
}
SourceFile: "ConsoleIOContext.java"
EnclosingMethod: jdk.internal.jshell.tool.ConsoleIOContext.<init>:(Ljdk/internal/jshell/tool/JShellTool;Ljava/io/InputStream;Ljava/io/PrintStream;)V
NestHost: jdk.internal.jshell.tool.ConsoleIOContext
InnerClasses:
  jdk.internal.jshell.tool.ConsoleIOContext$3
  private final CheckCompletionKeyMap = jdk.internal.jshell.tool.ConsoleIOContext$CheckCompletionKeyMap of jdk.internal.jshell.tool.ConsoleIOContext
  private abstract CompletionTask = jdk.internal.jshell.tool.ConsoleIOContext$CompletionTask of jdk.internal.jshell.tool.ConsoleIOContext