class org.jruby.RubyRange$5 implements org.jruby.RubyEnumerator$SizeFn
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.jruby.RubyRange$5
super_class: java.lang.Object
{
final org.jruby.RubyRange this$0;
descriptor: Lorg/jruby/RubyRange;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private final org.jruby.runtime.ThreadContext val$context;
descriptor: Lorg/jruby/runtime/ThreadContext;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final org.jruby.RubyRange val$self;
descriptor: Lorg/jruby/RubyRange;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(org.jruby.RubyRange, org.jruby.runtime.ThreadContext, org.jruby.RubyRange);
descriptor: (Lorg/jruby/RubyRange;Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRange;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 0: aload 0
aload 1
putfield org.jruby.RubyRange$5.this$0:Lorg/jruby/RubyRange;
aload 0
aload 2
putfield org.jruby.RubyRange$5.val$context:Lorg/jruby/runtime/ThreadContext;
aload 0
aload 3
putfield org.jruby.RubyRange$5.val$self:Lorg/jruby/RubyRange;
aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyRange$5;
MethodParameters:
Name Flags
this$0 final
val$context final
val$self final
public org.jruby.runtime.builtin.IRubyObject size(org.jruby.runtime.builtin.IRubyObject[]);
descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.RubyRange$5.val$context:Lorg/jruby/runtime/ThreadContext;
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 2
start local 2 1: aload 0
getfield org.jruby.RubyRange$5.val$self:Lorg/jruby/RubyRange;
getfield org.jruby.RubyRange.begin:Lorg/jruby/runtime/builtin/IRubyObject;
astore 3
start local 3 2: aload 0
getfield org.jruby.RubyRange$5.val$self:Lorg/jruby/RubyRange;
getfield org.jruby.RubyRange.end:Lorg/jruby/runtime/builtin/IRubyObject;
astore 4
start local 4 3: aload 1
ifnull 8
aload 1
arraylength
ifle 8
4: aload 1
iconst_0
aaload
astore 5
start local 5 5: aload 5
instanceof org.jruby.RubyNumeric
ifne 9
6: aload 5
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToInteger:()Lorg/jruby/RubyInteger;
pop
7: goto 9
end local 5 8: StackMap locals: org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 2
invokestatic org.jruby.RubyFixnum.one:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
astore 5
start local 5 9: StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 5
aload 0
getfield org.jruby.RubyRange$5.val$context:Lorg/jruby/runtime/ThreadContext;
ldc "<"
aload 2
invokestatic org.jruby.RubyFixnum.zero:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
invokeinterface org.jruby.runtime.builtin.IRubyObject.callMethod:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
ifeq 11
10: aload 2
ldc "step can't be negative"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
11: StackMap locals:
StackMap stack:
aload 5
aload 0
getfield org.jruby.RubyRange$5.val$context:Lorg/jruby/runtime/ThreadContext;
ldc ">"
aload 2
invokestatic org.jruby.RubyFixnum.zero:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
invokeinterface org.jruby.runtime.builtin.IRubyObject.callMethod:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
ifne 13
12: aload 2
ldc "step can't be 0"
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
13: StackMap locals:
StackMap stack:
aload 3
instanceof org.jruby.RubyNumeric
ifeq 15
aload 4
instanceof org.jruby.RubyNumeric
ifeq 15
14: aload 0
getfield org.jruby.RubyRange$5.val$context:Lorg/jruby/runtime/ThreadContext;
aload 3
aload 4
aload 5
aload 0
getfield org.jruby.RubyRange$5.val$self:Lorg/jruby/RubyRange;
getfield org.jruby.RubyRange.isExclusive:Z
invokestatic org.jruby.RubyNumeric.intervalStepSize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/RubyNumeric;
areturn
15: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.RubyRange$5.val$context:Lorg/jruby/runtime/ThreadContext;
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
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 16 0 this Lorg/jruby/RubyRange$5;
0 16 1 args [Lorg/jruby/runtime/builtin/IRubyObject;
1 16 2 runtime Lorg/jruby/Ruby;
2 16 3 begin Lorg/jruby/runtime/builtin/IRubyObject;
3 16 4 end Lorg/jruby/runtime/builtin/IRubyObject;
5 8 5 step Lorg/jruby/runtime/builtin/IRubyObject;
9 16 5 step Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
args
}
SourceFile: "RubyRange.java"
EnclosingMethod: org.jruby.RubyRange.stepSizeFn:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyEnumerator$SizeFn;
NestHost: org.jruby.RubyRange
InnerClasses:
public abstract SizeFn = org.jruby.RubyEnumerator$SizeFn of org.jruby.RubyEnumerator
org.jruby.RubyRange$5