final class jdk.internal.jshell.tool.ConsoleIOContext$TestTerminal extends jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: jdk.internal.jshell.tool.ConsoleIOContext$TestTerminal
  super_class: jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal
{
  private static final int DEFAULT_HEIGHT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 24

  public void <init>(jdk.internal.jshell.tool.StopDetectingInputStream, java.io.OutputStream);
    descriptor: (Ljdk/internal/jshell/tool/StopDetectingInputStream;Ljava/io/OutputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // jdk.internal.jshell.tool.ConsoleIOContext$TestTerminal this
        start local 1 // jdk.internal.jshell.tool.StopDetectingInputStream input
        start local 2 // java.io.OutputStream output
         0: .line 1194
            aload 0 /* this */
            ldc "test"
            ldc "ansi"
            aload 2 /* output */
            ldc "UTF-8"
            invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
            invokespecial jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/io/OutputStream;Ljava/nio/charset/Charset;)V
         1: .line 1198
            new jdk.internal.org.jline.terminal.Attributes
            dup
            aload 0 /* this */
            invokevirtual jdk.internal.jshell.tool.ConsoleIOContext$TestTerminal.getAttributes:()Ljdk/internal/org/jline/terminal/Attributes;
            invokespecial jdk.internal.org.jline.terminal.Attributes.<init>:(Ljdk/internal/org/jline/terminal/Attributes;)V
            astore 3 /* a */
        start local 3 // jdk.internal.org.jline.terminal.Attributes a
         2: .line 1199
            aload 3 /* a */
            getstatic jdk.internal.org.jline.terminal.Attributes$LocalFlag.ECHO:Ljdk/internal/org/jline/terminal/Attributes$LocalFlag;
            iconst_0
            invokevirtual jdk.internal.org.jline.terminal.Attributes.setLocalFlag:(Ljdk/internal/org/jline/terminal/Attributes$LocalFlag;Z)V
         3: .line 1200
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext$TestTerminal.attributes:Ljdk/internal/org/jline/terminal/Attributes;
            invokevirtual jdk.internal.jshell.tool.ConsoleIOContext$TestTerminal.setAttributes:(Ljdk/internal/org/jline/terminal/Attributes;)V
         4: .line 1201
            bipush 24
            istore 4 /* h */
        start local 4 // int h
         5: .line 1203
            ldc "test.terminal.height"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* hp */
        start local 5 // java.lang.String hp
         6: .line 1204
            aload 5 /* hp */
            ifnull 10
            aload 5 /* hp */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 10
         7: .line 1205
            aload 5 /* hp */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 4 /* h */
        end local 5 // java.lang.String hp
         8: .line 1207
            goto 10
      StackMap locals: jdk.internal.jshell.tool.ConsoleIOContext$TestTerminal jdk.internal.jshell.tool.StopDetectingInputStream java.io.OutputStream jdk.internal.org.jline.terminal.Attributes int
      StackMap stack: java.lang.Throwable
         9: pop
        10: .line 1210
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new jdk.internal.org.jline.terminal.Size
            dup
            bipush 80
            iload 4 /* h */
            invokespecial jdk.internal.org.jline.terminal.Size.<init>:(II)V
            invokevirtual jdk.internal.jshell.tool.ConsoleIOContext$TestTerminal.setSize:(Ljdk/internal/org/jline/terminal/Size;)V
        11: .line 1211
            new java.lang.Thread
            dup
            aload 0 /* this */
            aload 1 /* input */
            invokedynamic run(Ljdk/internal/jshell/tool/ConsoleIOContext$TestTerminal;Ljdk/internal/jshell/tool/StopDetectingInputStream;)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$TestTerminal.lambda$0(Ljdk/internal/jshell/tool/StopDetectingInputStream;)V (7)
                  ()V
            invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;)V
        12: .line 1222
            invokevirtual java.lang.Thread.start:()V
        13: .line 1223
            return
        end local 4 // int h
        end local 3 // jdk.internal.org.jline.terminal.Attributes a
        end local 2 // java.io.OutputStream output
        end local 1 // jdk.internal.jshell.tool.StopDetectingInputStream input
        end local 0 // jdk.internal.jshell.tool.ConsoleIOContext$TestTerminal this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    this  Ljdk/internal/jshell/tool/ConsoleIOContext$TestTerminal;
            0   14     1   input  Ljdk/internal/jshell/tool/StopDetectingInputStream;
            0   14     2  output  Ljava/io/OutputStream;
            2   14     3       a  Ljdk/internal/org/jline/terminal/Attributes;
            5   14     4       h  I
            6    8     5      hp  Ljava/lang/String;
      Exception table:
        from    to  target  type
           5     8       9  Class java.lang.Throwable
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
        Name  Flags
      input   
      output  

  private void lambda$0(jdk.internal.jshell.tool.StopDetectingInputStream);
    descriptor: (Ljdk/internal/jshell/tool/StopDetectingInputStream;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // jdk.internal.jshell.tool.ConsoleIOContext$TestTerminal this
         0: .line 1215
            goto 2
        start local 2 // int r
         1: .line 1216
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 2 /* r */
            invokevirtual jdk.internal.jshell.tool.ConsoleIOContext$TestTerminal.processInputByte:(I)V
        end local 2 // int r
         2: .line 1215
      StackMap locals:
      StackMap stack:
            aload 1
            invokevirtual jdk.internal.jshell.tool.StopDetectingInputStream.read:()I
            dup
            istore 2 /* r */
        start local 2 // int r
         3: iconst_m1
            if_icmpne 1
         4: .line 1218
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.ConsoleIOContext$TestTerminal.slaveInput:Ljdk/internal/org/jline/utils/NonBlockingPumpInputStream;
            invokevirtual jdk.internal.org.jline.utils.NonBlockingPumpInputStream.close:()V
         5: .line 1219
            goto 8
        end local 2 // int r
      StackMap locals:
      StackMap stack: java.io.IOException
         6: astore 3 /* ex */
        start local 3 // java.io.IOException ex
         7: .line 1220
            new java.lang.IllegalStateException
            dup
            aload 3 /* ex */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.io.IOException ex
         8: .line 1222
      StackMap locals:
      StackMap stack:
            return
        end local 0 // jdk.internal.jshell.tool.ConsoleIOContext$TestTerminal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Ljdk/internal/jshell/tool/ConsoleIOContext$TestTerminal;
            1    2     2     r  I
            3    6     2     r  I
            7    8     3    ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     5       6  Class java.io.IOException
}
SourceFile: "ConsoleIOContext.java"
NestHost: jdk.internal.jshell.tool.ConsoleIOContext
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  private final TestTerminal = jdk.internal.jshell.tool.ConsoleIOContext$TestTerminal of jdk.internal.jshell.tool.ConsoleIOContext
  public final LocalFlag = jdk.internal.org.jline.terminal.Attributes$LocalFlag of jdk.internal.org.jline.terminal.Attributes