final class jdk.internal.net.http.Http1Response$BodyReader extends jdk.internal.net.http.Http1Response$Receiver<jdk.internal.net.http.ResponseContent$BodyParser>
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: jdk.internal.net.http.Http1Response$BodyReader
  super_class: jdk.internal.net.http.Http1Response$Receiver
{
  final java.util.function.Consumer<jdk.internal.net.http.Http1Response$State> onComplete;
    descriptor: Ljava/util/function/Consumer;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/function/Consumer<Ljdk/internal/net/http/Http1Response$State;>;

  volatile jdk.internal.net.http.ResponseContent$BodyParser parser;
    descriptor: Ljdk/internal/net/http/ResponseContent$BodyParser;
    flags: (0x0040) ACC_VOLATILE

  volatile java.util.concurrent.CompletableFuture<jdk.internal.net.http.Http1Response$State> cf;
    descriptor: Ljava/util/concurrent/CompletableFuture;
    flags: (0x0040) ACC_VOLATILE
    Signature: Ljava/util/concurrent/CompletableFuture<Ljdk/internal/net/http/Http1Response$State;>;

  volatile jdk.internal.net.http.AbstractSubscription subscription;
    descriptor: Ljdk/internal/net/http/AbstractSubscription;
    flags: (0x0040) ACC_VOLATILE

  final jdk.internal.net.http.Http1Response this$0;
    descriptor: Ljdk/internal/net/http/Http1Response;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 710
            ldc Ljdk/internal/net/http/Http1Response;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic jdk.internal.net.http.Http1Response$BodyReader.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(java.util.function.Consumer<jdk.internal.net.http.Http1Response$State>);
    descriptor: (Ljdk/internal/net/http/Http1Response;Ljava/util/function/Consumer;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // jdk.internal.net.http.Http1Response$BodyReader this
        start local 2 // java.util.function.Consumer onComplete
         0: .line 715
            aload 0 /* this */
            aload 1
            putfield jdk.internal.net.http.Http1Response$BodyReader.this$0:Ljdk/internal/net/http/Http1Response;
            aload 0 /* this */
            invokespecial jdk.internal.net.http.Http1Response$Receiver.<init>:()V
         1: .line 716
            aload 0 /* this */
            aload 2 /* onComplete */
            putfield jdk.internal.net.http.Http1Response$BodyReader.onComplete:Ljava/util/function/Consumer;
         2: .line 717
            return
        end local 2 // java.util.function.Consumer onComplete
        end local 0 // jdk.internal.net.http.Http1Response$BodyReader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Ljdk/internal/net/http/Http1Response$BodyReader;
            0    3     2  onComplete  Ljava/util/function/Consumer<Ljdk/internal/net/http/Http1Response$State;>;
    Signature: (Ljava/util/function/Consumer<Ljdk/internal/net/http/Http1Response$State;>;)V
    MethodParameters:
            Name  Flags
      this$0      final
      onComplete  

  void reset();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.internal.net.http.Http1Response$BodyReader this
         0: .line 721
            aload 0 /* this */
            aconst_null
            putfield jdk.internal.net.http.Http1Response$BodyReader.parser:Ljdk/internal/net/http/ResponseContent$BodyParser;
         1: .line 722
            aload 0 /* this */
            aconst_null
            putfield jdk.internal.net.http.Http1Response$BodyReader.cf:Ljava/util/concurrent/CompletableFuture;
         2: .line 723
            aload 0 /* this */
            aconst_null
            putfield jdk.internal.net.http.Http1Response$BodyReader.subscription:Ljdk/internal/net/http/AbstractSubscription;
         3: .line 724
            return
        end local 0 // jdk.internal.net.http.Http1Response$BodyReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljdk/internal/net/http/Http1Response$BodyReader;

  final void start(jdk.internal.net.http.ResponseContent$BodyParser);
    descriptor: (Ljdk/internal/net/http/ResponseContent$BodyParser;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.internal.net.http.Http1Response$BodyReader this
        start local 1 // jdk.internal.net.http.ResponseContent$BodyParser parser
         0: .line 729
            aload 0 /* this */
            new jdk.internal.net.http.common.MinimalFuture
            dup
            invokespecial jdk.internal.net.http.common.MinimalFuture.<init>:()V
            putfield jdk.internal.net.http.Http1Response$BodyReader.cf:Ljava/util/concurrent/CompletableFuture;
         1: .line 730
            aload 0 /* this */
            aload 1 /* parser */
            putfield jdk.internal.net.http.Http1Response$BodyReader.parser:Ljdk/internal/net/http/ResponseContent$BodyParser;
         2: .line 731
            return
        end local 1 // jdk.internal.net.http.ResponseContent$BodyParser parser
        end local 0 // jdk.internal.net.http.Http1Response$BodyReader this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Ljdk/internal/net/http/Http1Response$BodyReader;
            0    3     1  parser  Ljdk/internal/net/http/ResponseContent$BodyParser;
    MethodParameters:
        Name  Flags
      parser  

  java.util.concurrent.CompletableFuture<jdk.internal.net.http.Http1Response$State> completion();
    descriptor: ()Ljava/util/concurrent/CompletableFuture;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.internal.net.http.Http1Response$BodyReader this
         0: .line 735
            aload 0 /* this */
            getfield jdk.internal.net.http.Http1Response$BodyReader.cf:Ljava/util/concurrent/CompletableFuture;
            areturn
        end local 0 // jdk.internal.net.http.Http1Response$BodyReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/net/http/Http1Response$BodyReader;
    Signature: ()Ljava/util/concurrent/CompletableFuture<Ljdk/internal/net/http/Http1Response$State;>;

  public final boolean tryAsyncReceive(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jdk.internal.net.http.Http1Response$BodyReader this
        start local 1 // java.nio.ByteBuffer b
         0: .line 740
            aload 0 /* this */
            aload 1 /* b */
            aload 0 /* this */
            getfield jdk.internal.net.http.Http1Response$BodyReader.parser:Ljdk/internal/net/http/ResponseContent$BodyParser;
            aload 0 /* this */
            getfield jdk.internal.net.http.Http1Response$BodyReader.cf:Ljava/util/concurrent/CompletableFuture;
            invokevirtual jdk.internal.net.http.Http1Response$BodyReader.accept:(Ljava/nio/ByteBuffer;Ljava/lang/Object;Ljava/util/concurrent/CompletableFuture;)Z
            ireturn
        end local 1 // java.nio.ByteBuffer b
        end local 0 // jdk.internal.net.http.Http1Response$BodyReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/net/http/Http1Response$BodyReader;
            0    1     1     b  Ljava/nio/ByteBuffer;
    MethodParameters:
      Name  Flags
      b     

  public final void onReadError(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.internal.net.http.Http1Response$BodyReader this
        start local 1 // java.lang.Throwable t
         0: .line 745
            aload 1 /* t */
            instanceof java.io.EOFException
            ifeq 4
            aload 0 /* this */
            getfield jdk.internal.net.http.Http1Response$BodyReader.this$0:Ljdk/internal/net/http/Http1Response;
            getfield jdk.internal.net.http.Http1Response.bodyParser:Ljdk/internal/net/http/ResponseContent$BodyParser;
            ifnull 4
         1: .line 746
            aload 0 /* this */
            getfield jdk.internal.net.http.Http1Response$BodyReader.this$0:Ljdk/internal/net/http/Http1Response;
            getfield jdk.internal.net.http.Http1Response.bodyParser:Ljdk/internal/net/http/ResponseContent$BodyParser;
            instanceof jdk.internal.net.http.ResponseContent$UnknownLengthBodyParser
            ifeq 4
         2: .line 747
            aload 0 /* this */
            getfield jdk.internal.net.http.Http1Response$BodyReader.this$0:Ljdk/internal/net/http/Http1Response;
            getfield jdk.internal.net.http.Http1Response.bodyParser:Ljdk/internal/net/http/ResponseContent$BodyParser;
            checkcast jdk.internal.net.http.ResponseContent$UnknownLengthBodyParser
            invokevirtual jdk.internal.net.http.ResponseContent$UnknownLengthBodyParser.complete:()V
         3: .line 748
            return
         4: .line 750
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            aload 0 /* this */
            getfield jdk.internal.net.http.Http1Response$BodyReader.parser:Ljdk/internal/net/http/ResponseContent$BodyParser;
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic get(Ljdk/internal/net/http/ResponseContent$BodyParser;)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  jdk/internal/net/http/ResponseContent$BodyParser.currentStateMessage()Ljava/lang/String; (9 itf)
                  ()Ljava/lang/String;
            invokestatic jdk.internal.net.http.common.Utils.wrapWithExtraDetail:(Ljava/lang/Throwable;Ljava/util/function/Supplier;)Ljava/lang/Throwable;
            astore 1 /* t */
         5: .line 751
            aload 0 /* this */
            getfield jdk.internal.net.http.Http1Response$BodyReader.this$0:Ljdk/internal/net/http/Http1Response;
            aload 1 /* t */
            invokevirtual jdk.internal.net.http.Http1Response.onReadError:(Ljava/lang/Throwable;)V
         6: .line 752
            return
        end local 1 // java.lang.Throwable t
        end local 0 // jdk.internal.net.http.Http1Response$BodyReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljdk/internal/net/http/Http1Response$BodyReader;
            0    7     1     t  Ljava/lang/Throwable;
    MethodParameters:
      Name  Flags
      t     

  public jdk.internal.net.http.AbstractSubscription subscription();
    descriptor: ()Ljdk/internal/net/http/AbstractSubscription;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.internal.net.http.Http1Response$BodyReader this
         0: .line 756
            aload 0 /* this */
            getfield jdk.internal.net.http.Http1Response$BodyReader.subscription:Ljdk/internal/net/http/AbstractSubscription;
            areturn
        end local 0 // jdk.internal.net.http.Http1Response$BodyReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/net/http/Http1Response$BodyReader;

  public void onSubscribe(jdk.internal.net.http.AbstractSubscription);
    descriptor: (Ljdk/internal/net/http/AbstractSubscription;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // jdk.internal.net.http.Http1Response$BodyReader this
        start local 1 // jdk.internal.net.http.AbstractSubscription s
         0: .line 761
            aload 0 /* this */
            aload 1 /* s */
            putfield jdk.internal.net.http.Http1Response$BodyReader.subscription:Ljdk/internal/net/http/AbstractSubscription;
         1: .line 763
            aload 0 /* this */
            getfield jdk.internal.net.http.Http1Response$BodyReader.parser:Ljdk/internal/net/http/ResponseContent$BodyParser;
            aload 1 /* s */
            invokeinterface jdk.internal.net.http.ResponseContent$BodyParser.onSubscribe:(Ljdk/internal/net/http/AbstractSubscription;)V
         2: .line 764
            goto 6
      StackMap locals:
      StackMap stack: java.lang.Throwable
         3: astore 2 /* t */
        start local 2 // java.lang.Throwable t
         4: .line 765
            aload 0 /* this */
            getfield jdk.internal.net.http.Http1Response$BodyReader.cf:Ljava/util/concurrent/CompletableFuture;
            aload 2 /* t */
            invokevirtual java.util.concurrent.CompletableFuture.completeExceptionally:(Ljava/lang/Throwable;)Z
            pop
         5: .line 766
            aload 2 /* t */
            athrow
        end local 2 // java.lang.Throwable t
         6: .line 768
      StackMap locals:
      StackMap stack:
            return
        end local 1 // jdk.internal.net.http.AbstractSubscription s
        end local 0 // jdk.internal.net.http.Http1Response$BodyReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljdk/internal/net/http/Http1Response$BodyReader;
            0    7     1     s  Ljdk/internal/net/http/AbstractSubscription;
            4    6     2     t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.Throwable
    MethodParameters:
      Name  Flags
      s     

  final void handle(java.nio.ByteBuffer, jdk.internal.net.http.ResponseContent$BodyParser, java.util.concurrent.CompletableFuture<jdk.internal.net.http.Http1Response$State>);
    descriptor: (Ljava/nio/ByteBuffer;Ljdk/internal/net/http/ResponseContent$BodyParser;Ljava/util/concurrent/CompletableFuture;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // jdk.internal.net.http.Http1Response$BodyReader this
        start local 1 // java.nio.ByteBuffer b
        start local 2 // jdk.internal.net.http.ResponseContent$BodyParser parser
        start local 3 // java.util.concurrent.CompletableFuture cf
         0: .line 774
            getstatic jdk.internal.net.http.Http1Response$BodyReader.$assertionsDisabled:Z
            ifne 1
            aload 3 /* cf */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            ldc "parsing not started"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 775
      StackMap locals:
      StackMap stack:
            getstatic jdk.internal.net.http.Http1Response$BodyReader.$assertionsDisabled:Z
            ifne 2
            aload 2 /* parser */
            ifnonnull 2
            new java.lang.AssertionError
            dup
            ldc "no parser"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 777
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.net.http.Http1Response$BodyReader.this$0:Ljdk/internal/net/http/Http1Response;
            getfield jdk.internal.net.http.Http1Response.debug:Ljdk/internal/net/http/common/Logger;
            invokeinterface jdk.internal.net.http.common.Logger.on:()Z
            ifeq 6
         3: .line 778
            aload 0 /* this */
            getfield jdk.internal.net.http.Http1Response$BodyReader.this$0:Ljdk/internal/net/http/Http1Response;
            getfield jdk.internal.net.http.Http1Response.debug:Ljdk/internal/net/http/common/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Sending "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* b */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* b */
            invokevirtual java.nio.ByteBuffer.capacity:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         4: .line 779
            ldc " bytes to body parser"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 778
            invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;)V
         6: .line 780
      StackMap locals:
      StackMap stack:
            aload 2 /* parser */
            aload 1 /* b */
            invokeinterface jdk.internal.net.http.ResponseContent$BodyParser.accept:(Ljava/lang/Object;)V
         7: .line 781
            goto 13
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: astore 4 /* t */
        start local 4 // java.lang.Throwable t
         9: .line 782
            aload 0 /* this */
            getfield jdk.internal.net.http.Http1Response$BodyReader.this$0:Ljdk/internal/net/http/Http1Response;
            getfield jdk.internal.net.http.Http1Response.debug:Ljdk/internal/net/http/common/Logger;
            invokeinterface jdk.internal.net.http.common.Logger.on:()Z
            ifeq 11
        10: .line 783
            aload 0 /* this */
            getfield jdk.internal.net.http.Http1Response$BodyReader.this$0:Ljdk/internal/net/http/Http1Response;
            getfield jdk.internal.net.http.Http1Response.debug:Ljdk/internal/net/http/common/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Body parser failed to handle buffer: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* t */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;)V
        11: .line 784
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 3 /* cf */
            invokevirtual java.util.concurrent.CompletableFuture.isDone:()Z
            ifne 13
        12: .line 785
            aload 3 /* cf */
            aload 4 /* t */
            invokevirtual java.util.concurrent.CompletableFuture.completeExceptionally:(Ljava/lang/Throwable;)Z
            pop
        end local 4 // java.lang.Throwable t
        13: .line 788
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.util.concurrent.CompletableFuture cf
        end local 2 // jdk.internal.net.http.ResponseContent$BodyParser parser
        end local 1 // java.nio.ByteBuffer b
        end local 0 // jdk.internal.net.http.Http1Response$BodyReader this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    this  Ljdk/internal/net/http/Http1Response$BodyReader;
            0   14     1       b  Ljava/nio/ByteBuffer;
            0   14     2  parser  Ljdk/internal/net/http/ResponseContent$BodyParser;
            0   14     3      cf  Ljava/util/concurrent/CompletableFuture<Ljdk/internal/net/http/Http1Response$State;>;
            9   13     4       t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           2     7       8  Class java.lang.Throwable
    Signature: (Ljava/nio/ByteBuffer;Ljdk/internal/net/http/ResponseContent$BodyParser;Ljava/util/concurrent/CompletableFuture<Ljdk/internal/net/http/Http1Response$State;>;)V
    MethodParameters:
        Name  Flags
      b       
      parser  
      cf      

  final void onComplete(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.net.http.Http1Response$BodyReader this
        start local 1 // java.lang.Throwable closedExceptionally
         0: .line 791
            aload 0 /* this */
            getfield jdk.internal.net.http.Http1Response$BodyReader.cf:Ljava/util/concurrent/CompletableFuture;
            invokevirtual java.util.concurrent.CompletableFuture.isDone:()Z
            ifeq 1
            return
         1: .line 792
      StackMap locals:
      StackMap stack:
            aload 1 /* closedExceptionally */
            ifnull 4
         2: .line 793
            aload 0 /* this */
            getfield jdk.internal.net.http.Http1Response$BodyReader.cf:Ljava/util/concurrent/CompletableFuture;
            aload 1 /* closedExceptionally */
            invokevirtual java.util.concurrent.CompletableFuture.completeExceptionally:(Ljava/lang/Throwable;)Z
            pop
         3: .line 794
            goto 6
         4: .line 795
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.net.http.Http1Response$BodyReader.onComplete:Ljava/util/function/Consumer;
            getstatic jdk.internal.net.http.Http1Response$State.READING_BODY:Ljdk/internal/net/http/Http1Response$State;
            invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
         5: .line 796
            aload 0 /* this */
            getfield jdk.internal.net.http.Http1Response$BodyReader.cf:Ljava/util/concurrent/CompletableFuture;
            getstatic jdk.internal.net.http.Http1Response$State.READING_BODY:Ljdk/internal/net/http/Http1Response$State;
            invokevirtual java.util.concurrent.CompletableFuture.complete:(Ljava/lang/Object;)Z
            pop
         6: .line 798
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Throwable closedExceptionally
        end local 0 // jdk.internal.net.http.Http1Response$BodyReader this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    7     0                 this  Ljdk/internal/net/http/Http1Response$BodyReader;
            0    7     1  closedExceptionally  Ljava/lang/Throwable;
    MethodParameters:
                     Name  Flags
      closedExceptionally  

  public final void close(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // jdk.internal.net.http.Http1Response$BodyReader this
        start local 1 // java.lang.Throwable error
         0: .line 802
            aload 0 /* this */
            getfield jdk.internal.net.http.Http1Response$BodyReader.cf:Ljava/util/concurrent/CompletableFuture;
            astore 2 /* cf */
        start local 2 // java.util.concurrent.CompletableFuture cf
         1: .line 803
            aload 2 /* cf */
            ifnull 10
            aload 2 /* cf */
            invokevirtual java.util.concurrent.CompletableFuture.isDone:()Z
            ifne 10
         2: .line 807
            aload 1 /* error */
            ifnull 7
         3: .line 808
            aload 0 /* this */
            getfield jdk.internal.net.http.Http1Response$BodyReader.this$0:Ljdk/internal/net/http/Http1Response;
            getfield jdk.internal.net.http.Http1Response.debug:Ljdk/internal/net/http/common/Logger;
            invokeinterface jdk.internal.net.http.common.Logger.on:()Z
            ifeq 5
         4: .line 809
            aload 0 /* this */
            getfield jdk.internal.net.http.Http1Response$BodyReader.this$0:Ljdk/internal/net/http/Http1Response;
            getfield jdk.internal.net.http.Http1Response.debug:Ljdk/internal/net/http/common/Logger;
            new java.lang.StringBuilder
            dup
            ldc "close: completing body parser CF with "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* error */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;)V
         5: .line 810
      StackMap locals: java.util.concurrent.CompletableFuture
      StackMap stack:
            aload 2 /* cf */
            aload 1 /* error */
            invokevirtual java.util.concurrent.CompletableFuture.completeExceptionally:(Ljava/lang/Throwable;)Z
            pop
         6: .line 811
            goto 10
         7: .line 812
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.net.http.Http1Response$BodyReader.this$0:Ljdk/internal/net/http/Http1Response;
            getfield jdk.internal.net.http.Http1Response.debug:Ljdk/internal/net/http/common/Logger;
            invokeinterface jdk.internal.net.http.common.Logger.on:()Z
            ifeq 9
         8: .line 813
            aload 0 /* this */
            getfield jdk.internal.net.http.Http1Response$BodyReader.this$0:Ljdk/internal/net/http/Http1Response;
            getfield jdk.internal.net.http.Http1Response.debug:Ljdk/internal/net/http/common/Logger;
            ldc "close: completing body parser CF"
            invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;)V
         9: .line 814
      StackMap locals:
      StackMap stack:
            aload 2 /* cf */
            getstatic jdk.internal.net.http.Http1Response$State.READING_BODY:Ljdk/internal/net/http/Http1Response$State;
            invokevirtual java.util.concurrent.CompletableFuture.complete:(Ljava/lang/Object;)Z
            pop
        10: .line 817
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.concurrent.CompletableFuture cf
        end local 1 // java.lang.Throwable error
        end local 0 // jdk.internal.net.http.Http1Response$BodyReader this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Ljdk/internal/net/http/Http1Response$BodyReader;
            0   11     1  error  Ljava/lang/Throwable;
            1   11     2     cf  Ljava/util/concurrent/CompletableFuture<Ljdk/internal/net/http/Http1Response$State;>;
    MethodParameters:
       Name  Flags
      error  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.internal.net.http.Http1Response$BodyReader this
         0: .line 821
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokespecial java.lang.Object.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "/parser="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield jdk.internal.net.http.Http1Response$BodyReader.parser:Ljdk/internal/net/http/ResponseContent$BodyParser;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // jdk.internal.net.http.Http1Response$BodyReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/net/http/Http1Response$BodyReader;

  void start(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x1040) ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast jdk.internal.net.http.ResponseContent$BodyParser
            invokevirtual jdk.internal.net.http.Http1Response$BodyReader.start:(Ljdk/internal/net/http/ResponseContent$BodyParser;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void handle(java.nio.ByteBuffer, java.lang.Object, java.util.concurrent.CompletableFuture);
    descriptor: (Ljava/nio/ByteBuffer;Ljava/lang/Object;Ljava/util/concurrent/CompletableFuture;)V
    flags: (0x1040) ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
         0: .line 1
            aload 0
            aload 1
            aload 2
            checkcast jdk.internal.net.http.ResponseContent$BodyParser
            aload 3
            invokevirtual jdk.internal.net.http.Http1Response$BodyReader.handle:(Ljava/nio/ByteBuffer;Ljdk/internal/net/http/ResponseContent$BodyParser;Ljava/util/concurrent/CompletableFuture;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Ljdk/internal/net/http/Http1Response$Receiver<Ljdk/internal/net/http/ResponseContent$BodyParser;>;
SourceFile: "Http1Response.java"
NestHost: jdk.internal.net.http.Http1Response
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  final BodyReader = jdk.internal.net.http.Http1Response$BodyReader of jdk.internal.net.http.Http1Response
  abstract Receiver = jdk.internal.net.http.Http1Response$Receiver of jdk.internal.net.http.Http1Response
  final State = jdk.internal.net.http.Http1Response$State of jdk.internal.net.http.Http1Response
  abstract BodyParser = jdk.internal.net.http.ResponseContent$BodyParser of jdk.internal.net.http.ResponseContent
  UnknownLengthBodyParser = jdk.internal.net.http.ResponseContent$UnknownLengthBodyParser of jdk.internal.net.http.ResponseContent