class jdk.internal.org.jline.utils.PumpReader$InputStream extends java.io.InputStream
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: jdk.internal.org.jline.utils.PumpReader$InputStream
super_class: java.io.InputStream
{
private final jdk.internal.org.jline.utils.PumpReader reader;
descriptor: Ljdk/internal/org/jline/utils/PumpReader;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.nio.charset.CharsetEncoder encoder;
descriptor: Ljava/nio/charset/CharsetEncoder;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.nio.ByteBuffer buffer;
descriptor: Ljava/nio/ByteBuffer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private void <init>(jdk.internal.org.jline.utils.PumpReader, java.nio.charset.Charset);
descriptor: (Ljdk/internal/org/jline/utils/PumpReader;Ljava/nio/charset/Charset;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.io.InputStream.<init>:()V
1: aload 0
aload 1
putfield jdk.internal.org.jline.utils.PumpReader$InputStream.reader:Ljdk/internal/org/jline/utils/PumpReader;
2: aload 0
aload 2
invokevirtual java.nio.charset.Charset.newEncoder:()Ljava/nio/charset/CharsetEncoder;
3: getstatic java.nio.charset.CodingErrorAction.REPLACE:Ljava/nio/charset/CodingErrorAction;
invokevirtual java.nio.charset.CharsetEncoder.onUnmappableCharacter:(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetEncoder;
4: getstatic java.nio.charset.CodingErrorAction.REPLACE:Ljava/nio/charset/CodingErrorAction;
invokevirtual java.nio.charset.CharsetEncoder.onMalformedInput:(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetEncoder;
5: putfield jdk.internal.org.jline.utils.PumpReader$InputStream.encoder:Ljava/nio/charset/CharsetEncoder;
6: aload 0
aload 0
getfield jdk.internal.org.jline.utils.PumpReader$InputStream.encoder:Ljava/nio/charset/CharsetEncoder;
invokevirtual java.nio.charset.CharsetEncoder.maxBytesPerChar:()F
f2d
invokestatic java.lang.Math.ceil:(D)D
d2i
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
putfield jdk.internal.org.jline.utils.PumpReader$InputStream.buffer:Ljava/nio/ByteBuffer;
7: aload 0
getfield jdk.internal.org.jline.utils.PumpReader$InputStream.buffer:Ljava/nio/ByteBuffer;
iconst_0
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/ByteBuffer;
pop
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/internal/org/jline/utils/PumpReader$InputStream;
0 9 1 reader Ljdk/internal/org/jline/utils/PumpReader;
0 9 2 charset Ljava/nio/charset/Charset;
MethodParameters:
Name Flags
reader
charset
public int available();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.org.jline.utils.PumpReader$InputStream.reader:Ljdk/internal/org/jline/utils/PumpReader;
invokevirtual jdk.internal.org.jline.utils.PumpReader.available:()I
i2d
aload 0
getfield jdk.internal.org.jline.utils.PumpReader$InputStream.encoder:Ljava/nio/charset/CharsetEncoder;
invokevirtual java.nio.charset.CharsetEncoder.averageBytesPerChar:()F
f2d
dmul
d2i
aload 0
getfield jdk.internal.org.jline.utils.PumpReader$InputStream.buffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
iadd
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/org/jline/utils/PumpReader$InputStream;
Exceptions:
throws java.io.IOException
public int read();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.org.jline.utils.PumpReader$InputStream.buffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 2
aload 0
invokevirtual jdk.internal.org.jline.utils.PumpReader$InputStream.readUsingBuffer:()Z
ifne 2
1: iconst_m1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.org.jline.utils.PumpReader$InputStream.buffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.get:()B
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/internal/org/jline/utils/PumpReader$InputStream;
Exceptions:
throws java.io.IOException
private boolean readUsingBuffer();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.org.jline.utils.PumpReader$InputStream.buffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/ByteBuffer;
pop
1: aload 0
getfield jdk.internal.org.jline.utils.PumpReader$InputStream.reader:Ljdk/internal/org/jline/utils/PumpReader;
aload 0
getfield jdk.internal.org.jline.utils.PumpReader$InputStream.encoder:Ljava/nio/charset/CharsetEncoder;
aload 0
getfield jdk.internal.org.jline.utils.PumpReader$InputStream.buffer:Ljava/nio/ByteBuffer;
invokevirtual jdk.internal.org.jline.utils.PumpReader.readBytes:(Ljava/nio/charset/CharsetEncoder;Ljava/nio/ByteBuffer;)V
2: aload 0
getfield jdk.internal.org.jline.utils.PumpReader$InputStream.buffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/ByteBuffer;
pop
3: aload 0
getfield jdk.internal.org.jline.utils.PumpReader$InputStream.buffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/internal/org/jline/utils/PumpReader$InputStream;
Exceptions:
throws java.io.IOException
private int copyFromBuffer(byte[], int, int);
descriptor: ([BII)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
aload 0
getfield jdk.internal.org.jline.utils.PumpReader$InputStream.buffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
invokestatic java.lang.Math.min:(II)I
istore 3
1: aload 0
getfield jdk.internal.org.jline.utils.PumpReader$InputStream.buffer:Ljava/nio/ByteBuffer;
aload 1
iload 2
iload 3
invokevirtual java.nio.ByteBuffer.get:([BII)Ljava/nio/ByteBuffer;
pop
2: iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/internal/org/jline/utils/PumpReader$InputStream;
0 3 1 b [B
0 3 2 off I
0 3 3 len I
MethodParameters:
Name Flags
b
off
len
public int read(byte[], int, int);
descriptor: ([BII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.org.jline.utils.PumpReader$InputStream.buffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 9
3: aload 0
aload 1
iload 2
iload 3
invokevirtual jdk.internal.org.jline.utils.PumpReader$InputStream.copyFromBuffer:([BII)I
istore 4
start local 4 4: iload 4
iload 3
if_icmpne 6
5: iload 3
ireturn
6: StackMap locals: int
StackMap stack:
iload 2
iload 4
iadd
istore 2
7: iload 3
iload 4
isub
istore 3
8: goto 10
end local 4 9: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 10: StackMap locals: int
StackMap stack:
iload 3
aload 0
getfield jdk.internal.org.jline.utils.PumpReader$InputStream.buffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.capacity:()I
if_icmplt 13
11: iload 4
aload 0
getfield jdk.internal.org.jline.utils.PumpReader$InputStream.reader:Ljdk/internal/org/jline/utils/PumpReader;
aload 0
getfield jdk.internal.org.jline.utils.PumpReader$InputStream.encoder:Ljava/nio/charset/CharsetEncoder;
aload 1
iload 2
iload 3
invokevirtual jdk.internal.org.jline.utils.PumpReader.readBytes:(Ljava/nio/charset/CharsetEncoder;[BII)I
iadd
istore 4
12: goto 15
StackMap locals:
StackMap stack:
13: aload 0
invokevirtual jdk.internal.org.jline.utils.PumpReader$InputStream.readUsingBuffer:()Z
ifeq 15
14: iload 4
aload 0
aload 1
iload 2
iload 3
invokevirtual jdk.internal.org.jline.utils.PumpReader$InputStream.copyFromBuffer:([BII)I
iadd
istore 4
15: StackMap locals:
StackMap stack:
iload 4
ifne 16
iconst_m1
goto 17
StackMap locals:
StackMap stack:
16: iload 4
StackMap locals:
StackMap stack: int
17: ireturn
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/internal/org/jline/utils/PumpReader$InputStream;
0 18 1 b [B
0 18 2 off I
0 18 3 len I
4 9 4 read I
10 18 4 read I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
b
off
len
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.org.jline.utils.PumpReader$InputStream.reader:Ljdk/internal/org/jline/utils/PumpReader;
invokevirtual jdk.internal.org.jline.utils.PumpReader.close:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/org/jline/utils/PumpReader$InputStream;
Exceptions:
throws java.io.IOException
}
SourceFile: "PumpReader.java"
NestHost: jdk.internal.org.jline.utils.PumpReader
InnerClasses:
private InputStream = jdk.internal.org.jline.utils.PumpReader$InputStream of jdk.internal.org.jline.utils.PumpReader