1 type derived from DocumentState
Microsoft.CodeAnalysis.Workspaces (1)
Workspace\Solution\SourceGeneratedDocumentState.cs (1)
14internal sealed class SourceGeneratedDocumentState : DocumentState
5 instantiations of DocumentState
Microsoft.CodeAnalysis.Workspaces (5)
Workspace\Solution\DocumentState.cs (5)
83return new DocumentState( 423return new DocumentState( 434=> new DocumentState( 478return new DocumentState( 521return new DocumentState(
124 references to DocumentState
Microsoft.CodeAnalysis.Workspaces (124)
FindSymbols\FindReferences\DependentTypeFinder_ProjectIndex.cs (1)
63sourceGeneratorDocumentStates.States.Select(kvp => (kvp.Key, (DocumentState)kvp.Value)));
FindSymbols\Shared\AbstractSyntaxIndex.cs (6)
21private static readonly ConditionalWeakTable<DocumentState, TIndex?> s_documentToIndex = new(); 30SolutionKey solutionKey, ProjectState project, DocumentState document, IndexReader read, IndexCreator create, CancellationToken cancellationToken) 37protected static ValueTask<TIndex?> GetIndexAsync(SolutionKey solutionKey, ProjectState project, DocumentState document, IndexReader read, IndexCreator create, CancellationToken cancellationToken) 44DocumentState document, 82DocumentState document, 116DocumentState document,
FindSymbols\Shared\AbstractSyntaxIndex_Persistence.cs (5)
40DocumentState document, 94DocumentState document, 136DocumentState document, 149(DocumentState)document.State, 157DocumentState document,
FindSymbols\SyntaxTree\SyntaxTreeIndex.cs (6)
39=> GetRequiredIndexAsync(SolutionKey.ToSolutionKey(document.Project.Solution), document.Project.State, (DocumentState)document.State, cancellationToken); 41public 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); 47public 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); 53public static ValueTask<SyntaxTreeIndex?> 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); 49public 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); 55public 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); 61public static ValueTask<TopLevelSyntaxTreeIndex?> GetIndexAsync(SolutionKey solutionKey, ProjectState project, DocumentState document, bool loadOnly, CancellationToken cancellationToken)
Workspace\Solution\Document.cs (3)
46internal Document(Project project, DocumentState state) 51internal DocumentState DocumentState => (DocumentState)State;
Workspace\Solution\DocumentState.cs (15)
56public static DocumentState Create( 295public bool HasContentChanged(DocumentState oldState) 302public bool HasTextChanged(DocumentState oldState) 305public DocumentState UpdateChecksumAlgorithm(SourceHashAlgorithm checksumAlgorithm) 339public DocumentState UpdateParseOptionsAndSourceCodeKind(ParseOptions options, bool onlyPreprocessorDirectiveChange) 386public DocumentState UpdateSourceCodeKind(SourceCodeKind kind) 443public new DocumentState WithAttributes(DocumentInfo.DocumentAttributes newAttributes) 444=> (DocumentState)base.WithAttributes(newAttributes); 446public new DocumentState UpdateText(SourceText newText, PreservationMode mode) 447=> (DocumentState)base.UpdateText(newText, mode); 449public new DocumentState UpdateText(TextAndVersion newTextAndVersion, PreservationMode mode) 450=> (DocumentState)base.UpdateText(newTextAndVersion, mode); 452public new DocumentState UpdateText(TextLoader loader, PreservationMode mode) 453=> (DocumentState)base.UpdateText(loader, mode); 488internal DocumentState UpdateTree(SyntaxNode newRoot, PreservationMode mode)
Workspace\Solution\DocumentState_LinkedFileReuse.cs (2)
61public DocumentState UpdateTextAndTreeContents( 100private static DocumentState UpdateTextAndTreeContentsWorker(
Workspace\Solution\Project.cs (1)
466(documentId, project) => project.State.DocumentStates.TryGetState(documentId, out var state) ? new Document(project, state) : null;
Workspace\Solution\ProjectState.cs (27)
35public readonly TextDocumentStates<DocumentState> DocumentStates; 71TextDocumentStates<DocumentState> documentStates, 120DocumentStates = new TextDocumentStates<DocumentState>(projectInfoFixed.Documents, info => CreateDocument(info, parseOptions, loadTextOptions)); 139typeof(TDocumentState) == typeof(DocumentState) ? DocumentStates : 198private static async Task<VersionStamp> ComputeLatestDocumentVersionAsync(TextDocumentStates<DocumentState> documentStates, TextDocumentStates<AdditionalDocumentState> additionalDocumentStates, CancellationToken cancellationToken) 226TextDocumentStates<DocumentState> newDocumentStates, 256private static async Task<VersionStamp> ComputeLatestDocumentTopLevelChangeVersionAsync(TextDocumentStates<DocumentState> documentStates, TextDocumentStates<AdditionalDocumentState> additionalDocumentStates, CancellationToken cancellationToken) 279internal DocumentState CreateDocument(DocumentInfo documentInfo, ParseOptions? parseOptions, LoadTextOptions loadTextOptions) 281var doc = DocumentState.Create(LanguageServices, documentInfo, parseOptions, loadTextOptions); 294typeof(TDocumentState) == typeof(DocumentState) ? CreateDocument(documentInfo, ParseOptions, new LoadTextOptions(ChecksumAlgorithm)) : 372var documentId = DocumentState.GetDocumentIdForTree(tree); 382internal async ValueTask<StructuredAnalyzerConfigOptions> GetOptionsAsync(DocumentState documentState, CancellationToken cancellationToken) 388private StructuredAnalyzerConfigOptions GetOptions(in AnalyzerConfigOptionsCache.Value cache, DocumentState documentState) 405private string? GetEffectiveFilePath(DocumentState documentState) 444var documentId = DocumentState.GetDocumentIdForTree(tree); 454internal async ValueTask<StructuredAnalyzerConfigOptions> GetOptionsAsync(DocumentState documentState, CancellationToken cancellationToken) 460private StructuredAnalyzerConfigOptions GetOptions(in AnalyzerConfigOptionsCache.Value cache, DocumentState documentState) 484private string? GetEffectiveFilePath(DocumentState documentState) 683TextDocumentStates<DocumentState>? documentStates = null, 757private TextDocumentStates<DocumentState> UpdateDocumentsChecksumAlgorithm(SourceHashAlgorithm checksumAlgorithm) 859public ProjectState AddDocuments(ImmutableArray<DocumentState> documents) 956documentStates: TextDocumentStates<DocumentState>.Empty, 960public ProjectState UpdateDocument(DocumentState newDocument) 963public ProjectState UpdateDocuments(ImmutableArray<DocumentState> oldDocuments, ImmutableArray<DocumentState> newDocuments) 1034TextDocumentStates<DocumentState> newDocumentStates,
Workspace\Solution\Solution.cs (6)
319var documentState = CompilationState.GetDocumentState(syntaxTree, projectId); 330else if (documentState is DocumentState) 1022=> WithCompilationState(CompilationState.AddDocumentsToMultipleProjects<DocumentState>(documentInfos)); 1133=> WithCompilationState(CompilationState.RemoveDocumentsFromMultipleProjects<DocumentState>(documentIds)); 1376internal Solution WithDocumentContentsFrom(DocumentId documentId, DocumentState documentState, bool forceEvenIfTreesWouldDiffer) 1379internal Solution WithDocumentContentsFrom(ImmutableArray<(DocumentId documentId, DocumentState documentState)> documentIdsAndStates, bool forceEvenIfTreesWouldDiffer)
Workspace\Solution\SolutionCompilationState.cs (19)
37/// green <see cref="DocumentState"/>s. Contains the attributes, options and relationships between projects. 607UpdateDocuments<DocumentState>(info.Documents); 804=> UpdateDocumentsInMultipleProjects<DocumentState, SourceText, PreservationMode>( 810private static bool SourceTextIsUnchanged(DocumentState oldDocument, SourceText text) 893ImmutableArray<DocumentState> ordinaryNewDocumentStates => GetUpdateOrdinaryDocumentsTranslationAction(oldProjectState, ordinaryNewDocumentStates), 899TranslationAction GetUpdateOrdinaryDocumentsTranslationAction(ProjectState oldProjectState, ImmutableArray<DocumentState> newDocumentStates) 922DocumentState documentState) 974return UpdateDocumentsInMultipleProjects<DocumentState, SyntaxNode, PreservationMode>( 984ImmutableArray<(DocumentId documentId, DocumentState documentState)> documentIdsAndStates, bool forceEvenIfTreesWouldDiffer) 986return UpdateDocumentsInMultipleProjects<DocumentState, DocumentState, bool>( 1593using var _ = ArrayBuilder<DocumentState>.GetInstance(allDocumentIds.Length, out var documentStates); 1601var documentState = @this.SolutionState.GetRequiredDocumentState(currentDocumentId); 1618ArrayBuilder<DocumentState> documentStates, 1623using var _ = PooledDictionary<ProjectId, ArrayBuilder<DocumentState>>.GetInstance(out var missingDocumentStates); 1626foreach (var newDocumentState in documentStates) 1630var oldDocumentState = oldProjectState.DocumentStates.GetState(documentId); 1734ImmutableArray<DocumentState> documentStates => new TranslationAction.RemoveDocumentsAction(oldProject, oldProject.RemoveDocuments(documentIds), documentStates), 1743ImmutableArray<DocumentState> documentStates => new TranslationAction.AddDocumentsAction(oldProject, oldProject.AddDocuments(documentStates), documentStates),
Workspace\Solution\SolutionCompilationState.RegularCompilationTracker.cs (3)
765using var _1 = ArrayBuilder<DocumentState>.GetInstance(out var documentsWithTreesBuilder); 767foreach (var documentState in this.ProjectState.DocumentStates.GetStatesInCompilationOrder()) 785foreach (var documentState in documentsWithTrees)
Workspace\Solution\SolutionCompilationState.SymbolToProjectId.cs (3)
15internal DocumentState? GetDocumentState(SyntaxTree? syntaxTree, ProjectId? projectId) 20var documentId = DocumentState.GetDocumentIdForTree(syntaxTree); 27var document = projectState.DocumentStates.GetState(documentId);
Workspace\Solution\SolutionCompilationState.TranslationAction_Actions.cs (6)
24ImmutableArray<DocumentState> oldStates, 25ImmutableArray<DocumentState> newStates) : TranslationAction(oldProjectState, newProjectState) 27private readonly ImmutableArray<DocumentState> _oldStates = oldStates; 28private readonly ImmutableArray<DocumentState> _newStates = newStates; 36var newState = _newStates[i]; 37var oldState = _oldStates[i];
Workspace\Solution\SolutionState.cs (12)
301internal DocumentState GetRequiredDocumentState(DocumentId documentId) 970var oldDocument = GetRequiredDocumentState(documentId); 972var newDocument = oldDocument.WithAttributes(updateAttributes(oldDocument.Attributes, arg)); 988var oldDocument = GetRequiredDocumentState(documentId); 998public StateChange WithDocumentState(DocumentState newDocument) 1000var oldDocument = GetRequiredDocumentState(newDocument.Id); 1048var oldDocument = GetRequiredDocumentState(documentId); 1096var oldDocument = GetRequiredDocumentState(documentId); 1108var oldDocument = GetRequiredDocumentState(documentId); 1141private StateChange UpdateDocumentState(DocumentState newDocument) 1280var documentState = projectState.DocumentStates.GetState(documentId); 1334var documentState = projectState.DocumentStates.GetState(documentId);
Workspace\Workspace.cs (3)
323using var _ = ArrayBuilder<(DocumentId, DocumentState)>.GetInstance(out var relatedDocumentIdsAndStates); 364using var _ = PooledDictionary<DocumentId, DocumentState>.GetInstance(out var relatedDocumentIdsAndStates); 1717var document = projectChanges.OldProject.State.DocumentStates.GetState(documentId) ??