1 instantiation of DocumentId
Microsoft.CodeAnalysis.Workspaces (1)
Workspace\Solution\DocumentId.cs (1)
57return new DocumentId(projectId, id, isSourceGenerated, debugName);
1405 references to DocumentId
dotnet-format (16)
Analyzers\AnalyzerFormatter.cs (3)
58ImmutableArray<DocumentId> formattableDocuments, 119async static Task<ImmutableHashSet<string>> GetFormattablePathsAsync(Solution solution, ImmutableArray<DocumentId> formattableDocuments, CancellationToken cancellationToken) 123foreach (var documentId in formattableDocuments)
CodeFormatter.cs (6)
82foreach (var documentId in documentIdsWithErrors) 144ImmutableArray<DocumentId> formattableDocuments, 166internal static async Task<(int, ImmutableArray<DocumentId>)> DetermineFormattableFilesAsync( 176var documentsCoveredByEditorConfig = ImmutableArray.CreateBuilder<DocumentId>(totalFileCount); 177var documentsNotCoveredByEditorConfig = ImmutableArray.CreateBuilder<DocumentId>(totalFileCount); 178var sourceGeneratedDocuments = ImmutableArray.CreateBuilder<DocumentId>();
FormattedFile.cs (1)
8public DocumentId DocumentId { get; }
Formatters\DocumentFormatter.cs (2)
35ImmutableArray<DocumentId> formattableDocuments, 62ImmutableArray<DocumentId> formattableDocuments,
Formatters\ICodeFormatter.cs (1)
22ImmutableArray<DocumentId> formattableDocuments,
Workspaces\FolderWorkspace.cs (2)
52protected override void ApplyDocumentTextChanged(DocumentId documentId, SourceText text) 62private void SaveDocumentText(DocumentId id, string fullPath, SourceText newText, Encoding encoding)
Workspaces\FolderWorkspace_ProjectLoader.cs (1)
50DocumentId.CreateNewId(projectId, debugName: filePaths[index]),
GenerateDocumentationAndConfigFiles (24)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeFixes\MultiProjectSafeFixAllProvider.cs (3)
40using var _ = PooledDictionary<DocumentId, ImmutableArray<DocumentId>>.GetInstance(out var documentToLinkedDocuments); 89foreach (var linkedDocumentId in linkedDocumentIds)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\DocumentExtensions.cs (1)
230foreach (var linkedDocumentId in document.GetLinkedDocumentIds())
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\ISolutionExtensions.cs (9)
17public static IEnumerable<DocumentId> GetChangedDocuments(this Solution? newSolution, Solution oldSolution) 25foreach (var documentId in projectChanges.GetChangedDocuments()) 33public static TextDocument? GetTextDocument(this Solution solution, DocumentId? documentId) 50public static Document GetRequiredDocument(this Solution solution, DocumentId documentId) 100public static TextDocument GetRequiredAdditionalDocument(this Solution solution, DocumentId documentId) 103public static TextDocument GetRequiredAnalyzerConfigDocument(this Solution solution, DocumentId documentId) 106public static TextDocument GetRequiredTextDocument(this Solution solution, DocumentId documentId) 120public static Exception CreateDocumentNotFoundException(DocumentId? documentId) 161var documentId = solution.GetDocumentIdsWithFilePath(location.GetLineSpan().Path).FirstOrDefault();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Rename\Annotations\RenameDeclarationLocationReference.cs (2)
18public readonly DocumentId DocumentId; 36public RenameDeclarationLocationReference(DocumentId documentId, TextSpan textSpan, bool overriddenFromMetadata, int declaringSyntaxReferencesCount)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\SemanticModelReuse\SemanticModelWorkspaceServiceFactory.SemanticModelWorkspaceService.cs (8)
59private ImmutableDictionary<DocumentId, SemanticModelReuseInfo?> _semanticModelMap = ImmutableDictionary<DocumentId, SemanticModelReuseInfo?>.Empty; 82_semanticModelMap = ImmutableDictionary<DocumentId, SemanticModelReuseInfo?>.Empty; 137private static async Task<ImmutableDictionary<DocumentId, SemanticModelReuseInfo?>> ComputeUpdatedMapAsync( 138ImmutableDictionary<DocumentId, SemanticModelReuseInfo?> map, Document document, SyntaxNode bodyNode, CancellationToken cancellationToken) 159var builder = ImmutableDictionary.CreateBuilder<DocumentId, SemanticModelReuseInfo?>(); 164foreach (var linkedId in linkedIds) 175ImmutableDictionary<DocumentId, SemanticModelReuseInfo?> map,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Utilities\ParsedDocument.cs (1)
24internal readonly record struct ParsedDocument(DocumentId Id, SourceText Text, SyntaxNode Root, HostLanguageServices HostLanguageServices)
Microsoft.Analyzers.Extra (2)
CallAnalysis\Fixers\LegacyLoggingFixer.cs (2)
321RemapAsync(Solution sol, DocumentId docId, ExpressionSyntax invocationExpression) 542var invocationDocId = invocationDoc.Id;
Microsoft.Analyzers.Extra.Tests (1)
Resources\RoslynTestUtils.cs (1)
494foreach (var documentId in project.DocumentIds)
Microsoft.Analyzers.Local.Tests (1)
Resources\RoslynTestUtils.cs (1)
495foreach (var documentId in project.DocumentIds)
Microsoft.CodeAnalysis.Analyzers (25)
MetaAnalyzers\Fixers\AnalyzerReleaseTrackingFix.FixAllProvider.cs (1)
92var updatedUnshippedText = new List<(DocumentId, SourceText)>();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeFixes\MultiProjectSafeFixAllProvider.cs (3)
40using var _ = PooledDictionary<DocumentId, ImmutableArray<DocumentId>>.GetInstance(out var documentToLinkedDocuments); 89foreach (var linkedDocumentId in linkedDocumentIds)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\DocumentExtensions.cs (1)
230foreach (var linkedDocumentId in document.GetLinkedDocumentIds())
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\ISolutionExtensions.cs (9)
17public static IEnumerable<DocumentId> GetChangedDocuments(this Solution? newSolution, Solution oldSolution) 25foreach (var documentId in projectChanges.GetChangedDocuments()) 33public static TextDocument? GetTextDocument(this Solution solution, DocumentId? documentId) 50public static Document GetRequiredDocument(this Solution solution, DocumentId documentId) 100public static TextDocument GetRequiredAdditionalDocument(this Solution solution, DocumentId documentId) 103public static TextDocument GetRequiredAnalyzerConfigDocument(this Solution solution, DocumentId documentId) 106public static TextDocument GetRequiredTextDocument(this Solution solution, DocumentId documentId) 120public static Exception CreateDocumentNotFoundException(DocumentId? documentId) 161var documentId = solution.GetDocumentIdsWithFilePath(location.GetLineSpan().Path).FirstOrDefault();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Rename\Annotations\RenameDeclarationLocationReference.cs (2)
18public readonly DocumentId DocumentId; 36public RenameDeclarationLocationReference(DocumentId documentId, TextSpan textSpan, bool overriddenFromMetadata, int declaringSyntaxReferencesCount)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\SemanticModelReuse\SemanticModelWorkspaceServiceFactory.SemanticModelWorkspaceService.cs (8)
59private ImmutableDictionary<DocumentId, SemanticModelReuseInfo?> _semanticModelMap = ImmutableDictionary<DocumentId, SemanticModelReuseInfo?>.Empty; 82_semanticModelMap = ImmutableDictionary<DocumentId, SemanticModelReuseInfo?>.Empty; 137private static async Task<ImmutableDictionary<DocumentId, SemanticModelReuseInfo?>> ComputeUpdatedMapAsync( 138ImmutableDictionary<DocumentId, SemanticModelReuseInfo?> map, Document document, SyntaxNode bodyNode, CancellationToken cancellationToken) 159var builder = ImmutableDictionary.CreateBuilder<DocumentId, SemanticModelReuseInfo?>(); 164foreach (var linkedId in linkedIds) 175ImmutableDictionary<DocumentId, SemanticModelReuseInfo?> map,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Utilities\ParsedDocument.cs (1)
24internal readonly record struct ParsedDocument(DocumentId Id, SourceText Text, SyntaxNode Root, HostLanguageServices HostLanguageServices)
Microsoft.CodeAnalysis.CodeStyle.Fixes (29)
src\roslyn\src\Analyzers\Core\CodeFixes\AddParameter\AddParameterService.cs (1)
179var documentId = documentsUpdated.Single().Id;
src\roslyn\src\Analyzers\Core\CodeFixes\UseAutoProperty\AbstractUseAutoPropertyCodeFixProvider.cs (4)
160var linkedFiles = new HashSet<DocumentId>(); 314HashSet<DocumentId> linkedDocuments, 320var canEditMap = new Dictionary<DocumentId, bool>(); 378bool CanEditDocument(DocumentId documentId)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeFixes\MultiProjectSafeFixAllProvider.cs (3)
40using var _ = PooledDictionary<DocumentId, ImmutableArray<DocumentId>>.GetInstance(out var documentToLinkedDocuments); 89foreach (var linkedDocumentId in linkedDocumentIds)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\DocumentExtensions.cs (1)
230foreach (var linkedDocumentId in document.GetLinkedDocumentIds())
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\ISolutionExtensions.cs (9)
17public static IEnumerable<DocumentId> GetChangedDocuments(this Solution? newSolution, Solution oldSolution) 25foreach (var documentId in projectChanges.GetChangedDocuments()) 33public static TextDocument? GetTextDocument(this Solution solution, DocumentId? documentId) 50public static Document GetRequiredDocument(this Solution solution, DocumentId documentId) 100public static TextDocument GetRequiredAdditionalDocument(this Solution solution, DocumentId documentId) 103public static TextDocument GetRequiredAnalyzerConfigDocument(this Solution solution, DocumentId documentId) 106public static TextDocument GetRequiredTextDocument(this Solution solution, DocumentId documentId) 120public static Exception CreateDocumentNotFoundException(DocumentId? documentId) 161var documentId = solution.GetDocumentIdsWithFilePath(location.GetLineSpan().Path).FirstOrDefault();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Rename\Annotations\RenameDeclarationLocationReference.cs (2)
18public readonly DocumentId DocumentId; 36public RenameDeclarationLocationReference(DocumentId documentId, TextSpan textSpan, bool overriddenFromMetadata, int declaringSyntaxReferencesCount)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\SemanticModelReuse\SemanticModelWorkspaceServiceFactory.SemanticModelWorkspaceService.cs (8)
59private ImmutableDictionary<DocumentId, SemanticModelReuseInfo?> _semanticModelMap = ImmutableDictionary<DocumentId, SemanticModelReuseInfo?>.Empty; 82_semanticModelMap = ImmutableDictionary<DocumentId, SemanticModelReuseInfo?>.Empty; 137private static async Task<ImmutableDictionary<DocumentId, SemanticModelReuseInfo?>> ComputeUpdatedMapAsync( 138ImmutableDictionary<DocumentId, SemanticModelReuseInfo?> map, Document document, SyntaxNode bodyNode, CancellationToken cancellationToken) 159var builder = ImmutableDictionary.CreateBuilder<DocumentId, SemanticModelReuseInfo?>(); 164foreach (var linkedId in linkedIds) 175ImmutableDictionary<DocumentId, SemanticModelReuseInfo?> map,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Utilities\ParsedDocument.cs (1)
24internal readonly record struct ParsedDocument(DocumentId Id, SourceText Text, SyntaxNode Root, HostLanguageServices HostLanguageServices)
Microsoft.CodeAnalysis.CSharp.Features (8)
CodeRefactorings\EnableNullable\EnableNullableCodeRefactoringProvider.cs (1)
72var updatedDocumentRoots = await ProducerConsumer<(DocumentId documentId, SyntaxNode newRoot)>.RunParallelAsync(
CodeRefactorings\SyncNamespace\CSharpChangeNamespaceService.cs (1)
45protected override async Task<ImmutableArray<(DocumentId, SyntaxNode)>> GetValidContainersFromAllLinkedDocumentsAsync(
ExtractInterface\CSharpExtractInterfaceService.cs (1)
67Solution unformattedSolution, IReadOnlyList<DocumentId> documentIds,
SolutionExplorer\CSharpSolutionExplorerSymbolTreeItemProvider.cs (5)
45DocumentId documentId, BaseNamespaceDeclarationSyntax namespaceDeclaration, ArrayBuilder<SymbolTreeItemData> items, StringBuilder nameBuilder) 60DocumentId documentId, MemberDeclarationSyntax member, ArrayBuilder<SymbolTreeItemData> items, StringBuilder nameBuilder) 152DocumentId documentId, MemberDeclarationSyntax member, ArrayBuilder<SymbolTreeItemData> items, StringBuilder nameBuilder) 372DocumentId documentId, 396protected override void AddMemberStatement(DocumentId documentId, LocalFunctionStatementSyntax statement, ArrayBuilder<SymbolTreeItemData> items, StringBuilder nameBuilder)
Microsoft.CodeAnalysis.CSharp.Workspaces (1)
Rename\CSharpRenameRewriterLanguageService.cs (1)
48private readonly DocumentId _documentId;
Microsoft.CodeAnalysis.ExternalAccess.HotReload (5)
Api\HotReloadMSBuildWorkspace.cs (5)
142var mappedDocumentId = oldSolution.GetDocumentIdsWithFilePath(docInfo.FilePath).FirstOrDefault(id => id.ProjectId == mappedProjectId) 143?? DocumentId.CreateNewId(mappedProjectId); 153var documentsToRemove = new List<DocumentId>(); 167foreach (var documentId in documentIds) 204private static Solution RemoveDocuments(Solution solution, IEnumerable<DocumentId> ids)
Microsoft.CodeAnalysis.ExternalAccess.OmniSharp (2)
Workspace\OmniSharpDocumentId.cs (2)
11public static DocumentId CreateFromSerialized(ProjectId projectId, Guid id, bool isSourceGenerated, string? debugName) 12=> DocumentId.CreateFromSerialized(projectId, id, isSourceGenerated, debugName);
Microsoft.CodeAnalysis.Features (370)
AddImport\CodeActions\InstallPackageAndAddImportCodeAction.cs (2)
94DocumentId changedDocumentId, 99private readonly DocumentId _changedDocumentId = changedDocumentId;
AddImport\Remote\IRemoteMissingImportDiscoveryService.cs (2)
25Checksum solutionChecksum, RemoteServiceCallbackId callbackId, DocumentId documentId, TextSpan span, string diagnosticId, int maxResults, 29Checksum solutionChecksum, RemoteServiceCallbackId callbackId, DocumentId id, TextSpan span, ImmutableArray<string> diagnosticIds,
ChangeSignature\AbstractChangeSignatureService.cs (9)
254var nodesToUpdate = new Dictionary<DocumentId, List<SyntaxNode>>(); 336if (!TryGetNodeWithEditableSignatureOrAttributes(def, currentSolution, out var nodeToUpdate, out var documentId)) 360if (!TryGetNodeWithEditableSignatureOrAttributes(location.Location, currentSolution, out var nodeToUpdate2, out var documentId2)) 376var updatedRoots = new Dictionary<DocumentId, SyntaxNode>(); 377foreach (var docId in nodesToUpdate.Keys) 418var changedDocuments = await ProducerConsumer<(DocumentId documentId, SyntaxNode newRoot)>.RunParallelAsync( 445private static void AddUpdatableNodeToDictionaries(Dictionary<DocumentId, List<SyntaxNode>> nodesToUpdate, DocumentId documentId, SyntaxNode nodeToUpdate, Dictionary<SyntaxNode, ISymbol> definitionToUse, ISymbol symbolWithSemanticParameters) 456private static bool TryGetNodeWithEditableSignatureOrAttributes(Location location, Solution solution, out SyntaxNode nodeToUpdate, out DocumentId documentId)
CodeFixes\Configuration\ConfigurationUpdater.cs (2)
330var id = DocumentId.CreateNewId(project.Id);
CodeFixes\Suppression\AbstractSuppressionBatchFixAllProvider.cs (9)
248private static async Task<IReadOnlyDictionary<DocumentId, ConcurrentBag<(CodeAction, Document)>>> GetDocumentIdToChangedDocumentsAsync( 254var documentIdToChangedDocuments = new ConcurrentDictionary<DocumentId, ConcurrentBag<(CodeAction, Document)>>(); 270private static async Task<ImmutableArray<(DocumentId documentId, SourceText newText)>> GetDocumentIdToFinalTextAsync( 272IReadOnlyDictionary<DocumentId, ConcurrentBag<(CodeAction, Document)>> documentIdToChangedDocuments, 283var documentIdToFinalText = new ConcurrentDictionary<DocumentId, SourceText>(); 298ConcurrentDictionary<DocumentId, SourceText> documentIdToFinalText, 340private static readonly Func<DocumentId, ConcurrentBag<(CodeAction, Document)>> s_getValue = 345ConcurrentDictionary<DocumentId, ConcurrentBag<(CodeAction, Document)>> documentIdToChangedDocuments, 369foreach (var documentId in documentIdsWithChanges)
CodeLens\CodeLensHelpers.cs (2)
12public static DocumentId? GetSourceGeneratorDocumentId(IDictionary<object, object> descriptorProperties) 28return DocumentId.CreateFromSerialized(projectId, documentIdGuid, isSourceGenerated, debugName: null);
CodeLens\CodeLensReferencesService.cs (5)
43private static async Task<T?> FindAsync<T>(Solution solution, DocumentId documentId, SyntaxNode syntaxNode, 90public async Task<ReferenceCount?> GetReferenceCountAsync(Solution solution, DocumentId documentId, SyntaxNode syntaxNode, int maxSearchResults, CancellationToken cancellationToken) 198public async Task<ImmutableArray<ReferenceLocationDescriptorAndDocument>?> FindReferenceLocationsAsync(Solution solution, DocumentId documentId, SyntaxNode syntaxNode, CancellationToken cancellationToken) 370public Task<ImmutableArray<ReferenceMethodDescriptor>?> FindReferenceMethodsAsync(Solution solution, DocumentId documentId, SyntaxNode syntaxNode, CancellationToken cancellationToken) 386public async Task<string> GetFullyQualifiedNameAsync(Solution solution, DocumentId documentId, SyntaxNode syntaxNode,
CodeLens\ICodeLensReferencesService.cs (4)
24Task<ReferenceCount?> GetReferenceCountAsync(Solution solution, DocumentId documentId, SyntaxNode? syntaxNode, int maxSearchResults, CancellationToken cancellationToken); 29Task<ImmutableArray<ReferenceLocationDescriptorAndDocument>?> FindReferenceLocationsAsync(Solution solution, DocumentId documentId, SyntaxNode? syntaxNode, CancellationToken cancellationToken); 39Task<ImmutableArray<ReferenceMethodDescriptor>?> FindReferenceMethodsAsync(Solution solution, DocumentId documentId, SyntaxNode? syntaxNode, CancellationToken cancellationToken); 44Task<string?> GetFullyQualifiedNameAsync(Solution solution, DocumentId documentId, SyntaxNode? syntaxNode, CancellationToken cancellationToken);
CodeLens\IRemoteCodeLensReferencesService.cs (4)
14ValueTask<ReferenceCount?> GetReferenceCountAsync(Checksum solutionChecksum, DocumentId documentId, TextSpan textSpan, int maxResultCount, CancellationToken cancellationToken); 15ValueTask<ImmutableArray<ReferenceLocationDescriptorAndDocument>?> FindReferenceLocationsAsync(Checksum solutionChecksum, DocumentId documentId, TextSpan textSpan, CancellationToken cancellationToken); 16ValueTask<ImmutableArray<ReferenceMethodDescriptor>?> FindReferenceMethodsAsync(Checksum solutionChecksum, DocumentId documentId, TextSpan textSpan, CancellationToken cancellationToken); 17ValueTask<string?> GetFullyQualifiedNameAsync(Checksum solutionChecksum, DocumentId documentId, TextSpan textSpan, CancellationToken cancellationToken);
CodeLens\ReferenceLocationDescriptor.cs (2)
12/// Newtonsoft.Json with no special configuration. Since our regular <see cref="DocumentId"/> is not serialable that way, a distinction is made between a this descriptor (which might be in any random file) 134public required DocumentId DocumentId { get; init; }
CodeRefactorings\MoveType\AbstractMoveTypeService.MoveTypeEditor.cs (5)
51var newDocumentId = DocumentId.CreateNewId(projectToBeUpdated.Id, FileName); 79Solution solution, DocumentId sourceDocumentId, DocumentId documentWithMovedTypeId) 113private async Task<Document> AddNewDocumentWithSingleTypeDeclarationAsync(DocumentId newDocumentId)
CodeRefactorings\SyncNamespace\AbstractChangeNamespaceService.cs (15)
107protected abstract Task<ImmutableArray<(DocumentId id, SyntaxNode container)>> GetValidContainersFromAllLinkedDocumentsAsync(Document document, SyntaxNode container, CancellationToken cancellationToken); 225using var _ = PooledHashSet<DocumentId>.GetInstance(out var referenceDocuments); 227foreach (var documentId in documentIds) 269protected async Task<ImmutableArray<(DocumentId, SyntaxNode)>> TryGetApplicableContainersFromAllDocumentsAsync( 271ImmutableArray<DocumentId> ids, 281using var _1 = ArrayBuilder<(DocumentId, SyntaxNode)>.GetInstance(ids.Length, out var containers); 312protected static async Task<Solution> AnnotateContainersAsync(Solution solution, ImmutableArray<(DocumentId, SyntaxNode)> containers, CancellationToken cancellationToken) 347protected static bool IsSupportedLinkedDocument(Document document, out ImmutableArray<DocumentId> allDocumentIds) 428private async Task<(Solution, ImmutableArray<DocumentId>)> ChangeNamespaceInSingleDocumentAsync( 430DocumentId id, 487var fixedDocuments = await ProducerConsumer<(DocumentId documentId, SyntaxNode newRoot)>.RunParallelAsync( 802ImmutableArray<DocumentId> ids, 806using var _1 = PooledHashSet<DocumentId>.GetInstance(out var linkedDocumentsToSkip); 809foreach (var id in ids) 819var changedDocuments = await ProducerConsumer<(DocumentId documentId, SyntaxNode newRoot)>.RunParallelAsync(
CodeRefactorings\SyncNamespace\AbstractSyncNamespaceCodeRefactoringProvider.MoveFileCodeAction.cs (2)
41var newDocumentId = DocumentId.CreateNewId(document.Project.Id, document.Name);
CodeRefactorings\SyncNamespace\SyncNamespaceDocumentsNotInSolutionException.cs (3)
11internal sealed class SyncNamespaceDocumentsNotInSolutionException(ImmutableArray<DocumentId> documentIds) : Exception 13private readonly ImmutableArray<DocumentId> _documentIds = documentIds; 18foreach (var documentId in _documentIds)
Common\DocumentNavigationOperation.cs (2)
20public class DocumentNavigationOperation(DocumentId documentId, int position = 0) : CodeActionOperation 22internal DocumentId DocumentId { get; } = documentId ?? throw new ArgumentNullException(nameof(documentId));
Common\StartInlineRenameSessionOperation.cs (2)
20internal sealed class StartInlineRenameSessionOperation(DocumentId documentId, int position) : CodeActionOperation 22public DocumentId DocumentId { get; } = documentId ?? throw new ArgumentNullException(nameof(documentId));
Completion\Providers\AbstractPreprocessorCompletionProvider.cs (1)
32foreach (var documentId in solution.GetRelatedDocumentIds(originatingDocument.Id))
Completion\Providers\AbstractRecommendationServiceBasedCompletionProvider.cs (2)
239foreach (var relatedId in relatedDocumentIds) 251async Task<CompletionDescription?> TryGetDescriptionAsync(DocumentId documentId)
Completion\Providers\AbstractSymbolCompletionProvider.cs (7)
384using var _ = PooledDictionary<DocumentId, int>.GetInstance(out var documentIdToIndex); 386foreach (var documentId in relatedDocumentIds) 415ImmutableArray<(DocumentId documentId, TSyntaxContext syntaxContext, ImmutableArray<SymbolAndSelectionInfo> symbols)> linkedContextSymbolLists) 439private async Task<ImmutableArray<(DocumentId documentId, TSyntaxContext syntaxContext, ImmutableArray<SymbolAndSelectionInfo> symbols)>> GetPerContextSymbolsAsync( 440CompletionContext completionContext, Document document, CompletionOptions options, IEnumerable<DocumentId> relatedDocuments, CancellationToken cancellationToken) 444return await ProducerConsumer<(DocumentId documentId, TSyntaxContext syntaxContext, ImmutableArray<SymbolAndSelectionInfo> symbols)>.RunParallelAsync( 484ImmutableArray<(DocumentId documentId, TSyntaxContext syntaxContext, ImmutableArray<SymbolAndSelectionInfo> symbols)> linkedContextSymbolLists)
Completion\Providers\ImportCompletionProvider\IRemoteExtensionMethodImportCompletionService.cs (1)
15DocumentId documentId,
Completion\Providers\SymbolCompletionItem.cs (2)
155foreach (var id in linkedIds) 220var contextId = document.GetLinkedDocumentIds().FirstOrDefault(id => !supportedPlatforms.InvalidProjects.Contains(id.ProjectId));
Completion\SharedSyntaxContextsWithSpeculativeModel.cs (1)
21private readonly Lazy<ImmutableArray<DocumentId>> _lazyRelatedDocumentIds;
ConvertTupleToStruct\AbstractConvertTupleToStructCodeRefactoringProvider.cs (2)
251(DocumentId documentId, TextSpan span) renamedToken, 590var docId = currentDoc.Id;
ConvertTupleToStruct\IRemoteConvertTupleToStructCodeRefactoringService.cs (5)
17DocumentId documentId, 26ImmutableArray<(DocumentId, ImmutableArray<TextChange>)> documentTextChanges, 27(DocumentId, TextSpan) renamedToken) 30public readonly ImmutableArray<(DocumentId, ImmutableArray<TextChange>)> DocumentTextChanges = documentTextChanges; 33public readonly (DocumentId, TextSpan) RenamedToken = renamedToken;
Copilot\IProposalAdjusterService.cs (1)
63DocumentId documentId, ImmutableArray<TextChange> normalizedChanges,
Copilot\IRemoteCopilotChangeAnalysisService.cs (1)
18Checksum solutionChecksum, DocumentId documentId, ImmutableArray<TextChange> normalizedChanges, CancellationToken cancellationToken);
DesignerAttribute\DesignerAttributeData.cs (1)
25public DocumentId DocumentId;
DesignerAttribute\DesignerAttributeDiscoveryService.cs (7)
60private readonly ConcurrentDictionary<DocumentId, (string? category, VersionStamp projectVersion)> _documentToLastReportedInformation = []; 121DocumentId priorityDocumentId, 162foreach (var docId in _documentToLastReportedInformation.Keys) 237foreach (var documentId in project.DocumentIds) 267Project project, DocumentId documentId, string filePath, bool hasDesignerCategoryType, string? existingCategory) 285bool hasDesignerCategoryType, Project project, DocumentId documentId, string? existingCategory, CancellationToken cancellationToken) 399var priorityDocumentId = activeDocument.Id;
DesignerAttribute\IDesignerAttributeDiscoveryService.cs (1)
27ValueTask ProcessPriorityDocumentAsync(Solution solution, DocumentId priorityDocumentId, ICallback callback, CancellationToken cancellationToken);
DesignerAttribute\IRemoteDesignerAttributeDiscoveryService.cs (1)
27ValueTask DiscoverDesignerAttributesAsync(RemoteServiceCallbackId callbackId, Checksum solutionChecksum, DocumentId priorityDocument, CancellationToken cancellationToken);
Diagnostics\CodeAnalysisDiagnosticAnalyzerService.cs (1)
117public ImmutableArray<DiagnosticData> GetLastComputedDocumentDiagnostics(DocumentId documentId)
Diagnostics\DiagnosticsUpdatedArgs.cs (4)
24public readonly DocumentId? DocumentId; 30DocumentId? documentId, 47DocumentId? documentId, 56DocumentId? documentId)
Diagnostics\ICodeAnalysisDiagnosticAnalyzerService.cs (1)
41ImmutableArray<DiagnosticData> GetLastComputedDocumentDiagnostics(DocumentId documentId);
Diagnostics\IDiagnosticAnalyzerService.cs (1)
67Project project, ImmutableArray<DocumentId> documentIds, ImmutableHashSet<string>? diagnosticIds, AnalyzerFilter analyzerFilter, bool includeLocalDocumentDiagnostics, CancellationToken cancellationToken);
Diagnostics\Service\DiagnosticAnalyzerService.IncrementalMemberEditAnalyzer.cs (2)
40private readonly record struct MemberSpans(DocumentId DocumentId, VersionStamp Version, ImmutableArray<TextSpan> Spans); 257private void SaveMemberSpans(DocumentId documentId, VersionStamp version, ImmutableArray<TextSpan> memberSpans)
Diagnostics\Service\DiagnosticAnalyzerService_ProduceProjectDiagnostics.cs (4)
55ImmutableArray<DocumentId> documentIds, 69ImmutableArray<DocumentId> documentIds, 118ImmutableArray<DocumentId> documentIds, 135foreach (var documentId in documentIds)
Diagnostics\Service\DiagnosticAnalyzerService_RemoteOrLocalDispatcher.cs (1)
155Project project, ImmutableArray<DocumentId> documentIds, ImmutableHashSet<string>? diagnosticIds, AnalyzerFilter analyzerFilter, bool includeLocalDocumentDiagnostics, CancellationToken cancellationToken)
Diagnostics\Service\DocumentAnalysisExecutor_Helpers.cs (1)
195foreach (var documentId in project.Solution.GetDocumentIdsWithFilePath(path))
DocumentHighlighting\IRemoteDocumentHighlightsService.cs (4)
16Checksum solutionChecksum, DocumentId documentId, int position, ImmutableArray<DocumentId> documentIdsToSearch, HighlightingOptions options, CancellationToken cancellationToken); 20internal readonly struct SerializableDocumentHighlights(DocumentId documentId, ImmutableArray<HighlightSpan> highlightSpans) 23public readonly DocumentId DocumentId = documentId;
DocumentIdSpan.cs (2)
18internal readonly record struct DocumentIdSpan(DocumentId documentId, TextSpan sourceSpan) 21public readonly DocumentId DocumentId = documentId;
EditAndContinue\AbstractEditAndContinueAnalyzer.cs (2)
505DocumentId documentId, 732private static async ValueTask<(Document? document, SourceText text)> GetDocumentContentAsync(Project project, DocumentId documentId, CancellationToken cancellationToken)
EditAndContinue\ActiveStatementProvider.cs (1)
14internal delegate ValueTask<ImmutableArray<ActiveStatementSpan>> ActiveStatementSpanProvider(DocumentId? documentId, string filePath, CancellationToken cancellationToken);
EditAndContinue\ActiveStatementSpan.cs (1)
26[property: DataMember(Order = 3)] DocumentId? UnmappedDocumentId = null);
EditAndContinue\CommittedSolution.cs (6)
107private readonly Dictionary<DocumentId, DocumentState> _documentState = []; 112internal void Test_SetDocumentState(DocumentId documentId, DocumentState state) 121internal ImmutableArray<(DocumentId id, DocumentState state)> Test_GetDocumentStates() 138public ImmutableArray<DocumentId> GetDocumentIdsWithFilePath(string path) 141public bool ContainsDocument(DocumentId documentId) 155var documentId = currentDocument.Id;
EditAndContinue\DebuggingSession.cs (6)
690public async ValueTask<ImmutableArray<ImmutableArray<ActiveStatementSpan>>> GetBaseActiveStatementSpansAsync(Solution solution, ImmutableArray<DocumentId> documentIds, CancellationToken cancellationToken) 707var documentId = documentIds[i]; 731using var _3 = PooledDictionary<ActiveStatement, ArrayBuilder<(DocumentId unmappedDocumentId, LinePositionSpan span)>>.GetInstance( 752await foreach (var documentId in EditSession.GetChangedDocumentsAsync(SessionLog, oldProject, newProject, cancellationToken).ConfigureAwait(false)) 816DocumentId? unmappedDocumentId; 888await foreach (var unmappedDocumentId in EditSession.GetChangedDocumentsAsync(SessionLog, oldProject, newProject, cancellationToken).ConfigureAwait(false))
EditAndContinue\DocumentAnalysisResults.cs (4)
19public DocumentId DocumentId { get; } 108DocumentId documentId, 185public static DocumentAnalysisResults Blocked(DocumentId documentId, string filePath, ImmutableArray<RudeEditDiagnostic> rudeEdits, Diagnostic? syntaxError, TimeSpan elapsedTime, bool hasChanges) 204public static DocumentAnalysisResults Unchanged(DocumentId documentId, string filePath, TimeSpan elapsedTime)
EditAndContinue\EditAndContinueDocumentAnalysesCache.cs (2)
27private readonly Dictionary<DocumentId, (AsyncLazy<DocumentAnalysisResults> results, Project oldProject, Document? newDocument, ImmutableArray<ActiveStatementLineSpan> activeStatementSpans)> _analyses = []; 180var documentId = oldDocument?.Id ?? newDocument!.Id;
EditAndContinue\EditAndContinueService.cs (1)
242public ValueTask<ImmutableArray<ImmutableArray<ActiveStatementSpan>>> GetBaseActiveStatementSpansAsync(DebuggingSessionId sessionId, Solution solution, ImmutableArray<DocumentId> documentIds, CancellationToken cancellationToken)
EditAndContinue\EditSession.cs (15)
265var documentId = newDocumentIds.First(); 348foreach (var documentId in newProject.State.DocumentStates.GetChangedStateIds(oldProject.State.DocumentStates, ignoreUnchangedContent: true)) 369foreach (var documentId in newProject.State.DocumentStates.GetAddedStateIds(oldProject.State.DocumentStates)) 385foreach (var documentId in newProject.State.DocumentStates.GetRemovedStateIds(oldProject.State.DocumentStates)) 412foreach (var documentId in newProject.State.AdditionalDocumentStates.GetChangedStateIds(oldProject.State.AdditionalDocumentStates, ignoreUnchangedContent: true)) 421foreach (var documentId in newProject.State.AnalyzerConfigDocumentStates.GetChangedStateIds(oldProject.State.AnalyzerConfigDocumentStates, ignoreUnchangedContent: true)) 517foreach (var documentId in newSourceGeneratedDocumentStates.GetChangedStateIds(oldSourceGeneratedDocumentStates, ignoreUnchangedContent: true)) 528foreach (var documentId in newSourceGeneratedDocumentStates.GetAddedStateIds(oldSourceGeneratedDocumentStates)) 539foreach (var documentId in newSourceGeneratedDocumentStates.GetRemovedStateIds(oldSourceGeneratedDocumentStates)) 569/// Enumerates <see cref="DocumentId"/>s of changed (not added or removed) <see cref="Document"/>s (not additional nor analyzer config). 571internal static async IAsyncEnumerable<DocumentId> GetChangedDocumentsAsync(TraceLog log, Project oldProject, Project newProject, [EnumeratorCancellation] CancellationToken cancellationToken) 580foreach (var documentId in newProject.State.DocumentStates.GetChangedStateIds(oldProject.State.DocumentStates, ignoreUnchangedContent: true)) 607foreach (var documentId in newSourceGeneratedDocumentStates.GetChangedStateIds(oldSourceGeneratedDocumentStates, ignoreUnchangedContent: true)) 1055var documentId = newProject.GetRequiredDocument(newSyntaxRef.SyntaxTree).Id; 1525foreach (var documentId in solution.GetDocumentIdsWithFilePath(changedDocumentPath))
EditAndContinue\IActiveStatementSpanFactory.cs (2)
24/// Returns <see cref="DocumentId"/> of the unmapped document containing the active statement (i.e. the document that has the #line directive mapping the statement to one of the specified <paramref name="documentIds"/>), 27ValueTask<ImmutableArray<ImmutableArray<ActiveStatementSpan>>> GetBaseActiveStatementSpansAsync(Solution solution, ImmutableArray<DocumentId> documentIds, CancellationToken cancellationToken);
EditAndContinue\IActiveStatementSpanLocator.cs (1)
18ValueTask<ImmutableArray<ActiveStatementSpan>> GetSpansAsync(Solution solution, DocumentId? documentId, string filePath, CancellationToken cancellationToken);
EditAndContinue\IEditAndContinueAnalyzer.cs (1)
19DocumentId documentId,
EditAndContinue\IEditAndContinueService.cs (1)
31ValueTask<ImmutableArray<ImmutableArray<ActiveStatementSpan>>> GetBaseActiveStatementSpansAsync(DebuggingSessionId sessionId, Solution solution, ImmutableArray<DocumentId> documentIds, CancellationToken cancellationToken);
EditAndContinue\Remote\ActiveStatementSpanProviderCallback.cs (1)
20public async ValueTask<ImmutableArray<ActiveStatementSpan>> GetSpansAsync(DocumentId? documentId, string filePath, CancellationToken cancellationToken)
EditAndContinue\Remote\DebuggingSessionProxy.cs (1)
114public async ValueTask<ImmutableArray<ImmutableArray<ActiveStatementSpan>>> GetBaseActiveStatementSpansAsync(Solution solution, ImmutableArray<DocumentId> documentIds, CancellationToken cancellationToken)
EditAndContinue\Remote\IRemoteEditAndContinueService.cs (4)
25ValueTask<ImmutableArray<ActiveStatementSpan>> GetSpansAsync(RemoteServiceCallbackId callbackId, DocumentId? documentId, string filePath, CancellationToken cancellationToken); 29ValueTask<ImmutableArray<DiagnosticData>> GetDocumentDiagnosticsAsync(Checksum solutionChecksum, RemoteServiceCallbackId callbackId, DocumentId documentId, CancellationToken cancellationToken); 49ValueTask<ImmutableArray<ImmutableArray<ActiveStatementSpan>>> GetBaseActiveStatementSpansAsync(Checksum solutionChecksum, DebuggingSessionId sessionId, ImmutableArray<DocumentId> documentIds, CancellationToken cancellationToken); 50ValueTask<ImmutableArray<ActiveStatementSpan>> GetAdjustedActiveStatementSpansAsync(Checksum solutionChecksum, RemoteServiceCallbackId callbackId, DebuggingSessionId sessionId, DocumentId documentId, CancellationToken cancellationToken);
EditAndContinue\Remote\RemoteEditAndContinueServiceProxy.cs (1)
32public ValueTask<ImmutableArray<ActiveStatementSpan>> GetSpansAsync(RemoteServiceCallbackId callbackId, DocumentId? documentId, string filePath, CancellationToken cancellationToken)
EditAndContinue\StaleProjectInfo.cs (1)
22/// Use path instead of <see cref="DocumentId"/> so that a diagnostic describing the reason of the staleness can be reported
EncapsulateField\AbstractEncapsulateFieldService.cs (5)
124var result = await client.TryInvokeAsync<IRemoteEncapsulateFieldService, ImmutableArray<(DocumentId, ImmutableArray<TextChange>)>>( 280Func<DocumentId, TextSpan, bool> filter, 297private static bool IntersectsWithAny(DocumentId documentId, TextSpan span, ISet<(DocumentId documentId, TextSpan span)> constructorLocations) 311private ISet<(DocumentId documentId, TextSpan span)> GetConstructorLocations(Solution solution, INamedTypeSymbol containingType)
EncapsulateField\IRemoteEncapsulateFieldService.cs (2)
14ValueTask<ImmutableArray<(DocumentId, ImmutableArray<TextChange>)>> EncapsulateFieldsAsync( 16DocumentId documentId,
Extensions\IRemoteExtensionMessageHandlerService.cs (1)
24Checksum solutionChecksum, string messageName, string jsonMessage, DocumentId documentId, CancellationToken cancellationToken);
ExternalAccess\UnitTesting\API\INewUnitTestingIncrementalAnalyzerImplementation.cs (1)
22void RemoveDocument(DocumentId documentId);
ExternalAccess\UnitTesting\API\NewUnitTestingIncrementalAnalyzer.cs (1)
39public Task RemoveDocumentAsync(DocumentId documentId, CancellationToken cancellationToken)
ExternalAccess\UnitTesting\SolutionCrawler\IUnitTestingIncrementalAnalyzer.cs (1)
23Task RemoveDocumentAsync(DocumentId documentId, CancellationToken cancellationToken);
ExternalAccess\UnitTesting\SolutionCrawler\IUnitTestingSolutionCrawlerService.cs (2)
16/// Ask solution crawler to re-analyze given <see cref="ProjectId"/>s or/and <see cref="DocumentId"/>s 19void Reanalyze(string? workspaceKind, SolutionServices services, IUnitTestingIncrementalAnalyzer analyzer, IEnumerable<ProjectId>? projectIds = null, IEnumerable<DocumentId>? documentIds = null);
ExternalAccess\UnitTesting\SolutionCrawler\UnitTestingSolutionCrawlerLogger.cs (1)
155CountLogAggregator<object> logAggregator, string language, DocumentId? documentId, UnitTestingInvocationReasons reasons, bool lowPriority, SyntaxPath? activeMember, bool added)
ExternalAccess\UnitTesting\SolutionCrawler\UnitTestingSolutionCrawlerRegistrationService.cs (1)
128public void Reanalyze(string? workspaceKind, SolutionServices services, IUnitTestingIncrementalAnalyzer analyzer, IEnumerable<ProjectId>? projectIds, IEnumerable<DocumentId>? documentIds)
ExternalAccess\UnitTesting\SolutionCrawler\UnitTestingSolutionCrawlerService.cs (1)
30public void Reanalyze(string? workspaceKind, SolutionServices services, IUnitTestingIncrementalAnalyzer analyzer, IEnumerable<ProjectId>? projectIds = null, IEnumerable<DocumentId>? documentIds = null)
ExternalAccess\UnitTesting\SolutionCrawler\UnitTestingWorkCoordinator.cs (19)
285private void EnqueueFullDocumentEvent(Solution solution, DocumentId documentId, UnitTestingInvocationReasons invocationReasons) 295private void EnqueueDocumentChangedEvent(Solution oldSolution, Solution newSolution, DocumentId documentId) 341private async Task EnqueueDocumentWorkItemAsync(Project project, DocumentId documentId, TextDocument? document, UnitTestingInvocationReasons invocationReasons, SyntaxNode? changedMember = null) 366private static Document GetRequiredDocument(Project project, DocumentId documentId, Document? document) 383foreach (var documentId in project.DocumentIds) 386foreach (var documentId in project.AdditionalDocumentIds) 389foreach (var documentId in project.AnalyzerConfigDocumentIds) 412IUnitTestingIncrementalAnalyzer analyzer, Project project, DocumentId documentId, Document? document, UnitTestingInvocationReasons invocationReasons) 427foreach (var addedDocumentId in projectChanges.GetAddedDocuments()) 430foreach (var changedDocumentId in projectChanges.GetChangedDocuments()) 436foreach (var removedDocumentId in projectChanges.GetRemovedDocuments()) 572public UnitTestingReanalyzeScope(IEnumerable<ProjectId>? projectIds = null, IEnumerable<DocumentId>? documentIds = null) 580foreach (var documentId in documentIds) 623case DocumentId documentId: 671case DocumentId documentId: 682public IEnumerable<(Project project, DocumentId documentId)> GetDocumentIds(Solution solution) 693foreach (var documentId in project.DocumentIds) 711foreach (var documentId in project.DocumentIds) 717case DocumentId documentId:
ExternalAccess\UnitTesting\SolutionCrawler\UnitTestingWorkCoordinator.UnitTestingAsyncDocumentWorkItemQueue.cs (10)
16private sealed class UnitTestingAsyncDocumentWorkItemQueue(UnitTestingSolutionCrawlerProgressReporter progressReporter) : UnitTestingAsyncWorkItemQueue<DocumentId>(progressReporter) 18private readonly Dictionary<ProjectId, Dictionary<DocumentId, UnitTestingWorkItem>> _documentWorkQueue = []; 22protected override bool TryTake_NoLock(DocumentId key, out UnitTestingWorkItem workInfo) 33SharedPools.BigDefault<Dictionary<DocumentId, UnitTestingWorkItem>>().ClearAndFree(documentMap); 53var documentId = GetBestDocumentId_NoLock(preferableProjectId); 62private DocumentId GetBestDocumentId_NoLock( 74DocumentId? lowPriorityDocumentId = null; 98var key = item.DocumentId; 115documentMap = SharedPools.BigDefault<Dictionary<DocumentId, UnitTestingWorkItem>>().AllocateAndClear(); 140SharedPools.BigDefault<Dictionary<DocumentId, UnitTestingWorkItem>>().ClearAndFree(map);
ExternalAccess\UnitTesting\SolutionCrawler\UnitTestingWorkCoordinator.UnitTestingIncrementalAnalyzerProcessor.cs (1)
247if (documentOrProjectId is DocumentId documentId)
ExternalAccess\UnitTesting\SolutionCrawler\UnitTestingWorkCoordinator.UnitTestingNormalPriorityProcessor.cs (6)
34private readonly ConcurrentDictionary<DocumentId, /*unused*/ object?> _higherPriorityDocumentsNotProcessed; 54_higherPriorityDocumentsNotProcessed = new ConcurrentDictionary<DocumentId, object?>(concurrencyLevel: 2, capacity: 20); 89private void AddHigherPriorityDocument(DocumentId id) 180var documentId = workItem.DocumentId; 289private Task RemoveDocumentAsync(DocumentId documentId, CancellationToken cancellationToken) 292private static async Task RemoveDocumentAsync(ImmutableArray<IUnitTestingIncrementalAnalyzer> analyzers, DocumentId documentId, CancellationToken cancellationToken)
ExternalAccess\UnitTesting\SolutionCrawler\UnitTestingWorkCoordinator.UnitTestingSemanticChangeProcessor.cs (8)
31private static readonly Func<int, DocumentId, bool, string> s_enqueueLogger = (tick, documentId, hint) => $"Tick:{tick}, {documentId}, {documentId.ProjectId}, hint:{hint}"; 39private readonly Dictionary<DocumentId, UnitTestingData> _pendingWork = []; 183var documentId = solution.GetDocumentId(location.SourceTree, projectId); 243public void Enqueue(Project project, DocumentId documentId, Document? document, SyntaxPath? changedMember) 308private readonly struct UnitTestingData(Project project, DocumentId documentId, Document? document, SyntaxPath? changedMember, IAsyncToken asyncToken) 310private readonly DocumentId _documentId = documentId; 382public async Task EnqueueWorkItemAsync(Project project, DocumentId documentId, Document? document) 435foreach (var documentId in project.DocumentIds)
ExternalAccess\UnitTesting\SolutionCrawler\UnitTestingWorkCoordinator.UnitTestingWorkItem.cs (4)
26public readonly DocumentId? DocumentId; 56DocumentId? documentId, 82public UnitTestingWorkItem(DocumentId documentId, string language, UnitTestingInvocationReasons invocationReasons, bool isLowPriority, SyntaxPath? activeMember, IAsyncToken asyncToken) 87public UnitTestingWorkItem(DocumentId documentId, string language, UnitTestingInvocationReasons invocationReasons, bool isLowPriority, IUnitTestingIncrementalAnalyzer? analyzer, IAsyncToken asyncToken)
ExternalAccess\UnitTesting\UnitTestingFeaturesReferencesService.cs (3)
18Guid projectGuid, string filePath, TextSpan span, DocumentId? sourceGeneratedDocumentId, CancellationToken cancellationToken); 28public static DocumentId? GetSourceGeneratorDocumentId(IDictionary<object, object> descriptorProperties) 35DocumentId? sourceGeneratedDocumentId,
ExternalAccess\VSTypeScript\Api\IVSTypeScriptDiagnosticAnalyzerService.cs (1)
17void Reanalyze(Workspace? workspace = null, IEnumerable<ProjectId>? projectIds = null, IEnumerable<DocumentId>? documentIds = null, bool highPriority = false);
ExternalAccess\VSTypeScript\Api\VSTypeScriptDiagnosticsUpdatedArgsWrapper.cs (1)
16public DocumentId? DocumentId
ExternalAccess\VSTypeScript\Api\VSTypeScriptDocumentNavigationServiceWrapper.cs (3)
25public bool TryNavigateToPosition(Workspace workspace, DocumentId documentId, int position, int virtualSpace = 0, OptionSet? options = null) 29public bool TryNavigateToPosition(Workspace workspace, DocumentId documentId, int position, int virtualSpace, OptionSet? options, CancellationToken cancellationToken) 41public bool TryNavigateToPosition(Workspace workspace, DocumentId documentId, int position, int virtualSpace, CancellationToken cancellationToken)
ExternalAccess\VSTypeScript\VSTypeScriptDiagnosticAnalyzerService.cs (1)
19public void Reanalyze(Workspace? workspace, IEnumerable<ProjectId>? projectIds, IEnumerable<DocumentId>? documentIds, bool highPriority)
ExtractClass\ExtractClassWithDialogCodeAction.cs (1)
235foreach (var documentId in symbolMapping.DocumentIdsToSymbolMap.Keys)
ExtractInterface\AbstractExtractInterfaceService.cs (5)
37IReadOnlyList<DocumentId> documentId, 280private static async Task<Solution> GetFormattedSolutionAsync(Solution unformattedSolution, IEnumerable<DocumentId> documentIds, CancellationToken cancellationToken) 286foreach (var documentId in documentIds) 312ImmutableArray<DocumentId> documentIds, 329foreach (var documentId in documentIds)
ExtractInterface\ExtractInterfaceResult.cs (2)
9internal sealed class ExtractInterfaceResult(bool succeeded, Solution updatedSolution = null, DocumentId navigationDocumentId = null) 13public DocumentId NavigationDocumentId { get; } = navigationDocumentId;
FindUsages\IRemoteFindUsagesService.cs (2)
163DocumentId documentId, TextSpan sourceSpan, bool isGeneratedCode) 166public readonly DocumentId DocumentId = documentId;
FullyQualify\IRemoteFullyQualifyService.cs (1)
13ValueTask<FullyQualifyFixData?> GetFixDataAsync(Checksum solutionChecksum, DocumentId documentId, TextSpan span, CancellationToken cancellationToken);
GenerateType\AbstractGenerateTypeService.Editor.cs (4)
272var newDocumentId = DocumentId.CreateNewId(projectToBeUpdated.Id, debugName: documentName); 348var documentId = DocumentId.CreateNewId(projectToBeUpdated.Id, documentName);
InheritanceMargin\IRemoteInheritanceMarginService.cs (1)
16DocumentId documentId,
InlineMethod\AbstractInlineMethodRefactoringProvider.cs (1)
274var calleeDocumentId = solution.GetDocumentId(calleeMethodNode.SyntaxTree);
Intents\IntentResult.cs (2)
13internal readonly struct IntentProcessorResult(Solution solution, ImmutableArray<DocumentId> changedDocuments, string title, string actionName) 23public readonly ImmutableArray<DocumentId> ChangedDocuments = changedDocuments;
IntroduceParameter\AbstractIntroduceParameterCodeRefactoringProvider.cs (1)
259var changedRoots = await ProducerConsumer<(DocumentId documentId, SyntaxNode newRoot)>.RunParallelAsync(
LegacySolutionEvents\IRemoteLegacySolutionEventsAggregationService.cs (1)
25ValueTask OnWorkspaceChangedAsync(Checksum oldSolutionChecksum, Checksum newSolutionChecksum, WorkspaceChangeKind kind, ProjectId? projectId, DocumentId? documentId, bool processSourceGeneratedDocuments, CancellationToken cancellationToken);
MetadataAsSource\DecompilationMetadataAsSourceFileProvider.cs (8)
49private readonly ConcurrentDictionary<string, (MetadataAsSourceGeneratedFileInfo Metadata, DocumentId DocumentId)> _generatedFilenameToInformation = new(StringComparer.OrdinalIgnoreCase); 99DocumentId generatedDocumentId; 227private void MutateWorkspace(DocumentId temporaryDocumentId, MetadataAsSourceGeneratedFileInfo fileInfo, ProjectInfo temporaryProjectInfo, Workspace metadataWorkspace) 329private static (ProjectInfo, DocumentId) GenerateProjectAndDocumentInfo( 347var assemblyInfoDocumentId = DocumentId.CreateNewId(projectId); 364var generatedDocumentId = DocumentId.CreateNewId(projectId);
MetadataAsSource\IMetadataAsSourceFileService.cs (1)
38bool TryAddDocumentToWorkspace(string filePath, SourceTextContainer sourceTextContainer, [NotNullWhen(true)] out DocumentId? documentId);
MetadataAsSource\MetadataAsSourceFileService.cs (2)
168public bool TryAddDocumentToWorkspace(string filePath, SourceTextContainer sourceTextContainer, [NotNullWhen(true)] out DocumentId? documentId) 203var documentId = workspace.CurrentSolution.GetDocumentIdsWithFilePath(filePath).FirstOrDefault();
MoveStaticMembers\MoveStaticMembersWithDialogCodeAction.cs (4)
69var destinationDocId = _document.Project.Solution.GetDocumentIdsWithFilePath(moveOptions.FilePath).Single(); 176DocumentId sourceDocId, 177DocumentId newTypeDocId, 401DocumentId sourceDocId,
MoveToNamespace\MoveToNamespaceResult.cs (2)
18public DocumentId UpdatedDocumentId { get; } 25DocumentId updatedDocumentId,
NavigateTo\AbstractNavigateToSearchService.InProcess.cs (1)
110foreach (var linkedDocumentId in document.GetLinkedDocumentIds())
NavigateTo\IRemoteNavigateToSearchService.cs (2)
20ValueTask SearchDocumentAndRelatedDocumentsAsync(Checksum solutionChecksum, DocumentId documentId, string searchPattern, ImmutableArray<string> kinds, RemoteServiceCallbackId callbackId, CancellationToken cancellationToken); 21ValueTask SearchProjectsAsync(Checksum solutionChecksum, ImmutableArray<ProjectId> projectIds, ImmutableArray<DocumentId> priorityDocumentIds, string searchPattern, ImmutableArray<string> kinds, RemoteServiceCallbackId callbackId, CancellationToken cancellationToken);
NavigateTo\RoslynNavigateToItem.cs (2)
68public DocumentId DocumentId => this.DocumentKey.Id; 104private readonly (DocumentId id, IReadOnlyList<string> folders)? _activeDocument;
Navigation\IDocumentNavigationService.cs (12)
19Task<bool> CanNavigateToSpanAsync(Workspace workspace, DocumentId documentId, TextSpan textSpan, bool allowInvalidSpan, CancellationToken cancellationToken); 25Task<bool> CanNavigateToPositionAsync(Workspace workspace, DocumentId documentId, int position, int virtualSpace, bool allowInvalidPosition, CancellationToken cancellationToken); 27Task<INavigableLocation?> GetLocationForSpanAsync(Workspace workspace, DocumentId documentId, TextSpan textSpan, bool allowInvalidSpan, CancellationToken cancellationToken); 28Task<INavigableLocation?> GetLocationForPositionAsync(Workspace workspace, DocumentId documentId, int position, int virtualSpace, bool allowInvalidPosition, CancellationToken cancellationToken); 33public virtual Task<bool> CanNavigateToSpanAsync(Workspace workspace, DocumentId documentId, TextSpan textSpan, bool allowInvalidSpan, CancellationToken cancellationToken) 36public virtual Task<bool> CanNavigateToPositionAsync(Workspace workspace, DocumentId documentId, int position, int virtualSpace, bool allowInvalidPosition, CancellationToken cancellationToken) 39public virtual Task<INavigableLocation?> GetLocationForSpanAsync(Workspace workspace, DocumentId documentId, TextSpan textSpan, bool allowInvalidSpan, CancellationToken cancellationToken) 42public virtual Task<INavigableLocation?> GetLocationForPositionAsync(Workspace workspace, DocumentId documentId, int position, int virtualSpace, bool allowInvalidPosition, CancellationToken cancellationToken) 48public static Task<bool> CanNavigateToSpanAsync(this IDocumentNavigationService service, Workspace workspace, DocumentId documentId, TextSpan textSpan, CancellationToken cancellationToken) 51public static Task<bool> CanNavigateToPositionAsync(this IDocumentNavigationService service, Workspace workspace, DocumentId documentId, int position, CancellationToken cancellationToken) 54public static Task<INavigableLocation?> GetLocationForSpanAsync(this IDocumentNavigationService service, Workspace workspace, DocumentId documentId, TextSpan textSpan, CancellationToken cancellationToken) 57public static Task<INavigableLocation?> GetLocationForPositionAsync(this IDocumentNavigationService service, Workspace workspace, DocumentId documentId, int position, CancellationToken cancellationToken)
Navigation\INavigableItem.cs (1)
51sealed record NavigableDocument(NavigableProject Project, string Name, string? FilePath, IReadOnlyList<string> Folders, DocumentId Id, SourceGeneratedDocumentIdentity? SourceGeneratedDocumentIdentity, Workspace? Workspace)
NavigationBar\AbstractNavigationBarItemService.cs (2)
28var documentId = document.Id; 82var documentId = solution.GetDocumentId(navigationLocation.SourceTree);
NavigationBar\IRemoteNavigationBarItemService.cs (1)
16Checksum solutionChecksum, DocumentId documentId, bool supportsCodeGeneration, bool forceFrozenPartialSemanticsForCrossProcessOperations, CancellationToken cancellationToken);
NavigationBar\NavigationBarItems\RoslynNavigationBarItem.SymbolItem.cs (2)
77public readonly (DocumentId documentId, TextSpan navigationSpan)? OtherDocumentInfo; 81(DocumentId documentId, TextSpan navigationSpan)? otherDocumentInfo)
PdbSourceDocument\PdbSourceDocumentMetadataAsSourceFileProvider.cs (3)
347var documentId = DocumentId.CreateNewId(projectId); 436internal record struct SourceDocumentInfo(DocumentId DocumentId, Encoding Encoding, SourceHashAlgorithm ChecksumAlgorithm, ProjectId SourceProjectId, Workspace SourceWorkspace, DocumentInfo DocumentInfo);
QuickInfo\CommonSemanticQuickInfoProvider.cs (3)
61ImmutableArray<DocumentId> linkedDocumentIds) 81var candidateResults = new List<(DocumentId docId, TokenInformation tokenInformation)> 86foreach (var linkedDocumentId in linkedDocumentIds)
Rename\IRefactorNotifyService.cs (2)
23bool TryOnBeforeGlobalSymbolRenamed(Workspace workspace, IEnumerable<DocumentId> changedDocumentIDs, ISymbol symbol, string newName, bool throwOnFailure); 33bool TryOnAfterGlobalSymbolRenamed(Workspace workspace, IEnumerable<DocumentId> changedDocumentIDs, ISymbol symbol, string newName, bool throwOnFailure);
ReplaceMethodWithProperty\ReplaceMethodWithPropertyCodeRefactoringProvider.cs (8)
325foreach (var documentId in documentIds) 343DocumentId documentId, 344MultiDictionary<DocumentId, IMethodSymbol>.ValueSet originalGetDefinitions, 345MultiDictionary<DocumentId, IMethodSymbol>.ValueSet originalSetDefinitions, 400DocumentId documentId, 401MultiDictionary<DocumentId, IMethodSymbol>.ValueSet originalDefinitions, 445private static async Task<MultiDictionary<DocumentId, IMethodSymbol>> GetDefinitionsByDocumentIdAsync( 450var result = new MultiDictionary<DocumentId, IMethodSymbol>();
ReplacePropertyWithMethods\ReplacePropertyWithMethodsCodeRefactoringProvider.cs (6)
315private static async Task<MultiDictionary<DocumentId, IPropertySymbol>> GetDefinitionsByDocumentIdAsync( 320var result = new MultiDictionary<DocumentId, IPropertySymbol>(); 345DocumentId documentId, 346MultiDictionary<DocumentId, IPropertySymbol>.ValueSet originalDefinitions, 396DocumentId documentId, 397MultiDictionary<DocumentId, IPropertySymbol>.ValueSet originalDefinitions,
SemanticSearch\IRemoteSemanticSearchService.cs (3)
29ValueTask OnDocumentUpdatedAsync(RemoteServiceCallbackId callbackId, DocumentId documentId, ImmutableArray<TextChange> changes, CancellationToken cancellationToken); 61public ValueTask OnDocumentUpdatedAsync(RemoteServiceCallbackId callbackId, DocumentId documentId, ImmutableArray<TextChange> changes, CancellationToken cancellationToken) 130public async ValueTask OnDocumentUpdatedAsync(DocumentId documentId, ImmutableArray<TextChange> changes, CancellationToken cancellationToken)
SemanticSearch\ISemanticSearchResultsObserver.cs (1)
25ValueTask OnDocumentUpdatedAsync(DocumentId documentId, ImmutableArray<TextChange> changes, CancellationToken cancellationToken);
SemanticSearch\ISemanticSearchSolutionService.cs (2)
12DocumentId GetQueryDocumentId(Solution solution); 28(WorkspaceChangeKind changeKind, ProjectId? projectId, DocumentId? documentId) GetWorkspaceChangeKind(Solution oldSolution, Solution newSolution);
Shared\Extensions\DocumentExtensions.cs (2)
62foreach (var linkedDocumentId in document.GetLinkedDocumentIds()) 82foreach (var linkedDocumentId in document.GetLinkedDocumentIds())
Shared\Utilities\AnnotatedSymbolMapping.cs (4)
18ImmutableDictionary<DocumentId, ImmutableArray<ISymbol>> documentIdsToSymbolMap, 35public ImmutableDictionary<DocumentId, ImmutableArray<ISymbol>> DocumentIdsToSymbolMap { get; } = documentIdsToSymbolMap; 55using var _2 = PooledDictionary<DocumentId, List<ISymbol>>.GetInstance(out var documentIdToSymbolsMap); 71var id = solution.GetRequiredDocument(tree).Id;
Shared\Utilities\ExtractTypeHelpers.cs (2)
60var newDocumentId = DocumentId.CreateNewId(projectId, debugName: fileName);
SolutionExplorer\ISolutionExplorerSymbolTreeItemProvider.cs (8)
17ImmutableArray<SymbolTreeItemData> GetItems(DocumentId documentId, SyntaxNode declarationNode, bool includeNamespaces, CancellationToken cancellationToken); 69protected abstract bool TryAddType(DocumentId documentId, TMemberDeclarationSyntax member, ArrayBuilder<SymbolTreeItemData> items, StringBuilder nameBuilder); 70protected abstract void AddNamespace(DocumentId documentId, TNamespaceDeclarationSyntax namespaceMember, ArrayBuilder<SymbolTreeItemData> items, StringBuilder nameBuilder); 71protected abstract void AddMemberDeclaration(DocumentId documentId, TMemberDeclarationSyntax member, ArrayBuilder<SymbolTreeItemData> items, StringBuilder nameBuilder); 72protected abstract void AddEnumDeclarationMembers(DocumentId documentId, TEnumDeclarationSyntax enumDeclaration, ArrayBuilder<SymbolTreeItemData> items, CancellationToken cancellationToken); 76protected virtual void AddMemberStatement(DocumentId documentId, TMemberStatement statement, ArrayBuilder<SymbolTreeItemData> items, StringBuilder nameBuilder) { } 78public ImmutableArray<SymbolTreeItemData> GetItems(DocumentId documentId, SyntaxNode node, bool returnNamespaces, CancellationToken cancellationToken) 162DocumentId documentId,
SolutionExplorer\SymbolTreeItemData.cs (2)
8DocumentId DocumentId, 22DocumentId documentId,
src\roslyn\src\Analyzers\Core\CodeFixes\AddParameter\AddParameterService.cs (1)
179var documentId = documentsUpdated.Single().Id;
src\roslyn\src\Analyzers\Core\CodeFixes\UseAutoProperty\AbstractUseAutoPropertyCodeFixProvider.cs (4)
160var linkedFiles = new HashSet<DocumentId>(); 314HashSet<DocumentId> linkedDocuments, 320var canEditMap = new Dictionary<DocumentId, bool>(); 378bool CanEditDocument(DocumentId documentId)
src\roslyn\src\Analyzers\Core\CodeFixes\UseAutoProperty\UseAutoPropertyFixAllProvider.cs (2)
62var documentsIdsAndNewRoots = await ProducerConsumer<(DocumentId documentId, SyntaxNode newRoot)>.RunParallelAsync( 80foreach (var changedDocumentId in originalSolution.GetChangedDocuments(currentSolution))
StackTraceExplorer\StackTraceExplorerService.cs (1)
88var documentId = solution.GetDocumentIdsWithFilePath(fileName).FirstOrDefault();
ValueTracking\IValueTrackingService.cs (1)
21ValueTask<ImmutableArray<SerializableValueTrackedItem>> TrackValueSourceAsync(Checksum solutionChecksum, TextSpan selection, DocumentId document, CancellationToken cancellationToken);
ValueTracking\SerializableValueTrackedItem.cs (2)
17DocumentId documentId, 27public DocumentId DocumentId { get; } = documentId;
ValueTracking\ValueTrackedItem.cs (2)
17public DocumentId DocumentId { get; } 26DocumentId documentId,
Workspace\MiscellaneousFileUtilities.cs (2)
72var documentId = DocumentId.CreateNewId(projectId, debugName: filePath);
Microsoft.CodeAnalysis.VisualBasic.Features (20)
CodeRefactorings\SyncNamespace\VisualBasicChangeNamespaceService.vb (2)
70Protected Overrides Function GetValidContainersFromAllLinkedDocumentsAsync(document As Document, container As SyntaxNode, cancellationToken As CancellationToken) As Task(Of ImmutableArray(Of (DocumentId, SyntaxNode))) 71Return SpecializedTasks.Default(Of ImmutableArray(Of (DocumentId, SyntaxNode)))()
ExtractInterface\VisualBasicExtractInterfaceService.vb (5)
81Private Shared Function CreateFinalSolution(solutionWithInterfaceDocument As Solution, documentIds As IEnumerable(Of DocumentId), docToRootMap As Dictionary(Of DocumentId, CompilationUnitSyntax)) As Solution 101unformattedSolution As Solution, documentIds As IReadOnlyList(Of DocumentId), extractedInterfaceSymbol As INamedTypeSymbol, 105Dim docToRootMap = New Dictionary(Of DocumentId, CompilationUnitSyntax) 117Dim currentDocId As DocumentId = Nothing
SolutionExplorer\VisualBasicSolutionExplorerSymbolTreeItemProvider.vb (13)
44Protected Overrides Sub AddNamespace(documentId As DocumentId, namespaceBlock As NamespaceBlockSyntax, items As ArrayBuilder(Of SymbolTreeItemData), nameBuilder As StringBuilder) 57Protected Overrides Function TryAddType(documentId As DocumentId, member As StatementSyntax, items As ArrayBuilder(Of SymbolTreeItemData), nameBuilder As StringBuilder) As Boolean 79Private Shared Sub AddTypeBlock(documentId As DocumentId, typeBlock As TypeBlockSyntax, items As ArrayBuilder(Of SymbolTreeItemData), nameBuilder As StringBuilder) 97Private Shared Sub AddEnumBlock(documentId As DocumentId, enumBlock As EnumBlockSyntax, items As ArrayBuilder(Of SymbolTreeItemData)) 108Private Shared Sub AddDelegateStatement(documentId As DocumentId, delegateStatement As DelegateStatementSyntax, items As ArrayBuilder(Of SymbolTreeItemData), nameBuilder As StringBuilder) 124Protected Overrides Sub AddEnumDeclarationMembers(documentId As DocumentId, enumDeclaration As EnumBlockSyntax, items As ArrayBuilder(Of SymbolTreeItemData), cancellationToken As CancellationToken) 137Protected Overrides Sub AddMemberDeclaration(documentId As DocumentId, member As StatementSyntax, items As ArrayBuilder(Of SymbolTreeItemData), nameBuilder As StringBuilder) 176Private Shared Sub AddMethodStatement(documentId As DocumentId, container As SyntaxNode, methodStatement As MethodStatementSyntax, items As ArrayBuilder(Of SymbolTreeItemData), nameBuilder As StringBuilder) 199Private Shared Sub AddConstructorStatement(documentId As DocumentId, container As SyntaxNode, constructorStatement As SubNewStatementSyntax, items As ArrayBuilder(Of SymbolTreeItemData), nameBuilder As StringBuilder) 213Private Shared Sub AddOperatorStatement(documentId As DocumentId, container As SyntaxNode, operatorStatement As OperatorStatementSyntax, items As ArrayBuilder(Of SymbolTreeItemData), nameBuilder As StringBuilder) 229Private Shared Sub AddPropertyStatement(documentId As DocumentId, container As SyntaxNode, propertystatement As PropertyStatementSyntax, items As ArrayBuilder(Of SymbolTreeItemData), nameBuilder As StringBuilder) 244Private Shared Sub AddEventStatement(documentId As DocumentId, container As SyntaxNode, eventStatement As EventStatementSyntax, items As ArrayBuilder(Of SymbolTreeItemData), nameBuilder As StringBuilder) 259documentId As DocumentId,
Microsoft.CodeAnalysis.VisualBasic.Workspaces (1)
Rename\VisualBasicRenameRewriterLanguageService.vb (1)
40Private ReadOnly _documentId As DocumentId
Microsoft.CodeAnalysis.Workspaces (832)
Classification\IRemoteSemanticClassificationService.cs (1)
32DocumentId documentId,
CodeActions\CodeAction_Cleanup.cs (6)
74internal static ImmutableArray<DocumentId> GetAllChangedOrAddedDocumentIds( 126async Task<ImmutableArray<(DocumentId documentId, CodeCleanupOptions codeCleanupOptions)>> GetDocumentIdsAndOptionsToCleanAsync() 128using var _ = ArrayBuilder<(DocumentId documentId, CodeCleanupOptions options)>.GetInstance(documentIds.Length, out var documentIdsAndOptions); 129foreach (var documentId in documentIds) 165ImmutableArray<(DocumentId documentId, CodeCleanupOptions options)> documentIdsAndOptions, 187var changedRoots = await ProducerConsumer<(DocumentId documentId, SyntaxNode newRoot)>.RunParallelAsync(
CodeActions\Operations\ApplyChangesOperation.cs (1)
125foreach (var documentId in changedDocuments)
CodeActions\Operations\OpenDocumentOperation.cs (2)
13public sealed class OpenDocumentOperation(DocumentId documentId, bool activateIfAlreadyOpen = false) : CodeActionOperation 15public DocumentId DocumentId { get; } = documentId ?? throw new ArgumentNullException(nameof(documentId));
CodeFixes\FixAllOccurrences\BatchFixAllProvider.cs (6)
50var docIdToTextMerger = new Dictionary<DocumentId, TextChangeMerger>(); 77FixAllContext fixAllContext, IProgress<CodeAnalysisProgress> progressTracker, Dictionary<DocumentId, TextChangeMerger> docIdToTextMerger) 109Dictionary<DocumentId, TextChangeMerger> docIdToTextMerger, 199Dictionary<DocumentId, TextChangeMerger> docIdToTextMerger) 209var docId = group.Key; 253ImmutableArray<(DocumentId documentId, TextChangeMerger merger)> docIdsAndMerger,
CodeFixesAndRefactorings\DocumentBasedFixAllProviderHelpers.cs (1)
67var changedRootsAndTexts = await ProducerConsumer<(DocumentId documentId, (SyntaxNode? node, SourceText? text))>.RunParallelAsync(
Diagnostics\DiagnosticAnalysisResult.cs (18)
29private readonly ImmutableDictionary<DocumentId, ImmutableArray<DiagnosticData>> _syntaxLocals; 34private readonly ImmutableDictionary<DocumentId, ImmutableArray<DiagnosticData>> _semanticLocals; 39private readonly ImmutableDictionary<DocumentId, ImmutableArray<DiagnosticData>> _nonLocals; 48ImmutableDictionary<DocumentId, ImmutableArray<DiagnosticData>> syntaxLocals, 49ImmutableDictionary<DocumentId, ImmutableArray<DiagnosticData>> semanticLocals, 50ImmutableDictionary<DocumentId, ImmutableArray<DiagnosticData>> nonLocals, 70syntaxLocals: ImmutableDictionary<DocumentId, ImmutableArray<DiagnosticData>>.Empty, 71semanticLocals: ImmutableDictionary<DocumentId, ImmutableArray<DiagnosticData>>.Empty, 72nonLocals: ImmutableDictionary<DocumentId, ImmutableArray<DiagnosticData>>.Empty, 78ImmutableDictionary<DocumentId, ImmutableArray<DiagnosticData>> syntaxLocalMap, 79ImmutableDictionary<DocumentId, ImmutableArray<DiagnosticData>> semanticLocalMap, 80ImmutableDictionary<DocumentId, ImmutableArray<DiagnosticData>> nonLocalMap, 105private ImmutableDictionary<DocumentId, ImmutableArray<DiagnosticData>>? GetMap(AnalysisKind kind) 132public ImmutableArray<DiagnosticData> GetDocumentDiagnostics(DocumentId documentId, AnalysisKind kind) 151semanticLocals: ImmutableDictionary<DocumentId, ImmutableArray<DiagnosticData>>.Empty, 152nonLocals: ImmutableDictionary<DocumentId, ImmutableArray<DiagnosticData>>.Empty, 156private static void VerifyDocumentMap(Project project, ImmutableDictionary<DocumentId, ImmutableArray<DiagnosticData>> map) 158foreach (var documentId in map.Keys)
Diagnostics\DiagnosticAnalysisResultBuilder.cs (19)
23private Dictionary<DocumentId, List<DiagnosticData>>? _lazySyntaxLocals = null; 24private Dictionary<DocumentId, List<DiagnosticData>>? _lazySemanticLocals = null; 25private Dictionary<DocumentId, List<DiagnosticData>>? _lazyNonLocals = null; 29public readonly ImmutableDictionary<DocumentId, ImmutableArray<DiagnosticData>> SyntaxLocals => Convert(_lazySyntaxLocals); 30public readonly ImmutableDictionary<DocumentId, ImmutableArray<DiagnosticData>> SemanticLocals => Convert(_lazySemanticLocals); 31public readonly ImmutableDictionary<DocumentId, ImmutableArray<DiagnosticData>> NonLocals => Convert(_lazyNonLocals); 34public void AddExternalSyntaxDiagnostics(DocumentId documentId, ImmutableArray<Diagnostic> diagnostics) 39public void AddExternalSemanticDiagnostics(DocumentId documentId, ImmutableArray<Diagnostic> diagnostics) 48ref Dictionary<DocumentId, List<DiagnosticData>>? lazyLocals, DocumentId documentId, ImmutableArray<Diagnostic> diagnostics) 57var diagnosticDocumentId = Project.GetDocumentForExternalLocation(diagnostic.Location); 93private static void AddDocumentDiagnostic(ref Dictionary<DocumentId, List<DiagnosticData>>? map, TextDocument document, Diagnostic diagnostic) 119Dictionary<DocumentId, List<DiagnosticData>>? dummy = null; 127ref Dictionary<DocumentId, List<DiagnosticData>>? lazyLocals, SyntaxTree? tree, Diagnostic diagnostic) 133var diagnosticDocumentId = Project.GetDocumentForExternalLocation(diagnostic.Location); 180ref Dictionary<DocumentId, List<DiagnosticData>>? lazyLocals, SyntaxTree? tree, ImmutableArray<Diagnostic> diagnostics) 186private static ImmutableDictionary<DocumentId, ImmutableArray<DiagnosticData>> Convert(Dictionary<DocumentId, List<DiagnosticData>>? map) 189? ImmutableDictionary<DocumentId, ImmutableArray<DiagnosticData>>.Empty
Diagnostics\DiagnosticData.cs (2)
111public DocumentId? DocumentId => DataLocation.DocumentId; 304var textDocumentId = document.Project.GetDocumentForExternalLocation(location);
Diagnostics\DiagnosticDataLocation.cs (5)
29public readonly DocumentId? DocumentId; 41DocumentId? documentId, 51DocumentId? documentId = null) 58DocumentId? documentId, 114DocumentId? documentId,
Diagnostics\Extensions.cs (3)
205var additionalDocumentId = project.GetDocumentForFile(file); 250DocumentId? additionalDocumentId, 266DocumentId? additionalDocumentId,
Diagnostics\IRemoteDiagnosticAnalyzerService.cs (2)
25DocumentId documentId, 34ImmutableArray<DocumentId> documentIds,
Diagnostics\IWorkspaceVenusSpanMappingService.cs (1)
18void GetAdjustedDiagnosticSpan(DocumentId documentId, Location location, out TextSpan span, out FileLinePositionSpan originalLineInfo, out FileLinePositionSpan mappedLineInfo);
Editing\SolutionEditor.cs (3)
18private readonly Dictionary<DocumentId, DocumentEditor> _documentEditors = []; 26/// Gets the <see cref="DocumentEditor"/> for the corresponding <see cref="DocumentId"/>. 28public async Task<DocumentEditor> GetDocumentEditorAsync(DocumentId id, CancellationToken cancellationToken = default)
Editing\SymbolEditor.cs (5)
73foreach (var id in projectChanges.GetAddedDocuments()) 78foreach (var id in projectChanges.GetChangedDocuments()) 86foreach (var id in project.DocumentIds) 362DocumentId documentId, 464var docId = declGroup.Key;
FindSymbols\FindReferences\DependentTypeFinder.cs (2)
243async ValueTask<SemanticModel> GetRequiredSemanticModelAsync(DocumentId documentId) 253MultiDictionary<DocumentId, DeclaredSymbolInfo> documentToInfos,
FindSymbols\FindReferences\DependentTypeFinder_ProjectIndex.cs (15)
19MultiDictionary<DocumentId, DeclaredSymbolInfo> classesAndRecordsThatMayDeriveFromSystemObject, 20MultiDictionary<DocumentId, DeclaredSymbolInfo> valueTypes, 21MultiDictionary<DocumentId, DeclaredSymbolInfo> enums, 22MultiDictionary<DocumentId, DeclaredSymbolInfo> delegates, 23MultiDictionary<string, (DocumentId, DeclaredSymbolInfo)> namedTypes) 36public readonly MultiDictionary<DocumentId, DeclaredSymbolInfo> ClassesAndRecordsThatMayDeriveFromSystemObject = classesAndRecordsThatMayDeriveFromSystemObject; 37public readonly MultiDictionary<DocumentId, DeclaredSymbolInfo> ValueTypes = valueTypes; 38public readonly MultiDictionary<DocumentId, DeclaredSymbolInfo> Enums = enums; 39public readonly MultiDictionary<DocumentId, DeclaredSymbolInfo> Delegates = delegates; 40public readonly MultiDictionary<string, (DocumentId, DeclaredSymbolInfo)> NamedTypes = namedTypes; 69var classesThatMayDeriveFromSystemObject = new MultiDictionary<DocumentId, DeclaredSymbolInfo>(); 70var valueTypes = new MultiDictionary<DocumentId, DeclaredSymbolInfo>(); 71var enums = new MultiDictionary<DocumentId, DeclaredSymbolInfo>(); 72var delegates = new MultiDictionary<DocumentId, DeclaredSymbolInfo>(); 74var namedTypes = new MultiDictionary<string, (DocumentId, DeclaredSymbolInfo)>(
FindSymbols\IRemoteSymbolFinderService.cs (2)
27ValueTask OnLiteralReferenceFoundAsync(RemoteServiceCallbackId callbackId, DocumentId documentId, TextSpan span, CancellationToken cancellationToken); 30ValueTask FindReferencesAsync(Checksum solutionChecksum, RemoteServiceCallbackId callbackId, SerializableSymbolAndProjectId symbolAndProjectIdArg, ImmutableArray<DocumentId> documentArgs,
FindSymbols\ReferenceLocation.cs (1)
118EqualityComparer<DocumentId>.Default.Equals(this.Document.Id, other.Document.Id) &&
FindSymbols\Shared\AbstractSyntaxIndex.cs (1)
22private static readonly ConditionalWeakTable<DocumentId, TIndex?> s_documentIdToIndex = new();
FindSymbols\SymbolFinder.CallbackDispatcher.cs (1)
61public ValueTask OnLiteralReferenceFoundAsync(RemoteServiceCallbackId callbackId, DocumentId documentId, TextSpan span, CancellationToken cancellationToken)
FindSymbols\SymbolFinder.cs (1)
204foreach (var linkedDocumentId in originalDocument.GetLinkedDocumentIds())
FindSymbols\SymbolFinder.FindLiteralsServerCallback.cs (1)
24public async ValueTask OnLiteralReferenceFoundAsync(DocumentId documentId, TextSpan span, CancellationToken cancellationToken)
Formatting\Rules\DefaultFormattingRuleFactoryServiceFactory.cs (3)
22public bool ShouldNotFormatOrCommitOnPaste(DocumentId documentId) 25public bool ShouldUseBaseIndentation(DocumentId documentId) 31public IEnumerable<TextChange> FilterFormattedChanges(DocumentId document, TextSpan span, IList<TextChange> changes)
Formatting\Rules\IHostDependentFormattingRuleFactoryService.cs (3)
13bool ShouldNotFormatOrCommitOnPaste(DocumentId documentId); 14bool ShouldUseBaseIndentation(DocumentId documentId); 16IEnumerable<TextChange> FilterFormattedChanges(DocumentId documentId, TextSpan span, IList<TextChange> changes);
LinkedFileDiffMerging\LinkedFileDiffMergingSession.cs (1)
27foreach (var documentId in solutionChanges.GetProjectChanges().SelectMany(p => p.GetChangedDocuments()))
LinkedFileDiffMerging\LinkedFileMergeResult.cs (2)
10internal readonly struct LinkedFileMergeResult(ImmutableArray<DocumentId> documentIds, SourceText mergedSourceText, ImmutableArray<TextSpan> mergeConflictResolutionSpans) 12public readonly ImmutableArray<DocumentId> DocumentIds = documentIds;
LinkedFileDiffMerging\LinkedFileMergeSessionResult.cs (2)
16public readonly Dictionary<DocumentId, ImmutableArray<TextSpan>> MergeConflictCommentSpans = []; 24foreach (var documentId in fileMergeResult.DocumentIds)
LinkedFileDiffMerging\UnmergedDocumentChanges.cs (2)
10internal readonly struct UnmergedDocumentChanges(ImmutableArray<TextChange> unmergedChanges, string projectName, DocumentId documentId) 14public readonly DocumentId DocumentId = documentId;
Packaging\IPackageInstallerService.cs (1)
22Workspace workspace, DocumentId documentId,
Remote\RemoteArguments.cs (2)
130DocumentId document, 139public readonly DocumentId Document = document;
Remote\RemoteUtilities.cs (5)
24public static async ValueTask<ImmutableArray<(DocumentId, ImmutableArray<TextChange>)>> GetDocumentTextChangesAsync( 29using var _ = ArrayBuilder<(DocumentId, ImmutableArray<TextChange>)>.GetInstance(out var builder); 34foreach (var docId in projectChange.GetChangedDocuments()) 43foreach (var docId in solutionChanges.GetExplicitlyChangedSourceGeneratedDocuments()) 60ImmutableArray<(DocumentId documentId, ImmutableArray<TextChange> textChanges)> documentTextChanges,
Rename\ConflictEngine\ConflictResolver.Session.cs (17)
36private readonly DocumentId _documentIdOfRenameSymbolDeclaration; 74public readonly DocumentId DocumentId; 114var documentIdsThatGetsAnnotatedAndRenamed = new HashSet<DocumentId>(documentsByProject); 262private async Task DebugVerifyNoErrorsAsync(MutableConflictResolution conflictResolution, IEnumerable<DocumentId> documents) 264var documentIdErrorStateLookup = new Dictionary<DocumentId, bool>(); 268foreach (var documentId in documents) 286foreach (var documentId in documents) 307HashSet<DocumentId> documentIdsForConflictResolution, 308IEnumerable<DocumentId> allDocumentIdsInProject, 325foreach (var documentId in documentIdsForConflictResolution) 350foreach (var documentId in documentIdsForConflictResolution) 443foreach (var unprocessedDocumentIdWithPotentialDeclarationConflicts in allDocumentIdsInProject.Where(d => !documentIdsForConflictResolution.Contains(d))) 681private async Task<(ImmutableHashSet<DocumentId> documentIds, ImmutableArray<string> possibleNameConflicts)> FindDocumentsAndPossibleNameConflictsAsync() 685var documentIds = new HashSet<DocumentId>(); 713HashSet<DocumentId> documentIds, 759HashSet<DocumentId> documentIdsToRename, 770foreach (var documentId in documentIdsToRename.ToList())
Rename\ConflictEngine\MutableConflictResolution.cs (6)
51private (DocumentId documentId, string newName) _renamedDocument; 53internal void ClearDocuments(IEnumerable<DocumentId> conflictLocationDocumentIds) 64IEnumerable<DocumentId> documentWithRenameAnnotations, 68foreach (var documentId in documentWithRenameAnnotations) 129public int GetAdjustedTokenStartingPosition(int startingPosition, DocumentId documentId) 176internal static async ValueTask<Solution> WithDocumentSyntaxRootAsync(Solution solution, DocumentId documentId, SyntaxNode newRoot, CancellationToken cancellationToken)
Rename\ConflictEngine\RelatedLocation.cs (1)
24[property: DataMember(Order = 1)] DocumentId DocumentId,
Rename\ConflictEngine\RenamedSpansTracker.cs (15)
25private readonly Dictionary<DocumentId, List<(TextSpan oldSpan, TextSpan newSpan)>> _documentToModifiedSpansMap = []; 26private readonly Dictionary<DocumentId, List<MutableComplexifiedSpan>> _documentToComplexifiedSpansMap = []; 28internal bool IsDocumentChanged(DocumentId documentId) 31internal void AddModifiedSpan(DocumentId documentId, TextSpan oldSpan, TextSpan newSpan) 42internal void AddComplexifiedSpan(DocumentId documentId, TextSpan oldSpan, TextSpan newSpan, List<(TextSpan oldSpan, TextSpan newSpan)> modifiedSubSpans) 54internal int GetAdjustedPosition(int startingPosition, DocumentId documentId) 129internal void ClearDocuments(IEnumerable<DocumentId> conflictLocationDocumentIds) 131foreach (var documentId in conflictLocationDocumentIds) 138public IEnumerable<DocumentId> DocumentIds 148IEnumerable<DocumentId> documentIds, 153foreach (var documentId in documentIds) 232public ImmutableDictionary<DocumentId, ImmutableArray<(TextSpan oldSpan, TextSpan newSpan)>> GetDocumentToModifiedSpansMap() 234var builder = ImmutableDictionary.CreateBuilder<DocumentId, ImmutableArray<(TextSpan oldSpan, TextSpan newSpan)>>(); 242public ImmutableDictionary<DocumentId, ImmutableArray<ComplexifiedSpan>> GetDocumentToComplexifiedSpansMap() 244var builder = ImmutableDictionary.CreateBuilder<DocumentId, ImmutableArray<ComplexifiedSpan>>();
Rename\ConflictResolution.cs (17)
31private readonly (DocumentId documentId, string newName)? _renamedDocument; 45public readonly ImmutableArray<DocumentId> DocumentIds; 49private readonly ImmutableDictionary<DocumentId, ImmutableArray<(TextSpan oldSpan, TextSpan newSpan)>> _documentToModifiedSpansMap; 50private readonly ImmutableDictionary<DocumentId, ImmutableArray<ComplexifiedSpan>> _documentToComplexifiedSpansMap; 51private readonly ImmutableDictionary<DocumentId, ImmutableArray<RelatedLocation>> _documentToRelatedLocationsMap; 65_documentToModifiedSpansMap = ImmutableDictionary<DocumentId, ImmutableArray<(TextSpan oldSpan, TextSpan newSpan)>>.Empty; 66_documentToComplexifiedSpansMap = ImmutableDictionary<DocumentId, ImmutableArray<ComplexifiedSpan>>.Empty; 67_documentToRelatedLocationsMap = ImmutableDictionary<DocumentId, ImmutableArray<RelatedLocation>>.Empty; 74(DocumentId documentId, string newName) renamedDocument, 75ImmutableArray<DocumentId> documentIds, ImmutableArray<RelatedLocation> relatedLocations, 76ImmutableDictionary<DocumentId, ImmutableArray<(TextSpan oldSpan, TextSpan newSpan)>> documentToModifiedSpansMap, 77ImmutableDictionary<DocumentId, ImmutableArray<ComplexifiedSpan>> documentToComplexifiedSpansMap, 78ImmutableDictionary<DocumentId, ImmutableArray<RelatedLocation>> documentToRelatedLocationsMap) 98public ImmutableArray<(TextSpan oldSpan, TextSpan newSpan)> GetComplexifiedSpans(DocumentId documentId) 103public ImmutableDictionary<TextSpan, TextSpan> GetModifiedSpanMap(DocumentId documentId) 124public ImmutableArray<RelatedLocation> GetRelatedLocationsForDocument(DocumentId documentId) 129internal TextSpan GetResolutionTextSpan(TextSpan originalSpan, DocumentId documentId)
Rename\IRemoteRenamerService.cs (14)
51DocumentId documentId, 62public readonly DocumentId DocumentId = documentId; 209(DocumentId documentId, string newName) renamedDocument, 210ImmutableArray<DocumentId> documentIds, 212ImmutableArray<(DocumentId, ImmutableArray<TextChange>)> documentTextChanges, 213ImmutableDictionary<DocumentId, ImmutableArray<(TextSpan oldSpan, TextSpan newSpan)>> documentToModifiedSpansMap, 214ImmutableDictionary<DocumentId, ImmutableArray<ComplexifiedSpan>> documentToComplexifiedSpansMap, 215ImmutableDictionary<DocumentId, ImmutableArray<RelatedLocation>> documentToRelatedLocationsMap) 221public readonly (DocumentId documentId, string newName) RenamedDocument = renamedDocument; 224public readonly ImmutableArray<DocumentId> DocumentIds = documentIds; 230public readonly ImmutableArray<(DocumentId, ImmutableArray<TextChange>)> DocumentTextChanges = documentTextChanges; 233public readonly ImmutableDictionary<DocumentId, ImmutableArray<(TextSpan oldSpan, TextSpan newSpan)>> DocumentToModifiedSpansMap = documentToModifiedSpansMap; 236public readonly ImmutableDictionary<DocumentId, ImmutableArray<ComplexifiedSpan>> DocumentToComplexifiedSpansMap = documentToComplexifiedSpansMap; 239public readonly ImmutableDictionary<DocumentId, ImmutableArray<RelatedLocation>> DocumentToRelatedLocationsMap = documentToRelatedLocationsMap;
Rename\LightweightRenameLocations.cs (1)
128public LightweightRenameLocations Filter(Func<DocumentId, TextSpan, bool> filter)
Rename\RenameLocation.cs (3)
13DocumentId documentId, 21public readonly DocumentId DocumentId = documentId; 30public RenameLocation(ReferenceLocation referenceLocation, DocumentId documentId)
Rename\Renamer.RenameDocumentActionSet.cs (3)
28private readonly DocumentId _documentId; 35DocumentId documentId, 92var documentId = document.Id;
Shared\Extensions\ISolutionExtensions.cs (2)
39public static TextDocumentKind? GetDocumentKind(this Solution solution, DocumentId documentId) 42public static Solution WithTextDocumentText(this Solution solution, DocumentId documentId, SourceText text, PreservationMode mode = PreservationMode.PreserveIdentity)
Shared\Extensions\ProjectExtensions.cs (9)
19public static TextDocument? GetTextDocument(this Project project, DocumentId? documentId) 22internal static DocumentId? GetDocumentForExternalLocation(this Project project, Location location) 28internal static DocumentId? GetDocumentForFile(this Project project, AdditionalText additionalText) 31private static DocumentId? GetDocumentIdWithFilePath(this Project project, string filePath) 34public static Document GetRequiredDocument(this Project project, DocumentId documentId) 40public static TextDocument GetRequiredAdditionalDocument(this Project project, DocumentId documentId) 43public static TextDocument GetRequiredAnalyzerConfigDocument(this Project project, DocumentId documentId) 46public static TextDocument GetRequiredTextDocument(this Project project, DocumentId documentId) 49public static async ValueTask<Document> GetRequiredSourceGeneratedDocumentAsync(this Project project, DocumentId documentId, CancellationToken cancellationToken)
SourceGeneration\IRemoteSourceGenerationService.cs (1)
47Checksum solutionChecksum, ProjectId projectId, ImmutableArray<DocumentId> documentIds, bool withFrozenSourceGeneratedDocuments, CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeFixes\MultiProjectSafeFixAllProvider.cs (3)
40using var _ = PooledDictionary<DocumentId, ImmutableArray<DocumentId>>.GetInstance(out var documentToLinkedDocuments); 89foreach (var linkedDocumentId in linkedDocumentIds)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\DocumentExtensions.cs (1)
230foreach (var linkedDocumentId in document.GetLinkedDocumentIds())
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\ISolutionExtensions.cs (16)
17public static IEnumerable<DocumentId> GetChangedDocuments(this Solution? newSolution, Solution oldSolution) 25foreach (var documentId in projectChanges.GetChangedDocuments()) 33public static TextDocument? GetTextDocument(this Solution solution, DocumentId? documentId) 50public static Document GetRequiredDocument(this Solution solution, DocumentId documentId) 70/// Returns the <see cref="SourceGeneratedDocument"/> for the given <see cref="DocumentId"/> if it exists and has been generated. 77public static SourceGeneratedDocument GetRequiredSourceGeneratedDocumentForAlreadyGeneratedId(this Solution solution, DocumentId documentId) 90public static ValueTask<Document> GetRequiredDocumentAsync(this Solution solution, DocumentId documentId, CancellationToken cancellationToken) 93public static async ValueTask<Document> GetRequiredDocumentAsync(this Solution solution, DocumentId documentId, bool includeSourceGenerated, CancellationToken cancellationToken) 96public static async ValueTask<TextDocument> GetRequiredTextDocumentAsync(this Solution solution, DocumentId documentId, CancellationToken cancellationToken = default) 100public static TextDocument GetRequiredAdditionalDocument(this Solution solution, DocumentId documentId) 103public static TextDocument GetRequiredAnalyzerConfigDocument(this Solution solution, DocumentId documentId) 106public static TextDocument GetRequiredTextDocument(this Solution solution, DocumentId documentId) 114throw new InvalidOperationException($"Use {nameof(GetRequiredTextDocumentAsync)} to get the {nameof(TextDocument)} for a `.{nameof(DocumentId.IsSourceGenerated)}=true` {nameof(DocumentId)}"); 120public static Exception CreateDocumentNotFoundException(DocumentId? documentId) 161var documentId = solution.GetDocumentIdsWithFilePath(location.GetLineSpan().Path).FirstOrDefault();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Rename\Annotations\RenameDeclarationLocationReference.cs (2)
18public readonly DocumentId DocumentId; 36public RenameDeclarationLocationReference(DocumentId documentId, TextSpan textSpan, bool overriddenFromMetadata, int declaringSyntaxReferencesCount)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\SemanticModelReuse\SemanticModelWorkspaceServiceFactory.SemanticModelWorkspaceService.cs (8)
59private ImmutableDictionary<DocumentId, SemanticModelReuseInfo?> _semanticModelMap = ImmutableDictionary<DocumentId, SemanticModelReuseInfo?>.Empty; 82_semanticModelMap = ImmutableDictionary<DocumentId, SemanticModelReuseInfo?>.Empty; 137private static async Task<ImmutableDictionary<DocumentId, SemanticModelReuseInfo?>> ComputeUpdatedMapAsync( 138ImmutableDictionary<DocumentId, SemanticModelReuseInfo?> map, Document document, SyntaxNode bodyNode, CancellationToken cancellationToken) 159var builder = ImmutableDictionary.CreateBuilder<DocumentId, SemanticModelReuseInfo?>(); 164foreach (var linkedId in linkedIds) 175ImmutableDictionary<DocumentId, SemanticModelReuseInfo?> map,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Utilities\ParsedDocument.cs (1)
24internal readonly record struct ParsedDocument(DocumentId Id, SourceText Text, SyntaxNode Root, HostLanguageServices HostLanguageServices)
TaskList\IRemoteTaskListService.cs (1)
17ValueTask<ImmutableArray<TaskListItem>> GetTaskListItemsAsync(Checksum solutionChecksum, DocumentId documentId, ImmutableArray<TaskListItemDescriptor> descriptors, CancellationToken cancellationToken);
TaskList\TaskListItem.cs (1)
16[property: DataMember(Order = 2)] DocumentId DocumentId,
Workspace\AdhocWorkspace.cs (8)
125var id = DocumentId.CreateNewId(projectId); 149public override void OpenDocument(DocumentId documentId, bool activate = true) 162public override void CloseDocument(DocumentId documentId) 177public override void OpenAdditionalDocument(DocumentId documentId, bool activate = true) 190public override void CloseAdditionalDocument(DocumentId documentId) 205public override void OpenAnalyzerConfigDocument(DocumentId documentId, bool activate = true) 218public override void CloseAnalyzerConfigDocument(DocumentId documentId)
Workspace\CommandLineProject.cs (2)
161var id = DocumentId.CreateNewId(projectId, absolutePath);
Workspace\DocumentActiveContextChangedEventArgs.cs (4)
14public DocumentId OldActiveContextDocumentId { get; } 15public DocumentId NewActiveContextDocumentId { get; } 17public DocumentActiveContextChangedEventArgs(Solution solution, SourceTextContainer sourceTextContainer, DocumentId oldActiveContextDocumentId, DocumentId newActiveContextDocumentId)
Workspace\DocumentTracking\DefaultDocumentTrackingService.cs (3)
17public event EventHandler<DocumentId?> ActiveDocumentChanged { add { } remove { } } 19public ImmutableArray<DocumentId> GetVisibleDocuments() 22public DocumentId? TryGetActiveDocument()
Workspace\DocumentTracking\IDocumentTrackingService.cs (5)
25/// Get the <see cref="DocumentId"/> of the active document. May be null if there is no active document, the 28DocumentId? TryGetActiveDocument(); 31/// Get a read only collection of the <see cref="DocumentId"/>s of all the visible documents in the workspace. May 34ImmutableArray<DocumentId> GetVisibleDocuments(); 40event EventHandler<DocumentId?> ActiveDocumentChanged;
Workspace\Host\PersistentStorage\DocumentKey.cs (2)
19internal readonly struct DocumentKey(ProjectKey project, DocumentId id, string? filePath, string name) : IEqualityComparer<DocumentKey>, IEquatable<DocumentKey> 25public readonly DocumentId Id = id;
Workspace\ProjectSystem\ProjectSystemProject.BatchingDocumentCollection.cs (41)
35/// The map of file paths to the underlying <see cref="DocumentId"/>. This document may exist in <see cref="_documentsAddedInBatch"/> or has been 38private readonly Dictionary<string, DocumentId> _documentPathsToDocumentIds = new(StringComparer.OrdinalIgnoreCase); 41/// A map of explicitly-added "always open" <see cref="SourceTextContainer"/> and their associated <see cref="DocumentId"/>. This does not contain 44private IBidirectionalMap<SourceTextContainer, DocumentId> _sourceTextContainersToDocumentIds = BidirectionalMap<SourceTextContainer, DocumentId>.Empty; 47/// The map of <see cref="DocumentId"/> to <see cref="IDynamicFileInfoProvider"/> whose <see cref="DynamicFileInfo"/> got added into <see cref="Workspace"/> 49private readonly Dictionary<DocumentId, IDynamicFileInfoProvider> _documentIdToDynamicFileInfoProvider = []; 59private readonly List<DocumentId> _documentsRemovedInBatch = []; 64private ImmutableList<DocumentId>? _orderedDocumentsInBatch = null; 66private readonly Func<Solution, DocumentId, bool> _documentAlreadyInWorkspace; 68private readonly Action<Workspace, DocumentId> _documentRemoveAction; 69private readonly Func<Solution, DocumentId, TextLoader, Solution> _documentTextLoaderChangedAction; 85Func<Solution, DocumentId, bool> documentAlreadyInWorkspace, 87Action<Workspace, DocumentId> documentRemoveAction, 88Func<Solution, DocumentId, TextLoader, Solution> documentTextLoaderChangedAction, 99public DocumentId AddFile(string fullPath, SourceCodeKind sourceCodeKind, ImmutableArray<string> folders) 106var documentId = DocumentId.CreateNewId(_project.Id, fullPath); 143public DocumentId AddTextContainer( 156var documentId = DocumentId.CreateNewId(_project.Id, fullPath); 213var documentId = documentInfo.Id; 254if (!_documentPathsToDocumentIds.TryGetValue(fullPath, out var documentId) || 276if (!_documentPathsToDocumentIds.TryGetValue(fullPath, out var documentId)) 288private void RemoveFileInternal(DocumentId documentId, string fullPath) 331if (!_sourceTextContainersToDocumentIds.TryGetValue(textContainer, out var documentId)) 407var documentsToChange = ArrayBuilder<(DocumentId, TextLoader)>.GetInstance(filePaths.Count); 411if (_documentPathsToDocumentIds.TryGetValue(filePath, out var documentId)) 475DocumentId? documentId; 532var documentIds = ImmutableList.CreateBuilder<DocumentId>(); 536if (_documentPathsToDocumentIds.TryGetValue(filePath, out var documentId)) 562internal ImmutableArray<(DocumentId documentId, SourceTextContainer textContainer)> UpdateSolutionForBatch( 567Func<Solution, ImmutableArray<DocumentId>, Solution> removeDocuments, 577static ImmutableArray<(DocumentId documentId, SourceTextContainer textContainer)> UpdateSolutionForBatch( 582Func<Solution, ImmutableArray<DocumentId>, Solution> removeDocuments, 586ImmutableArray<DocumentId> documentsRemovedInBatch, 587ImmutableList<DocumentId>? orderedDocumentsInBatch, 588Func<DocumentId, SourceTextContainer?> getContainer) 590using var _ = ArrayBuilder<(DocumentId documentId, SourceTextContainer textContainer)>.GetInstance(out var documentsToOpen); 642var documentId = DocumentId.CreateNewId(_project.Id, filePath);
Workspace\ProjectSystem\ProjectSystemProject.cs (5)
105private readonly Dictionary<DocumentId, IWatchedFile> _documentWatchedFiles = []; 581ImmutableArray<(DocumentId documentId, SourceTextContainer textContainer)> documentsToOpen = []; 582ImmutableArray<(DocumentId documentId, SourceTextContainer textContainer)> additionalDocumentsToOpen = []; 583ImmutableArray<(DocumentId documentId, SourceTextContainer textContainer)> analyzerConfigDocumentsToOpen = []; 860public DocumentId AddSourceTextContainer(
Workspace\ProjectSystem\ProjectSystemProjectFactory.cs (4)
58public ImmutableHashSet<DocumentId> DocumentsNotFromFiles { get; private set; } = []; 217internal void AddDocumentToDocumentsNotFromFiles_NoLock(DocumentId documentId) 224internal void RemoveDocumentToDocumentsNotFromFiles_NoLock(DocumentId documentId) 348foreach (var documentId in solutionChanges.DocumentIdsRemoved)
Workspace\ProjectSystem\SolutionChangeAccumulator.cs (7)
21private readonly List<DocumentId> _documentIdsRemoved = []; 24public IEnumerable<DocumentId> DocumentIdsRemoved => _documentIdsRemoved; 30public DocumentId? WorkspaceChangeDocumentId { get; private set; } 32public void UpdateSolutionForDocumentAction(Solution newSolution, WorkspaceChangeKind changeKind, IEnumerable<DocumentId> documentIds) 42foreach (var documentId in documentIds) 75/// The same as <see cref="UpdateSolutionForDocumentAction(Solution, WorkspaceChangeKind, IEnumerable{DocumentId})" /> but also records 78public void UpdateSolutionForRemovedDocumentAction(Solution solution, WorkspaceChangeKind removeDocumentChangeKind, IEnumerable<DocumentId> documentIdsRemoved)
Workspace\Solution\AssetPath.cs (4)
37public readonly DocumentId? DocumentId; 39public AssetPath(AssetPathKind kind, ProjectId? projectId = null, DocumentId? documentId = null) 51public AssetPath(AssetPathKind kind, DocumentId? documentId) 92public static implicit operator AssetPath(DocumentId documentId) => new(AssetPathKind.Documents, documentId);
Workspace\Solution\ChecksumCollection.cs (1)
64var hintDocument = assetPath.DocumentId;
Workspace\Solution\ChecksumsAndIds.cs (5)
62/// A paired list of <see cref="DocumentId"/>s, and the checksums for their corresponding <see 71public readonly ImmutableArray<DocumentId> Ids; 73public DocumentChecksumsAndIds(ChecksumCollection attributeChecksums, ChecksumCollection textChecksums, ImmutableArray<DocumentId> ids) 99reader.ReadArray(static reader => DocumentId.ReadFrom(reader))); 119public readonly (Checksum attributeChecksum, Checksum textChecksum, DocumentId id) Current
Workspace\Solution\Document.cs (3)
517/// Gets the list of <see cref="DocumentId"/>s that are linked to this 519/// share the same <see cref="TextDocument.FilePath" />. This <see cref="DocumentId"/> is excluded from the 522public ImmutableArray<DocumentId> GetLinkedDocumentIds()
Workspace\Solution\DocumentDiagnostic.cs (2)
7public class DocumentDiagnostic(WorkspaceDiagnosticKind kind, string message, DocumentId documentId) : WorkspaceDiagnostic(kind, message) 9public DocumentId DocumentId { get; } = documentId;
Workspace\Solution\DocumentId.cs (13)
19public sealed class DocumentId : IEquatable<DocumentId> 39/// Creates a new <see cref="DocumentId"/> instance. 43public static DocumentId CreateNewId(ProjectId projectId, string? debugName = null) 46public static DocumentId CreateFromSerialized(ProjectId projectId, Guid id, string? debugName = null) 49internal static DocumentId CreateFromSerialized(ProjectId projectId, Guid id, bool isSourceGenerated, string? debugName) 67=> this.Equals(obj as DocumentId); 69public bool Equals(DocumentId? other) 81public static bool operator ==(DocumentId? left, DocumentId? right) 82=> EqualityComparer<DocumentId?>.Default.Equals(left, right); 84public static bool operator !=(DocumentId? left, DocumentId? right) 95internal static DocumentId ReadFrom(ObjectReader reader)
Workspace\Solution\DocumentInfo.cs (9)
26public DocumentId Id => Attributes.Id; 77DocumentId id, 117public DocumentInfo WithId(DocumentId id) 149DocumentId id, 162public DocumentId Id { get; } = id; 196DocumentId? id = null, 204var newId = id ?? Id; 246var documentId = DocumentId.ReadFrom(reader);
Workspace\Solution\DocumentState.cs (6)
26private static readonly ConditionalWeakTable<SyntaxTree, DocumentId> s_syntaxTreeToIdMap = new(); 652private static void BindSyntaxTreeToId(SyntaxTree tree, DocumentId id) 654if (!s_syntaxTreeToIdMap.TryGetValue(tree, out var existingId)) 657var localId = id; 664public static DocumentId? GetDocumentIdForTree(SyntaxTree tree) 666s_syntaxTreeToIdMap.TryGetValue(tree, out var id);
Workspace\Solution\FileTextLoader.cs (1)
90public override Task<TextAndVersion> LoadTextAndVersionAsync(Workspace? workspace, DocumentId? documentId, CancellationToken cancellationToken)
Workspace\Solution\Project.cs (49)
31private Dictionary<DocumentId, Document?>? _idToDocumentMap; 32private Dictionary<DocumentId, SourceGeneratedDocument>? _idToSourceGeneratedDocumentMap; 33private Dictionary<DocumentId, AdditionalDocument?>? _idToAdditionalDocumentMap; 34private Dictionary<DocumentId, AnalyzerConfigDocument?>? _idToAnalyzerConfigDocumentMap; 182public IReadOnlyList<DocumentId> DocumentIds => State.DocumentStates.Ids; 187public IReadOnlyList<DocumentId> AdditionalDocumentIds => State.AdditionalDocumentStates.Ids; 192internal IReadOnlyList<DocumentId> AnalyzerConfigDocumentIds => State.AnalyzerConfigDocumentStates.Ids; 213public bool ContainsDocument(DocumentId documentId) 219public bool ContainsAdditionalDocument(DocumentId documentId) 225public bool ContainsAnalyzerConfigDocument(DocumentId documentId) 231public DocumentId? GetDocumentId(SyntaxTree? syntaxTree) 243public Document? GetDocument(DocumentId documentId) 249public TextDocument? GetAdditionalDocument(DocumentId documentId) 255public AnalyzerConfigDocument? GetAnalyzerConfigDocument(DocumentId documentId) 258private static TDocument GetOrAddDocumentUnderLock<TDocument, TArg>(DocumentId documentId, ref Dictionary<DocumentId, TDocument>? idMap, Func<DocumentId, TArg, TDocument> tryCreate, TArg arg) 264Interlocked.CompareExchange(ref idMap, new Dictionary<DocumentId, TDocument>(), null); 273private static bool TryGetDocumentValueUnderLock<TDocument>(DocumentId documentId, ref Dictionary<DocumentId, TDocument>? idMap, out TDocument? document) 290internal async ValueTask<Document?> GetDocumentAsync(DocumentId documentId, bool includeSourceGenerated = false, CancellationToken cancellationToken = default) 304internal async ValueTask<TextDocument?> GetTextDocumentAsync(DocumentId documentId, CancellationToken cancellationToken = default) 334public async ValueTask<SourceGeneratedDocument?> GetSourceGeneratedDocumentAsync(DocumentId documentId, CancellationToken cancellationToken = default) 368internal SourceGeneratedDocument? TryGetSourceGeneratedDocumentForAlreadyGeneratedId(DocumentId documentId) 497private static readonly Func<DocumentId, Project, Document?> s_tryCreateDocumentFunction = 500private static readonly Func<DocumentId, Project, AdditionalDocument?> s_tryCreateAdditionalDocumentFunction = 503private static readonly Func<DocumentId, Project, AnalyzerConfigDocument?> s_tryCreateAnalyzerConfigDocumentFunction = 506private static readonly Func<DocumentId, (SourceGeneratedDocumentState state, Project project), SourceGeneratedDocument> s_createSourceGeneratedDocumentFunction = 705var id = DocumentId.CreateNewId(this.Id); 717var id = DocumentId.CreateNewId(this.Id); 726var id = DocumentId.CreateNewId(this.Id, debugName: name); 735var id = DocumentId.CreateNewId(this.Id); 744var id = DocumentId.CreateNewId(this.Id); 753var id = DocumentId.CreateNewId(this.Id); 760public Project RemoveDocument(DocumentId documentId) 770public Project RemoveDocuments(ImmutableArray<DocumentId> documentIds) 780public Project RemoveAdditionalDocument(DocumentId documentId) 788public Project RemoveAdditionalDocuments(ImmutableArray<DocumentId> documentIds) 798public Project RemoveAnalyzerConfigDocument(DocumentId documentId) 806public Project RemoveAnalyzerConfigDocuments(ImmutableArray<DocumentId> documentIds) 813private void CheckIdsContainedInProject(ImmutableArray<DocumentId> documentIds) 815foreach (var documentId in documentIds) 839var documentId = await State.GetDocumentIdAsync(contentHash, cancellationToken).ConfigureAwait(false);
Workspace\Solution\ProjectChanges.cs (20)
44/// Get <see cref="DocumentId"/>s of added documents in the order they appear in <see cref="Project.DocumentIds"/> of the <see cref="NewProject"/>. 46public IEnumerable<DocumentId> GetAddedDocuments() 50/// Get <see cref="DocumentId"/>s of added dditional documents in the order they appear in <see cref="Project.DocumentIds"/> of <see cref="NewProject"/>. 52public IEnumerable<DocumentId> GetAddedAdditionalDocuments() 56/// Get <see cref="DocumentId"/>s of added analyzer config documents in the order they appear in <see cref="Project.DocumentIds"/> of <see cref="NewProject"/>. 58public IEnumerable<DocumentId> GetAddedAnalyzerConfigDocuments() 62/// Get <see cref="DocumentId"/>s of documents with any changes (textual and non-textual) 65public IEnumerable<DocumentId> GetChangedDocuments() 73public IEnumerable<DocumentId> GetChangedDocuments(bool onlyGetDocumentsWithTextChanges) 76internal IEnumerable<DocumentId> GetChangedDocuments(bool onlyGetDocumentsWithTextChanges, bool ignoreUnchangeableDocuments) 80/// Get <see cref="DocumentId"/>s of additional documents with any changes (textual and non-textual) 83public IEnumerable<DocumentId> GetChangedAdditionalDocuments() 87/// Get <see cref="DocumentId"/>s of analyzer config documents with any changes (textual and non-textual) 90public IEnumerable<DocumentId> GetChangedAnalyzerConfigDocuments() 94/// Get <see cref="DocumentId"/>s of removed documents in the order they appear in <see cref="Project.DocumentIds"/> of <see cref="OldProject"/>. 96public IEnumerable<DocumentId> GetRemovedDocuments() 100/// Get <see cref="DocumentId"/>s of removed additional documents in the order they appear in <see cref="Project.DocumentIds"/> of <see cref="OldProject"/>. 102public IEnumerable<DocumentId> GetRemovedAdditionalDocuments() 106/// Get <see cref="DocumentId"/>s of removed analyzer config documents in the order they appear in <see cref="Project.DocumentIds"/> of <see cref="OldProject"/>. 108public IEnumerable<DocumentId> GetRemovedAnalyzerConfigDocuments()
Workspace\Solution\ProjectState.cs (18)
31/// The documents in this project. They are sorted by <see cref="DocumentId.Id"/> to provide a stable sort for 37/// The additional documents in this project. They are sorted by <see cref="DocumentId.Id"/> to provide a stable sort for 43/// The analyzer config documents in this project. They are sorted by <see cref="DocumentId.Id"/> to provide a stable sort for 126private async Task<Dictionary<ImmutableArray<byte>, DocumentId>> ComputeContentHashToDocumentIdAsync(CancellationToken cancellationToken) 128var result = new Dictionary<ImmutableArray<byte>, DocumentId>(ImmutableArrayComparer<byte>.Instance); 160private AsyncLazy<Dictionary<ImmutableArray<byte>, DocumentId>> LazyContentHashToDocumentId 184public async ValueTask<DocumentId?> GetDocumentIdAsync(ImmutableArray<byte> contentHash, CancellationToken cancellationToken) 187return map.TryGetValue(contentHash, out var documentId) ? documentId : null; 422var documentId = DocumentState.GetDocumentIdForTree(tree); 468var documentId = DocumentState.GetDocumentIdForTree(tree); 570var state = DocumentState.GetDocumentIdForTree(tree); 921public ProjectState RemoveDocuments(ImmutableArray<DocumentId> documentIds) 934public ProjectState RemoveAdditionalDocuments(ImmutableArray<DocumentId> documentIds) 944public ProjectState RemoveAnalyzerConfigDocuments(ImmutableArray<DocumentId> documentIds) 1028public ProjectState UpdateDocumentsOrder(ImmutableList<DocumentId> documentIds) 1113public void AddDocumentIdsWithFilePath(ref TemporaryArray<DocumentId> temporaryArray, string filePath) 1121/// Returns the first <see cref="DocumentId"/> from this project that matches this path. This only checks for regular documents, 1124public DocumentId? GetFirstSourceDocumentIdWithFilePath(string filePath)
Workspace\Solution\Solution.cs (70)
43private readonly Dictionary<DocumentId, AsyncLazy<Solution>> _documentIdToFrozenSolution = []; 221public bool ContainsDocument([NotNullWhen(returnValue: true)] DocumentId? documentId) => this.SolutionState.ContainsDocument(documentId); 226public bool ContainsAdditionalDocument([NotNullWhen(returnValue: true)] DocumentId? documentId) => this.SolutionState.ContainsAdditionalDocument(documentId); 231public bool ContainsAnalyzerConfigDocument([NotNullWhen(returnValue: true)] DocumentId? documentId) => this.SolutionState.ContainsAnalyzerConfigDocument(documentId); 236public DocumentId? GetDocumentId(SyntaxTree? syntaxTree) => GetDocumentId(syntaxTree, projectId: null); 241public DocumentId? GetDocumentId(SyntaxTree? syntaxTree, ProjectId? projectId) 247public Document? GetDocument(DocumentId? documentId) 253internal async ValueTask<Document?> GetDocumentAsync(DocumentId? documentId, bool includeSourceGenerated = false, CancellationToken cancellationToken = default) 268internal async ValueTask<TextDocument?> GetTextDocumentAsync(DocumentId? documentId, CancellationToken cancellationToken = default) 283public TextDocument? GetAdditionalDocument(DocumentId? documentId) 296public AnalyzerConfigDocument? GetAnalyzerConfigDocument(DocumentId? documentId) 306public async ValueTask<SourceGeneratedDocument?> GetSourceGeneratedDocumentAsync(DocumentId documentId, CancellationToken cancellationToken) 604public Solution WithProjectDocumentsOrder(ProjectId projectId, ImmutableList<DocumentId> documentIds) 977public Solution AddDocument(DocumentId documentId, string name, string text, IEnumerable<string>? folders = null, string? filePath = null) 995public Solution AddDocument(DocumentId documentId, string name, SourceText text, IEnumerable<string>? folders = null, string? filePath = null, bool isGenerated = false) 1014public Solution AddDocument(DocumentId documentId, string name, SyntaxNode syntaxRoot, IEnumerable<string>? folders = null, string? filePath = null, bool isGenerated = false, PreservationMode preservationMode = PreservationMode.PreserveValue) 1034private Solution AddDocumentImpl(ProjectState project, DocumentId documentId, string name, SourceText text, IReadOnlyList<string>? folders, string? filePath, bool isGenerated) 1048public Solution AddDocument(DocumentId documentId, string name, TextLoader loader, IEnumerable<string>? folders = null) 1088public Solution AddAdditionalDocument(DocumentId documentId, string name, string text, IEnumerable<string>? folders = null, string? filePath = null) 1095public Solution AddAdditionalDocument(DocumentId documentId, string name, SourceText text, IEnumerable<string>? folders = null, string? filePath = null) 1126public Solution AddAnalyzerConfigDocument(DocumentId documentId, string name, SourceText text, IEnumerable<string>? folders = null, string? filePath = null) 1150private DocumentInfo CreateDocumentInfo(DocumentId documentId, string name, SourceText text, IEnumerable<string>? folders, string? filePath) 1177public Solution RemoveDocument(DocumentId documentId) 1186public Solution RemoveDocuments(ImmutableArray<DocumentId> documentIds) 1192private Solution RemoveDocumentsImpl(ImmutableArray<DocumentId> documentIds) 1198public Solution RemoveAdditionalDocument(DocumentId documentId) 1207public Solution RemoveAdditionalDocuments(ImmutableArray<DocumentId> documentIds) 1213private Solution RemoveAdditionalDocumentsImpl(ImmutableArray<DocumentId> documentIds) 1219public Solution RemoveAnalyzerConfigDocument(DocumentId documentId) 1228public Solution RemoveAnalyzerConfigDocuments(ImmutableArray<DocumentId> documentIds) 1234private Solution RemoveAnalyzerConfigDocumentsImpl(ImmutableArray<DocumentId> documentIds) 1240public Solution WithDocumentName(DocumentId documentId, string name) 1259public Solution WithDocumentFolders(DocumentId documentId, IEnumerable<string>? folders) 1274public Solution WithDocumentFilePath(DocumentId documentId, string? filePath) 1288public Solution WithDocumentText(DocumentId documentId, SourceText text, PreservationMode mode = PreservationMode.PreserveValue) 1291internal Solution WithDocumentTexts(ImmutableArray<(DocumentId documentId, SourceText text)> texts, PreservationMode mode = PreservationMode.PreserveValue) 1311public Solution WithAdditionalDocumentText(DocumentId documentId, SourceText text, PreservationMode mode = PreservationMode.PreserveValue) 1332public Solution WithAnalyzerConfigDocumentText(DocumentId documentId, SourceText text, PreservationMode mode = PreservationMode.PreserveValue) 1353public Solution WithDocumentText(DocumentId documentId, TextAndVersion textAndVersion, PreservationMode mode = PreservationMode.PreserveValue) 1374public Solution WithAdditionalDocumentText(DocumentId documentId, TextAndVersion textAndVersion, PreservationMode mode = PreservationMode.PreserveValue) 1395public Solution WithAnalyzerConfigDocumentText(DocumentId documentId, TextAndVersion textAndVersion, PreservationMode mode = PreservationMode.PreserveValue) 1416public Solution WithDocumentSyntaxRoot(DocumentId documentId, SyntaxNode root, PreservationMode mode = PreservationMode.PreserveValue) 1420internal Solution WithDocumentSyntaxRoots(ImmutableArray<(DocumentId documentId, SyntaxNode root)> syntaxRoots, PreservationMode mode = PreservationMode.PreserveValue) 1436internal Solution WithDocumentContentsFrom(DocumentId documentId, DocumentState documentState) 1439internal Solution WithDocumentContentsFrom(ImmutableArray<(DocumentId documentId, DocumentState documentState)> documentIdsAndStates) 1450public Solution WithDocumentSourceCodeKind(DocumentId documentId, SourceCodeKind sourceCodeKind) 1473public Solution WithDocumentTextLoader(DocumentId documentId, TextLoader loader, PreservationMode mode) 1494public Solution WithAdditionalDocumentTextLoader(DocumentId documentId, TextLoader loader, PreservationMode mode) 1515public Solution WithAnalyzerConfigDocumentTextLoader(DocumentId documentId, TextLoader loader, PreservationMode mode) 1566internal Solution WithFrozenPartialCompilationIncludingSpecificDocument(DocumentId documentId, CancellationToken cancellationToken) 1585static AsyncLazy<Solution> CreateLazyFrozenSolution(SolutionCompilationState compilationState, DocumentId documentId) 1590static Solution ComputeFrozenSolution(SolutionCompilationState compilationState, DocumentId documentId, CancellationToken cancellationToken) 1615internal ImmutableArray<DocumentId> GetRelatedDocumentIds(DocumentId documentId, bool includeDifferentLanguages = false) 1625internal DocumentId? GetFirstRelatedDocumentId(DocumentId documentId, ProjectId? relatedProjectIdHint) 1645public Solution WithDocumentText(IEnumerable<DocumentId?> documentIds, SourceText text, PreservationMode mode = PreservationMode.PreserveValue) 1713/// Gets the set of <see cref="DocumentId"/>s in this <see cref="Solution"/> with a 1719/// were to return more than one <see cref="DocumentId"/>, you should not assume that just because one is a regular source file means 1722public ImmutableArray<DocumentId> GetDocumentIdsWithFilePath(string? filePath) => this.SolutionState.GetDocumentIdsWithFilePath(filePath); 1780private void CheckContainsDocument(DocumentId documentId) 1800bool ContainsSourceGeneratedDocument(DocumentId documentId) 1810private void CheckContainsDocuments(ImmutableArray<DocumentId> documentIds) 1817foreach (var documentId in documentIds) 1823private void CheckContainsAdditionalDocument(DocumentId documentId) 1836private void CheckContainsAdditionalDocuments(ImmutableArray<DocumentId> documentIds) 1843foreach (var documentId in documentIds) 1849private void CheckContainsAnalyzerConfigDocument(DocumentId documentId) 1862private void CheckContainsAnalyzerConfigDocuments(ImmutableArray<DocumentId> documentIds) 1869foreach (var documentId in documentIds)
Workspace\Solution\Solution_SemanticModelCaching.cs (3)
20private ImmutableArray<(DocumentId documentId, SemanticModel semanticModel)> _activeSemanticModels = []; 23DocumentId documentId, SemanticModel semanticModel) 34var activeDocumentId = service.TryGetActiveDocument();
Workspace\Solution\SolutionChanges.cs (1)
95internal IEnumerable<DocumentId> GetExplicitlyChangedSourceGeneratedDocuments()
Workspace\Solution\SolutionCompilationState.cs (42)
570ProjectId projectId, ImmutableList<DocumentId> documentIds) 624using var _2 = ArrayBuilder<DocumentId>.GetInstance(out var removedDocumentInfos); 661foreach (var oldDocumentId in oldDocumentStates.Ids) 792DocumentId documentId, 806internal SolutionCompilationState WithDocumentTexts(ImmutableArray<(DocumentId documentId, SourceText text)> texts, PreservationMode mode) 817(ImmutableArray<(DocumentId, SourceText)>, 823using var _1 = ArrayBuilder<(DocumentId, SourceText)>.GetInstance(capacity: texts.Length, out var ordinaryDocuments); 849ImmutableArray<(DocumentId documentId, TDocumentData documentData)> documentsToUpdate, 962/// <inheritdoc cref="SolutionState.WithAdditionalDocumentText(DocumentId, SourceText, PreservationMode)"/> 964DocumentId documentId, SourceText text, PreservationMode mode) 970/// <inheritdoc cref="SolutionState.WithAnalyzerConfigDocumentText(DocumentId, SourceText, PreservationMode)"/> 972DocumentId documentId, SourceText text, PreservationMode mode) 981/// <inheritdoc cref="SolutionState.WithDocumentText(DocumentId, TextAndVersion, PreservationMode)"/> 983DocumentId documentId, TextAndVersion textAndVersion, PreservationMode mode) 989/// <inheritdoc cref="SolutionState.WithAdditionalDocumentText(DocumentId, TextAndVersion, PreservationMode)"/> 991DocumentId documentId, TextAndVersion textAndVersion, PreservationMode mode) 997/// <inheritdoc cref="SolutionState.WithAnalyzerConfigDocumentText(DocumentId, TextAndVersion, PreservationMode)"/> 999DocumentId documentId, TextAndVersion textAndVersion, PreservationMode mode) 1005/// <inheritdoc cref="Solution.WithDocumentSyntaxRoots(ImmutableArray{ValueTuple{DocumentId, SyntaxNode}}, PreservationMode)"/> 1009public SolutionCompilationState WithDocumentSyntaxRoots(ImmutableArray<(DocumentId documentId, SyntaxNode root)> syntaxRoots, PreservationMode mode) 1022(ImmutableArray<(DocumentId, SyntaxNode)>, 1028using var _1 = ArrayBuilder<(DocumentId, SyntaxNode)>.GetInstance(capacity: syntaxRoots.Length, out var ordinaryDocuments); 1047ImmutableArray<(DocumentId documentId, DocumentState documentState)> documentIdsAndStates, bool forceEvenIfTreesWouldDiffer) 1061DocumentId documentId, SourceCodeKind sourceCodeKind) 1069DocumentId documentId, TextLoader loader, PreservationMode mode) 1084DocumentId documentId, TextLoader loader, PreservationMode mode) 1099DocumentId documentId, TextLoader loader, PreservationMode mode) 1112private SolutionCompilationState UpdateDocumentState(StateChange stateChange, DocumentId documentId) 1131private SolutionCompilationState UpdateAdditionalDocumentState(StateChange stateChange, DocumentId documentId) 1286DocumentId documentId) 1411using var _ = PooledDictionary<DocumentId, SourceGeneratedDocumentState>.GetInstance(out var documentStates); 1656DocumentId documentId, CancellationToken cancellationToken) 1709SolutionCompilationState @this, DocumentId documentId, CancellationToken cancellationToken) 1720foreach (var currentDocumentId in allDocumentIds) 1749var documentId = newDocumentState.Id; 1801public SolutionCompilationState RemoveDocumentsFromMultipleProjects<T>(ImmutableArray<DocumentId> documentIds) 1823private SolutionCompilationState RemoveDocumentsFromSingleProject<T>(ProjectId projectId, ImmutableArray<DocumentId> documentIds) 1831foreach (var documentId in documentIds) 1852private static TranslationAction GetRemoveDocumentsTranslationAction<TDocumentState>(ProjectState oldProject, ImmutableArray<DocumentId> documentIds, ImmutableArray<TDocumentState> states) 1873public SolutionCompilationState WithDocumentText(IEnumerable<DocumentId?> documentIds, SourceText text, PreservationMode mode) 1875using var _ = ArrayBuilder<(DocumentId, SourceText)>.GetInstance(out var changedDocuments); 1877foreach (var documentId in documentIds)
Workspace\Solution\SolutionCompilationState.ICompilationTracker.cs (1)
73SourceGeneratedDocumentState? TryGetSourceGeneratedDocumentStateForAlreadyGeneratedId(DocumentId documentId);
Workspace\Solution\SolutionCompilationState.RegularCompilationTracker.cs (1)
916public SourceGeneratedDocumentState? TryGetSourceGeneratedDocumentStateForAlreadyGeneratedId(DocumentId documentId)
Workspace\Solution\SolutionCompilationState.RegularCompilationTracker_Generators.cs (5)
156using var _1 = ArrayBuilder<DocumentId>.GetInstance(out var documentsToAddOrUpdate); 157using var _2 = PooledDictionary<DocumentId, int>.GetInstance(out var documentIdToIndex); 161var documentId = documentIdentity.DocumentId; 188var documentId = documentIdentity.DocumentId; 226var documentId = documentIdentity.DocumentId;
Workspace\Solution\SolutionCompilationState.SymbolToProjectId.cs (2)
21var documentId = DocumentState.GetDocumentIdForTree(syntaxTree); 85var documentId = this.GetDocumentState(syntaxTree, projectId: null)?.Id;
Workspace\Solution\SolutionCompilationState.WithFrozenSourceGeneratedDocumentsCompilationTracker.cs (1)
203public SourceGeneratedDocumentState? TryGetSourceGeneratedDocumentStateForAlreadyGeneratedId(DocumentId documentId)
Workspace\Solution\SolutionState.cs (31)
73private readonly ConcurrentDictionary<string, ImmutableArray<DocumentId>> _lazyFilePathToRelatedDocumentIds = new(FilePathComparer); 297public bool ContainsDocument([NotNullWhen(returnValue: true)] DocumentId? documentId) 308public bool ContainsAdditionalDocument([NotNullWhen(returnValue: true)] DocumentId? documentId) 319public bool ContainsAnalyzerConfigDocument([NotNullWhen(returnValue: true)] DocumentId? documentId) 327internal DocumentState GetRequiredDocumentState(DocumentId documentId) 330private AdditionalDocumentState GetRequiredAdditionalDocumentState(DocumentId documentId) 333private AnalyzerConfigDocumentState GetRequiredAnalyzerConfigDocumentState(DocumentId documentId) 844public StateChange WithProjectDocumentsOrder(ProjectId projectId, ImmutableList<DocumentId> documentIds) 853foreach (var id in documentIds) 971DocumentId documentId, 991public StateChange WithDocumentText(DocumentId documentId, SourceText text, PreservationMode mode = PreservationMode.PreserveValue) 1019public StateChange WithAdditionalDocumentText(DocumentId documentId, SourceText text, PreservationMode mode = PreservationMode.PreserveValue) 1035public StateChange WithAnalyzerConfigDocumentText(DocumentId documentId, SourceText text, PreservationMode mode = PreservationMode.PreserveValue) 1051public StateChange WithDocumentText(DocumentId documentId, TextAndVersion textAndVersion, PreservationMode mode = PreservationMode.PreserveValue) 1067public StateChange WithAdditionalDocumentText(DocumentId documentId, TextAndVersion textAndVersion, PreservationMode mode = PreservationMode.PreserveValue) 1083public StateChange WithAnalyzerConfigDocumentText(DocumentId documentId, TextAndVersion textAndVersion, PreservationMode mode = PreservationMode.PreserveValue) 1099public StateChange WithDocumentSourceCodeKind(DocumentId documentId, SourceCodeKind sourceCodeKind) 1111public StateChange UpdateDocumentTextLoader(DocumentId documentId, TextLoader loader, PreservationMode mode) 1124public StateChange UpdateAdditionalDocumentTextLoader(DocumentId documentId, TextLoader loader, PreservationMode mode) 1137public StateChange UpdateAnalyzerConfigDocumentTextLoader(DocumentId documentId, TextLoader loader, PreservationMode mode) 1208public ImmutableArray<DocumentId> GetDocumentIdsWithFilePath(string? filePath) 1215static ImmutableArray<DocumentId> ComputeDocumentIdsWithFilePath(string filePath, SolutionState @this) 1217using var result = TemporaryArray<DocumentId>.Empty; 1275/// Returns a <see cref="DocumentId"/> for a document in another project that has the same file path. Only 1278public DocumentId? GetFirstRelatedDocumentId(DocumentId documentId, ProjectId? relatedProjectIdHint) 1298foreach (var relatedDocumentId in relatedDocumentIds) 1312var siblingDocumentId = relatedProject.GetFirstSourceDocumentIdWithFilePath(filePath); 1324var siblingDocumentId = siblingProjectState.GetFirstSourceDocumentIdWithFilePath(filePath); 1332public ImmutableArray<DocumentId> GetRelatedDocumentIds(DocumentId documentId, bool includeDifferentLanguages)
Workspace\Solution\SourceGeneratedDocumentIdentity.cs (6)
22[DataMember(Order = 0)] public DocumentId DocumentId { get; } 27public SourceGeneratedDocumentIdentity(DocumentId documentId, string hintName, SourceGeneratorIdentity generator, string filePath) 70var documentId = DocumentId.CreateFromSerialized(projectId, guid, isSourceGenerated: true, hintName); 89var documentId = DocumentId.ReadFrom(reader);
Workspace\Solution\StateChecksums.cs (4)
137var documentId = assetPath.DocumentId; 160var id = FrozenSourceGeneratedDocuments.Ids[i]; 495DocumentId documentId, 501public DocumentId DocumentId => documentId;
Workspace\Solution\TextDocument.cs (1)
38public DocumentId Id => State.Id;
Workspace\Solution\TextDocumentState.cs (1)
48public DocumentId Id => Attributes.Id;
Workspace\Solution\TextDocumentStates.cs (42)
28using FilePathToDocumentIds = FrozenDictionary<string, OneOrMany<DocumentId>>; 34/// Holds on a <see cref="DocumentId"/> to <see cref="TextDocumentState"/> map and an ordering. 40private static readonly ObjectPool<Dictionary<string, OneOrMany<DocumentId>>> s_filePathPool = new(() => new(SolutionState.FilePathComparer)); 45ImmutableSortedDictionary.Create<DocumentId, TState>(DocumentIdComparer.Instance), 52private readonly ImmutableList<DocumentId> _ids; 57ImmutableList<DocumentId> ids, 58ImmutableSortedDictionary<DocumentId, TState> map, 82public TextDocumentStates<TState> WithCompilationOrder(ImmutableList<DocumentId> ids) 91public bool Contains(DocumentId id) 94public bool TryGetState(DocumentId documentId, [NotNullWhen(true)] out TState? state) 97public TState? GetState(DocumentId documentId) 100public TState GetRequiredState(DocumentId documentId) 104/// <see cref="DocumentId"/>s in the order in which they were added to the project (the compilation order). 106public IReadOnlyList<DocumentId> Ids => _ids; 109/// States ordered by <see cref="DocumentId"/>. 112/// The entries in the map are sorted by <see cref="DocumentId.Id"/>, which yields locally deterministic order but not the order that 116public ImmutableSortedDictionary<DocumentId, TState> States { get; } 145using var _ = ArrayBuilder<DocumentId>.GetInstance(discardLargeInstances: false, out var ids); 155public TextDocumentStates<TState> RemoveRange(ImmutableArray<DocumentId> ids) 159using var _ = PooledHashSet<DocumentId>.GetInstance(out var set); 165foreach (var documentId in _ids) 172IEnumerable<DocumentId> enumerableIds = ids; 186var id = state.Id; 221/// Returns a <see cref="DocumentId"/>s of documents whose state changed when compared to older states. 223public IEnumerable<DocumentId> GetChangedStateIds(TextDocumentStates<TState> oldStates, bool ignoreUnchangedContent = false, bool ignoreUnchangeableDocuments = false) 227foreach (var id in Ids) 251/// Returns a <see cref="DocumentId"/>s of added documents. 253public IEnumerable<DocumentId> GetAddedStateIds(TextDocumentStates<TState> oldStates) 257/// Returns a <see cref="DocumentId"/>s of removed documents. 259public IEnumerable<DocumentId> GetRemovedStateIds(TextDocumentStates<TState> oldStates) 262private static IEnumerable<DocumentId> Except(ImmutableList<DocumentId> ids, ImmutableSortedDictionary<DocumentId, TState> map) 264foreach (var id in ids) 285private sealed class DocumentIdComparer : IComparer<DocumentId?> 287public static readonly IComparer<DocumentId?> Instance = new DocumentIdComparer(); 293public int Compare(DocumentId? x, DocumentId? y) 312var documentIds = new FixedSizeArrayBuilder<DocumentId>(States.Count); 328public void AddDocumentIdsWithFilePath(ref TemporaryArray<DocumentId> temporaryArray, string filePath) 335foreach (var value in oneOrMany) 340public DocumentId? GetFirstDocumentIdWithFilePath(string filePath)
Workspace\Solution\TextLoader.cs (2)
65_ => new StrongBox<bool>(new Func<Workspace, DocumentId, CancellationToken, Task<TextAndVersion>>(LoadTextAndVersionAsync).Method.DeclaringType != typeof(TextLoader))).Value) 83public virtual Task<TextAndVersion> LoadTextAndVersionAsync(Workspace? workspace, DocumentId? documentId, CancellationToken cancellationToken)
Workspace\TextExtensions.cs (4)
22var documentId = workspace.GetDocumentIdInCurrentContext(text.Container); 63var id = workspace.GetDocumentIdInCurrentContext(text.Container); 110var documentId = workspace.GetDocumentIdInCurrentContext(container); 129var id = workspace.GetDocumentIdInCurrentContext(container);
Workspace\Workspace.cs (75)
200/// <inheritdoc cref="SetCurrentSolution(Func{Solution, Solution}, Func{Solution, Solution, ValueTuple{WorkspaceChangeKind, ProjectId?, DocumentId?}}, Action{Solution, Solution}?, Action{Solution, Solution}?)"/> 205DocumentId? documentId = null, 232Func<Solution, Solution, (WorkspaceChangeKind changeKind, ProjectId? projectId, DocumentId? documentId)> changeKind, 252Func<Solution, Solution, (WorkspaceChangeKind changeKind, ProjectId? projectId, DocumentId? documentId)> changeKind, 296using var _1 = PooledHashSet<DocumentId>.GetInstance(out var changedDocumentIds); 297using var _2 = ArrayBuilder<DocumentId>.GetInstance(out var addedDocumentIds); 329Solution solution, ArrayBuilder<DocumentId> addedDocumentIds) 332using var _ = ArrayBuilder<(DocumentId, DocumentState)>.GetInstance(out var relatedDocumentIdsAndStates); 334foreach (var addedDocumentId in addedDocumentIds) 345var relatedDocumentId = solution.GetFirstRelatedDocumentId(addedDocumentId, relatedProjectIdHint); 369static Solution UpdateExistingDocumentsToChangedDocumentContents(Solution solution, HashSet<DocumentId> changedDocumentIds) 376using var _ = PooledDictionary<DocumentId, DocumentState>.GetInstance(out var relatedDocumentIdsAndStates); 378foreach (var changedDocumentId in changedDocumentIds) 383foreach (var relatedDocumentId in relatedDocumentIds) 610protected virtual void OnDocumentClosing(DocumentId documentId) 668protected internal virtual void ClearDocumentData(DocumentId documentId) 1065var documentId = newDocumentInfo.Id; 1074protected internal void OnDocumentRemoved(DocumentId documentId) 1093protected virtual void CheckDocumentCanBeRemoved(DocumentId documentId) 1100protected internal void OnDocumentInfoChanged(DocumentId documentId, DocumentInfo newInfo) 1138protected internal void OnDocumentTextChanged(DocumentId documentId, SourceText newText, PreservationMode mode) 1141private protected void OnDocumentTextChanged(DocumentId documentId, SourceText newText, PreservationMode mode, bool requireDocumentPresent) 1156protected internal void OnAdditionalDocumentTextChanged(DocumentId documentId, SourceText newText, PreservationMode mode) 1171protected internal void OnAnalyzerConfigDocumentTextChanged(DocumentId documentId, SourceText newText, PreservationMode mode) 1186protected internal void OnDocumentTextLoaderChanged(DocumentId documentId, TextLoader loader) 1192private protected void OnDocumentTextLoaderChanged(DocumentId documentId, TextLoader loader, bool requireDocumentPresent) 1207protected internal void OnAdditionalDocumentTextLoaderChanged(DocumentId documentId, TextLoader loader) 1222protected internal void OnAnalyzerConfigDocumentTextLoaderChanged(DocumentId documentId, TextLoader loader) 1249DocumentId documentId, 1251Func<Solution, DocumentId, TextDocument?> getDocumentInSolution, 1252Func<Solution, DocumentId, TArg, Solution> updateSolutionWithText, 1259var updatedDocumentIds = new List<DocumentId>(); 1269var documentId = data.documentId; 1305foreach (var linkedDocumentId in linkedDocumentIds) 1322foreach (var updatedDocumentId in data.updatedDocumentIds) 1330foreach (var updatedDocumentInfo in data.updatedDocumentIds) 1344protected internal void OnDocumentSourceCodeKindChanged(DocumentId documentId, SourceCodeKind sourceCodeKind) 1361var documentId = documentInfo.Id; 1375protected internal void OnAdditionalDocumentRemoved(DocumentId documentId) 1399var documentId = documentInfo.Id; 1414protected internal void OnAnalyzerConfigDocumentRemoved(DocumentId documentId) 1617using var _1 = PooledHashSet<DocumentId>.GetInstance(out var infoChangedDocumentIds); 1621foreach (var docId in projectChange.GetChangedDocuments()) 1751foreach (var documentId in changedDocumentIds) 1915foreach (var documentId in projectChanges.GetRemovedDocuments()) 1921foreach (var documentId in projectChanges.GetRemovedAdditionalDocuments()) 1927foreach (var documentId in projectChanges.GetRemovedAnalyzerConfigDocuments()) 1933foreach (var documentId in projectChanges.GetAddedDocuments()) 1942foreach (var documentId in projectChanges.GetAddedAdditionalDocuments()) 1951foreach (var documentId in projectChanges.GetAddedAnalyzerConfigDocuments()) 1960foreach (var documentId in projectChanges.GetChangedDocuments()) 1966foreach (var documentId in projectChanges.GetChangedAdditionalDocuments()) 1976foreach (var documentId in projectChanges.GetChangedAnalyzerConfigDocuments()) 1987ProjectChanges projectChanges, DocumentId documentId) 2213protected virtual void ApplyDocumentRemoved(DocumentId documentId) 2224protected virtual void ApplyDocumentTextChanged(DocumentId id, SourceText text) 2235protected virtual void ApplyDocumentInfoChanged(DocumentId id, DocumentInfo info) 2257protected virtual void ApplyAdditionalDocumentRemoved(DocumentId documentId) 2268protected virtual void ApplyAdditionalDocumentTextChanged(DocumentId id, SourceText text) 2290protected virtual void ApplyAnalyzerConfigDocumentRemoved(DocumentId documentId) 2301protected virtual void ApplyAnalyzerConfigDocumentTextChanged(DocumentId id, SourceText text) 2465protected void CheckDocumentIsInCurrentSolution(DocumentId documentId) 2468private static void CheckDocumentIsInSolution(Solution solution, DocumentId documentId) 2481protected void CheckAdditionalDocumentIsInCurrentSolution(DocumentId documentId) 2484private static void CheckAdditionalDocumentIsInSolution(Solution solution, DocumentId documentId) 2497protected void CheckAnalyzerConfigDocumentIsInCurrentSolution(DocumentId documentId) 2500private static void CheckAnalyzerConfigDocumentIsInSolution(Solution solution, DocumentId documentId) 2513protected void CheckDocumentIsNotInCurrentSolution(DocumentId documentId) 2526protected void CheckAdditionalDocumentIsNotInCurrentSolution(DocumentId documentId) 2529private static void CheckAdditionalDocumentIsNotInSolution(Solution solution, DocumentId documentId) 2542protected void CheckAnalyzerConfigDocumentIsNotInCurrentSolution(DocumentId documentId) 2545private static void CheckAnalyzerConfigDocumentIsNotInSolution(Solution solution, DocumentId documentId) 2568protected virtual string GetDocumentName(DocumentId documentId) 2578protected virtual string GetAdditionalDocumentName(DocumentId documentId) 2584protected virtual string GetAnalyzerConfigDocumentName(DocumentId documentId)
Workspace\Workspace.TextTracker.cs (4)
21private readonly DocumentId _documentId; 24private readonly Action<Workspace, DocumentId, SourceText, PreservationMode> _onChangedHandler; 28DocumentId documentId, 30Action<Workspace, DocumentId, SourceText, PreservationMode> onChangedHandler)
Workspace\Workspace_Editor.cs (77)
24private readonly Dictionary<ProjectId, HashSet<DocumentId>> _projectToOpenDocumentsMap = []; 31private readonly Dictionary<SourceTextContainer, DocumentId> _bufferToDocumentInCurrentContextMap = []; 36private readonly Dictionary<SourceTextContainer, OneOrMany<DocumentId>> _bufferToAssociatedDocumentsMap = []; 38private readonly Dictionary<DocumentId, TextTracker> _textTrackers = []; 39private readonly Dictionary<DocumentId, SourceTextContainer> _documentToAssociatedBufferMap = []; 40private readonly Dictionary<DocumentId, (SourceGeneratedDocumentIdentity identity, DateTime generationDateTime)> _openSourceGeneratedDocumentIdentities = []; 48/// True if this workspace supports manually changing the active context document of a text buffer by calling <see cref="SetDocumentContext(DocumentId)" />. 54List<DocumentId> docIds; 60foreach (var docId in docIds) 68HashSet<DocumentId>? openDocs; 78foreach (var docId in copyOfOpenDocs) 85protected void ClearOpenDocument(DocumentId documentId) 102var currentContextDocumentId = RemoveDocumentFromCurrentContextMapping_NoLock(textContainer, documentId); 113protected void ClearOpenDocument(DocumentId documentId, bool isSolutionClosing) 119public virtual void OpenDocument(DocumentId documentId, bool activate = true) 125public virtual void CloseDocument(DocumentId documentId) 131public virtual void OpenAdditionalDocument(DocumentId documentId, bool activate = true) 137public virtual void CloseAdditionalDocument(DocumentId documentId) 143public virtual void OpenAnalyzerConfigDocument(DocumentId documentId, bool activate = true) 149public virtual void CloseAnalyzerConfigDocument(DocumentId documentId) 179public virtual bool IsDocumentOpen(DocumentId documentId) 191public virtual IEnumerable<DocumentId> GetOpenDocumentIds(ProjectId? projectId = null) 216public virtual IEnumerable<DocumentId> GetRelatedDocumentIds(SourceTextContainer container) 223var documentId = GetDocumentIdInCurrentContext(container); 236public virtual DocumentId? GetDocumentIdInCurrentContext(SourceTextContainer container) 249private DocumentId? GetDocumentIdInCurrentContext_NoLock(SourceTextContainer container) 250=> _bufferToDocumentInCurrentContextMap.TryGetValue(container, out var documentId) ? documentId : null; 253/// Finds the <see cref="DocumentId"/> related to the given <see cref="DocumentId"/> that 254/// is in the current context. If the <see cref="DocumentId"/> is currently closed, then 259internal DocumentId GetDocumentIdInCurrentContext(DocumentId documentId) 271var currentContextId = GetDocumentIdInCurrentContext_NoLock(container); 280private SourceTextContainer? GetOpenDocumentSourceTextContainer_NoLock(DocumentId documentId) 286internal bool TryGetOpenSourceGeneratedDocumentIdentity(DocumentId id, out (SourceGeneratedDocumentIdentity identity, DateTime generationDateTime) documentIdentity) 296internal virtual void SetDocumentContext(DocumentId documentId) 302protected internal void OnDocumentContextUpdated(DocumentId documentId) 306DocumentId oldActiveContextDocumentId; 332protected void CheckDocumentIsClosed(DocumentId documentId) 342protected void CheckDocumentIsOpen(DocumentId documentId) 352protected internal void OnDocumentOpened(DocumentId documentId, SourceTextContainer textContainer, bool isCurrentContext = true) 355internal virtual ValueTask TryOnDocumentOpenedAsync(DocumentId documentId, SourceTextContainer textContainer, bool isCurrentContext, CancellationToken cancellationToken) 361internal void OnDocumentOpened(DocumentId documentId, SourceTextContainer textContainer, bool isCurrentContext, bool requireDocumentPresentAndClosed) 437/// cref="OnDocumentOpened(DocumentId, SourceTextContainer, bool)" />, this doesn't result in the workspace 448var documentId = document.Identity.DocumentId; 495private void SignupForTextChanges(DocumentId documentId, SourceTextContainer textContainer, bool isCurrentContext, Action<Workspace, DocumentId, SourceText, PreservationMode> onChangedHandler) 504private void AddToOpenDocumentMap(DocumentId documentId) 512protected internal void OnAdditionalDocumentOpened(DocumentId documentId, SourceTextContainer textContainer, bool isCurrentContext = true) 515private protected void OnAdditionalDocumentOpened(DocumentId documentId, SourceTextContainer textContainer, bool isCurrentContext, bool requireDocumentPresentAndClosed) 529protected internal void OnAnalyzerConfigDocumentOpened(DocumentId documentId, SourceTextContainer textContainer, bool isCurrentContext = true) 532private protected void OnAnalyzerConfigDocumentOpened(DocumentId documentId, SourceTextContainer textContainer, bool isCurrentContext, bool requireDocumentPresentAndClosed) 550DocumentId documentId, 555Action<Solution, DocumentId> checkTextDocumentIsInSolution, 556Func<Solution, DocumentId, SourceText, PreservationMode, Solution> withDocumentText, 557Func<Solution, DocumentId, TextAndVersion, PreservationMode, Solution> withDocumentTextAndVersion, 558Action<Workspace, DocumentId, SourceText, PreservationMode> onDocumentTextChanged) 564var documentId = data.documentId; 607var documentId = data.documentId; 631internal virtual ValueTask TryOnDocumentClosedAsync(DocumentId documentId, CancellationToken cancellationToken) 637protected internal void OnDocumentClosed(DocumentId documentId, TextLoader reloader, bool updateActiveContext = false) 643private protected void OnDocumentClosedEx(DocumentId documentId, TextLoader reloader, bool requireDocumentPresentAndOpen) 713protected internal void OnAdditionalDocumentClosed(DocumentId documentId, TextLoader reloader) 716private protected void OnAdditionalDocumentClosed(DocumentId documentId, TextLoader reloader, bool requireDocumentPresentAndOpen) 727protected internal void OnAnalyzerConfigDocumentClosed(DocumentId documentId, TextLoader reloader) 730private protected void OnAnalyzerConfigDocumentClosed(DocumentId documentId, TextLoader reloader, bool requireDocumentPresentAndOpen) 745DocumentId documentId, 749Action<Solution, DocumentId> checkTextDocumentIsInSolution, 750Func<Solution, DocumentId, TextLoader, PreservationMode, Solution> withTextDocumentTextLoader) 756var documentId = data.documentId; 797private void UpdateCurrentContextMapping_NoLock(SourceTextContainer textContainer, DocumentId id, bool isCurrentContext) 810docIds = new OneOrMany<DocumentId>(id); 822private DocumentId? RemoveDocumentFromCurrentContextMapping_NoLock(SourceTextContainer textContainer, DocumentId closedDocumentId) 850private SourceText GetOpenDocumentText(Solution solution, DocumentId documentId) 868foreach (var docId in this.GetOpenDocumentIds()) 886foreach (var docId in this.GetOpenDocumentIds(oldProject.Id))
Workspace\Workspace_Events.cs (3)
96protected Task RaiseWorkspaceChangedEventAsync(WorkspaceChangeKind kind, Solution oldSolution, Solution newSolution, ProjectId? projectId = null, DocumentId? documentId = null) 166protected Task RaiseDocumentActiveContextChangedEventAsync(SourceTextContainer sourceTextContainer, DocumentId oldActiveContextDocumentId, DocumentId newActiveContextDocumentId)
Workspace\WorkspaceChangeEventArgs.cs (2)
63public DocumentId? DocumentId { get; } 65public WorkspaceChangeEventArgs(WorkspaceChangeKind kind, Solution oldSolution, Solution newSolution, ProjectId? projectId = null, DocumentId? documentId = null)
Microsoft.CodeAnalysis.Workspaces.MSBuild (12)
MSBuild\MSBuildProjectLoader.Worker.cs (1)
355DocumentId.CreateNewId(projectId, debugName: info.FilePath),
MSBuild\MSBuildWorkspace.cs (11)
394protected override void ApplyDocumentTextChanged(DocumentId documentId, SourceText text) 412protected override void ApplyAdditionalDocumentTextChanged(DocumentId documentId, SourceText text) 496private void SaveDocumentText(DocumentId id, string fullPath, SourceText newText, Encoding encoding) 518protected override void ApplyDocumentRemoved(DocumentId documentId) 531private void DeleteDocumentFile(DocumentId documentId, string fullPath) 711internal void OnDocumentRemovedInternal(DocumentId documentId) 716internal void OnAdditionalDocumentRemovedInternal(DocumentId documentId) 721internal void OnAnalyzerConfigDocumentRemovedInternal(DocumentId documentId) 726internal void OnDocumentTextChangedInternal(DocumentId documentId, SourceText newText) 731internal void OnAdditionalDocumentTextChangedInternal(DocumentId documentId, SourceText newText) 736internal void OnAnalyzerConfigDocumentTextChangedInternal(DocumentId documentId, SourceText newText)
Microsoft.DotNet.HotReload.Utils.Generator (10)
Delta.cs (1)
10public readonly record struct Delta (Plan.Change<DocumentId,string> Change);
DeltaProject.cs (1)
70DocumentId baseDocumentId = change.Document;
DocResolver.cs (5)
18private readonly ImmutableDictionary<string,DocumentId> docMap; 26private static ImmutableDictionary<string, DocumentId> BuildDocMap (IEnumerable<Document> docs) 28var builder = ImmutableDictionary.CreateBuilder<string, DocumentId>(); 31var value = doc.Id; 38public bool TryResolveDocumentId (string relativePath, [NotNullWhen(true)] out DocumentId id) {
Runners\LiveRunner.cs (1)
46if (!docResolver.TryResolveDocumentId(fp, out var id)) {
Runners\ScriptRunner.cs (2)
91private static DocumentId ResolveForScript (DocResolver resolver, string relativePath) { 92if (resolver.TryResolveDocumentId(relativePath, out var id))
Microsoft.Gen.BuildMetadata.Unit.Tests (1)
test\Generators\Shared\RoslynTestUtils.cs (1)
536foreach (var documentId in project.DocumentIds)
Microsoft.Gen.ComplianceReports.Unit.Tests (1)
test\Generators\Shared\RoslynTestUtils.cs (1)
536foreach (var documentId in project.DocumentIds)
Microsoft.Gen.ContextualOptions.Unit.Tests (1)
test\Generators\Shared\RoslynTestUtils.cs (1)
536foreach (var documentId in project.DocumentIds)
Microsoft.Gen.Logging.Unit.Tests (1)
test\Generators\Shared\RoslynTestUtils.cs (1)
536foreach (var documentId in project.DocumentIds)
Microsoft.Gen.MetadataExtractor.Unit.Tests (1)
test\Generators\Shared\RoslynTestUtils.cs (1)
536foreach (var documentId in project.DocumentIds)
Microsoft.Gen.Metrics.Unit.Tests (1)
test\Generators\Shared\RoslynTestUtils.cs (1)
536foreach (var documentId in project.DocumentIds)
Microsoft.Gen.MetricsReports.Unit.Tests (1)
test\Generators\Shared\RoslynTestUtils.cs (1)
536foreach (var documentId in project.DocumentIds)
Microsoft.Interop.ComInterfaceGenerator (9)
Analyzers\AddGeneratedComClassFixer.cs (3)
25private static async Task AddGeneratedComClassAsync(SolutionEditor solutionEditor, DocumentId documentId, SyntaxNode node, CancellationToken ct) 60var attrDocumentId = solutionEditor.OriginalSolution.GetDocumentId(syntaxRef.SyntaxTree); 72protected override Func<SolutionEditor, DocumentId, CancellationToken, Task> CreateFixForSelectedOptions(SyntaxNode node, ImmutableDictionary<string, Option> selectedOptions)
Analyzers\ConvertComImportToGeneratedComInterfaceFixer.cs (1)
35protected override Func<SolutionEditor, DocumentId, CancellationToken, Task> CreateFixForSelectedOptions(SyntaxNode node, ImmutableDictionary<string, Option> selectedOptions)
src\runtime\src\libraries\System.Runtime.InteropServices\gen\Common\ConvertToSourceGeneratedInteropFixer.cs (5)
33protected abstract Func<SolutionEditor, DocumentId, CancellationToken, Task> CreateFixForSelectedOptions(SyntaxNode node, ImmutableDictionary<string, Option> selectedOptions); 106private static async Task<Solution> ApplyActionAndEnableUnsafe(Solution solution, DocumentId documentId, Func<SolutionEditor, DocumentId, CancellationToken, Task> solutionBasedFix, CancellationToken ct) 161protected record struct ConvertToSourceGeneratedInteropFix(Func<SolutionEditor, DocumentId, CancellationToken, Task> ApplyFix, ImmutableDictionary<string, Option> SelectedOptions); 195DocumentId documentId = solutionEditor.OriginalSolution.GetDocumentId(diagnostic.Location.SourceTree)!;
Microsoft.Interop.LibraryImportGenerator (6)
Analyzers\ConvertToLibraryImportFixer.cs (1)
138protected override Func<SolutionEditor, DocumentId, CancellationToken, Task> CreateFixForSelectedOptions(SyntaxNode node, ImmutableDictionary<string, Option> selectedOptions)
src\runtime\src\libraries\System.Runtime.InteropServices\gen\Common\ConvertToSourceGeneratedInteropFixer.cs (5)
33protected abstract Func<SolutionEditor, DocumentId, CancellationToken, Task> CreateFixForSelectedOptions(SyntaxNode node, ImmutableDictionary<string, Option> selectedOptions); 106private static async Task<Solution> ApplyActionAndEnableUnsafe(Solution solution, DocumentId documentId, Func<SolutionEditor, DocumentId, CancellationToken, Task> solutionBasedFix, CancellationToken ct) 161protected record struct ConvertToSourceGeneratedInteropFix(Func<SolutionEditor, DocumentId, CancellationToken, Task> ApplyFix, ImmutableDictionary<string, Option> SelectedOptions); 195DocumentId documentId = solutionEditor.OriginalSolution.GetDocumentId(diagnostic.Location.SourceTree)!;
Roslyn.Diagnostics.Analyzers (24)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeFixes\MultiProjectSafeFixAllProvider.cs (3)
40using var _ = PooledDictionary<DocumentId, ImmutableArray<DocumentId>>.GetInstance(out var documentToLinkedDocuments); 89foreach (var linkedDocumentId in linkedDocumentIds)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\DocumentExtensions.cs (1)
230foreach (var linkedDocumentId in document.GetLinkedDocumentIds())
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\ISolutionExtensions.cs (9)
17public static IEnumerable<DocumentId> GetChangedDocuments(this Solution? newSolution, Solution oldSolution) 25foreach (var documentId in projectChanges.GetChangedDocuments()) 33public static TextDocument? GetTextDocument(this Solution solution, DocumentId? documentId) 50public static Document GetRequiredDocument(this Solution solution, DocumentId documentId) 100public static TextDocument GetRequiredAdditionalDocument(this Solution solution, DocumentId documentId) 103public static TextDocument GetRequiredAnalyzerConfigDocument(this Solution solution, DocumentId documentId) 106public static TextDocument GetRequiredTextDocument(this Solution solution, DocumentId documentId) 120public static Exception CreateDocumentNotFoundException(DocumentId? documentId) 161var documentId = solution.GetDocumentIdsWithFilePath(location.GetLineSpan().Path).FirstOrDefault();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Rename\Annotations\RenameDeclarationLocationReference.cs (2)
18public readonly DocumentId DocumentId; 36public RenameDeclarationLocationReference(DocumentId documentId, TextSpan textSpan, bool overriddenFromMetadata, int declaringSyntaxReferencesCount)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\SemanticModelReuse\SemanticModelWorkspaceServiceFactory.SemanticModelWorkspaceService.cs (8)
59private ImmutableDictionary<DocumentId, SemanticModelReuseInfo?> _semanticModelMap = ImmutableDictionary<DocumentId, SemanticModelReuseInfo?>.Empty; 82_semanticModelMap = ImmutableDictionary<DocumentId, SemanticModelReuseInfo?>.Empty; 137private static async Task<ImmutableDictionary<DocumentId, SemanticModelReuseInfo?>> ComputeUpdatedMapAsync( 138ImmutableDictionary<DocumentId, SemanticModelReuseInfo?> map, Document document, SyntaxNode bodyNode, CancellationToken cancellationToken) 159var builder = ImmutableDictionary.CreateBuilder<DocumentId, SemanticModelReuseInfo?>(); 164foreach (var linkedId in linkedIds) 175ImmutableDictionary<DocumentId, SemanticModelReuseInfo?> map,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Utilities\ParsedDocument.cs (1)
24internal readonly record struct ParsedDocument(DocumentId Id, SourceText Text, SyntaxNode Root, HostLanguageServices HostLanguageServices)