1 /* 2 * Copyright (c) 2017, 2018, 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 // Invalid class file format 25 26 class MalformedHost { 27 0xDEADBEEF; // bad magic number 28 0; // minor version 29 55; // version 30 [] { // Constant Pool 31 ; // first element is empty 32 Method #3 #12; // #1 33 class #13; // #2 34 class #16; // #3 35 Utf8 "<init>"; // #4 36 Utf8 "()V"; // #5 37 Utf8 "Code"; // #6 38 Utf8 "LineNumberTable"; // #7 39 Utf8 "SourceFile"; // #8 40 Utf8 "NestHost"; // #10 41 class #17; // #11 42 NameAndType #4 #5; // #12 43 Utf8 "MemberMalformedHost"; // #14 44 Utf8 "java/lang/Object"; // #16 45 Utf8 "TestReflectionAPI"; // #17 46 } // Constant Pool 47 48 0x0020; // access 49 #2;// this_cpx 50 #3;// super_cpx 51 52 [] { // Interfaces 53 } // Interfaces 54 55 [] { // fields 56 } // fields 57 58 [] { // methods 59 { // Member 60 0x0000; // access 61 #4; // name_cpx 62 #5; // sig_cpx 63 [] { // Attributes 64 Attr(#6) { // Code 65 1; // max_stack 66 1; // max_locals 67 Bytes[]{ 68 0x2AB70001B1; 69 }; 70 [] { // Traps 71 } // end Traps 72 [] { // Attributes 73 Attr(#7) { // LineNumberTable 74 [] { // LineNumberTable 75 0 68; 76 } 77 } // end LineNumberTable 78 } // Attributes 79 } // end Code 80 } // Attributes 81 } // Member 82 } // methods 83 84 [] { // Attributes 85 Attr(#8) { // SourceFile 86 #9; 87 } // end SourceFile 88 ; 89 } // Attributes 90 } // end class MalformedHost