2 writes to DocumentStates
Microsoft.CodeAnalysis.Workspaces (2)
Workspace\Solution\ProjectState.cs (2)
67DocumentStates = documentStates; 105DocumentStates = new TextDocumentStates<DocumentState>(projectInfoFixed.Documents, info => CreateDocument(info, parseOptions, loadTextOptions));
76 references to DocumentStates
Microsoft.CodeAnalysis.CSharp.EditorFeatures.UnitTests (2)
Workspaces\WorkspaceTests_EditorFeatures.cs (2)
227.DocumentStates.GetState(document1.Id) 234.DocumentStates.GetState(document2.Id)
Microsoft.CodeAnalysis.Features (15)
DesignerAttribute\DesignerAttributeDiscoveryService.cs (1)
245var filePath = project.State.DocumentStates.GetRequiredState(documentId).FilePath;
EditAndContinue\EditAndContinueService.cs (2)
152? solution.Projects.Select(project => (project, project.State.DocumentStates.States.Values)) 188select (project, from documentId in projectDocumentIds select project.State.DocumentStates.GetState(documentId));
EditAndContinue\EditSession.cs (10)
347foreach (var documentId in newProject.State.DocumentStates.GetChangedStateIds(oldProject.State.DocumentStates, ignoreUnchangedContent: true)) 368foreach (var documentId in newProject.State.DocumentStates.GetAddedStateIds(oldProject.State.DocumentStates)) 384foreach (var documentId in newProject.State.DocumentStates.GetRemovedStateIds(oldProject.State.DocumentStates)) 515foreach (var documentId in newProject.State.DocumentStates.GetChangedStateIds(oldProject.State.DocumentStates, ignoreUnchangedContent: true)) 528if (!newProject.State.DocumentStates.HasAnyStateChanges(oldProject.State.DocumentStates) &&
ExternalAccess\UnitTesting\SolutionCrawler\UnitTestingWorkCoordinator.cs (1)
603count += projectState.DocumentStates.Count;
Workspace\CompileTimeSolutionProvider.cs (1)
119foreach (var (_, documentState) in projectState.DocumentStates.States)
Microsoft.CodeAnalysis.Remote.ServiceHub (1)
Host\SolutionAssetCache.cs (1)
187AddAll(projectState.DocumentStates);
Microsoft.CodeAnalysis.Workspaces (58)
FindSymbols\FindReferences\DependentTypeFinder_ProjectIndex.cs (1)
79var regularDocumentStates = project.State.DocumentStates;
FindSymbols\SymbolTree\SymbolTreeInfo_Source.cs (1)
95var textChecksumsTasks = projectState.DocumentStates.States.Values.OrderBy(state => state.FilePath, StringComparer.Ordinal).Select(async state =>
Workspace\ProjectSystem\ProjectSystemProject.cs (1)
311foreach (var (_, documentState) in projectState.DocumentStates.States)
Workspace\Solution\Project.cs (4)
177public bool HasDocuments => !State.DocumentStates.IsEmpty; 182public IReadOnlyList<DocumentId> DocumentIds => State.DocumentStates.Ids; 214=> State.DocumentStates.Contains(documentId); 497(documentId, project) => project.State.DocumentStates.TryGetState(documentId, out var state) ? new Document(project, state) : null;
Workspace\Solution\ProjectChanges.cs (6)
100=> NewProject.State.DocumentStates.GetAddedStateIds(OldProject.State.DocumentStates); 130=> NewProject.State.DocumentStates.GetChangedStateIds(OldProject.State.DocumentStates, onlyGetDocumentsWithTextChanges, ignoreUnchangeableDocuments); 150=> NewProject.State.DocumentStates.GetRemovedStateIds(OldProject.State.DocumentStates);
Workspace\Solution\ProjectState.cs (20)
108_lazyLatestDocumentVersion = AsyncLazy.Create(static async (self, c) => await ComputeLatestDocumentVersionAsync(self.DocumentStates, self.AdditionalDocumentStates, c).ConfigureAwait(false), arg: this); 109_lazyLatestDocumentTopLevelChangeVersion = AsyncLazy.Create(static (self, c) => ComputeLatestDocumentTopLevelChangeVersionAsync(self.DocumentStates, self.AdditionalDocumentStates, c), arg: this); 121typeof(TDocumentState) == typeof(DocumentState) ? DocumentStates : 129foreach (var (documentId, documentState) in this.DocumentStates.States) 391if (documentId != null && projectState.DocumentStates.TryGetState(documentId, out var documentState)) 463if (documentId != null && projectState.DocumentStates.TryGetState(documentId, out var documentState)) 710documentStates ?? DocumentStates, 775=> DocumentStates.UpdateStates(static (state, checksumAlgorithm) => state.UpdateChecksumAlgorithm(checksumAlgorithm), checksumAlgorithm); 812documentStates: DocumentStates.UpdateStates(static (state, args) => 881Debug.Assert(!documents.Any(d => DocumentStates.Contains(d.Id))); 885documentStates: DocumentStates.AddRange(documents)); 940documentStates: DocumentStates.RemoveRange(documentIds), 966if (DocumentStates.IsEmpty) 978=> UpdateDocuments([DocumentStates.GetRequiredState(newDocument.Id)], [newDocument]); 986var newDocumentStates = DocumentStates.SetStates(newDocuments); 1015DocumentStates, 1040if (documentIds.SequenceEqual(DocumentStates.Ids)) 1047documentStates: DocumentStates.WithCompilationOrder(documentIds)); 1125this.DocumentStates.AddDocumentIdsWithFilePath(ref temporaryArray, filePath); 1132return this.DocumentStates.GetFirstDocumentIdWithFilePath(filePath) ??
Workspace\Solution\ProjectState_Checksum.cs (1)
47var documentChecksumsTask = DocumentStates.GetDocumentChecksumsAndIdsAsync(cancellationToken);
Workspace\Solution\SolutionCompilationState.cs (5)
916var oldDocumentStates = newDocumentStates.SelectAsArray(static (s, oldProjectState) => oldProjectState.DocumentStates.GetRequiredState(s.Id), oldProjectState); 1102var oldDocument = stateChange.OldProjectState.DocumentStates.GetRequiredState(documentId); 1103var newDocument = stateChange.NewProjectState.DocumentStates.GetRequiredState(documentId); 1731var oldDocumentState = oldProjectState.DocumentStates.GetState(documentId); 1894var documentState = this.SolutionState.GetProjectState(documentId.ProjectId)?.DocumentStates.GetState(documentId);
Workspace\Solution\SolutionCompilationState.RegularCompilationTracker.cs (5)
34state => string.Join(",", state.AssemblyName, state.DocumentStates.Count); 327foreach (var chunk in this.ProjectState.DocumentStates.GetStatesInCompilationOrder().Chunk(TranslationAction.AddDocumentsAction.AddDocumentsBatchSize)) 777foreach (var documentState in this.ProjectState.DocumentStates.GetStatesInCompilationOrder()) 965capacity: projectState.DocumentStates.Count + generatorInfo?.Documents.Count ?? 0 969foreach (var documentInProjectState in projectState.DocumentStates.States)
Workspace\Solution\SolutionCompilationState.RegularCompilationTracker_Generators.cs (1)
257foreach (var documentState in ProjectState.DocumentStates.States)
Workspace\Solution\SolutionCompilationState.SymbolToProjectId.cs (1)
28var document = projectState.DocumentStates.GetState(documentId);
Workspace\Solution\SolutionCompilationState.TranslationAction_Actions.cs (2)
209using var _ = ArrayBuilder<SyntaxTree>.GetInstance(this.NewProjectState.DocumentStates.Count, out var syntaxTrees); 210foreach (var documentState in this.NewProjectState.DocumentStates.GetStatesInCompilationOrder())
Workspace\Solution\SolutionState.cs (7)
287this.GetProjectState(documentId.ProjectId)!.DocumentStates.Contains(documentId); 313=> GetRequiredProjectState(documentId.ProjectId).DocumentStates.GetRequiredState(documentId); 836if (documentIds.Count != oldProject.DocumentStates.Count) 843if (!oldProject.DocumentStates.Contains(id)) 1270var documentState = projectState.DocumentStates.GetState(documentId); 1325var documentState = projectState.DocumentStates.GetState(documentId); 1359return projectState.DocumentStates.Contains(documentId);
Workspace\Solution\StateChecksums.cs (1)
473await ChecksumCollection.FindAsync(assetPath, state.DocumentStates, searchingChecksumsLeft, onAssetFound, arg, cancellationToken).ConfigureAwait(false);
Workspace\Workspace.cs (2)
1787var document = projectChanges.OldProject.State.DocumentStates.GetState(documentId) ?? 1788projectChanges.NewProject.State.DocumentStates.GetState(documentId)!;