2 instantiations of ProjectId
Microsoft.CodeAnalysis.Workspaces (2)
Workspace\Solution\ProjectId.cs (2)
57=> new(Guid.NewGuid(), debugName); 66return new ProjectId(id, debugName);
1089 references to ProjectId
dotnet-format (14)
Analyzers\AnalyzerFormatter.cs (8)
143private async Task<ImmutableDictionary<ProjectId, ImmutableHashSet<string>>> GetProjectDiagnosticsAsync( 145ImmutableDictionary<ProjectId, ImmutableArray<DiagnosticAnalyzer>> projectAnalyzers, 199ImmutableDictionary<ProjectId, ImmutableArray<DiagnosticAnalyzer>> projectAnalyzers, 201ImmutableDictionary<ProjectId, ImmutableHashSet<string>> projectDiagnostics, 285internal static async Task<ImmutableDictionary<ProjectId, ImmutableArray<DiagnosticAnalyzer>>> FilterAnalyzersAsync( 287ImmutableDictionary<ProjectId, AnalyzersAndFixers> projectAnalyzersAndFixers, 296var projectAnalyzers = ImmutableDictionary.CreateBuilder<ProjectId, ImmutableArray<DiagnosticAnalyzer>>(); 297foreach (var projectId in projectAnalyzersAndFixers.Keys)
Analyzers\AnalyzerReferenceInformationProvider.cs (1)
19public ImmutableDictionary<ProjectId, AnalyzersAndFixers> GetAnalyzersAndFixers(
Analyzers\CodeStyleInformationProvider.cs (1)
20public ImmutableDictionary<ProjectId, AnalyzersAndFixers> GetAnalyzersAndFixers(
Analyzers\Interfaces\IAnalyzerInformationProvider.cs (1)
13ImmutableDictionary<ProjectId, AnalyzersAndFixers> GetAnalyzersAndFixers(
Workspaces\FolderWorkspace_ProjectLoader.cs (3)
32var projectId = ProjectId.CreateNewId(debugName: folderPath); 44static IEnumerable<DocumentInfo> LoadDocuments(ProjectId projectId, ImmutableArray<string> filePaths)
GenerateDocumentationAndConfigFiles (1)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\ISolutionExtensions.cs (1)
39public static Project GetRequiredProject(this Solution solution, ProjectId projectId)
Microsoft.CodeAnalysis.Analyzers (4)
MetaAnalyzers\Fixers\AnalyzerReleaseTrackingFix.FixAllProvider.cs (3)
162private readonly ImmutableArray<ProjectId> _projectIds; 165public FixAllAddAdditionalDocumentsAction(ImmutableArray<ProjectId> projectIds, Solution solution) 177foreach (var projectId in _projectIds)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\ISolutionExtensions.cs (1)
39public static Project GetRequiredProject(this Solution solution, ProjectId projectId)
Microsoft.CodeAnalysis.CodeStyle.Fixes (2)
src\roslyn\src\Analyzers\Core\CodeFixes\UpgradeProject\AbstractUpgradeProjectCodeFixProvider.cs (1)
78foreach (var projectId in solution.Projects.Select(p => p.Id))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\ISolutionExtensions.cs (1)
39public static Project GetRequiredProject(this Solution solution, ProjectId projectId)
Microsoft.CodeAnalysis.CSharp.Features (1)
CodeRefactorings\EnableNullable\EnableNullableCodeRefactoringProvider.FixAllProvider.cs (1)
42foreach (var projectId in solution.ProjectIds)
Microsoft.CodeAnalysis.ExternalAccess.HotReload (12)
Api\HotReloadMSBuildWorkspace.cs (4)
82elementSelector: info => oldProjectIdsByPath.TryGetValue((info.FilePath!, info.Name), out var oldProjectId) ? oldProjectId : null); 90var oldProjectId = projectIdMap[newProjectInfo.Id]; 130projectId: projectIdMap.TryGetValue(pr.ProjectId, out var oldProjectId) && oldProjectId != null ? oldProjectId : pr.ProjectId, 135ImmutableArray<DocumentInfo> MapDocuments(ProjectId mappedProjectId, IReadOnlyList<DocumentInfo> documents)
Api\HotReloadService.cs (8)
37public readonly ProjectId ProjectId; 46ProjectId projectId, 107public required ImmutableArray<(ProjectId project, ImmutableArray<Diagnostic> diagnostics)> TransientDiagnostics { get; init; } 118public required ImmutableDictionary<ProjectId, ImmutableArray<ProjectId>> ProjectsToRestart { get; init; } 123public required ImmutableArray<ProjectId> ProjectsToRebuild { get; init; } 128public required ImmutableArray<ProjectId> ProjectsToRedeploy { get; init; } 194public async Task<Updates> GetUpdatesAsync(Solution solution, ImmutableDictionary<ProjectId, RunningProjectInfo> runningProjects, CancellationToken cancellationToken)
Microsoft.CodeAnalysis.ExternalAccess.OmniSharp (1)
Workspace\OmniSharpDocumentId.cs (1)
11public static DocumentId CreateFromSerialized(ProjectId projectId, Guid id, bool isSourceGenerated, string? debugName)
Microsoft.CodeAnalysis.Features (257)
AddImport\AddImportFixData.cs (6)
22ProjectId projectReferenceToAdd = null, 23ProjectId portableExecutableReferenceProjectId = null, 67public readonly ProjectId ProjectReferenceToAdd = projectReferenceToAdd; 79public readonly ProjectId PortableExecutableReferenceProjectId = portableExecutableReferenceProjectId; 113public static AddImportFixData CreateForProjectSymbol(ImmutableArray<TextChange> textChanges, string title, ImmutableArray<string> tags, CodeActionPriority priority, ProjectId projectReferenceToAdd) 121public static AddImportFixData CreateForMetadataSymbol(ImmutableArray<TextChange> textChanges, string title, ImmutableArray<string> tags, CodeActionPriority priority, ProjectId portableExecutableReferenceProjectId, string portableExecutableReferenceFilePathToAdd)
AddImport\CodeActions\ProjectSymbolReferenceCodeAction.cs (4)
55private sealed class AddProjectReferenceCodeActionOperation(ProjectId referencingProject, ProjectId referencedProject, ApplyChangesOperation applyOperation) : CodeActionOperation 57private readonly ProjectId _referencingProject = referencingProject; 58private readonly ProjectId _referencedProject = referencedProject;
AddImport\References\MetadataSymbolReference.cs (2)
24ProjectId referenceProjectId, 27private readonly ProjectId _referenceProjectId = referenceProjectId;
AddMissingReference\AddMissingReferenceCodeAction.cs (1)
50foreach (var candidateProjectId in dependencyGraph.GetProjectsThatThisProjectTransitivelyDependsOn(project.Id))
CallHierarchy\CallHierarchyItemId.cs (1)
11internal sealed record CallHierarchyItemId(string SymbolKeyData, ProjectId ProjectId)
CodeFixes\Configuration\ConfigurationUpdater.cs (1)
305foreach (var projectId in _project.Solution.ProjectIds)
CodeLens\CodeLensHelpers.cs (2)
27var projectId = ProjectId.CreateFromSerialized(projectIdGuid);
CodeLens\CodeLensReferencesService.cs (1)
85public async ValueTask<VersionStamp> GetProjectCodeLensVersionAsync(Solution solution, ProjectId projectId, CancellationToken cancellationToken)
CodeLens\ICodeLensReferencesService.cs (1)
15ValueTask<VersionStamp> GetProjectCodeLensVersionAsync(Solution solution, ProjectId projectId, CancellationToken cancellationToken);
CodeRefactorings\WorkspaceServices\IAddMetadataReferenceCodeActionOperationFactoryWorkspaceService.cs (1)
11CodeActionOperation CreateAddMetadataReferenceOperation(ProjectId projectId, AssemblyIdentity assemblyIdentity);
Completion\Providers\AbstractInternalsVisibleToCompletionProvider.cs (2)
271var projectId = ProjectId.CreateFromSerialized(new Guid(projectIdGuid));
Completion\Providers\AbstractSymbolCompletionProvider.cs (8)
151Dictionary<ISymbol, ArrayBuilder<ProjectId>>? invalidProjectMap, 152ImmutableArray<ProjectId> totalProjects) 279Dictionary<ISymbol, ArrayBuilder<ProjectId>>? invalidProjectMap, 280ImmutableArray<ProjectId> totalProjects) 285ArrayBuilder<ProjectId>? invalidProjects = null; 482private static Dictionary<ISymbol, ArrayBuilder<ProjectId>> FindSymbolsMissingInLinkedContexts( 486var missingSymbols = new Dictionary<ISymbol, ArrayBuilder<ProjectId>>(LinkedFilesSymbolEquivalenceComparer.Instance); 492missingSymbols.GetOrAdd(symbol, m => ArrayBuilder<ProjectId>.GetInstance()).Add(documentId.ProjectId);
Completion\Providers\CompletionUtilities.cs (1)
53using var _ = PooledHashSet<ProjectId>.GetInstance(out var projectIds);
Completion\Providers\ImportCompletionProvider\AbstractTypeImportCompletionService.cs (3)
27private static readonly ConditionalWeakTable<ProjectId, TypeImportCompletionCacheEntry> s_projectItemsCache = new(); 92using var _3 = PooledHashSet<ProjectId>.GetInstance(out var nonGlobalAliasedProjectReferencesSet); 104var projectId = project.Id;
Completion\Providers\ImportCompletionProvider\ExtensionMemberImportCompletionHelper.cs (2)
32private static readonly ConcurrentDictionary<ProjectId, ExtensionMemberImportCompletionCacheEntry> s_projectItemsCache = new(); 237var projectId = project.Id;
Completion\Providers\ImportCompletionProvider\IRemoteExtensionMethodImportCompletionService.cs (1)
25ValueTask WarmUpCacheAsync(Checksum solutionChecksum, ProjectId projectId, CancellationToken cancellationToken);
Completion\Providers\SymbolCompletionItem.cs (4)
273private static ImmutableArray<ProjectId> SplitIntoProjectIds(string projectIds) 278using var _ = ArrayBuilder<ProjectId>.GetInstance(out var builder); 287builder.Add(ProjectId.CreateFromSerialized(projectGuid)); 299builder.Add(ProjectId.CreateFromSerialized(projectGuid));
Contracts\EditAndContinue\ManagedHotReloadUpdate.cs (2)
15ProjectId projectId, 33public ProjectId ProjectId { get; } = projectId;
ConvertTupleToStruct\AbstractConvertTupleToStructCodeRefactoringProvider.cs (1)
461var allProjects = dependentProjects.Select<ProjectId, Project>(solution.GetRequiredProject)
DesignerAttribute\DesignerAttributeDiscoveryService.cs (1)
171foreach (var projectId in dependencyGraph.GetTopologicallySortedProjects(cancellationToken))
Diagnostics\CodeAnalysisDiagnosticAnalyzerService.cs (4)
37private readonly ConcurrentDictionary<ProjectId, ImmutableArray<DiagnosticData>> _analyzedProjectToDiagnostics = []; 46private readonly ConcurrentSet<ProjectId> _clearedProjectIds = []; 83public bool HasProjectBeenAnalyzed(ProjectId projectId) 137public ImmutableArray<DiagnosticData> GetLastComputedProjectDiagnostics(ProjectId projectId)
Diagnostics\DiagnosticsUpdatedArgs.cs (4)
19public readonly ProjectId? ProjectId; 29ProjectId? projectId, 46ProjectId? projectId, 55ProjectId? projectId,
Diagnostics\ICodeAnalysisDiagnosticAnalyzerService.cs (4)
31bool HasProjectBeenAnalyzed(ProjectId projectId); 36/// caller is expected to check <see cref="HasProjectBeenAnalyzed(ProjectId)"/> prior to calling this method. 46/// solution. The caller is expected to check <see cref="HasProjectBeenAnalyzed(ProjectId)"/> prior to calling this 52ImmutableArray<DiagnosticData> GetLastComputedProjectDiagnostics(ProjectId projectId);
Diagnostics\IDiagnosticAnalyzerService.cs (4)
97Task<ImmutableDictionary<ProjectId, ImmutableHashSet<string>>> GetAllDiagnosticIdsAsync( 98Solution solution, ImmutableArray<ProjectId> projectIds, CancellationToken cancellationToken); 102Solution solution, ProjectId? projectId, CancellationToken cancellationToken); 106Solution solution, ProjectId projectId, AnalyzerReference analyzerReference, string language, CancellationToken cancellationToken);
Diagnostics\Service\DiagnosticAnalyzerService.cs (2)
73private ImmutableDictionary<(ProjectId projectId, IReadOnlyList<AnalyzerReference> analyzerReferences), ProjectAnalyzerInfo> _projectAnalyzerStateMap = ImmutableDictionary<(ProjectId projectId, IReadOnlyList<AnalyzerReference> analyzerReferences), ProjectAnalyzerInfo>.Empty;
Diagnostics\Service\DiagnosticAnalyzerService_RemoteOrLocalDispatcher.cs (6)
42Solution solution, ProjectId projectId, AnalyzerReference analyzerReference, string language, CancellationToken cancellationToken) 105public async Task<ImmutableDictionary<ProjectId, ImmutableHashSet<string>>> GetAllDiagnosticIdsAsync( 106Solution solution, ImmutableArray<ProjectId> projectIds, CancellationToken cancellationToken) 111var list = await client.TryInvokeAsync<IRemoteDiagnosticAnalyzerService, ImmutableDictionary<ProjectId, ImmutableHashSet<string>>>( 124foreach (var projectId in projectIds) 132Solution solution, ProjectId? projectId, CancellationToken cancellationToken)
EditAndContinue\CommittedSolution.cs (6)
77private ImmutableDictionary<ProjectId, StaleProjectInfo> _staleProjects = ImmutableDictionary<ProjectId, StaleProjectInfo>.Empty; 129public Project? GetProject(ProjectId id) 132public Project GetRequiredProject(ProjectId id) 135public ImmutableDictionary<ProjectId, StaleProjectInfo> StaleProjects 425public void CommitChanges(Solution solution, ImmutableDictionary<ProjectId, StaleProjectInfo> staleProjects)
EditAndContinue\DebuggingSession.cs (14)
77private readonly Dictionary<ProjectId, ImmutableList<ProjectBaseline>> _projectBaselines = []; 373ProjectId projectId, 526ImmutableDictionary<ProjectId, RunningProjectOptions> runningProjects, 593using var _ = PooledHashSet<ProjectId>.GetInstance(out var projectsToRebuildTransitive); 594IEnumerable<ProjectId> baselinesToDiscard = []; 615foreach (var projectId in pendingSolutionUpdate.ProjectsToRebuild) 624foreach (var projectId in projectsToRebuildTransitive) 663private void DiscardProjectBaselinesNoLock(Solution solution, IEnumerable<ProjectId> projects) 665foreach (var projectId in projects) 700using var _1 = PooledDictionary<string, ArrayBuilder<(ProjectId, int)>>.GetInstance(out var documentIndicesByMappedPath); 701using var _2 = PooledHashSet<ProjectId>.GetInstance(out var projectIds); 735foreach (var projectId in projectIds) 942public ImmutableList<ProjectBaseline> GetProjectBaselines(ProjectId projectId) 950public bool HasProjectEmitBaseline(ProjectId projectId)
EditAndContinue\EditAndContinueService.cs (1)
213ImmutableDictionary<ProjectId, RunningProjectOptions> runningProjects,
EditAndContinue\EditSession.cs (4)
1089ImmutableDictionary<ProjectId, RunningProjectOptions> runningProjects, 1101using var _4 = ArrayBuilder<ProjectId>.GetInstance(out var addedUnbuiltProjects); 1102using var _5 = ArrayBuilder<ProjectId>.GetInstance(out var projectsToRedeploy); 1103using var _6 = PooledDictionary<ProjectId, ArrayBuilder<Diagnostic>>.GetInstance(out var diagnosticBuilders);
EditAndContinue\EmitSolutionUpdateResults.cs (38)
36public required ImmutableDictionary<ProjectId, ImmutableArray<ProjectId>> ProjectsToRestart { get; init; } 39public required ImmutableArray<ProjectId> ProjectsToRebuild { get; init; } 42public required ImmutableArray<ProjectId> ProjectsToRedeploy { get; init; } 81public static Data CreateFromInternalError(Solution solution, string errorMessage, ImmutableDictionary<ProjectId, RunningProjectOptions> runningProjects) 110ProjectsToRestart = ImmutableDictionary<ProjectId, ImmutableArray<ProjectId>>.Empty, 137public required ImmutableDictionary<ProjectId, ImmutableArray<ProjectId>> ProjectsToRestart { get; init; } 144public required ImmutableArray<ProjectId> ProjectsToRebuild { get; init; } 150public required ImmutableArray<ProjectId> ProjectsToRedeploy { get; init; } 159ProjectsToRestart = ImmutableDictionary<ProjectId, ImmutableArray<ProjectId>>.Empty, 202IReadOnlyCollection<ProjectId> addedUnbuiltProjects, 203ImmutableDictionary<ProjectId, RunningProjectOptions> runningProjects, 204out ImmutableDictionary<ProjectId, ImmutableArray<ProjectId>> projectsToRestart, 205out ImmutableArray<ProjectId> projectsToRebuild) 232using var _1 = ArrayBuilder<ProjectId>.GetInstance(out var traversalStack); 235using var _2 = PooledHashSet<ProjectId>.GetInstance(out var projectsToRestartBuilder); 236var projectsToRebuildBuilder = PooledDictionary<ProjectId, ArrayBuilder<ProjectId>>.GetInstance(); 238using var _3 = ArrayBuilder<(ProjectId projectWithRudeEdits, ImmutableArray<ProjectId> impactedRunningProjects)>.GetInstance(out var impactedRunningProjectMap); 249foreach (var ancestor in GetAncestorsAndSelf(projectId)) 271foreach (var projectId in addedUnbuiltProjects) 292using var _6 = PooledHashSet<ProjectId>.GetInstance(out var updatedProjects); 293using var _7 = ArrayBuilder<ProjectId>.GetInstance(out var updatedProjectsToRemove); 294using var _8 = PooledHashSet<ProjectId>.GetInstance(out var projectsThatCausedRebuild); 302foreach (var updatedProjectId in updatedProjects) 310foreach (var ancestor in GetAncestorsAndSelf(updatedProjectId)) 324foreach (var ancestor in GetAncestorsAndSelf(updatedProjectId)) 369IEnumerable<ProjectId> GetAncestorsAndSelf(ProjectId initialProject) 376var projectId = traversalStack.Pop(); 379foreach (var referencingProjectId in graph.GetProjectsThatDirectlyDependOnThisProject(projectId)) 424public ImmutableArray<(ProjectId projectId, ImmutableArray<Diagnostic> diagnostics)> GetTransientDiagnostics() 426using var _ = ArrayBuilder<(ProjectId projectId, ImmutableArray<Diagnostic> diagnostics)>.GetInstance(out var result);
EditAndContinue\IEditAndContinueService.cs (1)
22ValueTask<EmitSolutionUpdateResults> EmitSolutionUpdateAsync(DebuggingSessionId sessionId, Solution solution, ImmutableDictionary<ProjectId, RunningProjectOptions> runningProjects, ActiveStatementSpanProvider activeStatementSpanProvider, CancellationToken cancellationToken);
EditAndContinue\PendingSolutionUpdate.cs (4)
21ImmutableDictionary<ProjectId, StaleProjectInfo> staleProjects, 22ImmutableArray<ProjectId> projectsToRebuild, 28public readonly ImmutableDictionary<ProjectId, StaleProjectInfo> StaleProjects = staleProjects; 29public readonly ImmutableArray<ProjectId> ProjectsToRebuild = projectsToRebuild;
EditAndContinue\ProjectBaseline.cs (2)
12internal sealed class ProjectBaseline(Guid moduleId, ProjectId projectId, EmitBaseline emitBaseline, ImmutableDictionary<string, OneOrMany<AssemblyIdentity>> initiallyReferencedAssemblies, int generation) 15public ProjectId ProjectId { get; } = projectId;
EditAndContinue\ProjectDiagnostics.cs (1)
12internal readonly record struct ProjectDiagnostics(ProjectId ProjectId, ImmutableArray<Diagnostic> Diagnostics);
EditAndContinue\Remote\DebuggingSessionProxy.cs (1)
57ImmutableDictionary<ProjectId, RunningProjectOptions> runningProjects,
EditAndContinue\Remote\IRemoteEditAndContinueService.cs (1)
30ValueTask<EmitSolutionUpdateResults.Data> EmitSolutionUpdateAsync(Checksum solutionChecksum, RemoteServiceCallbackId callbackId, DebuggingSessionId sessionId, ImmutableDictionary<ProjectId, RunningProjectOptions> runningProjects, CancellationToken cancellationToken);
EditAndContinue\RunningProjectOptions.cs (2)
25public static ImmutableDictionary<ProjectId, RunningProjectOptions> ToRunningProjectOptions<TInfo>( 42var result = ImmutableDictionary.CreateBuilder<ProjectId, RunningProjectOptions>();
EditAndContinue\SolutionUpdate.cs (13)
14ImmutableDictionary<ProjectId, StaleProjectInfo> staleProjects, 19ImmutableDictionary<ProjectId, ImmutableArray<ProjectId>> projectsToRestart, 20ImmutableArray<ProjectId> projectsToRebuild, 21ImmutableArray<ProjectId> projectsToRedeploy) 24public readonly ImmutableDictionary<ProjectId, StaleProjectInfo> StaleProjects = staleProjects; 31public readonly ImmutableDictionary<ProjectId, ImmutableArray<ProjectId>> ProjectsToRestart = projectsToRestart; 32public readonly ImmutableArray<ProjectId> ProjectsToRebuild = projectsToRebuild; 33public readonly ImmutableArray<ProjectId> ProjectsToRedeploy = projectsToRedeploy; 38ImmutableDictionary<ProjectId, StaleProjectInfo> staleProjects, 47projectsToRestart: ImmutableDictionary<ProjectId, ImmutableArray<ProjectId>>.Empty,
Emit\ICompilationOutputsProviderService.cs (1)
11CompilationOutputs GetCompilationOutputs(ProjectId projectId);
EncapsulateField\AbstractEncapsulateFieldService.cs (3)
236var projectId = document.Project.Id; 238using var _ = PooledHashSet<ProjectId>.GetInstance(out var linkedProjectIds); 279HashSet<ProjectId> linkedProjectIds,
ExternalAccess\UnitTesting\API\UnitTestingHotReloadService.cs (1)
94.EmitSolutionUpdateAsync(sessionId, solution, runningProjects: ImmutableDictionary<ProjectId, RunningProjectOptions>.Empty, s_solutionActiveStatementSpanProvider, cancellationToken)
ExternalAccess\UnitTesting\IRemoteUnitTestingSearchService.cs (2)
16Checksum solutionChecksum, ProjectId projectId, UnitTestingSearchQuery query, CancellationToken cancellationToken); 18Checksum solutionChecksum, ProjectId projectId, UnitTestingSearchQuery query, 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)
151public static void LogWorkItemEnqueue(CountLogAggregator<object> logAggregator, ProjectId _)
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 (7)
260foreach (var projectId in solution.ProjectIds) 267private void EnqueueProjectChangedEvent(Solution oldSolution, Solution newSolution, ProjectId projectId, bool processSourceGeneratedDocuments) 279private void EnqueueFullProjectEvent(Solution solution, ProjectId projectId, UnitTestingInvocationReasons invocationReasons, bool processSourceGeneratedDocuments) 572public UnitTestingReanalyzeScope(IEnumerable<ProjectId>? projectIds = null, IEnumerable<DocumentId>? documentIds = null) 615case ProjectId projectId: 663case ProjectId projectId: 706case ProjectId projectId:
ExternalAccess\UnitTesting\SolutionCrawler\UnitTestingWorkCoordinator.UnitTestingAsyncDocumentWorkItemQueue.cs (4)
18private readonly Dictionary<ProjectId, Dictionary<DocumentId, UnitTestingWorkItem>> _documentWorkQueue = []; 43ProjectId? preferableProjectId, 63ProjectId? preferableProjectId) 65var projectId = GetBestProjectId_NoLock(
ExternalAccess\UnitTesting\SolutionCrawler\UnitTestingWorkCoordinator.UnitTestingAsyncProjectWorkItemQueue.cs (6)
16private sealed class UnitTestingAsyncProjectWorkItemQueue(UnitTestingSolutionCrawlerProgressReporter progressReporter) : UnitTestingAsyncWorkItemQueue<ProjectId>(progressReporter) 18private readonly Dictionary<ProjectId, UnitTestingWorkItem> _projectWorkQueue = []; 32protected override bool TryTake_NoLock(ProjectId key, out UnitTestingWorkItem workInfo) 44ProjectId? preferableProjectId, 54var projectId = GetBestProjectId_NoLock( 66var key = item.ProjectId;
ExternalAccess\UnitTesting\SolutionCrawler\UnitTestingWorkCoordinator.UnitTestingAsyncWorkItemQueue.cs (5)
40ProjectId? preferableProjectId, 208ProjectId? preferableProjectId, 240protected static ProjectId GetBestProjectId_NoLock<T>( 241Dictionary<ProjectId, T> workQueue, 242ProjectId? projectId)
ExternalAccess\UnitTesting\SolutionCrawler\UnitTestingWorkCoordinator.UnitTestingLowPriorityProcessor.cs (2)
125var projectId = workItem.ProjectId; 196var uniqueIds = new HashSet<ProjectId>();
ExternalAccess\UnitTesting\SolutionCrawler\UnitTestingWorkCoordinator.UnitTestingNormalPriorityProcessor.cs (2)
36private ProjectId? _currentProjectProcessing; 165private void SetProjectProcessing(ProjectId currentProject)
ExternalAccess\UnitTesting\SolutionCrawler\UnitTestingWorkCoordinator.UnitTestingSemanticChangeProcessor.cs (11)
177var projectId = thisDocument.Id.ProjectId; 211var self = project.Id; 224foreach (var projectId in GetProjectsToAnalyze(solution, self)) 300private static IEnumerable<ProjectId> GetProjectsToAnalyze(Solution solution, ProjectId projectId) 323private static readonly Func<int, ProjectId, string> s_enqueueLogger = (t, i) => string.Format("[{0}] {1}", t, i.ToString()); 331private readonly Dictionary<ProjectId, UnitTestingData> _pendingWork = []; 361public void Enqueue(ProjectId projectId, bool needDependencyTracking = false) 419foreach (var projectId in GetProjectsToAnalyze(solution, data.ProjectId)) 439private readonly struct UnitTestingData(ProjectId projectId, bool needDependencyTracking, IAsyncToken asyncToken) 442public readonly ProjectId ProjectId = projectId;
ExternalAccess\UnitTesting\SolutionCrawler\UnitTestingWorkCoordinator.UnitTestingWorkItem.cs (2)
23public readonly ProjectId ProjectId; 57ProjectId projectId,
ExternalAccess\VSTypeScript\Api\IVSTypeScriptDiagnosticAnalyzerService.cs (1)
17void Reanalyze(Workspace? workspace = null, IEnumerable<ProjectId>? projectIds = null, IEnumerable<DocumentId>? documentIds = null, bool highPriority = false);
ExternalAccess\VSTypeScript\VSTypeScriptDiagnosticAnalyzerService.cs (1)
19public void Reanalyze(Workspace? workspace, IEnumerable<ProjectId>? projectIds, IEnumerable<DocumentId>? documentIds, bool highPriority)
FindUsages\DefinitionItem.DefaultDefinitionItem.cs (1)
68var project = solution.GetProject(ProjectId.CreateFromSerialized(Guid.Parse(projectIdGuid), projectDebugName));
FindUsages\DefinitionItemFactory.cs (4)
127var metadataLocations = GetMetadataLocations(definition, solution, out var originatingProjectId); 152internal static ImmutableDictionary<string, string> WithMetadataSymbolProperties(this ImmutableDictionary<string, string> properties, ISymbol symbol, ProjectId originatingProjectId) 158internal static AssemblyLocation GetMetadataLocation(IAssemblySymbol assembly, Solution solution, out ProjectId originatingProjectId) 168internal static ImmutableArray<AssemblyLocation> GetMetadataLocations(ISymbol definition, Solution solution, out ProjectId? originatingProjectId)
InheritanceMargin\AbstractInheritanceMarginService_Helpers.cs (1)
710var metadataLocation = DefinitionItemFactory.GetMetadataLocation(symbol.ContainingAssembly, solution, out var originatingProjectId);
LegacySolutionEvents\IRemoteLegacySolutionEventsAggregationService.cs (1)
25ValueTask OnWorkspaceChangedAsync(Checksum oldSolutionChecksum, Checksum newSolutionChecksum, WorkspaceChangeKind kind, ProjectId? projectId, DocumentId? documentId, bool processSourceGeneratedDocuments, CancellationToken cancellationToken);
MetadataAsSource\DecompilationMetadataAsSourceFileProvider.cs (2)
335var projectId = ProjectId.CreateNewId();
MetadataAsSource\MetadataAsSourceGeneratedFileInfo.cs (1)
16public ProjectId SourceProjectId { get; }
MoveStaticMembers\MoveStaticMembersWithDialogCodeAction.cs (2)
237ILookup<ProjectId, (ReferenceLocation location, bool isExtensionMethod)> projectToLocations, 366ProjectId projectId,
NavigateTo\AbstractNavigateToSearchService.InProcess.cs (6)
108using var _ = ArrayBuilder<(TopLevelSyntaxTreeIndex, ProjectId)>.GetInstance(out var linkedIndices); 142ArrayBuilder<(TopLevelSyntaxTreeIndex, ProjectId)>? linkedIndices, 200ImmutableArray<ProjectId> additionalMatchingProjects) 231private static ImmutableArray<ProjectId> GetAdditionalProjectsWithMatch( 234ArrayBuilder<(TopLevelSyntaxTreeIndex, ProjectId)>? linkedIndices) 239using var result = TemporaryArray<ProjectId>.Empty;
NavigateTo\IRemoteNavigateToSearchService.cs (2)
21ValueTask SearchProjectsAsync(Checksum solutionChecksum, ImmutableArray<ProjectId> projectIds, ImmutableArray<DocumentId> priorityDocumentIds, string searchPattern, ImmutableArray<string> kinds, RemoteServiceCallbackId callbackId, CancellationToken cancellationToken); 23ValueTask SearchGeneratedDocumentsAsync(Checksum solutionChecksum, ImmutableArray<ProjectId> projectIds, string searchPattern, ImmutableArray<string> kinds, RemoteServiceCallbackId callbackId, CancellationToken cancellationToken);
NavigateTo\NavigateToSearcher.cs (1)
468using var _ = PooledHashSet<ProjectId>.GetInstance(out var allProjectIdSet);
NavigateTo\RoslynNavigateToItem.cs (3)
30ImmutableArray<ProjectId> additionalMatchingProjects, 45public readonly ImmutableArray<ProjectId> AdditionalMatchingProjects = additionalMatchingProjects; 156foreach (var additionalProjectId in item.AdditionalMatchingProjects)
Navigation\INavigableItem.cs (1)
90record struct NavigableProject(string Name, ProjectId Id)
PdbSourceDocument\PdbSourceDocumentMetadataAsSourceFileProvider.cs (8)
53private readonly Dictionary<string, ProjectId> _assemblyToProjectMap = []; 60private readonly HashSet<ProjectId> _sourceLinkEnabledProjects = []; 212if (!_assemblyToProjectMap.TryGetValue(assemblyName, out var projectId)) 313var projectId = ProjectId.CreateNewId(); 329SourceFileInfo?[] sourceFileInfos, Encoding encoding, ProjectId projectId, Workspace sourceWorkspace, Project sourceProject) 405foreach (var projectId in _assemblyToProjectMap.Values) 436internal record struct SourceDocumentInfo(DocumentId DocumentId, Encoding Encoding, SourceHashAlgorithm ChecksumAlgorithm, ProjectId SourceProjectId, Workspace SourceWorkspace, DocumentInfo DocumentInfo);
ProjectManagement\IProjectManagementService.cs (1)
16IList<string> GetFolders(ProjectId projectId, Workspace workspace);
QuickInfo\CommonSemanticQuickInfoProvider.cs (1)
112using var _ = ArrayBuilder<ProjectId>.GetInstance(out var invalidProjects);
Rename\SymbolicRenameInfo.cs (1)
231var projectIdOfLocation = sourceDocument.Project.Id;
SemanticSearch\ISemanticSearchSolutionService.cs (1)
28(WorkspaceChangeKind changeKind, ProjectId? projectId, DocumentId? documentId) GetWorkspaceChangeKind(Solution oldSolution, Solution newSolution);
SemanticSearch\SemanticSearchDefinitionItemFactory.cs (1)
44var metadataLocation = DefinitionItemFactory.GetMetadataLocation(module.ContainingAssembly, solution, out var originatingProjectId);
Shared\Utilities\ExtractTypeHelpers.cs (1)
54ProjectId projectId,
Shared\Utilities\SupportedPlatformData.cs (4)
13internal sealed class SupportedPlatformData(Solution solution, ImmutableArray<ProjectId> invalidProjects, ImmutableArray<ProjectId> candidateProjects) 18public readonly ImmutableArray<ProjectId> InvalidProjects = invalidProjects; 19public readonly ImmutableArray<ProjectId> CandidateProjects = candidateProjects;
SignatureHelp\AbstractSignatureHelpProvider.cs (1)
278using var _ = ArrayBuilder<ProjectId>.GetInstance(out var invalidProjectsForCurrentSymbol);
src\roslyn\src\Analyzers\Core\CodeFixes\UpgradeProject\AbstractUpgradeProjectCodeFixProvider.cs (1)
78foreach (var projectId in solution.Projects.Select(p => p.Id))
Workspace\MiscellaneousFileUtilities.cs (2)
71var projectId = ProjectId.CreateNewId(debugName: $"{workspace.GetType().Name} Files Project for {filePath}");
Microsoft.CodeAnalysis.Workspaces (728)
Diagnostics\DiagnosticAnalysisResult.cs (3)
24public readonly ProjectId ProjectId; 47ProjectId projectId, 66public static DiagnosticAnalysisResult CreateEmpty(ProjectId projectId)
Diagnostics\DiagnosticData.cs (3)
32ProjectId projectId, 69public readonly ProjectId ProjectId = projectId; 256ProjectId projectId,
Diagnostics\HostDiagnosticAnalyzers.cs (2)
81public ImmutableDictionary<ProjectId, ImmutableHashSet<string>> GetAllDiagnosticIds( 85var builder = ImmutableDictionary.CreateBuilder<ProjectId, ImmutableHashSet<string>>();
Diagnostics\IRemoteDiagnosticAnalyzerService.cs (9)
18Checksum solutionChecksum, ProjectId projectId, CancellationToken cancellationToken); 21Checksum solutionChecksum, ProjectId projectId, ImmutableArray<string> diagnosticIds, CancellationToken cancellationToken); 33Checksum solutionChecksum, ProjectId projectId, 41Checksum solutionChecksum, ProjectId projectId, 46ValueTask<ImmutableArray<DiagnosticData>> GetSourceGeneratorDiagnosticsAsync(Checksum solutionChecksum, ProjectId projectId, CancellationToken cancellationToken); 49Checksum solutionChecksum, ProjectId projectId, string analyzerReferenceFullPath, string language, CancellationToken cancellationToken); 54ValueTask<ImmutableDictionary<ProjectId, ImmutableHashSet<string>>> GetAllDiagnosticIdsAsync( 55Checksum solutionChecksum, ImmutableArray<ProjectId> projectIds, CancellationToken cancellationToken); 58Checksum solutionChecksum, ProjectId? projectId, CancellationToken cancellationToken);
Editing\SymbolEditor.cs (4)
117foreach (var projectId in this.GetProjectsForAssembly(symbol.ContainingAssembly)) 129private ImmutableDictionary<string, ImmutableArray<ProjectId>> _assemblyNameToProjectIdMap; 131private ImmutableArray<ProjectId> GetProjectsForAssembly(IAssemblySymbol assembly) 145private static async Task<ISymbol> GetSymbolAsync(Solution solution, ProjectId projectId, string symbolId, CancellationToken cancellationToken)
ExternalAccess\UnitTesting\Api\UnitTestingProjectExtensions.cs (1)
12public static string? GetDebugName(this ProjectId projectId)
FindSymbols\FindReferences\DependentProjectsFinder.cs (7)
208using var _1 = PooledDictionary<ProjectId, List<ProjectId>>.GetInstance(out var projectIdsToReferencingSubmissionIds); 211foreach (var projectId in solution.ProjectIds) 237using var _2 = ArrayBuilder<ProjectId>.GetInstance(out var projectIdsToProcess); 238foreach (var dependentProject in dependentProjects.Select(dp => dp.project.Id)) 241while (projectIdsToProcess.TryPop(out var toProcess)) 245foreach (var pId in submissionIds)
FindSymbols\FindReferences\DependentTypeFinder.cs (7)
399private static async Task<ISet<ProjectId>> GetProjectsThatCouldReferenceTypeAsync( 430return SpecializedCollections.EmptySet<ProjectId>(); 440private static IEnumerable<ProjectId> GetProjectsThatCouldReferenceType( 451IEnumerable<ProjectId> projectsThatCouldReferenceType) 465var order = new Dictionary<ProjectId, int>(capacity: solution.ProjectIds.Count); 470foreach (var projectId in dependencyGraph.GetTopologicallySortedProjects()) 482IEnumerable<ProjectId> projectsThatCouldReferenceType)
FindSymbols\FindReferences\FindReferencesSearchEngine.cs (1)
138foreach (var projectId in dependencyGraph.GetTopologicallySortedProjects(cancellationToken))
FindSymbols\FindReferences\FindReferencesSearchEngine_FindReferencesInDocuments.cs (1)
62foreach (var projectId in dependencyGraph.GetTopologicallySortedProjects(cancellationToken))
FindSymbols\FindReferences\IRemoteDependentTypeFinderService.cs (1)
17ImmutableArray<ProjectId> projectsOpt,
FindSymbols\IRemoteSymbolFinderService.cs (3)
36Checksum solutionChecksum, ProjectId projectId, string name, SearchKind searchKind, SymbolFilter criteria, CancellationToken cancellationToken); 42Checksum solutionChecksum, ProjectId projectId, string name, bool ignoreCase, SymbolFilter criteria, CancellationToken cancellationToken); 48Checksum solutionChecksum, ProjectId projectId, string pattern, SymbolFilter criteria, CancellationToken cancellationToken);
FindSymbols\SymbolFinder_Declarations_CustomQueries.cs (1)
59foreach (var projectId in solution.ProjectIds)
FindSymbols\SymbolTree\MetadataInfo.cs (2)
26public readonly HashSet<ProjectId> ReferencingProjects; 28public MetadataInfo(SymbolTreeInfo info, HashSet<ProjectId> referencingProjects)
FindSymbols\SymbolTree\SymbolTreeInfoCacheService.cs (11)
30private readonly ConcurrentDictionary<ProjectId, (VersionStamp semanticVersion, SymbolTreeInfo info)> _projectIdToInfo = []; 36private readonly AsyncBatchingWorkQueue<ProjectId> _workQueue; 47_workQueue = new AsyncBatchingWorkQueue<ProjectId>( 50EqualityComparer<ProjectId>.Default, 89var referencingProjects = new HashSet<ProjectId>(solution.Projects.Where(p => p.MetadataReferences.Contains(reference)).Select(p => p.Id)); 120ImmutableSegmentedList<ProjectId> projectIds, CancellationToken cancellationToken) 124foreach (var projectId in projectIds) 140foreach (var projectId in removedProjectIds) 216public void RemoveProject(ProjectId projectId) 222private void RemoveMetadataReferences(ProjectId projectId) 244foreach (var projectId in service._workspace.CurrentSolution.ProjectIds)
Packaging\IPackageInstallerService.cs (2)
17bool IsEnabled(ProjectId projectId); 19bool IsInstalled(ProjectId projectId, string packageName);
Remote\IRemoteKeepAliveService.cs (5)
74ProjectId? projectId, 101ProjectId? projectId, 134ProjectId? projectId, 264public static Task<RemoteKeepAliveSession> CreateAsync(Solution solution, ProjectId? projectId, CancellationToken cancellationToken) 273SolutionCompilationState compilationState, ProjectId? projectId, CancellationToken cancellationToken)
Remote\RemoteArguments.cs (3)
24internal sealed class SerializableSymbolAndProjectId(string symbolKeyData, ProjectId projectId) : IEquatable<SerializableSymbolAndProjectId> 30public readonly ProjectId ProjectId = projectId; 102var projectId = ProjectId;
Remote\RemoteHostClient.cs (2)
117ProjectId? projectId, 158ProjectId projectId,
Remote\RemoteServiceConnection.cs (4)
68ProjectId projectId, 74ProjectId projectId, 118ProjectId projectId, 124ProjectId projectId,
Rename\ConflictEngine\ConflictResolver.cs (2)
145private static bool IsIdentifierValid_Worker(Solution solution, string replacementText, IEnumerable<ProjectId> projectIds) 222ProjectId projectId,
Rename\ConflictEngine\ConflictResolver.Session.cs (1)
309ProjectId projectId,
Serialization\SerializerService_Asset.cs (2)
78var projectId = ProjectId.ReadFrom(reader);
Shared\Extensions\ISolutionExtensions.cs (1)
24foreach (var projectId in solution.ProjectIds)
SourceGeneration\IRemoteSourceGenerationService.cs (5)
36Checksum solutionChecksum, ProjectId projectId, bool withFrozenSourceGeneratedDocuments, CancellationToken cancellationToken); 47Checksum solutionChecksum, ProjectId projectId, ImmutableArray<DocumentId> documentIds, bool withFrozenSourceGeneratedDocuments, CancellationToken cancellationToken); 53Checksum solutionChecksum, ProjectId projectId, ImmutableArray<Checksum> analyzerReferenceChecksums, string language, CancellationToken cancellationToken); 60Checksum solutionChecksum, ProjectId projectId, string analyzerReferenceFullPath, CancellationToken cancellationToken); 67Checksum solutionChecksum, ProjectId projectId, string analyzerReferenceFullPath, CancellationToken cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\ISolutionExtensions.cs (4)
39public static Project GetRequiredProject(this Solution solution, ProjectId projectId) 131public static Solution WithUpToDateSourceGeneratorDocuments(this Solution solution, IEnumerable<ProjectId> projectIds) 138var projectIdToSourceGenerationVersion = ImmutableSortedDictionary.CreateBuilder<ProjectId, SourceGeneratorExecutionVersion>(); 140foreach (var projectId in projectIds)
Workspace\AdhocWorkspace.cs (2)
65var info = ProjectInfo.Create(ProjectId.CreateNewId(), VersionStamp.Create(), name, name, language); 108public Document AddDocument(ProjectId projectId, string name, SourceText text)
Workspace\CommandLineProject.cs (2)
104var projectId = ProjectId.CreateNewId(debugName: projectName);
Workspace\Host\Metadata\FrameworkAssemblyPathResolverFactory.cs (1)
34public string? ResolveAssemblyPath(ProjectId projectId, string assemblyName, string? fullyQualifiedTypeName)
Workspace\Host\Metadata\IFrameworkAssemblyPathResolver.cs (1)
22string? ResolveAssemblyPath(ProjectId projectId, string assemblyName, string? fullyQualifiedName);
Workspace\Host\PersistentStorage\ProjectKey.cs (2)
17internal readonly struct ProjectKey(SolutionKey solution, ProjectId id, string? filePath, string name, Checksum parseOptionsChecksum) 23public readonly ProjectId Id = id;
Workspace\Host\SourceFiles\IDynamicFileInfoProvider.cs (5)
22/// <param name="projectId"><see cref="ProjectId"/> this file belongs to</param> 26Task<DynamicFileInfo?> GetDynamicFileInfoAsync(ProjectId projectId, string? projectFilePath, string filePath, CancellationToken cancellationToken); 31/// <param name="projectId"><see cref="ProjectId"/> this file belongs to</param> 34Task RemoveDynamicFileInfoAsync(ProjectId projectId, string? projectFilePath, string filePath, CancellationToken cancellationToken); 37/// indicate content of a file has updated. the event argument "string" should be same as "filepath" given to <see cref="GetDynamicFileInfoAsync(ProjectId, string, string, CancellationToken)"/>
Workspace\ProjectSystem\ProjectSystemProject.BatchingDocumentCollection.cs (1)
584ProjectId projectId,
Workspace\ProjectSystem\ProjectSystemProject.cs (7)
143public ProjectId Id { get; } 149ProjectId id, 306Solution solution, ProjectId projectId) 679var projectId = projectBeforeMutation.Id; 746ProjectId projectId, 764ProjectId projectId, 785ProjectId projectId,
Workspace\ProjectSystem\ProjectSystemProjectFactory.cs (26)
61private ImmutableDictionary<ProjectId, string?> _projectToMaxSupportedLangVersionMap = ImmutableDictionary<ProjectId, string?>.Empty; 64private ImmutableDictionary<ProjectId, string> _projectToDependencyNodeTargetIdentifier = ImmutableDictionary<ProjectId, string>.Empty; 102var projectId = ProjectId.CreateNewId(projectSystemName); 203public string? TryGetDependencyNodeTargetIdentifier(ProjectId projectId) 210public string? TryGetMaxSupportedLanguageVersion(ProjectId projectId) 281public void ApplyChangeToWorkspace(ProjectId projectId, Func<CodeAnalysis.Solution, CodeAnalysis.Solution> solutionTransformation) 372private static bool TryGetReferenceInformation(ProjectId projectId, ProjectUpdateState projectUpdateState, out ProjectReferenceInformation projectReference) 377private static ProjectReferenceInformation GetRequiredReferenceInformation(ProjectId projectId, ProjectUpdateState projectUpdateState) 387internal void RemoveProjectFromTrackingMaps_NoLock(ProjectId projectId) 419ImmutableInterlocked.TryRemove<ProjectId, string?>(ref _projectToMaxSupportedLangVersionMap, projectId, out _); 484internal void SetMaxLanguageVersion(ProjectId projectId, string? maxLanguageVersion) 493internal void SetDependencyNodeTargetIdentifier(ProjectId projectId, string targetIdentifier) 503ProjectId projectId, 533foreach (var otherProjectId in projectsForOutputPath) 552/// <param name="projectIdToReference">The <see cref="ProjectId"/> of the project that could be referenced in place 559ProjectId projectIdToReference, 649/// <param name="projectId">The <see cref="ProjectId"/> of the project being referenced.</param> 656ProjectId projectId, 661foreach (var projectIdToRetarget in solutionChanges.Solution.ProjectIds) 719var projectIdToReference = ids.First(); 749ProjectId referencingProject, 777ProjectId projectId, 909Func<Solution, ProjectId, ProjectUpdateState, TReference, TReference, (Solution newSolution, ProjectUpdateState newProjectUpdateState)> update,
Workspace\ProjectSystem\ProjectSystemProjectFactory.ProjectUpdateState.cs (13)
53ImmutableDictionary<string, ImmutableArray<ProjectId>> ProjectsByOutputPath, 54ImmutableDictionary<ProjectId, ProjectReferenceInformation> ProjectReferenceInfos, 61ImmutableDictionary<string, ImmutableArray<ProjectId>>.Empty.WithComparers(StringComparer.OrdinalIgnoreCase), 62ImmutableDictionary<ProjectId, ProjectReferenceInformation>.Empty, [], [], [], []); 64public ProjectUpdateState WithProjectReferenceInfo(ProjectId projectId, ProjectReferenceInformation projectReferenceInformation) 72public ProjectUpdateState WithProjectOutputPath(string projectOutputPath, ProjectId projectId) 79static ImmutableDictionary<string, ImmutableArray<ProjectId>> AddProject(string path, ProjectId projectId, ImmutableDictionary<string, ImmutableArray<ProjectId>> map) 92public ProjectUpdateState RemoveProjectOutputPath(string projectOutputPath, ProjectId projectId) 99static ImmutableDictionary<string, ImmutableArray<ProjectId>> RemoveProject(string path, ProjectId projectId, ImmutableDictionary<string, ImmutableArray<ProjectId>> map)
Workspace\ProjectSystem\SolutionChangeAccumulator.cs (2)
29public ProjectId? WorkspaceChangeProjectId { get; private set; } 89public void UpdateSolutionForProjectAction(ProjectId projectId, Solution newSolution)
Workspace\Solution\AssetPath.cs (6)
31public readonly ProjectId? ProjectId; 39public AssetPath(AssetPathKind kind, ProjectId? projectId = null, DocumentId? documentId = null) 46public AssetPath(AssetPathKind kind, ProjectId? projectId) 87public static implicit operator AssetPath(ProjectId projectId) => new(AssetPathKind.Projects, projectId); 98public static AssetPath SolutionAndProjectForTesting(ProjectId projectId) 105public static AssetPath DocumentsInProject(ProjectId projectId)
Workspace\Solution\ChecksumsAndIds.cs (5)
13/// A paired list of <see cref="ProjectId"/>s, and the checksums for their corresponding <see 19public readonly ImmutableArray<ProjectId> Ids; 21public ProjectChecksumsAndIds(ChecksumCollection checksums, ImmutableArray<ProjectId> ids) 42reader.ReadArray(static reader => ProjectId.ReadFrom(reader))); 56public readonly (Checksum checksum, ProjectId id) Current
Workspace\Solution\DocumentId.cs (7)
22public ProjectId ProjectId { get; } 30private DocumentId(ProjectId projectId, Guid guid, bool isSourceGenerated, string? debugName) 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) 97var projectId = ProjectId.ReadFrom(reader);
Workspace\Solution\Project.cs (1)
56public ProjectId Id => State.Id;
Workspace\Solution\ProjectChanges.cs (1)
19public ProjectId ProjectId => NewProject.Id;
Workspace\Solution\ProjectCone.cs (5)
16public readonly ProjectId RootProjectId; 17public readonly FrozenSet<ProjectId> ProjectIds; 19public ProjectCone(ProjectId rootProjectId, FrozenSet<ProjectId> projectIds) 26public bool Contains(ProjectId projectId)
Workspace\Solution\ProjectDependencyGraph.cs (110)
35private readonly ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> _referencesMap; 45private ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>>? _lazyReverseReferencesMap; 48private ImmutableArray<ProjectId> _lazyTopologicallySortedProjects; 53private ImmutableArray<IEnumerable<ProjectId>> _lazyDependencySets; 56private ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> _transitiveReferencesMap; 57private ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> _reverseTransitiveReferencesMap; 60private static readonly ObjectPool<ImmutableHashSet<ProjectId>.Builder> s_reverseReferencesBuilderPool = new(static () => ImmutableHashSet.CreateBuilder<ProjectId>(), size: 256); 69ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>>.Empty, 71ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>>.Empty, 72ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>>.Empty, 77ImmutableHashSet<ProjectId> projectIds, 78ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> referencesMap) 83transitiveReferencesMap: ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>>.Empty, 84reverseTransitiveReferencesMap: ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>>.Empty, 92ImmutableHashSet<ProjectId> projectIds, 93ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> referencesMap, 94ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>>? reverseReferencesMap, 95ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> transitiveReferencesMap, 96ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> reverseTransitiveReferencesMap, 97ImmutableArray<ProjectId> topologicallySortedProjects, 98ImmutableArray<IEnumerable<ProjectId>> dependencySets) 115internal ImmutableHashSet<ProjectId> ProjectIds { get; } 117private static ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> RemoveItemsWithEmptyValues( 118ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> map) 120ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>>.Builder? builder = null; 135internal ProjectDependencyGraph WithProjectReferences(ProjectId projectId, IReadOnlyList<ProjectReference> projectReferences) 169public IImmutableSet<ProjectId> GetProjectsThatThisProjectDirectlyDependsOn(ProjectId projectId) 182public IImmutableSet<ProjectId> GetProjectsThatDirectlyDependOnThisProject(ProjectId projectId) 203private ImmutableHashSet<ProjectId> GetProjectsThatDirectlyDependOnThisProject_NoLock(ProjectId projectId) 214private ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> ComputeReverseReferencesMap() 216using var _1 = PooledDictionary<ProjectId, ImmutableHashSet<ProjectId>.Builder>.GetInstance(out var reverseReferencesMapBuilders); 219foreach (var referencedId in references) 232var reverseReferencesBuilder = ImmutableDictionary.CreateBuilder<ProjectId, ImmutableHashSet<ProjectId>>(); 252internal ImmutableHashSet<ProjectId>? TryGetProjectsThatThisProjectTransitivelyDependsOn(ProjectId projectId) 266public IImmutableSet<ProjectId> GetProjectsThatThisProjectTransitivelyDependsOn(ProjectId projectId) 288private ImmutableHashSet<ProjectId> GetProjectsThatThisProjectTransitivelyDependsOn_NoLock(ProjectId projectId) 292using var pooledObject = SharedPools.Default<HashSet<ProjectId>>().GetPooledObject(); 302private void ComputeTransitiveReferences(ProjectId project, HashSet<ProjectId> result) 306foreach (var other in otherProjects) 318public IEnumerable<ProjectId> GetProjectsThatTransitivelyDependOnThisProject(ProjectId projectId) 340private ImmutableHashSet<ProjectId> GetProjectsThatTransitivelyDependOnThisProject_NoLock(ProjectId projectId) 344using var pooledObject = SharedPools.Default<HashSet<ProjectId>>().GetPooledObject(); 355private void ComputeReverseTransitiveReferences(ProjectId project, HashSet<ProjectId> results) 358foreach (var other in otherProjects) 372public IEnumerable<ProjectId> GetTopologicallySortedProjects(CancellationToken cancellationToken = default) 389using var seenProjects = SharedPools.Default<HashSet<ProjectId>>().GetPooledObject(); 390using var resultList = SharedPools.Default<List<ProjectId>>().GetPooledObject(); 397IEnumerable<ProjectId> projectIds, 398HashSet<ProjectId> seenProjects, 399List<ProjectId> resultList, 402foreach (var projectId in projectIds) 424public IEnumerable<IEnumerable<ProjectId>> GetDependencySets(CancellationToken cancellationToken = default) 437private ImmutableArray<IEnumerable<ProjectId>> GetDependencySets_NoLock(CancellationToken cancellationToken) 441using var seenProjects = SharedPools.Default<HashSet<ProjectId>>().GetPooledObject(); 442using var results = SharedPools.Default<List<IEnumerable<ProjectId>>>().GetPooledObject(); 450private void ComputeDependencySets(HashSet<ProjectId> seenProjects, List<IEnumerable<ProjectId>> results, CancellationToken cancellationToken) 452foreach (var project in ProjectIds) 458using var dependencySet = SharedPools.Default<HashSet<ProjectId>>().GetPooledObject(); 465using var topologicallySeenProjects = SharedPools.Default<HashSet<ProjectId>>().GetPooledObject(); 466using var sortedProjects = SharedPools.Default<List<ProjectId>>().GetPooledObject(); 473private void ComputedDependencySet(ProjectId project, HashSet<ProjectId> result) 480foreach (var other in otherProjects) 489ImmutableHashSet<ProjectId> projectIds, 490ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> referencesMap) 500foreach (var referencedProject in referencedProjects) 509ImmutableHashSet<ProjectId> projectIds, 510ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> forwardReferencesMap, 511ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>>? reverseReferencesMap) 521foreach (var referencedProject in referencedProjects) 531foreach (var referencingProject in referencingProjects) 549public ImmutableHashSet<ProjectId>? TryGetProjectsThatTransitivelyDependOnThisProject(ProjectId projectId) 564internal bool DoesProjectTransitivelyDependOnProject(ProjectId id, ProjectId potentialDependency)
Workspace\Solution\ProjectDependencyGraph_AddProject.cs (1)
9internal ProjectDependencyGraph WithAdditionalProject(ProjectId projectId)
Workspace\Solution\ProjectDependencyGraph_AddProjectReference.cs (30)
15internal ProjectDependencyGraph WithAdditionalProjectReferences(ProjectId projectId, IReadOnlyCollection<ProjectReference> projectReferences) 58private static ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> ComputeNewReferencesMapForAdditionalProjectReferences( 59ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> existingReferencesMap, 60ProjectId projectId, 61IReadOnlyList<ProjectId> referencedProjectIds) 78private static ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>>? ComputeNewReverseReferencesMapForAdditionalProjectReferences( 79ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>>? existingReverseReferencesMap, 80ProjectId projectId, 81IReadOnlyList<ProjectId> referencedProjectIds) 88foreach (var referencedProject in referencedProjectIds) 99private static ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> ComputeNewTransitiveReferencesMapForAdditionalProjectReferences( 100ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> existingTransitiveReferencesMap, 101ProjectId projectId, 102IReadOnlyList<ProjectId> referencedProjectIds) 108var newTransitiveReferences = new HashSet<ProjectId>(referencedProjectIds); 110foreach (var referencedProjectId in referencedProjectIds) 126foreach (var projectIdToUpdate in existingTransitiveReferencesMap.Keys) 155private static ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> ComputeNewReverseTransitiveReferencesMapForAdditionalProjectReferences( 156ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> existingReverseTransitiveReferencesMap, 157ProjectId projectId, 158IReadOnlyList<ProjectId> referencedProjectIds) 174foreach (var projectIdToUpdate in existingReverseTransitiveReferencesMap.Keys)
Workspace\Solution\ProjectDependencyGraph_RemoveAllProjectReferences.cs (24)
14internal ProjectDependencyGraph WithAllProjectReferencesRemoved(ProjectId projectId) 40private static ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> ComputeNewReferencesMapForRemovedAllProjectReferences( 41ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> existingForwardReferencesMap, 42ProjectId projectId) 58private static ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>>? ComputeNewReverseReferencesMapForRemovedAllProjectReferences( 59ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>>? existingReverseReferencesMap, 60ProjectId projectId, 61ImmutableHashSet<ProjectId> referencedProjectIds) 69foreach (var referencedProjectId in referencedProjectIds) 77private static ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> ComputeNewTransitiveReferencesMapForRemovedAllProjectReferences( 78ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> existingTransitiveReferencesMap, 79ProjectId projectId, 80ImmutableHashSet<ProjectId> referencedProjectIds) 104private static ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> ComputeNewReverseTransitiveReferencesMapForRemovedAllProjectReferences( 105ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> existingReverseTransitiveReferencesMap, 106ProjectId projectId)
Workspace\Solution\ProjectDependencyGraph_RemoveProject.cs (37)
14internal ProjectDependencyGraph WithProjectsRemoved(ArrayBuilder<ProjectId> removedProjectIds) 19foreach (var projectId in removedProjectIds) 55private static ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> ComputeNewReferencesMapForRemovedProject( 56ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> existingForwardReferencesMap, 57ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>>? existingReverseReferencesMap, 58ArrayBuilder<ProjectId> removedProjectIds) 65foreach (var removedProjectId in removedProjectIds) 71foreach (var id in referencingProjects) 82foreach (var removedProjectId in removedProjectIds) 88foreach (var removedProjectId in removedProjectIds) 99private static ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>>? ComputeNewReverseReferencesMapForRemovedProject( 100ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> existingForwardReferencesMap, 101ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>>? existingReverseReferencesMap, 102ArrayBuilder<ProjectId> removedProjectIds) 110foreach (var removedProjectId in removedProjectIds) 118foreach (var referencedProjectId in forwardReferences) 123foreach (var removedProjectId in removedProjectIds) 133private static ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> ComputeNewTransitiveReferencesMapForRemovedProject( 134ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> existingTransitiveReferencesMap, 135ArrayBuilder<ProjectId> removedProjectIds) 143foreach (var removedProjectId in removedProjectIds) 157foreach (var removedProjectId in removedProjectIds) 167private static ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> ComputeNewReverseTransitiveReferencesMapForRemovedProject( 168ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> existingReverseTransitiveReferencesMap, 169ArrayBuilder<ProjectId> removedProjectIds) 177foreach (var removedProjectId in removedProjectIds) 191foreach (var removedProjectId in removedProjectIds)
Workspace\Solution\ProjectDependencyGraph_RemoveProjectReference.cs (26)
14internal ProjectDependencyGraph WithProjectReferenceRemoved(ProjectId projectId, ProjectId referencedProjectId) 38private static ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> ComputeNewReferencesMapForRemovedProjectReference( 39ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> existingForwardReferencesMap, 40ProjectId projectId, 41ProjectId referencedProjectId) 55private static ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>>? ComputeNewReverseReferencesMapForRemovedProjectReference( 56ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>>? existingReverseReferencesMap, 57ProjectId projectId, 58ProjectId referencedProjectId) 68private static ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> ComputeNewTransitiveReferencesMapForRemovedProjectReference( 69ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> existingTransitiveReferencesMap, 70ProjectId projectId, 71ProjectId referencedProjectId) 95private static ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> ComputeNewReverseTransitiveReferencesMapForRemovedProjectReference( 96ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> existingReverseTransitiveReferencesMap, 97ProjectId projectId, 98ProjectId referencedProjectId)
Workspace\Solution\ProjectDiagnostic.cs (2)
7public class ProjectDiagnostic(WorkspaceDiagnosticKind kind, string message, ProjectId projectId) : WorkspaceDiagnostic(kind, message) 9public ProjectId ProjectId { get; } = projectId;
Workspace\Solution\ProjectId.cs (16)
25public sealed class ProjectId : IEquatable<ProjectId>, IComparable<ProjectId> 56public static ProjectId CreateNewId(string? debugName = null) 59public static ProjectId CreateFromSerialized(Guid id, string? debugName = null) 76=> this.Equals(obj as ProjectId); 78public bool Equals(ProjectId? other) 82public static bool operator ==(ProjectId? left, ProjectId? right) 83=> EqualityComparer<ProjectId?>.Default.Equals(left, right); 85public static bool operator !=(ProjectId? left, ProjectId? right) 97internal static ProjectId ReadFrom(ObjectReader reader) 112writer.WriteString(nameof(ProjectId)); 116internal int CompareTo(ProjectId other) 119int IComparable<ProjectId>.CompareTo(ProjectId? other)
Workspace\Solution\ProjectInfo.cs (10)
27public ProjectId Id => Attributes.Id; 186ProjectId id, 214ProjectId id, 335public ProjectInfo WithId(ProjectId id) 413ProjectId id, 438public ProjectId Id { get; } = id; 534ProjectId? id = null, 550var newId = id ?? Id; 632var projectId = ProjectId.ReadFrom(reader);
Workspace\Solution\ProjectReference.cs (2)
19public ProjectReference(ProjectId projectId, ImmutableArray<string> aliases = default, bool embedInteropTypes = false) 28public ProjectId ProjectId { get; }
Workspace\Solution\ProjectState.cs (2)
616public ProjectId Id => this.ProjectInfo.Id; 825public bool ContainsReferenceToProject(ProjectId projectId)
Workspace\Solution\Solution.cs (51)
32private readonly Dictionary<ProjectId, Project> _projectIdToProjectMap = []; 85internal ProjectState? GetProjectState(ProjectId projectId) => this.SolutionState.GetProjectState(projectId); 120public IReadOnlyList<ProjectId> ProjectIds => this.SolutionState.ProjectIds; 124/// Ordered by <see cref="ProjectState.Id"/>'s <see cref="ProjectId.Id"/> value. 142public bool ContainsProject([NotNullWhen(returnValue: true)] ProjectId? projectId) 150public Project? GetProject(ProjectId? projectId) 163private static readonly Func<ProjectId, Solution, Project> s_createProjectFunction = CreateProject; 164private static Project CreateProject(ProjectId projectId, Solution solution) 179var projectId = SolutionCompilationState.GetProjectId(assemblySymbol); 184/// Given a <paramref name="symbol"/> returns the <see cref="ProjectId"/> of the <see cref="Project"/> it came 203internal ProjectId? GetOriginatingProjectId(ISymbol symbol) 241public DocumentId? GetDocumentId(SyntaxTree? syntaxTree, ProjectId? projectId) 326internal Document? GetDocument(SyntaxTree? syntaxTree, ProjectId? projectId) 359var id = ProjectId.CreateNewId(debugName: name); 366public Solution AddProject(ProjectId projectId, string name, string assemblyName, string language) 382public Solution RemoveProject(ProjectId projectId) 384using var _ = ArrayBuilder<ProjectId>.GetInstance(1, out var projectIds); 390internal Solution RemoveProjects(ArrayBuilder<ProjectId> projectIds) 397public Solution WithProjectAssemblyName(ProjectId projectId, string assemblyName) 412public Solution WithProjectOutputFilePath(ProjectId projectId, string? outputFilePath) 422public Solution WithProjectOutputRefFilePath(ProjectId projectId, string? outputRefFilePath) 432public Solution WithProjectCompilationOutputInfo(ProjectId projectId, in CompilationOutputInfo info) 442public Solution WithProjectDefaultNamespace(ProjectId projectId, string? defaultNamespace) 452internal Solution WithProjectChecksumAlgorithm(ProjectId projectId, SourceHashAlgorithm checksumAlgorithm) 462public Solution WithProjectName(ProjectId projectId, string name) 477public Solution WithProjectFilePath(ProjectId projectId, string? filePath) 488public Solution WithProjectCompilationOptions(ProjectId projectId, CompilationOptions options) 504public Solution WithProjectParseOptions(ProjectId projectId, ParseOptions options) 565internal Solution WithHasAllInformation(ProjectId projectId, bool hasAllInformation) 577internal Solution WithRunAnalyzers(ProjectId projectId, bool runAnalyzers) 588internal Solution WithHasSdkCodeStyleAnalyzers(ProjectId projectId, bool hasSdkCodeStyleAnalyzers) 604public Solution WithProjectDocumentsOrder(ProjectId projectId, ImmutableList<DocumentId> documentIds) 642public Solution AddProjectReference(ProjectId projectId, ProjectReference projectReference) 658public Solution AddProjectReferences(ProjectId projectId, IEnumerable<ProjectReference> projectReferences) 688public Solution RemoveProjectReference(ProjectId projectId, ProjectReference projectReference) 719public Solution WithProjectReferences(ProjectId projectId, IEnumerable<ProjectReference>? projectReferences) 740public Solution AddMetadataReference(ProjectId projectId, MetadataReference metadataReference) 755public Solution AddMetadataReferences(ProjectId projectId, IEnumerable<MetadataReference> metadataReferences) 782public Solution RemoveMetadataReference(ProjectId projectId, MetadataReference metadataReference) 804public Solution WithProjectMetadataReferences(ProjectId projectId, IEnumerable<MetadataReference> metadataReferences) 820public Solution AddAnalyzerReference(ProjectId projectId, AnalyzerReference analyzerReference) 835public Solution AddAnalyzerReferences(ProjectId projectId, IEnumerable<AnalyzerReference> analyzerReferences) 869public Solution RemoveAnalyzerReference(ProjectId projectId, AnalyzerReference analyzerReference) 898public Solution WithProjectAnalyzerReferences(ProjectId projectId, IEnumerable<AnalyzerReference> analyzerReferences) 1165internal ProjectState GetRequiredProjectState(ProjectId projectId) 1625internal DocumentId? GetFirstRelatedDocumentId(DocumentId documentId, ProjectId? relatedProjectIdHint) 1767private void CheckContainsProject(ProjectId projectId) 1879private void CheckCircularProjectReferences(ProjectId projectId, IReadOnlyCollection<ProjectReference> projectReferences) 1904private void CheckSubmissionProjectReferences(ProjectId projectId, IEnumerable<ProjectReference> projectReferences, bool ignoreExistingReferences) 1932internal SourceGeneratorExecutionVersion GetSourceGeneratorExecutionVersion(ProjectId projectId)
Workspace\Solution\SolutionChanges.cs (3)
27foreach (var id in NewSolution.ProjectIds) 41foreach (var id in NewSolution.ProjectIds) 54foreach (var id in OldSolution.ProjectIds)
Workspace\Solution\SolutionCompilationState.CompilationTracker.CompilationTrackerState.cs (6)
219ProjectId projectId, 220Dictionary<MetadataReference, ProjectId>? metadataReferenceToProjectId) 250private static void RecordAssemblySymbols(ProjectId projectId, Compilation compilation, Dictionary<MetadataReference, ProjectId>? metadataReferenceToProjectId) 264private static void RecordSourceOfAssemblySymbol(ISymbol? assemblyOrModuleSymbol, ProjectId projectId) 274if (!s_assemblyOrModuleSymbolToProjectMap.TryGetValue(assemblyOrModuleSymbol, out var tmp))
Workspace\Solution\SolutionCompilationState.cs (78)
32private static readonly ConditionalWeakTable<ISymbol, ProjectId> s_assemblyOrModuleSymbolToProjectMap = new(); 47private ImmutableSegmentedDictionary<ProjectId, ICompilationTracker> _projectIdToTrackerMap; 49private readonly ImmutableSegmentedDictionary<ProjectId, GeneratorDriverInitializationCache> _generatorDriverInitializationCaches; 64ImmutableSegmentedDictionary<ProjectId, ICompilationTracker> projectIdToTrackerMap, 66ImmutableSegmentedDictionary<ProjectId, GeneratorDriverInitializationCache> generatorDriverInitializationCaches, 98projectIdToTrackerMap: ImmutableSegmentedDictionary<ProjectId, ICompilationTracker>.Empty, 100generatorDriverInitializationCaches: ImmutableSegmentedDictionary<ProjectId, GeneratorDriverInitializationCache>.Empty, 122ImmutableSegmentedDictionary<ProjectId, ICompilationTracker>? projectIdToTrackerMap = null, 124ImmutableSegmentedDictionary<ProjectId, GeneratorDriverInitializationCache>? generatorDriverInitializationCaches = null, 179var projectId = newProjectState.Id; 206/// Creates a mapping of <see cref="ProjectId"/> to <see cref="ICompilationTracker"/> 212private ImmutableSegmentedDictionary<ProjectId, ICompilationTracker> CreateCompilationTrackerMap<TArg>( 213ProjectId changedProjectId, 215Action<ImmutableSegmentedDictionary<ProjectId, ICompilationTracker>.Builder, TArg> modifyNewTrackerInfo, 222static bool CanReuse(ProjectId id, (ProjectId changedProjectId, ProjectDependencyGraph dependencyGraph) arg) 234/// Creates a mapping of <see cref="ProjectId"/> to <see cref="ICompilationTracker"/> 240private ImmutableSegmentedDictionary<ProjectId, ICompilationTracker> CreateCompilationTrackerMap<TArg>( 241ImmutableArray<ProjectId> changedProjectIds, 243Action<ImmutableSegmentedDictionary<ProjectId, ICompilationTracker>.Builder, TArg> modifyNewTrackerInfo, 250static bool CanReuse(ProjectId id, (ImmutableArray<ProjectId> changedProjectIds, ProjectDependencyGraph dependencyGraph) arg) 255foreach (var changedProjectId in arg.changedProjectIds) 266/// Creates a mapping of <see cref="ProjectId"/> to <see cref="ICompilationTracker"/> 272private ImmutableSegmentedDictionary<ProjectId, ICompilationTracker> CreateCompilationTrackerMap<TArgCanReuse, TArgModifyNewTrackerInfo>( 273Func<ProjectId, TArgCanReuse, bool> canReuse, 275Action<ImmutableSegmentedDictionary<ProjectId, ICompilationTracker>.Builder, TArgModifyNewTrackerInfo> modifyNewTrackerInfo, 317private GeneratorDriverInitializationCache GetGeneratorDriverInitializationCache(ProjectId id) 333using var _ = PooledHashSet<ProjectId>.GetInstance(out var dependentProjects); 371public SolutionCompilationState RemoveProjects(ArrayBuilder<ProjectId> projectIds) 380using var _ = PooledHashSet<ProjectId>.GetInstance(out var dependentProjects); 383foreach (var projectId in projectIds) 385foreach (var dependentProject in originalDependencyGraph.GetProjectsThatTransitivelyDependOnThisProject(projectId)) 400foreach (var projectId in projectIds) 407foreach (var projectId in projectIds) 411foreach (var projectId in projectIds) 423ProjectId projectId, string assemblyName) 434public SolutionCompilationState WithProjectOutputFilePath(ProjectId projectId, string? outputFilePath) 444ProjectId projectId, string? outputRefFilePath) 454ProjectId projectId, in CompilationOutputInfo info) 464ProjectId projectId, string? defaultNamespace) 474ProjectId projectId, SourceHashAlgorithm checksumAlgorithm) 485ProjectId projectId, string name) 495ProjectId projectId, string? filePath) 505ProjectId projectId, CompilationOptions? options) 515ProjectId projectId, ParseOptions? options) 540ProjectId projectId, bool hasAllInformation) 550ProjectId projectId, bool runAnalyzers) 560ProjectId projectId, bool hasSdkCodeStyleAnalyzers) 570ProjectId projectId, ImmutableList<DocumentId> documentIds) 581var projectId = attributes.Id; 610var projectId = info.Id; 679ProjectId projectId, IReadOnlyCollection<ProjectReference> projectReferences) 688public SolutionCompilationState RemoveProjectReference(ProjectId projectId, ProjectReference projectReference) 698ProjectId projectId, IReadOnlyList<ProjectReference> projectReferences) 708ProjectId projectId, IReadOnlyCollection<MetadataReference> metadataReferences) 717public SolutionCompilationState RemoveMetadataReference(ProjectId projectId, MetadataReference metadataReference) 727ProjectId projectId, IReadOnlyList<MetadataReference> metadataReferences) 761ProjectId projectId, IReadOnlyList<AnalyzerReference> analyzerReferences) 860var projectId = g.Key; 887IEnumerable<(ProjectId projectId, ImmutableArray<TDocumentState> updatedDocumentState)> updatedDocumentStatesPerProject, 1161public static ProjectId? GetProjectId(IAssemblySymbol? assemblySymbol) 1166s_assemblyOrModuleSymbolToProjectMap.TryGetValue(assemblySymbol, out var id); 1170private bool TryGetCompilationTracker(ProjectId projectId, [NotNullWhen(returnValue: true)] out ICompilationTracker? tracker) 1173private static readonly Func<ProjectId, SolutionState, RegularCompilationTracker> s_createCompilationTrackerFunction = CreateCompilationTracker; 1175private static RegularCompilationTracker CreateCompilationTracker(ProjectId projectId, SolutionState solution) 1182private ICompilationTracker GetCompilationTracker(ProjectId projectId) 1192public Task<VersionStamp> GetDependentVersionAsync(ProjectId projectId, CancellationToken cancellationToken) 1195public Task<VersionStamp> GetDependentSemanticVersionAsync(ProjectId projectId, CancellationToken cancellationToken) 1198public bool TryGetCompilation(ProjectId projectId, [NotNullWhen(returnValue: true)] out Compilation? compilation) 1208/// Returns the compilation for the specified <see cref="ProjectId"/>. Can return <see langword="null"/> when the project 1214private Task<Compilation?> GetCompilationAsync(ProjectId projectId, CancellationToken cancellationToken) 1381foreach (var projectId in projectIdsToUnfreeze) 1586private (ImmutableArray<ProjectState> sortedProjectStates, ImmutableSegmentedDictionary<ProjectId, ICompilationTracker>) ComputeFrozenSnapshotMaps(CancellationToken cancellationToken) 1604var projectId = newSortedProjectStatesBuilder[i].Id; 1744using var _ = PooledDictionary<ProjectId, ArrayBuilder<DocumentState>>.GetInstance(out var missingDocumentStates); 1793var projectId = g.Key; 1823private SolutionCompilationState RemoveDocumentsFromSingleProject<T>(ProjectId projectId, ImmutableArray<DocumentId> documentIds)
Workspace\Solution\SolutionCompilationState.RegularCompilationTracker.cs (1)
494var metadataReferenceToProjectId = new Dictionary<MetadataReference, ProjectId>();
Workspace\Solution\SolutionCompilationState.RegularCompilationTracker_Generators.cs (1)
109var projectId = this.ProjectState.Id;
Workspace\Solution\SolutionCompilationState.RootedSymbolSet.cs (1)
36ProjectId ProjectId,
Workspace\Solution\SolutionCompilationState.SymbolToProjectId.cs (2)
16internal DocumentState? GetDocumentState(SyntaxTree? syntaxTree, ProjectId? projectId) 72var projectId = unrootedSymbolInfo?.ProjectId;
Workspace\Solution\SolutionCompilationState_Checksum.cs (6)
31private readonly Dictionary<ProjectId, AsyncLazy<(SolutionCompilationStateChecksums checksums, ProjectCone projectCone)>> _lazyProjectChecksums = []; 36public bool TryGetStateChecksums(ProjectId projectId, [NotNullWhen(true)] out SolutionCompilationStateChecksums? stateChecksums) 70ProjectId projectId, 96public async Task<Checksum> GetChecksumAsync(ProjectId projectId, CancellationToken cancellationToken) 103ProjectId? projectId, 157var projectId = projectState.Id;
Workspace\Solution\SolutionCompilationState_SourceGenerators.cs (3)
114public async Task<bool> HasSourceGeneratorsAsync(ProjectId projectId, CancellationToken cancellationToken) 120public async Task<SourceGeneratorPresence> GetProjectGeneratorPresenceAsync(ProjectId projectId, CancellationToken cancellationToken) 154var projectId = projectState.Id;
Workspace\Solution\SolutionState.cs (49)
80IReadOnlyList<ProjectId> projectIds, 126projectIds: SpecializedCollections.EmptyBoxedImmutableArray<ProjectId>(), 143/// Ordered by <see cref="ProjectState.Id"/>'s <see cref="ProjectId.Id"/> value. 166public IReadOnlyList<ProjectId> ProjectIds { get; } 188IReadOnlyList<ProjectId>? projectIds = null, 291public bool ContainsProject([NotNullWhen(returnValue: true)] ProjectId? projectId) 336public ProjectState? GetProjectState(ProjectId projectId) 343private static ProjectState? GetProjectState(ImmutableArray<ProjectState> sortedProjectStates, ProjectId projectId) 355private static int GetProjectStateIndex(ImmutableArray<ProjectState> sortedProjectStates, ProjectId projectId) 362public ProjectState GetRequiredProjectState(ProjectId projectId) 392var projectId = projectInfo.Id; 421using var _1 = ArrayBuilder<ProjectId>.GetInstance(ProjectIds.Count + projectStates.Count, out var newProjectIdsBuilder); 422using var _2 = PooledHashSet<ProjectId>.GetInstance(out var addedProjectIds); 445var projectId = projectState.Id; 474public SolutionState RemoveProjects(ArrayBuilder<ProjectId> projectIds) 481foreach (var projectId in projectIds) 487using var _ = PooledHashSet<ProjectId>.GetInstance(out var projectIdsSet); 495foreach (var projectId in projectIds) 549public StateChange WithProjectAssemblyName(ProjectId projectId, string assemblyName) 565public StateChange WithProjectOutputFilePath(ProjectId projectId, string? outputFilePath) 581public StateChange WithProjectOutputRefFilePath(ProjectId projectId, string? outputRefFilePath) 597public StateChange WithProjectCompilationOutputInfo(ProjectId projectId, in CompilationOutputInfo info) 613public StateChange WithProjectDefaultNamespace(ProjectId projectId, string? defaultNamespace) 629public StateChange WithProjectChecksumAlgorithm(ProjectId projectId, SourceHashAlgorithm checksumAlgorithm) 645public StateChange WithProjectName(ProjectId projectId, string name) 661public StateChange WithProjectFilePath(ProjectId projectId, string? filePath) 678public StateChange WithProjectCompilationOptions(ProjectId projectId, CompilationOptions? options) 695public StateChange WithProjectParseOptions(ProjectId projectId, ParseOptions? options) 712public StateChange WithHasAllInformation(ProjectId projectId, bool hasAllInformation) 730public StateChange WithRunAnalyzers(ProjectId projectId, bool runAnalyzers) 748internal StateChange WithHasSdkCodeStyleAnalyzers(ProjectId projectId, bool hasSdkCodeStyleAnalyzers) 766public StateChange AddProjectReferences(ProjectId projectId, IReadOnlyCollection<ProjectReference> projectReferences) 787public StateChange RemoveProjectReference(ProjectId projectId, ProjectReference projectReference) 827public StateChange WithProjectReferences(ProjectId projectId, IReadOnlyList<ProjectReference> projectReferences) 844public StateChange WithProjectDocumentsOrder(ProjectId projectId, ImmutableList<DocumentId> documentIds) 875public StateChange AddMetadataReferences(ProjectId projectId, IReadOnlyCollection<MetadataReference> metadataReferences) 893public StateChange RemoveMetadataReference(ProjectId projectId, MetadataReference metadataReference) 910public StateChange WithProjectMetadataReferences(ProjectId projectId, IReadOnlyList<MetadataReference> metadataReferences) 926public StateChange WithProjectAnalyzerReferences(ProjectId projectId, IReadOnlyList<AnalyzerReference> analyzerReferences) 1192var projectId = newProjectState.Id; 1226IReadOnlyList<ProjectId> projectIds, 1278public DocumentId? GetFirstRelatedDocumentId(DocumentId documentId, ProjectId? relatedProjectIdHint) 1386private void CheckNotContainsProject(ProjectId projectId) 1394internal void CheckContainsProject(ProjectId projectId) 1402internal bool ContainsProjectReference(ProjectId projectId, ProjectReference projectReference) 1405internal bool ContainsMetadataReference(ProjectId projectId, MetadataReference metadataReference) 1408internal bool ContainsAnalyzerReference(ProjectId projectId, AnalyzerReference analyzerReference) 1411internal bool ContainsTransitiveReference(ProjectId fromProjectId, ProjectId toProjectId)
Workspace\Solution\SolutionState_Checksum.cs (7)
32private readonly Dictionary<ProjectId, AsyncLazy<SolutionStateChecksums>> _lazyProjectChecksums = []; 37public bool TryGetStateChecksums(ProjectId projectId, [NotNullWhen(true)] out SolutionStateChecksums? stateChecksums) 64ProjectId projectId, 86public async Task<Checksum> GetChecksumAsync(ProjectId projectId, CancellationToken cancellationToken) 95ProjectId? projectConeId, 98using var projectCone = SharedPools.Default<HashSet<ProjectId>>().GetPooledObject(); 154void AddProjectCone(ProjectId? projectConeId)
Workspace\Solution\SourceGeneratedDocumentIdentity.cs (1)
36public static SourceGeneratedDocumentIdentity Generate(ProjectId projectId, string hintName, ISourceGenerator generator, string filePath, AnalyzerReference analyzerReference)
Workspace\Solution\SourceGeneratorExecutionVersion.cs (8)
61/// Helper construct to allow a mapping from <see cref="ProjectId"/>s to <see cref="SourceGeneratorExecutionVersion"/>. 64internal sealed class SourceGeneratorExecutionVersionMap(ImmutableSortedDictionary<ProjectId, SourceGeneratorExecutionVersion> map) 68public ImmutableSortedDictionary<ProjectId, SourceGeneratorExecutionVersion> Map { get; } = map; 71: this(ImmutableSortedDictionary<ProjectId, SourceGeneratorExecutionVersion>.Empty) 75public SourceGeneratorExecutionVersion this[ProjectId projectId] => Map[projectId]; 104var builder = ImmutableSortedDictionary.CreateBuilder<ProjectId, SourceGeneratorExecutionVersion>(); 107var projectId = ProjectId.ReadFrom(reader);
Workspace\Solution\StateChecksums.cs (7)
186/// <param name="projectConeId">The particular <see cref="ProjectId"/> if this was a checksum tree made for a particular 189ProjectId? projectConeId, 204public ProjectId? ProjectConeId { get; } = projectConeId; 245projectConeId: reader.ReadBoolean() ? ProjectId.ReadFrom(reader) : null, 329ProjectId projectId, 353public ProjectId ProjectId => projectId; 411projectId: ProjectId.ReadFrom(reader),
Workspace\Workspace.cs (54)
97_updateSourceGeneratorsQueue = new AsyncBatchingWorkQueue<(ProjectId? projectId, bool forceRegeneration)>( 101EqualityComparer<(ProjectId? projectId, bool forceRegeneration)>.Default, 200/// <inheritdoc cref="SetCurrentSolution(Func{Solution, Solution}, Func{Solution, Solution, ValueTuple{WorkspaceChangeKind, ProjectId?, DocumentId?}}, Action{Solution, Solution}?, Action{Solution, Solution}?)"/> 204ProjectId? projectId = null, 232Func<Solution, Solution, (WorkspaceChangeKind changeKind, ProjectId? projectId, DocumentId? documentId)> changeKind, 252Func<Solution, Solution, (WorkspaceChangeKind changeKind, ProjectId? projectId, DocumentId? documentId)> changeKind, 331ProjectId? relatedProjectIdHint = null; 659protected virtual void ClearProjectData(ProjectId projectId) 822var projectId = reloadedProjectInfo.Id; 837protected internal virtual void OnProjectRemoved(ProjectId projectId) 860protected virtual void CheckProjectCanBeRemoved(ProjectId projectId) 867protected internal void OnAssemblyNameChanged(ProjectId projectId, string assemblyName) 873protected internal void OnOutputFilePathChanged(ProjectId projectId, string? outputFilePath) 879protected internal void OnOutputRefFilePathChanged(ProjectId projectId, string? outputFilePath) 889protected internal void OnProjectNameChanged(ProjectId projectId, string name, string? filePath) 895internal void OnDefaultNamespaceChanged(ProjectId projectId, string? defaultNamespace) 901protected internal void OnCompilationOptionsChanged(ProjectId projectId, CompilationOptions options) 907protected internal void OnParseOptionsChanged(ProjectId projectId, ParseOptions options) 913protected internal void OnProjectReferenceAdded(ProjectId projectId, ProjectReference projectReference) 930protected internal void OnProjectReferenceRemoved(ProjectId projectId, ProjectReference projectReference) 944protected internal void OnMetadataReferenceAdded(ProjectId projectId, MetadataReference metadataReference) 956protected internal void OnMetadataReferenceRemoved(ProjectId projectId, MetadataReference metadataReference) 968protected internal void OnAnalyzerReferenceAdded(ProjectId projectId, AnalyzerReference analyzerReference) 980protected internal void OnAnalyzerReferenceRemoved(ProjectId projectId, AnalyzerReference analyzerReference) 1024internal void OnHasAllInformationChanged(ProjectId projectId, bool hasAllInformation) 1030internal void OnRunAnalyzersChanged(ProjectId projectId, bool runAnalyzers) 1055foreach (var projectId in data.documentInfos.Select(i => i.Id.ProjectId).Distinct()) 1446var outputAssemblyToProjectIdMap = new Dictionary<string, ProjectId>(); 1461foreach (var pid in solution.ProjectIds) 1472if ((!RoslynString.IsNullOrEmpty(pemeta.Display) && outputAssemblyToProjectIdMap.TryGetValue(pemeta.Display, out var matchingProjectId)) || 1508internal virtual bool CanAddProjectReference(ProjectId referencingProject, ProjectId referencedProject) 2068protected virtual void ApplyProjectRemoved(ProjectId projectId) 2079protected virtual void ApplyCompilationOptionsChanged(ProjectId projectId, CompilationOptions options) 2097protected virtual void ApplyParseOptionsChanged(ProjectId projectId, ParseOptions options) 2114protected virtual void ApplyProjectReferenceAdded(ProjectId projectId, ProjectReference projectReference) 2125protected virtual void ApplyProjectReferenceRemoved(ProjectId projectId, ProjectReference projectReference) 2136protected virtual void ApplyMetadataReferenceAdded(ProjectId projectId, MetadataReference metadataReference) 2147protected virtual void ApplyMetadataReferenceRemoved(ProjectId projectId, MetadataReference metadataReference) 2158protected virtual void ApplyAnalyzerReferenceAdded(ProjectId projectId, AnalyzerReference analyzerReference) 2169protected virtual void ApplyAnalyzerReferenceRemoved(ProjectId projectId, AnalyzerReference analyzerReference) 2327protected void CheckProjectIsInCurrentSolution(ProjectId projectId) 2330private static void CheckProjectIsInSolution(Solution solution, ProjectId projectId) 2343protected void CheckProjectIsNotInCurrentSolution(ProjectId projectId) 2346private static void CheckProjectIsNotInSolution(Solution solution, ProjectId projectId) 2359protected void CheckProjectHasProjectReference(ProjectId fromProjectId, ProjectReference projectReference) 2372protected void CheckProjectDoesNotHaveProjectReference(ProjectId fromProjectId, ProjectReference projectReference) 2385protected void CheckProjectDoesNotHaveTransitiveProjectReference(ProjectId fromProjectId, ProjectId toProjectId) 2399protected void CheckProjectHasMetadataReference(ProjectId projectId, MetadataReference metadataReference) 2410protected void CheckProjectDoesNotHaveMetadataReference(ProjectId projectId, MetadataReference metadataReference) 2421protected void CheckProjectHasAnalyzerReference(ProjectId projectId, AnalyzerReference analyzerReference) 2432protected void CheckProjectDoesNotHaveAnalyzerReference(ProjectId projectId, AnalyzerReference analyzerReference) 2558protected virtual string GetProjectName(ProjectId projectId)
Workspace\Workspace_Editor.cs (5)
24private readonly Dictionary<ProjectId, HashSet<DocumentId>> _projectToOpenDocumentsMap = []; 66private void ClearOpenDocuments(ProjectId projectId) 160protected void CheckProjectDoesNotContainOpenDocuments(ProjectId projectId) 168private bool ProjectHasOpenDocuments(ProjectId projectId) 191public virtual IEnumerable<DocumentId> GetOpenDocumentIds(ProjectId? projectId = null)
Workspace\Workspace_Events.cs (1)
96protected Task RaiseWorkspaceChangedEventAsync(WorkspaceChangeKind kind, Solution oldSolution, Solution newSolution, ProjectId? projectId = null, DocumentId? documentId = null)
Workspace\Workspace_SourceGeneration.cs (8)
20/// <see cref="ProjectId"/> represents the projects that have changed, and which need their source-generators 27private readonly AsyncBatchingWorkQueue<(ProjectId? projectId, bool forceRegeneration)> _updateSourceGeneratorsQueue; 31internal void EnqueueUpdateSourceGeneratorVersion(ProjectId? projectId, bool forceRegeneration) 35ImmutableSegmentedList<(ProjectId? projectId, bool forceRegeneration)> projectIds, CancellationToken cancellationToken) 71Solution solution, ImmutableSegmentedList<(ProjectId? projectId, bool forceRegeneration)> projectIds) 77var result = ImmutableSortedDictionary.CreateBuilder<ProjectId, SourceGeneratorExecutionVersion>(); 97foreach (var projectId in solution.ProjectIds) 127foreach (var transitiveProjectId in dependencyGraph.GetProjectsThatTransitivelyDependOnThisProject(projectId))
Workspace\WorkspaceChangeEventArgs.cs (2)
49public ProjectId? ProjectId { get; } 65public WorkspaceChangeEventArgs(WorkspaceChangeKind kind, Solution oldSolution, Solution newSolution, ProjectId? projectId = null, DocumentId? documentId = null)
Microsoft.CodeAnalysis.Workspaces.MSBuild (55)
MSBuild\MSBuildProjectLoader.Worker.cs (9)
39/// Map of <see cref="ProjectId"/>s, project paths, and output file paths. 63private readonly Dictionary<ProjectId, ProjectFileInfo> _projectIdToFileInfoMap; 64private readonly Dictionary<ProjectId, List<ProjectReference>> _projectIdToProjectReferencesMap; 146var idsAndFileInfos = new List<(ProjectId id, ProjectFileInfo fileInfo)>(); 150var projectId = _projectMap.GetOrCreateProjectId(projectFileInfo); 162projectId = ProjectId.CreateNewId(debugName: projectFileInfo.FilePath); 188private async Task<ProjectInfo> CreateProjectInfoAsync(ProjectFileInfo projectFileInfo, ProjectId projectId, bool addDiscriminator, CancellationToken cancellationToken) 346private ImmutableArray<DocumentInfo> CreateDocumentInfos(IReadOnlyList<DocumentFileInfo> documentFileInfos, ProjectId projectId, Encoding? encoding) 389private void CheckForDuplicateDocuments(ImmutableArray<DocumentInfo> documents, string? projectFilePath, ProjectId projectId)
MSBuild\MSBuildProjectLoader.Worker_ResolveReferences.cs (10)
187private async Task<ResolvedReferences> ResolveReferencesAsync(ProjectId id, ProjectFileInfo projectFileInfo, IEnumerable<MetadataReference> resolvedMetadataReferences, CancellationToken cancellationToken) 246var unknownProjectId = _projectMap.GetOrCreateProjectId(projectFileReference.Path); 267private async Task<bool> TryLoadAndAddReferenceAsync(ProjectId id, string projectReferencePath, ImmutableArray<string> aliases, ResolvedReferencesBuilder builder, CancellationToken cancellationToken) 366private ProjectReference CreateProjectReference(ProjectId from, ProjectId to, ImmutableArray<string> aliases) 373private bool ProjectReferenceExists(ProjectId to, ProjectId from) 377private static bool ProjectReferenceExists(ProjectId to, ProjectInfo from) 381ProjectId id, 388foreach (var projectReferenceId in projectReferenceIds)
MSBuild\MSBuildWorkspace.cs (7)
579protected override void ApplyMetadataReferenceAdded(ProjectId projectId, MetadataReference metadataReference) 615protected override void ApplyMetadataReferenceRemoved(ProjectId projectId, MetadataReference metadataReference) 634private AssemblyIdentity? GetAssemblyIdentity(ProjectId projectId, MetadataReference metadataReference) 657protected override void ApplyProjectReferenceAdded(ProjectId projectId, ProjectReference projectReference) 672protected override void ApplyProjectReferenceRemoved(ProjectId projectId, ProjectReference projectReference) 685protected override void ApplyAnalyzerReferenceAdded(ProjectId projectId, AnalyzerReference analyzerReference) 697protected override void ApplyAnalyzerReferenceRemoved(ProjectId projectId, AnalyzerReference analyzerReference)
MSBuild\ProjectMap.cs (29)
21/// A map of project path to <see cref="ProjectId"/>s. Note that there can be multiple <see cref="ProjectId"/>s per project path 24private readonly Dictionary<string, HashSet<ProjectId>> _projectPathToProjectIdsMap; 27/// A map of project path to <see cref="ProjectInfo"/>s. Note that there can be multiple <see cref="ProjectId"/>s per project path 33/// A map of <see cref="ProjectId"/> to the output file of the project (if any). 35private readonly Dictionary<ProjectId, string> _projectIdToOutputFilePathMap; 38/// A map of <see cref="ProjectId"/> to the output ref file of the project (if any). 40private readonly Dictionary<ProjectId, string> _projectIdToOutputRefFilePathMap; 44_projectPathToProjectIdsMap = new Dictionary<string, HashSet<ProjectId>>(PathUtilities.Comparer); 81private void Add(ProjectId projectId, string? projectPath, string? outputFilePath, string? outputRefFilePath) 122private ProjectId CreateProjectId(string? projectPath, string? outputFilePath, string? outputRefFilePath) 124var newProjectId = ProjectId.CreateNewId(debugName: projectPath); 129internal ProjectId GetOrCreateProjectId(string projectPath) 142internal ProjectId GetOrCreateProjectId(ProjectFileInfo projectFileInfo) 150if (TryFindOutputFileRefPathInProjectIdSet(outputRefFilePath, projectIds, out var projectId) || 160private bool TryFindOutputFileRefPathInProjectIdSet(string? outputRefFilePath, HashSet<ProjectId> set, [NotNullWhen(true)] out ProjectId? result) 163private bool TryFindOutputFilePathInProjectIdSet(string? outputFilePath, HashSet<ProjectId> set, [NotNullWhen(true)] out ProjectId? result) 166private static bool TryFindPathInProjectIdSet(string? path, Func<ProjectId, string?> getPathById, HashSet<ProjectId> set, [NotNullWhen(true)] out ProjectId? result) 170foreach (var id in set) 186internal string? GetOutputRefFilePathById(ProjectId projectId) 191internal string? GetOutputFilePathById(ProjectId projectId) 196internal bool TryGetIdsByProjectPath(string projectPath, [NotNullWhen(true)] out HashSet<ProjectId>? ids) 199internal bool TryGetOutputFilePathById(ProjectId id, [NotNullWhen(true)] out string? outputFilePath) 202internal bool TryGetOutputRefFilePathById(ProjectId id, [NotNullWhen(true)] out string? outputRefFilePath)
Microsoft.DotNet.HotReload.Utils.Generator (7)
BaselineArtifacts.cs (1)
16internal record struct BaselineArtifacts (Solution BaselineSolution, ProjectId BaselineProjectId, string BaselineOutputAsmPath, DocResolver DocResolver, HotReloadService HotReloadService);
BaselineProject.cs (3)
20internal record BaselineProject (Solution Solution, ProjectId ProjectId, HotReloadService HotReloadService) { 23(var changeMakerService, var solution, var projectId) = await PrepareMSBuildProject(config, capabilities, ct); 27static async Task<(HotReloadService, Solution, ProjectId)> PrepareMSBuildProject (Config config, EnC.EditAndContinueCapabilities capabilities, CancellationToken ct = default)
DeltaProject.cs (2)
24readonly ProjectId _baseProjectId; 44public ProjectId BaseProjectId => _baseProjectId;
Runners\LiveRunner.cs (1)
32var baselineProjectId = baselineArtifacts.BaselineProjectId;
Microsoft.DotNet.HotReload.Watch (3)
HotReload\CompilationHandler.cs (3)
85private void DiscardPreviousUpdates(ImmutableArray<ProjectId> projectsToBeRebuilt) 531private async ValueTask DisplayResultsAsync(HotReloadService.Updates updates, Solution solution, ImmutableDictionary<ProjectId, HotReloadService.RunningProjectInfo> runningProjectInfos, CancellationToken cancellationToken) 629bool IsAutoRestartEnabled(ProjectId id)
Microsoft.Interop.ComInterfaceGenerator (1)
src\runtime\src\libraries\System.Runtime.InteropServices\gen\Common\ConvertToSourceGeneratedInteropFixer.cs (1)
111var docProjectId = documentId.ProjectId;
Microsoft.Interop.LibraryImportGenerator (1)
src\runtime\src\libraries\System.Runtime.InteropServices\gen\Common\ConvertToSourceGeneratedInteropFixer.cs (1)
111var docProjectId = documentId.ProjectId;
Microsoft.ML.CodeAnalyzer.Tests (1)
Code\RelaxTestNamingTest.cs (1)
22private static Solution WithoutSuppressedDiagnosticsTransform(Solution solution, ProjectId projectId)
Roslyn.Diagnostics.Analyzers (1)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\ISolutionExtensions.cs (1)
39public static Project GetRequiredProject(this Solution solution, ProjectId projectId)