1.1 --- a/src/share/classes/com/sun/tools/javac/comp/Check.java Wed Apr 09 13:19:01 2008 +0100 1.2 +++ b/src/share/classes/com/sun/tools/javac/comp/Check.java Wed Apr 09 13:41:45 2008 +0100 1.3 @@ -1247,7 +1247,7 @@ 1.4 for (Type t2 = sup; 1.5 t2.tag == CLASS; 1.6 t2 = types.supertype(t2)) { 1.7 - for (Scope.Entry e2 = t1.tsym.members().lookup(s1.name); 1.8 + for (Scope.Entry e2 = t2.tsym.members().lookup(s1.name); 1.9 e2.scope != null; 1.10 e2 = e2.next()) { 1.11 Symbol s2 = e2.sym; 1.12 @@ -1394,6 +1394,16 @@ 1.13 while (e.scope != null) { 1.14 if (m.overrides(e.sym, origin, types, false)) 1.15 checkOverride(tree, m, (MethodSymbol)e.sym, origin); 1.16 + else if (e.sym.isInheritedIn(origin, types) && !m.isConstructor()) { 1.17 + Type er1 = m.erasure(types); 1.18 + Type er2 = e.sym.erasure(types); 1.19 + if (types.isSameType(er1,er2)) { 1.20 + log.error(TreeInfo.diagnosticPositionFor(m, tree), 1.21 + "name.clash.same.erasure.no.override", 1.22 + m, m.location(), 1.23 + e.sym, e.sym.location()); 1.24 + } 1.25 + } 1.26 e = e.next(); 1.27 } 1.28 }