class javax.servlet.http.NoBodyResponse extends javax.servlet.http.HttpServletResponseWrapper
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: javax.servlet.http.NoBodyResponse
  super_class: javax.servlet.http.HttpServletResponseWrapper
{
  private static final java.util.ResourceBundle lStrings;
    descriptor: Ljava/util/ResourceBundle;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private javax.servlet.http.NoBodyOutputStream noBody;
    descriptor: Ljavax/servlet/http/NoBodyOutputStream;
    flags: (0x0002) ACC_PRIVATE

  private java.io.PrintWriter writer;
    descriptor: Ljava/io/PrintWriter;
    flags: (0x0002) ACC_PRIVATE

  private boolean didSetContentLength;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean usingOutputStream;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 602
            ldc "javax.servlet.http.LocalStrings"
            invokestatic java.util.ResourceBundle.getBundle:(Ljava/lang/String;)Ljava/util/ResourceBundle;
            putstatic javax.servlet.http.NoBodyResponse.lStrings:Ljava/util/ResourceBundle;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(javax.servlet.http.HttpServletResponse);
    descriptor: (Ljavax/servlet/http/HttpServletResponse;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javax.servlet.http.NoBodyResponse this
        start local 1 // javax.servlet.http.HttpServletResponse r
         0: .line 611
            aload 0 /* this */
            aload 1 /* r */
            invokespecial javax.servlet.http.HttpServletResponseWrapper.<init>:(Ljavax/servlet/http/HttpServletResponse;)V
         1: .line 612
            aload 0 /* this */
            new javax.servlet.http.NoBodyOutputStream
            dup
            invokespecial javax.servlet.http.NoBodyOutputStream.<init>:()V
            putfield javax.servlet.http.NoBodyResponse.noBody:Ljavax/servlet/http/NoBodyOutputStream;
         2: .line 613
            return
        end local 1 // javax.servlet.http.HttpServletResponse r
        end local 0 // javax.servlet.http.NoBodyResponse this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/servlet/http/NoBodyResponse;
            0    3     1     r  Ljavax/servlet/http/HttpServletResponse;
    MethodParameters:
      Name  Flags
      r     

  void setContentLength();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.servlet.http.NoBodyResponse this
         0: .line 617
            aload 0 /* this */
            getfield javax.servlet.http.NoBodyResponse.didSetContentLength:Z
            ifne 4
         1: .line 618
            aload 0 /* this */
            getfield javax.servlet.http.NoBodyResponse.writer:Ljava/io/PrintWriter;
            ifnull 3
         2: .line 619
            aload 0 /* this */
            getfield javax.servlet.http.NoBodyResponse.writer:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
         3: .line 621
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield javax.servlet.http.NoBodyResponse.noBody:Ljavax/servlet/http/NoBodyOutputStream;
            invokevirtual javax.servlet.http.NoBodyOutputStream.getContentLength:()I
            invokevirtual javax.servlet.http.NoBodyResponse.setContentLength:(I)V
         4: .line 623
      StackMap locals:
      StackMap stack:
            return
        end local 0 // javax.servlet.http.NoBodyResponse this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljavax/servlet/http/NoBodyResponse;

  public void setContentLength(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.servlet.http.NoBodyResponse this
        start local 1 // int len
         0: .line 627
            aload 0 /* this */
            iload 1 /* len */
            invokespecial javax.servlet.http.HttpServletResponseWrapper.setContentLength:(I)V
         1: .line 628
            aload 0 /* this */
            iconst_1
            putfield javax.servlet.http.NoBodyResponse.didSetContentLength:Z
         2: .line 629
            return
        end local 1 // int len
        end local 0 // javax.servlet.http.NoBodyResponse this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/servlet/http/NoBodyResponse;
            0    3     1   len  I
    MethodParameters:
      Name  Flags
      len   

  public void setContentLengthLong(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // javax.servlet.http.NoBodyResponse this
        start local 1 // long len
         0: .line 633
            aload 0 /* this */
            lload 1 /* len */
            invokespecial javax.servlet.http.HttpServletResponseWrapper.setContentLengthLong:(J)V
         1: .line 634
            aload 0 /* this */
            iconst_1
            putfield javax.servlet.http.NoBodyResponse.didSetContentLength:Z
         2: .line 635
            return
        end local 1 // long len
        end local 0 // javax.servlet.http.NoBodyResponse this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/servlet/http/NoBodyResponse;
            0    3     1   len  J
    MethodParameters:
      Name  Flags
      len   

  public void setHeader(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // javax.servlet.http.NoBodyResponse this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String value
         0: .line 639
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* value */
            invokespecial javax.servlet.http.HttpServletResponseWrapper.setHeader:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 640
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual javax.servlet.http.NoBodyResponse.checkHeader:(Ljava/lang/String;)V
         2: .line 641
            return
        end local 2 // java.lang.String value
        end local 1 // java.lang.String name
        end local 0 // javax.servlet.http.NoBodyResponse this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Ljavax/servlet/http/NoBodyResponse;
            0    3     1   name  Ljava/lang/String;
            0    3     2  value  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      name   
      value  

  public void addHeader(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // javax.servlet.http.NoBodyResponse this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String value
         0: .line 645
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* value */
            invokespecial javax.servlet.http.HttpServletResponseWrapper.addHeader:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 646
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual javax.servlet.http.NoBodyResponse.checkHeader:(Ljava/lang/String;)V
         2: .line 647
            return
        end local 2 // java.lang.String value
        end local 1 // java.lang.String name
        end local 0 // javax.servlet.http.NoBodyResponse this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Ljavax/servlet/http/NoBodyResponse;
            0    3     1   name  Ljava/lang/String;
            0    3     2  value  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      name   
      value  

  public void setIntHeader(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // javax.servlet.http.NoBodyResponse this
        start local 1 // java.lang.String name
        start local 2 // int value
         0: .line 651
            aload 0 /* this */
            aload 1 /* name */
            iload 2 /* value */
            invokespecial javax.servlet.http.HttpServletResponseWrapper.setIntHeader:(Ljava/lang/String;I)V
         1: .line 652
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual javax.servlet.http.NoBodyResponse.checkHeader:(Ljava/lang/String;)V
         2: .line 653
            return
        end local 2 // int value
        end local 1 // java.lang.String name
        end local 0 // javax.servlet.http.NoBodyResponse this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Ljavax/servlet/http/NoBodyResponse;
            0    3     1   name  Ljava/lang/String;
            0    3     2  value  I
    MethodParameters:
       Name  Flags
      name   
      value  

  public void addIntHeader(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // javax.servlet.http.NoBodyResponse this
        start local 1 // java.lang.String name
        start local 2 // int value
         0: .line 657
            aload 0 /* this */
            aload 1 /* name */
            iload 2 /* value */
            invokespecial javax.servlet.http.HttpServletResponseWrapper.addIntHeader:(Ljava/lang/String;I)V
         1: .line 658
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual javax.servlet.http.NoBodyResponse.checkHeader:(Ljava/lang/String;)V
         2: .line 659
            return
        end local 2 // int value
        end local 1 // java.lang.String name
        end local 0 // javax.servlet.http.NoBodyResponse this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Ljavax/servlet/http/NoBodyResponse;
            0    3     1   name  Ljava/lang/String;
            0    3     2  value  I
    MethodParameters:
       Name  Flags
      name   
      value  

  private void checkHeader(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.servlet.http.NoBodyResponse this
        start local 1 // java.lang.String name
         0: .line 662
            ldc "content-length"
            aload 1 /* name */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 663
            aload 0 /* this */
            iconst_1
            putfield javax.servlet.http.NoBodyResponse.didSetContentLength:Z
         2: .line 665
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String name
        end local 0 // javax.servlet.http.NoBodyResponse this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/servlet/http/NoBodyResponse;
            0    3     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public javax.servlet.ServletOutputStream getOutputStream();
    descriptor: ()Ljavax/servlet/ServletOutputStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // javax.servlet.http.NoBodyResponse this
         0: .line 670
            aload 0 /* this */
            getfield javax.servlet.http.NoBodyResponse.writer:Ljava/io/PrintWriter;
            ifnull 2
         1: .line 671
            new java.lang.IllegalStateException
            dup
            getstatic javax.servlet.http.NoBodyResponse.lStrings:Ljava/util/ResourceBundle;
            ldc "err.ise.getOutputStream"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 673
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield javax.servlet.http.NoBodyResponse.usingOutputStream:Z
         3: .line 675
            aload 0 /* this */
            getfield javax.servlet.http.NoBodyResponse.noBody:Ljavax/servlet/http/NoBodyOutputStream;
            areturn
        end local 0 // javax.servlet.http.NoBodyResponse this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljavax/servlet/http/NoBodyResponse;
    Exceptions:
      throws java.io.IOException

  public java.io.PrintWriter getWriter();
    descriptor: ()Ljava/io/PrintWriter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // javax.servlet.http.NoBodyResponse this
         0: .line 681
            aload 0 /* this */
            getfield javax.servlet.http.NoBodyResponse.usingOutputStream:Z
            ifeq 2
         1: .line 682
            new java.lang.IllegalStateException
            dup
            getstatic javax.servlet.http.NoBodyResponse.lStrings:Ljava/util/ResourceBundle;
            ldc "err.ise.getWriter"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 685
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.servlet.http.NoBodyResponse.writer:Ljava/io/PrintWriter;
            ifnonnull 5
         3: .line 686
            new java.io.OutputStreamWriter
            dup
            aload 0 /* this */
            getfield javax.servlet.http.NoBodyResponse.noBody:Ljavax/servlet/http/NoBodyOutputStream;
            aload 0 /* this */
            invokevirtual javax.servlet.http.NoBodyResponse.getCharacterEncoding:()Ljava/lang/String;
            invokespecial java.io.OutputStreamWriter.<init>:(Ljava/io/OutputStream;Ljava/lang/String;)V
            astore 1 /* w */
        start local 1 // java.io.OutputStreamWriter w
         4: .line 687
            aload 0 /* this */
            new java.io.PrintWriter
            dup
            aload 1 /* w */
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;)V
            putfield javax.servlet.http.NoBodyResponse.writer:Ljava/io/PrintWriter;
        end local 1 // java.io.OutputStreamWriter w
         5: .line 690
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.servlet.http.NoBodyResponse.writer:Ljava/io/PrintWriter;
            areturn
        end local 0 // javax.servlet.http.NoBodyResponse this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljavax/servlet/http/NoBodyResponse;
            4    5     1     w  Ljava/io/OutputStreamWriter;
    Exceptions:
      throws java.io.UnsupportedEncodingException
}
SourceFile: "HttpServlet.java"