class com.oracle.truffle.polyglot.HostClassLoader$JarLoader$ZipUtils$ChannelInputStream extends java.io.InputStream
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.truffle.polyglot.HostClassLoader$JarLoader$ZipUtils$ChannelInputStream
super_class: java.io.InputStream
{
private final java.nio.channels.SeekableByteChannel channel;
descriptor: Ljava/nio/channels/SeekableByteChannel;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final long len;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lcom/oracle/truffle/polyglot/HostClassLoader;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic com.oracle.truffle.polyglot.HostClassLoader$JarLoader$ZipUtils$ChannelInputStream.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(java.nio.channels.SeekableByteChannel);
descriptor: (Ljava/nio/channels/SeekableByteChannel;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.io.InputStream.<init>:()V
1: aload 0
aload 1
putfield com.oracle.truffle.polyglot.HostClassLoader$JarLoader$ZipUtils$ChannelInputStream.channel:Ljava/nio/channels/SeekableByteChannel;
2: aload 0
aload 1
invokeinterface java.nio.channels.SeekableByteChannel.size:()J
putfield com.oracle.truffle.polyglot.HostClassLoader$JarLoader$ZipUtils$ChannelInputStream.len:J
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/polyglot/HostClassLoader$JarLoader$ZipUtils$ChannelInputStream;
0 4 1 channel Ljava/nio/channels/SeekableByteChannel;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
channel
void <init>(java.nio.channels.SeekableByteChannel, long);
descriptor: (Ljava/nio/channels/SeekableByteChannel;J)V
flags: (0x0000)
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.io.InputStream.<init>:()V
1: getstatic com.oracle.truffle.polyglot.HostClassLoader$JarLoader$ZipUtils$ChannelInputStream.$assertionsDisabled:Z
ifne 2
aload 1
ifnonnull 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: com.oracle.truffle.polyglot.HostClassLoader$JarLoader$ZipUtils$ChannelInputStream java.nio.channels.SeekableByteChannel long
StackMap stack:
getstatic com.oracle.truffle.polyglot.HostClassLoader$JarLoader$ZipUtils$ChannelInputStream.$assertionsDisabled:Z
ifne 3
lload 2
lconst_0
lcmp
ifge 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield com.oracle.truffle.polyglot.HostClassLoader$JarLoader$ZipUtils$ChannelInputStream.channel:Ljava/nio/channels/SeekableByteChannel;
4: aload 0
aload 1
invokeinterface java.nio.channels.SeekableByteChannel.position:()J
lload 2
ladd
putfield com.oracle.truffle.polyglot.HostClassLoader$JarLoader$ZipUtils$ChannelInputStream.len:J
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/polyglot/HostClassLoader$JarLoader$ZipUtils$ChannelInputStream;
0 6 1 channel Ljava/nio/channels/SeekableByteChannel;
0 6 2 len J
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
channel
len
public int read(byte[], int, int);
descriptor: ([BII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual com.oracle.truffle.polyglot.HostClassLoader$JarLoader$ZipUtils$ChannelInputStream.available:()I
istore 4
start local 4 1: iload 4
ifne 3
2: iconst_m1
ireturn
3: StackMap locals: int
StackMap stack:
iload 3
iload 4
if_icmpge 4
iload 3
goto 5
StackMap locals:
StackMap stack:
4: iload 4
StackMap locals:
StackMap stack: int
5: istore 5
start local 5 6: aload 1
iload 2
iload 5
invokestatic java.nio.ByteBuffer.wrap:([BII)Ljava/nio/ByteBuffer;
astore 6
start local 6 7: aload 0
getfield com.oracle.truffle.polyglot.HostClassLoader$JarLoader$ZipUtils$ChannelInputStream.channel:Ljava/nio/channels/SeekableByteChannel;
aload 6
invokeinterface java.nio.channels.SeekableByteChannel.read:(Ljava/nio/ByteBuffer;)I
ireturn
end local 6 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 8 0 this Lcom/oracle/truffle/polyglot/HostClassLoader$JarLoader$ZipUtils$ChannelInputStream;
0 8 1 data [B
0 8 2 offset I
0 8 3 size I
1 8 4 rem I
6 8 5 rlen I
7 8 6 buffer Ljava/nio/ByteBuffer;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
data
offset
size
public int read();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.polyglot.HostClassLoader$JarLoader$ZipUtils$ChannelInputStream.available:()I
ifne 2
1: iconst_m1
ireturn
2: StackMap locals:
StackMap stack:
iconst_1
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
astore 1
start local 1 3: aload 0
getfield com.oracle.truffle.polyglot.HostClassLoader$JarLoader$ZipUtils$ChannelInputStream.channel:Ljava/nio/channels/SeekableByteChannel;
aload 1
invokeinterface java.nio.channels.SeekableByteChannel.read:(Ljava/nio/ByteBuffer;)I
pop
4: aload 1
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/ByteBuffer;
pop
5: aload 1
invokevirtual java.nio.ByteBuffer.get:()B
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/polyglot/HostClassLoader$JarLoader$ZipUtils$ChannelInputStream;
3 6 1 buffer Ljava/nio/ByteBuffer;
Exceptions:
throws java.io.IOException
public int available();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.polyglot.HostClassLoader$JarLoader$ZipUtils$ChannelInputStream.len:J
aload 0
getfield com.oracle.truffle.polyglot.HostClassLoader$JarLoader$ZipUtils$ChannelInputStream.channel:Ljava/nio/channels/SeekableByteChannel;
invokeinterface java.nio.channels.SeekableByteChannel.position:()J
lsub
l2i
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/polyglot/HostClassLoader$JarLoader$ZipUtils$ChannelInputStream;
Exceptions:
throws java.io.IOException
}
SourceFile: "HostClassLoader.java"
NestHost: com.oracle.truffle.polyglot.HostClassLoader
InnerClasses:
private final JarLoader = com.oracle.truffle.polyglot.HostClassLoader$JarLoader of com.oracle.truffle.polyglot.HostClassLoader
final ZipUtils = com.oracle.truffle.polyglot.HostClassLoader$JarLoader$ZipUtils of com.oracle.truffle.polyglot.HostClassLoader$JarLoader
private ChannelInputStream = com.oracle.truffle.polyglot.HostClassLoader$JarLoader$ZipUtils$ChannelInputStream of com.oracle.truffle.polyglot.HostClassLoader$JarLoader$ZipUtils