class jdk.internal.jshell.tool.ReloadIOContext extends jdk.internal.jshell.tool.NonInteractiveIOContext
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: jdk.internal.jshell.tool.ReloadIOContext
  super_class: jdk.internal.jshell.tool.NonInteractiveIOContext
{
  private final java.util.Iterator<java.lang.String> it;
    descriptor: Ljava/util/Iterator;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Iterator<Ljava/lang/String;>;

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

  void <init>(java.lang.Iterable<java.lang.String>, java.io.PrintStream);
    descriptor: (Ljava/lang/Iterable;Ljava/io/PrintStream;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // jdk.internal.jshell.tool.ReloadIOContext this
        start local 1 // java.lang.Iterable history
        start local 2 // java.io.PrintStream echoStream
         0: .line 4038
            aload 0 /* this */
            invokespecial jdk.internal.jshell.tool.NonInteractiveIOContext.<init>:()V
         1: .line 4039
            aload 0 /* this */
            aload 1 /* history */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            putfield jdk.internal.jshell.tool.ReloadIOContext.it:Ljava/util/Iterator;
         2: .line 4040
            aload 0 /* this */
            aload 2 /* echoStream */
            putfield jdk.internal.jshell.tool.ReloadIOContext.echoStream:Ljava/io/PrintStream;
         3: .line 4041
            return
        end local 2 // java.io.PrintStream echoStream
        end local 1 // java.lang.Iterable history
        end local 0 // jdk.internal.jshell.tool.ReloadIOContext this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Ljdk/internal/jshell/tool/ReloadIOContext;
            0    4     1     history  Ljava/lang/Iterable<Ljava/lang/String;>;
            0    4     2  echoStream  Ljava/io/PrintStream;
    Signature: (Ljava/lang/Iterable<Ljava/lang/String;>;Ljava/io/PrintStream;)V
    MethodParameters:
            Name  Flags
      history     
      echoStream  

  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=8, locals=8, args_size=5
        start local 0 // jdk.internal.jshell.tool.ReloadIOContext 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 4045
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ReloadIOContext.it:Ljava/util/Iterator;
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 2
         1: .line 4046
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ReloadIOContext.it:Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            goto 3
         2: .line 4047
      StackMap locals:
      StackMap stack:
            aconst_null
         3: .line 4045
      StackMap locals:
      StackMap stack: java.lang.String
            astore 5 /* s */
        start local 5 // java.lang.String s
         4: .line 4048
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ReloadIOContext.echoStream:Ljava/io/PrintStream;
            ifnull 8
            aload 5 /* s */
            ifnull 8
         5: .line 4049
            ldc "-: "
            astore 6 /* p */
        start local 6 // java.lang.String p
         6: .line 4050
            ldc "\n   "
            astore 7 /* p2 */
        start local 7 // java.lang.String p2
         7: .line 4051
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ReloadIOContext.echoStream:Ljava/io/PrintStream;
            ldc "%s%s\n"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 6 /* p */
            aastore
            dup
            iconst_1
            aload 5 /* s */
            ldc "\n"
            aload 7 /* p2 */
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            aastore
            invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
            pop
        end local 7 // java.lang.String p2
        end local 6 // java.lang.String p
         8: .line 4053
      StackMap locals: java.lang.String
      StackMap stack:
            aload 5 /* s */
            areturn
        end local 5 // java.lang.String s
        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.ReloadIOContext this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    9     0                this  Ljdk/internal/jshell/tool/ReloadIOContext;
            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;
            4    9     5                   s  Ljava/lang/String;
            6    8     6                   p  Ljava/lang/String;
            7    8     7                  p2  Ljava/lang/String;
    MethodParameters:
                    Name  Flags
      firstLinePrompt     
      continuationPrompt  
      firstLine           
      prefix              

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

  public int readUserInput();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.internal.jshell.tool.ReloadIOContext this
         0: .line 4062
            iconst_m1
            ireturn
        end local 0 // jdk.internal.jshell.tool.ReloadIOContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/jshell/tool/ReloadIOContext;
}
SourceFile: "JShellTool.java"