1 type derived from DocumentState
Microsoft.CodeAnalysis.Workspaces (1)
Workspace\Solution\SourceGeneratedDocumentState.cs (1)
12
internal sealed class SourceGeneratedDocumentState :
DocumentState
9 instantiations of DocumentState
Microsoft.CodeAnalysis.Workspaces (9)
Workspace\Solution\DocumentState.cs (7)
81
return new
DocumentState
(
327
return new
DocumentState
(
374
return new
DocumentState
(
421
return new
DocumentState
(
432
=> new
DocumentState
(
476
return new
DocumentState
(
518
return new
DocumentState
(
Workspace\Solution\DocumentState_LinkedFileReuse.cs (2)
68
return new
DocumentState
(
124
return new
DocumentState
(
161 references to DocumentState
IdeCoreBenchmarks (10)
NavigateToBenchmarks.cs (10)
119
Console.WriteLine($"{nameof(
DocumentState
.TestAccessor.TryReuseSyntaxTree)} - {
DocumentState
.TestAccessor.TryReuseSyntaxTree}");
120
Console.WriteLine($"{nameof(
DocumentState
.TestAccessor.CouldReuseBecauseOfEqualPPNames)} - {
DocumentState
.TestAccessor.CouldReuseBecauseOfEqualPPNames}");
121
Console.WriteLine($"{nameof(
DocumentState
.TestAccessor.CouldReuseBecauseOfNoDirectives)} - {
DocumentState
.TestAccessor.CouldReuseBecauseOfNoDirectives}");
122
Console.WriteLine($"{nameof(
DocumentState
.TestAccessor.CouldReuseBecauseOfNoPPDirectives)} - {
DocumentState
.TestAccessor.CouldReuseBecauseOfNoPPDirectives}");
123
Console.WriteLine($"{nameof(
DocumentState
.TestAccessor.CouldNotReuse)} - {
DocumentState
.TestAccessor.CouldNotReuse}");
Microsoft.CodeAnalysis.EditorFeatures (3)
EditAndContinue\PdbMatchingSourceTextProvider.cs (3)
33
private readonly Dictionary<string, (
DocumentState
state, int solutionVersion)> _documentsWithChangedLoaderByPath = [];
130
DocumentState
? state;
165
public ImmutableDictionary<string, (
DocumentState
state, int solutionVersion)> GetDocumentsWithChangedLoaderByPath()
Microsoft.CodeAnalysis.Features (2)
EditAndContinue\Utilities\Extensions.cs (2)
107
if (textDocumentState is
DocumentState
{ SupportsSyntaxTree: false })
127
if (textDocumentState is
DocumentState
documentState)
Microsoft.CodeAnalysis.Remote.ServiceHub (1)
Host\RemoteWorkspace.SolutionCreator.cs (1)
389
project = await UpdateDocumentsAsync<
DocumentState
>(
Microsoft.CodeAnalysis.Workspaces (145)
FindSymbols\FindReferences\DependentTypeFinder_ProjectIndex.cs (1)
84
sourceGeneratorDocumentStates.States.Select(kvp => (kvp.Key, (
DocumentState
)kvp.Value)));
FindSymbols\Shared\AbstractSyntaxIndex.cs (6)
21
private static readonly ConditionalWeakTable<
DocumentState
, TIndex?> s_documentToIndex = new();
30
SolutionKey solutionKey, ProjectState project,
DocumentState
document, IndexReader read, IndexCreator create, CancellationToken cancellationToken)
37
protected static ValueTask<TIndex?> GetIndexAsync(SolutionKey solutionKey, ProjectState project,
DocumentState
document, IndexReader read, IndexCreator create, CancellationToken cancellationToken)
44
DocumentState
document,
82
DocumentState
document,
116
DocumentState
document,
FindSymbols\Shared\AbstractSyntaxIndex_Persistence.cs (5)
40
DocumentState
document,
94
DocumentState
document,
136
DocumentState
document,
149
(
DocumentState
)document.State,
157
DocumentState
document,
FindSymbols\SyntaxTree\SyntaxTreeIndex.cs (6)
39
=> GetRequiredIndexAsync(SolutionKey.ToSolutionKey(document.Project.Solution), document.Project.State, (
DocumentState
)document.State, cancellationToken);
41
public static ValueTask<SyntaxTreeIndex> GetRequiredIndexAsync(SolutionKey solutionKey, ProjectState project,
DocumentState
document, CancellationToken cancellationToken)
45
=> GetIndexAsync(SolutionKey.ToSolutionKey(document.Project.Solution), document.Project.State, (
DocumentState
)document.State, cancellationToken);
47
public static ValueTask<SyntaxTreeIndex?> GetIndexAsync(SolutionKey solutionKey, ProjectState project,
DocumentState
document, CancellationToken cancellationToken)
51
=> GetIndexAsync(SolutionKey.ToSolutionKey(document.Project.Solution), document.Project.State, (
DocumentState
)document.State, loadOnly, cancellationToken);
53
public static ValueTask<SyntaxTreeIndex?> GetIndexAsync(SolutionKey solutionKey, ProjectState project,
DocumentState
document, bool loadOnly, CancellationToken cancellationToken)
FindSymbols\TopLevelSyntaxTree\NavigateToSearchIndex.cs (6)
41
=> GetRequiredIndexAsync(SolutionKey.ToSolutionKey(document.Project.Solution), document.Project.State, (
DocumentState
)document.State, cancellationToken);
43
public static ValueTask<NavigateToSearchIndex> GetRequiredIndexAsync(SolutionKey solutionKey, ProjectState project,
DocumentState
document, CancellationToken cancellationToken)
47
=> GetIndexAsync(SolutionKey.ToSolutionKey(document.Project.Solution), document.Project.State, (
DocumentState
)document.State, cancellationToken);
49
public static ValueTask<NavigateToSearchIndex?> GetIndexAsync(SolutionKey solutionKey, ProjectState project,
DocumentState
document, CancellationToken cancellationToken)
53
=> GetIndexAsync(SolutionKey.ToSolutionKey(document.Project.Solution), document.Project.State, (
DocumentState
)document.State, loadOnly, cancellationToken);
55
public static ValueTask<NavigateToSearchIndex?> GetIndexAsync(SolutionKey solutionKey, ProjectState project,
DocumentState
document, bool loadOnly, CancellationToken cancellationToken)
FindSymbols\TopLevelSyntaxTree\TopLevelSyntaxTreeIndex.cs (6)
47
=> GetRequiredIndexAsync(SolutionKey.ToSolutionKey(document.Project.Solution), document.Project.State, (
DocumentState
)document.State, cancellationToken);
49
public static ValueTask<TopLevelSyntaxTreeIndex> GetRequiredIndexAsync(SolutionKey solutionKey, ProjectState project,
DocumentState
document, CancellationToken cancellationToken)
53
=> GetIndexAsync(SolutionKey.ToSolutionKey(document.Project.Solution), document.Project.State, (
DocumentState
)document.State, cancellationToken);
55
public static ValueTask<TopLevelSyntaxTreeIndex?> GetIndexAsync(SolutionKey solutionKey, ProjectState project,
DocumentState
document, CancellationToken cancellationToken)
59
=> GetIndexAsync(SolutionKey.ToSolutionKey(document.Project.Solution), document.Project.State, (
DocumentState
)document.State, loadOnly, cancellationToken);
61
public static ValueTask<TopLevelSyntaxTreeIndex?> GetIndexAsync(SolutionKey solutionKey, ProjectState project,
DocumentState
document, bool loadOnly, CancellationToken cancellationToken)
Workspace\Solution\Document.cs (3)
45
internal Document(Project project,
DocumentState
state)
50
internal
DocumentState
DocumentState => (
DocumentState
)State;
Workspace\Solution\DocumentState.cs (15)
54
public static
DocumentState
Create(
293
public bool HasContentChanged(
DocumentState
oldState)
300
public bool HasTextChanged(
DocumentState
oldState)
303
public
DocumentState
UpdateChecksumAlgorithm(SourceHashAlgorithm checksumAlgorithm)
337
public
DocumentState
UpdateParseOptionsAndSourceCodeKind(ParseOptions options, bool onlyPreprocessorDirectiveChange)
384
public
DocumentState
UpdateSourceCodeKind(SourceCodeKind kind)
441
public new
DocumentState
WithAttributes(DocumentInfo.DocumentAttributes newAttributes)
442
=> (
DocumentState
)base.WithAttributes(newAttributes);
444
public new
DocumentState
UpdateText(SourceText newText, PreservationMode mode)
445
=> (
DocumentState
)base.UpdateText(newText, mode);
447
public new
DocumentState
UpdateText(TextAndVersion newTextAndVersion, PreservationMode mode)
448
=> (
DocumentState
)base.UpdateText(newTextAndVersion, mode);
450
public new
DocumentState
UpdateText(TextLoader loader, PreservationMode mode)
451
=> (
DocumentState
)base.UpdateText(loader, mode);
486
internal
DocumentState
UpdateTree(SyntaxNode newRoot, PreservationMode mode)
Workspace\Solution\DocumentState_LinkedFileReuse.cs (2)
61
public
DocumentState
UpdateTextAndTreeContents(
100
private static
DocumentState
UpdateTextAndTreeContentsWorker(
Workspace\Solution\Project.cs (1)
497
(documentId, project) => project.State.DocumentStates.TryGetState(documentId, out
var
state) ? new Document(project, state) : null;
Workspace\Solution\ProjectState.cs (29)
34
public readonly TextDocumentStates<
DocumentState
> DocumentStates;
59
TextDocumentStates<
DocumentState
> documentStates,
105
DocumentStates = new TextDocumentStates<
DocumentState
>(projectInfoFixed.Documents, info => CreateDocument(info, parseOptions, loadTextOptions));
121
typeof(TDocumentState) == typeof(
DocumentState
) ? DocumentStates :
213
private static async ValueTask<VersionStamp> ComputeLatestDocumentVersionAsync(TextDocumentStates<
DocumentState
> documentStates, TextDocumentStates<AdditionalDocumentState> additionalDocumentStates, CancellationToken cancellationToken)
241
TextDocumentStates<
DocumentState
> newDocumentStates,
271
private static async Task<VersionStamp> ComputeLatestDocumentTopLevelChangeVersionAsync(TextDocumentStates<
DocumentState
> documentStates, TextDocumentStates<AdditionalDocumentState> additionalDocumentStates, CancellationToken cancellationToken)
294
internal
DocumentState
CreateDocument(DocumentInfo documentInfo, ParseOptions? parseOptions, LoadTextOptions loadTextOptions)
296
var
doc =
DocumentState
.Create(LanguageServices, documentInfo, parseOptions, loadTextOptions);
309
typeof(TDocumentState) == typeof(
DocumentState
) ? CreateDocument(documentInfo, ParseOptions, new LoadTextOptions(ChecksumAlgorithm)) :
379
private static string? GetEffectiveFilePath(
DocumentState
documentState, ProjectState projectState)
422
var documentId =
DocumentState
.GetDocumentIdForTree(tree);
424
if (documentId != null && projectState.DocumentStates.TryGetState(documentId, out
var
documentState))
432
internal async ValueTask<StructuredAnalyzerConfigOptions> GetOptionsAsync(
DocumentState
documentState, CancellationToken cancellationToken)
438
private StructuredAnalyzerConfigOptions GetOptions(in AnalyzerConfigOptionsCache.Value cache,
DocumentState
documentState)
468
var documentId =
DocumentState
.GetDocumentIdForTree(tree);
470
if (documentId != null && projectState.DocumentStates.TryGetState(documentId, out
var
documentState))
478
internal async ValueTask<StructuredAnalyzerConfigOptions> GetOptionsAsync(
DocumentState
documentState, CancellationToken cancellationToken)
484
private StructuredAnalyzerConfigOptions GetOptions(in AnalyzerConfigOptionsCache.Value cache,
DocumentState
documentState)
570
var state =
DocumentState
.GetDocumentIdForTree(tree);
690
TextDocumentStates<
DocumentState
>? documentStates = null,
764
private TextDocumentStates<
DocumentState
> UpdateDocumentsChecksumAlgorithm(SourceHashAlgorithm checksumAlgorithm)
866
public ProjectState AddDocuments(ImmutableArray<
DocumentState
> documents)
963
documentStates: TextDocumentStates<
DocumentState
>.Empty,
967
public ProjectState UpdateDocument(
DocumentState
newDocument)
970
public ProjectState UpdateDocuments(ImmutableArray<
DocumentState
> oldDocuments, ImmutableArray<
DocumentState
> newDocuments)
1041
TextDocumentStates<
DocumentState
> newDocumentStates,
Workspace\Solution\Solution.cs (6)
330
var
documentState = CompilationState.GetDocumentState(syntaxTree, projectId);
341
else if (documentState is
DocumentState
)
1082
=> WithCompilationState(CompilationState.AddDocumentsToMultipleProjects<
DocumentState
>(documentInfos));
1193
=> WithCompilationState(CompilationState.RemoveDocumentsFromMultipleProjects<
DocumentState
>(documentIds));
1436
internal Solution WithDocumentContentsFrom(DocumentId documentId,
DocumentState
documentState)
1439
internal Solution WithDocumentContentsFrom(ImmutableArray<(DocumentId documentId,
DocumentState
documentState)> documentIdsAndStates)
Workspace\Solution\SolutionCompilationState.cs (23)
37
/// green <see cref="
DocumentState
"/>s. Contains the attributes, options and relationships between projects.
626
UpdateDocuments<
DocumentState
>(info.Documents);
810
return UpdateDocumentsInMultipleProjects<
DocumentState
, SourceText, PreservationMode>(
841
private static bool SourceTextIsUnchanged(
DocumentState
oldDocument, SourceText text)
927
ImmutableArray<
DocumentState
> ordinaryNewDocumentStates => GetUpdateOrdinaryDocumentsTranslationAction(oldProjectState, ordinaryNewDocumentStates),
933
TranslationAction GetUpdateOrdinaryDocumentsTranslationAction(ProjectState oldProjectState, ImmutableArray<
DocumentState
> newDocumentStates)
956
DocumentState
documentState)
1013
return UpdateDocumentsInMultipleProjects<
DocumentState
, SyntaxNode, PreservationMode>(
1047
ImmutableArray<(DocumentId documentId,
DocumentState
documentState)> documentIdsAndStates, bool forceEvenIfTreesWouldDiffer)
1049
return UpdateDocumentsInMultipleProjects<
DocumentState
,
DocumentState
, bool>(
1121
var
oldDocument = stateChange.OldProjectState.DocumentStates.GetRequiredState(documentId);
1122
var
newDocument = stateChange.NewProjectState.DocumentStates.GetRequiredState(documentId);
1663
var
currentDocumentState = this.SolutionState.GetRequiredDocumentState(documentId);
1714
using var _ = ArrayBuilder<
DocumentState
>.GetInstance(allDocumentIds.Length, out var documentStates);
1722
var
documentState = @this.SolutionState.GetRequiredDocumentState(currentDocumentId);
1739
ArrayBuilder<
DocumentState
> documentStates,
1744
using var _ = PooledDictionary<ProjectId, ArrayBuilder<
DocumentState
>>.GetInstance(out var missingDocumentStates);
1747
foreach (
var
newDocumentState in documentStates)
1751
var
oldDocumentState = oldProjectState.DocumentStates.GetState(documentId);
1855
ImmutableArray<
DocumentState
> documentStates => new TranslationAction.RemoveDocumentsAction(oldProject, oldProject.RemoveDocuments(documentIds), documentStates),
1864
ImmutableArray<
DocumentState
> documentStates => new TranslationAction.AddDocumentsAction(oldProject, oldProject.AddDocuments(documentStates), documentStates),
1885
var
documentState = this.SolutionState.GetProjectState(documentId.ProjectId)?.DocumentStates.GetState(documentId);
Workspace\Solution\SolutionCompilationState.RegularCompilationTracker.cs (3)
784
using var _1 = ArrayBuilder<
DocumentState
>.GetInstance(out var documentsWithTreesBuilder);
786
foreach (
var
documentState in this.ProjectState.DocumentStates.GetStatesInCompilationOrder())
804
foreach (
var
documentState in documentsWithTrees)
Workspace\Solution\SolutionCompilationState.SymbolToProjectId.cs (3)
16
internal
DocumentState
? GetDocumentState(SyntaxTree? syntaxTree, ProjectId? projectId)
21
var documentId =
DocumentState
.GetDocumentIdForTree(syntaxTree);
28
var
document = projectState.DocumentStates.GetState(documentId);
Workspace\Solution\SolutionCompilationState.TranslationAction_Actions.cs (14)
25
ImmutableArray<
DocumentState
> oldStates,
26
ImmutableArray<
DocumentState
> newStates) : TranslationAction(oldProjectState, newProjectState)
28
private readonly ImmutableArray<
DocumentState
> _oldStates = oldStates;
29
private readonly ImmutableArray<
DocumentState
> _newStates = newStates;
37
var
newState = _newStates[i];
38
var
oldState = _oldStates[i];
137
ImmutableArray<
DocumentState
> documents)
143
foreach (
var
document in documents)
162
ImmutableArray<
DocumentState
> documents)
171
public readonly ImmutableArray<
DocumentState
> Documents = documents;
178
using var _ = PooledDictionary<
DocumentState
, int>.GetInstance(out var documentToIndex);
179
foreach (
var
document in this.Documents)
182
var documentsAndTrees = await ProducerConsumer<(
DocumentState
document, SyntaxTree tree)>.RunParallelAsync(
210
foreach (
var
documentState in this.NewProjectState.DocumentStates.GetStatesInCompilationOrder())
Workspace\Solution\SolutionState.cs (12)
327
internal
DocumentState
GetRequiredDocumentState(DocumentId documentId)
975
var
oldDocument = GetRequiredDocumentState(documentId);
977
var
newDocument = oldDocument.WithAttributes(updateAttributes(oldDocument.Attributes, arg));
993
var
oldDocument = GetRequiredDocumentState(documentId);
1003
public StateChange WithDocumentState(
DocumentState
newDocument)
1005
var
oldDocument = GetRequiredDocumentState(newDocument.Id);
1053
var
oldDocument = GetRequiredDocumentState(documentId);
1101
var
oldDocument = GetRequiredDocumentState(documentId);
1113
var
oldDocument = GetRequiredDocumentState(documentId);
1146
private StateChange UpdateDocumentState(
DocumentState
newDocument)
1286
var
documentState = projectState.DocumentStates.GetState(documentId);
1341
var
documentState = projectState.DocumentStates.GetState(documentId);
Workspace\Workspace.cs (4)
332
using var _ = ArrayBuilder<(DocumentId,
DocumentState
)>.GetInstance(out var relatedDocumentIdsAndStates);
376
using var _ = PooledDictionary<DocumentId,
DocumentState
>.GetInstance(out var relatedDocumentIdsAndStates);
380
DocumentState
? changedDocumentState = null;
1753
var
document = projectChanges.OldProject.State.DocumentStates.GetState(documentId) ??