class org.jruby.RubyRational$2 implements org.jruby.runtime.ObjectMarshal
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.jruby.RubyRational$2
  super_class: java.lang.Object
{
  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyRational$2 this
         0: .line 1331
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.jruby.RubyRational$2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyRational$2;

  public void marshalTo(org.jruby.Ruby, java.lang.Object, org.jruby.RubyClass, org.jruby.runtime.marshal.MarshalStream);
    descriptor: (Lorg/jruby/Ruby;Ljava/lang/Object;Lorg/jruby/RubyClass;Lorg/jruby/runtime/marshal/MarshalStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // org.jruby.RubyRational$2 this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // java.lang.Object obj
        start local 3 // org.jruby.RubyClass type
        start local 4 // org.jruby.runtime.marshal.MarshalStream marshalStream
         0: .line 1334
            aload 1 /* runtime */
            ldc "marshal_dump should be used instead for Rational"
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 4 // org.jruby.runtime.marshal.MarshalStream marshalStream
        end local 3 // org.jruby.RubyClass type
        end local 2 // java.lang.Object obj
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyRational$2 this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lorg/jruby/RubyRational$2;
            0    1     1        runtime  Lorg/jruby/Ruby;
            0    1     2            obj  Ljava/lang/Object;
            0    1     3           type  Lorg/jruby/RubyClass;
            0    1     4  marshalStream  Lorg/jruby/runtime/marshal/MarshalStream;
    MethodParameters:
               Name  Flags
      runtime        
      obj            
      type           
      marshalStream  

  public java.lang.Object unmarshalFrom(org.jruby.Ruby, org.jruby.RubyClass, org.jruby.runtime.marshal.UnmarshalStream);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/runtime/marshal/UnmarshalStream;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=4
        start local 0 // org.jruby.RubyRational$2 this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.RubyClass type
        start local 3 // org.jruby.runtime.marshal.UnmarshalStream unmarshalStream
         0: .line 1340
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            astore 4 /* context */
        start local 4 // org.jruby.runtime.ThreadContext context
         1: .line 1342
            getstatic org.jruby.RubyClass.DEFAULT_OBJECT_MARSHAL:Lorg/jruby/runtime/ObjectMarshal;
            aload 1 /* runtime */
            aload 2 /* type */
            aload 3 /* unmarshalStream */
            invokeinterface org.jruby.runtime.ObjectMarshal.unmarshalFrom:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Lorg/jruby/runtime/marshal/UnmarshalStream;)Ljava/lang/Object;
            checkcast org.jruby.RubyRational
            astore 5 /* r */
        start local 5 // org.jruby.RubyRational r
         2: .line 1344
            aload 4 /* context */
            aload 5 /* r */
            ldc "@numerator"
            invokevirtual org.jruby.RubyRational.removeInstanceVariable:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.RubyRational.intCheck:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyInteger;
            astore 6 /* num */
        start local 6 // org.jruby.RubyInteger num
         3: .line 1345
            aload 4 /* context */
            aload 5 /* r */
            ldc "@denominator"
            invokevirtual org.jruby.RubyRational.removeInstanceVariable:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.RubyRational.intCheck:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyInteger;
            astore 7 /* den */
        start local 7 // org.jruby.RubyInteger den
         4: .line 1348
            aload 4 /* context */
            aload 7 /* den */
            invokestatic org.jruby.RubyRational.canonicalizeShouldNegate:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;)Z
            ifeq 7
         5: .line 1349
            aload 6 /* num */
            invokevirtual org.jruby.RubyInteger.negate:()Lorg/jruby/RubyInteger;
            astore 6 /* num */
         6: .line 1350
            aload 7 /* den */
            invokevirtual org.jruby.RubyInteger.negate:()Lorg/jruby/RubyInteger;
            astore 7 /* den */
         7: .line 1353
      StackMap locals: org.jruby.RubyRational$2 org.jruby.Ruby org.jruby.RubyClass org.jruby.runtime.marshal.UnmarshalStream org.jruby.runtime.ThreadContext org.jruby.RubyRational org.jruby.RubyInteger org.jruby.RubyInteger
      StackMap stack:
            aload 5 /* r */
            aload 6 /* num */
            putfield org.jruby.RubyRational.num:Lorg/jruby/RubyInteger;
         8: .line 1354
            aload 5 /* r */
            aload 7 /* den */
            putfield org.jruby.RubyRational.den:Lorg/jruby/RubyInteger;
         9: .line 1356
            aload 5 /* r */
            areturn
        end local 7 // org.jruby.RubyInteger den
        end local 6 // org.jruby.RubyInteger num
        end local 5 // org.jruby.RubyRational r
        end local 4 // org.jruby.runtime.ThreadContext context
        end local 3 // org.jruby.runtime.marshal.UnmarshalStream unmarshalStream
        end local 2 // org.jruby.RubyClass type
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyRational$2 this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   10     0             this  Lorg/jruby/RubyRational$2;
            0   10     1          runtime  Lorg/jruby/Ruby;
            0   10     2             type  Lorg/jruby/RubyClass;
            0   10     3  unmarshalStream  Lorg/jruby/runtime/marshal/UnmarshalStream;
            1   10     4          context  Lorg/jruby/runtime/ThreadContext;
            2   10     5                r  Lorg/jruby/RubyRational;
            3   10     6              num  Lorg/jruby/RubyInteger;
            4   10     7              den  Lorg/jruby/RubyInteger;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                 Name  Flags
      runtime          
      type             
      unmarshalStream  
}
SourceFile: "RubyRational.java"
EnclosingMethod: org.jruby.RubyRational
NestHost: org.jruby.RubyRational
InnerClasses:
  org.jruby.RubyRational$2