From eece1ecd85692238c01fee95acaa10b618c59120 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer Date: Wed, 15 Dec 2010 21:57:08 +0100 Subject: [PATCH] fixed SD-1583 - Finalize() is visible in C# override completion --- .../OverrideCompletionItemProvider.cs | 2 +- .../Project/Src/LanguageProperties.cs | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/Main/Base/Project/Src/Editor/CodeCompletion/OverrideCompletionItemProvider.cs b/src/Main/Base/Project/Src/Editor/CodeCompletion/OverrideCompletionItemProvider.cs index 1bc2a5d2ca..e853f1a6b8 100644 --- a/src/Main/Base/Project/Src/Editor/CodeCompletion/OverrideCompletionItemProvider.cs +++ b/src/Main/Base/Project/Src/Editor/CodeCompletion/OverrideCompletionItemProvider.cs @@ -48,7 +48,7 @@ namespace ICSharpCode.SharpDevelop.Editor.CodeCompletion LanguageProperties language = c.ProjectContent.Language; OverrideCompletionItemList result = new OverrideCompletionItemList(); foreach (IMember m in GetOverridableMembers(c)) { - if (language.ShowMember(m, false)) { + if (language.ShowMemberInOverrideCompletion(m)) { result.Items.Add(new OverrideCompletionItem(m)); } } diff --git a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/LanguageProperties.cs b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/LanguageProperties.cs index 0d2c129ebb..b6ee46075a 100644 --- a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/LanguageProperties.cs +++ b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/LanguageProperties.cs @@ -228,6 +228,11 @@ namespace ICSharpCode.SharpDevelop.Dom } return member.IsStatic == showStatic; } + + public virtual bool ShowMemberInOverrideCompletion(IMember member) + { + return true; + } #endregion /// @@ -320,6 +325,18 @@ namespace ICSharpCode.SharpDevelop.Dom } return true; } + + public override bool ShowMemberInOverrideCompletion(IMember member) + { + IMethod method = member as IMethod; + + if (method != null) { + if (method.Name == "Finalize" && method.Parameters.Count == 0) + return false; + } + + return base.ShowMemberInOverrideCompletion(member); + } } #endregion