public abstract class org.jruby.ext.ffi.MemoryObject extends org.jruby.RubyObject
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.jruby.ext.ffi.MemoryObject
  super_class: org.jruby.RubyObject
{
  private org.jruby.ext.ffi.MemoryIO memory;
    descriptor: Lorg/jruby/ext/ffi/MemoryIO;
    flags: (0x0002) ACC_PRIVATE

  protected void <init>(org.jruby.Ruby, org.jruby.RubyClass);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.ext.ffi.MemoryObject this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.RubyClass metaClass
         0: .line 15
            aload 0 /* this */
            aload 1 /* runtime */
            aload 2 /* metaClass */
            invokespecial org.jruby.RubyObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
         1: .line 16
            return
        end local 2 // org.jruby.RubyClass metaClass
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.ext.ffi.MemoryObject this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/jruby/ext/ffi/MemoryObject;
            0    2     1    runtime  Lorg/jruby/Ruby;
            0    2     2  metaClass  Lorg/jruby/RubyClass;
    MethodParameters:
           Name  Flags
      runtime    
      metaClass  

  public final org.jruby.ext.ffi.MemoryIO getMemoryIO();
    descriptor: ()Lorg/jruby/ext/ffi/MemoryIO;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ext.ffi.MemoryObject this
         0: .line 24
            aload 0 /* this */
            getfield org.jruby.ext.ffi.MemoryObject.memory:Lorg/jruby/ext/ffi/MemoryIO;
            ifnull 1
            aload 0 /* this */
            getfield org.jruby.ext.ffi.MemoryObject.memory:Lorg/jruby/ext/ffi/MemoryIO;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            invokevirtual org.jruby.ext.ffi.MemoryObject.initMemoryIO:()Lorg/jruby/ext/ffi/MemoryIO;
      StackMap locals:
      StackMap stack: org.jruby.ext.ffi.MemoryIO
         2: areturn
        end local 0 // org.jruby.ext.ffi.MemoryObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/ext/ffi/MemoryObject;

  protected final org.jruby.ext.ffi.MemoryIO setMemoryIO(org.jruby.ext.ffi.MemoryIO);
    descriptor: (Lorg/jruby/ext/ffi/MemoryIO;)Lorg/jruby/ext/ffi/MemoryIO;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.ext.ffi.MemoryObject this
        start local 1 // org.jruby.ext.ffi.MemoryIO memory
         0: .line 34
            aload 0 /* this */
            getfield org.jruby.ext.ffi.MemoryObject.memory:Lorg/jruby/ext/ffi/MemoryIO;
            astore 2 /* old */
        start local 2 // org.jruby.ext.ffi.MemoryIO old
         1: .line 35
            aload 0 /* this */
            aload 1 /* memory */
            putfield org.jruby.ext.ffi.MemoryObject.memory:Lorg/jruby/ext/ffi/MemoryIO;
         2: .line 37
            aload 2 /* old */
            areturn
        end local 2 // org.jruby.ext.ffi.MemoryIO old
        end local 1 // org.jruby.ext.ffi.MemoryIO memory
        end local 0 // org.jruby.ext.ffi.MemoryObject this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/jruby/ext/ffi/MemoryObject;
            0    3     1  memory  Lorg/jruby/ext/ffi/MemoryIO;
            1    3     2     old  Lorg/jruby/ext/ffi/MemoryIO;
    MethodParameters:
        Name  Flags
      memory  

  private org.jruby.ext.ffi.MemoryIO initMemoryIO();
    descriptor: ()Lorg/jruby/ext/ffi/MemoryIO;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.jruby.ext.ffi.MemoryObject this
         0: .line 41
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.jruby.ext.ffi.MemoryObject.allocateMemoryIO:()Lorg/jruby/ext/ffi/MemoryIO;
            dup_x1
            putfield org.jruby.ext.ffi.MemoryObject.memory:Lorg/jruby/ext/ffi/MemoryIO;
            areturn
        end local 0 // org.jruby.ext.ffi.MemoryObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ext/ffi/MemoryObject;

  protected abstract org.jruby.ext.ffi.MemoryIO allocateMemoryIO();
    descriptor: ()Lorg/jruby/ext/ffi/MemoryIO;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
}
SourceFile: "MemoryObject.java"