src/share/classes/com/sun/tools/javac/comp/Check.java

changeset 24
d032d5090fd5
parent 12
7366066839bb
child 42
f7e64b33d5a4
equal deleted inserted replaced
23:961ae2608114 24:d032d5090fd5
1245 if (st1 == s1.type) continue; 1245 if (st1 == s1.type) continue;
1246 1246
1247 for (Type t2 = sup; 1247 for (Type t2 = sup;
1248 t2.tag == CLASS; 1248 t2.tag == CLASS;
1249 t2 = types.supertype(t2)) { 1249 t2 = types.supertype(t2)) {
1250 for (Scope.Entry e2 = t1.tsym.members().lookup(s1.name); 1250 for (Scope.Entry e2 = t2.tsym.members().lookup(s1.name);
1251 e2.scope != null; 1251 e2.scope != null;
1252 e2 = e2.next()) { 1252 e2 = e2.next()) {
1253 Symbol s2 = e2.sym; 1253 Symbol s2 = e2.sym;
1254 if (s2 == s1 || 1254 if (s2 == s1 ||
1255 s2.kind != MTH || 1255 s2.kind != MTH ||
1392 TypeSymbol c = t.tsym; 1392 TypeSymbol c = t.tsym;
1393 Scope.Entry e = c.members().lookup(m.name); 1393 Scope.Entry e = c.members().lookup(m.name);
1394 while (e.scope != null) { 1394 while (e.scope != null) {
1395 if (m.overrides(e.sym, origin, types, false)) 1395 if (m.overrides(e.sym, origin, types, false))
1396 checkOverride(tree, m, (MethodSymbol)e.sym, origin); 1396 checkOverride(tree, m, (MethodSymbol)e.sym, origin);
1397 else if (e.sym.isInheritedIn(origin, types) && !m.isConstructor()) {
1398 Type er1 = m.erasure(types);
1399 Type er2 = e.sym.erasure(types);
1400 if (types.isSameType(er1,er2)) {
1401 log.error(TreeInfo.diagnosticPositionFor(m, tree),
1402 "name.clash.same.erasure.no.override",
1403 m, m.location(),
1404 e.sym, e.sym.location());
1405 }
1406 }
1397 e = e.next(); 1407 e = e.next();
1398 } 1408 }
1399 } 1409 }
1400 } 1410 }
1401 1411

mercurial