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

changeset 673
7ae4016c5938
parent 666
f37253c9e082
child 674
584365f256a7
     1.1 --- a/src/share/classes/com/sun/tools/javac/code/Symbol.java	Mon Sep 06 12:55:09 2010 -0700
     1.2 +++ b/src/share/classes/com/sun/tools/javac/code/Symbol.java	Tue Sep 07 17:31:54 2010 +0100
     1.3 @@ -1217,7 +1217,18 @@
     1.4           *  as possible implementations.
     1.5           */
     1.6          public MethodSymbol implementation(TypeSymbol origin, Types types, boolean checkResult) {
     1.7 -            MethodSymbol res = types.implementation(this, origin, types, checkResult);
     1.8 +            return implementation(origin, types, checkResult, implementation_filter);
     1.9 +        }
    1.10 +        // where
    1.11 +            private static final Filter<Symbol> implementation_filter = new Filter<Symbol>() {
    1.12 +                public boolean accepts(Symbol s) {
    1.13 +                    return s.kind == Kinds.MTH &&
    1.14 +                            (s.flags() & SYNTHETIC) == 0;
    1.15 +                }
    1.16 +            };
    1.17 +
    1.18 +        public MethodSymbol implementation(TypeSymbol origin, Types types, boolean checkResult, Filter<Symbol> implFilter) {
    1.19 +            MethodSymbol res = types.implementation(this, origin, types, checkResult, implFilter);
    1.20              if (res != null)
    1.21                  return res;
    1.22              // if origin is derived from a raw type, we might have missed

mercurial