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 // Generated from the source in TestInvokeInterface.java, compiled for 25 // nestmates, but edited to set classfile version back to 52 - where 26 // use of invokeinterface for private interface methods is not permitted. 27 28 class TestInvokeInterface$StaticIface { 29 0xCAFEBABE; 30 0; // minor version 31 52; // version 32 [] { // Constant Pool 33 ; // first element is empty 34 Field #19 #20; // #1 35 String #21; // #2 36 Method #22 #23; // #3 37 InterfaceMethod #5 #24; // #4 38 class #25; // #5 39 class #26; // #6 40 Utf8 "priv_invoke"; // #7 41 Utf8 "()V"; // #8 42 Utf8 "Code"; // #9 43 Utf8 "LineNumberTable"; // #10 44 Utf8 "access_priv"; // #11 45 Utf8 "StaticIface"; // #12 46 Utf8 "InnerClasses"; // #13 47 Utf8 "(LTestInvokeInterface$StaticIface;)V"; // #14 48 Utf8 "SourceFile"; // #15 49 Utf8 "TestInvokeInterface.java"; // #16 50 Utf8 "NestHost"; // #17 51 class #27; // #18 52 class #28; // #19 53 NameAndType #29 #30; // #20 54 Utf8 "StaticIface::priv_invoke"; // #21 55 class #31; // #22 56 NameAndType #32 #33; // #23 57 NameAndType #7 #8; // #24 58 Utf8 "TestInvokeInterface$StaticIface"; // #25 59 Utf8 "java/lang/Object"; // #26 60 Utf8 "TestInvokeInterface"; // #27 61 Utf8 "java/lang/System"; // #28 62 Utf8 "out"; // #29 63 Utf8 "Ljava/io/PrintStream;"; // #30 64 Utf8 "java/io/PrintStream"; // #31 65 Utf8 "println"; // #32 66 Utf8 "(Ljava/lang/String;)V"; // #33 67 } // Constant Pool 68 69 0x0600; // access 70 #5;// this_cpx 71 #6;// super_cpx 72 73 [] { // Interfaces 74 } // Interfaces 75 76 [] { // fields 77 } // fields 78 79 [] { // methods 80 { // Member 81 0x0002; // access 82 #7; // name_cpx 83 #8; // sig_cpx 84 [] { // Attributes 85 Attr(#9) { // Code 86 2; // max_stack 87 1; // max_locals 88 Bytes[]{ 89 0xB200011202B60003; 90 0xB1; 91 }; 92 [] { // Traps 93 } // end Traps 94 [] { // Attributes 95 Attr(#10) { // LineNumberTable 96 [] { // LineNumberTable 97 0 42; 98 8 43; 99 } 100 } // end LineNumberTable 101 } // Attributes 102 } // end Code 103 } // Attributes 104 } // Member 105 ; 106 { // Member 107 0x0001; // access 108 #11; // name_cpx 109 #14; // sig_cpx 110 [] { // Attributes 111 Attr(#9) { // Code 112 1; // max_stack 113 2; // max_locals 114 Bytes[]{ 115 0x2BB900040100B1; 116 }; 117 [] { // Traps 118 } // end Traps 119 [] { // Attributes 120 Attr(#10) { // LineNumberTable 121 [] { // LineNumberTable 122 0 46; 123 6 47; 124 } 125 } // end LineNumberTable 126 } // Attributes 127 } // end Code 128 } // Attributes 129 } // Member 130 } // methods 131 132 [] { // Attributes 133 Attr(#15) { // SourceFile 134 #16; 135 } // end SourceFile 136 ; 137 Attr(#17) { // NestHost 138 0x0012; 139 } // end NestHost 140 ; 141 Attr(#13) { // InnerClasses 142 [] { // InnerClasses 143 #5 #18 #12 1544; 144 } 145 } // end InnerClasses 146 } // Attributes 147 } // end class TestInvokeInterface$StaticIface