public abstract class org.jruby.ext.ffi.MemoryIO
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.jruby.ext.ffi.MemoryIO
  super_class: java.lang.Object
{
  protected final boolean isDirect;
    descriptor: Z
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final long address;
    descriptor: J
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected void <init>(boolean, long);
    descriptor: (ZJ)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.jruby.ext.ffi.MemoryIO this
        start local 1 // boolean direct
        start local 2 // long address
         0: .line 44
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 45
            aload 0 /* this */
            iload 1 /* direct */
            putfield org.jruby.ext.ffi.MemoryIO.isDirect:Z
         2: .line 46
            aload 0 /* this */
            lload 2 /* address */
            putfield org.jruby.ext.ffi.MemoryIO.address:J
         3: .line 47
            return
        end local 2 // long address
        end local 1 // boolean direct
        end local 0 // org.jruby.ext.ffi.MemoryIO this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/jruby/ext/ffi/MemoryIO;
            0    4     1   direct  Z
            0    4     2  address  J
    MethodParameters:
         Name  Flags
      direct   
      address  

  public final boolean isNull();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.jruby.ext.ffi.MemoryIO this
         0: .line 55
            aload 0 /* this */
            getfield org.jruby.ext.ffi.MemoryIO.address:J
            lconst_0
            lcmp
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.jruby.ext.ffi.MemoryIO this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/ext/ffi/MemoryIO;

  public final boolean isDirect();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ext.ffi.MemoryIO this
         0: .line 64
            aload 0 /* this */
            getfield org.jruby.ext.ffi.MemoryIO.isDirect:Z
            ireturn
        end local 0 // org.jruby.ext.ffi.MemoryIO this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ext/ffi/MemoryIO;

  public final long address();
    descriptor: ()J
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.ext.ffi.MemoryIO this
         0: .line 73
            aload 0 /* this */
            getfield org.jruby.ext.ffi.MemoryIO.address:J
            lreturn
        end local 0 // org.jruby.ext.ffi.MemoryIO this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ext/ffi/MemoryIO;

  public abstract java.lang.Object array();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract int arrayOffset();
    descriptor: ()I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract int arrayLength();
    descriptor: ()I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.nio.ByteOrder order();
    descriptor: ()Ljava/nio/ByteOrder;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.jruby.ext.ffi.MemoryIO slice(long);
    descriptor: (J)Lorg/jruby/ext/ffi/MemoryIO;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      offset  

  public abstract org.jruby.ext.ffi.MemoryIO slice(long, long);
    descriptor: (JJ)Lorg/jruby/ext/ffi/MemoryIO;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      offset  
      size    

  public abstract org.jruby.ext.ffi.MemoryIO dup();
    descriptor: ()Lorg/jruby/ext/ffi/MemoryIO;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.nio.ByteBuffer asByteBuffer();
    descriptor: ()Ljava/nio/ByteBuffer;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract byte getByte(long);
    descriptor: (J)B
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      offset  

  public abstract short getShort(long);
    descriptor: (J)S
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      offset  

  public abstract int getInt(long);
    descriptor: (J)I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      offset  

  public abstract long getLong(long);
    descriptor: (J)J
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      offset  

  public abstract long getNativeLong(long);
    descriptor: (J)J
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      offset  

  public abstract float getFloat(long);
    descriptor: (J)F
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      offset  

  public abstract double getDouble(long);
    descriptor: (J)D
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      offset  

  public abstract long getAddress(long);
    descriptor: (J)J
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      offset  

  public abstract org.jruby.ext.ffi.MemoryIO getMemoryIO(long);
    descriptor: (J)Lorg/jruby/ext/ffi/MemoryIO;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      offset  

  public abstract void putByte(long, byte);
    descriptor: (JB)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      offset  
      value   

  public abstract void putShort(long, short);
    descriptor: (JS)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      offset  
      value   

  public abstract void putInt(long, int);
    descriptor: (JI)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      offset  
      value   

  public abstract void putLong(long, long);
    descriptor: (JJ)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      offset  
      value   

  public abstract void putNativeLong(long, long);
    descriptor: (JJ)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      offset  
      value   

  public abstract void putFloat(long, float);
    descriptor: (JF)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      offset  
      value   

  public abstract void putDouble(long, double);
    descriptor: (JD)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      offset  
      value   

  public abstract void putMemoryIO(long, org.jruby.ext.ffi.MemoryIO);
    descriptor: (JLorg/jruby/ext/ffi/MemoryIO;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      offset  
      value   

  public abstract void putAddress(long, long);
    descriptor: (JJ)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      offset  
      value   

  public abstract void get(long, byte[], int, int);
    descriptor: (J[BII)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      offset  
      dst     
      off     
      len     

  public abstract void put(long, byte[], int, int);
    descriptor: (J[BII)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      offset  
      src     
      off     
      len     

  public abstract void get(long, short[], int, int);
    descriptor: (J[SII)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      offset  
      dst     
      off     
      len     

  public abstract void put(long, short[], int, int);
    descriptor: (J[SII)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      offset  
      src     
      off     
      len     

  public abstract void get(long, int[], int, int);
    descriptor: (J[III)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      offset  
      dst     
      off     
      len     

  public abstract void put(long, int[], int, int);
    descriptor: (J[III)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      offset  
      src     
      off     
      len     

  public abstract void get(long, long[], int, int);
    descriptor: (J[JII)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      offset  
      dst     
      off     
      len     

  public abstract void put(long, long[], int, int);
    descriptor: (J[JII)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      offset  
      src     
      off     
      len     

  public abstract void get(long, float[], int, int);
    descriptor: (J[FII)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      offset  
      dst     
      off     
      len     

  public abstract void put(long, float[], int, int);
    descriptor: (J[FII)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      offset  
      src     
      off     
      len     

  public abstract void get(long, double[], int, int);
    descriptor: (J[DII)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      offset  
      dst     
      off     
      len     

  public abstract void put(long, double[], int, int);
    descriptor: (J[DII)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      offset  
      src     
      off     
      len     

  public abstract int indexOf(long, byte);
    descriptor: (JB)I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      offset  
      value   

  public abstract int indexOf(long, byte, int);
    descriptor: (JBI)I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      offset  
      value   
      maxlen  

  public abstract void setMemory(long, long, byte);
    descriptor: (JJB)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      offset  
      size    
      value   

  public abstract byte[] getZeroTerminatedByteArray(long);
    descriptor: (J)[B
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      offset  

  public abstract byte[] getZeroTerminatedByteArray(long, int);
    descriptor: (JI)[B
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      offset  
      maxlen  

  public abstract void putZeroTerminatedByteArray(long, byte[], int, int);
    descriptor: (J[BII)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      offset  
      bytes   
      off     
      len     
}
SourceFile: "MemoryIO.java"