src/share/classes/com/sun/tools/javac/code/Types.java

changeset 1582
3cd997b9fd84
parent 1579
0baaae675b19
child 1587
f1f605f85850
     1.1 --- a/src/share/classes/com/sun/tools/javac/code/Types.java	Fri Feb 15 16:29:58 2013 +0000
     1.2 +++ b/src/share/classes/com/sun/tools/javac/code/Types.java	Fri Feb 15 16:30:31 2013 +0000
     1.3 @@ -2606,16 +2606,17 @@
     1.4                  candidates = candidates.prepend((MethodSymbol)s);
     1.5              }
     1.6          }
     1.7 -        return prune(candidates, ownerComparator);
     1.8 +        return prune(candidates);
     1.9      }
    1.10  
    1.11 -    public List<MethodSymbol> prune(List<MethodSymbol> methods, Comparator<MethodSymbol> cmp) {
    1.12 +    public List<MethodSymbol> prune(List<MethodSymbol> methods) {
    1.13          ListBuffer<MethodSymbol> methodsMin = ListBuffer.lb();
    1.14          for (MethodSymbol m1 : methods) {
    1.15              boolean isMin_m1 = true;
    1.16              for (MethodSymbol m2 : methods) {
    1.17                  if (m1 == m2) continue;
    1.18 -                if (cmp.compare(m2, m1) < 0) {
    1.19 +                if (m2.owner != m1.owner &&
    1.20 +                        asSuper(m2.owner.type, m1.owner) != null) {
    1.21                      isMin_m1 = false;
    1.22                      break;
    1.23                  }
    1.24 @@ -2625,12 +2626,6 @@
    1.25          }
    1.26          return methodsMin.toList();
    1.27      }
    1.28 -
    1.29 -    Comparator<MethodSymbol> ownerComparator = new Comparator<MethodSymbol>() {
    1.30 -        public int compare(MethodSymbol s1, MethodSymbol s2) {
    1.31 -            return s1.owner.isSubClass(s2.owner, Types.this) ? -1 : 1;
    1.32 -        }
    1.33 -    };
    1.34      // where
    1.35              private class MethodFilter implements Filter<Symbol> {
    1.36  

mercurial