class jdk.jshell.execution.PipeInputStream extends java.io.InputStream
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: jdk.jshell.execution.PipeInputStream
super_class: java.io.InputStream
{
private static final int INITIAL_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 128
private int[] buffer;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private int start;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int end;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean closed;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.io.InputStream.<init>:()V
1: aload 0
sipush 128
newarray 10
putfield jdk.jshell.execution.PipeInputStream.buffer:[I
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/jshell/execution/PipeInputStream;
public synchronized int read();
descriptor: ()I
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield jdk.jshell.execution.PipeInputStream.start:I
aload 0
getfield jdk.jshell.execution.PipeInputStream.end:I
if_icmpne 8
aload 0
getfield jdk.jshell.execution.PipeInputStream.closed:Z
ifne 8
1: aload 0
invokevirtual jdk.jshell.execution.PipeInputStream.inputNeeded:()V
2: goto 8
3: StackMap locals:
StackMap stack:
aload 0
getfield jdk.jshell.execution.PipeInputStream.closed:Z
ifeq 5
4: iconst_m1
ireturn
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Object.wait:()V
6: goto 8
StackMap locals:
StackMap stack: java.lang.InterruptedException
7: pop
8: StackMap locals:
StackMap stack:
aload 0
getfield jdk.jshell.execution.PipeInputStream.start:I
aload 0
getfield jdk.jshell.execution.PipeInputStream.end:I
if_icmpeq 3
9: aload 0
getfield jdk.jshell.execution.PipeInputStream.buffer:[I
aload 0
getfield jdk.jshell.execution.PipeInputStream.start:I
iaload
istore 2
10: aload 0
aload 0
getfield jdk.jshell.execution.PipeInputStream.start:I
iconst_1
iadd
aload 0
getfield jdk.jshell.execution.PipeInputStream.buffer:[I
arraylength
irem
putfield jdk.jshell.execution.PipeInputStream.start:I
11: iload 2
ireturn
12: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
13: aload 0
aload 0
getfield jdk.jshell.execution.PipeInputStream.start:I
iconst_1
iadd
aload 0
getfield jdk.jshell.execution.PipeInputStream.buffer:[I
arraylength
irem
putfield jdk.jshell.execution.PipeInputStream.start:I
14: aload 1
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Ljdk/jshell/execution/PipeInputStream;
Exception table:
from to target type
5 6 7 Class java.lang.InterruptedException
9 10 12 any
Exceptions:
throws java.io.IOException
public synchronized int read(byte[], int, int);
descriptor: ([BII)I
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnonnull 2
1: new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
iload 2
iflt 3
iload 3
iflt 3
iload 3
aload 1
arraylength
iload 2
isub
if_icmple 4
3: StackMap locals:
StackMap stack:
new java.lang.IndexOutOfBoundsException
dup
invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
iload 3
ifne 6
5: iconst_0
ireturn
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.jshell.execution.PipeInputStream.read:()I
istore 4
start local 4 7: iload 4
iconst_m1
if_icmpne 9
8: iconst_m1
ireturn
9: StackMap locals: int
StackMap stack:
aload 1
iload 2
iload 4
i2b
bastore
10: iconst_1
istore 5
start local 5 11: goto 16
12: StackMap locals: int
StackMap stack:
aload 0
invokevirtual jdk.jshell.execution.PipeInputStream.read:()I
istore 6
start local 6 13: iload 6
iconst_m1
if_icmpne 15
14: goto 17
15: StackMap locals: int
StackMap stack:
aload 1
iload 2
iload 5
iinc 5 1
iadd
iload 6
i2b
bastore
end local 6 16: StackMap locals:
StackMap stack:
iload 5
iload 3
if_icmpge 17
aload 0
getfield jdk.jshell.execution.PipeInputStream.start:I
aload 0
getfield jdk.jshell.execution.PipeInputStream.end:I
if_icmpne 12
17: StackMap locals:
StackMap stack:
iload 5
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Ljdk/jshell/execution/PipeInputStream;
0 18 1 b [B
0 18 2 off I
0 18 3 len I
7 18 4 c I
11 18 5 totalRead I
13 16 6 r I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
b
off
len
protected void inputNeeded();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jshell/execution/PipeInputStream;
Exceptions:
throws java.io.IOException
private synchronized void write(int);
descriptor: (I)V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.jshell.execution.PipeInputStream.closed:Z
ifeq 2
1: new java.lang.IllegalStateException
dup
ldc "Already closed."
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield jdk.jshell.execution.PipeInputStream.end:I
iconst_1
iadd
aload 0
getfield jdk.jshell.execution.PipeInputStream.buffer:[I
arraylength
irem
istore 2
start local 2 3: iload 2
aload 0
getfield jdk.jshell.execution.PipeInputStream.start:I
if_icmpne 17
4: aload 0
getfield jdk.jshell.execution.PipeInputStream.buffer:[I
arraylength
iconst_2
imul
newarray 10
astore 3
start local 3 5: aload 0
getfield jdk.jshell.execution.PipeInputStream.end:I
aload 0
getfield jdk.jshell.execution.PipeInputStream.start:I
if_icmple 6
aload 0
getfield jdk.jshell.execution.PipeInputStream.end:I
goto 7
StackMap locals: int int[]
StackMap stack:
6: aload 0
getfield jdk.jshell.execution.PipeInputStream.buffer:[I
arraylength
StackMap locals:
StackMap stack: int
7: aload 0
getfield jdk.jshell.execution.PipeInputStream.start:I
isub
istore 4
start local 4 8: aload 0
getfield jdk.jshell.execution.PipeInputStream.end:I
aload 0
getfield jdk.jshell.execution.PipeInputStream.start:I
if_icmple 9
iconst_0
goto 10
StackMap locals: int
StackMap stack:
9: aload 0
getfield jdk.jshell.execution.PipeInputStream.start:I
iconst_1
isub
StackMap locals:
StackMap stack: int
10: istore 5
start local 5 11: aload 0
getfield jdk.jshell.execution.PipeInputStream.buffer:[I
aload 0
getfield jdk.jshell.execution.PipeInputStream.start:I
aload 3
iconst_0
iload 4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
12: aload 0
getfield jdk.jshell.execution.PipeInputStream.buffer:[I
iconst_0
aload 3
iload 4
iload 5
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
13: aload 0
aload 3
putfield jdk.jshell.execution.PipeInputStream.buffer:[I
14: aload 0
iconst_0
putfield jdk.jshell.execution.PipeInputStream.start:I
15: aload 0
iload 4
iload 5
iadd
putfield jdk.jshell.execution.PipeInputStream.end:I
16: aload 0
getfield jdk.jshell.execution.PipeInputStream.end:I
iconst_1
iadd
istore 2
end local 5 end local 4 end local 3 17: StackMap locals:
StackMap stack:
aload 0
getfield jdk.jshell.execution.PipeInputStream.buffer:[I
aload 0
getfield jdk.jshell.execution.PipeInputStream.end:I
iload 1
iastore
18: aload 0
iload 2
putfield jdk.jshell.execution.PipeInputStream.end:I
19: aload 0
invokevirtual java.lang.Object.notifyAll:()V
20: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Ljdk/jshell/execution/PipeInputStream;
0 21 1 b I
3 21 2 newEnd I
5 17 3 newBuffer [I
8 17 4 rightPart I
11 17 5 leftPart I
MethodParameters:
Name Flags
b
public synchronized void close();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield jdk.jshell.execution.PipeInputStream.closed:Z
1: aload 0
invokevirtual java.lang.Object.notifyAll:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/jshell/execution/PipeInputStream;
public java.io.OutputStream createOutput();
descriptor: ()Ljava/io/OutputStream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new jdk.jshell.execution.PipeInputStream$1
dup
aload 0
invokespecial jdk.jshell.execution.PipeInputStream$1.<init>:(Ljdk/jshell/execution/PipeInputStream;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jshell/execution/PipeInputStream;
}
SourceFile: "PipeInputStream.java"
NestMembers:
jdk.jshell.execution.PipeInputStream$1
InnerClasses:
jdk.jshell.execution.PipeInputStream$1