class org.jruby.RubyEnumerable$7 implements org.jruby.runtime.BlockCallback
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.jruby.RubyEnumerable$7
super_class: java.lang.Object
{
private final org.jruby.runtime.Block val$block;
descriptor: Lorg/jruby/runtime/Block;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final org.jruby.RubyArray val$result;
descriptor: Lorg/jruby/RubyArray;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(org.jruby.runtime.Block, org.jruby.RubyArray);
descriptor: (Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 0: aload 0
aload 1
putfield org.jruby.RubyEnumerable$7.val$block:Lorg/jruby/runtime/Block;
aload 0
aload 2
putfield org.jruby.RubyEnumerable$7.val$result:Lorg/jruby/RubyArray;
aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyEnumerable$7;
MethodParameters:
Name Flags
val$block final
val$result final
public org.jruby.runtime.builtin.IRubyObject call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block);
descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_0
istore 5
start local 5 1: aload 2
arraylength
tableswitch { // 0 - 1
0: 2
1: 4
default: 6
}
2: StackMap locals: org.jruby.RubyEnumerable$7 org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.Block top int
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
astore 4
start local 4 3: goto 8
end local 4 4: StackMap locals:
StackMap stack:
aload 2
iconst_0
aaload
astore 4
start local 4 5: goto 8
end local 4 6: StackMap locals:
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 2
invokestatic org.jruby.RubyArray.newArrayMayCopy:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
astore 4
start local 4 7: iconst_1
istore 5
8: StackMap locals: org.jruby.RubyEnumerable$7 org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.Block org.jruby.runtime.builtin.IRubyObject int
StackMap stack:
iload 5
ifeq 9
aload 0
getfield org.jruby.RubyEnumerable$7.val$block:Lorg/jruby/runtime/Block;
aload 1
aload 4
aconst_null
invokevirtual org.jruby.runtime.Block.yieldArray:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
goto 10
StackMap locals:
StackMap stack:
9: aload 0
getfield org.jruby.RubyEnumerable$7.val$block:Lorg/jruby/runtime/Block;
aload 1
aload 4
invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
StackMap locals:
StackMap stack: org.jruby.runtime.builtin.IRubyObject
10: astore 6
start local 6 11: aload 6
invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
ifne 12
getstatic org.jruby.exceptions.JumpException.SPECIAL_JUMP:Lorg/jruby/exceptions/JumpException$SpecialJump;
athrow
12: StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 0
getfield org.jruby.RubyEnumerable$7.val$result:Lorg/jruby/RubyArray;
dup
astore 7
monitorenter
13: aload 0
getfield org.jruby.RubyEnumerable$7.val$result:Lorg/jruby/RubyArray;
aload 4
invokevirtual org.jruby.RubyArray.append:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
pop
aload 7
monitorexit
14: goto 17
StackMap locals: org.jruby.RubyEnumerable$7 org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.Block org.jruby.runtime.builtin.IRubyObject int org.jruby.runtime.builtin.IRubyObject org.jruby.RubyArray
StackMap stack: java.lang.Throwable
15: aload 7
monitorexit
16: athrow
17: StackMap locals:
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
areturn
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 18 0 this Lorg/jruby/RubyEnumerable$7;
0 18 1 ctx Lorg/jruby/runtime/ThreadContext;
0 18 2 largs [Lorg/jruby/runtime/builtin/IRubyObject;
0 18 3 unused Lorg/jruby/runtime/Block;
3 4 4 larg Lorg/jruby/runtime/builtin/IRubyObject;
5 6 4 larg Lorg/jruby/runtime/builtin/IRubyObject;
7 18 4 larg Lorg/jruby/runtime/builtin/IRubyObject;
1 18 5 ary Z
11 18 6 val Lorg/jruby/runtime/builtin/IRubyObject;
Exception table:
from to target type
13 14 15 any
15 16 15 any
MethodParameters:
Name Flags
ctx
largs
unused
}
SourceFile: "RubyEnumerable.java"
EnclosingMethod: org.jruby.RubyEnumerable.take_while:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
NestHost: org.jruby.RubyEnumerable
InnerClasses:
org.jruby.RubyEnumerable$7