1 /* 2 * Copyright (c) 2019, 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 // package planets; 25 // 26 // sealed public class OuterPlanets permits Neptune, asteroids.Pluto { } 27 28 class planets/OuterPlanets { 29 0xCAFEBABE; 30 65535; // minor version 31 59; // version 32 [18] { // Constant Pool 33 ; // first element is empty 34 Method #2 #3; // #1 at 0x0A 35 class #4; // #2 at 0x0F 36 NameAndType #5 #6; // #3 at 0x12 37 Utf8 "java/lang/Object"; // #4 at 0x17 38 Utf8 "<init>"; // #5 at 0x2A 39 Utf8 "()V"; // #6 at 0x33 40 class #8; // #7 at 0x39 41 Utf8 "planets/OuterPlanets"; // #8 at 0x3C 42 Utf8 "Code"; // #9 at 0x53 43 Utf8 "LineNumberTable"; // #10 at 0x5A 44 Utf8 "SourceFile"; // #11 at 0x6C 45 Utf8 "OuterPlanets.java"; // #12 at 0x79 46 Utf8 "PermittedSubclasses"; // #13 at 0x8D 47 class #15; // #14 at 0xA1 48 Utf8 "planets/Neptune"; // #15 at 0xA4 49 class #17; // #16 at 0xB6 50 Utf8 "asteroids/Pluto"; // #17 at 0xB9 51 } // Constant Pool 52 53 0x0021; // access [ ACC_PUBLIC ACC_SUPER ] 54 #7;// this_cpx 55 #2;// super_cpx 56 57 [0] { // Interfaces 58 } // Interfaces 59 60 [0] { // fields 61 } // fields 62 63 [1] { // methods 64 { // Member at 0xD7 65 0x0001; // access 66 #5; // name_cpx 67 #6; // sig_cpx 68 [1] { // Attributes 69 Attr(#9, 29) { // Code at 0xDF 70 1; // max_stack 71 1; // max_locals 72 Bytes[5]{ 73 0x2AB70001B1; 74 } 75 [0] { // Traps 76 } // end Traps 77 [1] { // Attributes 78 Attr(#10, 6) { // LineNumberTable at 0xF6 79 [1] { // LineNumberTable 80 0 26; // at 0x0102 81 } 82 } // end LineNumberTable 83 } // Attributes 84 } // end Code 85 } // Attributes 86 } // Member 87 } // methods 88 89 [2] { // Attributes 90 Attr(#11, 2) { // SourceFile at 0x0104 91 #12; 92 } // end SourceFile 93 ; 94 Attr(#13, 6) { // PermittedSubclasses at 0x010C 95 0x0002000E0010; 96 } // end PermittedSubclasses 97 } // Attributes 98 } // end class planets/OuterPlanets