public class org.jruby.RubyRational extends org.jruby.RubyNumeric
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jruby.RubyRational
super_class: org.jruby.RubyNumeric
{
private static org.jruby.runtime.ObjectAllocator RATIONAL_ALLOCATOR;
descriptor: Lorg/jruby/runtime/ObjectAllocator;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private org.jruby.RubyInteger num;
descriptor: Lorg/jruby/RubyInteger;
flags: (0x0002) ACC_PRIVATE
private org.jruby.RubyInteger den;
descriptor: Lorg/jruby/RubyInteger;
flags: (0x0002) ACC_PRIVATE
private static boolean canonicalization;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static final long ML;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.jruby.runtime.ObjectMarshal RATIONAL_MARSHAL;
descriptor: Lorg/jruby/runtime/ObjectMarshal;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$java$math$RoundingMode;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: ldc Lorg/jruby/RubyRational;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic org.jruby.RubyRational.$assertionsDisabled:Z
3: new org.jruby.RubyRational$1
dup
invokespecial org.jruby.RubyRational$1.<init>:()V
putstatic org.jruby.RubyRational.RATIONAL_ALLOCATOR:Lorg/jruby/runtime/ObjectAllocator;
4: iconst_0
putstatic org.jruby.RubyRational.canonicalization:Z
5: ldc 1.7976931348623157E308
invokestatic java.lang.Math.log:(D)D
ldc 2.0
invokestatic java.lang.Math.log:(D)D
ddiv
dconst_1
dsub
d2l
putstatic org.jruby.RubyRational.ML:J
6: new org.jruby.RubyRational$2
dup
invokespecial org.jruby.RubyRational$2.<init>:()V
putstatic org.jruby.RubyRational.RATIONAL_MARSHAL:Lorg/jruby/runtime/ObjectMarshal;
7: return
LocalVariableTable:
Start End Slot Name Signature
public static org.jruby.RubyClass createRationalClass(org.jruby.Ruby);
descriptor: (Lorg/jruby/Ruby;)Lorg/jruby/RubyClass;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
ldc "Rational"
aload 0
invokevirtual org.jruby.Ruby.getNumeric:()Lorg/jruby/RubyClass;
getstatic org.jruby.RubyRational.RATIONAL_ALLOCATOR:Lorg/jruby/runtime/ObjectAllocator;
invokevirtual org.jruby.Ruby.defineClass:(Ljava/lang/String;Lorg/jruby/RubyClass;Lorg/jruby/runtime/ObjectAllocator;)Lorg/jruby/RubyClass;
astore 1
start local 1 1: aload 1
getstatic org.jruby.runtime.ClassIndex.RATIONAL:Lorg/jruby/runtime/ClassIndex;
invokevirtual org.jruby.RubyClass.setClassIndex:(Lorg/jruby/runtime/ClassIndex;)V
2: aload 1
ldc Lorg/jruby/RubyRational;
invokevirtual org.jruby.RubyClass.setReifiedClass:(Ljava/lang/Class;)V
3: aload 1
new org.jruby.RubyModule$JavaClassKindOf
dup
ldc Lorg/jruby/RubyRational;
invokespecial org.jruby.RubyModule$JavaClassKindOf.<init>:(Ljava/lang/Class;)V
putfield org.jruby.RubyClass.kindOf:Lorg/jruby/RubyModule$KindOf;
4: aload 1
getstatic org.jruby.RubyRational.RATIONAL_MARSHAL:Lorg/jruby/runtime/ObjectMarshal;
invokevirtual org.jruby.RubyClass.setMarshal:(Lorg/jruby/runtime/ObjectMarshal;)V
5: aload 1
ldc Lorg/jruby/RubyRational;
invokevirtual org.jruby.RubyClass.defineAnnotatedMethods:(Ljava/lang/Class;)V
6: aload 1
invokevirtual org.jruby.RubyClass.getSingletonClass:()Lorg/jruby/RubyClass;
ldc "allocate"
invokevirtual org.jruby.RubyClass.undefineMethod:(Ljava/lang/String;)V
7: aload 1
invokevirtual org.jruby.RubyClass.getSingletonClass:()Lorg/jruby/RubyClass;
ldc "new"
invokevirtual org.jruby.RubyClass.undefineMethod:(Ljava/lang/String;)V
8: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 runtime Lorg/jruby/Ruby;
1 9 1 rationalc Lorg/jruby/RubyClass;
MethodParameters:
Name Flags
runtime
private void <init>(org.jruby.Ruby, org.jruby.RubyClass, org.jruby.RubyInteger, org.jruby.RubyInteger);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
invokespecial org.jruby.RubyNumeric.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
1: aload 0
aload 3
putfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
2: aload 0
aload 4
putfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
3: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/RubyRational;
0 4 1 runtime Lorg/jruby/Ruby;
0 4 2 clazz Lorg/jruby/RubyClass;
0 4 3 num Lorg/jruby/RubyInteger;
0 4 4 den Lorg/jruby/RubyInteger;
MethodParameters:
Name Flags
runtime
clazz
num
den
public static org.jruby.RubyRational newRationalRaw(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyRational;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 0
invokevirtual org.jruby.Ruby.getRational:()Lorg/jruby/RubyClass;
aload 1
aload 2
invokestatic org.jruby.RubyRational.newRational:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyRational;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 runtime Lorg/jruby/Ruby;
0 1 1 x Lorg/jruby/runtime/builtin/IRubyObject;
0 1 2 y Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
runtime
x
y
static org.jruby.RubyRational newRationalRaw(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyRational;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
invokevirtual org.jruby.Ruby.getRational:()Lorg/jruby/RubyClass;
aload 1
aload 0
invokestatic org.jruby.RubyFixnum.one:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
invokestatic org.jruby.RubyRational.newRational:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyRational;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 runtime Lorg/jruby/Ruby;
0 1 1 x Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
runtime
x
static org.jruby.RubyNumeric newRationalCanonicalize(org.jruby.runtime.ThreadContext, org.jruby.RubyInteger);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokestatic org.jruby.RubyFixnum.one:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
invokestatic org.jruby.RubyRational.newRationalCanonicalize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyNumeric
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lorg/jruby/runtime/ThreadContext;
0 1 1 x Lorg/jruby/RubyInteger;
MethodParameters:
Name Flags
context
x
public static org.jruby.runtime.builtin.IRubyObject newRationalCanonicalize(org.jruby.runtime.ThreadContext, org.jruby.RubyInteger, org.jruby.RubyInteger);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getRational:()Lorg/jruby/RubyClass;
aload 1
aload 2
invokestatic org.jruby.RubyRational.canonicalizeInternal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lorg/jruby/runtime/ThreadContext;
0 1 1 x Lorg/jruby/RubyInteger;
0 1 2 y Lorg/jruby/RubyInteger;
MethodParameters:
Name Flags
context
x
y
public static org.jruby.runtime.builtin.IRubyObject newRationalCanonicalize(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getRational:()Lorg/jruby/RubyClass;
aload 1
checkcast org.jruby.RubyInteger
aload 2
checkcast org.jruby.RubyInteger
invokestatic org.jruby.RubyRational.canonicalizeInternal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lorg/jruby/runtime/ThreadContext;
0 1 1 x Lorg/jruby/runtime/builtin/IRubyObject;
0 1 2 y Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
x
y
public static org.jruby.runtime.builtin.IRubyObject newRationalCanonicalize(org.jruby.runtime.ThreadContext, long, long);
descriptor: (Lorg/jruby/runtime/ThreadContext;JJ)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=6, args_size=3
start local 0 start local 1 start local 3 0: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 5
start local 5 1: aload 0
aload 5
invokevirtual org.jruby.Ruby.getRational:()Lorg/jruby/RubyClass;
lload 1
lload 3
invokestatic org.jruby.RubyRational.canonicalizeInternal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;JJ)Lorg/jruby/RubyNumeric;
areturn
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 context Lorg/jruby/runtime/ThreadContext;
0 2 1 x J
0 2 3 y J
1 2 5 runtime Lorg/jruby/Ruby;
MethodParameters:
Name Flags
context
x
y
public static org.jruby.runtime.builtin.IRubyObject newRationalCanonicalize(org.jruby.runtime.ThreadContext, long);
descriptor: (Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 3
start local 3 1: aload 0
aload 3
invokevirtual org.jruby.Ruby.getRational:()Lorg/jruby/RubyClass;
lload 1
lconst_1
invokestatic org.jruby.RubyRational.canonicalizeInternal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;JJ)Lorg/jruby/RubyNumeric;
areturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 context Lorg/jruby/runtime/ThreadContext;
0 2 1 x J
1 2 3 runtime Lorg/jruby/Ruby;
MethodParameters:
Name Flags
context
x
static org.jruby.RubyNumeric newRationalNoReduce(org.jruby.runtime.ThreadContext, org.jruby.RubyInteger, org.jruby.RubyInteger);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getRational:()Lorg/jruby/RubyClass;
aload 1
aload 2
invokestatic org.jruby.RubyRational.canonicalizeInternalNoReduce:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lorg/jruby/runtime/ThreadContext;
0 1 1 x Lorg/jruby/RubyInteger;
0 1 2 y Lorg/jruby/RubyInteger;
MethodParameters:
Name Flags
context
x
y
private static org.jruby.RubyNumeric newRationalNoReduce(org.jruby.runtime.ThreadContext, org.jruby.RubyClass, org.jruby.RubyInteger, org.jruby.RubyInteger);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
invokestatic org.jruby.RubyRational.canonicalizeInternalNoReduce:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lorg/jruby/runtime/ThreadContext;
0 1 1 clazz Lorg/jruby/RubyClass;
0 1 2 x Lorg/jruby/RubyInteger;
0 1 3 y Lorg/jruby/RubyInteger;
MethodParameters:
Name Flags
context
clazz
x
y
private static org.jruby.RubyRational newRationalBang(org.jruby.runtime.ThreadContext, org.jruby.RubyClass, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyRational;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic org.jruby.RubyRational.$assertionsDisabled:Z
ifne 2
aload 0
aload 3
invokestatic org.jruby.util.Numeric.f_negative_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Z
ifne 1
aload 0
aload 3
invokestatic org.jruby.util.Numeric.f_zero_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Z
ifeq 2
StackMap locals:
StackMap stack:
1: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 1
aload 2
aload 3
invokestatic org.jruby.RubyRational.newRational:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyRational;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 context Lorg/jruby/runtime/ThreadContext;
0 3 1 clazz Lorg/jruby/RubyClass;
0 3 2 x Lorg/jruby/runtime/builtin/IRubyObject;
0 3 3 y Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
clazz
x
y
private static org.jruby.RubyRational newRationalBang(org.jruby.runtime.ThreadContext, org.jruby.RubyClass, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyRational;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokestatic org.jruby.RubyFixnum.one:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
invokestatic org.jruby.RubyRational.newRationalBang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyRational;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lorg/jruby/runtime/ThreadContext;
0 1 1 clazz Lorg/jruby/RubyClass;
0 1 2 x Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
clazz
x
private static org.jruby.RubyRational newRationalBang(org.jruby.runtime.ThreadContext, org.jruby.RubyClass, long);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;J)Lorg/jruby/RubyRational;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
lload 2
invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokestatic org.jruby.RubyFixnum.one:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
invokestatic org.jruby.RubyRational.newRationalBang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyRational;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lorg/jruby/runtime/ThreadContext;
0 1 1 clazz Lorg/jruby/RubyClass;
0 1 2 x J
MethodParameters:
Name Flags
context
clazz
x
public org.jruby.runtime.ClassIndex getNativeClassIndex();
descriptor: ()Lorg/jruby/runtime/ClassIndex;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic org.jruby.runtime.ClassIndex.RATIONAL:Lorg/jruby/runtime/ClassIndex;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyRational;
public static void setCanonicalization(boolean);
descriptor: (Z)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
putstatic org.jruby.RubyRational.canonicalization:Z
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 canonical Z
MethodParameters:
Name Flags
canonical
private static org.jruby.RubyInteger intCheck(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyInteger;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof org.jruby.RubyInteger
ifeq 1
aload 1
checkcast org.jruby.RubyInteger
areturn
1: StackMap locals:
StackMap stack:
aload 1
instanceof org.jruby.RubyNumeric
ifeq 2
aload 0
invokestatic org.jruby.RubyRational.integer_p:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/CallSite;
aload 0
aload 1
aload 1
invokevirtual org.jruby.runtime.CallSite.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
ifne 3
2: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
new java.lang.StringBuilder
dup
ldc "can't convert "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokeinterface org.jruby.runtime.builtin.IRubyObject.getMetaClass:()Lorg/jruby/RubyClass;
invokevirtual org.jruby.RubyClass.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " into Rational"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
3: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToInteger:()Lorg/jruby/RubyInteger;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 context Lorg/jruby/runtime/ThreadContext;
0 4 1 num Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
num
private static org.jruby.runtime.CallSite integer_p(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/CallSite;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.runtime.ThreadContext.sites:Lorg/jruby/runtime/JavaSites;
getfield org.jruby.runtime.JavaSites.Numeric:Lorg/jruby/runtime/JavaSites$NumericSites;
getfield org.jruby.runtime.JavaSites$NumericSites.integer:Lorg/jruby/runtime/CallSite;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lorg/jruby/runtime/ThreadContext;
MethodParameters:
Name Flags
context
static org.jruby.RubyInteger intValue(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyInteger;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic org.jruby.RubyInteger.toInteger:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyInteger;
dup
astore 2
start local 2 1: ifnonnull 3
2: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
new java.lang.StringBuilder
dup
ldc "can't convert "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokeinterface org.jruby.runtime.builtin.IRubyObject.getMetaClass:()Lorg/jruby/RubyClass;
invokevirtual org.jruby.RubyClass.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " into Rational"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
3: StackMap locals: org.jruby.RubyInteger
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 context Lorg/jruby/runtime/ThreadContext;
0 4 1 num Lorg/jruby/runtime/builtin/IRubyObject;
1 4 2 i Lorg/jruby/RubyInteger;
MethodParameters:
Name Flags
context
num
private static org.jruby.RubyNumeric canonicalizeInternal(org.jruby.runtime.ThreadContext, org.jruby.RubyClass, org.jruby.RubyInteger, org.jruby.RubyInteger);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 3
invokestatic org.jruby.RubyRational.canonicalizeShouldNegate:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;)Z
ifeq 3
1: aload 2
invokevirtual org.jruby.RubyInteger.negate:()Lorg/jruby/RubyInteger;
astore 2
2: aload 3
invokevirtual org.jruby.RubyInteger.negate:()Lorg/jruby/RubyInteger;
astore 3
3: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 3
invokestatic org.jruby.util.Numeric.f_gcd:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyInteger;
astore 4
start local 4 4: aload 2
aload 0
aload 4
invokevirtual org.jruby.RubyInteger.idiv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyInteger
astore 5
start local 5 5: aload 3
aload 0
aload 4
invokevirtual org.jruby.RubyInteger.idiv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyInteger
astore 6
start local 6 6: getstatic org.jruby.RubyRational.canonicalization:Z
ifeq 7
aload 0
aload 6
invokestatic org.jruby.util.Numeric.f_one_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Z
ifeq 7
aload 5
areturn
7: StackMap locals: org.jruby.RubyInteger org.jruby.RubyInteger org.jruby.RubyInteger
StackMap stack:
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 1
aload 5
aload 6
invokestatic org.jruby.RubyRational.newRational:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyRational;
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 8 0 context Lorg/jruby/runtime/ThreadContext;
0 8 1 clazz Lorg/jruby/RubyClass;
0 8 2 num Lorg/jruby/RubyInteger;
0 8 3 den Lorg/jruby/RubyInteger;
4 8 4 gcd Lorg/jruby/RubyInteger;
5 8 5 _num Lorg/jruby/RubyInteger;
6 8 6 _den Lorg/jruby/RubyInteger;
MethodParameters:
Name Flags
context
clazz
num
den
private static org.jruby.RubyNumeric canonicalizeInternal(org.jruby.runtime.ThreadContext, org.jruby.RubyClass, long, long);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;JJ)Lorg/jruby/RubyNumeric;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 4 0: lload 4
lconst_0
lcmp
ifne 2
1: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.newZeroDivisionError:()Lorg/jruby/exceptions/RaiseException;
athrow
2: StackMap locals:
StackMap stack:
lload 2
ldc -9223372036854775808
lcmp
ifne 4
lload 4
ldc -9223372036854775808
lcmp
ifne 4
3: aload 0
aload 1
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
lload 2
invokevirtual org.jruby.Ruby.newFixnum:(J)Lorg/jruby/RubyFixnum;
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
lload 4
invokevirtual org.jruby.Ruby.newFixnum:(J)Lorg/jruby/RubyFixnum;
invokestatic org.jruby.RubyRational.canonicalizeInternal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
pop
4: StackMap locals:
StackMap stack:
lload 2
lload 4
invokestatic org.jruby.util.Numeric.i_gcd:(JJ)J
lstore 6
start local 6 5: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
lload 2
invokevirtual org.jruby.Ruby.newFixnum:(J)Lorg/jruby/RubyFixnum;
aload 0
lload 6
invokevirtual org.jruby.RubyFixnum.idiv:(Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyInteger
astore 8
start local 8 6: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
lload 4
invokevirtual org.jruby.Ruby.newFixnum:(J)Lorg/jruby/RubyFixnum;
aload 0
lload 6
invokevirtual org.jruby.RubyFixnum.idiv:(Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyInteger
astore 9
start local 9 7: getstatic org.jruby.RubyRational.canonicalization:Z
ifeq 8
aload 9
invokevirtual org.jruby.RubyInteger.getLongValue:()J
lconst_1
lcmp
ifne 8
aload 8
areturn
8: StackMap locals: long org.jruby.RubyInteger org.jruby.RubyInteger
StackMap stack:
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 1
aload 8
aload 9
invokestatic org.jruby.RubyRational.newRational:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyRational;
areturn
end local 9 end local 8 end local 6 end local 4 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 clazz Lorg/jruby/RubyClass;
0 9 2 num J
0 9 4 den J
5 9 6 gcd J
6 9 8 _num Lorg/jruby/RubyInteger;
7 9 9 _den Lorg/jruby/RubyInteger;
MethodParameters:
Name Flags
context
clazz
num
den
private static org.jruby.RubyNumeric canonicalizeInternalNoReduce(org.jruby.runtime.ThreadContext, org.jruby.RubyClass, org.jruby.RubyInteger, org.jruby.RubyInteger);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 3
invokestatic org.jruby.RubyRational.canonicalizeShouldNegate:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;)Z
ifeq 3
1: aload 2
invokevirtual org.jruby.RubyInteger.negate:()Lorg/jruby/RubyInteger;
astore 2
2: aload 3
invokevirtual org.jruby.RubyInteger.negate:()Lorg/jruby/RubyInteger;
astore 3
3: StackMap locals:
StackMap stack:
getstatic org.jruby.RubyRational.canonicalization:Z
ifeq 4
aload 0
aload 3
invokestatic org.jruby.util.Numeric.f_one_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Z
ifeq 4
aload 2
areturn
4: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 1
aload 2
aload 3
invokestatic org.jruby.RubyRational.newRational:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyRational;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 context Lorg/jruby/runtime/ThreadContext;
0 5 1 clazz Lorg/jruby/RubyClass;
0 5 2 num Lorg/jruby/RubyInteger;
0 5 3 den Lorg/jruby/RubyInteger;
MethodParameters:
Name Flags
context
clazz
num
den
private static boolean canonicalizeShouldNegate(org.jruby.runtime.ThreadContext, org.jruby.RubyInteger);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.jruby.RubyInteger.signum:()I
istore 2
start local 2 1: iload 2
ifne 2
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.newZeroDivisionError:()Lorg/jruby/exceptions/RaiseException;
athrow
2: StackMap locals: int
StackMap stack:
iload 2
ifge 3
iconst_1
ireturn
StackMap locals:
StackMap stack:
3: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 context Lorg/jruby/runtime/ThreadContext;
0 4 1 den Lorg/jruby/RubyInteger;
1 4 2 signum I
MethodParameters:
Name Flags
context
den
public static org.jruby.runtime.builtin.IRubyObject newInstance(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject[]);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
arraylength
tableswitch { // 1 - 2
1: 1
2: 2
default: 3
}
1: StackMap locals:
StackMap stack:
aload 0
aload 1
checkcast org.jruby.RubyClass
aload 2
iconst_0
aaload
invokestatic org.jruby.RubyRational.newInstance:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyNumeric;
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
checkcast org.jruby.RubyClass
aload 2
iconst_0
aaload
aload 2
iconst_1
aaload
invokestatic org.jruby.RubyRational.newInstance:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyNumeric;
areturn
3: StackMap locals:
StackMap stack:
aload 0
4: getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 2
arraylength
iconst_1
iconst_1
invokestatic org.jruby.runtime.Arity.raiseArgumentError:(Lorg/jruby/Ruby;III)V
5: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 context Lorg/jruby/runtime/ThreadContext;
0 6 1 clazz Lorg/jruby/runtime/builtin/IRubyObject;
0 6 2 args [Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
context
clazz
args
public static org.jruby.runtime.builtin.IRubyObject newInstance(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
checkcast org.jruby.RubyClass
aload 2
invokestatic org.jruby.RubyRational.newInstance:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyNumeric;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lorg/jruby/runtime/ThreadContext;
0 1 1 clazz Lorg/jruby/runtime/builtin/IRubyObject;
0 1 2 num Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
context
clazz
num
static org.jruby.RubyNumeric newInstance(org.jruby.runtime.ThreadContext, org.jruby.RubyClass, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyNumeric;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 0
aload 2
invokestatic org.jruby.RubyRational.intValue:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyInteger;
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokestatic org.jruby.RubyFixnum.one:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
invokestatic org.jruby.RubyRational.canonicalizeInternal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lorg/jruby/runtime/ThreadContext;
0 1 1 clazz Lorg/jruby/RubyClass;
0 1 2 num Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
clazz
num
public static org.jruby.runtime.builtin.IRubyObject newInstance(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
checkcast org.jruby.RubyClass
aload 2
aload 3
invokestatic org.jruby.RubyRational.newInstance:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyNumeric;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lorg/jruby/runtime/ThreadContext;
0 1 1 clazz Lorg/jruby/runtime/builtin/IRubyObject;
0 1 2 num Lorg/jruby/runtime/builtin/IRubyObject;
0 1 3 den Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
context
clazz
num
den
static org.jruby.RubyNumeric newInstance(org.jruby.runtime.ThreadContext, org.jruby.RubyClass, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyNumeric;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 0
aload 2
invokestatic org.jruby.RubyRational.intValue:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyInteger;
aload 0
aload 3
invokestatic org.jruby.RubyRational.intValue:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyInteger;
invokestatic org.jruby.RubyRational.canonicalizeInternal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lorg/jruby/runtime/ThreadContext;
0 1 1 clazz Lorg/jruby/RubyClass;
0 1 2 num Lorg/jruby/runtime/builtin/IRubyObject;
0 1 3 den Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
clazz
num
den
static org.jruby.RubyNumeric newInstance(org.jruby.runtime.ThreadContext, org.jruby.RubyClass, org.jruby.RubyInteger, org.jruby.RubyInteger);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
invokestatic org.jruby.RubyRational.canonicalizeInternal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lorg/jruby/runtime/ThreadContext;
0 1 1 clazz Lorg/jruby/RubyClass;
0 1 2 num Lorg/jruby/RubyInteger;
0 1 3 den Lorg/jruby/RubyInteger;
MethodParameters:
Name Flags
context
clazz
num
den
public static org.jruby.RubyNumeric newInstance(org.jruby.runtime.ThreadContext, org.jruby.RubyInteger, org.jruby.RubyInteger);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getRational:()Lorg/jruby/RubyClass;
aload 1
aload 2
invokestatic org.jruby.RubyRational.canonicalizeInternal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lorg/jruby/runtime/ThreadContext;
0 1 1 num Lorg/jruby/RubyInteger;
0 1 2 den Lorg/jruby/RubyInteger;
MethodParameters:
Name Flags
context
num
den
public static org.jruby.RubyNumeric newInstance(org.jruby.runtime.ThreadContext, org.jruby.RubyInteger);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getRational:()Lorg/jruby/RubyClass;
aload 1
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokestatic org.jruby.RubyFixnum.one:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
invokestatic org.jruby.RubyRational.canonicalizeInternal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lorg/jruby/runtime/ThreadContext;
0 1 1 num Lorg/jruby/RubyInteger;
MethodParameters:
Name Flags
context
num
public static org.jruby.runtime.builtin.IRubyObject newRationalConvert(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokestatic org.jruby.RubyFixnum.one:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
invokestatic org.jruby.RubyRational.newRationalConvert:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lorg/jruby/runtime/ThreadContext;
0 1 1 x Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
x
public static org.jruby.runtime.builtin.IRubyObject newRationalConvert(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getRational:()Lorg/jruby/RubyClass;
aload 1
aload 2
invokestatic org.jruby.RubyRational.convert:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lorg/jruby/runtime/ThreadContext;
0 1 1 x Lorg/jruby/runtime/builtin/IRubyObject;
0 1 2 y Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
x
y
public static org.jruby.RubyRational newRational(org.jruby.Ruby, long, long);
descriptor: (Lorg/jruby/Ruby;JJ)Lorg/jruby/RubyRational;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=6, args_size=3
start local 0 start local 1 start local 3 0: new org.jruby.RubyRational
dup
aload 0
aload 0
invokevirtual org.jruby.Ruby.getRational:()Lorg/jruby/RubyClass;
aload 0
lload 1
invokevirtual org.jruby.Ruby.newFixnum:(J)Lorg/jruby/RubyFixnum;
aload 0
lload 3
invokevirtual org.jruby.Ruby.newFixnum:(J)Lorg/jruby/RubyFixnum;
invokespecial org.jruby.RubyRational.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)V
astore 5
start local 5 1: aload 5
iconst_1
invokevirtual org.jruby.RubyRational.setFrozen:(Z)V
2: aload 5
areturn
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 runtime Lorg/jruby/Ruby;
0 3 1 x J
0 3 3 y J
1 3 5 rat Lorg/jruby/RubyRational;
MethodParameters:
Name Flags
runtime
x
y
static org.jruby.RubyRational newRational(org.jruby.Ruby, org.jruby.RubyClass, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyRational;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new org.jruby.RubyRational
dup
aload 0
aload 1
aload 2
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToInteger:()Lorg/jruby/RubyInteger;
aload 3
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToInteger:()Lorg/jruby/RubyInteger;
invokespecial org.jruby.RubyRational.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)V
astore 4
start local 4 1: aload 4
iconst_1
invokevirtual org.jruby.RubyRational.setFrozen:(Z)V
2: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 runtime Lorg/jruby/Ruby;
0 3 1 clazz Lorg/jruby/RubyClass;
0 3 2 x Lorg/jruby/runtime/builtin/IRubyObject;
0 3 3 y Lorg/jruby/runtime/builtin/IRubyObject;
1 3 4 rat Lorg/jruby/RubyRational;
MethodParameters:
Name Flags
runtime
clazz
x
y
public static org.jruby.runtime.builtin.IRubyObject convert(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject[]);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
arraylength
tableswitch { // 1 - 2
1: 1
2: 2
default: 3
}
1: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
iconst_0
aaload
invokestatic org.jruby.RubyRational.convert:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
iconst_0
aaload
aload 2
iconst_1
aaload
invokestatic org.jruby.RubyRational.convert:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
3: StackMap locals:
StackMap stack:
aload 0
4: getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 2
arraylength
iconst_1
iconst_1
invokestatic org.jruby.runtime.Arity.raiseArgumentError:(Lorg/jruby/Ruby;III)V
5: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 context Lorg/jruby/runtime/ThreadContext;
0 6 1 clazz Lorg/jruby/runtime/builtin/IRubyObject;
0 6 2 args [Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
context
clazz
args
public static org.jruby.runtime.builtin.IRubyObject convert(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
if_acmpne 2
1: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
ldc "can't convert nil into Rational"
invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
checkcast org.jruby.RubyClass
aload 2
aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
invokestatic org.jruby.RubyRational.convertCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyNumeric;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 context Lorg/jruby/runtime/ThreadContext;
0 3 1 recv Lorg/jruby/runtime/builtin/IRubyObject;
0 3 2 a1 Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"convert"}, meta = true, visibility = org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;)
MethodParameters:
Name Flags
context
recv
a1
public static org.jruby.runtime.builtin.IRubyObject convert(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
if_acmpeq 1
aload 3
aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
if_acmpne 2
1: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
ldc "can't convert nil into Rational"
invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
checkcast org.jruby.RubyClass
aload 2
aload 3
invokestatic org.jruby.RubyRational.convertCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyNumeric;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 context Lorg/jruby/runtime/ThreadContext;
0 3 1 recv Lorg/jruby/runtime/builtin/IRubyObject;
0 3 2 a1 Lorg/jruby/runtime/builtin/IRubyObject;
0 3 3 a2 Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"convert"}, meta = true, visibility = org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;)
MethodParameters:
Name Flags
context
recv
a1
a2
private static org.jruby.RubyNumeric convertCommon(org.jruby.runtime.ThreadContext, org.jruby.RubyClass, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyNumeric;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
instanceof org.jruby.RubyComplex
ifeq 3
1: aload 2
checkcast org.jruby.RubyComplex
astore 4
start local 4 2: aload 4
invokevirtual org.jruby.RubyComplex.getImage:()Lorg/jruby/runtime/builtin/IRubyObject;
invokestatic org.jruby.util.Numeric.k_exact_p:(Lorg/jruby/runtime/builtin/IRubyObject;)Z
ifeq 3
aload 0
aload 4
invokevirtual org.jruby.RubyComplex.getImage:()Lorg/jruby/runtime/builtin/IRubyObject;
invokestatic org.jruby.util.Numeric.f_zero_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Z
ifeq 3
aload 4
invokevirtual org.jruby.RubyComplex.getReal:()Lorg/jruby/runtime/builtin/IRubyObject;
astore 2
end local 4 3: StackMap locals:
StackMap stack:
aload 3
instanceof org.jruby.RubyComplex
ifeq 6
4: aload 3
checkcast org.jruby.RubyComplex
astore 4
start local 4 5: aload 4
invokevirtual org.jruby.RubyComplex.getImage:()Lorg/jruby/runtime/builtin/IRubyObject;
invokestatic org.jruby.util.Numeric.k_exact_p:(Lorg/jruby/runtime/builtin/IRubyObject;)Z
ifeq 6
aload 0
aload 4
invokevirtual org.jruby.RubyComplex.getImage:()Lorg/jruby/runtime/builtin/IRubyObject;
invokestatic org.jruby.util.Numeric.f_zero_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Z
ifeq 6
aload 4
invokevirtual org.jruby.RubyComplex.getReal:()Lorg/jruby/runtime/builtin/IRubyObject;
astore 3
end local 4 6: StackMap locals:
StackMap stack:
aload 2
instanceof org.jruby.RubyInteger
ifeq 9
7: aload 2
checkcast org.jruby.RubyInteger
aload 0
invokevirtual org.jruby.RubyInteger.to_r:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 2
8: goto 17
StackMap locals:
StackMap stack:
9: aload 2
instanceof org.jruby.RubyFloat
ifeq 12
10: aload 2
checkcast org.jruby.RubyFloat
aload 0
invokevirtual org.jruby.RubyFloat.to_r:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 2
11: goto 17
StackMap locals:
StackMap stack:
12: aload 2
instanceof org.jruby.RubyString
ifeq 15
13: aload 0
aload 2
checkcast org.jruby.RubyString
invokestatic org.jruby.RubyRational.str_to_r_strict:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;)Lorg/jruby/RubyNumeric;
astore 2
14: goto 17
15: StackMap locals:
StackMap stack:
aload 2
instanceof org.jruby.RubyObject
ifeq 17
aload 0
invokestatic org.jruby.RubyRational.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$RationalSites;
getfield org.jruby.runtime.JavaSites$RationalSites.respond_to_to_r:Lorg/jruby/runtime/callsite/RespondToCallSite;
aload 0
aload 2
aload 2
invokevirtual org.jruby.runtime.callsite.RespondToCallSite.respondsTo:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Z
ifeq 17
16: aload 0
aload 2
invokestatic org.jruby.util.Numeric.f_to_r:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 2
17: StackMap locals:
StackMap stack:
aload 3
instanceof org.jruby.RubyFloat
ifeq 20
18: aload 3
checkcast org.jruby.RubyFloat
aload 0
invokevirtual org.jruby.RubyFloat.to_r:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 3
19: goto 22
StackMap locals:
StackMap stack:
20: aload 3
instanceof org.jruby.RubyString
ifeq 22
21: aload 0
aload 3
checkcast org.jruby.RubyString
invokestatic org.jruby.RubyRational.str_to_r_strict:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;)Lorg/jruby/RubyNumeric;
astore 3
22: StackMap locals:
StackMap stack:
aload 2
instanceof org.jruby.RubyRational
ifeq 25
23: aload 3
aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
if_acmpeq 24
aload 3
invokestatic org.jruby.util.Numeric.k_exact_p:(Lorg/jruby/runtime/builtin/IRubyObject;)Z
ifeq 25
aload 0
aload 3
invokestatic org.jruby.util.Numeric.f_one_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Z
ifeq 25
StackMap locals:
StackMap stack:
24: aload 2
checkcast org.jruby.RubyRational
areturn
25: StackMap locals:
StackMap stack:
aload 3
aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
if_acmpne 29
26: aload 2
instanceof org.jruby.RubyNumeric
ifeq 27
aload 0
aload 2
checkcast org.jruby.RubyNumeric
invokestatic org.jruby.util.Numeric.f_integer_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyNumeric;)Z
ifne 28
27: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getRational:()Lorg/jruby/RubyClass;
aload 0
invokestatic org.jruby.RubyRational.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$RationalSites;
getfield org.jruby.runtime.JavaSites$RationalSites.to_r_checked:Lorg/jruby/runtime/JavaSites$CheckedSites;
invokestatic org.jruby.util.TypeConverter.convertToType:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyClass;Lorg/jruby/runtime/JavaSites$CheckedSites;)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyRational
areturn
28: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokestatic org.jruby.RubyRational.newInstance:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyNumeric;
areturn
29: StackMap locals:
StackMap stack:
aload 2
instanceof org.jruby.RubyNumeric
ifeq 32
aload 3
instanceof org.jruby.RubyNumeric
ifeq 32
30: aload 0
aload 2
checkcast org.jruby.RubyNumeric
invokestatic org.jruby.util.Numeric.f_integer_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyNumeric;)Z
ifeq 31
aload 0
aload 3
checkcast org.jruby.RubyNumeric
invokestatic org.jruby.util.Numeric.f_integer_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyNumeric;)Z
ifne 32
31: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 3
invokestatic org.jruby.util.Numeric.f_div:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyNumeric
areturn
32: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
invokestatic org.jruby.RubyRational.newInstance:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyNumeric;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 context Lorg/jruby/runtime/ThreadContext;
0 33 1 clazz Lorg/jruby/RubyClass;
0 33 2 a1 Lorg/jruby/runtime/builtin/IRubyObject;
0 33 3 a2 Lorg/jruby/runtime/builtin/IRubyObject;
2 3 4 a1c Lorg/jruby/RubyComplex;
5 6 4 a2c Lorg/jruby/RubyComplex;
MethodParameters:
Name Flags
context
clazz
a1
a2
public org.jruby.runtime.builtin.IRubyObject numerator(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyRational;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"numerator"})
MethodParameters:
Name Flags
context
public org.jruby.runtime.builtin.IRubyObject denominator(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyRational;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"denominator"})
MethodParameters:
Name Flags
context
public org.jruby.RubyInteger getNumerator();
descriptor: ()Lorg/jruby/RubyInteger;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyRational;
public org.jruby.RubyInteger getDenominator();
descriptor: ()Lorg/jruby/RubyInteger;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyRational;
public org.jruby.RubyRational convertToRational();
descriptor: ()Lorg/jruby/RubyRational;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyRational;
public org.jruby.runtime.builtin.IRubyObject zero_p(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokevirtual org.jruby.RubyRational.isZero:()Z
invokestatic org.jruby.RubyBoolean.newBoolean:(Lorg/jruby/runtime/ThreadContext;Z)Lorg/jruby/RubyBoolean;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyRational;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
MethodParameters:
Name Flags
context
public final boolean isZero();
descriptor: ()Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
invokevirtual org.jruby.RubyInteger.isZero:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyRational;
public org.jruby.runtime.builtin.IRubyObject nonzero_p(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.jruby.RubyRational.isZero:()Z
ifeq 1
aload 1
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
goto 2
StackMap locals:
StackMap stack:
1: aload 0
StackMap locals:
StackMap stack: org.jruby.runtime.builtin.IRubyObject
2: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/RubyRational;
0 3 1 context Lorg/jruby/runtime/ThreadContext;
MethodParameters:
Name Flags
context
public org.jruby.runtime.builtin.IRubyObject isNegative(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokevirtual org.jruby.RubyRational.signum:()I
ifge 1
iconst_1
goto 2
StackMap locals:
StackMap stack: org.jruby.runtime.ThreadContext
1: iconst_0
StackMap locals: org.jruby.RubyRational org.jruby.runtime.ThreadContext
StackMap stack: org.jruby.runtime.ThreadContext int
2: invokestatic org.jruby.RubyBoolean.newBoolean:(Lorg/jruby/runtime/ThreadContext;Z)Lorg/jruby/RubyBoolean;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/RubyRational;
0 3 1 context Lorg/jruby/runtime/ThreadContext;
MethodParameters:
Name Flags
context
public org.jruby.runtime.builtin.IRubyObject isPositive(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokevirtual org.jruby.RubyRational.signum:()I
ifle 1
iconst_1
goto 2
StackMap locals:
StackMap stack: org.jruby.runtime.ThreadContext
1: iconst_0
StackMap locals: org.jruby.RubyRational org.jruby.runtime.ThreadContext
StackMap stack: org.jruby.runtime.ThreadContext int
2: invokestatic org.jruby.RubyBoolean.newBoolean:(Lorg/jruby/runtime/ThreadContext;Z)Lorg/jruby/RubyBoolean;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/RubyRational;
0 3 1 context Lorg/jruby/runtime/ThreadContext;
MethodParameters:
Name Flags
context
public boolean isNegative();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.RubyRational.signum:()I
ifge 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/RubyRational;
public boolean isPositive();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.RubyRational.signum:()I
ifle 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/RubyRational;
public final int signum();
descriptor: ()I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
invokevirtual org.jruby.RubyInteger.signum:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyRational;
private static org.jruby.RubyInteger f_imul(org.jruby.runtime.ThreadContext, long, long);
descriptor: (Lorg/jruby/runtime/ThreadContext;JJ)Lorg/jruby/RubyInteger;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 3 0: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 5
start local 5 1: lload 1
lconst_0
lcmp
ifeq 2
lload 3
lconst_0
lcmp
ifne 3
2: StackMap locals: org.jruby.Ruby
StackMap stack:
aload 5
invokestatic org.jruby.RubyFixnum.zero:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
areturn
3: StackMap locals:
StackMap stack:
lload 1
lconst_1
lcmp
ifne 5
4: aload 5
lload 3
invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
areturn
5: StackMap locals:
StackMap stack:
lload 3
lconst_1
lcmp
ifne 7
6: aload 5
lload 1
invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
areturn
7: StackMap locals:
StackMap stack:
lload 1
lload 3
lmul
lstore 6
start local 6 8: lload 6
lload 1
ldiv
lload 3
lcmp
ifeq 10
9: aload 5
lload 1
invokestatic org.jruby.RubyBignum.newBignum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyBignum;
aload 0
lload 3
invokevirtual org.jruby.RubyBignum.op_mul:(Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyInteger
areturn
10: StackMap locals: long
StackMap stack:
aload 5
lload 6
invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
areturn
end local 6 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 context Lorg/jruby/runtime/ThreadContext;
0 11 1 a J
0 11 3 b J
1 11 5 runtime Lorg/jruby/Ruby;
8 11 6 c J
MethodParameters:
Name Flags
context
a
b
private static org.jruby.RubyNumeric f_addsub(org.jruby.runtime.ThreadContext, org.jruby.RubyClass, org.jruby.RubyInteger, org.jruby.RubyInteger, org.jruby.RubyInteger, org.jruby.RubyInteger, boolean);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Z)Lorg/jruby/RubyNumeric;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=22, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 2
instanceof org.jruby.RubyFixnum
ifeq 11
aload 3
instanceof org.jruby.RubyFixnum
ifeq 11
1: aload 4
instanceof org.jruby.RubyFixnum
ifeq 11
aload 5
instanceof org.jruby.RubyFixnum
ifeq 11
2: aload 2
checkcast org.jruby.RubyFixnum
invokevirtual org.jruby.RubyFixnum.getLongValue:()J
lstore 12
start local 12 3: aload 3
checkcast org.jruby.RubyFixnum
invokevirtual org.jruby.RubyFixnum.getLongValue:()J
lstore 14
start local 14 4: aload 4
checkcast org.jruby.RubyFixnum
invokevirtual org.jruby.RubyFixnum.getLongValue:()J
lstore 16
start local 16 5: aload 5
checkcast org.jruby.RubyFixnum
invokevirtual org.jruby.RubyFixnum.getLongValue:()J
lstore 18
start local 18 6: lload 14
lload 18
invokestatic org.jruby.util.Numeric.i_gcd:(JJ)J
lstore 20
start local 20 7: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
lload 20
invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
astore 9
start local 9 8: aload 0
lload 12
lload 18
lload 20
ldiv
invokestatic org.jruby.RubyRational.f_imul:(Lorg/jruby/runtime/ThreadContext;JJ)Lorg/jruby/RubyInteger;
astore 10
start local 10 9: aload 0
lload 16
lload 14
lload 20
ldiv
invokestatic org.jruby.RubyRational.f_imul:(Lorg/jruby/runtime/ThreadContext;JJ)Lorg/jruby/RubyInteger;
astore 11
end local 20 end local 18 end local 16 end local 14 end local 12 start local 11 10: goto 14
end local 11 end local 10 end local 9 11: StackMap locals:
StackMap stack:
aload 0
aload 3
aload 5
invokestatic org.jruby.util.Numeric.f_gcd:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyInteger;
astore 9
start local 9 12: aload 0
aload 2
aload 0
aload 5
aload 9
invokestatic org.jruby.util.Numeric.f_idiv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyInteger;
invokestatic org.jruby.util.Numeric.f_mul:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyInteger;
astore 10
start local 10 13: aload 0
aload 4
aload 0
aload 3
aload 9
invokestatic org.jruby.util.Numeric.f_idiv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyInteger;
invokestatic org.jruby.util.Numeric.f_mul:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyInteger;
astore 11
start local 11 14: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyClass org.jruby.RubyInteger org.jruby.RubyInteger org.jruby.RubyInteger org.jruby.RubyInteger int top top org.jruby.RubyInteger org.jruby.RubyInteger org.jruby.RubyInteger
StackMap stack:
iload 6
ifeq 15
aload 0
aload 10
aload 11
invokestatic org.jruby.util.Numeric.f_add:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyInteger;
goto 16
StackMap locals:
StackMap stack:
15: aload 0
aload 10
aload 11
invokestatic org.jruby.util.Numeric.f_sub:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyInteger;
StackMap locals:
StackMap stack: org.jruby.RubyInteger
16: astore 12
start local 12 17: aload 0
aload 3
aload 9
invokestatic org.jruby.util.Numeric.f_idiv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyInteger;
astore 11
18: aload 0
aload 12
aload 9
invokestatic org.jruby.util.Numeric.f_gcd:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyInteger;
astore 9
19: aload 0
aload 12
aload 9
invokestatic org.jruby.util.Numeric.f_idiv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyInteger;
astore 7
start local 7 20: aload 0
aload 5
aload 9
invokestatic org.jruby.util.Numeric.f_idiv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyInteger;
astore 10
21: aload 0
aload 10
aload 11
invokestatic org.jruby.util.Numeric.f_mul:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyInteger;
astore 8
start local 8 22: aload 0
aload 1
aload 7
aload 8
invokestatic org.jruby.RubyRational.newRationalNoReduce:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
areturn
end local 12 end local 11 end local 10 end local 9 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 23 0 context Lorg/jruby/runtime/ThreadContext;
0 23 1 metaClass Lorg/jruby/RubyClass;
0 23 2 anum Lorg/jruby/RubyInteger;
0 23 3 aden Lorg/jruby/RubyInteger;
0 23 4 bnum Lorg/jruby/RubyInteger;
0 23 5 bden Lorg/jruby/RubyInteger;
0 23 6 plus Z
20 23 7 newNum Lorg/jruby/RubyInteger;
22 23 8 newDen Lorg/jruby/RubyInteger;
8 11 9 g Lorg/jruby/RubyInteger;
12 23 9 g Lorg/jruby/RubyInteger;
9 11 10 a Lorg/jruby/RubyInteger;
13 23 10 a Lorg/jruby/RubyInteger;
10 11 11 b Lorg/jruby/RubyInteger;
14 23 11 b Lorg/jruby/RubyInteger;
3 10 12 an J
4 10 14 ad J
5 10 16 bn J
6 10 18 bd J
7 10 20 ig J
17 23 12 c Lorg/jruby/RubyInteger;
MethodParameters:
Name Flags
context
metaClass
anum
aden
bnum
bden
plus final
public org.jruby.runtime.builtin.IRubyObject op_plus(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
instanceof org.jruby.RubyInteger
ifeq 2
1: aload 1
aload 0
invokevirtual org.jruby.RubyRational.getMetaClass:()Lorg/jruby/RubyClass;
aload 0
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
aload 0
getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
aload 2
checkcast org.jruby.RubyInteger
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokestatic org.jruby.RubyFixnum.one:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
iconst_1
invokestatic org.jruby.RubyRational.f_addsub:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Z)Lorg/jruby/RubyNumeric;
areturn
2: StackMap locals:
StackMap stack:
aload 2
instanceof org.jruby.RubyFloat
ifeq 4
3: aload 1
aload 1
aload 0
invokestatic org.jruby.RubyRational.r_to_f:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRational;)Lorg/jruby/runtime/builtin/IRubyObject;
aload 2
invokestatic org.jruby.util.Numeric.f_add:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
4: StackMap locals:
StackMap stack:
aload 2
instanceof org.jruby.RubyRational
ifeq 6
5: aload 0
aload 1
aload 2
checkcast org.jruby.RubyRational
invokevirtual org.jruby.RubyRational.op_plus:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRational;)Lorg/jruby/RubyNumeric;
areturn
6: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 1
invokestatic org.jruby.RubyRational.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$RationalSites;
getfield org.jruby.runtime.JavaSites$RationalSites.op_plus:Lorg/jruby/runtime/CallSite;
aload 2
invokevirtual org.jruby.RubyRational.coerceBin:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/CallSite;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/jruby/RubyRational;
0 7 1 context Lorg/jruby/runtime/ThreadContext;
0 7 2 other Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"+"})
MethodParameters:
Name Flags
context
other
public final org.jruby.RubyNumeric op_plus(org.jruby.runtime.ThreadContext, org.jruby.RubyRational);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRational;)Lorg/jruby/RubyNumeric;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
invokevirtual org.jruby.RubyRational.getMetaClass:()Lorg/jruby/RubyClass;
aload 0
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
aload 0
getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
aload 2
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
aload 2
getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
iconst_1
invokestatic org.jruby.RubyRational.f_addsub:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Z)Lorg/jruby/RubyNumeric;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyRational;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 other Lorg/jruby/RubyRational;
MethodParameters:
Name Flags
context
other
public org.jruby.runtime.builtin.IRubyObject op_add(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual org.jruby.RubyRational.op_plus:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyRational;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 other Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
context
other
public org.jruby.runtime.builtin.IRubyObject op_minus(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
instanceof org.jruby.RubyInteger
ifeq 2
1: aload 1
aload 0
invokevirtual org.jruby.RubyRational.getMetaClass:()Lorg/jruby/RubyClass;
aload 0
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
aload 0
getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
aload 2
checkcast org.jruby.RubyInteger
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokestatic org.jruby.RubyFixnum.one:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
iconst_0
invokestatic org.jruby.RubyRational.f_addsub:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Z)Lorg/jruby/RubyNumeric;
areturn
2: StackMap locals:
StackMap stack:
aload 2
instanceof org.jruby.RubyFloat
ifeq 4
3: aload 1
aload 1
aload 0
invokestatic org.jruby.RubyRational.r_to_f:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRational;)Lorg/jruby/runtime/builtin/IRubyObject;
aload 2
invokestatic org.jruby.util.Numeric.f_sub:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
4: StackMap locals:
StackMap stack:
aload 2
instanceof org.jruby.RubyRational
ifeq 6
5: aload 0
aload 1
aload 2
checkcast org.jruby.RubyRational
invokevirtual org.jruby.RubyRational.op_minus:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRational;)Lorg/jruby/RubyNumeric;
areturn
6: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 1
invokestatic org.jruby.RubyRational.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$RationalSites;
getfield org.jruby.runtime.JavaSites$RationalSites.op_minus:Lorg/jruby/runtime/CallSite;
aload 2
invokevirtual org.jruby.RubyRational.coerceBin:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/CallSite;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/jruby/RubyRational;
0 7 1 context Lorg/jruby/runtime/ThreadContext;
0 7 2 other Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"-"})
MethodParameters:
Name Flags
context
other
public final org.jruby.RubyNumeric op_minus(org.jruby.runtime.ThreadContext, org.jruby.RubyRational);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRational;)Lorg/jruby/RubyNumeric;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
invokevirtual org.jruby.RubyRational.getMetaClass:()Lorg/jruby/RubyClass;
aload 0
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
aload 0
getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
aload 2
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
aload 2
getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
iconst_0
invokestatic org.jruby.RubyRational.f_addsub:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Z)Lorg/jruby/RubyNumeric;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyRational;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 other Lorg/jruby/RubyRational;
MethodParameters:
Name Flags
context
other
public org.jruby.runtime.builtin.IRubyObject op_sub(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual org.jruby.RubyRational.op_minus:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyRational;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 other Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
context
other
public org.jruby.runtime.builtin.IRubyObject op_uminus(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
invokevirtual org.jruby.RubyInteger.negate:()Lorg/jruby/RubyInteger;
aload 0
getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
invokestatic org.jruby.RubyRational.newRationalNoReduce:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyRational;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
MethodParameters:
Name Flags
context
private static org.jruby.RubyNumeric f_muldiv(org.jruby.runtime.ThreadContext, org.jruby.RubyClass, org.jruby.RubyInteger, org.jruby.RubyInteger, org.jruby.RubyInteger, org.jruby.RubyInteger, boolean);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Z)Lorg/jruby/RubyNumeric;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=21, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: iload 6
ifne 6
1: aload 0
aload 4
invokestatic org.jruby.util.Numeric.f_negative_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;)Z
ifeq 4
2: aload 2
invokevirtual org.jruby.RubyInteger.negate:()Lorg/jruby/RubyInteger;
astore 2
3: aload 4
invokevirtual org.jruby.RubyInteger.negate:()Lorg/jruby/RubyInteger;
astore 4
4: StackMap locals:
StackMap stack:
aload 4
astore 7
start local 7 5: aload 5
astore 4
aload 7
astore 5
end local 7 6: StackMap locals:
StackMap stack:
aload 2
instanceof org.jruby.RubyFixnum
ifeq 17
aload 3
instanceof org.jruby.RubyFixnum
ifeq 17
7: aload 4
instanceof org.jruby.RubyFixnum
ifeq 17
aload 5
instanceof org.jruby.RubyFixnum
ifeq 17
8: aload 2
checkcast org.jruby.RubyFixnum
invokevirtual org.jruby.RubyFixnum.getLongValue:()J
lstore 9
start local 9 9: aload 3
checkcast org.jruby.RubyFixnum
invokevirtual org.jruby.RubyFixnum.getLongValue:()J
lstore 11
start local 11 10: aload 4
checkcast org.jruby.RubyFixnum
invokevirtual org.jruby.RubyFixnum.getLongValue:()J
lstore 13
start local 13 11: aload 5
checkcast org.jruby.RubyFixnum
invokevirtual org.jruby.RubyFixnum.getLongValue:()J
lstore 15
start local 15 12: lload 9
lload 15
invokestatic org.jruby.util.Numeric.i_gcd:(JJ)J
lstore 17
start local 17 13: lload 11
lload 13
invokestatic org.jruby.util.Numeric.i_gcd:(JJ)J
lstore 19
start local 19 14: aload 0
lload 9
lload 17
ldiv
lload 13
lload 19
ldiv
invokestatic org.jruby.RubyRational.f_imul:(Lorg/jruby/runtime/ThreadContext;JJ)Lorg/jruby/RubyInteger;
astore 7
start local 7 15: aload 0
lload 11
lload 19
ldiv
lload 15
lload 17
ldiv
invokestatic org.jruby.RubyRational.f_imul:(Lorg/jruby/runtime/ThreadContext;JJ)Lorg/jruby/RubyInteger;
astore 8
end local 19 end local 17 end local 15 end local 13 end local 11 end local 9 start local 8 16: goto 21
end local 8 end local 7 17: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 5
invokestatic org.jruby.util.Numeric.f_gcd:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyInteger;
astore 9
start local 9 18: aload 0
aload 3
aload 4
invokestatic org.jruby.util.Numeric.f_gcd:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyInteger;
astore 10
start local 10 19: aload 0
aload 0
aload 2
aload 9
invokestatic org.jruby.util.Numeric.f_idiv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyInteger;
aload 0
aload 4
aload 10
invokestatic org.jruby.util.Numeric.f_idiv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyInteger;
invokestatic org.jruby.util.Numeric.f_mul:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyInteger;
astore 7
start local 7 20: aload 0
aload 0
aload 3
aload 10
invokestatic org.jruby.util.Numeric.f_idiv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyInteger;
aload 0
aload 5
aload 9
invokestatic org.jruby.util.Numeric.f_idiv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyInteger;
invokestatic org.jruby.util.Numeric.f_mul:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyInteger;
astore 8
end local 10 end local 9 start local 8 21: StackMap locals: org.jruby.RubyInteger org.jruby.RubyInteger
StackMap stack:
aload 0
aload 1
aload 7
aload 8
invokestatic org.jruby.RubyRational.newRationalNoReduce:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
areturn
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 22 0 context Lorg/jruby/runtime/ThreadContext;
0 22 1 clazz Lorg/jruby/RubyClass;
0 22 2 anum Lorg/jruby/RubyInteger;
0 22 3 aden Lorg/jruby/RubyInteger;
0 22 4 bnum Lorg/jruby/RubyInteger;
0 22 5 bden Lorg/jruby/RubyInteger;
0 22 6 mult Z
5 6 7 tmp Lorg/jruby/RubyInteger;
15 17 7 newNum Lorg/jruby/RubyInteger;
20 22 7 newNum Lorg/jruby/RubyInteger;
16 17 8 newDen Lorg/jruby/RubyInteger;
21 22 8 newDen Lorg/jruby/RubyInteger;
9 16 9 an J
10 16 11 ad J
11 16 13 bn J
12 16 15 bd J
13 16 17 g1 J
14 16 19 g2 J
18 21 9 g1 Lorg/jruby/RubyInteger;
19 21 10 g2 Lorg/jruby/RubyInteger;
MethodParameters:
Name Flags
context
clazz
anum
aden
bnum
bden
mult final
public org.jruby.runtime.builtin.IRubyObject op_mul(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
instanceof org.jruby.RubyInteger
ifeq 2
1: aload 0
aload 1
aload 2
checkcast org.jruby.RubyInteger
invokevirtual org.jruby.RubyRational.op_mul:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
2: StackMap locals:
StackMap stack:
aload 2
instanceof org.jruby.RubyFloat
ifeq 4
3: aload 1
aload 1
aload 0
invokestatic org.jruby.RubyRational.r_to_f:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRational;)Lorg/jruby/runtime/builtin/IRubyObject;
aload 2
invokestatic org.jruby.util.Numeric.f_mul:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
4: StackMap locals:
StackMap stack:
aload 2
instanceof org.jruby.RubyRational
ifeq 7
5: aload 2
checkcast org.jruby.RubyRational
astore 3
start local 3 6: aload 1
aload 0
invokevirtual org.jruby.RubyRational.getMetaClass:()Lorg/jruby/RubyClass;
aload 0
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
aload 0
getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
aload 3
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
aload 3
getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
iconst_1
invokestatic org.jruby.RubyRational.f_muldiv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Z)Lorg/jruby/RubyNumeric;
areturn
end local 3 7: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 1
invokestatic org.jruby.RubyRational.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$RationalSites;
getfield org.jruby.runtime.JavaSites$RationalSites.op_times:Lorg/jruby/runtime/CallSite;
aload 2
invokevirtual org.jruby.RubyRational.coerceBin:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/CallSite;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/jruby/RubyRational;
0 8 1 context Lorg/jruby/runtime/ThreadContext;
0 8 2 other Lorg/jruby/runtime/builtin/IRubyObject;
6 7 3 otherRational Lorg/jruby/RubyRational;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"*"})
MethodParameters:
Name Flags
context
other
public org.jruby.runtime.builtin.IRubyObject op_mul(org.jruby.runtime.ThreadContext, org.jruby.RubyInteger);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
invokevirtual org.jruby.RubyRational.getMetaClass:()Lorg/jruby/RubyClass;
aload 0
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
aload 0
getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
aload 2
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokestatic org.jruby.RubyFixnum.one:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
iconst_1
invokestatic org.jruby.RubyRational.f_muldiv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Z)Lorg/jruby/RubyNumeric;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyRational;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 other Lorg/jruby/RubyInteger;
MethodParameters:
Name Flags
context
other
public org.jruby.runtime.builtin.IRubyObject op_div(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
instanceof org.jruby.RubyInteger
ifeq 2
1: aload 0
aload 1
aload 2
checkcast org.jruby.RubyInteger
invokevirtual org.jruby.RubyRational.op_div:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
areturn
2: StackMap locals:
StackMap stack:
aload 2
instanceof org.jruby.RubyFloat
ifeq 5
3: aload 1
aload 0
invokestatic org.jruby.RubyRational.r_to_f:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRational;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 3
start local 3 4: aload 1
getfield org.jruby.runtime.ThreadContext.sites:Lorg/jruby/runtime/JavaSites;
getfield org.jruby.runtime.JavaSites.Float:Lorg/jruby/runtime/JavaSites$FloatSites;
getfield org.jruby.runtime.JavaSites$FloatSites.op_quo:Lorg/jruby/runtime/CallSite;
aload 1
aload 3
aload 3
aload 2
invokevirtual org.jruby.runtime.CallSite.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 3 5: StackMap locals:
StackMap stack:
aload 2
instanceof org.jruby.RubyRational
ifeq 10
6: aload 2
checkcast org.jruby.RubyRational
invokevirtual org.jruby.RubyRational.isZero:()Z
ifeq 8
7: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.newZeroDivisionError:()Lorg/jruby/exceptions/RaiseException;
athrow
8: StackMap locals:
StackMap stack:
aload 2
checkcast org.jruby.RubyRational
astore 3
start local 3 9: aload 1
aload 0
invokevirtual org.jruby.RubyRational.getMetaClass:()Lorg/jruby/RubyClass;
aload 0
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
aload 0
getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
aload 3
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
aload 3
getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
iconst_0
invokestatic org.jruby.RubyRational.f_muldiv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Z)Lorg/jruby/RubyNumeric;
areturn
end local 3 10: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 1
invokestatic org.jruby.RubyRational.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$RationalSites;
getfield org.jruby.runtime.JavaSites$RationalSites.op_quo:Lorg/jruby/runtime/CallSite;
aload 2
invokevirtual org.jruby.RubyRational.coerceBin:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/CallSite;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/jruby/RubyRational;
0 11 1 context Lorg/jruby/runtime/ThreadContext;
0 11 2 other Lorg/jruby/runtime/builtin/IRubyObject;
4 5 3 fval Lorg/jruby/runtime/builtin/IRubyObject;
9 10 3 otherRational Lorg/jruby/RubyRational;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"/", "quo"})
MethodParameters:
Name Flags
context
other
public final org.jruby.RubyNumeric op_div(org.jruby.runtime.ThreadContext, org.jruby.RubyInteger);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual org.jruby.RubyInteger.isZero:()Z
ifeq 2
1: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.newZeroDivisionError:()Lorg/jruby/exceptions/RaiseException;
athrow
2: StackMap locals:
StackMap stack:
aload 1
aload 0
invokevirtual org.jruby.RubyRational.getMetaClass:()Lorg/jruby/RubyClass;
aload 0
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
aload 0
getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
aload 2
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokestatic org.jruby.RubyFixnum.one:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
iconst_0
invokestatic org.jruby.RubyRational.f_muldiv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;Z)Lorg/jruby/RubyNumeric;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/RubyRational;
0 3 1 context Lorg/jruby/runtime/ThreadContext;
0 3 2 other Lorg/jruby/RubyInteger;
MethodParameters:
Name Flags
context
other
public org.jruby.runtime.builtin.IRubyObject fdiv(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 1
aload 0
invokestatic org.jruby.RubyRational.r_to_f:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRational;)Lorg/jruby/runtime/builtin/IRubyObject;
aload 2
invokestatic org.jruby.util.Numeric.f_div:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyRational;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 other Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"fdiv"})
MethodParameters:
Name Flags
context
other
public org.jruby.runtime.builtin.IRubyObject op_expt(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokestatic org.jruby.util.Numeric.k_exact_p:(Lorg/jruby/runtime/builtin/IRubyObject;)Z
ifeq 2
aload 1
aload 2
invokestatic org.jruby.util.Numeric.f_zero_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Z
ifeq 2
1: aload 1
aload 0
invokevirtual org.jruby.RubyRational.getMetaClass:()Lorg/jruby/RubyClass;
lconst_1
invokestatic org.jruby.RubyRational.newRationalBang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;J)Lorg/jruby/RubyRational;
areturn
2: StackMap locals:
StackMap stack:
aload 2
instanceof org.jruby.RubyRational
ifeq 5
3: aload 2
checkcast org.jruby.RubyRational
astore 3
start local 3 4: aload 3
getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
invokevirtual org.jruby.RubyInteger.isOne:()Z
ifeq 5
aload 3
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
astore 2
end local 3 5: StackMap locals:
StackMap stack:
aload 2
invokestatic org.jruby.util.Numeric.k_numeric_p:(Lorg/jruby/runtime/builtin/IRubyObject;)Z
ifeq 16
aload 2
invokestatic org.jruby.util.Numeric.k_exact_p:(Lorg/jruby/runtime/builtin/IRubyObject;)Z
ifeq 16
6: aload 0
getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
invokevirtual org.jruby.RubyInteger.isOne:()Z
ifeq 16
7: aload 0
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
invokevirtual org.jruby.RubyInteger.isOne:()Z
ifeq 9
8: aload 1
aload 0
invokevirtual org.jruby.RubyRational.getMetaClass:()Lorg/jruby/RubyClass;
lconst_1
invokestatic org.jruby.RubyRational.newRationalBang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;J)Lorg/jruby/RubyRational;
areturn
9: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
invokestatic org.jruby.util.Numeric.f_minus_one_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Z
ifeq 13
aload 2
invokestatic org.jruby.util.Numeric.k_integer_p:(Lorg/jruby/runtime/builtin/IRubyObject;)Z
ifeq 13
10: aload 1
aload 0
invokevirtual org.jruby.RubyRational.getMetaClass:()Lorg/jruby/RubyClass;
aload 1
aload 2
invokestatic org.jruby.util.Numeric.f_odd_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Z
ifeq 11
iconst_m1
goto 12
StackMap locals: org.jruby.RubyRational org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject
StackMap stack: org.jruby.runtime.ThreadContext org.jruby.RubyClass
11: iconst_1
StackMap locals: org.jruby.RubyRational org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject
StackMap stack: org.jruby.runtime.ThreadContext org.jruby.RubyClass int
12: i2l
invokestatic org.jruby.RubyRational.newRationalBang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;J)Lorg/jruby/RubyRational;
areturn
13: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
invokestatic org.jruby.util.Numeric.f_zero_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;)Z
ifeq 16
14: aload 1
aload 2
invokestatic org.jruby.util.Numeric.f_negative_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Z
ifeq 15
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.newZeroDivisionError:()Lorg/jruby/exceptions/RaiseException;
athrow
15: StackMap locals:
StackMap stack:
aload 1
aload 0
invokevirtual org.jruby.RubyRational.getMetaClass:()Lorg/jruby/RubyClass;
lconst_0
invokestatic org.jruby.RubyRational.newRationalBang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;J)Lorg/jruby/RubyRational;
areturn
16: StackMap locals:
StackMap stack:
aload 2
instanceof org.jruby.RubyInteger
ifeq 18
17: aload 0
aload 1
aload 2
checkcast org.jruby.RubyInteger
aload 2
checkcast org.jruby.RubyInteger
invokevirtual org.jruby.RubyInteger.signum:()I
invokevirtual org.jruby.RubyRational.fix_expt:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;I)Lorg/jruby/RubyNumeric;
areturn
18: StackMap locals:
StackMap stack:
aload 2
instanceof org.jruby.RubyFloat
ifne 19
aload 2
instanceof org.jruby.RubyRational
ifeq 20
19: StackMap locals:
StackMap stack:
aload 1
aload 1
aload 0
invokestatic org.jruby.RubyRational.r_to_f:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRational;)Lorg/jruby/runtime/builtin/IRubyObject;
aload 2
invokestatic org.jruby.util.Numeric.f_expt:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
20: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 1
invokestatic org.jruby.RubyRational.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$RationalSites;
getfield org.jruby.runtime.JavaSites$RationalSites.op_exp:Lorg/jruby/runtime/CallSite;
aload 2
invokevirtual org.jruby.RubyRational.coerceBin:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/CallSite;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lorg/jruby/RubyRational;
0 21 1 context Lorg/jruby/runtime/ThreadContext;
0 21 2 other Lorg/jruby/runtime/builtin/IRubyObject;
4 5 3 otherRational Lorg/jruby/RubyRational;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"**"})
MethodParameters:
Name Flags
context
other
public final org.jruby.runtime.builtin.IRubyObject op_expt(org.jruby.runtime.ThreadContext, long);
descriptor: (Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 4
start local 4 1: lload 2
lconst_0
lcmp
ifne 3
2: aload 1
aload 0
invokevirtual org.jruby.RubyRational.getMetaClass:()Lorg/jruby/RubyClass;
lconst_1
invokestatic org.jruby.RubyRational.newRationalBang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;J)Lorg/jruby/RubyRational;
areturn
3: StackMap locals: org.jruby.Ruby
StackMap stack:
aload 0
getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
invokevirtual org.jruby.RubyInteger.isOne:()Z
ifeq 13
4: aload 0
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
invokevirtual org.jruby.RubyInteger.isOne:()Z
ifeq 6
5: aload 1
aload 0
invokevirtual org.jruby.RubyRational.getMetaClass:()Lorg/jruby/RubyClass;
lconst_1
invokestatic org.jruby.RubyRational.newRationalBang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;J)Lorg/jruby/RubyRational;
areturn
6: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
invokestatic org.jruby.util.Numeric.f_minus_one_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Z
ifeq 10
7: aload 1
aload 0
invokevirtual org.jruby.RubyRational.getMetaClass:()Lorg/jruby/RubyClass;
lload 2
ldc 2
lrem
lconst_0
lcmp
ifeq 8
iconst_m1
goto 9
StackMap locals: org.jruby.RubyRational org.jruby.runtime.ThreadContext long org.jruby.Ruby
StackMap stack: org.jruby.runtime.ThreadContext org.jruby.RubyClass
8: iconst_1
StackMap locals: org.jruby.RubyRational org.jruby.runtime.ThreadContext long org.jruby.Ruby
StackMap stack: org.jruby.runtime.ThreadContext org.jruby.RubyClass int
9: i2l
invokestatic org.jruby.RubyRational.newRationalBang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;J)Lorg/jruby/RubyRational;
areturn
10: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
invokestatic org.jruby.util.Numeric.f_zero_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;)Z
ifeq 13
11: lload 2
lconst_0
lcmp
ifge 12
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.newZeroDivisionError:()Lorg/jruby/exceptions/RaiseException;
athrow
12: StackMap locals:
StackMap stack:
aload 1
aload 0
invokevirtual org.jruby.RubyRational.getMetaClass:()Lorg/jruby/RubyClass;
lconst_0
invokestatic org.jruby.RubyRational.newRationalBang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;J)Lorg/jruby/RubyRational;
areturn
13: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 4
lload 2
invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
lload 2
invokestatic java.lang.Long.signum:(J)I
invokevirtual org.jruby.RubyRational.fix_expt:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;I)Lorg/jruby/RubyNumeric;
areturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/jruby/RubyRational;
0 14 1 context Lorg/jruby/runtime/ThreadContext;
0 14 2 other J
1 14 4 runtime Lorg/jruby/Ruby;
MethodParameters:
Name Flags
context
other
private org.jruby.RubyNumeric fix_expt(org.jruby.runtime.ThreadContext, org.jruby.RubyInteger, int);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;I)Lorg/jruby/RubyNumeric;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
ifle 4
1: aload 1
aload 0
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
aload 2
invokestatic org.jruby.util.Numeric.f_expt:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
checkcast org.jruby.RubyInteger
astore 4
start local 4 2: aload 1
aload 0
getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
aload 2
invokestatic org.jruby.util.Numeric.f_expt:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
checkcast org.jruby.RubyInteger
astore 5
start local 5 3: goto 11
end local 5 end local 4 StackMap locals:
StackMap stack:
4: iload 3
ifge 9
5: aload 2
invokevirtual org.jruby.RubyInteger.negate:()Lorg/jruby/RubyInteger;
astore 6
start local 6 6: aload 1
aload 0
getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
aload 6
invokestatic org.jruby.util.Numeric.f_expt:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
checkcast org.jruby.RubyInteger
astore 4
start local 4 7: aload 1
aload 0
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
aload 6
invokestatic org.jruby.util.Numeric.f_expt:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
checkcast org.jruby.RubyInteger
astore 5
end local 6 start local 5 8: goto 11
end local 5 end local 4 9: StackMap locals:
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokestatic org.jruby.RubyFixnum.one:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
dup
astore 5
start local 5 10: astore 4
start local 4 11: StackMap locals: org.jruby.RubyInteger org.jruby.RubyInteger
StackMap stack:
aload 1
aload 0
invokevirtual org.jruby.RubyRational.getMetaClass:()Lorg/jruby/RubyClass;
aload 4
aload 5
invokestatic org.jruby.RubyRational.newInstance:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
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 this Lorg/jruby/RubyRational;
0 12 1 context Lorg/jruby/runtime/ThreadContext;
0 12 2 other Lorg/jruby/RubyInteger;
0 12 3 sign I
2 4 4 tnum Lorg/jruby/RubyInteger;
7 9 4 tnum Lorg/jruby/RubyInteger;
11 12 4 tnum Lorg/jruby/RubyInteger;
3 4 5 tden Lorg/jruby/RubyInteger;
8 9 5 tden Lorg/jruby/RubyInteger;
10 12 5 tden Lorg/jruby/RubyInteger;
6 8 6 otherNeg Lorg/jruby/RubyInteger;
MethodParameters:
Name Flags
context
other
sign final
public org.jruby.runtime.builtin.IRubyObject op_cmp(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
instanceof org.jruby.RubyFixnum
ifne 1
aload 2
instanceof org.jruby.RubyBignum
ifeq 3
1: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
instanceof org.jruby.RubyFixnum
ifeq 2
aload 0
getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
checkcast org.jruby.RubyFixnum
getfield org.jruby.RubyFixnum.value:J
lconst_1
lcmp
ifne 2
aload 1
aload 0
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
aload 2
invokestatic org.jruby.util.Numeric.f_cmp:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
2: StackMap locals:
StackMap stack:
aload 1
aload 0
aload 1
aload 0
invokevirtual org.jruby.RubyRational.getMetaClass:()Lorg/jruby/RubyClass;
aload 2
invokestatic org.jruby.RubyRational.newRationalBang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyRational;
invokestatic org.jruby.util.Numeric.f_cmp:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
3: StackMap locals:
StackMap stack:
aload 2
instanceof org.jruby.RubyFloat
ifeq 5
4: aload 1
aload 1
aload 0
invokestatic org.jruby.RubyRational.r_to_f:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRational;)Lorg/jruby/runtime/builtin/IRubyObject;
aload 2
invokestatic org.jruby.util.Numeric.f_cmp:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
5: StackMap locals:
StackMap stack:
aload 2
instanceof org.jruby.RubyRational
ifeq 15
6: aload 2
checkcast org.jruby.RubyRational
astore 3
start local 3 7: aload 0
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
instanceof org.jruby.RubyFixnum
ifeq 12
aload 0
getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
instanceof org.jruby.RubyFixnum
ifeq 12
8: aload 3
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
instanceof org.jruby.RubyFixnum
ifeq 12
aload 3
getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
instanceof org.jruby.RubyFixnum
ifeq 12
9: aload 1
aload 0
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
checkcast org.jruby.RubyFixnum
getfield org.jruby.RubyFixnum.value:J
aload 3
getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
checkcast org.jruby.RubyFixnum
getfield org.jruby.RubyFixnum.value:J
invokestatic org.jruby.RubyRational.f_imul:(Lorg/jruby/runtime/ThreadContext;JJ)Lorg/jruby/RubyInteger;
astore 4
start local 4 10: aload 1
aload 3
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
checkcast org.jruby.RubyFixnum
getfield org.jruby.RubyFixnum.value:J
aload 0
getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
checkcast org.jruby.RubyFixnum
getfield org.jruby.RubyFixnum.value:J
invokestatic org.jruby.RubyRational.f_imul:(Lorg/jruby/runtime/ThreadContext;JJ)Lorg/jruby/RubyInteger;
astore 5
start local 5 11: goto 14
end local 5 end local 4 12: StackMap locals: org.jruby.RubyRational
StackMap stack:
aload 1
aload 0
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
aload 3
getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
invokestatic org.jruby.util.Numeric.f_mul:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyInteger;
astore 4
start local 4 13: aload 1
aload 3
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
aload 0
getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
invokestatic org.jruby.util.Numeric.f_mul:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyInteger;
astore 5
start local 5 14: StackMap locals: org.jruby.RubyInteger org.jruby.RubyInteger
StackMap stack:
aload 1
aload 1
aload 4
aload 5
invokestatic org.jruby.util.Numeric.f_sub:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyInteger;
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokestatic org.jruby.RubyFixnum.zero:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
invokestatic org.jruby.util.Numeric.f_cmp:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyFixnum;
areturn
end local 5 end local 4 end local 3 15: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 1
invokestatic org.jruby.RubyRational.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$RationalSites;
getfield org.jruby.runtime.JavaSites$RationalSites.op_cmp:Lorg/jruby/runtime/CallSite;
aload 2
invokevirtual org.jruby.RubyRational.coerceCmp:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/CallSite;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/jruby/RubyRational;
0 16 1 context Lorg/jruby/runtime/ThreadContext;
0 16 2 other Lorg/jruby/runtime/builtin/IRubyObject;
7 15 3 otherRational Lorg/jruby/RubyRational;
10 12 4 num1 Lorg/jruby/RubyInteger;
13 15 4 num1 Lorg/jruby/RubyInteger;
11 12 5 num2 Lorg/jruby/RubyInteger;
14 15 5 num2 Lorg/jruby/RubyInteger;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"<=>"})
MethodParameters:
Name Flags
context
other
public org.jruby.runtime.builtin.IRubyObject op_equal(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
instanceof org.jruby.RubyFixnum
ifne 1
aload 2
instanceof org.jruby.RubyBignum
ifeq 2
1: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
checkcast org.jruby.RubyInteger
invokevirtual org.jruby.RubyRational.op_equal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
2: StackMap locals:
StackMap stack:
aload 2
instanceof org.jruby.RubyFloat
ifeq 4
3: aload 1
aload 1
aload 0
invokestatic org.jruby.RubyRational.r_to_f:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRational;)Lorg/jruby/runtime/builtin/IRubyObject;
aload 2
invokestatic org.jruby.util.Numeric.f_equal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
4: StackMap locals:
StackMap stack:
aload 2
instanceof org.jruby.RubyRational
ifeq 6
5: aload 0
aload 1
aload 2
checkcast org.jruby.RubyRational
invokevirtual org.jruby.RubyRational.op_equal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRational;)Lorg/jruby/RubyBoolean;
areturn
6: StackMap locals:
StackMap stack:
aload 1
aload 2
aload 0
invokestatic org.jruby.util.Numeric.f_equal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/jruby/RubyRational;
0 7 1 context Lorg/jruby/runtime/ThreadContext;
0 7 2 other Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"=="})
MethodParameters:
Name Flags
context
other
public final org.jruby.runtime.builtin.IRubyObject op_equal(org.jruby.runtime.ThreadContext, org.jruby.RubyInteger);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
invokevirtual org.jruby.RubyInteger.isZero:()Z
ifeq 1
aload 1
aload 2
invokevirtual org.jruby.RubyInteger.isZero:()Z
invokestatic org.jruby.RubyBoolean.newBoolean:(Lorg/jruby/runtime/ThreadContext;Z)Lorg/jruby/RubyBoolean;
areturn
1: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
instanceof org.jruby.RubyFixnum
ifeq 2
aload 0
getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
invokevirtual org.jruby.RubyInteger.getLongValue:()J
lconst_1
lcmp
ifeq 3
StackMap locals:
StackMap stack:
2: aload 1
getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
areturn
3: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
aload 2
invokestatic org.jruby.util.Numeric.f_equal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/RubyRational;
0 4 1 context Lorg/jruby/runtime/ThreadContext;
0 4 2 other Lorg/jruby/RubyInteger;
MethodParameters:
Name Flags
context
other
final org.jruby.RubyBoolean op_equal(org.jruby.runtime.ThreadContext, org.jruby.RubyRational);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRational;)Lorg/jruby/RubyBoolean;
flags: (0x0010) ACC_FINAL
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
invokevirtual org.jruby.RubyInteger.isZero:()Z
ifeq 1
aload 1
aload 2
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
invokevirtual org.jruby.RubyInteger.isZero:()Z
invokestatic org.jruby.RubyBoolean.newBoolean:(Lorg/jruby/runtime/ThreadContext;Z)Lorg/jruby/RubyBoolean;
areturn
1: StackMap locals:
StackMap stack:
aload 1
2: aload 1
aload 0
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
aload 2
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
invokestatic org.jruby.util.Numeric.f_equal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/runtime/builtin/IRubyObject;
invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
ifeq 3
aload 1
aload 0
getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
aload 2
getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
invokestatic org.jruby.util.Numeric.f_equal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/runtime/builtin/IRubyObject;
invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
ifeq 3
iconst_1
goto 4
StackMap locals:
StackMap stack: org.jruby.runtime.ThreadContext
3: iconst_0
4: StackMap locals: org.jruby.RubyRational org.jruby.runtime.ThreadContext org.jruby.RubyRational
StackMap stack: org.jruby.runtime.ThreadContext int
invokestatic org.jruby.RubyBoolean.newBoolean:(Lorg/jruby/runtime/ThreadContext;Z)Lorg/jruby/RubyBoolean;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jruby/RubyRational;
0 5 1 context Lorg/jruby/runtime/ThreadContext;
0 5 2 other Lorg/jruby/RubyRational;
MethodParameters:
Name Flags
context
other
public org.jruby.runtime.builtin.IRubyObject eql_p(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
instanceof org.jruby.RubyRational
ifne 1
aload 1
getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
areturn
1: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
checkcast org.jruby.RubyRational
invokevirtual org.jruby.RubyRational.op_equal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRational;)Lorg/jruby/RubyBoolean;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/RubyRational;
0 2 1 context Lorg/jruby/runtime/ThreadContext;
0 2 2 other Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
other
public org.jruby.runtime.builtin.IRubyObject op_coerce(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 3
start local 3 1: aload 2
instanceof org.jruby.RubyFixnum
ifne 2
aload 2
instanceof org.jruby.RubyBignum
ifeq 3
2: StackMap locals: org.jruby.Ruby
StackMap stack:
aload 3
aload 1
aload 0
invokevirtual org.jruby.RubyRational.getMetaClass:()Lorg/jruby/RubyClass;
aload 2
invokestatic org.jruby.RubyRational.newRationalBang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyRational;
aload 0
invokevirtual org.jruby.Ruby.newArray:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
areturn
3: StackMap locals:
StackMap stack:
aload 2
instanceof org.jruby.RubyFloat
ifeq 5
4: aload 3
aload 2
aload 1
aload 0
invokestatic org.jruby.RubyRational.r_to_f:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRational;)Lorg/jruby/runtime/builtin/IRubyObject;
invokevirtual org.jruby.Ruby.newArray:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
areturn
5: StackMap locals:
StackMap stack:
aload 2
instanceof org.jruby.RubyRational
ifeq 7
6: aload 3
aload 2
aload 0
invokevirtual org.jruby.Ruby.newArray:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
areturn
7: StackMap locals:
StackMap stack:
aload 2
instanceof org.jruby.RubyComplex
ifeq 12
8: aload 2
checkcast org.jruby.RubyComplex
astore 4
start local 4 9: aload 4
invokevirtual org.jruby.RubyComplex.getImage:()Lorg/jruby/runtime/builtin/IRubyObject;
invokestatic org.jruby.util.Numeric.k_exact_p:(Lorg/jruby/runtime/builtin/IRubyObject;)Z
ifeq 11
aload 1
aload 4
invokevirtual org.jruby.RubyComplex.getImage:()Lorg/jruby/runtime/builtin/IRubyObject;
invokestatic org.jruby.util.Numeric.f_zero_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Z
ifeq 11
10: aload 3
aload 1
aload 0
invokevirtual org.jruby.RubyRational.getMetaClass:()Lorg/jruby/RubyClass;
aload 4
invokevirtual org.jruby.RubyComplex.getReal:()Lorg/jruby/runtime/builtin/IRubyObject;
invokestatic org.jruby.RubyRational.newRationalBang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyRational;
aload 0
invokevirtual org.jruby.Ruby.newArray:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
areturn
11: StackMap locals: org.jruby.RubyComplex
StackMap stack:
aload 3
aload 2
aload 1
aload 0
invokestatic org.jruby.RubyComplex.newComplexCanonicalize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
invokevirtual org.jruby.Ruby.newArray:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
areturn
end local 4 12: StackMap locals:
StackMap stack:
aload 3
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 2
invokeinterface org.jruby.runtime.builtin.IRubyObject.getMetaClass:()Lorg/jruby/RubyClass;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " can't be coerced into "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual org.jruby.RubyRational.getMetaClass:()Lorg/jruby/RubyClass;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/jruby/RubyRational;
0 13 1 context Lorg/jruby/runtime/ThreadContext;
0 13 2 other Lorg/jruby/runtime/builtin/IRubyObject;
1 13 3 runtime Lorg/jruby/Ruby;
9 12 4 otherComplex Lorg/jruby/RubyComplex;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"coerce"})
MethodParameters:
Name Flags
context
other
public org.jruby.runtime.builtin.IRubyObject idiv(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
invokestatic org.jruby.RubyRational.num2dbl:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)D
dconst_0
dcmpl
ifne 1
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.newZeroDivisionError:()Lorg/jruby/exceptions/RaiseException;
athrow
1: StackMap locals:
StackMap stack:
aload 1
aload 1
aload 0
aload 2
invokestatic org.jruby.util.Numeric.f_div:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
invokestatic org.jruby.util.Numeric.f_floor:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/RubyRational;
0 2 1 context Lorg/jruby/runtime/ThreadContext;
0 2 2 other Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
other
public org.jruby.runtime.builtin.IRubyObject op_mod(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
invokestatic org.jruby.RubyRational.num2dbl:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)D
dconst_0
dcmpl
ifne 1
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.newZeroDivisionError:()Lorg/jruby/exceptions/RaiseException;
athrow
1: StackMap locals:
StackMap stack:
aload 1
aload 0
aload 1
aload 2
aload 1
aload 1
aload 0
aload 2
invokestatic org.jruby.util.Numeric.f_div:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
invokestatic org.jruby.util.Numeric.f_floor:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
invokestatic org.jruby.util.Numeric.f_mul:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
invokestatic org.jruby.util.Numeric.f_sub:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/RubyRational;
0 2 1 context Lorg/jruby/runtime/ThreadContext;
0 2 2 other Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
other
public org.jruby.runtime.builtin.IRubyObject op_mod19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual org.jruby.RubyRational.op_mod:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyRational;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 other Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
context
other
public org.jruby.runtime.builtin.IRubyObject op_divmod(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
invokestatic org.jruby.RubyRational.num2dbl:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)D
dconst_0
dcmpl
ifne 1
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.newZeroDivisionError:()Lorg/jruby/exceptions/RaiseException;
athrow
1: StackMap locals:
StackMap stack:
aload 1
aload 1
aload 0
aload 2
invokestatic org.jruby.util.Numeric.f_div:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
invokestatic org.jruby.util.Numeric.f_floor:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 3
start local 3 2: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 3
aload 1
aload 0
aload 1
aload 2
aload 3
invokestatic org.jruby.util.Numeric.f_mul:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
invokestatic org.jruby.util.Numeric.f_sub:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
invokevirtual org.jruby.Ruby.newArray:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/RubyRational;
0 3 1 context Lorg/jruby/runtime/ThreadContext;
0 3 2 other Lorg/jruby/runtime/builtin/IRubyObject;
2 3 3 val Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"divmod"})
MethodParameters:
Name Flags
context
other
public org.jruby.runtime.builtin.IRubyObject op_divmod19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual org.jruby.RubyRational.op_divmod:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyRational;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 other Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
context
other
public org.jruby.runtime.builtin.IRubyObject op_rem(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 1
aload 0
aload 2
invokestatic org.jruby.util.Numeric.f_div:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
invokestatic org.jruby.util.Numeric.f_truncate:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 3
start local 3 1: aload 1
aload 0
aload 1
aload 2
aload 3
invokestatic org.jruby.util.Numeric.f_mul:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
invokestatic org.jruby.util.Numeric.f_sub:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/RubyRational;
0 2 1 context Lorg/jruby/runtime/ThreadContext;
0 2 2 other Lorg/jruby/runtime/builtin/IRubyObject;
1 2 3 val Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"remainder"})
MethodParameters:
Name Flags
context
other
public org.jruby.runtime.builtin.IRubyObject op_abs(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokestatic org.jruby.util.Numeric.f_negative_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Z
ifne 1
aload 0
areturn
1: StackMap locals:
StackMap stack:
aload 1
aload 0
invokestatic org.jruby.util.Numeric.f_negate:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/RubyRational;
0 2 1 context Lorg/jruby/runtime/ThreadContext;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"abs"})
MethodParameters:
Name Flags
context
public org.jruby.runtime.builtin.IRubyObject floor(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 1
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
getstatic java.math.RoundingMode.FLOOR:Ljava/math/RoundingMode;
invokevirtual org.jruby.RubyRational.roundCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/math/RoundingMode;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyRational;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"floor"})
MethodParameters:
Name Flags
context
public org.jruby.runtime.builtin.IRubyObject floor(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
getstatic java.math.RoundingMode.FLOOR:Ljava/math/RoundingMode;
invokevirtual org.jruby.RubyRational.roundCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/math/RoundingMode;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyRational;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 n Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"floor"})
MethodParameters:
Name Flags
context
n
private org.jruby.runtime.builtin.IRubyObject mriFloor(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
aload 1
aload 0
getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
invokevirtual org.jruby.RubyInteger.idiv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyRational;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
MethodParameters:
Name Flags
context
public org.jruby.runtime.builtin.IRubyObject ceil(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 1
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
getstatic java.math.RoundingMode.CEILING:Ljava/math/RoundingMode;
invokevirtual org.jruby.RubyRational.roundCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/math/RoundingMode;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyRational;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"ceil"})
MethodParameters:
Name Flags
context
public org.jruby.runtime.builtin.IRubyObject ceil(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
getstatic java.math.RoundingMode.CEILING:Ljava/math/RoundingMode;
invokevirtual org.jruby.RubyRational.roundCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/math/RoundingMode;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyRational;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 n Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"ceil"})
MethodParameters:
Name Flags
context
n
private org.jruby.runtime.builtin.IRubyObject mriCeil(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
aload 1
invokevirtual org.jruby.RubyInteger.op_uminus:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyInteger
aload 1
aload 0
getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
invokevirtual org.jruby.RubyInteger.idiv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyInteger
aload 1
invokevirtual org.jruby.RubyInteger.op_uminus:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyRational;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
MethodParameters:
Name Flags
context
public org.jruby.RubyInteger convertToInteger();
descriptor: ()Lorg/jruby/RubyInteger;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield org.jruby.RubyRational.metaClass:Lorg/jruby/RubyClass;
getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
invokevirtual org.jruby.RubyRational.mriTruncate:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyInteger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyRational;
public org.jruby.runtime.builtin.IRubyObject to_i(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.jruby.RubyRational.mriTruncate:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyInteger;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyRational;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"to_i"})
MethodParameters:
Name Flags
context
public long getLongValue();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.RubyRational.convertToInteger:()Lorg/jruby/RubyInteger;
invokevirtual org.jruby.RubyInteger.getLongValue:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyRational;
public java.math.BigInteger getBigIntegerValue();
descriptor: ()Ljava/math/BigInteger;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.RubyRational.convertToInteger:()Lorg/jruby/RubyInteger;
invokevirtual org.jruby.RubyInteger.getBigIntegerValue:()Ljava/math/BigInteger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyRational;
public org.jruby.runtime.builtin.IRubyObject truncate(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 1
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
getstatic java.math.RoundingMode.UNNECESSARY:Ljava/math/RoundingMode;
invokevirtual org.jruby.RubyRational.roundCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/math/RoundingMode;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyRational;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"truncate"})
MethodParameters:
Name Flags
context
public org.jruby.runtime.builtin.IRubyObject truncate(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
getstatic java.math.RoundingMode.UNNECESSARY:Ljava/math/RoundingMode;
invokevirtual org.jruby.RubyRational.roundCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/math/RoundingMode;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyRational;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 n Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"truncate"})
MethodParameters:
Name Flags
context
n
private org.jruby.RubyInteger mriTruncate(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyInteger;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
invokevirtual org.jruby.RubyInteger.isNegative:()Z
ifeq 2
1: aload 0
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
invokevirtual org.jruby.RubyInteger.negate:()Lorg/jruby/RubyInteger;
aload 1
aload 0
getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
invokevirtual org.jruby.RubyInteger.idiv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyInteger
invokevirtual org.jruby.RubyInteger.negate:()Lorg/jruby/RubyInteger;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
aload 1
aload 0
getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
invokevirtual org.jruby.RubyInteger.idiv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyInteger
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/RubyRational;
0 3 1 context Lorg/jruby/runtime/ThreadContext;
MethodParameters:
Name Flags
context
public org.jruby.runtime.builtin.IRubyObject round(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 1
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
getstatic java.math.RoundingMode.HALF_UP:Ljava/math/RoundingMode;
invokevirtual org.jruby.RubyRational.roundCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/math/RoundingMode;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyRational;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"round"})
MethodParameters:
Name Flags
context
public org.jruby.runtime.builtin.IRubyObject round(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 2
invokestatic org.jruby.ast.util.ArgsUtil.getOptionsArg:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 3
start local 3 1: aload 3
aload 1
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
if_acmpeq 2
aload 1
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
astore 2
2: StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 1
aload 3
invokestatic org.jruby.RubyNumeric.getRoundingMode:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/math/RoundingMode;
astore 4
start local 4 3: aload 0
aload 1
aload 2
aload 4
invokevirtual org.jruby.RubyRational.roundCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/math/RoundingMode;)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 4 0 this Lorg/jruby/RubyRational;
0 4 1 context Lorg/jruby/runtime/ThreadContext;
0 4 2 n Lorg/jruby/runtime/builtin/IRubyObject;
1 4 3 opts Lorg/jruby/runtime/builtin/IRubyObject;
3 4 4 mode Ljava/math/RoundingMode;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"round"})
MethodParameters:
Name Flags
context
n
public org.jruby.runtime.builtin.IRubyObject round(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 4
start local 4 1: aload 4
aload 3
invokestatic org.jruby.ast.util.ArgsUtil.getOptionsArg:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 3
2: aload 3
invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
ifne 4
3: aload 1
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
astore 2
4: StackMap locals: org.jruby.Ruby
StackMap stack:
aload 1
aload 3
invokestatic org.jruby.RubyNumeric.getRoundingMode:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/math/RoundingMode;
astore 5
start local 5 5: aload 0
aload 1
aload 2
aload 5
invokevirtual org.jruby.RubyRational.roundCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/math/RoundingMode;)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 6 0 this Lorg/jruby/RubyRational;
0 6 1 context Lorg/jruby/runtime/ThreadContext;
0 6 2 n Lorg/jruby/runtime/builtin/IRubyObject;
0 6 3 opts Lorg/jruby/runtime/builtin/IRubyObject;
1 6 4 runtime Lorg/jruby/Ruby;
5 6 5 mode Ljava/math/RoundingMode;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"round"})
MethodParameters:
Name Flags
context
n
opts
private org.jruby.runtime.builtin.IRubyObject roundCommon(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, java.math.RoundingMode);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/math/RoundingMode;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
aload 1
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
if_acmpne 2
1: aload 0
aload 1
aload 3
invokevirtual org.jruby.RubyRational.doRound:(Lorg/jruby/runtime/ThreadContext;Ljava/math/RoundingMode;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
2: StackMap locals:
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 4
start local 4 3: aload 2
instanceof org.jruby.RubyInteger
ifne 5
4: aload 4
aload 2
aload 4
invokevirtual org.jruby.Ruby.getInteger:()Lorg/jruby/RubyClass;
invokevirtual org.jruby.Ruby.newTypeError:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyClass;)Lorg/jruby/exceptions/RaiseException;
athrow
5: StackMap locals: org.jruby.Ruby
StackMap stack:
aload 2
checkcast org.jruby.RubyInteger
invokevirtual org.jruby.RubyInteger.signum:()I
istore 5
start local 5 6: aload 1
aload 4
bipush 10
invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
aload 2
checkcast org.jruby.RubyInteger
invokestatic org.jruby.util.Numeric.f_expt:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
astore 6
start local 6 7: iload 5
iflt 10
8: aload 0
aload 1
aload 6
checkcast org.jruby.RubyInteger
invokevirtual org.jruby.RubyRational.op_mul:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 7
start local 7 9: goto 11
end local 7 10: StackMap locals: int org.jruby.RubyNumeric
StackMap stack:
aload 0
aload 1
aload 6
invokevirtual org.jruby.RubyRational.op_mul:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 7
start local 7 11: StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 7
instanceof org.jruby.RubyFloat
ifeq 14
12: iload 5
ifge 13
aload 4
invokestatic org.jruby.RubyFixnum.zero:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
areturn
13: StackMap locals:
StackMap stack:
aload 0
areturn
14: StackMap locals:
StackMap stack:
aload 7
instanceof org.jruby.RubyRational
ifne 16
15: aload 1
aload 0
invokevirtual org.jruby.RubyRational.getMetaClass:()Lorg/jruby/RubyClass;
aload 7
invokestatic org.jruby.RubyRational.newRationalBang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyRational;
astore 7
16: StackMap locals:
StackMap stack:
aload 7
checkcast org.jruby.RubyRational
aload 1
aload 3
invokevirtual org.jruby.RubyRational.doRound:(Lorg/jruby/runtime/ThreadContext;Ljava/math/RoundingMode;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 7
17: aload 1
aload 0
invokevirtual org.jruby.RubyRational.getMetaClass:()Lorg/jruby/RubyClass;
aload 7
checkcast org.jruby.RubyInteger
invokestatic org.jruby.RubyRational.newRationalBang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyRational;
astore 7
18: aload 7
checkcast org.jruby.RubyRational
aload 1
aload 6
invokevirtual org.jruby.RubyRational.op_div:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 7
19: aload 7
instanceof org.jruby.RubyRational
ifeq 21
aload 1
aload 2
checkcast org.jruby.RubyInteger
lconst_1
invokestatic org.jruby.util.Numeric.f_cmp:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;J)Lorg/jruby/RubyFixnum;
getfield org.jruby.RubyFixnum.value:J
lconst_0
lcmp
ifge 21
20: aload 7
checkcast org.jruby.RubyRational
aload 1
invokevirtual org.jruby.RubyRational.truncate:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 7
21: StackMap locals:
StackMap stack:
aload 7
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 22 0 this Lorg/jruby/RubyRational;
0 22 1 context Lorg/jruby/runtime/ThreadContext;
0 22 2 n Lorg/jruby/runtime/builtin/IRubyObject;
0 22 3 mode Ljava/math/RoundingMode;
3 22 4 runtime Lorg/jruby/Ruby;
6 22 5 nsign I
7 22 6 b Lorg/jruby/RubyNumeric;
9 10 7 s Lorg/jruby/runtime/builtin/IRubyObject;
11 22 7 s Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
n final
mode
private org.jruby.runtime.builtin.IRubyObject doRound(org.jruby.runtime.ThreadContext, java.math.RoundingMode);
descriptor: (Lorg/jruby/runtime/ThreadContext;Ljava/math/RoundingMode;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: invokestatic org.jruby.RubyRational.$SWITCH_TABLE$java$math$RoundingMode:()[I
aload 2
invokevirtual java.math.RoundingMode.ordinal:()I
iaload
tableswitch { // 3 - 8
3: 5
4: 4
5: 1
6: 3
7: 2
8: 6
default: 7
}
1: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.jruby.RubyRational.roundHalfUp:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyInteger;
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.jruby.RubyRational.roundHalfEven:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyInteger;
areturn
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.jruby.RubyRational.roundHalfDown:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyInteger;
areturn
4: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.jruby.RubyRational.mriFloor:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
5: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.jruby.RubyRational.mriCeil:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
6: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.jruby.RubyRational.mriTruncate:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyInteger;
areturn
7: StackMap locals:
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
new java.lang.StringBuilder
dup
ldc "BUG: invalid rounding mode: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newRuntimeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/jruby/RubyRational;
0 8 1 context Lorg/jruby/runtime/ThreadContext;
0 8 2 mode Ljava/math/RoundingMode;
MethodParameters:
Name Flags
context
mode
private org.jruby.RubyInteger roundHalfDown(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyInteger;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
astore 2
start local 2 1: aload 0
getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
astore 3
start local 3 2: aload 2
invokevirtual org.jruby.RubyInteger.isNegative:()Z
istore 4
start local 4 3: iload 4
ifeq 5
4: aload 2
aload 1
invokevirtual org.jruby.RubyInteger.op_uminus:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyInteger
astore 2
5: StackMap locals: org.jruby.RubyInteger org.jruby.RubyInteger int
StackMap stack:
aload 2
aload 1
ldc 2
invokevirtual org.jruby.RubyInteger.op_mul:(Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyInteger
aload 1
aload 3
invokevirtual org.jruby.RubyInteger.op_plus:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyInteger
astore 2
6: aload 2
aload 1
lconst_1
invokevirtual org.jruby.RubyInteger.op_minus:(Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyInteger
astore 2
7: aload 3
aload 1
ldc 2
invokevirtual org.jruby.RubyInteger.op_mul:(Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyInteger
astore 3
8: aload 2
aload 1
aload 3
invokevirtual org.jruby.RubyInteger.idiv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyInteger
astore 2
9: iload 4
ifeq 11
10: aload 2
aload 1
invokevirtual org.jruby.RubyInteger.op_uminus:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyInteger
astore 2
11: StackMap locals:
StackMap stack:
aload 2
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/jruby/RubyRational;
0 12 1 context Lorg/jruby/runtime/ThreadContext;
1 12 2 num Lorg/jruby/RubyInteger;
2 12 3 den Lorg/jruby/RubyInteger;
3 12 4 neg Z
MethodParameters:
Name Flags
context
private org.jruby.RubyInteger roundHalfEven(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyInteger;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
astore 2
start local 2 1: aload 0
getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
astore 3
start local 3 2: aload 2
invokevirtual org.jruby.RubyInteger.isNegative:()Z
istore 5
start local 5 3: iload 5
ifeq 5
4: aload 2
aload 1
invokevirtual org.jruby.RubyInteger.op_uminus:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyInteger
astore 2
5: StackMap locals: org.jruby.RubyRational org.jruby.runtime.ThreadContext org.jruby.RubyInteger org.jruby.RubyInteger top int
StackMap stack:
aload 2
aload 1
ldc 2
invokevirtual org.jruby.RubyInteger.op_mul:(Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyInteger
aload 1
aload 3
invokevirtual org.jruby.RubyInteger.op_plus:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyInteger
astore 2
6: aload 3
aload 1
ldc 2
invokevirtual org.jruby.RubyInteger.op_mul:(Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyInteger
astore 3
7: aload 2
aload 1
aload 3
invokevirtual org.jruby.RubyInteger.divmod:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyArray
astore 4
start local 4 8: aload 4
lconst_0
invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyInteger
astore 2
9: aload 4
lconst_1
invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyInteger
invokevirtual org.jruby.RubyInteger.isZero:()Z
ifeq 11
10: aload 2
aload 1
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
ldc -2
invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
invokevirtual org.jruby.RubyInteger.op_and:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyInteger
astore 2
11: StackMap locals: org.jruby.RubyRational org.jruby.runtime.ThreadContext org.jruby.RubyInteger org.jruby.RubyInteger org.jruby.RubyArray int
StackMap stack:
iload 5
ifeq 13
12: aload 2
aload 1
invokevirtual org.jruby.RubyInteger.op_uminus:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyInteger
astore 2
13: StackMap locals:
StackMap stack:
aload 2
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 14 0 this Lorg/jruby/RubyRational;
0 14 1 context Lorg/jruby/runtime/ThreadContext;
1 14 2 num Lorg/jruby/RubyInteger;
2 14 3 den Lorg/jruby/RubyInteger;
8 14 4 qr Lorg/jruby/RubyArray;
3 14 5 neg Z
MethodParameters:
Name Flags
context
private org.jruby.RubyInteger roundHalfUp(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyInteger;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
astore 2
start local 2 1: aload 0
getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
astore 3
start local 3 2: aload 2
invokevirtual org.jruby.RubyInteger.isNegative:()Z
istore 4
start local 4 3: iload 4
ifeq 5
4: aload 2
aload 1
invokevirtual org.jruby.RubyInteger.op_uminus:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyInteger
astore 2
5: StackMap locals: org.jruby.RubyInteger org.jruby.RubyInteger int
StackMap stack:
aload 2
aload 1
ldc 2
invokevirtual org.jruby.RubyInteger.op_mul:(Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyInteger
aload 1
aload 3
invokevirtual org.jruby.RubyInteger.op_plus:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyInteger
astore 2
6: aload 3
aload 1
ldc 2
invokevirtual org.jruby.RubyInteger.op_mul:(Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyInteger
astore 3
7: aload 2
aload 1
aload 3
invokevirtual org.jruby.RubyInteger.idiv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyInteger
astore 2
8: iload 4
ifeq 10
9: aload 2
aload 1
invokevirtual org.jruby.RubyInteger.op_uminus:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyInteger
astore 2
10: StackMap locals:
StackMap stack:
aload 2
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/jruby/RubyRational;
0 11 1 context Lorg/jruby/runtime/ThreadContext;
1 11 2 num Lorg/jruby/RubyInteger;
2 11 3 den Lorg/jruby/RubyInteger;
3 11 4 neg Z
MethodParameters:
Name Flags
context
public org.jruby.runtime.builtin.IRubyObject to_f(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 0
aload 1
invokevirtual org.jruby.RubyRational.getDoubleValue:(Lorg/jruby/runtime/ThreadContext;)D
invokevirtual org.jruby.Ruby.newFloat:(D)Lorg/jruby/RubyFloat;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyRational;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"to_f"})
MethodParameters:
Name Flags
context
public double getDoubleValue();
descriptor: ()D
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
invokevirtual org.jruby.RubyRational.getRuntime:()Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
invokevirtual org.jruby.RubyRational.getDoubleValue:(Lorg/jruby/runtime/ThreadContext;)D
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyRational;
public double getDoubleValue(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)D
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=17, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
invokestatic org.jruby.util.Numeric.f_zero_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;)Z
ifeq 1
dconst_0
dreturn
1: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
astore 2
start local 2 2: aload 0
getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
astore 3
start local 3 3: iconst_0
istore 4
start local 4 4: aload 1
aload 2
invokestatic org.jruby.util.Numeric.f_negative_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;)Z
ifeq 7
5: aload 1
aload 2
invokestatic org.jruby.util.Numeric.f_negate:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyInteger;
astore 2
6: iconst_1
istore 4
7: StackMap locals: org.jruby.RubyInteger org.jruby.RubyInteger int
StackMap stack:
aload 1
aload 2
invokestatic org.jruby.util.Numeric.i_ilog2:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;)J
lstore 5
start local 5 8: aload 1
aload 3
invokestatic org.jruby.util.Numeric.i_ilog2:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;)J
lstore 7
start local 7 9: lconst_0
lstore 9
start local 9 10: lload 5
getstatic org.jruby.RubyRational.ML:J
lcmp
ifle 13
11: lload 5
getstatic org.jruby.RubyRational.ML:J
lsub
lstore 9
12: aload 2
aload 1
lload 9
invokevirtual org.jruby.RubyInteger.op_rshift:(Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/RubyInteger;
astore 2
13: StackMap locals: long long long
StackMap stack:
lconst_0
lstore 11
start local 11 14: lload 7
getstatic org.jruby.RubyRational.ML:J
lcmp
ifle 17
15: lload 7
getstatic org.jruby.RubyRational.ML:J
lsub
lstore 11
16: aload 3
aload 1
lload 11
invokevirtual org.jruby.RubyInteger.op_rshift:(Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/RubyInteger;
astore 3
17: StackMap locals: long
StackMap stack:
lload 9
lload 11
lsub
lstore 13
start local 13 18: lload 13
ldc 1023
lcmp
ifgt 19
lload 13
ldc -1022
lcmp
ifge 23
19: StackMap locals: long
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getWarnings:()Lorg/jruby/common/RubyWarnings;
getstatic org.jruby.common.IRubyWarnings$ID.FLOAT_OUT_OF_RANGE:Lorg/jruby/common/IRubyWarnings$ID;
ldc "out of Float range"
invokevirtual org.jruby.common.RubyWarnings.warn:(Lorg/jruby/common/IRubyWarnings$ID;Ljava/lang/String;)V
20: lload 13
lconst_0
lcmp
ifle 21
ldc 1.7976931348623157E308
goto 22
StackMap locals:
StackMap stack:
21: dconst_0
StackMap locals:
StackMap stack: double
22: dreturn
23: StackMap locals:
StackMap stack:
aload 1
aload 2
invokestatic org.jruby.RubyNumeric.num2dbl:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)D
aload 1
aload 3
invokestatic org.jruby.RubyNumeric.num2dbl:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)D
ddiv
dstore 15
start local 15 24: iload 4
ifeq 25
dload 15
dneg
dstore 15
25: StackMap locals: double
StackMap stack:
dload 15
lload 13
invokestatic org.jruby.util.Numeric.ldexp:(DJ)D
dstore 15
26: dload 15
invokestatic java.lang.Double.isInfinite:(D)Z
ifne 27
dload 15
invokestatic java.lang.Double.isNaN:(D)Z
ifeq 28
27: StackMap locals:
StackMap stack:
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getWarnings:()Lorg/jruby/common/RubyWarnings;
getstatic org.jruby.common.IRubyWarnings$ID.FLOAT_OUT_OF_RANGE:Lorg/jruby/common/IRubyWarnings$ID;
ldc "out of Float range"
invokevirtual org.jruby.common.RubyWarnings.warn:(Lorg/jruby/common/IRubyWarnings$ID;Ljava/lang/String;)V
28: StackMap locals:
StackMap stack:
dload 15
dreturn
end local 15 end local 13 end local 11 end local 9 end local 7 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 29 0 this Lorg/jruby/RubyRational;
0 29 1 context Lorg/jruby/runtime/ThreadContext;
2 29 2 myNum Lorg/jruby/RubyInteger;
3 29 3 myDen Lorg/jruby/RubyInteger;
4 29 4 minus Z
8 29 5 nl J
9 29 7 dl J
10 29 9 ne J
14 29 11 de J
18 29 13 e J
24 29 15 f D
MethodParameters:
Name Flags
context
public org.jruby.runtime.builtin.IRubyObject to_r(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyRational;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"to_r"})
MethodParameters:
Name Flags
context
public org.jruby.runtime.builtin.IRubyObject rationalize(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 2
arraylength
ifne 1
aload 0
aload 1
invokevirtual org.jruby.RubyRational.to_r:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
1: StackMap locals:
StackMap stack:
aload 1
aload 0
invokestatic org.jruby.util.Numeric.f_negative_p:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Z
ifeq 3
2: aload 1
aload 1
aload 0
invokestatic org.jruby.util.Numeric.f_abs:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyRational
aload 1
aload 2
invokevirtual org.jruby.RubyRational.rationalize:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
invokestatic org.jruby.util.Numeric.f_negate:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
3: StackMap locals:
StackMap stack:
aload 1
aload 2
iconst_0
aaload
invokestatic org.jruby.util.Numeric.f_abs:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 5
start local 5 4: aload 1
aload 0
aload 5
invokestatic org.jruby.util.Numeric.f_sub:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 3
start local 3 5: aload 1
aload 0
aload 5
invokestatic org.jruby.util.Numeric.f_add:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 4
start local 4 6: aload 1
aload 3
aload 4
invokestatic org.jruby.util.Numeric.f_equal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
ifeq 7
aload 0
areturn
7: StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 1
aload 3
aload 4
invokestatic org.jruby.util.Numeric.nurat_rationalize_internal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)[Lorg/jruby/runtime/builtin/IRubyObject;
astore 6
start local 6 8: aload 1
aload 0
getfield org.jruby.RubyRational.metaClass:Lorg/jruby/RubyClass;
aload 6
iconst_0
aaload
checkcast org.jruby.RubyInteger
aload 6
iconst_1
aaload
checkcast org.jruby.RubyInteger
invokestatic org.jruby.RubyRational.newInstance:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyClass;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
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 this Lorg/jruby/RubyRational;
0 9 1 context Lorg/jruby/runtime/ThreadContext;
0 9 2 args [Lorg/jruby/runtime/builtin/IRubyObject;
5 9 3 a Lorg/jruby/runtime/builtin/IRubyObject;
6 9 4 b Lorg/jruby/runtime/builtin/IRubyObject;
4 9 5 eps Lorg/jruby/runtime/builtin/IRubyObject;
8 9 6 ans [Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"rationalize"}, optional = 1)
MethodParameters:
Name Flags
context
args
public org.jruby.runtime.builtin.IRubyObject hash(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 1
aload 0
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
getstatic org.jruby.runtime.invokedynamic.MethodNames.HASH:Lorg/jruby/runtime/invokedynamic/MethodNames;
invokestatic org.jruby.runtime.Helpers.invokedynamic:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/invokedynamic/MethodNames;)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyInteger
aload 1
aload 0
getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
getstatic org.jruby.runtime.invokedynamic.MethodNames.HASH:Lorg/jruby/runtime/invokedynamic/MethodNames;
invokestatic org.jruby.runtime.Helpers.invokedynamic:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/invokedynamic/MethodNames;)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyInteger
invokestatic org.jruby.util.Numeric.f_xor:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyRational;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"hash"})
MethodParameters:
Name Flags
context
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
invokevirtual org.jruby.RubyInteger.hashCode:()I
aload 0
getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
invokevirtual org.jruby.RubyInteger.hashCode:()I
ixor
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyRational;
public org.jruby.runtime.builtin.IRubyObject to_s();
descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
invokevirtual org.jruby.RubyRational.getRuntime:()Lorg/jruby/Ruby;
invokevirtual org.jruby.RubyRational.to_s:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyRational;
public org.jruby.RubyString to_s(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.RubyRational.to_s:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyRational;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"to_s"})
MethodParameters:
Name Flags
context
private org.jruby.RubyString to_s(org.jruby.Ruby);
descriptor: (Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
new org.jruby.util.ByteList
dup
bipush 10
invokespecial org.jruby.util.ByteList.<init>:(I)V
getstatic org.jcodings.specific.USASCIIEncoding.INSTANCE:Lorg/jcodings/specific/USASCIIEncoding;
invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Lorg/jcodings/Encoding;)Lorg/jruby/RubyString;
astore 2
start local 2 1: aload 2
aload 0
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
invokevirtual org.jruby.RubyInteger.to_s:()Lorg/jruby/RubyString;
invokevirtual org.jruby.RubyString.append:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
pop
2: aload 2
bipush 47
invokevirtual org.jruby.RubyString.cat:(B)Lorg/jruby/RubyString;
pop
3: aload 2
aload 0
getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
invokevirtual org.jruby.RubyInteger.to_s:()Lorg/jruby/RubyString;
invokevirtual org.jruby.RubyString.append:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
pop
4: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jruby/RubyRational;
0 5 1 runtime Lorg/jruby/Ruby;
1 5 2 str Lorg/jruby/RubyString;
MethodParameters:
Name Flags
runtime final
public org.jruby.runtime.builtin.IRubyObject inspect();
descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
invokevirtual org.jruby.RubyRational.getRuntime:()Lorg/jruby/Ruby;
invokevirtual org.jruby.RubyRational.inspectImpl:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyRational;
public org.jruby.RubyString inspect(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.RubyRational.inspectImpl:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyRational;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"inspect"})
MethodParameters:
Name Flags
context
private org.jruby.RubyString inspectImpl(org.jruby.Ruby);
descriptor: (Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
new org.jruby.util.ByteList
dup
bipush 12
invokespecial org.jruby.util.ByteList.<init>:(I)V
getstatic org.jcodings.specific.USASCIIEncoding.INSTANCE:Lorg/jcodings/specific/USASCIIEncoding;
invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Lorg/jcodings/Encoding;)Lorg/jruby/RubyString;
astore 2
start local 2 1: aload 2
bipush 40
invokevirtual org.jruby.RubyString.cat:(B)Lorg/jruby/RubyString;
pop
2: aload 2
aload 0
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
invokevirtual org.jruby.RubyInteger.inspect:()Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyString
invokevirtual org.jruby.RubyString.append:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
pop
3: aload 2
bipush 47
invokevirtual org.jruby.RubyString.cat:(B)Lorg/jruby/RubyString;
pop
4: aload 2
aload 0
getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
invokevirtual org.jruby.RubyInteger.inspect:()Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyString
invokevirtual org.jruby.RubyString.append:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
pop
5: aload 2
bipush 41
invokevirtual org.jruby.RubyString.cat:(B)Lorg/jruby/RubyString;
pop
6: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/jruby/RubyRational;
0 7 1 runtime Lorg/jruby/Ruby;
1 7 2 str Lorg/jruby/RubyString;
MethodParameters:
Name Flags
runtime
public org.jruby.runtime.builtin.IRubyObject marshal_dump(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 0
getfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
aload 0
getfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
invokevirtual org.jruby.Ruby.newArray:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
astore 2
start local 2 1: aload 0
invokevirtual org.jruby.RubyRational.hasVariables:()Z
ifeq 2
aload 2
aload 0
invokevirtual org.jruby.RubyArray.syncVariables:(Lorg/jruby/runtime/builtin/IRubyObject;)V
2: StackMap locals: org.jruby.RubyArray
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/RubyRational;
0 3 1 context Lorg/jruby/runtime/ThreadContext;
1 3 2 dump Lorg/jruby/RubyArray;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"marshal_dump"})
MethodParameters:
Name Flags
context
public org.jruby.runtime.builtin.IRubyObject marshal_load(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToArray:()Lorg/jruby/RubyArray;
astore 3
start local 3 1: aload 3
invokevirtual org.jruby.RubyArray.size:()I
ifle 2
aload 3
iconst_0
invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
goto 3
StackMap locals: org.jruby.RubyArray
StackMap stack:
2: aload 1
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
StackMap locals:
StackMap stack: org.jruby.runtime.builtin.IRubyObject
3: astore 4
start local 4 4: aload 3
invokevirtual org.jruby.RubyArray.size:()I
iconst_1
if_icmple 5
aload 3
iconst_1
invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
goto 6
StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
5: aload 1
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
StackMap locals:
StackMap stack: org.jruby.runtime.builtin.IRubyObject
6: astore 5
start local 5 7: aload 5
aload 1
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
if_acmpeq 10
aload 1
aload 5
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToInteger:()Lorg/jruby/RubyInteger;
invokestatic org.jruby.RubyRational.canonicalizeShouldNegate:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;)Z
ifeq 10
8: aload 1
aload 4
invokestatic org.jruby.util.Numeric.f_negate:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 4
9: aload 1
aload 5
invokestatic org.jruby.util.Numeric.f_negate:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 5
10: StackMap locals: org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 0
aload 4
checkcast org.jruby.RubyInteger
putfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
11: aload 0
aload 5
checkcast org.jruby.RubyInteger
putfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
12: aload 3
invokevirtual org.jruby.RubyArray.hasVariables:()Z
ifeq 13
aload 0
aload 3
invokevirtual org.jruby.RubyRational.syncVariables:(Lorg/jruby/runtime/builtin/IRubyObject;)V
13: StackMap locals:
StackMap stack:
aload 0
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 14 0 this Lorg/jruby/RubyRational;
0 14 1 context Lorg/jruby/runtime/ThreadContext;
0 14 2 arg Lorg/jruby/runtime/builtin/IRubyObject;
1 14 3 load Lorg/jruby/RubyArray;
4 14 4 num Lorg/jruby/runtime/builtin/IRubyObject;
7 14 5 den Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyMethod(name = {"marshal_load"})
MethodParameters:
Name Flags
context
arg
static org.jruby.runtime.builtin.IRubyObject[] str_to_r_internal(org.jruby.runtime.ThreadContext, org.jruby.RubyString);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;)[Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=22, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
astore 2
start local 2 1: aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
astore 3
start local 3 2: aload 1
invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
astore 4
start local 4 3: aload 4
invokevirtual org.jruby.util.ByteList.getRealSize:()I
ifne 4
iconst_2
anewarray org.jruby.runtime.builtin.IRubyObject
dup
iconst_0
aload 3
aastore
dup
iconst_1
aload 1
aastore
areturn
4: StackMap locals: org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.util.ByteList
StackMap stack:
aload 2
getstatic org.jruby.util.Numeric$RationalPatterns.rat_pat:Lorg/joni/Regex;
invokestatic org.jruby.RubyRegexp.newDummyRegexp:(Lorg/jruby/Ruby;Lorg/joni/Regex;)Lorg/jruby/RubyRegexp;
aload 0
aload 1
iconst_0
invokevirtual org.jruby.RubyRegexp.match_m:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jruby/runtime/builtin/IRubyObject;
astore 5
start local 5 5: aload 5
aload 3
if_acmpeq 44
6: aload 5
checkcast org.jruby.RubyMatchData
astore 6
start local 6 7: aload 6
iconst_1
invokevirtual org.jruby.RubyMatchData.at:(I)Lorg/jruby/runtime/builtin/IRubyObject;
astore 7
start local 7 8: aload 6
iconst_2
invokevirtual org.jruby.RubyMatchData.at:(I)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyString
astore 8
start local 8 9: aload 6
iconst_3
invokevirtual org.jruby.RubyMatchData.at:(I)Lorg/jruby/runtime/builtin/IRubyObject;
astore 9
start local 9 10: aload 6
aload 0
invokevirtual org.jruby.RubyMatchData.post_match:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 10
start local 10 11: aload 8
aload 2
getstatic org.jruby.util.Numeric$RationalPatterns.an_e_pat:Lorg/joni/Regex;
invokestatic org.jruby.RubyRegexp.newDummyRegexp:(Lorg/jruby/Ruby;Lorg/joni/Regex;)Lorg/jruby/RubyRegexp;
aload 0
iconst_0
invokevirtual org.jruby.RubyString.split:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/ThreadContext;Z)Lorg/jruby/RubyArray;
astore 11
start local 11 12: aload 11
iconst_0
invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyString
astore 12
start local 12 13: aload 11
invokevirtual org.jruby.RubyArray.size:()I
iconst_2
if_icmpeq 14
aload 3
goto 15
StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyString org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.util.ByteList org.jruby.runtime.builtin.IRubyObject org.jruby.RubyMatchData org.jruby.runtime.builtin.IRubyObject org.jruby.RubyString org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.RubyArray org.jruby.RubyString
StackMap stack:
14: aload 11
iconst_1
invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
StackMap locals:
StackMap stack: org.jruby.runtime.builtin.IRubyObject
15: astore 13
start local 13 16: aload 12
aload 2
getstatic org.jruby.util.Numeric$RationalPatterns.a_dot_pat:Lorg/joni/Regex;
invokestatic org.jruby.RubyRegexp.newDummyRegexp:(Lorg/jruby/Ruby;Lorg/joni/Regex;)Lorg/jruby/RubyRegexp;
aload 0
iconst_0
invokevirtual org.jruby.RubyString.split:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/ThreadContext;Z)Lorg/jruby/RubyArray;
astore 11
17: aload 11
iconst_0
invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
astore 14
start local 14 18: aload 11
invokevirtual org.jruby.RubyArray.size:()I
iconst_2
if_icmpeq 19
aload 3
goto 20
StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject
StackMap stack:
19: aload 11
iconst_1
invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
StackMap locals:
StackMap stack: org.jruby.runtime.builtin.IRubyObject
20: astore 15
start local 15 21: aload 0
aload 0
aload 14
invokestatic org.jruby.util.Numeric.f_to_i:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyInteger
invokestatic org.jruby.RubyRational.newRationalCanonicalize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
astore 16
start local 16 22: aload 15
aload 3
if_acmpeq 36
23: aload 15
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
astore 4
24: iconst_0
istore 17
start local 17 25: aload 4
invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
astore 18
start local 18 26: aload 4
invokevirtual org.jruby.util.ByteList.getBegin:()I
istore 19
start local 19 27: iload 19
aload 4
invokevirtual org.jruby.util.ByteList.getRealSize:()I
iadd
istore 20
start local 20 28: goto 31
29: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyString org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.util.ByteList org.jruby.runtime.builtin.IRubyObject org.jruby.RubyMatchData org.jruby.runtime.builtin.IRubyObject org.jruby.RubyString org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.RubyArray org.jruby.RubyString org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject int byte[] int int
StackMap stack:
getstatic org.jcodings.specific.ASCIIEncoding.INSTANCE:Lorg/jcodings/specific/ASCIIEncoding;
aload 18
iload 19
baload
invokevirtual org.jcodings.specific.ASCIIEncoding.isDigit:(I)Z
ifeq 30
iinc 17 1
30: StackMap locals:
StackMap stack:
iinc 19 1
31: StackMap locals:
StackMap stack:
iload 19
iload 20
if_icmplt 29
32: aload 2
ldc 10
invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
aload 0
iload 17
i2l
invokevirtual org.jruby.RubyFixnum.op_pow:(Lorg/jruby/runtime/ThreadContext;J)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyInteger
astore 21
start local 21 33: aload 0
aload 16
aload 21
invokestatic org.jruby.util.Numeric.f_mul:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 16
34: aload 0
aload 16
aload 0
aload 15
invokestatic org.jruby.util.Numeric.f_to_i:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
invokestatic org.jruby.util.Numeric.f_add:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 16
35: aload 0
aload 16
aload 21
invokestatic org.jruby.util.Numeric.f_div:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 16
end local 21 end local 20 end local 19 end local 18 end local 17 36: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyString org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.util.ByteList org.jruby.runtime.builtin.IRubyObject org.jruby.RubyMatchData org.jruby.runtime.builtin.IRubyObject org.jruby.RubyString org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.RubyArray org.jruby.RubyString org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject
StackMap stack:
aload 7
aload 3
if_acmpeq 39
37: aload 7
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
astore 17
start local 17 38: aload 17
invokevirtual org.jruby.util.ByteList.length:()I
ifle 39
aload 17
iconst_0
invokevirtual org.jruby.util.ByteList.get:(I)I
bipush 45
if_icmpne 39
aload 0
aload 16
invokestatic org.jruby.util.Numeric.f_negate:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 16
end local 17 39: StackMap locals:
StackMap stack:
aload 13
aload 3
if_acmpeq 41
40: aload 0
aload 16
aload 0
aload 2
ldc 10
invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
aload 0
aload 13
invokestatic org.jruby.util.Numeric.f_to_i:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyInteger
invokestatic org.jruby.util.Numeric.f_expt:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
invokestatic org.jruby.util.Numeric.f_mul:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 16
41: StackMap locals:
StackMap stack:
aload 9
aload 3
if_acmpeq 43
42: aload 0
aload 16
aload 0
aload 9
invokestatic org.jruby.util.Numeric.f_to_i:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
invokestatic org.jruby.util.Numeric.f_div:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 16
43: StackMap locals:
StackMap stack:
iconst_2
anewarray org.jruby.runtime.builtin.IRubyObject
dup
iconst_0
aload 16
aastore
dup
iconst_1
aload 10
aastore
areturn
end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 44: StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyString org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.util.ByteList org.jruby.runtime.builtin.IRubyObject
StackMap stack:
iconst_2
anewarray org.jruby.runtime.builtin.IRubyObject
dup
iconst_0
aload 3
aastore
dup
iconst_1
aload 1
aastore
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 45 0 context Lorg/jruby/runtime/ThreadContext;
0 45 1 str Lorg/jruby/RubyString;
1 45 2 runtime Lorg/jruby/Ruby;
2 45 3 nil Lorg/jruby/runtime/builtin/IRubyObject;
3 45 4 bytes Lorg/jruby/util/ByteList;
5 45 5 m Lorg/jruby/runtime/builtin/IRubyObject;
7 44 6 match Lorg/jruby/RubyMatchData;
8 44 7 si Lorg/jruby/runtime/builtin/IRubyObject;
9 44 8 nu Lorg/jruby/RubyString;
10 44 9 de Lorg/jruby/runtime/builtin/IRubyObject;
11 44 10 re Lorg/jruby/runtime/builtin/IRubyObject;
12 44 11 a Lorg/jruby/RubyArray;
13 44 12 ifp Lorg/jruby/RubyString;
16 44 13 exp Lorg/jruby/runtime/builtin/IRubyObject;
18 44 14 ip Lorg/jruby/runtime/builtin/IRubyObject;
21 44 15 fp Lorg/jruby/runtime/builtin/IRubyObject;
22 44 16 v Lorg/jruby/runtime/builtin/IRubyObject;
25 36 17 count I
26 36 18 buf [B
27 36 19 i I
28 36 20 end I
33 36 21 l Lorg/jruby/RubyInteger;
38 39 17 siBytes Lorg/jruby/util/ByteList;
MethodParameters:
Name Flags
context final
str final
private static org.jruby.RubyNumeric str_to_r_strict(org.jruby.runtime.ThreadContext, org.jruby.RubyString);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;)Lorg/jruby/RubyNumeric;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic org.jruby.RubyRational.str_to_r_internal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;)[Lorg/jruby/runtime/builtin/IRubyObject;
astore 2
start local 2 1: aload 2
iconst_0
aaload
aload 0
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
if_acmpeq 2
aload 2
iconst_1
aaload
invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
invokevirtual org.jruby.util.ByteList.length:()I
ifle 3
2: StackMap locals: org.jruby.runtime.builtin.IRubyObject[]
StackMap stack:
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
new java.lang.StringBuilder
dup
ldc "invalid value for convert(): "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.RubyString.inspect:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
3: StackMap locals:
StackMap stack:
aload 2
iconst_0
aaload
checkcast org.jruby.RubyNumeric
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 context Lorg/jruby/runtime/ThreadContext;
0 4 1 str Lorg/jruby/RubyString;
1 4 2 ary [Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
str
public static org.jruby.runtime.builtin.IRubyObject numericQuo(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
instanceof org.jruby.RubyFloat
ifeq 2
1: aload 1
checkcast org.jruby.RubyNumeric
aload 0
aload 2
invokevirtual org.jruby.RubyNumeric.fdiv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
2: StackMap locals:
StackMap stack:
getstatic org.jruby.RubyRational.canonicalization:Z
ifeq 5
3: aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 1
invokestatic org.jruby.RubyRational.newRationalRaw:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyRational;
astore 1
4: goto 6
5: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 0
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getRational:()Lorg/jruby/RubyClass;
aload 0
invokestatic org.jruby.RubyRational.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$RationalSites;
getfield org.jruby.runtime.JavaSites$RationalSites.to_r_checked:Lorg/jruby/runtime/JavaSites$CheckedSites;
invokestatic org.jruby.util.TypeConverter.convertToType:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyClass;Lorg/jruby/runtime/JavaSites$CheckedSites;)Lorg/jruby/runtime/builtin/IRubyObject;
astore 1
6: StackMap locals:
StackMap stack:
aload 0
invokestatic org.jruby.RubyRational.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$RationalSites;
getfield org.jruby.runtime.JavaSites$RationalSites.op_quo:Lorg/jruby/runtime/CallSite;
aload 0
aload 1
aload 1
aload 2
invokevirtual org.jruby.runtime.CallSite.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
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 x Lorg/jruby/runtime/builtin/IRubyObject;
0 7 2 y Lorg/jruby/runtime/builtin/IRubyObject;
MethodParameters:
Name Flags
context
x
y
public org.jruby.runtime.builtin.IRubyObject op_floor(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.jruby.RubyRational.floor:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyRational;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
context
public org.jruby.runtime.builtin.IRubyObject op_floor(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual org.jruby.RubyRational.floor:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyRational;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 n Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
context
n
public org.jruby.runtime.builtin.IRubyObject op_ceil(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.jruby.RubyRational.ceil:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyRational;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
context
public org.jruby.runtime.builtin.IRubyObject op_ceil(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual org.jruby.RubyRational.ceil:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyRational;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 n Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
context
n
public org.jruby.runtime.builtin.IRubyObject op_idiv19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual org.jruby.RubyRational.idiv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyRational;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 other Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
context
other
public org.jruby.runtime.builtin.IRubyObject op_idiv(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual org.jruby.RubyRational.idiv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyRational;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 other Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
context
other
public org.jruby.runtime.builtin.IRubyObject op_fdiv(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual org.jruby.RubyRational.fdiv:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/RubyRational;
0 1 1 context Lorg/jruby/runtime/ThreadContext;
0 1 2 other Lorg/jruby/runtime/builtin/IRubyObject;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
context
other
private static org.jruby.runtime.JavaSites$RationalSites sites(org.jruby.runtime.ThreadContext);
descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$RationalSites;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.runtime.ThreadContext.sites:Lorg/jruby/runtime/JavaSites;
getfield org.jruby.runtime.JavaSites.Rational:Lorg/jruby/runtime/JavaSites$RationalSites;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lorg/jruby/runtime/ThreadContext;
MethodParameters:
Name Flags
context
private static org.jruby.runtime.builtin.IRubyObject r_to_f(org.jruby.runtime.ThreadContext, org.jruby.RubyRational);
descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyRational;)Lorg/jruby/runtime/builtin/IRubyObject;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokestatic org.jruby.RubyRational.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$RationalSites;
getfield org.jruby.runtime.JavaSites$RationalSites.to_f:Lorg/jruby/runtime/callsite/CachingCallSite;
aload 0
aload 1
aload 1
invokevirtual org.jruby.runtime.callsite.CachingCallSite.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lorg/jruby/runtime/ThreadContext;
0 1 1 r Lorg/jruby/RubyRational;
MethodParameters:
Name Flags
context
r
static int[] $SWITCH_TABLE$java$math$RoundingMode();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.jruby.RubyRational.$SWITCH_TABLE$java$math$RoundingMode:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic java.math.RoundingMode.values:()[Ljava/math/RoundingMode;
arraylength
newarray 10
astore 0
2: aload 0
getstatic java.math.RoundingMode.CEILING:Ljava/math/RoundingMode;
invokevirtual java.math.RoundingMode.ordinal:()I
iconst_3
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic java.math.RoundingMode.DOWN:Ljava/math/RoundingMode;
invokevirtual java.math.RoundingMode.ordinal:()I
iconst_2
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic java.math.RoundingMode.FLOOR:Ljava/math/RoundingMode;
invokevirtual java.math.RoundingMode.ordinal:()I
iconst_4
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic java.math.RoundingMode.HALF_DOWN:Ljava/math/RoundingMode;
invokevirtual java.math.RoundingMode.ordinal:()I
bipush 6
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic java.math.RoundingMode.HALF_EVEN:Ljava/math/RoundingMode;
invokevirtual java.math.RoundingMode.ordinal:()I
bipush 7
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic java.math.RoundingMode.HALF_UP:Ljava/math/RoundingMode;
invokevirtual java.math.RoundingMode.ordinal:()I
iconst_5
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic java.math.RoundingMode.UNNECESSARY:Ljava/math/RoundingMode;
invokevirtual java.math.RoundingMode.ordinal:()I
bipush 8
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
getstatic java.math.RoundingMode.UP:Ljava/math/RoundingMode;
invokevirtual java.math.RoundingMode.ordinal:()I
iconst_1
iastore
24: goto 26
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
25: pop
StackMap locals:
StackMap stack:
26: aload 0
dup
putstatic org.jruby.RubyRational.$SWITCH_TABLE$java$math$RoundingMode:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
23 24 25 Class java.lang.NoSuchFieldError
}
SourceFile: "RubyRational.java"
NestMembers:
org.jruby.RubyRational$1 org.jruby.RubyRational$2
InnerClasses:
public final JavaClassKindOf = org.jruby.RubyModule$JavaClassKindOf of org.jruby.RubyModule
org.jruby.RubyRational$1
org.jruby.RubyRational$2
public final ID = org.jruby.common.IRubyWarnings$ID of org.jruby.common.IRubyWarnings
public CheckedSites = org.jruby.runtime.JavaSites$CheckedSites of org.jruby.runtime.JavaSites
public FloatSites = org.jruby.runtime.JavaSites$FloatSites of org.jruby.runtime.JavaSites
public NumericSites = org.jruby.runtime.JavaSites$NumericSites of org.jruby.runtime.JavaSites
public RationalSites = org.jruby.runtime.JavaSites$RationalSites of org.jruby.runtime.JavaSites
public final RationalPatterns = org.jruby.util.Numeric$RationalPatterns of org.jruby.util.Numeric
RuntimeVisibleAnnotations:
org.jruby.anno.JRubyClass(name = {"Rational"}, parent = "Numeric")