From cfb05bdaee125d1ba4454075a1375724b55a8834 Mon Sep 17 00:00:00 2001 From: Manish Vasani Date: Thu, 6 Aug 2015 14:17:33 -0700 Subject: [PATCH] Ensure that syntax tree actions are also re-executed by the solution crawler when compilation options (or analyzer rule severities) are changed. Fixes #3796 --- .../Test/SolutionCrawler/WorkCoordinatorTests.cs | 4 ++-- .../Core/SolutionCrawler/InvocationReasons_Constants.cs | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/EditorFeatures/Test/SolutionCrawler/WorkCoordinatorTests.cs b/src/EditorFeatures/Test/SolutionCrawler/WorkCoordinatorTests.cs index f13c9f1a3a2..29643706e9e 100644 --- a/src/EditorFeatures/Test/SolutionCrawler/WorkCoordinatorTests.cs +++ b/src/EditorFeatures/Test/SolutionCrawler/WorkCoordinatorTests.cs @@ -205,7 +205,7 @@ public void Project_AssemblyName_Change() var project = workspace.CurrentSolution.Projects.First(p => p.Name == "P1").WithAssemblyName("newName"); var worker = ExecuteOperation(workspace, w => w.ChangeProject(project.Id, project.Solution)); - Assert.Equal(0, worker.SyntaxDocumentIds.Count); + Assert.Equal(5, worker.SyntaxDocumentIds.Count); Assert.Equal(5, worker.DocumentIds.Count); } } @@ -222,7 +222,7 @@ public void Project_AnalyzerOptions_Change() var project = workspace.CurrentSolution.Projects.First(p => p.Name == "P1").AddAdditionalDocument("a1", SourceText.From("")).Project; var worker = ExecuteOperation(workspace, w => w.ChangeProject(project.Id, project.Solution)); - Assert.Equal(0, worker.SyntaxDocumentIds.Count); + Assert.Equal(5, worker.SyntaxDocumentIds.Count); Assert.Equal(5, worker.DocumentIds.Count); } } diff --git a/src/Features/Core/SolutionCrawler/InvocationReasons_Constants.cs b/src/Features/Core/SolutionCrawler/InvocationReasons_Constants.cs index efc38e3124b..eea17c6e247 100644 --- a/src/Features/Core/SolutionCrawler/InvocationReasons_Constants.cs +++ b/src/Features/Core/SolutionCrawler/InvocationReasons_Constants.cs @@ -29,6 +29,7 @@ internal partial struct InvocationReasons public static readonly InvocationReasons ProjectConfigurationChanged = new InvocationReasons( ImmutableHashSet.Create( + PredefinedInvocationReasons.SyntaxChanged, PredefinedInvocationReasons.SemanticChanged)); public static readonly InvocationReasons SolutionRemoved = -- GitLab