test/tools/javac/constDebug/ConstDebugTest.java

Mon, 23 Sep 2013 17:27:38 +0400

author
kizune
date
Mon, 23 Sep 2013 17:27:38 +0400
changeset 2048
809a50f24d6f
parent 1819
7fe655cad9b1
child 2525
2eb010b6cb22
permissions
-rw-r--r--

7154966: CRs found to be in Fixed state with no test and no noreg- keyword.
Reviewed-by: ksrini

vromero@1591 1 /*
vromero@1591 2 * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
vromero@1591 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
vromero@1591 4 *
vromero@1591 5 * This code is free software; you can redistribute it and/or modify it
vromero@1591 6 * under the terms of the GNU General Public License version 2 only, as
vromero@1591 7 * published by the Free Software Foundation.
vromero@1591 8 *
vromero@1591 9 * This code is distributed in the hope that it will be useful, but WITHOUT
vromero@1591 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
vromero@1591 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
vromero@1591 12 * version 2 for more details (a copy is included in the LICENSE file that
vromero@1591 13 * accompanied this code).
vromero@1591 14 *
vromero@1591 15 * You should have received a copy of the GNU General Public License version
vromero@1591 16 * 2 along with this work; if not, write to the Free Software Foundation,
vromero@1591 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
vromero@1591 18 *
vromero@1591 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
vromero@1591 20 * or visit www.oracle.com if you need additional information or have any
vromero@1591 21 * questions.
vromero@1591 22 */
vromero@1591 23
vromero@1591 24 /*
vromero@1591 25 * @test
vromero@1591 26 * @bug 4645152 4785453
vromero@1591 27 * @summary javac compiler incorrectly inserts <clinit> when -g is specified
vromero@1591 28 * @run compile -g ConstDebugTest.java
vromero@1591 29 * @run main ConstDebugTest
vromero@1591 30 */
vromero@1819 31 import java.nio.file.Paths;
vromero@1819 32 import com.sun.tools.classfile.ClassFile;
vromero@1819 33 import com.sun.tools.classfile.Method;
vromero@1591 34
vromero@1591 35 public class ConstDebugTest {
vromero@1591 36
vromero@1591 37 public static final long l = 12;
vromero@1591 38
vromero@1591 39 public static void main(String args[]) throws Exception {
vromero@1819 40 ClassFile classFile = ClassFile.read(Paths.get(System.getProperty("test.classes"),
vromero@1819 41 ConstDebugTest.class.getSimpleName() + ".class"));
vromero@1819 42 for (Method method: classFile.methods) {
vromero@1819 43 if (method.getName(classFile.constant_pool).equals("<clinit>")) {
vromero@1819 44 throw new AssertionError(
vromero@1819 45 "javac should not create a <clinit> method for ConstDebugTest class");
vromero@1819 46 }
vromero@1591 47 }
vromero@1591 48 }
vromero@1591 49
vromero@1591 50 }

mercurial