From 92a62059de146a0c33cfafe91d9408eaa738a5e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20Kr=C3=BCger?= Date: Thu, 31 Jan 2013 09:45:14 +0100 Subject: [PATCH] Fixed constraint completion bug. --- .../Completion/CSharpCompletionEngine.cs | 4 ++++ .../CodeCompletion/CodeCompletionBugTests.cs | 22 +++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs b/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs index b899296b9a..e61c5fdc50 100644 --- a/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs +++ b/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs @@ -1547,6 +1547,10 @@ namespace ICSharpCode.NRefactory.CSharp.Completion wrapper.AddNamespace(lookup, curNs); } } + + if (node is AstType && node.Parent is Constraint) { + wrapper.AddCustom ("new()"); + } } IEnumerable HandleKeywordCompletion(int wordStart, string word) diff --git a/ICSharpCode.NRefactory.Tests/CSharp/CodeCompletion/CodeCompletionBugTests.cs b/ICSharpCode.NRefactory.Tests/CSharp/CodeCompletion/CodeCompletionBugTests.cs index c2cb814f54..5871e9f3d4 100644 --- a/ICSharpCode.NRefactory.Tests/CSharp/CodeCompletion/CodeCompletionBugTests.cs +++ b/ICSharpCode.NRefactory.Tests/CSharp/CodeCompletion/CodeCompletionBugTests.cs @@ -5925,5 +5925,27 @@ public class Testing Assert.IsTrue(provider == null || provider.Count == 0); }); } + + /// + ///Bug 9905 - Cannot type new() constraint + /// + [Test] + public void TestBug9905 () + { + + CombinedProviderTest( + @"using System; + +public class Testing +{ + public static void DoNothing() where T : class$, n$ + { + } +} + +", provider => { + Assert.IsNotNull(provider.Find("new()")); + }); + } } }