test/tools/javac/diags/examples/IncompatibleArgTypesInMethodRef.java

Thu, 21 Feb 2013 15:26:46 +0000

author
mcimadamore
date
Thu, 21 Feb 2013 15:26:46 +0000
changeset 1599
9f0ec00514b6
parent 1581
4ff468de829d
child 2000
4a6acc42c3a1
permissions
-rw-r--r--

8007461: Regression: bad overload resolution when inner class and outer class have method with same name
Summary: Fix regression in varargs method resolution introduced by bad refactoring
Reviewed-by: jjg

mcimadamore@1581 1 /*
mcimadamore@1581 2 * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
mcimadamore@1581 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
mcimadamore@1581 4 *
mcimadamore@1581 5 * This code is free software; you can redistribute it and/or modify it
mcimadamore@1581 6 * under the terms of the GNU General Public License version 2 only, as
mcimadamore@1581 7 * published by the Free Software Foundation.
mcimadamore@1581 8 *
mcimadamore@1581 9 * This code is distributed in the hope that it will be useful, but WITHOUT
mcimadamore@1581 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
mcimadamore@1581 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
mcimadamore@1581 12 * version 2 for more details (a copy is included in the LICENSE file that
mcimadamore@1581 13 * accompanied this code).
mcimadamore@1581 14 *
mcimadamore@1581 15 * You should have received a copy of the GNU General Public License version
mcimadamore@1581 16 * 2 along with this work; if not, write to the Free Software Foundation,
mcimadamore@1581 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
mcimadamore@1581 18 *
mcimadamore@1581 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
mcimadamore@1581 20 * or visit www.oracle.com if you need additional information or have any
mcimadamore@1581 21 * questions.
mcimadamore@1581 22 */
mcimadamore@1581 23
mcimadamore@1581 24 // key: compiler.err.cant.apply.symbol
mcimadamore@1581 25 // key: compiler.misc.infer.no.conforming.assignment.exists
mcimadamore@1581 26 // key: compiler.misc.incompatible.arg.types.in.mref
mcimadamore@1581 27
mcimadamore@1581 28 class IncompatibleArgTypesInMethodRef {
mcimadamore@1581 29 interface SAM<X> {
mcimadamore@1581 30 void m(X x);
mcimadamore@1581 31 }
mcimadamore@1581 32
mcimadamore@1581 33 void g(String s, Integer i) { }
mcimadamore@1581 34
mcimadamore@1581 35 <Z> void m(SAM<Z> s) { }
mcimadamore@1581 36
mcimadamore@1581 37 void test() {
mcimadamore@1581 38 m(this::g);
mcimadamore@1581 39 }
mcimadamore@1581 40 }

mercurial