1 /*
2 * Copyright (c) 2015, 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 /*
25 * @test
26 * @bug 8074306 8073432 8074501
27 * @summary NULLCHK is emitted as Object.getClass
28 * @compile -source 6 -target 6 TestSyntheticNullChecks.java
29 * @run main TestSyntheticNullChecks 6
30 * @clean TestSyntheticNullChecks*
31 * @compile -source 7 -target 7 TestSyntheticNullChecks.java
32 * @run main TestSyntheticNullChecks 7
33 * @clean TestSyntheticNullChecks*
34 * @compile TestSyntheticNullChecks.java
35 * @run main TestSyntheticNullChecks 9
36 */
37 public class TestSyntheticNullChecks {
38
39 class Inner { }
40
41 static void generateSyntheticNPE(TestSyntheticNullChecks outer) {
42 outer.new Inner(); //javac will generate a synthetic NPE check for 'outer'
43 }
44
45 public static void main(String[] args) {
46 int version = Integer.valueOf(args[0]);
47 boolean useObjects = version >= 7;
48 try {
49 generateSyntheticNPE(null);
50 } catch (NullPointerException npe) {
|
1 /*
2 * Copyright (c) 2015, 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 /*
25 * @test
26 * @bug 8074306 8073432 8074501
27 * @summary NULLCHK is emitted as Object.getClass
28 * @compile -source 7 -target 7 TestSyntheticNullChecks.java
29 * @run main TestSyntheticNullChecks 7
30 * @clean TestSyntheticNullChecks*
31 * @compile TestSyntheticNullChecks.java
32 * @run main TestSyntheticNullChecks 9
33 */
34 public class TestSyntheticNullChecks {
35
36 class Inner { }
37
38 static void generateSyntheticNPE(TestSyntheticNullChecks outer) {
39 outer.new Inner(); //javac will generate a synthetic NPE check for 'outer'
40 }
41
42 public static void main(String[] args) {
43 int version = Integer.valueOf(args[0]);
44 boolean useObjects = version >= 7;
45 try {
46 generateSyntheticNPE(null);
47 } catch (NullPointerException npe) {
|