6776289: Regression: javac7 doesnt resolve method calls properly
Superclass' private methods shouldn't be considered during method resolution Reviewed-by: jjg
This commit is contained in:
parent
594c9ed01f
commit
71eb016652
@ -559,6 +559,7 @@ public class Resolve {
|
||||
boolean useVarargs,
|
||||
boolean operator) {
|
||||
if (sym.kind == ERR) return bestSoFar;
|
||||
if (!sym.isInheritedIn(site.tsym, types)) return bestSoFar;
|
||||
assert sym.kind < AMBIGUOUS;
|
||||
try {
|
||||
if (rawInstantiate(env, site, sym, argtypes, typeargtypes,
|
||||
|
@ -1,5 +1,5 @@
|
||||
T6711619a.java:63:14: compiler.err.report.access: a(), private, T6711619a.A
|
||||
T6711619a.java:64:14: compiler.err.report.access: b(), private, T6711619a.B
|
||||
T6711619a.java:63:14: compiler.err.cant.resolve.args: kindname.method, a, ,
|
||||
T6711619a.java:64:14: compiler.err.cant.resolve.args: kindname.method, b, ,
|
||||
T6711619a.java:69:19: compiler.err.report.access: a, private, T6711619a.A
|
||||
T6711619a.java:70:19: compiler.err.report.access: b, private, T6711619a.B
|
||||
T6711619a.java:71:19: compiler.err.report.access: a, private, T6711619a.A
|
||||
|
42
langtools/test/tools/javac/overload/T6776289.java
Normal file
42
langtools/test/tools/javac/overload/T6776289.java
Normal file
@ -0,0 +1,42 @@
|
||||
/*
|
||||
* Copyright 2008 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
* CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
* have any questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @bug 6776289
|
||||
* @summary Regression: javac7 doesnt resolve method calls properly
|
||||
* @compile T6776289.java
|
||||
*/
|
||||
|
||||
class A {
|
||||
private void m(int a, int b) { }
|
||||
}
|
||||
|
||||
class T6776289 {
|
||||
static void m(int a, String s) { }
|
||||
class B extends A {
|
||||
public void test() {
|
||||
m(1, "");
|
||||
}
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user