class io.netty.handler.codec.http.multipart.HttpPostBodyUtil$SeekAheadOptimize
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: io.netty.handler.codec.http.multipart.HttpPostBodyUtil$SeekAheadOptimize
  super_class: java.lang.Object
{
  byte[] bytes;
    descriptor: [B
    flags: (0x0000) 

  int readerIndex;
    descriptor: I
    flags: (0x0000) 

  int pos;
    descriptor: I
    flags: (0x0000) 

  int origPos;
    descriptor: I
    flags: (0x0000) 

  int limit;
    descriptor: I
    flags: (0x0000) 

  io.netty.buffer.ByteBuf buffer;
    descriptor: Lio/netty/buffer/ByteBuf;
    flags: (0x0000) 

  void <init>(io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBuf;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.netty.handler.codec.http.multipart.HttpPostBodyUtil$SeekAheadOptimize this
        start local 1 // io.netty.buffer.ByteBuf buffer
         0: .line 93
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 94
            aload 1 /* buffer */
            invokevirtual io.netty.buffer.ByteBuf.hasArray:()Z
            ifne 3
         2: .line 95
            new java.lang.IllegalArgumentException
            dup
            ldc "buffer hasn't backing byte array"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 97
      StackMap locals: io.netty.handler.codec.http.multipart.HttpPostBodyUtil$SeekAheadOptimize io.netty.buffer.ByteBuf
      StackMap stack:
            aload 0 /* this */
            aload 1 /* buffer */
            putfield io.netty.handler.codec.http.multipart.HttpPostBodyUtil$SeekAheadOptimize.buffer:Lio/netty/buffer/ByteBuf;
         4: .line 98
            aload 0 /* this */
            aload 1 /* buffer */
            invokevirtual io.netty.buffer.ByteBuf.array:()[B
            putfield io.netty.handler.codec.http.multipart.HttpPostBodyUtil$SeekAheadOptimize.bytes:[B
         5: .line 99
            aload 0 /* this */
            aload 1 /* buffer */
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
            putfield io.netty.handler.codec.http.multipart.HttpPostBodyUtil$SeekAheadOptimize.readerIndex:I
         6: .line 100
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* buffer */
            invokevirtual io.netty.buffer.ByteBuf.arrayOffset:()I
            aload 0 /* this */
            getfield io.netty.handler.codec.http.multipart.HttpPostBodyUtil$SeekAheadOptimize.readerIndex:I
            iadd
            dup_x1
            putfield io.netty.handler.codec.http.multipart.HttpPostBodyUtil$SeekAheadOptimize.pos:I
            putfield io.netty.handler.codec.http.multipart.HttpPostBodyUtil$SeekAheadOptimize.origPos:I
         7: .line 101
            aload 0 /* this */
            aload 1 /* buffer */
            invokevirtual io.netty.buffer.ByteBuf.arrayOffset:()I
            aload 1 /* buffer */
            invokevirtual io.netty.buffer.ByteBuf.writerIndex:()I
            iadd
            putfield io.netty.handler.codec.http.multipart.HttpPostBodyUtil$SeekAheadOptimize.limit:I
         8: .line 102
            return
        end local 1 // io.netty.buffer.ByteBuf buffer
        end local 0 // io.netty.handler.codec.http.multipart.HttpPostBodyUtil$SeekAheadOptimize this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lio/netty/handler/codec/http/multipart/HttpPostBodyUtil$SeekAheadOptimize;
            0    9     1  buffer  Lio/netty/buffer/ByteBuf;
    MethodParameters:
        Name  Flags
      buffer  

  void setReadPosition(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.netty.handler.codec.http.multipart.HttpPostBodyUtil$SeekAheadOptimize this
        start local 1 // int minus
         0: .line 110
            aload 0 /* this */
            dup
            getfield io.netty.handler.codec.http.multipart.HttpPostBodyUtil$SeekAheadOptimize.pos:I
            iload 1 /* minus */
            isub
            putfield io.netty.handler.codec.http.multipart.HttpPostBodyUtil$SeekAheadOptimize.pos:I
         1: .line 111
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield io.netty.handler.codec.http.multipart.HttpPostBodyUtil$SeekAheadOptimize.pos:I
            invokevirtual io.netty.handler.codec.http.multipart.HttpPostBodyUtil$SeekAheadOptimize.getReadPosition:(I)I
            putfield io.netty.handler.codec.http.multipart.HttpPostBodyUtil$SeekAheadOptimize.readerIndex:I
         2: .line 112
            aload 0 /* this */
            getfield io.netty.handler.codec.http.multipart.HttpPostBodyUtil$SeekAheadOptimize.buffer:Lio/netty/buffer/ByteBuf;
            aload 0 /* this */
            getfield io.netty.handler.codec.http.multipart.HttpPostBodyUtil$SeekAheadOptimize.readerIndex:I
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:(I)Lio/netty/buffer/ByteBuf;
            pop
         3: .line 113
            return
        end local 1 // int minus
        end local 0 // io.netty.handler.codec.http.multipart.HttpPostBodyUtil$SeekAheadOptimize this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lio/netty/handler/codec/http/multipart/HttpPostBodyUtil$SeekAheadOptimize;
            0    4     1  minus  I
    MethodParameters:
       Name  Flags
      minus  

  int getReadPosition(int);
    descriptor: (I)I
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.handler.codec.http.multipart.HttpPostBodyUtil$SeekAheadOptimize this
        start local 1 // int index
         0: .line 121
            iload 1 /* index */
            aload 0 /* this */
            getfield io.netty.handler.codec.http.multipart.HttpPostBodyUtil$SeekAheadOptimize.origPos:I
            isub
            aload 0 /* this */
            getfield io.netty.handler.codec.http.multipart.HttpPostBodyUtil$SeekAheadOptimize.readerIndex:I
            iadd
            ireturn
        end local 1 // int index
        end local 0 // io.netty.handler.codec.http.multipart.HttpPostBodyUtil$SeekAheadOptimize this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lio/netty/handler/codec/http/multipart/HttpPostBodyUtil$SeekAheadOptimize;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  
}
SourceFile: "HttpPostBodyUtil.java"
NestHost: io.netty.handler.codec.http.multipart.HttpPostBodyUtil
InnerClasses:
  SeekAheadOptimize = io.netty.handler.codec.http.multipart.HttpPostBodyUtil$SeekAheadOptimize of io.netty.handler.codec.http.multipart.HttpPostBodyUtil