From dba7b479aecd111b970cbae092b1d71254dd46a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20Kr=C3=BCger?= Date: Fri, 20 Jan 2012 10:35:46 +0100 Subject: [PATCH] Fixed operators show up in completion list. --- .../Completion/CSharpCompletionEngine.cs | 5 ++++- .../CodeCompletion/CodeCompletionBugTests.cs | 21 +++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs b/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs index e8d4808001..d6d7c20dbc 100644 --- a/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs +++ b/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs @@ -871,6 +871,8 @@ namespace ICSharpCode.NRefactory.CSharp.Completion foreach (var member in def.GetMembers ()) { if (member is IMethod && ((IMethod)member).FullName == "System.Object.Finalize") continue; + if (member.EntityType == EntityType.Operator) + continue; if (memberPred == null || memberPred (member)) wrapper.AddMember (member); } @@ -1778,7 +1780,8 @@ namespace ICSharpCode.NRefactory.CSharp.Completion if (member is IMethod && ((IMethod)member).FullName == "System.Object.Finalize") continue; - + if (member.EntityType == EntityType.Operator) + continue; // Console.WriteLine ("add : "+ member.FullName + " --- " + member.IsStatic); result.AddMember (member); } diff --git a/ICSharpCode.NRefactory.Tests/CSharp/CodeCompletion/CodeCompletionBugTests.cs b/ICSharpCode.NRefactory.Tests/CSharp/CodeCompletion/CodeCompletionBugTests.cs index bebd775c2c..9dc848be35 100644 --- a/ICSharpCode.NRefactory.Tests/CSharp/CodeCompletion/CodeCompletionBugTests.cs +++ b/ICSharpCode.NRefactory.Tests/CSharp/CodeCompletion/CodeCompletionBugTests.cs @@ -1691,6 +1691,27 @@ class A }); } + /// + /// Bug 2793 - op_Equality should not be offered in the completion list + /// + [Test()] + public void Test2793 () + { + CombinedProviderTest ( +@" +class A +{ + public static void Main (string[] args) + { + $System.Action.$ + } +} +", provider => { + Assert.IsNull (provider.Find ("op_Equality"), "'op_Equality' found."); + Assert.IsNull (provider.Find ("op_Inequality"), "'op_Inequality' found."); + }); + } + /// /// Bug 2799 - No completion offered when declaring fields in a class ///