class org.jruby.RubyEnumerable$23 implements org.jruby.runtime.BlockCallback
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.jruby.RubyEnumerable$23
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$23.val$block:Lorg/jruby/runtime/Block;
aload 0
aload 2
putfield org.jruby.RubyEnumerable$23.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$23;
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$23 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$23 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$23.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$23.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 0
getfield org.jruby.RubyEnumerable$23.val$result:Lorg/jruby/RubyArray;
dup
astore 7
monitorenter
12: aload 0
getfield org.jruby.RubyEnumerable$23.val$result:Lorg/jruby/RubyArray;
aload 6
invokevirtual org.jruby.RubyArray.append:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
pop
aload 7
monitorexit
13: goto 16
StackMap locals: org.jruby.RubyEnumerable$23 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
14: aload 7
monitorexit
15: athrow
16: 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 17 0 this Lorg/jruby/RubyEnumerable$23;
0 17 1 ctx Lorg/jruby/runtime/ThreadContext;
0 17 2 largs [Lorg/jruby/runtime/builtin/IRubyObject;
0 17 3 blk Lorg/jruby/runtime/Block;
3 4 4 larg Lorg/jruby/runtime/builtin/IRubyObject;
5 6 4 larg Lorg/jruby/runtime/builtin/IRubyObject;
7 17 4 larg Lorg/jruby/runtime/builtin/IRubyObject;
1 17 5 ary Z
11 17 6 val Lorg/jruby/runtime/builtin/IRubyObject;
Exception table:
from to target type
12 13 14 any
14 15 14 any
MethodParameters:
Name Flags
ctx
largs
blk
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=3, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.jruby.RubyEnumerable$23.val$block:Lorg/jruby/runtime/Block;
aload 1
aload 2
invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 4
start local 4 1: aload 0
getfield org.jruby.RubyEnumerable$23.val$result:Lorg/jruby/RubyArray;
dup
astore 5
monitorenter
2: aload 0
getfield org.jruby.RubyEnumerable$23.val$result:Lorg/jruby/RubyArray;
aload 4
invokevirtual org.jruby.RubyArray.append:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
pop
aload 5
monitorexit
3: goto 6
StackMap locals: org.jruby.RubyEnumerable$23 org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.Block org.jruby.runtime.builtin.IRubyObject org.jruby.RubyArray
StackMap stack: java.lang.Throwable
4: aload 5
monitorexit
5: athrow
6: StackMap locals:
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/jruby/RubyEnumerable$23;
0 7 1 ctx Lorg/jruby/runtime/ThreadContext;
0 7 2 larg Lorg/jruby/runtime/builtin/IRubyObject;
0 7 3 blk Lorg/jruby/runtime/Block;
1 7 4 val Lorg/jruby/runtime/builtin/IRubyObject;
Exception table:
from to target type
2 3 4 any
4 5 4 any
MethodParameters:
Name Flags
ctx
larg
blk
}
SourceFile: "RubyEnumerable.java"
EnclosingMethod: org.jruby.RubyEnumerable.collectCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
NestHost: org.jruby.RubyEnumerable
InnerClasses:
org.jruby.RubyEnumerable$23