From 37f9747ccfa584b53bdf5cee15dd40c9406deb74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0imon=20Kon=C3=AD=C4=8Dek?= Date: Wed, 28 Feb 2018 01:40:28 +0100 Subject: [PATCH] Fixing (removing) suggestion mode after declaration pattern --- ...sPossibleDeconstructionDesignationTests.cs | 21 +++++++++++++++++++ .../ContextQuery/SyntaxTreeExtensions.cs | 3 ++- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/src/EditorFeatures/CSharpTest/Extensions/ContextQuery/IsPossibleDeconstructionDesignationTests.cs b/src/EditorFeatures/CSharpTest/Extensions/ContextQuery/IsPossibleDeconstructionDesignationTests.cs index 365a038a39b..8db393c1e87 100644 --- a/src/EditorFeatures/CSharpTest/Extensions/ContextQuery/IsPossibleDeconstructionDesignationTests.cs +++ b/src/EditorFeatures/CSharpTest/Extensions/ContextQuery/IsPossibleDeconstructionDesignationTests.cs @@ -153,5 +153,26 @@ public void False1() { VerifyFalse(AddInsideMethod(@"var $$")); } + + [WorkItem(25084, "https://github.com/dotnet/roslyn/issues/25084#issuecomment-369075537")] + [Fact, Trait(Traits.Feature, Traits.Features.Completion)] + public void FalseAfterPattern1() + { + VerifyFalse(AddInsideMethod(@"if (1 is int i $$")); + } + + [WorkItem(25084, "https://github.com/dotnet/roslyn/issues/25084#issuecomment-369075537")] + [Fact, Trait(Traits.Feature, Traits.Features.Completion)] + public void FalseAfterPattern2() + { + VerifyFalse(AddInsideMethod(@"if (1 is int i $$);")); + } + + [WorkItem(25084, "https://github.com/dotnet/roslyn/issues/25084#issuecomment-369075537")] + [Fact, Trait(Traits.Feature, Traits.Features.Completion)] + public void FalseAfterPattern3() + { + VerifyFalse(AddInsideMethod(@"switch (1) { case int i $$ }")); + } } } diff --git a/src/Workspaces/CSharp/Portable/Extensions/ContextQuery/SyntaxTreeExtensions.cs b/src/Workspaces/CSharp/Portable/Extensions/ContextQuery/SyntaxTreeExtensions.cs index 34c2730e025..22057efd84f 100644 --- a/src/Workspaces/CSharp/Portable/Extensions/ContextQuery/SyntaxTreeExtensions.cs +++ b/src/Workspaces/CSharp/Portable/Extensions/ContextQuery/SyntaxTreeExtensions.cs @@ -1322,7 +1322,8 @@ public static bool IsPossibleTupleOpenParenOrComma(SyntaxToken possibleCommaOrPa // The well-formed cases: // var ($$, y) = e; // (var $$, var y) = e; - if (leftToken.Parent.IsKind(SyntaxKind.SingleVariableDesignation, SyntaxKind.ParenthesizedVariableDesignation)) + if (leftToken.Parent.IsKind(SyntaxKind.ParenthesizedVariableDesignation) || + leftToken.Parent.IsParentKind(SyntaxKind.ParenthesizedVariableDesignation)) { return true; } -- GitLab