1 /*
   2  * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.
   8  *
   9  * This code is distributed in the hope that it will be useful, but WITHOUT
  10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  12  * version 2 for more details (a copy is included in the LICENSE file that
  13  * accompanied this code).
  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  */
  23 
  24 //   NestHost attribute is modified to contain P1.PackagedNestHost
  25 //   m() is declared private
  26 
  27 class P2/PackagedNestHost2$Member {
  28   0xCAFEBABE;
  29   0; // minor version
  30   54; // version
  31   [] { // Constant Pool
  32     ; // first element is empty
  33     Method #7 #18; // #1
  34     Field #19 #20; // #2
  35     String #21; // #3
  36     Method #22 #23; // #4
  37     Method #24 #25; // #5
  38     class #26; // #6
  39     class #29; // #7
  40     Utf8 "<init>"; // #8
  41     Utf8 "()V"; // #9
  42     Utf8 "Code"; // #10
  43     Utf8 "LineNumberTable"; // #11
  44     Utf8 "m"; // #12
  45     Utf8 "doAccess"; // #13
  46     Utf8 "SourceFile"; // #14
  47     Utf8 "PackagedNestHost2.java"; // #15
  48     Utf8 "NestHost"; // #16
  49     class #30; // #17
  50     NameAndType #8 #9; // #18
  51     class #31; // #19
  52     NameAndType #32 #33; // #20
  53     Utf8 "You should never see this!"; // #21
  54     class #34; // #22
  55     NameAndType #35 #36; // #23
  56     class #38; // #24
  57     NameAndType #12 #9; // #25
  58     Utf8 "P2/PackagedNestHost2$Member"; // #26
  59     Utf8 "Member"; // #27
  60     Utf8 "InnerClasses"; // #28
  61     Utf8 "java/lang/Object"; // #29
  62     Utf8 "P2/PackagedNestHost2"; // #30
  63     Utf8 "java/lang/System"; // #31
  64     Utf8 "out"; // #32
  65     Utf8 "Ljava/io/PrintStream;"; // #33
  66     Utf8 "java/io/PrintStream"; // #34
  67     Utf8 "println"; // #35
  68     Utf8 "(Ljava/lang/String;)V"; // #36
  69     class #39; // #37
  70     Utf8 "P1/PackagedNestHost$Member"; // #38
  71     Utf8 "P1/PackagedNestHost"; // #39
  72   } // Constant Pool
  73 
  74   0x0021; // access
  75   #6;// this_cpx
  76   #7;// super_cpx
  77 
  78   [] { // Interfaces
  79   } // Interfaces
  80 
  81   [] { // fields
  82   } // fields
  83 
  84   [] { // methods
  85     { // Member
  86       0x0001; // access
  87       #8; // name_cpx
  88       #9; // sig_cpx
  89       [] { // Attributes
  90         Attr(#10) { // Code
  91           1; // max_stack
  92           1; // max_locals
  93           Bytes[]{
  94             0x2AB70001B1;
  95           };
  96           [] { // Traps
  97           } // end Traps
  98           [] { // Attributes
  99             Attr(#11) { // LineNumberTable
 100               [] { // LineNumberTable
 101                 0  32;
 102               }
 103             } // end LineNumberTable
 104           } // Attributes
 105         } // end Code
 106       } // Attributes
 107     } // Member
 108     ;
 109     { // Member
 110       0x000A; // access - modified
 111       #12; // name_cpx
 112       #9; // sig_cpx
 113       [] { // Attributes
 114         Attr(#10) { // Code
 115           2; // max_stack
 116           0; // max_locals
 117           Bytes[]{
 118             0xB200021203B60004;
 119             0xB1;
 120           };
 121           [] { // Traps
 122           } // end Traps
 123           [] { // Attributes
 124             Attr(#11) { // LineNumberTable
 125               [] { // LineNumberTable
 126                 0  35;
 127                 8  36;
 128               }
 129             } // end LineNumberTable
 130           } // Attributes
 131         } // end Code
 132       } // Attributes
 133     } // Member
 134     ;
 135     { // Member
 136       0x0009; // access
 137       #13; // name_cpx
 138       #9; // sig_cpx
 139       [] { // Attributes
 140         Attr(#10) { // Code
 141           0; // max_stack
 142           0; // max_locals
 143           Bytes[]{
 144             0xB80005B1;
 145           };
 146           [] { // Traps
 147           } // end Traps
 148           [] { // Attributes
 149             Attr(#11) { // LineNumberTable
 150               [] { // LineNumberTable
 151                 0  42;
 152                 3  43;
 153               }
 154             } // end LineNumberTable
 155           } // Attributes
 156         } // end Code
 157       } // Attributes
 158     } // Member
 159   } // methods
 160 
 161   [] { // Attributes
 162     Attr(#14) { // SourceFile
 163       #15;
 164     } // end SourceFile
 165     ;
 166     Attr(#16) { // NestHost
 167       0x0025;  // modified - #37
 168     } // end NestHost
 169     ;
 170     Attr(#28) { // InnerClasses
 171       [] { // InnerClasses
 172         #6 #17 #27 9;
 173         #24 #37 #27 9;
 174       }
 175     } // end InnerClasses
 176   } // Attributes
 177 } // end class P2/PackagedNestHost2$Member