Browse Source

Don't report a member as implementing an interface member if there is another explicit implementation of that interface member.

newNRvisualizers
erikkallen 14 years ago
parent
commit
d46cbdbb06
  1. 6
      ICSharpCode.NRefactory/TypeSystem/Implementation/AbstractResolvedMember.cs

6
ICSharpCode.NRefactory/TypeSystem/Implementation/AbstractResolvedMember.cs

@ -80,9 +80,13 @@ namespace ICSharpCode.NRefactory.TypeSystem.Implementation @@ -80,9 +80,13 @@ namespace ICSharpCode.NRefactory.TypeSystem.Implementation
return EmptyList<IMember>.Instance;
} else {
// TODO: implement interface member mappings correctly
return InheritanceHelper.GetBaseMembers(this, true)
var result = InheritanceHelper.GetBaseMembers(this, true)
.Where(m => m.DeclaringTypeDefinition != null && m.DeclaringTypeDefinition.Kind == TypeKind.Interface)
.ToArray();
result = result.Where(item => !DeclaringTypeDefinition.Members.Any(m => m.IsExplicitInterfaceImplementation && m.ImplementedInterfaceMembers.Contains(item))).ToArray();
return result;
}
}

Loading…
Cancel
Save