//
// Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved.
// DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
//
// This code is free software; you can redistribute it and/or modify it
// under the terms of the GNU General Public License version 2 only, as
// published by the Free Software Foundation.
//
// This code is distributed in the hope that it will be useful, but WITHOUT
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
// version 2 for more details (a copy is included in the LICENSE file that
// accompanied this code).
//
// You should have received a copy of the GNU General Public License version
// 2 along with this work; if not, write to the Free Software Foundation,
// Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
//
// Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
// or visit www.oracle.com if you need additional information or have any
// questions.
//
class org/openjdk/asmtools/transform/case7903259/data/BuildString {
  0xCAFEBABE;
  0;                             // minor version
  60;                            // version
  [] {                           // Constant Pool
    ;                            // first element is empty
    Method #2 #3;                // #1
    class #4;                    // #2
    NameAndType #5 #6;           // #3
    Utf8 "java/lang/Object";     // #4
    Utf8 "<init>";               // #5
    Utf8 "()V";                  // #6
    String #8;                   // #7
    Utf8 "Hello";                // #8
    Field #10 #11;               // #9
    class #12;                   // #10
    NameAndType #13 #14;         // #11
    Utf8 "org/openjdk/asmtools/transform/case7903259/data/BuildString"; // #12
    Utf8 "intialString";         // #13
    Utf8 "Ljava/lang/String;";   // #14
    Field #16 #17;               // #15
    class #18;                   // #16
    NameAndType #19 #20;         // #17
    Utf8 "java/lang/System";     // #18
    Utf8 "out";                  // #19
    Utf8 "Ljava/io/PrintStream;"; // #20
    String #22;                  // #21
    Utf8 " World !";             // #22
    Method #24 #25;              // #23
    class #26;                   // #24
    NameAndType #27 #28;         // #25
    Utf8 "java/lang/String";     // #26
    Utf8 "concat";               // #27
    Utf8 "(Ljava/lang/String;)Ljava/lang/String;"; // #28
    Method #30 #31;              // #29
    class #32;                   // #30
    NameAndType #33 #34;         // #31
    Utf8 "java/io/PrintStream";  // #32
    Utf8 "println";              // #33
    Utf8 "(Ljava/lang/String;)V"; // #34
    Utf8 "ConstantValue";        // #35
    Utf8 "Code";                 // #36
    Utf8 "LineNumberTable";      // #37
    Utf8 "LocalVariableTable";   // #38
    Utf8 "this";                 // #39
    Utf8 "Lorg/openjdk/asmtools/transform/case7903259/data/BuildString;"; // #40
    Utf8 "printDecoratedString"; // #41
    Utf8 "SourceFile";           // #42
    Utf8 "BuildString.java";     // #43
  }

  0x0031;                        // access
  #10;                           // this_cpx
  #2;                            // super_cpx

  [] {                           // Interfaces
  }                              // end of Interfaces

  [] {                           // Fields
    {                            // field
      0x0012;                    // access
      #13;                       // name_index
      #14;                       // descriptor_index
      [] {                       // Attributes
        Attr(#35) {              // ConstantValue
          #7;
        }                        // end of ConstantValue
      }                          // end of Attributes
    }
  }                              // end of Fields

  [] {                           // Methods
    {                            // method
      0x0001;                    // access
      #5;                        // name_index
      #6;                        // descriptor_index
      [] {                       // Attributes
        Attr(#36) {              // Code
          2;                     // max_stack
          1;                     // max_locals
          Bytes[]{
            0x2AB700012A1207B5;
            0x0009B1;
          }
          [] {                   // Traps
          }                      // end of Traps
          [] {                   // Attributes
            Attr(#37) {          // LineNumberTable
              [] {               // line_number_table
                0  3;
                4  4;
              }
            }                    // end of LineNumberTable
            ;
            Attr(#38) {          // LocalVariableTable
              [] {               // LocalVariableTable
                0 11 39 40 0;
              }
            }                    // end of LocalVariableTable
          }                      // end of Attributes
        }                        // end of Code
      }                          // end of Attributes
    }
    ;
    {                            // method
      0x0001;                    // access
      #41;                       // name_index
      #6;                        // descriptor_index
      [] {                       // Attributes
        Attr(#36) {              // Code
          3;                     // max_stack
          1;                     // max_locals
          Bytes[]{
            0xB2000F12071215B6;
            0x0017B6001DB1;
          }
          [] {                   // Traps
          }                      // end of Traps
          [] {                   // Attributes
            Attr(#37) {          // LineNumberTable
              [] {               // line_number_table
                0  6;
                13  7;
              }
            }                    // end of LineNumberTable
            ;
            Attr(#38) {          // LocalVariableTable
              [] {               // LocalVariableTable
                0 14 39 40 0;
              }
            }                    // end of LocalVariableTable
          }                      // end of Attributes
        }                        // end of Code
      }                          // end of Attributes
    }
  }                              // end of Methods

  [] {                           // Attributes
    Attr(#42) {                  // SourceFile
      #43;
    }                            // end of SourceFile
  }                              // end of Attributes
}
