public class org.jruby.javasupport.ext.JavaLang$Iterable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jruby.javasupport.ext.JavaLang$Iterable
super_class: java.lang.Object
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/javasupport/ext/JavaLang$Iterable;
static org.jruby.RubyModule define(org.jruby.Ruby, org.jruby.RubyModule);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyModule;)Lorg/jruby/RubyModule;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokevirtual org.jruby.Ruby.getEnumerable:()Lorg/jruby/RubyModule;
invokevirtual org.jruby.RubyModule.includeModule:(Lorg/jruby/runtime/builtin/IRubyObject;)V
1: aload 1
ldc Lorg/jruby/javasupport/ext/JavaLang$Iterable;
invokevirtual org.jruby.RubyModule.defineAnnotatedMethods:(Ljava/lang/Class;)V
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 runtime Lorg/jruby/Ruby;
0 3 1 proxy Lorg/jruby/RubyModule;
MethodParameters:
Name Flags
runtime final
proxy final
public static org.jruby.runtime.builtin.IRubyObject each(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: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 3
start local 3 1: aload 2
invokevirtual org.jruby.runtime.Block.isGiven:()Z
ifne 3
2: aload 3
invokevirtual org.jruby.Ruby.getEnumerator:()Lorg/jruby/RubyClass;
ldc "new"
iconst_2
anewarray org.jruby.runtime.builtin.IRubyObject
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 3
ldc "each"
invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
aastore
invokevirtual org.jruby.RubyClass.callMethod:(Ljava/lang/String;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
3: StackMap locals: org.jruby.Ruby
StackMap stack:
aload 1
invokestatic org.jruby.javasupport.JavaUtil.unwrapIfJavaObject:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/Object;
checkcast java.lang.Iterable
astore 4
start local 4 4: aload 4
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 5
start local 5 5: goto 8
6: StackMap locals: java.lang.Iterable java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 6
start local 6 7: aload 2
aload 0
aload 3
aload 6
invokestatic org.jruby.javasupport.JavaUtil.convertJavaToUsableRubyObject:(Lorg/jruby/Ruby;Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
end local 6 8: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
9: aload 1
areturn
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 10 0 context Lorg/jruby/runtime/ThreadContext;
0 10 1 self Lorg/jruby/runtime/builtin/IRubyObject;
0 10 2 block Lorg/jruby/runtime/Block;
1 10 3 runtime Lorg/jruby/Ruby;
4 10 4 iterable Ljava/lang/Iterable;
5 10 5 iterator Ljava/util/Iterator;
7 8 6 value Ljava/lang/Object;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod()
MethodParameters:
Name Flags
context final
self final
block final
public static org.jruby.runtime.builtin.IRubyObject each_with_index(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: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 3
start local 3 1: aload 2
invokevirtual org.jruby.runtime.Block.isGiven:()Z
ifne 3
2: aload 3
invokevirtual org.jruby.Ruby.getEnumerator:()Lorg/jruby/RubyClass;
ldc "new"
iconst_2
anewarray org.jruby.runtime.builtin.IRubyObject
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 3
ldc "each_with_index"
invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
aastore
invokevirtual org.jruby.RubyClass.callMethod:(Ljava/lang/String;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
3: StackMap locals: org.jruby.Ruby
StackMap stack:
aload 1
invokestatic org.jruby.javasupport.JavaUtil.unwrapIfJavaObject:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/Object;
checkcast java.lang.Iterable
astore 4
start local 4 4: aload 4
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 5
start local 5 5: aload 2
invokevirtual org.jruby.runtime.Block.getSignature:()Lorg/jruby/runtime/Signature;
invokevirtual org.jruby.runtime.Signature.arity:()Lorg/jruby/runtime/Arity;
getstatic org.jruby.runtime.Arity.TWO_ARGUMENTS:Lorg/jruby/runtime/Arity;
if_acmpne 6
iconst_1
goto 7
StackMap locals: java.lang.Iterable java.util.Iterator
StackMap stack:
6: iconst_0
StackMap locals:
StackMap stack: int
7: istore 6
start local 6 8: iconst_0
istore 7
start local 7 9: goto 17
10: StackMap locals: int int
StackMap stack:
aload 3
iload 7
iinc 7 1
i2l
invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
astore 8
start local 8 11: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 9
start local 9 12: aload 3
aload 9
invokestatic org.jruby.javasupport.JavaUtil.convertJavaToUsableRubyObject:(Lorg/jruby/Ruby;Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 10
start local 10 13: iload 6
ifeq 16
14: aload 2
aload 0
aload 10
aload 8
invokevirtual org.jruby.runtime.Block.yieldSpecific:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
15: goto 17
16: StackMap locals: org.jruby.RubyInteger java.lang.Object org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 2
aload 0
aload 3
aload 10
aload 8
invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
pop
end local 10 end local 9 end local 8 17: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
18: aload 1
areturn
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 19 0 context Lorg/jruby/runtime/ThreadContext;
0 19 1 self Lorg/jruby/runtime/builtin/IRubyObject;
0 19 2 block Lorg/jruby/runtime/Block;
1 19 3 runtime Lorg/jruby/Ruby;
4 19 4 iterable Ljava/lang/Iterable;
5 19 5 iterator Ljava/util/Iterator;
8 19 6 arity2 Z
9 19 7 i I
11 17 8 index Lorg/jruby/RubyInteger;
12 17 9 value Ljava/lang/Object;
13 17 10 rValue Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod()
MethodParameters:
Name Flags
context final
self final
block final
public static org.jruby.runtime.builtin.IRubyObject to_a(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: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 3
start local 3 1: aload 3
invokevirtual org.jruby.Ruby.newArray:()Lorg/jruby/RubyArray;
astore 4
start local 4 2: aload 1
invokestatic org.jruby.javasupport.JavaUtil.unwrapIfJavaObject:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/Object;
checkcast java.lang.Iterable
astore 5
start local 5 3: aload 5
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 6
start local 6 4: goto 7
5: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.Block org.jruby.Ruby org.jruby.RubyArray java.lang.Iterable java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 7
start local 7 6: aload 4
aload 3
aload 7
invokestatic org.jruby.javasupport.JavaUtil.convertJavaToUsableRubyObject:(Lorg/jruby/Ruby;Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
invokevirtual org.jruby.RubyArray.append:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
pop
end local 7 7: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
8: aload 4
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 9 0 context Lorg/jruby/runtime/ThreadContext;
0 9 1 self Lorg/jruby/runtime/builtin/IRubyObject;
0 9 2 block Lorg/jruby/runtime/Block;
1 9 3 runtime Lorg/jruby/Ruby;
2 9 4 ary Lorg/jruby/RubyArray;
3 9 5 iterable Ljava/lang/Iterable;
4 9 6 iterator Ljava/util/Iterator;
6 7 7 value Ljava/lang/Object;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"to_a", "entries"})
MethodParameters:
Name Flags
context final
self final
block final
public static org.jruby.runtime.builtin.IRubyObject count(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: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 3
start local 3 1: aload 1
invokestatic org.jruby.javasupport.JavaUtil.unwrapIfJavaObject:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/Object;
checkcast java.lang.Iterable
astore 4
start local 4 2: aload 2
invokevirtual org.jruby.runtime.Block.isGiven:()Z
ifeq 4
3: aload 0
aload 4
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
aload 2
invokestatic org.jruby.javasupport.ext.JavaLang$Iterable.countBlock:(Lorg/jruby/runtime/ThreadContext;Ljava/util/Iterator;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyFixnum;
areturn
4: StackMap locals: org.jruby.Ruby java.lang.Iterable
StackMap stack:
aload 4
instanceof java.util.Collection
ifeq 6
5: aload 3
aload 4
checkcast java.util.Collection
invokeinterface java.util.Collection.size:()I
i2l
invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
areturn
6: StackMap locals:
StackMap stack:
iconst_0
istore 5
start local 5 7: aload 4
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 6
start local 6 8: goto 10
StackMap locals: int java.util.Iterator
StackMap stack:
9: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
pop
iinc 5 1
StackMap locals:
StackMap stack:
10: aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
end local 6 11: aload 3
iload 5
i2l
invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
areturn
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 12 0 context Lorg/jruby/runtime/ThreadContext;
0 12 1 self Lorg/jruby/runtime/builtin/IRubyObject;
0 12 2 block Lorg/jruby/runtime/Block;
1 12 3 runtime Lorg/jruby/Ruby;
2 12 4 iterable Ljava/lang/Iterable;
7 12 5 count I
8 11 6 it Ljava/util/Iterator;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"count"})
MethodParameters:
Name Flags
context final
self final
block final
static org.jruby.RubyFixnum countBlock(org.jruby.runtime.ThreadContext, java.util.Iterator, org.jruby.runtime.Block);
descriptor: (Lorg/jruby/runtime/ThreadContext;Ljava/util/Iterator;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyFixnum;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 3
start local 3 1: iconst_0
istore 4
start local 4 2: goto 5
3: StackMap locals: org.jruby.Ruby int
StackMap stack:
aload 3
aload 1
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
invokestatic org.jruby.javasupport.JavaUtil.convertJavaToUsableRubyObject:(Lorg/jruby/Ruby;Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 5
start local 5 4: aload 2
aload 0
aload 5
invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
ifeq 5
iinc 4 1
end local 5 5: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
6: aload 3
iload 4
i2l
invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
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 context Lorg/jruby/runtime/ThreadContext;
0 7 1 it Ljava/util/Iterator;
0 7 2 block Lorg/jruby/runtime/Block;
1 7 3 runtime Lorg/jruby/Ruby;
2 7 4 count I
4 5 5 next Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context final
it final
block final
public static org.jruby.runtime.builtin.IRubyObject count(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 4
start local 4 1: aload 1
invokestatic org.jruby.javasupport.JavaUtil.unwrapIfJavaObject:(Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/Object;
checkcast java.lang.Iterable
astore 5
start local 5 2: iconst_0
istore 6
start local 6 3: aload 5
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 7
start local 7 4: goto 7
5: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.Block org.jruby.Ruby java.lang.Iterable int java.util.Iterator
StackMap stack:
aload 4
aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
invokestatic org.jruby.javasupport.JavaUtil.convertJavaToUsableRubyObject:(Lorg/jruby/Ruby;Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 8
start local 8 6: aload 0
aload 8
aload 2
invokestatic org.jruby.RubyObject.equalInternal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Z
ifeq 7
iinc 6 1
end local 8 7: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
end local 7 8: aload 4
iload 6
i2l
invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
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 9 0 context Lorg/jruby/runtime/ThreadContext;
0 9 1 self Lorg/jruby/runtime/builtin/IRubyObject;
0 9 2 obj Lorg/jruby/runtime/builtin/IRubyObject;
0 9 3 unused Lorg/jruby/runtime/Block;
1 9 4 runtime Lorg/jruby/Ruby;
2 9 5 iterable Ljava/lang/Iterable;
3 9 6 count I
4 8 7 it Ljava/util/Iterator;
6 7 8 next Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"count"})
MethodParameters:
Name Flags
context final
self final
obj final
unused final
}
SourceFile: "JavaLang.java"
NestHost: org.jruby.javasupport.ext.JavaLang
InnerClasses:
public Iterable = org.jruby.javasupport.ext.JavaLang$Iterable of org.jruby.javasupport.ext.JavaLang
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyModule(name = {"Java::JavaLang::Iterable"}, include = {"Enumerable"})