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

changeset 1015
6bb526ccf5ff
parent 993
4caf17560ae0
child 1017
6762754eb7c0
     1.1 --- a/src/share/classes/com/sun/tools/javac/comp/Check.java	Fri May 20 16:04:23 2011 -0700
     1.2 +++ b/src/share/classes/com/sun/tools/javac/comp/Check.java	Mon May 23 11:55:55 2011 +0100
     1.3 @@ -2098,10 +2098,10 @@
     1.4      void checkOverrideClashes(DiagnosticPosition pos, Type site, MethodSymbol sym) {
     1.5           ClashFilter cf = new ClashFilter(site);
     1.6           //for each method m1 that is a member of 'site'...
     1.7 -         for (Symbol s1 : types.membersClosure(site).getElementsByName(sym.name, cf)) {
     1.8 +         for (Symbol s1 : types.membersClosure(site, false).getElementsByName(sym.name, cf)) {
     1.9              //...find another method m2 that is overridden (directly or indirectly)
    1.10              //by method 'sym' in 'site'
    1.11 -            for (Symbol s2 : types.membersClosure(site).getElementsByName(sym.name, cf)) {
    1.12 +            for (Symbol s2 : types.membersClosure(site, false).getElementsByName(sym.name, cf)) {
    1.13                  if (s1 == s2 || !sym.overrides(s2, site.tsym, types, false)) continue;
    1.14                  //if (i) the signature of 'sym' is not a subsignature of m1 (seen as
    1.15                  //a member of 'site') and (ii) m1 has the same erasure as m2, issue an error
    1.16 @@ -2134,7 +2134,7 @@
    1.17      void checkHideClashes(DiagnosticPosition pos, Type site, MethodSymbol sym) {
    1.18          ClashFilter cf = new ClashFilter(site);
    1.19          //for each method m1 that is a member of 'site'...
    1.20 -        for (Symbol s : types.membersClosure(site).getElementsByName(sym.name, cf)) {
    1.21 +        for (Symbol s : types.membersClosure(site, true).getElementsByName(sym.name, cf)) {
    1.22              //if (i) the signature of 'sym' is not a subsignature of m1 (seen as
    1.23              //a member of 'site') and (ii) 'sym' has the same erasure as m1, issue an error
    1.24              if (!types.isSubSignature(sym.type, types.memberType(site, s), false) &&

mercurial