1 /* 2 * Copyright (c) 2020, 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 // This class was written using jcod because it extends sealed class 25 // planets.OuterPlanets but is not listed in its PermittedSubclasses 26 // attribute. It consists of the following: 27 // 28 // package planets; 29 // public class Mars extends OuterPlanets { } 30 // 31 class planets/Mars { 32 0xCAFEBABE; 33 0; // minor version 34 59; // version 35 [13] { // Constant Pool 36 ; // first element is empty 37 Method #2 #3; // #1 at 0x0A 38 class #4; // #2 at 0x0F 39 NameAndType #5 #6; // #3 at 0x12 40 Utf8 "planets/OuterPlanets"; // #4 at 0x17 41 Utf8 "<init>"; // #5 at 0x2E 42 Utf8 "()V"; // #6 at 0x37 43 class #8; // #7 at 0x3D 44 Utf8 "planets/Mars"; // #8 at 0x40 45 Utf8 "Code"; // #9 at 0x52 46 Utf8 "LineNumberTable"; // #10 at 0x59 47 Utf8 "SourceFile"; // #11 at 0x6B 48 Utf8 "Mars.java"; // #12 at 0x78 49 } // Constant Pool 50 51 0x0031; // access [ ACC_PUBLIC ACC_SUPER ACC_FINAL ] 52 #7;// this_cpx 53 #2;// super_cpx 54 55 [0] { // Interfaces 56 } // Interfaces 57 58 [0] { // fields 59 } // fields 60 61 [1] { // methods 62 { // Member at 0x93 63 0x0001; // access 64 #5; // name_cpx 65 #6; // sig_cpx 66 [1] { // Attributes 67 Attr(#9, 29) { // Code at 0x9B 68 1; // max_stack 69 1; // max_locals 70 Bytes[5]{ 71 0x2AB70001B1; 72 }; 73 [0] { // Traps 74 } // end Traps 75 [1] { // Attributes 76 Attr(#10, 6) { // LineNumberTable at 0xB2 77 [1] { // LineNumberTable 78 0 3; // at 0xBE 79 } 80 } // end LineNumberTable 81 } // Attributes 82 } // end Code 83 } // Attributes 84 } // Member 85 } // methods 86 87 [1] { // Attributes 88 Attr(#11, 2) { // SourceFile at 0xC0 89 #12; 90 } // end SourceFile 91 } // Attributes 92 } // end class planets/Mars