Browse Source

Fix SymbolCollector not returning a member when it was implementing interface members.

pull/516/head
Daniel Grunwald 11 years ago
parent
commit
14dc190f94
  1. 6
      src/Libraries/NRefactory/ICSharpCode.NRefactory/Analysis/SymbolCollector.cs

6
src/Libraries/NRefactory/ICSharpCode.NRefactory/Analysis/SymbolCollector.cs

@ -120,13 +120,11 @@ namespace ICSharpCode.NRefactory.Analysis
case SymbolKind.Method: { case SymbolKind.Method: {
var member = (IMember)m; var member = (IMember)m;
List<ISymbol> symbols = new List<ISymbol> (); List<ISymbol> symbols = new List<ISymbol> ();
if (member.ImplementedInterfaceMembers.Count > 0) { if (!member.IsExplicitInterfaceImplementation)
symbols.Add (member);
foreach (var m2 in member.ImplementedInterfaceMembers) { foreach (var m2 in member.ImplementedInterfaceMembers) {
symbols.AddRange (GetRelatedSymbols (g, m2)); symbols.AddRange (GetRelatedSymbols (g, m2));
} }
} else {
symbols.Add (member);
}
if (member.DeclaringType.Kind == TypeKind.Interface) { if (member.DeclaringType.Kind == TypeKind.Interface) {
var declaringTypeNode = g.GetNode(member.DeclaringTypeDefinition); var declaringTypeNode = g.GetNode(member.DeclaringTypeDefinition);

Loading…
Cancel
Save