equal
deleted
inserted
replaced
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 |