final class io.netty.buffer.ReadOnlyUnsafeDirectByteBuf extends io.netty.buffer.ReadOnlyByteBufferBuf
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: io.netty.buffer.ReadOnlyUnsafeDirectByteBuf
  super_class: io.netty.buffer.ReadOnlyByteBufferBuf
{
  private final long memoryAddress;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  void <init>(io.netty.buffer.ByteBufAllocator, java.nio.ByteBuffer);
    descriptor: (Lio/netty/buffer/ByteBufAllocator;Ljava/nio/ByteBuffer;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.netty.buffer.ReadOnlyUnsafeDirectByteBuf this
        start local 1 // io.netty.buffer.ByteBufAllocator allocator
        start local 2 // java.nio.ByteBuffer byteBuffer
         0: .line 31
            aload 0 /* this */
            aload 1 /* allocator */
            aload 2 /* byteBuffer */
            invokespecial io.netty.buffer.ReadOnlyByteBufferBuf.<init>:(Lio/netty/buffer/ByteBufAllocator;Ljava/nio/ByteBuffer;)V
         1: .line 34
            aload 0 /* this */
            aload 0 /* this */
            getfield io.netty.buffer.ReadOnlyUnsafeDirectByteBuf.buffer:Ljava/nio/ByteBuffer;
            invokestatic io.netty.util.internal.PlatformDependent.directBufferAddress:(Ljava/nio/ByteBuffer;)J
            putfield io.netty.buffer.ReadOnlyUnsafeDirectByteBuf.memoryAddress:J
         2: .line 35
            return
        end local 2 // java.nio.ByteBuffer byteBuffer
        end local 1 // io.netty.buffer.ByteBufAllocator allocator
        end local 0 // io.netty.buffer.ReadOnlyUnsafeDirectByteBuf this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lio/netty/buffer/ReadOnlyUnsafeDirectByteBuf;
            0    3     1   allocator  Lio/netty/buffer/ByteBufAllocator;
            0    3     2  byteBuffer  Ljava/nio/ByteBuffer;
    MethodParameters:
            Name  Flags
      allocator   
      byteBuffer  

  protected byte _getByte(int);
    descriptor: (I)B
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.buffer.ReadOnlyUnsafeDirectByteBuf this
        start local 1 // int index
         0: .line 39
            aload 0 /* this */
            iload 1 /* index */
            invokevirtual io.netty.buffer.ReadOnlyUnsafeDirectByteBuf.addr:(I)J
            invokestatic io.netty.buffer.UnsafeByteBufUtil.getByte:(J)B
            ireturn
        end local 1 // int index
        end local 0 // io.netty.buffer.ReadOnlyUnsafeDirectByteBuf this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lio/netty/buffer/ReadOnlyUnsafeDirectByteBuf;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  

  protected short _getShort(int);
    descriptor: (I)S
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.buffer.ReadOnlyUnsafeDirectByteBuf this
        start local 1 // int index
         0: .line 44
            aload 0 /* this */
            iload 1 /* index */
            invokevirtual io.netty.buffer.ReadOnlyUnsafeDirectByteBuf.addr:(I)J
            invokestatic io.netty.buffer.UnsafeByteBufUtil.getShort:(J)S
            ireturn
        end local 1 // int index
        end local 0 // io.netty.buffer.ReadOnlyUnsafeDirectByteBuf this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lio/netty/buffer/ReadOnlyUnsafeDirectByteBuf;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  

  protected int _getUnsignedMedium(int);
    descriptor: (I)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.buffer.ReadOnlyUnsafeDirectByteBuf this
        start local 1 // int index
         0: .line 49
            aload 0 /* this */
            iload 1 /* index */
            invokevirtual io.netty.buffer.ReadOnlyUnsafeDirectByteBuf.addr:(I)J
            invokestatic io.netty.buffer.UnsafeByteBufUtil.getUnsignedMedium:(J)I
            ireturn
        end local 1 // int index
        end local 0 // io.netty.buffer.ReadOnlyUnsafeDirectByteBuf this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lio/netty/buffer/ReadOnlyUnsafeDirectByteBuf;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  

  protected int _getInt(int);
    descriptor: (I)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.buffer.ReadOnlyUnsafeDirectByteBuf this
        start local 1 // int index
         0: .line 54
            aload 0 /* this */
            iload 1 /* index */
            invokevirtual io.netty.buffer.ReadOnlyUnsafeDirectByteBuf.addr:(I)J
            invokestatic io.netty.buffer.UnsafeByteBufUtil.getInt:(J)I
            ireturn
        end local 1 // int index
        end local 0 // io.netty.buffer.ReadOnlyUnsafeDirectByteBuf this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lio/netty/buffer/ReadOnlyUnsafeDirectByteBuf;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  

  protected long _getLong(int);
    descriptor: (I)J
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.buffer.ReadOnlyUnsafeDirectByteBuf this
        start local 1 // int index
         0: .line 59
            aload 0 /* this */
            iload 1 /* index */
            invokevirtual io.netty.buffer.ReadOnlyUnsafeDirectByteBuf.addr:(I)J
            invokestatic io.netty.buffer.UnsafeByteBufUtil.getLong:(J)J
            lreturn
        end local 1 // int index
        end local 0 // io.netty.buffer.ReadOnlyUnsafeDirectByteBuf this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lio/netty/buffer/ReadOnlyUnsafeDirectByteBuf;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  

  public io.netty.buffer.ByteBuf getBytes(int, io.netty.buffer.ByteBuf, int, int);
    descriptor: (ILio/netty/buffer/ByteBuf;II)Lio/netty/buffer/ByteBuf;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // io.netty.buffer.ReadOnlyUnsafeDirectByteBuf this
        start local 1 // int index
        start local 2 // io.netty.buffer.ByteBuf dst
        start local 3 // int dstIndex
        start local 4 // int length
         0: .line 64
            aload 0 /* this */
            iload 1 /* index */
            iload 4 /* length */
            invokevirtual io.netty.buffer.ReadOnlyUnsafeDirectByteBuf.checkIndex:(II)V
         1: .line 65
            aload 2 /* dst */
            ifnonnull 3
         2: .line 66
            new java.lang.NullPointerException
            dup
            ldc "dst"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 68
      StackMap locals:
      StackMap stack:
            iload 3 /* dstIndex */
            iflt 4
            iload 3 /* dstIndex */
            aload 2 /* dst */
            invokevirtual io.netty.buffer.ByteBuf.capacity:()I
            iload 4 /* length */
            isub
            if_icmple 5
         4: .line 69
      StackMap locals:
      StackMap stack:
            new java.lang.IndexOutOfBoundsException
            dup
            new java.lang.StringBuilder
            dup
            ldc "dstIndex: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* dstIndex */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 72
      StackMap locals:
      StackMap stack:
            aload 2 /* dst */
            invokevirtual io.netty.buffer.ByteBuf.hasMemoryAddress:()Z
            ifeq 8
         6: .line 73
            aload 0 /* this */
            iload 1 /* index */
            invokevirtual io.netty.buffer.ReadOnlyUnsafeDirectByteBuf.addr:(I)J
            aload 2 /* dst */
            invokevirtual io.netty.buffer.ByteBuf.memoryAddress:()J
            iload 3 /* dstIndex */
            i2l
            ladd
            iload 4 /* length */
            i2l
            invokestatic io.netty.util.internal.PlatformDependent.copyMemory:(JJJ)V
         7: .line 74
            goto 12
      StackMap locals:
      StackMap stack:
         8: aload 2 /* dst */
            invokevirtual io.netty.buffer.ByteBuf.hasArray:()Z
            ifeq 11
         9: .line 75
            aload 0 /* this */
            iload 1 /* index */
            invokevirtual io.netty.buffer.ReadOnlyUnsafeDirectByteBuf.addr:(I)J
            aload 2 /* dst */
            invokevirtual io.netty.buffer.ByteBuf.array:()[B
            aload 2 /* dst */
            invokevirtual io.netty.buffer.ByteBuf.arrayOffset:()I
            iload 3 /* dstIndex */
            iadd
            iload 4 /* length */
            i2l
            invokestatic io.netty.util.internal.PlatformDependent.copyMemory:(J[BIJ)V
        10: .line 76
            goto 12
        11: .line 77
      StackMap locals:
      StackMap stack:
            aload 2 /* dst */
            iload 3 /* dstIndex */
            aload 0 /* this */
            iload 1 /* index */
            iload 4 /* length */
            invokevirtual io.netty.buffer.ByteBuf.setBytes:(ILio/netty/buffer/ByteBuf;II)Lio/netty/buffer/ByteBuf;
            pop
        12: .line 79
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 4 // int length
        end local 3 // int dstIndex
        end local 2 // io.netty.buffer.ByteBuf dst
        end local 1 // int index
        end local 0 // io.netty.buffer.ReadOnlyUnsafeDirectByteBuf this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Lio/netty/buffer/ReadOnlyUnsafeDirectByteBuf;
            0   13     1     index  I
            0   13     2       dst  Lio/netty/buffer/ByteBuf;
            0   13     3  dstIndex  I
            0   13     4    length  I
    MethodParameters:
          Name  Flags
      index     
      dst       
      dstIndex  
      length    

  public io.netty.buffer.ByteBuf getBytes(int, byte[], int, int);
    descriptor: (I[BII)Lio/netty/buffer/ByteBuf;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // io.netty.buffer.ReadOnlyUnsafeDirectByteBuf this
        start local 1 // int index
        start local 2 // byte[] dst
        start local 3 // int dstIndex
        start local 4 // int length
         0: .line 84
            aload 0 /* this */
            iload 1 /* index */
            iload 4 /* length */
            invokevirtual io.netty.buffer.ReadOnlyUnsafeDirectByteBuf.checkIndex:(II)V
         1: .line 85
            aload 2 /* dst */
            ifnonnull 3
         2: .line 86
            new java.lang.NullPointerException
            dup
            ldc "dst"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 88
      StackMap locals:
      StackMap stack:
            iload 3 /* dstIndex */
            iflt 4
            iload 3 /* dstIndex */
            aload 2 /* dst */
            arraylength
            iload 4 /* length */
            isub
            if_icmple 7
         4: .line 89
      StackMap locals:
      StackMap stack:
            new java.lang.IndexOutOfBoundsException
            dup
         5: .line 90
            ldc "dstIndex: %d, length: %d (expected: range(0, %d))"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            iload 3 /* dstIndex */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            iload 4 /* length */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aload 2 /* dst */
            arraylength
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
         6: .line 89
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 93
      StackMap locals:
      StackMap stack:
            iload 4 /* length */
            ifeq 9
         8: .line 94
            aload 0 /* this */
            iload 1 /* index */
            invokevirtual io.netty.buffer.ReadOnlyUnsafeDirectByteBuf.addr:(I)J
            aload 2 /* dst */
            iload 3 /* dstIndex */
            iload 4 /* length */
            i2l
            invokestatic io.netty.util.internal.PlatformDependent.copyMemory:(J[BIJ)V
         9: .line 96
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 4 // int length
        end local 3 // int dstIndex
        end local 2 // byte[] dst
        end local 1 // int index
        end local 0 // io.netty.buffer.ReadOnlyUnsafeDirectByteBuf this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lio/netty/buffer/ReadOnlyUnsafeDirectByteBuf;
            0   10     1     index  I
            0   10     2       dst  [B
            0   10     3  dstIndex  I
            0   10     4    length  I
    MethodParameters:
          Name  Flags
      index     
      dst       
      dstIndex  
      length    

  public io.netty.buffer.ByteBuf getBytes(int, java.nio.ByteBuffer);
    descriptor: (ILjava/nio/ByteBuffer;)Lio/netty/buffer/ByteBuf;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // io.netty.buffer.ReadOnlyUnsafeDirectByteBuf this
        start local 1 // int index
        start local 2 // java.nio.ByteBuffer dst
         0: .line 101
            aload 0 /* this */
            iload 1 /* index */
            invokevirtual io.netty.buffer.ReadOnlyUnsafeDirectByteBuf.checkIndex:(I)V
         1: .line 102
            aload 2 /* dst */
            ifnonnull 3
         2: .line 103
            new java.lang.NullPointerException
            dup
            ldc "dst"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 106
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.netty.buffer.ReadOnlyUnsafeDirectByteBuf.capacity:()I
            iload 1 /* index */
            isub
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            invokestatic java.lang.Math.min:(II)I
            istore 3 /* bytesToCopy */
        start local 3 // int bytesToCopy
         4: .line 107
            aload 0 /* this */
            invokevirtual io.netty.buffer.ReadOnlyUnsafeDirectByteBuf.internalNioBuffer:()Ljava/nio/ByteBuffer;
            astore 4 /* tmpBuf */
        start local 4 // java.nio.ByteBuffer tmpBuf
         5: .line 108
            aload 4 /* tmpBuf */
            invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
            iload 1 /* index */
            invokevirtual java.nio.Buffer.position:(I)Ljava/nio/Buffer;
            iload 1 /* index */
            iload 3 /* bytesToCopy */
            iadd
            invokevirtual java.nio.Buffer.limit:(I)Ljava/nio/Buffer;
            pop
         6: .line 109
            aload 2 /* dst */
            aload 4 /* tmpBuf */
            invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
            pop
         7: .line 110
            aload 0 /* this */
            areturn
        end local 4 // java.nio.ByteBuffer tmpBuf
        end local 3 // int bytesToCopy
        end local 2 // java.nio.ByteBuffer dst
        end local 1 // int index
        end local 0 // io.netty.buffer.ReadOnlyUnsafeDirectByteBuf this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Lio/netty/buffer/ReadOnlyUnsafeDirectByteBuf;
            0    8     1        index  I
            0    8     2          dst  Ljava/nio/ByteBuffer;
            4    8     3  bytesToCopy  I
            5    8     4       tmpBuf  Ljava/nio/ByteBuffer;
    MethodParameters:
       Name  Flags
      index  
      dst    

  public io.netty.buffer.ByteBuf copy(int, int);
    descriptor: (II)Lio/netty/buffer/ByteBuf;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // io.netty.buffer.ReadOnlyUnsafeDirectByteBuf this
        start local 1 // int index
        start local 2 // int length
         0: .line 115
            aload 0 /* this */
            iload 1 /* index */
            iload 2 /* length */
            invokevirtual io.netty.buffer.ReadOnlyUnsafeDirectByteBuf.checkIndex:(II)V
         1: .line 116
            aload 0 /* this */
            invokevirtual io.netty.buffer.ReadOnlyUnsafeDirectByteBuf.alloc:()Lio/netty/buffer/ByteBufAllocator;
            iload 2 /* length */
            aload 0 /* this */
            invokevirtual io.netty.buffer.ReadOnlyUnsafeDirectByteBuf.maxCapacity:()I
            invokeinterface io.netty.buffer.ByteBufAllocator.directBuffer:(II)Lio/netty/buffer/ByteBuf;
            astore 3 /* copy */
        start local 3 // io.netty.buffer.ByteBuf copy
         2: .line 117
            iload 2 /* length */
            ifeq 8
         3: .line 118
            aload 3 /* copy */
            invokevirtual io.netty.buffer.ByteBuf.hasMemoryAddress:()Z
            ifeq 7
         4: .line 119
            aload 0 /* this */
            iload 1 /* index */
            invokevirtual io.netty.buffer.ReadOnlyUnsafeDirectByteBuf.addr:(I)J
            aload 3 /* copy */
            invokevirtual io.netty.buffer.ByteBuf.memoryAddress:()J
            iload 2 /* length */
            i2l
            invokestatic io.netty.util.internal.PlatformDependent.copyMemory:(JJJ)V
         5: .line 120
            aload 3 /* copy */
            iconst_0
            iload 2 /* length */
            invokevirtual io.netty.buffer.ByteBuf.setIndex:(II)Lio/netty/buffer/ByteBuf;
            pop
         6: .line 121
            goto 8
         7: .line 122
      StackMap locals: io.netty.buffer.ByteBuf
      StackMap stack:
            aload 3 /* copy */
            aload 0 /* this */
            iload 1 /* index */
            iload 2 /* length */
            invokevirtual io.netty.buffer.ByteBuf.writeBytes:(Lio/netty/buffer/ByteBuf;II)Lio/netty/buffer/ByteBuf;
            pop
         8: .line 125
      StackMap locals:
      StackMap stack:
            aload 3 /* copy */
            areturn
        end local 3 // io.netty.buffer.ByteBuf copy
        end local 2 // int length
        end local 1 // int index
        end local 0 // io.netty.buffer.ReadOnlyUnsafeDirectByteBuf this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lio/netty/buffer/ReadOnlyUnsafeDirectByteBuf;
            0    9     1   index  I
            0    9     2  length  I
            2    9     3    copy  Lio/netty/buffer/ByteBuf;
    MethodParameters:
        Name  Flags
      index   
      length  

  public boolean hasMemoryAddress();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.buffer.ReadOnlyUnsafeDirectByteBuf this
         0: .line 130
            iconst_1
            ireturn
        end local 0 // io.netty.buffer.ReadOnlyUnsafeDirectByteBuf this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/buffer/ReadOnlyUnsafeDirectByteBuf;

  public long memoryAddress();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.netty.buffer.ReadOnlyUnsafeDirectByteBuf this
         0: .line 135
            aload 0 /* this */
            getfield io.netty.buffer.ReadOnlyUnsafeDirectByteBuf.memoryAddress:J
            lreturn
        end local 0 // io.netty.buffer.ReadOnlyUnsafeDirectByteBuf this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/buffer/ReadOnlyUnsafeDirectByteBuf;

  private long addr(int);
    descriptor: (I)J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.netty.buffer.ReadOnlyUnsafeDirectByteBuf this
        start local 1 // int index
         0: .line 139
            aload 0 /* this */
            getfield io.netty.buffer.ReadOnlyUnsafeDirectByteBuf.memoryAddress:J
            iload 1 /* index */
            i2l
            ladd
            lreturn
        end local 1 // int index
        end local 0 // io.netty.buffer.ReadOnlyUnsafeDirectByteBuf this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lio/netty/buffer/ReadOnlyUnsafeDirectByteBuf;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  
}
SourceFile: "ReadOnlyUnsafeDirectByteBuf.java"