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