From b7d860ed948b3591f4803cf108fe5274be6576ff Mon Sep 17 00:00:00 2001 From: HeeJae Chang Date: Wed, 31 Oct 2018 10:53:42 -0500 Subject: [PATCH] Add DiagnosticAnalysisResult.CreateEmpty and use where appropriate --- ...gnosticIncrementalAnalyzer.ProjectState.cs | 12 +++++----- .../EngineV2/DiagnosticIncrementalAnalyzer.cs | 2 +- .../Diagnostics/DiagnosticAnalysisResult.cs | 24 ++++++++++--------- 3 files changed, 20 insertions(+), 18 deletions(-) diff --git a/src/Features/Core/Portable/Diagnostics/EngineV2/DiagnosticIncrementalAnalyzer.ProjectState.cs b/src/Features/Core/Portable/Diagnostics/EngineV2/DiagnosticIncrementalAnalyzer.ProjectState.cs index e755c4ecdcf..4b5a4d535ed 100644 --- a/src/Features/Core/Portable/Diagnostics/EngineV2/DiagnosticIncrementalAnalyzer.ProjectState.cs +++ b/src/Features/Core/Portable/Diagnostics/EngineV2/DiagnosticIncrementalAnalyzer.ProjectState.cs @@ -77,7 +77,7 @@ public async Task GetAnalysisDataAsync(Project project // if given project doesnt have any diagnostics, return empty. if (lastResult.IsEmpty) { - return new DiagnosticAnalysisResult(lastResult.ProjectId, lastResult.Version); + return DiagnosticAnalysisResult.CreateEmpty(lastResult.ProjectId, lastResult.Version); } // loading data can be cancelled any time. @@ -136,7 +136,7 @@ public async Task GetAnalysisDataAsync(Document docume // if given document doesnt have any diagnostics, return empty. if (IsEmpty(lastResult, document.Id)) { - return new DiagnosticAnalysisResult(lastResult.ProjectId, lastResult.Version); + return DiagnosticAnalysisResult.CreateEmpty(lastResult.ProjectId, lastResult.Version); } // loading data can be cancelled any time. @@ -177,7 +177,7 @@ public async Task GetProjectAnalysisDataAsync(Project // if given document doesnt have any diagnostics, return empty. if (lastResult.IsEmpty) { - return new DiagnosticAnalysisResult(lastResult.ProjectId, lastResult.Version); + return DiagnosticAnalysisResult.CreateEmpty(lastResult.ProjectId, lastResult.Version); } // loading data can be cancelled any time. @@ -314,7 +314,7 @@ private async Task LoadInitialAnalysisDataAsync(Projec if (!await TryDeserializeAsync(serializer, project, project.Id, _owner.NonLocalStateName, s_addOthers, builder, cancellationToken).ConfigureAwait(false)) { - return new DiagnosticAnalysisResult(project.Id, VersionStamp.Default, ImmutableHashSet.Empty, isEmpty: true, fromBuild: false); + return DiagnosticAnalysisResult.CreateEmpty(project.Id, VersionStamp.Default); } return builder.ToResult(); @@ -331,7 +331,7 @@ private async Task LoadInitialAnalysisDataAsync(Docume if (!await TryDeserializeDocumentAsync(serializer, document, builder, cancellationToken).ConfigureAwait(false)) { - return new DiagnosticAnalysisResult(project.Id, VersionStamp.Default, ImmutableHashSet.Empty, isEmpty: true, fromBuild: false); + return DiagnosticAnalysisResult.CreateEmpty(project.Id, VersionStamp.Default); } return builder.ToResult(); @@ -346,7 +346,7 @@ private async Task LoadInitialProjectAnalysisDataAsync if (!await TryDeserializeAsync(serializer, project, project.Id, _owner.NonLocalStateName, s_addOthers, builder, cancellationToken).ConfigureAwait(false)) { - return new DiagnosticAnalysisResult(project.Id, VersionStamp.Default, ImmutableHashSet.Empty, isEmpty: true, fromBuild: false); + return DiagnosticAnalysisResult.CreateEmpty(project.Id, VersionStamp.Default); } return builder.ToResult(); diff --git a/src/Features/Core/Portable/Diagnostics/EngineV2/DiagnosticIncrementalAnalyzer.cs b/src/Features/Core/Portable/Diagnostics/EngineV2/DiagnosticIncrementalAnalyzer.cs index 638c79d5fcb..ddc0e81e21d 100644 --- a/src/Features/Core/Portable/Diagnostics/EngineV2/DiagnosticIncrementalAnalyzer.cs +++ b/src/Features/Core/Portable/Diagnostics/EngineV2/DiagnosticIncrementalAnalyzer.cs @@ -239,7 +239,7 @@ private static DiagnosticAnalysisResult GetResultOrEmpty(ImmutableDictionary GetResult(DiagnosticAnalysisResult result, AnalysisKind kind, DocumentId id) diff --git a/src/Workspaces/Core/Portable/Diagnostics/DiagnosticAnalysisResult.cs b/src/Workspaces/Core/Portable/Diagnostics/DiagnosticAnalysisResult.cs index 9f0395c7334..1342b0f18f3 100644 --- a/src/Workspaces/Core/Portable/Diagnostics/DiagnosticAnalysisResult.cs +++ b/src/Workspaces/Core/Portable/Diagnostics/DiagnosticAnalysisResult.cs @@ -30,17 +30,6 @@ internal struct DiagnosticAnalysisResult private readonly ImmutableDictionary> _nonLocals; private readonly ImmutableArray _others; - public DiagnosticAnalysisResult(ProjectId projectId, VersionStamp version) : this( - projectId, version, - documentIds: ImmutableHashSet.Empty, - syntaxLocals: ImmutableDictionary>.Empty, - semanticLocals: ImmutableDictionary>.Empty, - nonLocals: ImmutableDictionary>.Empty, - others: ImmutableArray.Empty, - fromBuild: false) - { - } - public DiagnosticAnalysisResult( ProjectId projectId, VersionStamp version, ImmutableHashSet documentIds, bool isEmpty, bool fromBuild) { @@ -89,6 +78,19 @@ internal struct DiagnosticAnalysisResult { } + public static DiagnosticAnalysisResult CreateEmpty(ProjectId projectId, VersionStamp version) + { + return new DiagnosticAnalysisResult( + projectId, + version, + documentIds: ImmutableHashSet.Empty, + syntaxLocals: ImmutableDictionary>.Empty, + semanticLocals: ImmutableDictionary>.Empty, + nonLocals: ImmutableDictionary>.Empty, + others: ImmutableArray.Empty, + fromBuild: false); + } + // aggregated form means it has aggregated information but no actual data. public bool IsAggregatedForm => _syntaxLocals == null; -- GitLab