public final class io.netty.handler.codec.redis.RedisDecoder extends io.netty.handler.codec.ByteToMessageDecoder
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: io.netty.handler.codec.redis.RedisDecoder
  super_class: io.netty.handler.codec.ByteToMessageDecoder
{
  private final io.netty.handler.codec.redis.RedisDecoder$ToPositiveLongProcessor toPositiveLongProcessor;
    descriptor: Lio/netty/handler/codec/redis/RedisDecoder$ToPositiveLongProcessor;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean decodeInlineCommands;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int maxInlineMessageLength;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.netty.handler.codec.redis.RedisMessagePool messagePool;
    descriptor: Lio/netty/handler/codec/redis/RedisMessagePool;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private io.netty.handler.codec.redis.RedisDecoder$State state;
    descriptor: Lio/netty/handler/codec/redis/RedisDecoder$State;
    flags: (0x0002) ACC_PRIVATE

  private io.netty.handler.codec.redis.RedisMessageType type;
    descriptor: Lio/netty/handler/codec/redis/RedisMessageType;
    flags: (0x0002) ACC_PRIVATE

  private int remainingBulkLength;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private static volatile int[] $SWITCH_TABLE$io$netty$handler$codec$redis$RedisDecoder$State;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  private static volatile int[] $SWITCH_TABLE$io$netty$handler$codec$redis$RedisMessageType;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.netty.handler.codec.redis.RedisDecoder this
         0: .line 61
            aload 0 /* this */
            iconst_0
            invokespecial io.netty.handler.codec.redis.RedisDecoder.<init>:(Z)V
         1: .line 62
            return
        end local 0 // io.netty.handler.codec.redis.RedisDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/netty/handler/codec/redis/RedisDecoder;

  public void <init>(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.netty.handler.codec.redis.RedisDecoder this
        start local 1 // boolean decodeInlineCommands
         0: .line 69
            aload 0 /* this */
            ldc 65536
            getstatic io.netty.handler.codec.redis.FixedRedisMessagePool.INSTANCE:Lio/netty/handler/codec/redis/FixedRedisMessagePool;
            iload 1 /* decodeInlineCommands */
            invokespecial io.netty.handler.codec.redis.RedisDecoder.<init>:(ILio/netty/handler/codec/redis/RedisMessagePool;Z)V
         1: .line 70
            return
        end local 1 // boolean decodeInlineCommands
        end local 0 // io.netty.handler.codec.redis.RedisDecoder this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    2     0                  this  Lio/netty/handler/codec/redis/RedisDecoder;
            0    2     1  decodeInlineCommands  Z
    MethodParameters:
                      Name  Flags
      decodeInlineCommands  

  public void <init>(int, io.netty.handler.codec.redis.RedisMessagePool);
    descriptor: (ILio/netty/handler/codec/redis/RedisMessagePool;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.netty.handler.codec.redis.RedisDecoder this
        start local 1 // int maxInlineMessageLength
        start local 2 // io.netty.handler.codec.redis.RedisMessagePool messagePool
         0: .line 78
            aload 0 /* this */
            iload 1 /* maxInlineMessageLength */
            aload 2 /* messagePool */
            iconst_0
            invokespecial io.netty.handler.codec.redis.RedisDecoder.<init>:(ILio/netty/handler/codec/redis/RedisMessagePool;Z)V
         1: .line 79
            return
        end local 2 // io.netty.handler.codec.redis.RedisMessagePool messagePool
        end local 1 // int maxInlineMessageLength
        end local 0 // io.netty.handler.codec.redis.RedisDecoder this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    2     0                    this  Lio/netty/handler/codec/redis/RedisDecoder;
            0    2     1  maxInlineMessageLength  I
            0    2     2             messagePool  Lio/netty/handler/codec/redis/RedisMessagePool;
    MethodParameters:
                        Name  Flags
      maxInlineMessageLength  
      messagePool             

  public void <init>(int, io.netty.handler.codec.redis.RedisMessagePool, boolean);
    descriptor: (ILio/netty/handler/codec/redis/RedisMessagePool;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // io.netty.handler.codec.redis.RedisDecoder this
        start local 1 // int maxInlineMessageLength
        start local 2 // io.netty.handler.codec.redis.RedisMessagePool messagePool
        start local 3 // boolean decodeInlineCommands
         0: .line 87
            aload 0 /* this */
            invokespecial io.netty.handler.codec.ByteToMessageDecoder.<init>:()V
         1: .line 37
            aload 0 /* this */
            new io.netty.handler.codec.redis.RedisDecoder$ToPositiveLongProcessor
            dup
            invokespecial io.netty.handler.codec.redis.RedisDecoder$ToPositiveLongProcessor.<init>:()V
            putfield io.netty.handler.codec.redis.RedisDecoder.toPositiveLongProcessor:Lio/netty/handler/codec/redis/RedisDecoder$ToPositiveLongProcessor;
         2: .line 44
            aload 0 /* this */
            getstatic io.netty.handler.codec.redis.RedisDecoder$State.DECODE_TYPE:Lio/netty/handler/codec/redis/RedisDecoder$State;
            putfield io.netty.handler.codec.redis.RedisDecoder.state:Lio/netty/handler/codec/redis/RedisDecoder$State;
         3: .line 88
            iload 1 /* maxInlineMessageLength */
            ifle 4
            iload 1 /* maxInlineMessageLength */
            ldc 536870912
            if_icmple 7
         4: .line 89
      StackMap locals: io.netty.handler.codec.redis.RedisDecoder int io.netty.handler.codec.redis.RedisMessagePool int
      StackMap stack:
            new io.netty.handler.codec.redis.RedisCodecException
            dup
            new java.lang.StringBuilder
            dup
            ldc "maxInlineMessageLength: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* maxInlineMessageLength */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         5: .line 90
            ldc " (expected: <= "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc 536870912
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 89
            invokespecial io.netty.handler.codec.redis.RedisCodecException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 92
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* maxInlineMessageLength */
            putfield io.netty.handler.codec.redis.RedisDecoder.maxInlineMessageLength:I
         8: .line 93
            aload 0 /* this */
            aload 2 /* messagePool */
            putfield io.netty.handler.codec.redis.RedisDecoder.messagePool:Lio/netty/handler/codec/redis/RedisMessagePool;
         9: .line 94
            aload 0 /* this */
            iload 3 /* decodeInlineCommands */
            putfield io.netty.handler.codec.redis.RedisDecoder.decodeInlineCommands:Z
        10: .line 95
            return
        end local 3 // boolean decodeInlineCommands
        end local 2 // io.netty.handler.codec.redis.RedisMessagePool messagePool
        end local 1 // int maxInlineMessageLength
        end local 0 // io.netty.handler.codec.redis.RedisDecoder this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   11     0                    this  Lio/netty/handler/codec/redis/RedisDecoder;
            0   11     1  maxInlineMessageLength  I
            0   11     2             messagePool  Lio/netty/handler/codec/redis/RedisMessagePool;
            0   11     3    decodeInlineCommands  Z
    MethodParameters:
                        Name  Flags
      maxInlineMessageLength  
      messagePool             
      decodeInlineCommands    

  protected void decode(io.netty.channel.ChannelHandlerContext, io.netty.buffer.ByteBuf, java.util.List<java.lang.Object>);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Ljava/util/List;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // io.netty.handler.codec.redis.RedisDecoder this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
        start local 2 // io.netty.buffer.ByteBuf in
        start local 3 // java.util.List out
         0: .line 101
      StackMap locals:
      StackMap stack:
            invokestatic io.netty.handler.codec.redis.RedisDecoder.$SWITCH_TABLE$io$netty$handler$codec$redis$RedisDecoder$State:()[I
            aload 0 /* this */
            getfield io.netty.handler.codec.redis.RedisDecoder.state:Lio/netty/handler/codec/redis/RedisDecoder$State;
            invokevirtual io.netty.handler.codec.redis.RedisDecoder$State.ordinal:()I
            iaload
            tableswitch { // 1 - 5
                    1: 1
                    2: 3
                    3: 5
                    4: 7
                    5: 9
              default: 11
          }
         1: .line 103
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* in */
            invokevirtual io.netty.handler.codec.redis.RedisDecoder.decodeType:(Lio/netty/buffer/ByteBuf;)Z
            ifne 0
         2: .line 104
            return
         3: .line 108
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* in */
            aload 3 /* out */
            invokevirtual io.netty.handler.codec.redis.RedisDecoder.decodeInline:(Lio/netty/buffer/ByteBuf;Ljava/util/List;)Z
            ifne 0
         4: .line 109
            return
         5: .line 113
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* in */
            aload 3 /* out */
            invokevirtual io.netty.handler.codec.redis.RedisDecoder.decodeLength:(Lio/netty/buffer/ByteBuf;Ljava/util/List;)Z
            ifne 0
         6: .line 114
            return
         7: .line 118
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* in */
            aload 3 /* out */
            invokevirtual io.netty.handler.codec.redis.RedisDecoder.decodeBulkStringEndOfLine:(Lio/netty/buffer/ByteBuf;Ljava/util/List;)Z
            ifne 0
         8: .line 119
            return
         9: .line 123
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* in */
            aload 3 /* out */
            invokevirtual io.netty.handler.codec.redis.RedisDecoder.decodeBulkStringContent:(Lio/netty/buffer/ByteBuf;Ljava/util/List;)Z
            ifne 0
        10: .line 124
            return
        11: .line 128
      StackMap locals:
      StackMap stack:
            new io.netty.handler.codec.redis.RedisCodecException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown state: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield io.netty.handler.codec.redis.RedisDecoder.state:Lio/netty/handler/codec/redis/RedisDecoder$State;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial io.netty.handler.codec.redis.RedisCodecException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 131
      StackMap locals:
      StackMap stack: io.netty.handler.codec.redis.RedisCodecException
            astore 4 /* e */
        start local 4 // io.netty.handler.codec.redis.RedisCodecException e
        13: .line 132
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.redis.RedisDecoder.resetDecoder:()V
        14: .line 133
            aload 4 /* e */
            athrow
        end local 4 // io.netty.handler.codec.redis.RedisCodecException e
        15: .line 134
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 4 /* e */
        start local 4 // java.lang.Exception e
        16: .line 135
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.redis.RedisDecoder.resetDecoder:()V
        17: .line 136
            new io.netty.handler.codec.redis.RedisCodecException
            dup
            aload 4 /* e */
            invokespecial io.netty.handler.codec.redis.RedisCodecException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.lang.Exception e
        end local 3 // java.util.List out
        end local 2 // io.netty.buffer.ByteBuf in
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.handler.codec.redis.RedisDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   18     0  this  Lio/netty/handler/codec/redis/RedisDecoder;
            0   18     1   ctx  Lio/netty/channel/ChannelHandlerContext;
            0   18     2    in  Lio/netty/buffer/ByteBuf;
            0   18     3   out  Ljava/util/List<Ljava/lang/Object;>;
           13   15     4     e  Lio/netty/handler/codec/redis/RedisCodecException;
           16   18     4     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     2      12  Class io.netty.handler.codec.redis.RedisCodecException
           3     4      12  Class io.netty.handler.codec.redis.RedisCodecException
           5     6      12  Class io.netty.handler.codec.redis.RedisCodecException
           7     8      12  Class io.netty.handler.codec.redis.RedisCodecException
           9    10      12  Class io.netty.handler.codec.redis.RedisCodecException
          11    12      12  Class io.netty.handler.codec.redis.RedisCodecException
           0     2      15  Class java.lang.Exception
           3     4      15  Class java.lang.Exception
           5     6      15  Class java.lang.Exception
           7     8      15  Class java.lang.Exception
           9    10      15  Class java.lang.Exception
          11    12      15  Class java.lang.Exception
    Exceptions:
      throws java.lang.Exception
    Signature: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Ljava/util/List<Ljava/lang/Object;>;)V
    MethodParameters:
      Name  Flags
      ctx   
      in    
      out   

  private void resetDecoder();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.netty.handler.codec.redis.RedisDecoder this
         0: .line 141
            aload 0 /* this */
            getstatic io.netty.handler.codec.redis.RedisDecoder$State.DECODE_TYPE:Lio/netty/handler/codec/redis/RedisDecoder$State;
            putfield io.netty.handler.codec.redis.RedisDecoder.state:Lio/netty/handler/codec/redis/RedisDecoder$State;
         1: .line 142
            aload 0 /* this */
            iconst_0
            putfield io.netty.handler.codec.redis.RedisDecoder.remainingBulkLength:I
         2: .line 143
            return
        end local 0 // io.netty.handler.codec.redis.RedisDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/netty/handler/codec/redis/RedisDecoder;

  private boolean decodeType(io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBuf;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.netty.handler.codec.redis.RedisDecoder this
        start local 1 // io.netty.buffer.ByteBuf in
         0: .line 146
            aload 1 /* in */
            invokevirtual io.netty.buffer.ByteBuf.isReadable:()Z
            ifne 2
         1: .line 147
            iconst_0
            ireturn
         2: .line 150
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* in */
            aload 0 /* this */
            getfield io.netty.handler.codec.redis.RedisDecoder.decodeInlineCommands:Z
            invokestatic io.netty.handler.codec.redis.RedisMessageType.readFrom:(Lio/netty/buffer/ByteBuf;Z)Lio/netty/handler/codec/redis/RedisMessageType;
            putfield io.netty.handler.codec.redis.RedisDecoder.type:Lio/netty/handler/codec/redis/RedisMessageType;
         3: .line 151
            aload 0 /* this */
            aload 0 /* this */
            getfield io.netty.handler.codec.redis.RedisDecoder.type:Lio/netty/handler/codec/redis/RedisMessageType;
            invokevirtual io.netty.handler.codec.redis.RedisMessageType.isInline:()Z
            ifeq 4
            getstatic io.netty.handler.codec.redis.RedisDecoder$State.DECODE_INLINE:Lio/netty/handler/codec/redis/RedisDecoder$State;
            goto 5
      StackMap locals:
      StackMap stack: io.netty.handler.codec.redis.RedisDecoder
         4: getstatic io.netty.handler.codec.redis.RedisDecoder$State.DECODE_LENGTH:Lio/netty/handler/codec/redis/RedisDecoder$State;
      StackMap locals: io.netty.handler.codec.redis.RedisDecoder io.netty.buffer.ByteBuf
      StackMap stack: io.netty.handler.codec.redis.RedisDecoder io.netty.handler.codec.redis.RedisDecoder$State
         5: putfield io.netty.handler.codec.redis.RedisDecoder.state:Lio/netty/handler/codec/redis/RedisDecoder$State;
         6: .line 152
            iconst_1
            ireturn
        end local 1 // io.netty.buffer.ByteBuf in
        end local 0 // io.netty.handler.codec.redis.RedisDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lio/netty/handler/codec/redis/RedisDecoder;
            0    7     1    in  Lio/netty/buffer/ByteBuf;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      in    

  private boolean decodeInline(io.netty.buffer.ByteBuf, java.util.List<java.lang.Object>);
    descriptor: (Lio/netty/buffer/ByteBuf;Ljava/util/List;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // io.netty.handler.codec.redis.RedisDecoder this
        start local 1 // io.netty.buffer.ByteBuf in
        start local 2 // java.util.List out
         0: .line 156
            aload 1 /* in */
            invokestatic io.netty.handler.codec.redis.RedisDecoder.readLine:(Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
            astore 3 /* lineBytes */
        start local 3 // io.netty.buffer.ByteBuf lineBytes
         1: .line 157
            aload 3 /* lineBytes */
            ifnonnull 7
         2: .line 158
            aload 1 /* in */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            aload 0 /* this */
            getfield io.netty.handler.codec.redis.RedisDecoder.maxInlineMessageLength:I
            if_icmple 6
         3: .line 159
            new io.netty.handler.codec.redis.RedisCodecException
            dup
            new java.lang.StringBuilder
            dup
            ldc "length: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* in */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         4: .line 160
            ldc " (expected: <= "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield io.netty.handler.codec.redis.RedisDecoder.maxInlineMessageLength:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 159
            invokespecial io.netty.handler.codec.redis.RedisCodecException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 162
      StackMap locals: io.netty.buffer.ByteBuf
      StackMap stack:
            iconst_0
            ireturn
         7: .line 164
      StackMap locals:
      StackMap stack:
            aload 2 /* out */
            aload 0 /* this */
            aload 0 /* this */
            getfield io.netty.handler.codec.redis.RedisDecoder.type:Lio/netty/handler/codec/redis/RedisMessageType;
            aload 3 /* lineBytes */
            invokevirtual io.netty.handler.codec.redis.RedisDecoder.newInlineRedisMessage:(Lio/netty/handler/codec/redis/RedisMessageType;Lio/netty/buffer/ByteBuf;)Lio/netty/handler/codec/redis/RedisMessage;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         8: .line 165
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.redis.RedisDecoder.resetDecoder:()V
         9: .line 166
            iconst_1
            ireturn
        end local 3 // io.netty.buffer.ByteBuf lineBytes
        end local 2 // java.util.List out
        end local 1 // io.netty.buffer.ByteBuf in
        end local 0 // io.netty.handler.codec.redis.RedisDecoder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Lio/netty/handler/codec/redis/RedisDecoder;
            0   10     1         in  Lio/netty/buffer/ByteBuf;
            0   10     2        out  Ljava/util/List<Ljava/lang/Object;>;
            1   10     3  lineBytes  Lio/netty/buffer/ByteBuf;
    Exceptions:
      throws java.lang.Exception
    Signature: (Lio/netty/buffer/ByteBuf;Ljava/util/List<Ljava/lang/Object;>;)Z
    MethodParameters:
      Name  Flags
      in    
      out   

  private boolean decodeLength(io.netty.buffer.ByteBuf, java.util.List<java.lang.Object>);
    descriptor: (Lio/netty/buffer/ByteBuf;Ljava/util/List;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // io.netty.handler.codec.redis.RedisDecoder this
        start local 1 // io.netty.buffer.ByteBuf in
        start local 2 // java.util.List out
         0: .line 170
            aload 1 /* in */
            invokestatic io.netty.handler.codec.redis.RedisDecoder.readLine:(Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
            astore 3 /* lineByteBuf */
        start local 3 // io.netty.buffer.ByteBuf lineByteBuf
         1: .line 171
            aload 3 /* lineByteBuf */
            ifnonnull 3
         2: .line 172
            iconst_0
            ireturn
         3: .line 174
      StackMap locals: io.netty.buffer.ByteBuf
      StackMap stack:
            aload 0 /* this */
            aload 3 /* lineByteBuf */
            invokevirtual io.netty.handler.codec.redis.RedisDecoder.parseRedisNumber:(Lio/netty/buffer/ByteBuf;)J
            lstore 4 /* length */
        start local 4 // long length
         4: .line 175
            lload 4 /* length */
            ldc -1
            lcmp
            ifge 6
         5: .line 176
            new io.netty.handler.codec.redis.RedisCodecException
            dup
            new java.lang.StringBuilder
            dup
            ldc "length: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 4 /* length */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc " (expected: >= "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iconst_m1
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial io.netty.handler.codec.redis.RedisCodecException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 178
      StackMap locals: long
      StackMap stack:
            invokestatic io.netty.handler.codec.redis.RedisDecoder.$SWITCH_TABLE$io$netty$handler$codec$redis$RedisMessageType:()[I
            aload 0 /* this */
            getfield io.netty.handler.codec.redis.RedisDecoder.type:Lio/netty/handler/codec/redis/RedisMessageType;
            invokevirtual io.netty.handler.codec.redis.RedisMessageType.ordinal:()I
            iaload
            tableswitch { // 5 - 6
                    5: 10
                    6: 7
              default: 16
          }
         7: .line 180
      StackMap locals:
      StackMap stack:
            aload 2 /* out */
            new io.netty.handler.codec.redis.ArrayHeaderRedisMessage
            dup
            lload 4 /* length */
            invokespecial io.netty.handler.codec.redis.ArrayHeaderRedisMessage.<init>:(J)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         8: .line 181
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.redis.RedisDecoder.resetDecoder:()V
         9: .line 182
            iconst_1
            ireturn
        10: .line 184
      StackMap locals:
      StackMap stack:
            lload 4 /* length */
            ldc 536870912
            lcmp
            ifle 14
        11: .line 185
            new io.netty.handler.codec.redis.RedisCodecException
            dup
            new java.lang.StringBuilder
            dup
            ldc "length: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 4 /* length */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc " (expected: <= "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        12: .line 186
            ldc 536870912
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        13: .line 185
            invokespecial io.netty.handler.codec.redis.RedisCodecException.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 188
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 4 /* length */
            l2i
            putfield io.netty.handler.codec.redis.RedisDecoder.remainingBulkLength:I
        15: .line 189
            aload 0 /* this */
            aload 1 /* in */
            aload 2 /* out */
            invokevirtual io.netty.handler.codec.redis.RedisDecoder.decodeBulkString:(Lio/netty/buffer/ByteBuf;Ljava/util/List;)Z
            ireturn
        16: .line 191
      StackMap locals:
      StackMap stack:
            new io.netty.handler.codec.redis.RedisCodecException
            dup
            new java.lang.StringBuilder
            dup
            ldc "bad type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield io.netty.handler.codec.redis.RedisDecoder.type:Lio/netty/handler/codec/redis/RedisMessageType;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial io.netty.handler.codec.redis.RedisCodecException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // long length
        end local 3 // io.netty.buffer.ByteBuf lineByteBuf
        end local 2 // java.util.List out
        end local 1 // io.netty.buffer.ByteBuf in
        end local 0 // io.netty.handler.codec.redis.RedisDecoder this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   17     0         this  Lio/netty/handler/codec/redis/RedisDecoder;
            0   17     1           in  Lio/netty/buffer/ByteBuf;
            0   17     2          out  Ljava/util/List<Ljava/lang/Object;>;
            1   17     3  lineByteBuf  Lio/netty/buffer/ByteBuf;
            4   17     4       length  J
    Exceptions:
      throws java.lang.Exception
    Signature: (Lio/netty/buffer/ByteBuf;Ljava/util/List<Ljava/lang/Object;>;)Z
    MethodParameters:
      Name  Flags
      in    
      out   

  private boolean decodeBulkString(io.netty.buffer.ByteBuf, java.util.List<java.lang.Object>);
    descriptor: (Lio/netty/buffer/ByteBuf;Ljava/util/List;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.netty.handler.codec.redis.RedisDecoder this
        start local 1 // io.netty.buffer.ByteBuf in
        start local 2 // java.util.List out
         0: .line 196
            aload 0 /* this */
            getfield io.netty.handler.codec.redis.RedisDecoder.remainingBulkLength:I
            tableswitch { // -1 - 0
                   -1: 1
                    0: 4
              default: 6
          }
         1: .line 198
      StackMap locals:
      StackMap stack:
            aload 2 /* out */
            getstatic io.netty.handler.codec.redis.FullBulkStringRedisMessage.NULL_INSTANCE:Lio/netty/handler/codec/redis/FullBulkStringRedisMessage;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 199
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.redis.RedisDecoder.resetDecoder:()V
         3: .line 200
            iconst_1
            ireturn
         4: .line 202
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic io.netty.handler.codec.redis.RedisDecoder$State.DECODE_BULK_STRING_EOL:Lio/netty/handler/codec/redis/RedisDecoder$State;
            putfield io.netty.handler.codec.redis.RedisDecoder.state:Lio/netty/handler/codec/redis/RedisDecoder$State;
         5: .line 203
            aload 0 /* this */
            aload 1 /* in */
            aload 2 /* out */
            invokevirtual io.netty.handler.codec.redis.RedisDecoder.decodeBulkStringEndOfLine:(Lio/netty/buffer/ByteBuf;Ljava/util/List;)Z
            ireturn
         6: .line 205
      StackMap locals:
      StackMap stack:
            aload 2 /* out */
            new io.netty.handler.codec.redis.BulkStringHeaderRedisMessage
            dup
            aload 0 /* this */
            getfield io.netty.handler.codec.redis.RedisDecoder.remainingBulkLength:I
            invokespecial io.netty.handler.codec.redis.BulkStringHeaderRedisMessage.<init>:(I)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         7: .line 206
            aload 0 /* this */
            getstatic io.netty.handler.codec.redis.RedisDecoder$State.DECODE_BULK_STRING_CONTENT:Lio/netty/handler/codec/redis/RedisDecoder$State;
            putfield io.netty.handler.codec.redis.RedisDecoder.state:Lio/netty/handler/codec/redis/RedisDecoder$State;
         8: .line 207
            aload 0 /* this */
            aload 1 /* in */
            aload 2 /* out */
            invokevirtual io.netty.handler.codec.redis.RedisDecoder.decodeBulkStringContent:(Lio/netty/buffer/ByteBuf;Ljava/util/List;)Z
            ireturn
        end local 2 // java.util.List out
        end local 1 // io.netty.buffer.ByteBuf in
        end local 0 // io.netty.handler.codec.redis.RedisDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lio/netty/handler/codec/redis/RedisDecoder;
            0    9     1    in  Lio/netty/buffer/ByteBuf;
            0    9     2   out  Ljava/util/List<Ljava/lang/Object;>;
    Exceptions:
      throws java.lang.Exception
    Signature: (Lio/netty/buffer/ByteBuf;Ljava/util/List<Ljava/lang/Object;>;)Z
    MethodParameters:
      Name  Flags
      in    
      out   

  private boolean decodeBulkStringEndOfLine(io.netty.buffer.ByteBuf, java.util.List<java.lang.Object>);
    descriptor: (Lio/netty/buffer/ByteBuf;Ljava/util/List;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.netty.handler.codec.redis.RedisDecoder this
        start local 1 // io.netty.buffer.ByteBuf in
        start local 2 // java.util.List out
         0: .line 213
            aload 1 /* in */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            iconst_2
            if_icmpge 2
         1: .line 214
            iconst_0
            ireturn
         2: .line 216
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            invokestatic io.netty.handler.codec.redis.RedisDecoder.readEndOfLine:(Lio/netty/buffer/ByteBuf;)V
         3: .line 217
            aload 2 /* out */
            getstatic io.netty.handler.codec.redis.FullBulkStringRedisMessage.EMPTY_INSTANCE:Lio/netty/handler/codec/redis/FullBulkStringRedisMessage;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         4: .line 218
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.redis.RedisDecoder.resetDecoder:()V
         5: .line 219
            iconst_1
            ireturn
        end local 2 // java.util.List out
        end local 1 // io.netty.buffer.ByteBuf in
        end local 0 // io.netty.handler.codec.redis.RedisDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lio/netty/handler/codec/redis/RedisDecoder;
            0    6     1    in  Lio/netty/buffer/ByteBuf;
            0    6     2   out  Ljava/util/List<Ljava/lang/Object;>;
    Exceptions:
      throws java.lang.Exception
    Signature: (Lio/netty/buffer/ByteBuf;Ljava/util/List<Ljava/lang/Object;>;)Z
    MethodParameters:
      Name  Flags
      in    
      out   

  private boolean decodeBulkStringContent(io.netty.buffer.ByteBuf, java.util.List<java.lang.Object>);
    descriptor: (Lio/netty/buffer/ByteBuf;Ljava/util/List;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // io.netty.handler.codec.redis.RedisDecoder this
        start local 1 // io.netty.buffer.ByteBuf in
        start local 2 // java.util.List out
         0: .line 224
            aload 1 /* in */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            istore 3 /* readableBytes */
        start local 3 // int readableBytes
         1: .line 225
            iload 3 /* readableBytes */
            ifeq 2
            aload 0 /* this */
            getfield io.netty.handler.codec.redis.RedisDecoder.remainingBulkLength:I
            ifne 3
            iload 3 /* readableBytes */
            iconst_2
            if_icmpge 3
         2: .line 226
      StackMap locals: int
      StackMap stack:
            iconst_0
            ireturn
         3: .line 230
      StackMap locals:
      StackMap stack:
            iload 3 /* readableBytes */
            aload 0 /* this */
            getfield io.netty.handler.codec.redis.RedisDecoder.remainingBulkLength:I
            iconst_2
            iadd
            if_icmplt 9
         4: .line 231
            aload 1 /* in */
            aload 0 /* this */
            getfield io.netty.handler.codec.redis.RedisDecoder.remainingBulkLength:I
            invokevirtual io.netty.buffer.ByteBuf.readSlice:(I)Lio/netty/buffer/ByteBuf;
            astore 4 /* content */
        start local 4 // io.netty.buffer.ByteBuf content
         5: .line 232
            aload 1 /* in */
            invokestatic io.netty.handler.codec.redis.RedisDecoder.readEndOfLine:(Lio/netty/buffer/ByteBuf;)V
         6: .line 234
            aload 2 /* out */
            new io.netty.handler.codec.redis.DefaultLastBulkStringRedisContent
            dup
            aload 4 /* content */
            invokevirtual io.netty.buffer.ByteBuf.retain:()Lio/netty/buffer/ByteBuf;
            invokespecial io.netty.handler.codec.redis.DefaultLastBulkStringRedisContent.<init>:(Lio/netty/buffer/ByteBuf;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         7: .line 235
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.redis.RedisDecoder.resetDecoder:()V
         8: .line 236
            iconst_1
            ireturn
        end local 4 // io.netty.buffer.ByteBuf content
         9: .line 240
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.redis.RedisDecoder.remainingBulkLength:I
            iload 3 /* readableBytes */
            invokestatic java.lang.Math.min:(II)I
            istore 4 /* toRead */
        start local 4 // int toRead
        10: .line 241
            aload 0 /* this */
            dup
            getfield io.netty.handler.codec.redis.RedisDecoder.remainingBulkLength:I
            iload 4 /* toRead */
            isub
            putfield io.netty.handler.codec.redis.RedisDecoder.remainingBulkLength:I
        11: .line 242
            aload 2 /* out */
            new io.netty.handler.codec.redis.DefaultBulkStringRedisContent
            dup
            aload 1 /* in */
            iload 4 /* toRead */
            invokevirtual io.netty.buffer.ByteBuf.readSlice:(I)Lio/netty/buffer/ByteBuf;
            invokevirtual io.netty.buffer.ByteBuf.retain:()Lio/netty/buffer/ByteBuf;
            invokespecial io.netty.handler.codec.redis.DefaultBulkStringRedisContent.<init>:(Lio/netty/buffer/ByteBuf;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        12: .line 243
            iconst_1
            ireturn
        end local 4 // int toRead
        end local 3 // int readableBytes
        end local 2 // java.util.List out
        end local 1 // io.netty.buffer.ByteBuf in
        end local 0 // io.netty.handler.codec.redis.RedisDecoder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   13     0           this  Lio/netty/handler/codec/redis/RedisDecoder;
            0   13     1             in  Lio/netty/buffer/ByteBuf;
            0   13     2            out  Ljava/util/List<Ljava/lang/Object;>;
            1   13     3  readableBytes  I
            5    9     4        content  Lio/netty/buffer/ByteBuf;
           10   13     4         toRead  I
    Exceptions:
      throws java.lang.Exception
    Signature: (Lio/netty/buffer/ByteBuf;Ljava/util/List<Ljava/lang/Object;>;)Z
    MethodParameters:
      Name  Flags
      in    
      out   

  private static void readEndOfLine(io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBuf;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // io.netty.buffer.ByteBuf in
         0: .line 247
            aload 0 /* in */
            invokevirtual io.netty.buffer.ByteBuf.readShort:()S
            istore 1 /* delim */
        start local 1 // short delim
         1: .line 248
            getstatic io.netty.handler.codec.redis.RedisConstants.EOL_SHORT:S
            iload 1 /* delim */
            if_icmpne 3
         2: .line 249
            return
         3: .line 251
      StackMap locals: int
      StackMap stack:
            iload 1 /* delim */
            invokestatic io.netty.handler.codec.redis.RedisCodecUtil.shortToBytes:(S)[B
            astore 2 /* bytes */
        start local 2 // byte[] bytes
         4: .line 252
            new io.netty.handler.codec.redis.RedisCodecException
            dup
            new java.lang.StringBuilder
            dup
            ldc "delimiter: ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* bytes */
            iconst_0
            baload
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* bytes */
            iconst_1
            baload
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "] (expected: \\r\\n)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial io.netty.handler.codec.redis.RedisCodecException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // byte[] bytes
        end local 1 // short delim
        end local 0 // io.netty.buffer.ByteBuf in
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0     in  Lio/netty/buffer/ByteBuf;
            1    5     1  delim  S
            4    5     2  bytes  [B
    MethodParameters:
      Name  Flags
      in    final

  private io.netty.handler.codec.redis.RedisMessage newInlineRedisMessage(io.netty.handler.codec.redis.RedisMessageType, io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/handler/codec/redis/RedisMessageType;Lio/netty/buffer/ByteBuf;)Lio/netty/handler/codec/redis/RedisMessage;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // io.netty.handler.codec.redis.RedisDecoder this
        start local 1 // io.netty.handler.codec.redis.RedisMessageType messageType
        start local 2 // io.netty.buffer.ByteBuf content
         0: .line 256
            invokestatic io.netty.handler.codec.redis.RedisDecoder.$SWITCH_TABLE$io$netty$handler$codec$redis$RedisMessageType:()[I
            aload 1 /* messageType */
            invokevirtual io.netty.handler.codec.redis.RedisMessageType.ordinal:()I
            iaload
            tableswitch { // 1 - 4
                    1: 1
                    2: 2
                    3: 6
                    4: 10
              default: 14
          }
         1: .line 258
      StackMap locals:
      StackMap stack:
            new io.netty.handler.codec.redis.InlineCommandRedisMessage
            dup
            aload 2 /* content */
            getstatic io.netty.util.CharsetUtil.UTF_8:Ljava/nio/charset/Charset;
            invokevirtual io.netty.buffer.ByteBuf.toString:(Ljava/nio/charset/Charset;)Ljava/lang/String;
            invokespecial io.netty.handler.codec.redis.InlineCommandRedisMessage.<init>:(Ljava/lang/String;)V
            areturn
         2: .line 260
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.redis.RedisDecoder.messagePool:Lio/netty/handler/codec/redis/RedisMessagePool;
            aload 2 /* content */
            invokeinterface io.netty.handler.codec.redis.RedisMessagePool.getSimpleString:(Lio/netty/buffer/ByteBuf;)Lio/netty/handler/codec/redis/SimpleStringRedisMessage;
            astore 3 /* cached */
        start local 3 // io.netty.handler.codec.redis.SimpleStringRedisMessage cached
         3: .line 261
            aload 3 /* cached */
            ifnull 4
            aload 3 /* cached */
            goto 5
      StackMap locals: io.netty.handler.codec.redis.SimpleStringRedisMessage
      StackMap stack:
         4: new io.netty.handler.codec.redis.SimpleStringRedisMessage
            dup
            aload 2 /* content */
            getstatic io.netty.util.CharsetUtil.UTF_8:Ljava/nio/charset/Charset;
            invokevirtual io.netty.buffer.ByteBuf.toString:(Ljava/nio/charset/Charset;)Ljava/lang/String;
            invokespecial io.netty.handler.codec.redis.SimpleStringRedisMessage.<init>:(Ljava/lang/String;)V
      StackMap locals:
      StackMap stack: io.netty.handler.codec.redis.SimpleStringRedisMessage
         5: areturn
        end local 3 // io.netty.handler.codec.redis.SimpleStringRedisMessage cached
         6: .line 264
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.redis.RedisDecoder.messagePool:Lio/netty/handler/codec/redis/RedisMessagePool;
            aload 2 /* content */
            invokeinterface io.netty.handler.codec.redis.RedisMessagePool.getError:(Lio/netty/buffer/ByteBuf;)Lio/netty/handler/codec/redis/ErrorRedisMessage;
            astore 3 /* cached */
        start local 3 // io.netty.handler.codec.redis.ErrorRedisMessage cached
         7: .line 265
            aload 3 /* cached */
            ifnull 8
            aload 3 /* cached */
            goto 9
      StackMap locals: io.netty.handler.codec.redis.ErrorRedisMessage
      StackMap stack:
         8: new io.netty.handler.codec.redis.ErrorRedisMessage
            dup
            aload 2 /* content */
            getstatic io.netty.util.CharsetUtil.UTF_8:Ljava/nio/charset/Charset;
            invokevirtual io.netty.buffer.ByteBuf.toString:(Ljava/nio/charset/Charset;)Ljava/lang/String;
            invokespecial io.netty.handler.codec.redis.ErrorRedisMessage.<init>:(Ljava/lang/String;)V
      StackMap locals:
      StackMap stack: io.netty.handler.codec.redis.ErrorRedisMessage
         9: areturn
        end local 3 // io.netty.handler.codec.redis.ErrorRedisMessage cached
        10: .line 268
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.redis.RedisDecoder.messagePool:Lio/netty/handler/codec/redis/RedisMessagePool;
            aload 2 /* content */
            invokeinterface io.netty.handler.codec.redis.RedisMessagePool.getInteger:(Lio/netty/buffer/ByteBuf;)Lio/netty/handler/codec/redis/IntegerRedisMessage;
            astore 3 /* cached */
        start local 3 // io.netty.handler.codec.redis.IntegerRedisMessage cached
        11: .line 269
            aload 3 /* cached */
            ifnull 12
            aload 3 /* cached */
            goto 13
      StackMap locals: io.netty.handler.codec.redis.IntegerRedisMessage
      StackMap stack:
        12: new io.netty.handler.codec.redis.IntegerRedisMessage
            dup
            aload 0 /* this */
            aload 2 /* content */
            invokevirtual io.netty.handler.codec.redis.RedisDecoder.parseRedisNumber:(Lio/netty/buffer/ByteBuf;)J
            invokespecial io.netty.handler.codec.redis.IntegerRedisMessage.<init>:(J)V
      StackMap locals:
      StackMap stack: io.netty.handler.codec.redis.IntegerRedisMessage
        13: areturn
        end local 3 // io.netty.handler.codec.redis.IntegerRedisMessage cached
        14: .line 272
      StackMap locals:
      StackMap stack:
            new io.netty.handler.codec.redis.RedisCodecException
            dup
            new java.lang.StringBuilder
            dup
            ldc "bad type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* messageType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial io.netty.handler.codec.redis.RedisCodecException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // io.netty.buffer.ByteBuf content
        end local 1 // io.netty.handler.codec.redis.RedisMessageType messageType
        end local 0 // io.netty.handler.codec.redis.RedisDecoder this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0         this  Lio/netty/handler/codec/redis/RedisDecoder;
            0   15     1  messageType  Lio/netty/handler/codec/redis/RedisMessageType;
            0   15     2      content  Lio/netty/buffer/ByteBuf;
            3    6     3       cached  Lio/netty/handler/codec/redis/SimpleStringRedisMessage;
            7   10     3       cached  Lio/netty/handler/codec/redis/ErrorRedisMessage;
           11   14     3       cached  Lio/netty/handler/codec/redis/IntegerRedisMessage;
    MethodParameters:
             Name  Flags
      messageType  
      content      

  private static io.netty.buffer.ByteBuf readLine(io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // io.netty.buffer.ByteBuf in
         0: .line 277
            aload 0 /* in */
            iconst_2
            invokevirtual io.netty.buffer.ByteBuf.isReadable:(I)Z
            ifne 2
         1: .line 278
            aconst_null
            areturn
         2: .line 280
      StackMap locals:
      StackMap stack:
            aload 0 /* in */
            getstatic io.netty.util.ByteProcessor.FIND_LF:Lio/netty/util/ByteProcessor;
            invokevirtual io.netty.buffer.ByteBuf.forEachByte:(Lio/netty/util/ByteProcessor;)I
            istore 1 /* lfIndex */
        start local 1 // int lfIndex
         3: .line 281
            iload 1 /* lfIndex */
            ifge 5
         4: .line 282
            aconst_null
            areturn
         5: .line 284
      StackMap locals: int
      StackMap stack:
            aload 0 /* in */
            iload 1 /* lfIndex */
            aload 0 /* in */
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
            isub
            iconst_1
            isub
            invokevirtual io.netty.buffer.ByteBuf.readSlice:(I)Lio/netty/buffer/ByteBuf;
            astore 2 /* data */
        start local 2 // io.netty.buffer.ByteBuf data
         6: .line 285
            aload 0 /* in */
            invokestatic io.netty.handler.codec.redis.RedisDecoder.readEndOfLine:(Lio/netty/buffer/ByteBuf;)V
         7: .line 286
            aload 2 /* data */
            areturn
        end local 2 // io.netty.buffer.ByteBuf data
        end local 1 // int lfIndex
        end local 0 // io.netty.buffer.ByteBuf in
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0       in  Lio/netty/buffer/ByteBuf;
            3    8     1  lfIndex  I
            6    8     2     data  Lio/netty/buffer/ByteBuf;
    MethodParameters:
      Name  Flags
      in    

  private long parseRedisNumber(io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBuf;)J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // io.netty.handler.codec.redis.RedisDecoder this
        start local 1 // io.netty.buffer.ByteBuf byteBuf
         0: .line 290
            aload 1 /* byteBuf */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            istore 2 /* readableBytes */
        start local 2 // int readableBytes
         1: .line 291
            iload 2 /* readableBytes */
            ifle 2
            aload 1 /* byteBuf */
            aload 1 /* byteBuf */
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
            invokevirtual io.netty.buffer.ByteBuf.getByte:(I)B
            bipush 45
            if_icmpne 2
            iconst_1
            goto 3
      StackMap locals: int
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: istore 3 /* negative */
        start local 3 // boolean negative
         4: .line 292
            iload 3 /* negative */
            ifeq 5
            iconst_1
            goto 6
      StackMap locals: int
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: istore 4 /* extraOneByteForNegative */
        start local 4 // int extraOneByteForNegative
         7: .line 293
            iload 2 /* readableBytes */
            iload 4 /* extraOneByteForNegative */
            if_icmpgt 9
         8: .line 294
            new io.netty.handler.codec.redis.RedisCodecException
            dup
            new java.lang.StringBuilder
            dup
            ldc "no number to parse: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* byteBuf */
            getstatic io.netty.util.CharsetUtil.US_ASCII:Ljava/nio/charset/Charset;
            invokevirtual io.netty.buffer.ByteBuf.toString:(Ljava/nio/charset/Charset;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial io.netty.handler.codec.redis.RedisCodecException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 296
      StackMap locals: int
      StackMap stack:
            iload 2 /* readableBytes */
            bipush 19
            iload 4 /* extraOneByteForNegative */
            iadd
            if_icmple 13
        10: .line 297
            new io.netty.handler.codec.redis.RedisCodecException
            dup
            new java.lang.StringBuilder
            dup
            ldc "too many characters to be a valid RESP Integer: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        11: .line 298
            aload 1 /* byteBuf */
            getstatic io.netty.util.CharsetUtil.US_ASCII:Ljava/nio/charset/Charset;
            invokevirtual io.netty.buffer.ByteBuf.toString:(Ljava/nio/charset/Charset;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        12: .line 297
            invokespecial io.netty.handler.codec.redis.RedisCodecException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 300
      StackMap locals:
      StackMap stack:
            iload 3 /* negative */
            ifeq 15
        14: .line 301
            aload 0 /* this */
            aload 1 /* byteBuf */
            iload 4 /* extraOneByteForNegative */
            invokevirtual io.netty.buffer.ByteBuf.skipBytes:(I)Lio/netty/buffer/ByteBuf;
            invokevirtual io.netty.handler.codec.redis.RedisDecoder.parsePositiveNumber:(Lio/netty/buffer/ByteBuf;)J
            lneg
            lreturn
        15: .line 303
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* byteBuf */
            invokevirtual io.netty.handler.codec.redis.RedisDecoder.parsePositiveNumber:(Lio/netty/buffer/ByteBuf;)J
            lreturn
        end local 4 // int extraOneByteForNegative
        end local 3 // boolean negative
        end local 2 // int readableBytes
        end local 1 // io.netty.buffer.ByteBuf byteBuf
        end local 0 // io.netty.handler.codec.redis.RedisDecoder this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   16     0                     this  Lio/netty/handler/codec/redis/RedisDecoder;
            0   16     1                  byteBuf  Lio/netty/buffer/ByteBuf;
            1   16     2            readableBytes  I
            4   16     3                 negative  Z
            7   16     4  extraOneByteForNegative  I
    MethodParameters:
         Name  Flags
      byteBuf  

  private long parsePositiveNumber(io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBuf;)J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.handler.codec.redis.RedisDecoder this
        start local 1 // io.netty.buffer.ByteBuf byteBuf
         0: .line 307
            aload 0 /* this */
            getfield io.netty.handler.codec.redis.RedisDecoder.toPositiveLongProcessor:Lio/netty/handler/codec/redis/RedisDecoder$ToPositiveLongProcessor;
            invokevirtual io.netty.handler.codec.redis.RedisDecoder$ToPositiveLongProcessor.reset:()V
         1: .line 308
            aload 1 /* byteBuf */
            aload 0 /* this */
            getfield io.netty.handler.codec.redis.RedisDecoder.toPositiveLongProcessor:Lio/netty/handler/codec/redis/RedisDecoder$ToPositiveLongProcessor;
            invokevirtual io.netty.buffer.ByteBuf.forEachByte:(Lio/netty/util/ByteProcessor;)I
            pop
         2: .line 309
            aload 0 /* this */
            getfield io.netty.handler.codec.redis.RedisDecoder.toPositiveLongProcessor:Lio/netty/handler/codec/redis/RedisDecoder$ToPositiveLongProcessor;
            invokevirtual io.netty.handler.codec.redis.RedisDecoder$ToPositiveLongProcessor.content:()J
            lreturn
        end local 1 // io.netty.buffer.ByteBuf byteBuf
        end local 0 // io.netty.handler.codec.redis.RedisDecoder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lio/netty/handler/codec/redis/RedisDecoder;
            0    3     1  byteBuf  Lio/netty/buffer/ByteBuf;
    MethodParameters:
         Name  Flags
      byteBuf  

  static int[] $SWITCH_TABLE$io$netty$handler$codec$redis$RedisDecoder$State();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 35
            getstatic io.netty.handler.codec.redis.RedisDecoder.$SWITCH_TABLE$io$netty$handler$codec$redis$RedisDecoder$State:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic io.netty.handler.codec.redis.RedisDecoder$State.values:()[Lio/netty/handler/codec/redis/RedisDecoder$State;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic io.netty.handler.codec.redis.RedisDecoder$State.DECODE_BULK_STRING_CONTENT:Lio/netty/handler/codec/redis/RedisDecoder$State;
            invokevirtual io.netty.handler.codec.redis.RedisDecoder$State.ordinal:()I
            iconst_5
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic io.netty.handler.codec.redis.RedisDecoder$State.DECODE_BULK_STRING_EOL:Lio/netty/handler/codec/redis/RedisDecoder$State;
            invokevirtual io.netty.handler.codec.redis.RedisDecoder$State.ordinal:()I
            iconst_4
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic io.netty.handler.codec.redis.RedisDecoder$State.DECODE_INLINE:Lio/netty/handler/codec/redis/RedisDecoder$State;
            invokevirtual io.netty.handler.codec.redis.RedisDecoder$State.ordinal:()I
            iconst_2
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic io.netty.handler.codec.redis.RedisDecoder$State.DECODE_LENGTH:Lio/netty/handler/codec/redis/RedisDecoder$State;
            invokevirtual io.netty.handler.codec.redis.RedisDecoder$State.ordinal:()I
            iconst_3
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic io.netty.handler.codec.redis.RedisDecoder$State.DECODE_TYPE:Lio/netty/handler/codec/redis/RedisDecoder$State;
            invokevirtual io.netty.handler.codec.redis.RedisDecoder$State.ordinal:()I
            iconst_1
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            dup
            putstatic io.netty.handler.codec.redis.RedisDecoder.$SWITCH_TABLE$io$netty$handler$codec$redis$RedisDecoder$State:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError

  static int[] $SWITCH_TABLE$io$netty$handler$codec$redis$RedisMessageType();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 35
            getstatic io.netty.handler.codec.redis.RedisDecoder.$SWITCH_TABLE$io$netty$handler$codec$redis$RedisMessageType:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic io.netty.handler.codec.redis.RedisMessageType.values:()[Lio/netty/handler/codec/redis/RedisMessageType;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic io.netty.handler.codec.redis.RedisMessageType.ARRAY_HEADER:Lio/netty/handler/codec/redis/RedisMessageType;
            invokevirtual io.netty.handler.codec.redis.RedisMessageType.ordinal:()I
            bipush 6
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic io.netty.handler.codec.redis.RedisMessageType.BULK_STRING:Lio/netty/handler/codec/redis/RedisMessageType;
            invokevirtual io.netty.handler.codec.redis.RedisMessageType.ordinal:()I
            iconst_5
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic io.netty.handler.codec.redis.RedisMessageType.ERROR:Lio/netty/handler/codec/redis/RedisMessageType;
            invokevirtual io.netty.handler.codec.redis.RedisMessageType.ordinal:()I
            iconst_3
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic io.netty.handler.codec.redis.RedisMessageType.INLINE_COMMAND:Lio/netty/handler/codec/redis/RedisMessageType;
            invokevirtual io.netty.handler.codec.redis.RedisMessageType.ordinal:()I
            iconst_1
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic io.netty.handler.codec.redis.RedisMessageType.INTEGER:Lio/netty/handler/codec/redis/RedisMessageType;
            invokevirtual io.netty.handler.codec.redis.RedisMessageType.ordinal:()I
            iconst_4
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic io.netty.handler.codec.redis.RedisMessageType.SIMPLE_STRING:Lio/netty/handler/codec/redis/RedisMessageType;
            invokevirtual io.netty.handler.codec.redis.RedisMessageType.ordinal:()I
            iconst_2
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            dup
            putstatic io.netty.handler.codec.redis.RedisDecoder.$SWITCH_TABLE$io$netty$handler$codec$redis$RedisMessageType:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
}
SourceFile: "RedisDecoder.java"
NestMembers:
  io.netty.handler.codec.redis.RedisDecoder$State  io.netty.handler.codec.redis.RedisDecoder$ToPositiveLongProcessor
InnerClasses:
  private final State = io.netty.handler.codec.redis.RedisDecoder$State of io.netty.handler.codec.redis.RedisDecoder
  private final ToPositiveLongProcessor = io.netty.handler.codec.redis.RedisDecoder$ToPositiveLongProcessor of io.netty.handler.codec.redis.RedisDecoder