diff --git a/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngineBase.cs b/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngineBase.cs index b938064dc9..c0da6aebb1 100644 --- a/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngineBase.cs +++ b/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngineBase.cs @@ -200,6 +200,12 @@ namespace ICSharpCode.NRefactory.CSharp.Completion } parameter.Push (0); break; + case '=': + if (nextCh == '>') { + i++; + continue; + } + break; case '>': if (inString || inChar || inVerbatimString || inSingleComment || inMultiLineComment) { break; @@ -705,7 +711,7 @@ namespace ICSharpCode.NRefactory.CSharp.Completion { SyntaxTree baseUnit; baseUnit = ParseStub("a", false); - + var section = baseUnit.GetNodeAt(location.Line, location.Column - 2); var attr = section != null ? section.Attributes.LastOrDefault() : null; if (attr != null) { diff --git a/ICSharpCode.NRefactory.Tests/CSharp/CodeCompletion/ParameterCompletionTests.cs b/ICSharpCode.NRefactory.Tests/CSharp/CodeCompletion/ParameterCompletionTests.cs index 6cbfc5c57b..87a03353c8 100644 --- a/ICSharpCode.NRefactory.Tests/CSharp/CodeCompletion/ParameterCompletionTests.cs +++ b/ICSharpCode.NRefactory.Tests/CSharp/CodeCompletion/ParameterCompletionTests.cs @@ -985,5 +985,26 @@ public class B Assert.IsNotNull (provider, "provider was not created."); Assert.AreEqual (1, provider.Count); } + + + [Test()] + public void TestLambdaCase() + { + IParameterDataProvider provider = CreateProvider( + @"using System; +class TestClass +{ + void F (Action i, int foo) + { + $F (()=> Something(),$ + + } +} +"); + Assert.IsTrue (provider != null && provider.Count == 1); + } + + + } } \ No newline at end of file