class jdk.internal.org.jline.terminal.impl.AbstractPty$PtyInputStream extends jdk.internal.org.jline.utils.NonBlockingInputStream
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: jdk.internal.org.jline.terminal.impl.AbstractPty$PtyInputStream
super_class: jdk.internal.org.jline.utils.NonBlockingInputStream
{
final java.io.InputStream in;
descriptor: Ljava/io/InputStream;
flags: (0x0010) ACC_FINAL
int c;
descriptor: I
flags: (0x0000)
final jdk.internal.org.jline.terminal.impl.AbstractPty this$0;
descriptor: Ljdk/internal/org/jline/terminal/impl/AbstractPty;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(jdk.internal.org.jline.terminal.impl.AbstractPty, java.io.InputStream);
descriptor: (Ljdk/internal/org/jline/terminal/impl/AbstractPty;Ljava/io/InputStream;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 // jdk.internal.org.jline.terminal.impl.AbstractPty$PtyInputStream this
start local 2 // java.io.InputStream in
0: .line 48
aload 0 /* this */
aload 1
putfield jdk.internal.org.jline.terminal.impl.AbstractPty$PtyInputStream.this$0:Ljdk/internal/org/jline/terminal/impl/AbstractPty;
aload 0 /* this */
invokespecial jdk.internal.org.jline.utils.NonBlockingInputStream.<init>:()V
1: .line 46
aload 0 /* this */
iconst_0
putfield jdk.internal.org.jline.terminal.impl.AbstractPty$PtyInputStream.c:I
2: .line 49
aload 0 /* this */
aload 2 /* in */
putfield jdk.internal.org.jline.terminal.impl.AbstractPty$PtyInputStream.in:Ljava/io/InputStream;
3: .line 50
return
end local 2 // java.io.InputStream in
end local 0 // jdk.internal.org.jline.terminal.impl.AbstractPty$PtyInputStream this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/internal/org/jline/terminal/impl/AbstractPty$PtyInputStream;
0 4 2 in Ljava/io/InputStream;
MethodParameters:
Name Flags
this$0 final
in
public int read(long, boolean);
descriptor: (JZ)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=9, args_size=3
start local 0 // jdk.internal.org.jline.terminal.impl.AbstractPty$PtyInputStream this
start local 1 // long timeout
start local 3 // boolean isPeek
0: .line 54
aload 0 /* this */
getfield jdk.internal.org.jline.terminal.impl.AbstractPty$PtyInputStream.this$0:Ljdk/internal/org/jline/terminal/impl/AbstractPty;
invokevirtual jdk.internal.org.jline.terminal.impl.AbstractPty.checkInterrupted:()V
1: .line 55
aload 0 /* this */
getfield jdk.internal.org.jline.terminal.impl.AbstractPty$PtyInputStream.c:I
ifeq 6
2: .line 56
aload 0 /* this */
getfield jdk.internal.org.jline.terminal.impl.AbstractPty$PtyInputStream.c:I
istore 4 /* r */
start local 4 // int r
3: .line 57
iload 3 /* isPeek */
ifne 5
4: .line 58
aload 0 /* this */
iconst_0
putfield jdk.internal.org.jline.terminal.impl.AbstractPty$PtyInputStream.c:I
5: .line 60
StackMap locals: int
StackMap stack:
iload 4 /* r */
ireturn
end local 4 // int r
6: .line 62
StackMap locals:
StackMap stack:
aload 0 /* this */
invokevirtual jdk.internal.org.jline.terminal.impl.AbstractPty$PtyInputStream.setNonBlocking:()V
7: .line 63
invokestatic java.lang.System.currentTimeMillis:()J
lstore 4 /* start */
start local 4 // long start
8: .line 65
StackMap locals: long
StackMap stack:
aload 0 /* this */
getfield jdk.internal.org.jline.terminal.impl.AbstractPty$PtyInputStream.in:Ljava/io/InputStream;
invokevirtual java.io.InputStream.read:()I
istore 6 /* r */
start local 6 // int r
9: .line 66
iload 6 /* r */
iflt 13
10: .line 67
iload 3 /* isPeek */
ifeq 12
11: .line 68
aload 0 /* this */
iload 6 /* r */
putfield jdk.internal.org.jline.terminal.impl.AbstractPty$PtyInputStream.c:I
12: .line 70
StackMap locals: int
StackMap stack:
iload 6 /* r */
ireturn
13: .line 72
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield jdk.internal.org.jline.terminal.impl.AbstractPty$PtyInputStream.this$0:Ljdk/internal/org/jline/terminal/impl/AbstractPty;
invokevirtual jdk.internal.org.jline.terminal.impl.AbstractPty.checkInterrupted:()V
14: .line 73
invokestatic java.lang.System.currentTimeMillis:()J
lstore 7 /* cur */
start local 7 // long cur
15: .line 74
lload 1 /* timeout */
lconst_0
lcmp
ifle 8
lload 7 /* cur */
lload 4 /* start */
lsub
lload 1 /* timeout */
lcmp
ifle 8
16: .line 75
bipush -2
ireturn
end local 7 // long cur
end local 6 // int r
end local 4 // long start
end local 3 // boolean isPeek
end local 1 // long timeout
end local 0 // jdk.internal.org.jline.terminal.impl.AbstractPty$PtyInputStream this
LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Ljdk/internal/org/jline/terminal/impl/AbstractPty$PtyInputStream;
0 17 1 timeout J
0 17 3 isPeek Z
3 6 4 r I
8 17 4 start J
9 17 6 r I
15 17 7 cur J
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
timeout
isPeek
private void setNonBlocking();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 // jdk.internal.org.jline.terminal.impl.AbstractPty$PtyInputStream this
0: .line 82
aload 0 /* this */
getfield jdk.internal.org.jline.terminal.impl.AbstractPty$PtyInputStream.this$0:Ljdk/internal/org/jline/terminal/impl/AbstractPty;
getfield jdk.internal.org.jline.terminal.impl.AbstractPty.current:Ljdk/internal/org/jline/terminal/Attributes;
ifnull 3
1: .line 83
aload 0 /* this */
getfield jdk.internal.org.jline.terminal.impl.AbstractPty$PtyInputStream.this$0:Ljdk/internal/org/jline/terminal/impl/AbstractPty;
getfield jdk.internal.org.jline.terminal.impl.AbstractPty.current:Ljdk/internal/org/jline/terminal/Attributes;
getstatic jdk.internal.org.jline.terminal.Attributes$ControlChar.VMIN:Ljdk/internal/org/jline/terminal/Attributes$ControlChar;
invokevirtual jdk.internal.org.jline.terminal.Attributes.getControlChar:(Ljdk/internal/org/jline/terminal/Attributes$ControlChar;)I
ifne 3
2: .line 84
aload 0 /* this */
getfield jdk.internal.org.jline.terminal.impl.AbstractPty$PtyInputStream.this$0:Ljdk/internal/org/jline/terminal/impl/AbstractPty;
getfield jdk.internal.org.jline.terminal.impl.AbstractPty.current:Ljdk/internal/org/jline/terminal/Attributes;
getstatic jdk.internal.org.jline.terminal.Attributes$ControlChar.VTIME:Ljdk/internal/org/jline/terminal/Attributes$ControlChar;
invokevirtual jdk.internal.org.jline.terminal.Attributes.getControlChar:(Ljdk/internal/org/jline/terminal/Attributes$ControlChar;)I
iconst_1
if_icmpeq 10
3: .line 86
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield jdk.internal.org.jline.terminal.impl.AbstractPty$PtyInputStream.this$0:Ljdk/internal/org/jline/terminal/impl/AbstractPty;
invokevirtual jdk.internal.org.jline.terminal.impl.AbstractPty.getAttr:()Ljdk/internal/org/jline/terminal/Attributes;
astore 1 /* attr */
start local 1 // jdk.internal.org.jline.terminal.Attributes attr
4: .line 87
aload 1 /* attr */
getstatic jdk.internal.org.jline.terminal.Attributes$ControlChar.VMIN: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
5: .line 88
aload 1 /* attr */
getstatic jdk.internal.org.jline.terminal.Attributes$ControlChar.VTIME:Ljdk/internal/org/jline/terminal/Attributes$ControlChar;
iconst_1
invokevirtual jdk.internal.org.jline.terminal.Attributes.setControlChar:(Ljdk/internal/org/jline/terminal/Attributes$ControlChar;I)V
6: .line 89
aload 0 /* this */
getfield jdk.internal.org.jline.terminal.impl.AbstractPty$PtyInputStream.this$0:Ljdk/internal/org/jline/terminal/impl/AbstractPty;
aload 1 /* attr */
invokevirtual jdk.internal.org.jline.terminal.impl.AbstractPty.setAttr:(Ljdk/internal/org/jline/terminal/Attributes;)V
end local 1 // jdk.internal.org.jline.terminal.Attributes attr
7: .line 90
goto 10
StackMap locals:
StackMap stack: java.io.IOException
8: astore 1 /* e */
start local 1 // java.io.IOException e
9: .line 91
new java.io.IOError
dup
aload 1 /* e */
invokespecial java.io.IOError.<init>:(Ljava/lang/Throwable;)V
athrow
end local 1 // java.io.IOException e
10: .line 94
StackMap locals:
StackMap stack:
return
end local 0 // jdk.internal.org.jline.terminal.impl.AbstractPty$PtyInputStream this
LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljdk/internal/org/jline/terminal/impl/AbstractPty$PtyInputStream;
4 7 1 attr Ljdk/internal/org/jline/terminal/Attributes;
9 10 1 e Ljava/io/IOException;
Exception table:
from to target type
3 7 8 Class java.io.IOException
}
SourceFile: "AbstractPty.java"
NestHost: jdk.internal.org.jline.terminal.impl.AbstractPty
InnerClasses:
public final ControlChar = jdk.internal.org.jline.terminal.Attributes$ControlChar of jdk.internal.org.jline.terminal.Attributes
PtyInputStream = jdk.internal.org.jline.terminal.impl.AbstractPty$PtyInputStream of jdk.internal.org.jline.terminal.impl.AbstractPty