test/tools/javac/generics/diamond/pos/Pos04.java

Mon, 07 Mar 2011 14:31:50 +0000

author
mcimadamore
date
Mon, 07 Mar 2011 14:31:50 +0000
changeset 914
ca32f2986301
parent 554
9d9f26857129
child 2525
2eb010b6cb22
permissions
-rw-r--r--

7020044: Project Coin: diamond erroneous allowed on some anonymous inner classes
Summary: Disallow diamond on anonymous innner class creation expression (as per JSR 334's EDR)
Reviewed-by: jjg

mcimadamore@537 1 /*
mcimadamore@914 2 * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
mcimadamore@537 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
mcimadamore@537 4 *
mcimadamore@537 5 * This code is free software; you can redistribute it and/or modify it
mcimadamore@537 6 * under the terms of the GNU General Public License version 2 only, as
mcimadamore@537 7 * published by the Free Software Foundation.
mcimadamore@537 8 *
mcimadamore@537 9 * This code is distributed in the hope that it will be useful, but WITHOUT
mcimadamore@537 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
mcimadamore@537 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
mcimadamore@537 12 * version 2 for more details (a copy is included in the LICENSE file that
mcimadamore@537 13 * accompanied this code).
mcimadamore@537 14 *
mcimadamore@537 15 * You should have received a copy of the GNU General Public License version
mcimadamore@537 16 * 2 along with this work; if not, write to the Free Software Foundation,
mcimadamore@537 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
mcimadamore@537 18 *
ohair@554 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
ohair@554 20 * or visit www.oracle.com if you need additional information or have any
ohair@554 21 * questions.
mcimadamore@537 22 */
mcimadamore@537 23
mcimadamore@537 24 /*
mcimadamore@537 25 * @test
mcimadamore@914 26 * @bug 6939620 7020044
mcimadamore@537 27 *
mcimadamore@914 28 * @summary basic test for diamond (simple/qualified type-expressions, local class)
mcimadamore@537 29 * @author mcimadamore
mcimadamore@537 30 * @compile Pos04.java
mcimadamore@537 31 * @run main Pos04
mcimadamore@537 32 *
mcimadamore@537 33 */
mcimadamore@537 34
mcimadamore@537 35 public class Pos04<U> {
mcimadamore@537 36
mcimadamore@537 37 void test() {
mcimadamore@537 38 class Foo<V> {
mcimadamore@537 39 Foo(V x) {}
mcimadamore@537 40 <Z> Foo(V x, Z z) {}
mcimadamore@537 41 }
mcimadamore@537 42 Foo<Integer> p1 = new Foo<>(1);
mcimadamore@537 43 Foo<? extends Integer> p2 = new Foo<>(1);
mcimadamore@537 44 Foo<?> p3 = new Foo<>(1);
mcimadamore@537 45 Foo<? super Integer> p4 = new Foo<>(1);
mcimadamore@537 46
mcimadamore@914 47 Foo<Integer> p5 = new Foo<>(1, "");
mcimadamore@914 48 Foo<? extends Integer> p6 = new Foo<>(1, "");
mcimadamore@914 49 Foo<?> p7 = new Foo<>(1, "");
mcimadamore@914 50 Foo<? super Integer> p8 = new Foo<>(1, "");
mcimadamore@537 51 }
mcimadamore@537 52
mcimadamore@537 53 public static void main(String[] args) {
mcimadamore@537 54 Pos04<String> p4 = new Pos04<>();
mcimadamore@537 55 p4.test();
mcimadamore@537 56 }
mcimadamore@537 57 }

mercurial