public abstract class io.netty.handler.codec.http.cookie.CookieDecoder
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: io.netty.handler.codec.http.cookie.CookieDecoder
  super_class: java.lang.Object
{
  private final io.netty.util.internal.logging.InternalLogger logger;
    descriptor: Lio/netty/util/internal/logging/InternalLogger;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  protected void <init>(boolean);
    descriptor: (Z)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.handler.codec.http.cookie.CookieDecoder this
        start local 1 // boolean strict
         0: .line 36
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 32
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic io.netty.util.internal.logging.InternalLoggerFactory.getInstance:(Ljava/lang/Class;)Lio/netty/util/internal/logging/InternalLogger;
            putfield io.netty.handler.codec.http.cookie.CookieDecoder.logger:Lio/netty/util/internal/logging/InternalLogger;
         2: .line 37
            aload 0 /* this */
            iload 1 /* strict */
            putfield io.netty.handler.codec.http.cookie.CookieDecoder.strict:Z
         3: .line 38
            return
        end local 1 // boolean strict
        end local 0 // io.netty.handler.codec.http.cookie.CookieDecoder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lio/netty/handler/codec/http/cookie/CookieDecoder;
            0    4     1  strict  Z
    MethodParameters:
        Name  Flags
      strict  

  protected io.netty.handler.codec.http.cookie.DefaultCookie initCookie(java.lang.String, int, int, int, int);
    descriptor: (Ljava/lang/String;IIII)Lio/netty/handler/codec/http/cookie/DefaultCookie;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=12, args_size=6
        start local 0 // io.netty.handler.codec.http.cookie.CookieDecoder this
        start local 1 // java.lang.String header
        start local 2 // int nameBegin
        start local 3 // int nameEnd
        start local 4 // int valueBegin
        start local 5 // int valueEnd
         0: .line 41
            iload 2 /* nameBegin */
            iconst_m1
            if_icmpeq 1
            iload 2 /* nameBegin */
            iload 3 /* nameEnd */
            if_icmpne 3
         1: .line 42
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.http.cookie.CookieDecoder.logger:Lio/netty/util/internal/logging/InternalLogger;
            ldc "Skipping cookie with null name"
            invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;)V
         2: .line 43
            aconst_null
            areturn
         3: .line 46
      StackMap locals:
      StackMap stack:
            iload 4 /* valueBegin */
            iconst_m1
            if_icmpne 6
         4: .line 47
            aload 0 /* this */
            getfield io.netty.handler.codec.http.cookie.CookieDecoder.logger:Lio/netty/util/internal/logging/InternalLogger;
            ldc "Skipping cookie with null value"
            invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;)V
         5: .line 48
            aconst_null
            areturn
         6: .line 51
      StackMap locals:
      StackMap stack:
            aload 1 /* header */
            iload 4 /* valueBegin */
            iload 5 /* valueEnd */
            invokestatic java.nio.CharBuffer.wrap:(Ljava/lang/CharSequence;II)Ljava/nio/CharBuffer;
            astore 6 /* wrappedValue */
        start local 6 // java.lang.CharSequence wrappedValue
         7: .line 52
            aload 6 /* wrappedValue */
            invokestatic io.netty.handler.codec.http.cookie.CookieUtil.unwrapValue:(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
            astore 7 /* unwrappedValue */
        start local 7 // java.lang.CharSequence unwrappedValue
         8: .line 53
            aload 7 /* unwrappedValue */
            ifnonnull 13
         9: .line 54
            aload 0 /* this */
            getfield io.netty.handler.codec.http.cookie.CookieDecoder.logger:Lio/netty/util/internal/logging/InternalLogger;
            ldc "Skipping cookie because starting quotes are not properly balanced in '{}'"
        10: .line 55
            aload 6 /* wrappedValue */
        11: .line 54
            invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
        12: .line 56
            aconst_null
            areturn
        13: .line 59
      StackMap locals: java.lang.CharSequence java.lang.CharSequence
      StackMap stack:
            aload 1 /* header */
            iload 2 /* nameBegin */
            iload 3 /* nameEnd */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 8 /* name */
        start local 8 // java.lang.String name
        14: .line 62
            aload 0 /* this */
            getfield io.netty.handler.codec.http.cookie.CookieDecoder.strict:Z
            ifeq 21
            aload 8 /* name */
            invokestatic io.netty.handler.codec.http.cookie.CookieUtil.firstInvalidCookieNameOctet:(Ljava/lang/CharSequence;)I
            dup
            istore 9 /* invalidOctetPos */
        start local 9 // int invalidOctetPos
        15: iflt 21
        16: .line 63
            aload 0 /* this */
            getfield io.netty.handler.codec.http.cookie.CookieDecoder.logger:Lio/netty/util/internal/logging/InternalLogger;
            invokeinterface io.netty.util.internal.logging.InternalLogger.isDebugEnabled:()Z
            ifeq 20
        17: .line 64
            aload 0 /* this */
            getfield io.netty.handler.codec.http.cookie.CookieDecoder.logger:Lio/netty/util/internal/logging/InternalLogger;
            ldc "Skipping cookie because name '{}' contains invalid char '{}'"
        18: .line 65
            aload 8 /* name */
            aload 8 /* name */
            iload 9 /* invalidOctetPos */
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
        19: .line 64
            invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        20: .line 67
      StackMap locals: java.lang.String int
      StackMap stack:
            aconst_null
            areturn
        end local 9 // int invalidOctetPos
        21: .line 70
      StackMap locals:
      StackMap stack:
            aload 7 /* unwrappedValue */
            invokeinterface java.lang.CharSequence.length:()I
            iload 5 /* valueEnd */
            iload 4 /* valueBegin */
            isub
            if_icmpeq 22
            iconst_1
            goto 23
      StackMap locals:
      StackMap stack:
        22: iconst_0
      StackMap locals:
      StackMap stack: int
        23: istore 10 /* wrap */
        start local 10 // boolean wrap
        24: .line 72
            aload 0 /* this */
            getfield io.netty.handler.codec.http.cookie.CookieDecoder.strict:Z
            ifeq 31
            aload 7 /* unwrappedValue */
            invokestatic io.netty.handler.codec.http.cookie.CookieUtil.firstInvalidCookieValueOctet:(Ljava/lang/CharSequence;)I
            dup
            istore 9 /* invalidOctetPos */
        start local 9 // int invalidOctetPos
        25: iflt 31
        26: .line 73
            aload 0 /* this */
            getfield io.netty.handler.codec.http.cookie.CookieDecoder.logger:Lio/netty/util/internal/logging/InternalLogger;
            invokeinterface io.netty.util.internal.logging.InternalLogger.isDebugEnabled:()Z
            ifeq 30
        27: .line 74
            aload 0 /* this */
            getfield io.netty.handler.codec.http.cookie.CookieDecoder.logger:Lio/netty/util/internal/logging/InternalLogger;
            ldc "Skipping cookie because value '{}' contains invalid char '{}'"
        28: .line 75
            aload 7 /* unwrappedValue */
            aload 7 /* unwrappedValue */
            iload 9 /* invalidOctetPos */
            invokeinterface java.lang.CharSequence.charAt:(I)C
            invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
        29: .line 74
            invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        30: .line 77
      StackMap locals: int int
      StackMap stack:
            aconst_null
            areturn
        end local 9 // int invalidOctetPos
        31: .line 80
      StackMap locals: io.netty.handler.codec.http.cookie.CookieDecoder java.lang.String int int int int java.lang.CharSequence java.lang.CharSequence java.lang.String top int
      StackMap stack:
            new io.netty.handler.codec.http.cookie.DefaultCookie
            dup
            aload 8 /* name */
            aload 7 /* unwrappedValue */
            invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
            invokespecial io.netty.handler.codec.http.cookie.DefaultCookie.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 11 /* cookie */
        start local 11 // io.netty.handler.codec.http.cookie.DefaultCookie cookie
        32: .line 81
            aload 11 /* cookie */
            iload 10 /* wrap */
            invokevirtual io.netty.handler.codec.http.cookie.DefaultCookie.setWrap:(Z)V
        33: .line 82
            aload 11 /* cookie */
            areturn
        end local 11 // io.netty.handler.codec.http.cookie.DefaultCookie cookie
        end local 10 // boolean wrap
        end local 8 // java.lang.String name
        end local 7 // java.lang.CharSequence unwrappedValue
        end local 6 // java.lang.CharSequence wrappedValue
        end local 5 // int valueEnd
        end local 4 // int valueBegin
        end local 3 // int nameEnd
        end local 2 // int nameBegin
        end local 1 // java.lang.String header
        end local 0 // io.netty.handler.codec.http.cookie.CookieDecoder this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   34     0             this  Lio/netty/handler/codec/http/cookie/CookieDecoder;
            0   34     1           header  Ljava/lang/String;
            0   34     2        nameBegin  I
            0   34     3          nameEnd  I
            0   34     4       valueBegin  I
            0   34     5         valueEnd  I
            7   34     6     wrappedValue  Ljava/lang/CharSequence;
            8   34     7   unwrappedValue  Ljava/lang/CharSequence;
           14   34     8             name  Ljava/lang/String;
           15   21     9  invalidOctetPos  I
           25   31     9  invalidOctetPos  I
           24   34    10             wrap  Z
           32   34    11           cookie  Lio/netty/handler/codec/http/cookie/DefaultCookie;
    MethodParameters:
            Name  Flags
      header      
      nameBegin   
      nameEnd     
      valueBegin  
      valueEnd    
}
SourceFile: "CookieDecoder.java"