public class org.jruby.util.IOInputStream extends java.io.InputStream
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jruby.util.IOInputStream
super_class: java.io.InputStream
{
private final org.jruby.runtime.builtin.IRubyObject io;
descriptor: Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.io.InputStream in;
descriptor: Ljava/io/InputStream;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.jruby.runtime.builtin.IRubyObject numOne;
descriptor: Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.jruby.runtime.CallSite readAdapter;
descriptor: Lorg/jruby/runtime/CallSite;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.jruby.runtime.CallSite closeAdapter;
descriptor: Lorg/jruby/runtime/CallSite;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
invokespecial org.jruby.util.IOInputStream.<init>:(Lorg/jruby/runtime/builtin/IRubyObject;Z)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/util/IOInputStream;
0 2 1 io Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
io
public void <init>(org.jruby.runtime.builtin.IRubyObject, boolean);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, 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
ldc "read"
invokestatic org.jruby.runtime.MethodIndex.getFunctionalCallSite:(Ljava/lang/String;)Lorg/jruby/runtime/CallSite;
putfield org.jruby.util.IOInputStream.readAdapter:Lorg/jruby/runtime/CallSite;
2: aload 0
ldc "close"
invokestatic org.jruby.runtime.MethodIndex.getFunctionalCallSite:(Ljava/lang/String;)Lorg/jruby/runtime/CallSite;
putfield org.jruby.util.IOInputStream.closeAdapter:Lorg/jruby/runtime/CallSite;
3: aload 0
aload 1
putfield org.jruby.util.IOInputStream.io:Lorg/jruby/runtime/builtin/IRubyObject;
4: aload 0
aload 1
instanceof org.jruby.RubyIO
ifeq 7
aload 1
checkcast org.jruby.RubyIO
invokevirtual org.jruby.RubyIO.isClosed:()Z
ifne 7
5: aload 1
checkcast org.jruby.RubyIO
ldc "read"
invokevirtual org.jruby.RubyIO.isBuiltin:(Ljava/lang/String;)Z
ifeq 7
6: aload 1
checkcast org.jruby.RubyIO
invokevirtual org.jruby.RubyIO.getInStream:()Ljava/io/InputStream;
goto 8
StackMap locals: org.jruby.util.IOInputStream org.jruby.runtime.builtin.IRubyObject int
StackMap stack: org.jruby.util.IOInputStream
7: aconst_null
8: StackMap locals: org.jruby.util.IOInputStream org.jruby.runtime.builtin.IRubyObject int
StackMap stack: org.jruby.util.IOInputStream java.io.InputStream
putfield org.jruby.util.IOInputStream.in:Ljava/io/InputStream;
9: aload 0
getfield org.jruby.util.IOInputStream.in:Ljava/io/InputStream;
ifnonnull 14
10: iload 2
ifeq 14
aload 1
ldc "read"
invokeinterface org.jruby.runtime.builtin.IRubyObject.respondsTo:(Ljava/lang/String;)Z
ifne 14
11: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Object: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " is not a legal argument to this wrapper, "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
12: ldc "cause it doesn't respond to \"read\"."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
13: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
aload 0
aload 1
invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
invokestatic org.jruby.RubyFixnum.one:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
putfield org.jruby.util.IOInputStream.numOne:Lorg/jruby/runtime/builtin/IRubyObject;
15: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/jruby/util/IOInputStream;
0 16 1 io Lorg/jruby/runtime/builtin/IRubyObject;
0 16 2 verifyCanRead Z
MethodParameters:
Name Flags
io final
verifyCanRead
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.util.IOInputStream.in:Ljava/io/InputStream;
ifnull 3
1: aload 0
getfield org.jruby.util.IOInputStream.in:Ljava/io/InputStream;
invokevirtual java.io.InputStream.close:()V
2: goto 5
StackMap locals:
StackMap stack:
3: aload 0
getfield org.jruby.util.IOInputStream.io:Lorg/jruby/runtime/builtin/IRubyObject;
ldc "close"
invokeinterface org.jruby.runtime.builtin.IRubyObject.respondsTo:(Ljava/lang/String;)Z
ifeq 5
4: aload 0
getfield org.jruby.util.IOInputStream.closeAdapter:Lorg/jruby/runtime/CallSite;
aload 0
getfield org.jruby.util.IOInputStream.io:Lorg/jruby/runtime/builtin/IRubyObject;
invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
aload 0
getfield org.jruby.util.IOInputStream.io:Lorg/jruby/runtime/builtin/IRubyObject;
aload 0
getfield org.jruby.util.IOInputStream.io:Lorg/jruby/runtime/builtin/IRubyObject;
invokevirtual org.jruby.runtime.CallSite.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/jruby/util/IOInputStream;
Exceptions:
throws java.io.IOException
public int available();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.util.IOInputStream.in:Ljava/io/InputStream;
ifnull 2
1: aload 0
getfield org.jruby.util.IOInputStream.in:Ljava/io/InputStream;
invokevirtual java.io.InputStream.available:()I
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/util/IOInputStream;
Exceptions:
throws java.io.IOException
public int read();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
getfield org.jruby.util.IOInputStream.in:Ljava/io/InputStream;
ifnull 2
1: aload 0
getfield org.jruby.util.IOInputStream.in:Ljava/io/InputStream;
invokevirtual java.io.InputStream.read:()I
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.util.IOInputStream.io:Lorg/jruby/runtime/builtin/IRubyObject;
invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
astore 1
start local 1 3: aload 0
getfield org.jruby.util.IOInputStream.readAdapter:Lorg/jruby/runtime/CallSite;
aload 1
invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
aload 0
getfield org.jruby.util.IOInputStream.io:Lorg/jruby/runtime/builtin/IRubyObject;
aload 0
getfield org.jruby.util.IOInputStream.io:Lorg/jruby/runtime/builtin/IRubyObject;
aload 0
getfield org.jruby.util.IOInputStream.numOne:Lorg/jruby/runtime/builtin/IRubyObject;
invokevirtual org.jruby.runtime.CallSite.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 2
start local 2 4: aload 2
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifeq 5
iconst_m1
ireturn
5: StackMap locals: org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 2
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
iconst_0
invokevirtual org.jruby.util.ByteList.get:(I)I
sipush 255
iand
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/jruby/util/IOInputStream;
3 6 1 runtime Lorg/jruby/Ruby;
4 6 2 readValue Lorg/jruby/runtime/builtin/IRubyObject;
Exceptions:
throws java.io.IOException
public int read(byte[]);
descriptor: ([B)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
aload 1
arraylength
invokevirtual org.jruby.util.IOInputStream.read:([BII)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/util/IOInputStream;
0 1 1 b [B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
b
public int read(byte[], int, int);
descriptor: ([BII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.jruby.util.IOInputStream.in:Ljava/io/InputStream;
ifnull 2
1: aload 0
getfield org.jruby.util.IOInputStream.in:Ljava/io/InputStream;
aload 1
iload 2
iload 3
invokevirtual java.io.InputStream.read:([BII)I
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.util.IOInputStream.io:Lorg/jruby/runtime/builtin/IRubyObject;
invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
astore 4
start local 4 3: aload 0
getfield org.jruby.util.IOInputStream.readAdapter:Lorg/jruby/runtime/CallSite;
aload 4
invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
aload 0
getfield org.jruby.util.IOInputStream.io:Lorg/jruby/runtime/builtin/IRubyObject;
aload 0
getfield org.jruby.util.IOInputStream.io:Lorg/jruby/runtime/builtin/IRubyObject;
aload 4
iload 3
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
invokevirtual org.jruby.runtime.CallSite.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 5
start local 5 4: aload 5
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifeq 5
iconst_m1
ireturn
5: StackMap locals: org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 5
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
astore 6
start local 6 6: aload 6
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
aload 6
invokevirtual org.jruby.util.ByteList.getBegin:()I
aload 1
iload 2
aload 6
invokevirtual org.jruby.util.ByteList.getRealSize:()I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
7: aload 6
invokevirtual org.jruby.util.ByteList.getRealSize:()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 Lorg/jruby/util/IOInputStream;
0 8 1 b [B
0 8 2 off I
0 8 3 len I
3 8 4 runtime Lorg/jruby/Ruby;
4 8 5 readValue Lorg/jruby/runtime/builtin/IRubyObject;
6 8 6 str Lorg/jruby/util/ByteList;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
b
off
len
}
SourceFile: "IOInputStream.java"