final class org.jruby.RubyIO$RubyPOpen
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: org.jruby.RubyIO$RubyPOpen
super_class: java.lang.Object
{
final org.jruby.RubyString cmd;
descriptor: Lorg/jruby/RubyString;
flags: (0x0010) ACC_FINAL
final org.jruby.runtime.builtin.IRubyObject[] cmdPlusArgs;
descriptor: [Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0010) ACC_FINAL
final org.jruby.RubyHash env;
descriptor: Lorg/jruby/RubyHash;
flags: (0x0010) ACC_FINAL
void <init>(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject[]);
descriptor: (Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;)V
flags: (0x0000)
Code:
stack=3, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: iconst_0
istore 6
start local 6 2: aload 2
arraylength
istore 7
start local 7 3: iload 7
ifle 9
aload 1
aload 2
iconst_0
aaload
invokestatic org.jruby.util.TypeConverter.checkHashType:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
dup
astore 4
start local 4 4: invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 9
5: iload 7
iconst_2
if_icmpge 6
aload 1
iconst_1
iconst_2
invokevirtual org.jruby.Ruby.newArgumentError:(II)Lorg/jruby/exceptions/RaiseException;
athrow
6: StackMap locals: org.jruby.RubyIO$RubyPOpen org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject[] top org.jruby.runtime.builtin.IRubyObject top int int
StackMap stack:
iinc 6 1
7: iinc 7 -1
8: goto 10
end local 4 9: StackMap locals: org.jruby.RubyIO$RubyPOpen org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject[] top top top int int
StackMap stack:
aconst_null
astore 4
start local 4 10: StackMap locals: org.jruby.RubyIO$RubyPOpen org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject[] top org.jruby.runtime.builtin.IRubyObject top int int
StackMap stack:
aload 2
iload 6
aaload
invokeinterface org.jruby.runtime.builtin.IRubyObject.checkArrayType:()Lorg/jruby/runtime/builtin/IRubyObject;
astore 8
start local 8 11: aload 8
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifeq 17
12: aload 1
aload 2
iload 6
aaload
invokestatic org.jruby.util.TypeConverter.checkStringType:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
dup
astore 8
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifeq 14
13: aload 1
aload 2
iload 6
aaload
aload 1
invokevirtual org.jruby.Ruby.getString:()Lorg/jruby/RubyClass;
invokevirtual org.jruby.Ruby.newTypeError:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyClass;)Lorg/jruby/exceptions/RaiseException;
athrow
14: StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aconst_null
astore 3
start local 3 15: aload 8
astore 5
start local 5 16: goto 26
end local 5 end local 3 17: StackMap locals:
StackMap stack:
aload 8
checkcast org.jruby.RubyArray
astore 9
start local 9 18: aload 9
invokevirtual org.jruby.RubyArray.isEmpty:()Z
ifeq 19
aload 1
ldc "wrong number of arguments"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
19: StackMap locals: org.jruby.RubyArray
StackMap stack:
aload 9
lconst_0
invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
instanceof org.jruby.RubyHash
ifeq 21
20: aload 9
iconst_0
invokevirtual org.jruby.RubyArray.delete_at:(I)Lorg/jruby/runtime/builtin/IRubyObject;
astore 4
21: StackMap locals:
StackMap stack:
aload 9
invokevirtual org.jruby.RubyArray.isEmpty:()Z
ifeq 22
aload 1
ldc "wrong number of arguments"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
22: StackMap locals:
StackMap stack:
aload 9
invokevirtual org.jruby.RubyArray.size:()I
iconst_1
if_icmple 24
aload 9
aload 9
invokevirtual org.jruby.RubyArray.size:()I
iconst_1
isub
i2l
invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
instanceof org.jruby.RubyHash
ifeq 24
23: aload 9
aload 9
invokevirtual org.jruby.RubyArray.size:()I
iconst_1
isub
i2l
invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
astore 4
24: StackMap locals:
StackMap stack:
aload 9
invokevirtual org.jruby.RubyArray.toJavaArray:()[Lorg/jruby/runtime/builtin/IRubyObject;
astore 3
start local 3 25: aload 3
iconst_0
aaload
astore 5
end local 9 start local 5 26: StackMap locals: org.jruby.RubyIO$RubyPOpen org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject int int org.jruby.runtime.builtin.IRubyObject
StackMap stack:
getstatic org.jruby.platform.Platform.IS_WINDOWS:Z
ifeq 31
27: aload 5
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
invokevirtual org.jruby.RubyString.toString:()Ljava/lang/String;
bipush 47
bipush 92
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
astore 9
start local 9 28: aload 1
aload 9
invokevirtual org.jruby.Ruby.newString:(Ljava/lang/String;)Lorg/jruby/RubyString;
astore 5
29: aload 3
ifnull 33
aload 3
iconst_0
aload 5
aastore
end local 9 30: goto 33
31: StackMap locals:
StackMap stack:
aload 5
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
astore 5
32: aload 3
ifnull 33
aload 3
iconst_0
aload 5
aastore
33: StackMap locals:
StackMap stack:
aload 0
aload 5
checkcast org.jruby.RubyString
putfield org.jruby.RubyIO$RubyPOpen.cmd:Lorg/jruby/RubyString;
34: aload 0
aload 3
putfield org.jruby.RubyIO$RubyPOpen.cmdPlusArgs:[Lorg/jruby/runtime/builtin/IRubyObject;
35: aload 0
aload 4
checkcast org.jruby.RubyHash
putfield org.jruby.RubyIO$RubyPOpen.env:Lorg/jruby/RubyHash;
36: return
end local 8 end local 7 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 37 0 this Lorg/jruby/RubyIO$RubyPOpen;
0 37 1 runtime Lorg/jruby/Ruby;
0 37 2 args [Lorg/jruby/runtime/builtin/IRubyObject;
15 17 3 _cmdPlusArgs [Lorg/jruby/runtime/builtin/IRubyObject;
25 37 3 _cmdPlusArgs [Lorg/jruby/runtime/builtin/IRubyObject;
4 9 4 _env Lorg/jruby/runtime/builtin/IRubyObject;
10 37 4 _env Lorg/jruby/runtime/builtin/IRubyObject;
16 17 5 _cmd Lorg/jruby/runtime/builtin/IRubyObject;
26 37 5 _cmd Lorg/jruby/runtime/builtin/IRubyObject;
2 37 6 firstArg I
3 37 7 argc I
11 37 8 arg0 Lorg/jruby/runtime/builtin/IRubyObject;
18 26 9 arg0Ary Lorg/jruby/RubyArray;
28 30 9 commandString Ljava/lang/String;
MethodParameters:
Name Flags
runtime
args
}
SourceFile: "RubyIO.java"
NestHost: org.jruby.RubyIO
InnerClasses:
private final RubyPOpen = org.jruby.RubyIO$RubyPOpen of org.jruby.RubyIO