diff --git a/src/Microsoft.CodeAnalysis.Razor.Workspaces/ProjectSystem/DefaultDocumentSnapshot.cs b/src/Microsoft.CodeAnalysis.Razor.Workspaces/ProjectSystem/DefaultDocumentSnapshot.cs index fda5da61eb..cf5c1a7766 100644 --- a/src/Microsoft.CodeAnalysis.Razor.Workspaces/ProjectSystem/DefaultDocumentSnapshot.cs +++ b/src/Microsoft.CodeAnalysis.Razor.Workspaces/ProjectSystem/DefaultDocumentSnapshot.cs @@ -60,6 +60,12 @@ namespace Microsoft.CodeAnalysis.Razor.ProjectSystem return output; } + public override async Task GetGeneratedOutputVersionAsync() + { + var (_, _, version) = await State.GetGeneratedOutputAndVersionAsync(ProjectInternal, this).ConfigureAwait(false); + return version; + } + public override bool TryGetText(out SourceText result) { return State.TryGetText(out result); @@ -81,5 +87,17 @@ namespace Microsoft.CodeAnalysis.Razor.ProjectSystem result = null; return false; } + + public override bool TryGetGeneratedOutputVersionAsync(out VersionStamp result) + { + if (State.IsGeneratedOutputResultAvailable) + { + result = State.GetGeneratedOutputAndVersionAsync(ProjectInternal, this).Result.outputVersion; + return true; + } + + result = default(VersionStamp); + return false; + } } } \ No newline at end of file diff --git a/src/Microsoft.CodeAnalysis.Razor.Workspaces/ProjectSystem/DefaultImportDocumentSnapshot.cs b/src/Microsoft.CodeAnalysis.Razor.Workspaces/ProjectSystem/DefaultImportDocumentSnapshot.cs index 1edc432e25..d73446362d 100644 --- a/src/Microsoft.CodeAnalysis.Razor.Workspaces/ProjectSystem/DefaultImportDocumentSnapshot.cs +++ b/src/Microsoft.CodeAnalysis.Razor.Workspaces/ProjectSystem/DefaultImportDocumentSnapshot.cs @@ -37,6 +37,11 @@ namespace Microsoft.CodeAnalysis.Razor.ProjectSystem throw new NotSupportedException(); } + public override Task GetGeneratedOutputVersionAsync() + { + throw new NotSupportedException(); + } + public override IReadOnlyList GetImports() { return Array.Empty(); @@ -81,5 +86,10 @@ namespace Microsoft.CodeAnalysis.Razor.ProjectSystem { throw new NotSupportedException(); } + + public override bool TryGetGeneratedOutputVersionAsync(out VersionStamp result) + { + throw new NotSupportedException(); + } } } diff --git a/src/Microsoft.CodeAnalysis.Razor.Workspaces/ProjectSystem/DocumentSnapshot.cs b/src/Microsoft.CodeAnalysis.Razor.Workspaces/ProjectSystem/DocumentSnapshot.cs index 4d606cc499..7dd8317ef1 100644 --- a/src/Microsoft.CodeAnalysis.Razor.Workspaces/ProjectSystem/DocumentSnapshot.cs +++ b/src/Microsoft.CodeAnalysis.Razor.Workspaces/ProjectSystem/DocumentSnapshot.cs @@ -26,10 +26,14 @@ namespace Microsoft.CodeAnalysis.Razor.ProjectSystem public abstract Task GetGeneratedOutputAsync(); + public abstract Task GetGeneratedOutputVersionAsync(); + public abstract bool TryGetText(out SourceText result); public abstract bool TryGetTextVersion(out VersionStamp result); public abstract bool TryGetGeneratedOutput(out RazorCodeDocument result); + + public abstract bool TryGetGeneratedOutputVersionAsync(out VersionStamp result); } }