public class jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal extends jdk.internal.org.jline.terminal.impl.AbstractTerminal
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal
  super_class: jdk.internal.org.jline.terminal.impl.AbstractTerminal
{
  private static final java.lang.String DEFAULT_TERMINAL_ATTRIBUTES;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "speed 9600 baud; 24 rows; 80 columns;\nlflags: icanon isig iexten echo echoe -echok echoke -echonl echoctl\n\t-echoprt -altwerase -noflsh -tostop -flusho pendin -nokerninfo\n\t-extproc\niflags: -istrip icrnl -inlcr -igncr ixon -ixoff ixany imaxbel iutf8\n\t-ignbrk brkint -inpck -ignpar -parmrk\noflags: opost onlcr -oxtabs -onocr -onlret\ncflags: cread cs8 -parenb -parodd hupcl -clocal -cstopb -crtscts -dsrflow\n\t-dtrflow -mdmbuf\ncchars: discard = ^O; dsusp = ^Y; eof = ^D; eol = <undef>;\n\teol2 = <undef>; erase = ^?; intr = ^C; kill = ^U; lnext = ^V;\n\tmin = 1; quit = ^\\; reprint = ^R; start = ^Q; status = ^T;\n\tstop = ^S; susp = ^Z; time = 0; werase = ^W;\n"

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

  protected final java.io.OutputStream masterOutput;
    descriptor: Ljava/io/OutputStream;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final java.io.OutputStream slaveInputPipe;
    descriptor: Ljava/io/OutputStream;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final jdk.internal.org.jline.utils.NonBlockingPumpInputStream slaveInput;
    descriptor: Ljdk/internal/org/jline/utils/NonBlockingPumpInputStream;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final jdk.internal.org.jline.utils.NonBlockingReader slaveReader;
    descriptor: Ljdk/internal/org/jline/utils/NonBlockingReader;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final java.io.PrintWriter slaveWriter;
    descriptor: Ljava/io/PrintWriter;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final java.io.OutputStream slaveOutput;
    descriptor: Ljava/io/OutputStream;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final jdk.internal.org.jline.terminal.Attributes attributes;
    descriptor: Ljdk/internal/org/jline/terminal/Attributes;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final jdk.internal.org.jline.terminal.Size size;
    descriptor: Ljdk/internal/org/jline/terminal/Size;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  public void <init>(java.lang.String, java.lang.String, java.io.OutputStream, java.nio.charset.Charset);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/io/OutputStream;Ljava/nio/charset/Charset;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String type
        start local 3 // java.io.OutputStream masterOutput
        start local 4 // java.nio.charset.Charset encoding
         0: .line 93
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* type */
            aload 3 /* masterOutput */
            aload 4 /* encoding */
            getstatic jdk.internal.org.jline.terminal.Terminal$SignalHandler.SIG_DFL:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
            invokespecial jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/io/OutputStream;Ljava/nio/charset/Charset;Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;)V
         1: .line 94
            return
        end local 4 // java.nio.charset.Charset encoding
        end local 3 // java.io.OutputStream masterOutput
        end local 2 // java.lang.String type
        end local 1 // java.lang.String name
        end local 0 // jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Ljdk/internal/org/jline/terminal/impl/LineDisciplineTerminal;
            0    2     1          name  Ljava/lang/String;
            0    2     2          type  Ljava/lang/String;
            0    2     3  masterOutput  Ljava/io/OutputStream;
            0    2     4      encoding  Ljava/nio/charset/Charset;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
              Name  Flags
      name          
      type          
      masterOutput  
      encoding      

  public void <init>(java.lang.String, java.lang.String, java.io.OutputStream, java.nio.charset.Charset, jdk.internal.org.jline.terminal.Terminal$SignalHandler);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/io/OutputStream;Ljava/nio/charset/Charset;Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=6
        start local 0 // jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String type
        start local 3 // java.io.OutputStream masterOutput
        start local 4 // java.nio.charset.Charset encoding
        start local 5 // jdk.internal.org.jline.terminal.Terminal$SignalHandler signalHandler
         0: .line 101
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* type */
            aload 4 /* encoding */
            aload 5 /* signalHandler */
            invokespecial jdk.internal.org.jline.terminal.impl.AbstractTerminal.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/nio/charset/Charset;Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;)V
         1: .line 102
            sipush 1024
            invokestatic jdk.internal.org.jline.utils.NonBlocking.nonBlockingPumpInputStream:(I)Ljdk/internal/org/jline/utils/NonBlockingPumpInputStream;
            astore 6 /* input */
        start local 6 // jdk.internal.org.jline.utils.NonBlockingPumpInputStream input
         2: .line 103
            aload 0 /* this */
            aload 6 /* input */
            invokevirtual jdk.internal.org.jline.utils.NonBlockingPumpInputStream.getOutputStream:()Ljava/io/OutputStream;
            putfield jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.slaveInputPipe:Ljava/io/OutputStream;
         3: .line 104
            aload 0 /* this */
            aload 6 /* input */
            putfield jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.slaveInput:Ljdk/internal/org/jline/utils/NonBlockingPumpInputStream;
         4: .line 105
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.getName:()Ljava/lang/String;
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.slaveInput:Ljdk/internal/org/jline/utils/NonBlockingPumpInputStream;
            aload 0 /* this */
            invokevirtual jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.encoding:()Ljava/nio/charset/Charset;
            invokestatic jdk.internal.org.jline.utils.NonBlocking.nonBlocking:(Ljava/lang/String;Ljava/io/InputStream;Ljava/nio/charset/Charset;)Ljdk/internal/org/jline/utils/NonBlockingReader;
            putfield jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.slaveReader:Ljdk/internal/org/jline/utils/NonBlockingReader;
         5: .line 106
            aload 0 /* this */
            new jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal$FilteringOutputStream
            dup
            aload 0 /* this */
            invokespecial jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal$FilteringOutputStream.<init>:(Ljdk/internal/org/jline/terminal/impl/LineDisciplineTerminal;)V
            putfield jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.slaveOutput:Ljava/io/OutputStream;
         6: .line 107
            aload 0 /* this */
            new java.io.PrintWriter
            dup
            new java.io.OutputStreamWriter
            dup
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.slaveOutput:Ljava/io/OutputStream;
            aload 0 /* this */
            invokevirtual jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.encoding:()Ljava/nio/charset/Charset;
            invokespecial java.io.OutputStreamWriter.<init>:(Ljava/io/OutputStream;Ljava/nio/charset/Charset;)V
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;)V
            putfield jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.slaveWriter:Ljava/io/PrintWriter;
         7: .line 108
            aload 0 /* this */
            aload 3 /* masterOutput */
            putfield jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.masterOutput:Ljava/io/OutputStream;
         8: .line 109
            aload 0 /* this */
            ldc "speed 9600 baud; 24 rows; 80 columns;\nlflags: icanon isig iexten echo echoe -echok echoke -echonl echoctl\n\t-echoprt -altwerase -noflsh -tostop -flusho pendin -nokerninfo\n\t-extproc\niflags: -istrip icrnl -inlcr -igncr ixon -ixoff ixany imaxbel iutf8\n\t-ignbrk brkint -inpck -ignpar -parmrk\noflags: opost onlcr -oxtabs -onocr -onlret\ncflags: cread cs8 -parenb -parodd hupcl -clocal -cstopb -crtscts -dsrflow\n\t-dtrflow -mdmbuf\ncchars: discard = ^O; dsusp = ^Y; eof = ^D; eol = <undef>;\n\teol2 = <undef>; erase = ^?; intr = ^C; kill = ^U; lnext = ^V;\n\tmin = 1; quit = ^\\; reprint = ^R; start = ^Q; status = ^T;\n\tstop = ^S; susp = ^Z; time = 0; werase = ^W;\n"
            invokestatic jdk.internal.org.jline.terminal.impl.ExecPty.doGetAttr:(Ljava/lang/String;)Ljdk/internal/org/jline/terminal/Attributes;
            putfield jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.attributes:Ljdk/internal/org/jline/terminal/Attributes;
         9: .line 110
            aload 0 /* this */
            new jdk.internal.org.jline.terminal.Size
            dup
            sipush 160
            bipush 50
            invokespecial jdk.internal.org.jline.terminal.Size.<init>:(II)V
            putfield jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.size:Ljdk/internal/org/jline/terminal/Size;
        10: .line 111
            aload 0 /* this */
            invokevirtual jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.parseInfoCmp:()V
        11: .line 112
            return
        end local 6 // jdk.internal.org.jline.utils.NonBlockingPumpInputStream input
        end local 5 // jdk.internal.org.jline.terminal.Terminal$SignalHandler signalHandler
        end local 4 // java.nio.charset.Charset encoding
        end local 3 // java.io.OutputStream masterOutput
        end local 2 // java.lang.String type
        end local 1 // java.lang.String name
        end local 0 // jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   12     0           this  Ljdk/internal/org/jline/terminal/impl/LineDisciplineTerminal;
            0   12     1           name  Ljava/lang/String;
            0   12     2           type  Ljava/lang/String;
            0   12     3   masterOutput  Ljava/io/OutputStream;
            0   12     4       encoding  Ljava/nio/charset/Charset;
            0   12     5  signalHandler  Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
            2   12     6          input  Ljdk/internal/org/jline/utils/NonBlockingPumpInputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
               Name  Flags
      name           
      type           
      masterOutput   
      encoding       
      signalHandler  

  public jdk.internal.org.jline.utils.NonBlockingReader reader();
    descriptor: ()Ljdk/internal/org/jline/utils/NonBlockingReader;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal this
         0: .line 115
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.slaveReader:Ljdk/internal/org/jline/utils/NonBlockingReader;
            areturn
        end local 0 // jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/org/jline/terminal/impl/LineDisciplineTerminal;

  public java.io.PrintWriter writer();
    descriptor: ()Ljava/io/PrintWriter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal this
         0: .line 119
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.slaveWriter:Ljava/io/PrintWriter;
            areturn
        end local 0 // jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/org/jline/terminal/impl/LineDisciplineTerminal;

  public java.io.InputStream input();
    descriptor: ()Ljava/io/InputStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal this
         0: .line 124
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.slaveInput:Ljdk/internal/org/jline/utils/NonBlockingPumpInputStream;
            areturn
        end local 0 // jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/org/jline/terminal/impl/LineDisciplineTerminal;

  public java.io.OutputStream output();
    descriptor: ()Ljava/io/OutputStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal this
         0: .line 129
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.slaveOutput:Ljava/io/OutputStream;
            areturn
        end local 0 // jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/org/jline/terminal/impl/LineDisciplineTerminal;

  public jdk.internal.org.jline.terminal.Attributes getAttributes();
    descriptor: ()Ljdk/internal/org/jline/terminal/Attributes;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal this
         0: .line 133
            new jdk.internal.org.jline.terminal.Attributes
            dup
            invokespecial jdk.internal.org.jline.terminal.Attributes.<init>:()V
            astore 1 /* attr */
        start local 1 // jdk.internal.org.jline.terminal.Attributes attr
         1: .line 134
            aload 1 /* attr */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.attributes:Ljdk/internal/org/jline/terminal/Attributes;
            invokevirtual jdk.internal.org.jline.terminal.Attributes.copy:(Ljdk/internal/org/jline/terminal/Attributes;)V
         2: .line 135
            aload 1 /* attr */
            areturn
        end local 1 // jdk.internal.org.jline.terminal.Attributes attr
        end local 0 // jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/internal/org/jline/terminal/impl/LineDisciplineTerminal;
            1    3     1  attr  Ljdk/internal/org/jline/terminal/Attributes;

  public void setAttributes(jdk.internal.org.jline.terminal.Attributes);
    descriptor: (Ljdk/internal/org/jline/terminal/Attributes;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal this
        start local 1 // jdk.internal.org.jline.terminal.Attributes attr
         0: .line 139
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.attributes:Ljdk/internal/org/jline/terminal/Attributes;
            aload 1 /* attr */
            invokevirtual jdk.internal.org.jline.terminal.Attributes.copy:(Ljdk/internal/org/jline/terminal/Attributes;)V
         1: .line 140
            return
        end local 1 // jdk.internal.org.jline.terminal.Attributes attr
        end local 0 // jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/internal/org/jline/terminal/impl/LineDisciplineTerminal;
            0    2     1  attr  Ljdk/internal/org/jline/terminal/Attributes;
    MethodParameters:
      Name  Flags
      attr  

  public jdk.internal.org.jline.terminal.Size getSize();
    descriptor: ()Ljdk/internal/org/jline/terminal/Size;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal this
         0: .line 143
            new jdk.internal.org.jline.terminal.Size
            dup
            invokespecial jdk.internal.org.jline.terminal.Size.<init>:()V
            astore 1 /* sz */
        start local 1 // jdk.internal.org.jline.terminal.Size sz
         1: .line 144
            aload 1 /* sz */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.size:Ljdk/internal/org/jline/terminal/Size;
            invokevirtual jdk.internal.org.jline.terminal.Size.copy:(Ljdk/internal/org/jline/terminal/Size;)V
         2: .line 145
            aload 1 /* sz */
            areturn
        end local 1 // jdk.internal.org.jline.terminal.Size sz
        end local 0 // jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/internal/org/jline/terminal/impl/LineDisciplineTerminal;
            1    3     1    sz  Ljdk/internal/org/jline/terminal/Size;

  public void setSize(jdk.internal.org.jline.terminal.Size);
    descriptor: (Ljdk/internal/org/jline/terminal/Size;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal this
        start local 1 // jdk.internal.org.jline.terminal.Size sz
         0: .line 149
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.size:Ljdk/internal/org/jline/terminal/Size;
            aload 1 /* sz */
            invokevirtual jdk.internal.org.jline.terminal.Size.copy:(Ljdk/internal/org/jline/terminal/Size;)V
         1: .line 150
            return
        end local 1 // jdk.internal.org.jline.terminal.Size sz
        end local 0 // jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/internal/org/jline/terminal/impl/LineDisciplineTerminal;
            0    2     1    sz  Ljdk/internal/org/jline/terminal/Size;
    MethodParameters:
      Name  Flags
      sz    

  public void raise(jdk.internal.org.jline.terminal.Terminal$Signal);
    descriptor: (Ljdk/internal/org/jline/terminal/Terminal$Signal;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal this
        start local 1 // jdk.internal.org.jline.terminal.Terminal$Signal signal
         0: .line 154
            aload 1 /* signal */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 167
            aload 0 /* this */
            aload 1 /* signal */
            invokevirtual jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.echoSignal:(Ljdk/internal/org/jline/terminal/Terminal$Signal;)V
         2: .line 168
            aload 0 /* this */
            aload 1 /* signal */
            invokespecial jdk.internal.org.jline.terminal.impl.AbstractTerminal.raise:(Ljdk/internal/org/jline/terminal/Terminal$Signal;)V
         3: .line 169
            return
        end local 1 // jdk.internal.org.jline.terminal.Terminal$Signal signal
        end local 0 // jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Ljdk/internal/org/jline/terminal/impl/LineDisciplineTerminal;
            0    4     1  signal  Ljdk/internal/org/jline/terminal/Terminal$Signal;
    MethodParameters:
        Name  Flags
      signal  

  public void processInputByte(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal this
        start local 1 // int c
         0: .line 180
            aload 0 /* this */
            iload 1 /* c */
            invokevirtual jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.doProcessInputByte:(I)Z
            istore 2 /* flushOut */
        start local 2 // boolean flushOut
         1: .line 181
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.slaveInputPipe:Ljava/io/OutputStream;
            invokevirtual java.io.OutputStream.flush:()V
         2: .line 182
            iload 2 /* flushOut */
            ifeq 4
         3: .line 183
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.masterOutput:Ljava/io/OutputStream;
            invokevirtual java.io.OutputStream.flush:()V
         4: .line 185
      StackMap locals: int
      StackMap stack:
            return
        end local 2 // boolean flushOut
        end local 1 // int c
        end local 0 // jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Ljdk/internal/org/jline/terminal/impl/LineDisciplineTerminal;
            0    5     1         c  I
            1    5     2  flushOut  Z
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      c     

  public void processInputBytes(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal this
        start local 1 // byte[] input
         0: .line 188
            aload 0 /* this */
            aload 1 /* input */
            iconst_0
            aload 1 /* input */
            arraylength
            invokevirtual jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.processInputBytes:([BII)V
         1: .line 189
            return
        end local 1 // byte[] input
        end local 0 // jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Ljdk/internal/org/jline/terminal/impl/LineDisciplineTerminal;
            0    2     1  input  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      input  

  public void processInputBytes(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal this
        start local 1 // byte[] input
        start local 2 // int offset
        start local 3 // int length
         0: .line 192
            iconst_0
            istore 4 /* flushOut */
        start local 4 // boolean flushOut
         1: .line 193
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         2: goto 5
         3: .line 194
      StackMap locals: int int
      StackMap stack:
            iload 4 /* flushOut */
            aload 0 /* this */
            aload 1 /* input */
            iload 2 /* offset */
            iload 5 /* i */
            iadd
            baload
            invokevirtual jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.doProcessInputByte:(I)Z
            ior
            istore 4 /* flushOut */
         4: .line 193
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 5 /* i */
            iload 3 /* length */
            if_icmplt 3
        end local 5 // int i
         6: .line 196
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.slaveInputPipe:Ljava/io/OutputStream;
            invokevirtual java.io.OutputStream.flush:()V
         7: .line 197
            iload 4 /* flushOut */
            ifeq 9
         8: .line 198
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.masterOutput:Ljava/io/OutputStream;
            invokevirtual java.io.OutputStream.flush:()V
         9: .line 200
      StackMap locals:
      StackMap stack:
            return
        end local 4 // boolean flushOut
        end local 3 // int length
        end local 2 // int offset
        end local 1 // byte[] input
        end local 0 // jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Ljdk/internal/org/jline/terminal/impl/LineDisciplineTerminal;
            0   10     1     input  [B
            0   10     2    offset  I
            0   10     3    length  I
            1   10     4  flushOut  Z
            2    6     5         i  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      input   
      offset  
      length  

  protected boolean doProcessInputByte(int);
    descriptor: (I)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal this
        start local 1 // int c
         0: .line 203
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.attributes:Ljdk/internal/org/jline/terminal/Attributes;
            getstatic jdk.internal.org.jline.terminal.Attributes$LocalFlag.ISIG:Ljdk/internal/org/jline/terminal/Attributes$LocalFlag;
            invokevirtual jdk.internal.org.jline.terminal.Attributes.getLocalFlag:(Ljdk/internal/org/jline/terminal/Attributes$LocalFlag;)Z
            ifeq 12
         1: .line 204
            iload 1 /* c */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.attributes:Ljdk/internal/org/jline/terminal/Attributes;
            getstatic jdk.internal.org.jline.terminal.Attributes$ControlChar.VINTR:Ljdk/internal/org/jline/terminal/Attributes$ControlChar;
            invokevirtual jdk.internal.org.jline.terminal.Attributes.getControlChar:(Ljdk/internal/org/jline/terminal/Attributes$ControlChar;)I
            if_icmpne 4
         2: .line 205
            aload 0 /* this */
            getstatic jdk.internal.org.jline.terminal.Terminal$Signal.INT:Ljdk/internal/org/jline/terminal/Terminal$Signal;
            invokevirtual jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.raise:(Ljdk/internal/org/jline/terminal/Terminal$Signal;)V
         3: .line 206
            iconst_0
            ireturn
         4: .line 207
      StackMap locals:
      StackMap stack:
            iload 1 /* c */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.attributes:Ljdk/internal/org/jline/terminal/Attributes;
            getstatic jdk.internal.org.jline.terminal.Attributes$ControlChar.VQUIT:Ljdk/internal/org/jline/terminal/Attributes$ControlChar;
            invokevirtual jdk.internal.org.jline.terminal.Attributes.getControlChar:(Ljdk/internal/org/jline/terminal/Attributes$ControlChar;)I
            if_icmpne 7
         5: .line 208
            aload 0 /* this */
            getstatic jdk.internal.org.jline.terminal.Terminal$Signal.QUIT:Ljdk/internal/org/jline/terminal/Terminal$Signal;
            invokevirtual jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.raise:(Ljdk/internal/org/jline/terminal/Terminal$Signal;)V
         6: .line 209
            iconst_0
            ireturn
         7: .line 210
      StackMap locals:
      StackMap stack:
            iload 1 /* c */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.attributes:Ljdk/internal/org/jline/terminal/Attributes;
            getstatic jdk.internal.org.jline.terminal.Attributes$ControlChar.VSUSP:Ljdk/internal/org/jline/terminal/Attributes$ControlChar;
            invokevirtual jdk.internal.org.jline.terminal.Attributes.getControlChar:(Ljdk/internal/org/jline/terminal/Attributes$ControlChar;)I
            if_icmpne 10
         8: .line 211
            aload 0 /* this */
            getstatic jdk.internal.org.jline.terminal.Terminal$Signal.TSTP:Ljdk/internal/org/jline/terminal/Terminal$Signal;
            invokevirtual jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.raise:(Ljdk/internal/org/jline/terminal/Terminal$Signal;)V
         9: .line 212
            iconst_0
            ireturn
        10: .line 213
      StackMap locals:
      StackMap stack:
            iload 1 /* c */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.attributes:Ljdk/internal/org/jline/terminal/Attributes;
            getstatic jdk.internal.org.jline.terminal.Attributes$ControlChar.VSTATUS:Ljdk/internal/org/jline/terminal/Attributes$ControlChar;
            invokevirtual jdk.internal.org.jline.terminal.Attributes.getControlChar:(Ljdk/internal/org/jline/terminal/Attributes$ControlChar;)I
            if_icmpne 12
        11: .line 214
            aload 0 /* this */
            getstatic jdk.internal.org.jline.terminal.Terminal$Signal.INFO:Ljdk/internal/org/jline/terminal/Terminal$Signal;
            invokevirtual jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.raise:(Ljdk/internal/org/jline/terminal/Terminal$Signal;)V
        12: .line 217
      StackMap locals:
      StackMap stack:
            iload 1 /* c */
            bipush 13
            if_icmpne 18
        13: .line 218
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.attributes:Ljdk/internal/org/jline/terminal/Attributes;
            getstatic jdk.internal.org.jline.terminal.Attributes$InputFlag.IGNCR:Ljdk/internal/org/jline/terminal/Attributes$InputFlag;
            invokevirtual jdk.internal.org.jline.terminal.Attributes.getInputFlag:(Ljdk/internal/org/jline/terminal/Attributes$InputFlag;)Z
            ifeq 15
        14: .line 219
            iconst_0
            ireturn
        15: .line 221
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.attributes:Ljdk/internal/org/jline/terminal/Attributes;
            getstatic jdk.internal.org.jline.terminal.Attributes$InputFlag.ICRNL:Ljdk/internal/org/jline/terminal/Attributes$InputFlag;
            invokevirtual jdk.internal.org.jline.terminal.Attributes.getInputFlag:(Ljdk/internal/org/jline/terminal/Attributes$InputFlag;)Z
            ifeq 20
        16: .line 222
            bipush 10
            istore 1 /* c */
        17: .line 224
            goto 20
      StackMap locals:
      StackMap stack:
        18: iload 1 /* c */
            bipush 10
            if_icmpne 20
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.attributes:Ljdk/internal/org/jline/terminal/Attributes;
            getstatic jdk.internal.org.jline.terminal.Attributes$InputFlag.INLCR:Ljdk/internal/org/jline/terminal/Attributes$InputFlag;
            invokevirtual jdk.internal.org.jline.terminal.Attributes.getInputFlag:(Ljdk/internal/org/jline/terminal/Attributes$InputFlag;)Z
            ifeq 20
        19: .line 225
            bipush 13
            istore 1 /* c */
        20: .line 227
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* flushOut */
        start local 2 // boolean flushOut
        21: .line 228
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.attributes:Ljdk/internal/org/jline/terminal/Attributes;
            getstatic jdk.internal.org.jline.terminal.Attributes$LocalFlag.ECHO:Ljdk/internal/org/jline/terminal/Attributes$LocalFlag;
            invokevirtual jdk.internal.org.jline.terminal.Attributes.getLocalFlag:(Ljdk/internal/org/jline/terminal/Attributes$LocalFlag;)Z
            ifeq 24
        22: .line 229
            aload 0 /* this */
            iload 1 /* c */
            invokevirtual jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.processOutputByte:(I)V
        23: .line 230
            iconst_1
            istore 2 /* flushOut */
        24: .line 232
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.slaveInputPipe:Ljava/io/OutputStream;
            iload 1 /* c */
            invokevirtual java.io.OutputStream.write:(I)V
        25: .line 233
            iload 2 /* flushOut */
            ireturn
        end local 2 // boolean flushOut
        end local 1 // int c
        end local 0 // jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   26     0      this  Ljdk/internal/org/jline/terminal/impl/LineDisciplineTerminal;
            0   26     1         c  I
           21   26     2  flushOut  Z
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      c     

  protected void processOutputByte(int);
    descriptor: (I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal this
        start local 1 // int c
         0: .line 244
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.attributes:Ljdk/internal/org/jline/terminal/Attributes;
            getstatic jdk.internal.org.jline.terminal.Attributes$OutputFlag.OPOST:Ljdk/internal/org/jline/terminal/Attributes$OutputFlag;
            invokevirtual jdk.internal.org.jline.terminal.Attributes.getOutputFlag:(Ljdk/internal/org/jline/terminal/Attributes$OutputFlag;)Z
            ifeq 6
         1: .line 245
            iload 1 /* c */
            bipush 10
            if_icmpne 6
         2: .line 246
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.attributes:Ljdk/internal/org/jline/terminal/Attributes;
            getstatic jdk.internal.org.jline.terminal.Attributes$OutputFlag.ONLCR:Ljdk/internal/org/jline/terminal/Attributes$OutputFlag;
            invokevirtual jdk.internal.org.jline.terminal.Attributes.getOutputFlag:(Ljdk/internal/org/jline/terminal/Attributes$OutputFlag;)Z
            ifeq 6
         3: .line 247
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.masterOutput:Ljava/io/OutputStream;
            bipush 13
            invokevirtual java.io.OutputStream.write:(I)V
         4: .line 248
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.masterOutput:Ljava/io/OutputStream;
            bipush 10
            invokevirtual java.io.OutputStream.write:(I)V
         5: .line 249
            return
         6: .line 253
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.masterOutput:Ljava/io/OutputStream;
            iload 1 /* c */
            invokevirtual java.io.OutputStream.write:(I)V
         7: .line 254
            return
        end local 1 // int c
        end local 0 // jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljdk/internal/org/jline/terminal/impl/LineDisciplineTerminal;
            0    8     1     c  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      c     

  protected void processIOException(java.io.IOException);
    descriptor: (Ljava/io/IOException;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal this
        start local 1 // java.io.IOException ioException
         0: .line 257
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.slaveInput:Ljdk/internal/org/jline/utils/NonBlockingPumpInputStream;
            aload 1 /* ioException */
            invokevirtual jdk.internal.org.jline.utils.NonBlockingPumpInputStream.setIoException:(Ljava/io/IOException;)V
         1: .line 258
            return
        end local 1 // java.io.IOException ioException
        end local 0 // jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Ljdk/internal/org/jline/terminal/impl/LineDisciplineTerminal;
            0    2     1  ioException  Ljava/io/IOException;
    MethodParameters:
             Name  Flags
      ioException  

  protected void doClose();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=1
        start local 0 // jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal this
         0: .line 261
            aload 0 /* this */
            invokespecial jdk.internal.org.jline.terminal.impl.AbstractTerminal.doClose:()V
         1: .line 263
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.slaveReader:Ljdk/internal/org/jline/utils/NonBlockingReader;
            invokevirtual jdk.internal.org.jline.utils.NonBlockingReader.close:()V
         2: .line 264
            goto 11
      StackMap locals:
      StackMap stack: java.lang.Throwable
         3: astore 1
         4: .line 266
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.slaveInputPipe:Ljava/io/OutputStream;
            invokevirtual java.io.OutputStream.close:()V
         5: .line 267
            goto 9
      StackMap locals: jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal java.lang.Throwable
      StackMap stack: java.lang.Throwable
         6: astore 2
         7: .line 270
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.slaveWriter:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.close:()V
         8: .line 272
            aload 2
            athrow
         9: .line 270
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.slaveWriter:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.close:()V
        10: .line 273
            aload 1
            athrow
        11: .line 266
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.slaveInputPipe:Ljava/io/OutputStream;
            invokevirtual java.io.OutputStream.close:()V
        12: .line 267
            goto 16
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: astore 2
        14: .line 270
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.slaveWriter:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.close:()V
        15: .line 272
            aload 2
            athrow
        16: .line 270
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal.slaveWriter:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.close:()V
        17: .line 274
            return
        end local 0 // jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   18     0  this  Ljdk/internal/org/jline/terminal/impl/LineDisciplineTerminal;
      Exception table:
        from    to  target  type
           1     3       3  any
           4     6       6  any
          11    13      13  any
    Exceptions:
      throws java.io.IOException
}
SourceFile: "LineDisciplineTerminal.java"
NestMembers:
  jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal$FilteringOutputStream
InnerClasses:
  public final ControlChar = jdk.internal.org.jline.terminal.Attributes$ControlChar of jdk.internal.org.jline.terminal.Attributes
  public final InputFlag = jdk.internal.org.jline.terminal.Attributes$InputFlag 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 final OutputFlag = jdk.internal.org.jline.terminal.Attributes$OutputFlag of jdk.internal.org.jline.terminal.Attributes
  public final Signal = jdk.internal.org.jline.terminal.Terminal$Signal of jdk.internal.org.jline.terminal.Terminal
  public abstract SignalHandler = jdk.internal.org.jline.terminal.Terminal$SignalHandler of jdk.internal.org.jline.terminal.Terminal
  private FilteringOutputStream = jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal$FilteringOutputStream of jdk.internal.org.jline.terminal.impl.LineDisciplineTerminal