2 instantiations of ProjectId
Microsoft.CodeAnalysis.Workspaces (2)
2502 references to ProjectId
Analyzer.Utilities.UnitTests (4)
AnalyzerRunner (11)
GenerateDocumentationAndConfigFiles (1)
IdeCoreBenchmarks (8)
Microsoft.AspNetCore.Analyzer.Testing (5)
Microsoft.AspNetCore.Components.Analyzers.Tests (2)
Microsoft.AspNetCore.Components.SdkAnalyzers.Tests (2)
Microsoft.AspNetCore.Razor.Microbenchmarks (2)
Microsoft.AspNetCore.Razor.Test.Common.Cohosting (7)
CohostTestBase.cs (4)
195var projectId = ProjectId.CreateNewId(debugName: TestProjectData.SomeProject.DisplayName);
201private protected static TextDocument CreateProjectAndRazorDocument(CodeAnalysis.Workspace workspace, ProjectId projectId, bool miscellaneousFile, DocumentId documentId, string documentFilePath, string contents, (string fileName, string contents)[]? additionalFiles, bool inGlobalNamespace, bool addDefaultImports, Action<RazorProjectBuilder>? projectConfigure)
209ProjectId projectId,
Microsoft.AspNetCore.Razor.Test.Common.Tooling (4)
Microsoft.CodeAnalysis.Analyzers (4)
Microsoft.CodeAnalysis.Analyzers.UnitTests (2)
Microsoft.CodeAnalysis.BannedApiAnalyzers (1)
Microsoft.CodeAnalysis.BannedApiAnalyzers.UnitTests (1)
Microsoft.CodeAnalysis.CodeStyle.Fixes (2)
Microsoft.CodeAnalysis.CodeStyle.UnitTestUtilities (1)
Microsoft.CodeAnalysis.CSharp.CodeStyle.UnitTests (1)
Microsoft.CodeAnalysis.CSharp.EditorFeatures.UnitTests (42)
Microsoft.CodeAnalysis.CSharp.Features (1)
Microsoft.CodeAnalysis.CSharp.Features.UnitTests (5)
Microsoft.CodeAnalysis.CSharp.Workspaces.UnitTests (5)
Microsoft.CodeAnalysis.EditorFeatures (20)
Microsoft.CodeAnalysis.EditorFeatures.Test.Utilities (12)
Microsoft.CodeAnalysis.EditorFeatures.UnitTests (30)
Microsoft.CodeAnalysis.ExternalAccess.Copilot (2)
Microsoft.CodeAnalysis.ExternalAccess.Debugger (1)
Microsoft.CodeAnalysis.ExternalAccess.FSharp (8)
Microsoft.CodeAnalysis.ExternalAccess.HotReload (12)
Microsoft.CodeAnalysis.ExternalAccess.HotReload.UnitTests (19)
HotReloadServiceTests.cs (15)
51AddTestProject("P", out var projectId).
67var result = await hotReload.GetUpdatesAsync(solution, runningProjects: ImmutableDictionary<ProjectId, HotReloadService.RunningProjectInfo>.Empty, CancellationToken.None);
81result = await hotReload.GetUpdatesAsync(solution, runningProjects: ImmutableDictionary<ProjectId, HotReloadService.RunningProjectInfo>.Empty, CancellationToken.None);
93var runningProjects = ImmutableDictionary<ProjectId, HotReloadService.RunningProjectInfo>.Empty
177var projectId = project.Id;
197var runningProjects = ImmutableDictionary<ProjectId, HotReloadService.RunningProjectInfo>.Empty
228.AddTestProject("A", out var projectId)
242var result = await hotReload.GetUpdatesAsync(solution, ImmutableDictionary<ProjectId, HotReloadService.RunningProjectInfo>.Empty, CancellationToken.None);
274.AddTestProject("A", out var projectId)
288var result = await hotReload.GetUpdatesAsync(solution, ImmutableDictionary<ProjectId, HotReloadService.RunningProjectInfo>.Empty, CancellationToken.None);
314AddTestProject("P", language: language, out var projectId).
329var result = await hotReload.GetUpdatesAsync(solution, runningProjects: ImmutableDictionary<ProjectId, HotReloadService.RunningProjectInfo>.Empty, CancellationToken.None);
369.AddTestProject("A", out var projectId)
388var result = await hotReload.GetUpdatesAsync(solution, ImmutableDictionary<ProjectId, HotReloadService.RunningProjectInfo>.Empty, CancellationToken.None);
409AddTestProject("P", language, out var projectId).
Microsoft.CodeAnalysis.ExternalAccess.OmniSharp (1)
Microsoft.CodeAnalysis.ExternalAccess.Razor.Features (4)
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)
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\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\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,
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;
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)
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);
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);
Microsoft.CodeAnalysis.Features.Test.Utilities (21)
EditAndContinue\Extensions.cs (11)
57public static Project AddTestProject(this Solution solution, string projectName, out ProjectId id)
60public static Project AddTestProject(this Solution solution, string projectName, string language, out ProjectId id)
61=> AddTestProject(solution, projectName, language, TargetFramework.NetLatest, id = ProjectId.CreateNewId(debugName: projectName));
63public static Project AddTestProject(this Solution solution, string projectName, string language, TargetFramework targetFramework, out ProjectId id)
70public static Project AddTestProject(this Solution solution, string projectName, string language = LanguageNames.CSharp, TargetFramework targetFramework = TargetFramework.NetLatest, ProjectId? id = null)
72id ??= ProjectId.CreateNewId(debugName: projectName);
93public static Document AddTestDocument(this Solution solution, ProjectId projectId, string? source, string path, out DocumentId id)
96public static TextDocument AddAdditionalTestDocument(this Solution solution, ProjectId projectId, string? source, string path, out DocumentId id)
99public static TextDocument AddAnalyzerConfigTestDocument(this Solution solution, ProjectId projectId, (string key, string value)[] config, string path, out DocumentId id)
105public static DocumentInfo CreateTestDocumentInfo(Solution solution, ProjectId projectId, string? source, string path, out DocumentId id)
139public static ProjectInfo CreateProjectInfo(string projectName, ProjectId id, string language = LanguageNames.CSharp)
Microsoft.CodeAnalysis.Features.UnitTests (148)
EditAndContinue\EditAndContinueWorkspaceServiceTests.cs (56)
70var projectPId = ProjectId.CreateNewId("P");
236var projectId = ProjectId.CreateNewId("dummy_proj");
304AddTestProject("test", out var projectId).
401AddTestProject("test", language, out var projectId).
501AddTestProject("test", language, out var projectId).
597AddTestProject("test", LanguageNames.VisualBasic, out var projectId).
672AddTestProject("A", out var projectId).
732AddTestProject("test", out var projectId).
778AddTestProject("test", out var projectId).
827AddTestProject("test", out var projectId).
860AddTestProject("test", out var projectId).
899var projectId = document1.Project.Id;
991AddTestProject("test", language, out var projectId).
1089var projectId = document1.Project.Id;
1345AddTestProject("test", out var projectId).
1376AddTestProject("test", out var projectId).
1625AddTestProject("test", out var projectId).Solution.
1877var projectId = project.Id;
2071var projectId = document.Project.Id;
2236AddTestProject("test", out var projectId).
2294var projectAId = ProjectId.CreateNewId("A");
2295var projectBId = ProjectId.CreateNewId("B");
2296var projectCId = ProjectId.CreateNewId("C");
2399var projectId = project.Id;
2569var projectId = project.Id;
2626AddTestProject("A", out var projectId).
2649AddTestProject("A", out var projectAId).Solution.
2650AddTestProject("B", out var projectBId).Solution;
2683.AddTestProject("A", out var projectAId)
2692.AddTestProject("B", out var projectBId)
2696var runningProjects = ImmutableDictionary<ProjectId, RunningProjectOptions>.Empty
2724.AddTestProject("A", out var projectAId)
2726.AddTestProject("B", out var projectBId)
2737var runningProjects = ImmutableDictionary<ProjectId, RunningProjectOptions>.Empty
2769.AddTestProject("A", out var projectAId)
2772var projectBId = ProjectId.CreateNewId("B");
3159AddTestProject("test", out var projectId).
3738.AddTestProject("A", out var projectAId)
3750.AddTestProject("B", out var projectBId)
3819.AddTestProject("A", out var projectAId)
3829.AddTestProject("B", out var projectBId)
3875var runningProjects = ImmutableDictionary<ProjectId, RunningProjectOptions>.Empty
3970var projectId = document1.Project.Id;
4514var projectAId = documentA.Project.Id;
4515var projectBId = documentB.Project.Id;
4614var projectAId = documentA.Project.Id;
4615var projectBId = documentB.Project.Id;
5733var result1 = await encService.EmitSolutionUpdateAsync(sessionId, solution1, runningProjects: ImmutableDictionary<ProjectId, RunningProjectOptions>.Empty, s_noActiveSpans, CancellationToken.None);
5740var result2 = await encService.EmitSolutionUpdateAsync(sessionId, solution2, runningProjects: ImmutableDictionary<ProjectId, RunningProjectOptions>.Empty, s_noActiveSpans, CancellationToken.None);
5763await Assert.ThrowsAsync<ObjectDisposedException>(async () => await debuggingSession.EmitSolutionUpdateAsync(solution, runningProjects: ImmutableDictionary<ProjectId, RunningProjectOptions>.Empty, s_noActiveSpans, CancellationToken.None));
EditAndContinue\EmitSolutionUpdateResultsTests.cs (82)
32private static ManagedHotReloadUpdate CreateMockUpdate(ProjectId projectId)
47private static ImmutableArray<ManagedHotReloadUpdate> CreateValidUpdates(params IEnumerable<ProjectId> projectIds)
50private static ImmutableArray<ProjectDiagnostics> CreateProjectRudeEdits(IEnumerable<ProjectId> blocking, IEnumerable<ProjectId> noEffect)
56private static ImmutableDictionary<ProjectId, RunningProjectOptions> CreateRunningProjects(IEnumerable<(ProjectId id, bool noEffectRestarts)> projectIds)
59private static IEnumerable<string> Inspect(ImmutableDictionary<ProjectId, ImmutableArray<ProjectId>> projectsToRestart)
144ProjectsToRestart = ImmutableDictionary<ProjectId, ImmutableArray<ProjectId>>.Empty,
166.AddTestProject("C", out var c).Solution
167.AddTestProject("D", out var d).Solution
168.AddTestProject("A", out var a).AddProjectReferences([new(c)]).Solution
169.AddTestProject("B", out var b).AddProjectReferences([new(c), new(d)]).Solution;
190.AddTestProject("C", out var c).Solution
191.AddTestProject("D", out var d).Solution
192.AddTestProject("A", out var a).AddProjectReferences([new(c)]).Solution
193.AddTestProject("B", out var b).AddProjectReferences([new(c), new(d)]).Solution;
216.AddTestProject("C", out var c).Solution
217.AddTestProject("D", out var d).Solution
218.AddTestProject("A", out var a).AddProjectReferences([new(c)]).Solution
219.AddTestProject("B", out var b).AddProjectReferences([new(c), new(d)]).Solution;
247.AddTestProject("C", out var c).Solution
248.AddTestProject("D", out var d).Solution
249.AddTestProject("A", out var a).AddProjectReferences([new(c)]).Solution
250.AddTestProject("B", out var b).AddProjectReferences([new(c), new(d)]).Solution;
274.AddTestProject("C", out var c).Solution
275.AddTestProject("D", out var d).Solution
276.AddTestProject("A", out var a).AddProjectReferences([new(c)]).Solution
277.AddTestProject("B", out var b).AddProjectReferences([new(c), new(d)]).Solution;
308.AddTestProject("C", out var c).Solution
309.AddTestProject("D", out var d).Solution
310.AddTestProject("A", out var a).AddProjectReferences([new(c)]).Solution
311.AddTestProject("B", out var b).AddProjectReferences([new(c), new(d)]).Solution;
336.AddTestProject("C", out var c).Solution
337.AddTestProject("D", out var d).Solution
338.AddTestProject("A", out var a).AddProjectReferences([new(c)]).Solution
339.AddTestProject("B", out var b).AddProjectReferences([new(c), new(d)]).Solution;
360.AddTestProject("C", out var c).Solution
361.AddTestProject("D", out var d).Solution
362.AddTestProject("A", out var a).AddProjectReferences([new(c)]).Solution
363.AddTestProject("B", out var b).AddProjectReferences([new(c), new(d)]).Solution;
391.AddTestProject("Q", out var q).Solution
392.AddTestProject("P0", out var p0).AddProjectReferences([new(q)]).Solution
393.AddTestProject("P1", out var p1).AddProjectReferences([new(q)]).Solution
394.AddTestProject("P2", out var p2).Solution
395.AddTestProject("R0", out var r0).AddProjectReferences([new(p0)]).Solution
396.AddTestProject("R1", out var r1).AddProjectReferences([new(p1), new(p0)]).Solution
397.AddTestProject("R2", out var r2).AddProjectReferences([new(p2), new(p0)]).Solution;
431.AddTestProject("C", out var c).Solution
432.AddTestProject("D", out var d).Solution
433.AddTestProject("A", out var a).AddProjectReferences([new(c)]).Solution
434.AddTestProject("B", out var b).AddProjectReferences([new(c), new(d)]).Solution;
462.AddTestProject("C", out var c).Solution
463.AddTestProject("D", out var d).Solution
464.AddTestProject("A", out var a).AddProjectReferences([new(c)]).Solution
465.AddTestProject("B", out var b).AddProjectReferences([new(c), new(d)]).Solution;
493.AddTestProject("C", out var c).Solution
494.AddTestProject("D", out var d).Solution
495.AddTestProject("A", out var a).AddProjectReferences([new(c)]).Solution
496.AddTestProject("B", out var b).AddProjectReferences([new(c), new(d)]).Solution;
519.AddTestProject("C", out var c).Solution
520.AddTestProject("D", out var d).Solution
521.AddTestProject("A", out var a).AddProjectReferences([new(c)]).Solution
522.AddTestProject("B", out var b).AddProjectReferences([new(c), new(d)]).Solution
523.AddTestProject("E", out var e).AddProjectReferences([new(b)]).Solution;
552.AddTestProject("C", out var c).Solution
553.AddTestProject("D", out var d).Solution
554.AddTestProject("A", out var a).AddProjectReferences([new(c)]).Solution
555.AddTestProject("B", out var b).AddProjectReferences([new(d)]).Solution;
577.AddTestProject("C", out var c).Solution
578.AddTestProject("D", out var d).Solution
579.AddTestProject("A", out var a).AddProjectReferences([new(c)]).Solution
580.AddTestProject("B", out var b).AddProjectReferences([new(c), new(d)]).Solution;
611.AddTestProject("P1", out var p1).Solution
612.AddTestProject("P2", out var p2).Solution
613.AddTestProject("P3", out var p3).Solution
614.AddTestProject("P4", out var p4).Solution
615.AddTestProject("R1", out var r1).AddProjectReferences([new(p1), new(p2)]).Solution
616.AddTestProject("R2", out var r2).AddProjectReferences([new(p2), new(p3)]).Solution
617.AddTestProject("R3", out var r3).AddProjectReferences([new(p3), new(p4)]).Solution
618.AddTestProject("R4", out var r4).AddProjectReferences([new(p4)]).Solution;
Microsoft.CodeAnalysis.LanguageServer (5)
Microsoft.CodeAnalysis.LanguageServer.Protocol (15)
Microsoft.CodeAnalysis.LanguageServer.Protocol.UnitTests (5)
Microsoft.CodeAnalysis.LanguageServer.UnitTests (1)
Microsoft.CodeAnalysis.PerformanceSensitiveAnalyzers (1)
Microsoft.CodeAnalysis.PublicApiAnalyzers.CodeFixes (5)
Microsoft.CodeAnalysis.Razor.Workspaces (2)
Microsoft.CodeAnalysis.Remote.Razor (4)
Microsoft.CodeAnalysis.Remote.ServiceHub (41)
Services\DiagnosticAnalyzer\RemoteDiagnosticAnalyzerService.cs (10)
29Checksum solutionChecksum, ProjectId projectId, CancellationToken cancellationToken)
44Checksum solutionChecksum, ProjectId projectId, ImmutableArray<string> diagnosticIds, CancellationToken cancellationToken)
60Checksum solutionChecksum, ProjectId projectId,
82Checksum solutionChecksum, ProjectId projectId,
100public ValueTask<ImmutableArray<DiagnosticData>> GetSourceGeneratorDiagnosticsAsync(Checksum solutionChecksum, ProjectId projectId, CancellationToken cancellationToken)
141public ValueTask<ImmutableArray<DiagnosticDescriptorData>> GetDiagnosticDescriptorsAsync(Checksum solutionChecksum, ProjectId projectId, string analyzerReferenceFullPath, CancellationToken cancellationToken)
175ProjectId projectId,
196public ValueTask<ImmutableDictionary<ProjectId, ImmutableHashSet<string>>> GetAllDiagnosticIdsAsync(
198ImmutableArray<ProjectId> projectIds,
215ProjectId? projectId,
Services\SourceGeneration\RemoteSourceGenerationService.cs (5)
34Checksum solutionChecksum, ProjectId projectId, bool withFrozenSourceGeneratedDocuments, CancellationToken cancellationToken)
54Checksum solutionChecksum, ProjectId projectId, ImmutableArray<DocumentId> documentIds, bool withFrozenSourceGeneratedDocuments, CancellationToken cancellationToken)
90ProjectId projectId,
152ProjectId projectId,
168ProjectId projectId,
Microsoft.CodeAnalysis.Remote.Workspaces (14)
BrokeredServiceConnection.cs (4)
197public override async ValueTask<bool> TryInvokeAsync(SolutionCompilationState compilationState, ProjectId projectId, Func<TService, Checksum, CancellationToken, ValueTask> invocation, CancellationToken cancellationToken)
213public override async ValueTask<Optional<TResult>> TryInvokeAsync<TResult>(SolutionCompilationState compilationState, ProjectId projectId, Func<TService, Checksum, CancellationToken, ValueTask<TResult>> invocation, CancellationToken cancellationToken)
268public override async ValueTask<bool> TryInvokeAsync(SolutionCompilationState compilationState, ProjectId projectId, Func<TService, Checksum, RemoteServiceCallbackId, CancellationToken, ValueTask> invocation, CancellationToken cancellationToken)
287public override async ValueTask<Optional<TResult>> TryInvokeAsync<TResult>(SolutionCompilationState compilationState, ProjectId projectId, Func<TService, Checksum, RemoteServiceCallbackId, CancellationToken, ValueTask<TResult>> invocation, CancellationToken cancellationToken)
Microsoft.CodeAnalysis.Workspaces (729)
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);
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);
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);
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\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_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\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\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\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\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)
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\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.CodeAnalysis.Workspaces.MSBuild.UnitTests (7)
Microsoft.CodeAnalysis.Workspaces.Test.Utilities (23)
Microsoft.CodeAnalysis.Workspaces.UnitTests (533)
FindReferencesTests.cs (19)
27private static Solution AddProjectWithMetadataReferences(Solution solution, string projectName, string languageName, string code, IEnumerable<MetadataReference> metadataReference, params ProjectId[] projectReferences)
30var pid = ProjectId.CreateNewId();
43private static Solution AddProjectWithMetadataReferences(Solution solution, string projectName, string languageName, string code, MetadataReference metadataReference, params ProjectId[] projectReferences)
46var pid = ProjectId.CreateNewId();
61var pid = ProjectId.CreateNewId();
71var pid = ProjectId.CreateNewId();
124var pid = ProjectId.CreateNewId();
175var prj1Id = ProjectId.CreateNewId();
216var prj1Id = ProjectId.CreateNewId();
282var prj1Id = ProjectId.CreateNewId();
412var projectIds = new HashSet<ProjectId>();
SolutionTests\ProjectInfoTests.cs (34)
23var pid = ProjectId.CreateNewId();
36var pid = ProjectId.CreateNewId();
51var projectReference = new ProjectReference(ProjectId.CreateNewId());
74var documentInfo = DocumentInfo.Create(DocumentId.CreateNewId(ProjectId.CreateNewId()), "doc");
76var info1 = ProjectInfo.Create(ProjectId.CreateNewId(), version, "proj", "assembly", "C#", documents: [documentInfo]);
79var info2 = ProjectInfo.Create(ProjectId.CreateNewId(), version, "proj", "assembly", "C#");
82var info3 = ProjectInfo.Create(ProjectId.CreateNewId(), version, "proj", "assembly", "C#", documents: []);
85var info4 = ProjectInfo.Create(ProjectId.CreateNewId(), version, "proj", "assembly", "C#", documents: []);
93var documentInfo = DocumentInfo.Create(DocumentId.CreateNewId(ProjectId.CreateNewId()), "doc");
95var info1 = ProjectInfo.Create(ProjectId.CreateNewId(), version, "proj", "assembly", "C#", additionalDocuments: [documentInfo]);
98var info2 = ProjectInfo.Create(ProjectId.CreateNewId(), version, "proj", "assembly", "C#");
101var info3 = ProjectInfo.Create(ProjectId.CreateNewId(), version, "proj", "assembly", "C#", additionalDocuments: []);
104var info4 = ProjectInfo.Create(ProjectId.CreateNewId(), version, "proj", "assembly", "C#", additionalDocuments: []);
112var projectReference = new ProjectReference(ProjectId.CreateNewId());
114var info1 = ProjectInfo.Create(ProjectId.CreateNewId(), version, "proj", "assembly", "C#", projectReferences: [projectReference]);
117var info2 = ProjectInfo.Create(ProjectId.CreateNewId(), version, "proj", "assembly", "C#");
120var info3 = ProjectInfo.Create(ProjectId.CreateNewId(), version, "proj", "assembly", "C#", projectReferences: []);
123var info4 = ProjectInfo.Create(ProjectId.CreateNewId(), version, "proj", "assembly", "C#", projectReferences: []);
133var info1 = ProjectInfo.Create(ProjectId.CreateNewId(), version, "proj", "assembly", "C#", metadataReferences: [metadataReference]);
136var info2 = ProjectInfo.Create(ProjectId.CreateNewId(), version, "proj", "assembly", "C#");
139var info3 = ProjectInfo.Create(ProjectId.CreateNewId(), version, "proj", "assembly", "C#", metadataReferences: []);
142var info4 = ProjectInfo.Create(ProjectId.CreateNewId(), version, "proj", "assembly", "C#", metadataReferences: []);
152var info1 = ProjectInfo.Create(ProjectId.CreateNewId(), version, "proj", "assembly", "C#", analyzerReferences: [analyzerReference]);
155var info2 = ProjectInfo.Create(ProjectId.CreateNewId(), version, "proj", "assembly", "C#");
158var info3 = ProjectInfo.Create(ProjectId.CreateNewId(), version, "proj", "assembly", "C#", analyzerReferences: []);
161var info4 = ProjectInfo.Create(ProjectId.CreateNewId(), version, "proj", "assembly", "C#", analyzerReferences: []);
168var projectInfo = ProjectInfo.Create(name: "Goo", filePath: @"C:\", id: ProjectId.CreateNewId(), version: VersionStamp.Default, assemblyName: "Bar", language: "C#");
175var projectInfo = ProjectInfo.Create(name: "Goo", id: ProjectId.CreateNewId(), version: VersionStamp.Default, assemblyName: "Bar", language: "C#");
182var projectId = ProjectId.CreateNewId();
184var instance = ProjectInfo.Create(name: "Name", id: ProjectId.CreateNewId(), version: VersionStamp.Default, assemblyName: "AssemblyName", language: "C#");
186SolutionTestHelpers.TestProperty(instance, (old, value) => old.WithId(value), opt => opt.Id, ProjectId.CreateNewId(), defaultThrows: true);
SolutionTests\SolutionTests.cs (357)
48private static readonly DocumentId s_unrelatedDocumentId = DocumentId.CreateNewId(ProjectId.CreateNewId());
52var projectId = ProjectId.CreateNewId();
70var projectId1 = ProjectId.CreateNewId();
71var projectId2 = ProjectId.CreateNewId();
271var projectId = documentId.ProjectId;
330var projectId = solution.Projects.Single().Id;
340var projectId = ProjectId.CreateNewId();
845var projectId1 = ProjectId.CreateNewId();
846var projectId2 = ProjectId.CreateNewId();
1087var projectId = ProjectId.CreateNewId();
1088var projectId2 = ProjectId.CreateNewId();
1311var projectId = ProjectId.CreateNewId();
1354var projectId = ProjectId.CreateNewId();
1389var projectId = ProjectId.CreateNewId();
1424var projectId = ProjectId.CreateNewId();
1459var projectId = ProjectId.CreateNewId();
1494var projectId = ProjectId.CreateNewId();
1510Assert.Throws<InvalidOperationException>(() => solution.WithProjectAssemblyName(ProjectId.CreateNewId(), "x.dll"));
1516var projectId = ProjectId.CreateNewId();
1534Assert.Throws<InvalidOperationException>(() => solution.WithProjectOutputFilePath(ProjectId.CreateNewId(), "x.dll"));
1540var projectId = ProjectId.CreateNewId();
1571var projectId = ProjectId.CreateNewId();
1588Assert.Throws<InvalidOperationException>(() => solution.WithProjectOutputRefFilePath(ProjectId.CreateNewId(), "x.dll"));
1594var projectId = ProjectId.CreateNewId();
1611Assert.Throws<InvalidOperationException>(() => solution.WithProjectCompilationOutputInfo(ProjectId.CreateNewId(), info));
1617var projectId = ProjectId.CreateNewId();
1634Assert.Throws<InvalidOperationException>(() => solution.WithProjectDefaultNamespace(ProjectId.CreateNewId(), "x"));
1640var projectId = ProjectId.CreateNewId();
1657var projectId = ProjectId.CreateNewId();
1731var projectId = ProjectId.CreateNewId();
1747Assert.Throws<InvalidOperationException>(() => solution.WithProjectName(ProjectId.CreateNewId(), "x"));
1753var projectId = ProjectId.CreateNewId();
1770Assert.Throws<InvalidOperationException>(() => solution.WithProjectFilePath(ProjectId.CreateNewId(), "x"));
1776var projectId = ProjectId.CreateNewId();
1786Assert.Throws<InvalidOperationException>(() => solution.WithProjectCompilationOptions(ProjectId.CreateNewId(), options));
1792var projectId = ProjectId.CreateNewId();
1818var projectId = ProjectId.CreateNewId();
1835Assert.Throws<InvalidOperationException>(() => solution.WithProjectParseOptions(ProjectId.CreateNewId(), options));
1841var projectId = ProjectId.CreateNewId();
1879var projectId = ProjectId.CreateNewId();
1917var projectId = ProjectId.CreateNewId();
1936var projectId = ProjectId.CreateNewId();
1955var projectId = ProjectId.CreateNewId();
1976var projectId = solution.Projects.Single().Id;
1978var projectId2 = ProjectId.CreateNewId();
1997Assert.Throws<InvalidOperationException>(() => solution.WithProjectReferences(ProjectId.CreateNewId(), [projectRef]));
2009var projectId = solution.Projects.Single().Id;
2010var externalProjectRef = new ProjectReference(ProjectId.CreateNewId());
2025var projectId = solution.Projects.Single().Id;
2026var projectId2 = ProjectId.CreateNewId();
2027var projectId3 = ProjectId.CreateNewId();
2035var externalProjectRef = new ProjectReference(ProjectId.CreateNewId());
2067var projectId = solution.Projects.Single().Id;
2069var projectId2 = ProjectId.CreateNewId();
2072var externalProjectRef = new ProjectReference(ProjectId.CreateNewId());
2091Assert.Throws<ArgumentException>("projectReference", () => solution.RemoveProjectReference(projectId, new ProjectReference(ProjectId.CreateNewId())));
2094Assert.Throws<InvalidOperationException>(() => solution.RemoveProjectReference(ProjectId.CreateNewId(), projectRef2));
2103var projectId0 = ProjectId.CreateNewId();
2104var submissionId1 = ProjectId.CreateNewId();
2105var submissionId2 = ProjectId.CreateNewId();
2106var submissionId3 = ProjectId.CreateNewId();
2138var projectId = solution.Projects.Single().Id;
2148Assert.Throws<InvalidOperationException>(() => solution.WithProjectMetadataReferences(ProjectId.CreateNewId(), [metadataRef]));
2156var projectId = solution.Projects.Single().Id;
2181var projectId = solution.Projects.Single().Id;
2200Assert.Throws<InvalidOperationException>(() => solution.RemoveMetadataReference(ProjectId.CreateNewId(), metadataRef1));
2208var projectId = solution.Projects.Single().Id;
2218Assert.Throws<InvalidOperationException>(() => solution.WithProjectAnalyzerReferences(ProjectId.CreateNewId(), [analyzerRef]));
2226var projectId = solution.Projects.Single().Id;
2254var projectId = solution.Projects.Single().Id;
2273Assert.Throws<InvalidOperationException>(() => solution.RemoveAnalyzerReference(ProjectId.CreateNewId(), analyzerRef1));
2421var projectId = ProjectId.CreateNewId();
2440Assert.Throws<InvalidOperationException>(() => solution.AddDocument(documentId: DocumentId.CreateNewId(ProjectId.CreateNewId()), "name", loader));
2446var projectId = ProjectId.CreateNewId();
2471Assert.Throws<InvalidOperationException>(() => solution.AddDocument(documentId: DocumentId.CreateNewId(ProjectId.CreateNewId()), "name", "text"));
2477var projectId = ProjectId.CreateNewId();
2499Assert.Throws<InvalidOperationException>(() => solution.AddDocument(documentId: DocumentId.CreateNewId(ProjectId.CreateNewId()), "name", sourceText));
2537var additionalFileProjectId = ProjectId.CreateNewId("AdditionalFileProject");
2538var sourceFileProjectId = ProjectId.CreateNewId("SourceFileProject");
2567var analyzerConfigProjectId = ProjectId.CreateNewId("AnalyzerConfigProject");
2568var sourceFileProjectId = ProjectId.CreateNewId("SourceFileProject");
2596var additionalFileProjectId = ProjectId.CreateNewId("AdditionalFileProject");
2597var sourceFileProjectId = ProjectId.CreateNewId("SourceFileProject");
2617var analyzerConfigProjectId = ProjectId.CreateNewId("AnalyzerConfigProject");
2618var sourceFileProjectId = ProjectId.CreateNewId("SourceFileProject");
2634var projectId = ProjectId.CreateNewId();
2657Assert.Throws<InvalidOperationException>(() => solution.AddDocument(documentId: DocumentId.CreateNewId(ProjectId.CreateNewId()), "name", syntaxRoot: root));
2663var projectId = ProjectId.CreateNewId();
2697var projectId = ProjectId.CreateNewId();
2724var pid = ProjectId.CreateNewId();
2737var project1 = ProjectId.CreateNewId();
2749var project1 = ProjectId.CreateNewId();
2750var project2 = ProjectId.CreateNewId();
2759var pid = ProjectId.CreateNewId();
2784var pid2 = solution.Projects.Single().Id;
2803var projectId = ProjectId.CreateNewId();
2826var projectId1 = ProjectId.CreateNewId();
2827var projectId2 = ProjectId.CreateNewId();
2853var projectId1 = ProjectId.CreateNewId();
2854var projectId2 = ProjectId.CreateNewId();
2879var projectId = ProjectId.CreateNewId();
2899var projectId1 = ProjectId.CreateNewId();
2900var projectId2 = ProjectId.CreateNewId();
2921var projectId1 = ProjectId.CreateNewId();
2922var projectId2 = ProjectId.CreateNewId();
2940var projectId1 = ProjectId.CreateNewId();
2941var projectId2 = ProjectId.CreateNewId();
2959var projectId1 = ProjectId.CreateNewId();
2960var projectId2 = ProjectId.CreateNewId();
2994var pm1 = ProjectId.CreateNewId();
2995var pm2 = ProjectId.CreateNewId();
3012var pm1 = ProjectId.CreateNewId();
3013var pm2 = ProjectId.CreateNewId();
3120var projectIds = Enumerable.Range(0, 5).Select(i => ProjectId.CreateNewId()).ToArray();
3140var project1 = ProjectId.CreateNewId();
3178var project1 = ProjectId.CreateNewId();
3236var project1 = ProjectId.CreateNewId();
3255var pid = ProjectId.CreateNewId();
3274var pid = ProjectId.CreateNewId();
3275var pid2 = ProjectId.CreateNewId();
3300var pid = ProjectId.CreateNewId();
3301var pid2 = ProjectId.CreateNewId();
3330var pid = ProjectId.CreateNewId();
3352var projectId = ProjectId.CreateNewId();
3374var pid = ProjectId.CreateNewId();
3412var pid = ProjectId.CreateNewId();
3453var projectId = ProjectId.CreateNewId();
3493var pid = ProjectId.CreateNewId();
3517var pid = ProjectId.CreateNewId();
3537var pid = ProjectId.CreateNewId();
3560var pid = ProjectId.CreateNewId();
3584var pid = ProjectId.CreateNewId();
3604var pid = ProjectId.CreateNewId();
3625var pid = ProjectId.CreateNewId();
3647var pid = ProjectId.CreateNewId();
3667var pid = ProjectId.CreateNewId();
3687var pid = ProjectId.CreateNewId();
3706var pid = ProjectId.CreateNewId();
3737var pid = ProjectId.CreateNewId();
3768var pid = ProjectId.CreateNewId();
3794var pid = ProjectId.CreateNewId();
3821var pid = ProjectId.CreateNewId();
3847var pid = ProjectId.CreateNewId();
3914var pid = ProjectId.CreateNewId();
3929private static ObjectReference<Compilation> GetObservedCompilationAsync(Solution solution, ProjectId projectId)
3939var pid = ProjectId.CreateNewId();
3954private static ObjectReference<Compilation> GetObservedCompilation(Solution solution, ProjectId projectId)
3968var pid = ProjectId.CreateNewId();
4107var pid = ProjectId.CreateNewId();
4132var pid1 = ProjectId.CreateNewId("p1");
4133var pid2 = ProjectId.CreateNewId("p2");
4134var pid3 = ProjectId.CreateNewId("p3");
4226ProjectId.CreateNewId(),
4238ProjectId.CreateNewId(),
4258ProjectId.CreateNewId(),
4268ProjectId.CreateNewId(),
4431ProjectId.CreateNewId(),
4444ProjectId.CreateNewId(),
4780var pid = ProjectId.CreateNewId();
4841var pid = ProjectId.CreateNewId();
4869var projectId = ProjectId.CreateNewId();
4905var projectId = ProjectId.CreateNewId();
4946var projectId = ProjectId.CreateNewId();
4991var projectId = ProjectId.CreateNewId();
5022var projectId = ProjectId.CreateNewId();
5073var projectId = ProjectId.CreateNewId();
5093var projectId = ProjectId.CreateNewId();
5114var projectId = ProjectId.CreateNewId();
5132var projectId = ProjectId.CreateNewId();
5156var projectId1 = ProjectId.CreateNewId();
5157var projectId2 = ProjectId.CreateNewId();
5178var projectId1 = ProjectId.CreateNewId();
5179var projectId2 = ProjectId.CreateNewId();
5206var projectId1 = ProjectId.CreateNewId();
5207var projectId2 = ProjectId.CreateNewId();
5234var projectId1 = ProjectId.CreateNewId();
5235var projectId2 = ProjectId.CreateNewId();
5236var projectId3 = ProjectId.CreateNewId();
5263var projectId1 = ProjectId.CreateNewId();
5264var projectId2 = ProjectId.CreateNewId();
5265var projectId3 = ProjectId.CreateNewId();
5294var projectId1 = ProjectId.CreateNewId();
5295var projectId2 = ProjectId.CreateNewId();
5296var projectId3 = ProjectId.CreateNewId();
5332var projectId1 = ProjectId.CreateNewId();
5349var projectId1 = ProjectId.CreateNewId();
5350var projectId2 = ProjectId.CreateNewId();
5351var projectId3 = ProjectId.CreateNewId();
5373using var _2 = ArrayBuilder<ProjectId>.GetInstance(out var projectsToRemove);
5395var projectId1 = ProjectId.CreateNewId();
5396var projectId2 = ProjectId.CreateNewId();
5397var projectId3 = ProjectId.CreateNewId();
5417using var _2 = ArrayBuilder<ProjectId>.GetInstance(out var projectsToRemove);
5439var projectId1 = ProjectId.CreateNewId();
5440var projectId2 = ProjectId.CreateNewId();
5450using var _2 = ArrayBuilder<ProjectId>.GetInstance(out var projectsToRemove);
5463var csProjectId = ProjectId.CreateNewId();
5464var vbProjectId = ProjectId.CreateNewId();
5520ProjectId.CreateNewId(),
5534ProjectId.CreateNewId(),
5547ProjectId.CreateNewId(),
5561ProjectId.CreateNewId(),
5575ProjectId.CreateNewId(),
5585ProjectId.CreateNewId(),
5633var pid = ProjectId.CreateNewId();
5716var projectId = ProjectId.CreateNewId();
WorkspaceTests\WorkspaceTests.cs (8)
24var projectId = ws.AddProject("TestProject", LanguageNames.CSharp).Id;
37var projectId = ws.AddProject("TestProject", LanguageNames.CSharp).Id;
53var projectId = ws.AddProject("TestProject", LanguageNames.CSharp).Id;
71var projectId = ws.AddProject("TestProject", LanguageNames.CSharp).Id;
88var projectId = ws.AddProject("TestProject", LanguageNames.CSharp).Id;
104var projectId = ws.AddProject("TestProject", LanguageNames.CSharp).Id;
129var info = ProjectInfo.Create(ProjectId.CreateNewId(), VersionStamp.Create(), name, name, language);
147public Document AddDocument(ProjectId projectId, string name, SourceText text)
Microsoft.Interop.ComInterfaceGenerator (1)
Microsoft.Interop.LibraryImportGenerator (1)
Microsoft.ML.CodeAnalyzer.Tests (1)
Microsoft.NET.Sdk.Razor.SourceGenerators.UnitTests (2)
Microsoft.VisualStudio.LanguageServices (175)
Library\ObjectBrowser\AbstractListItemFactory.cs (25)
69protected MemberListItem CreateFullyQualifiedMemberListItem(ISymbol memberSymbol, ProjectId projectId, bool hidden)
78protected MemberListItem CreateInheritedMemberListItem(ISymbol memberSymbol, ProjectId projectId, bool hidden)
81protected MemberListItem CreateSimpleMemberListItem(ISymbol memberSymbol, ProjectId projectId, bool hidden)
84private MemberListItem CreateMemberListItem(ISymbol memberSymbol, ProjectId projectId, bool hidden, bool isInherited)
98protected TypeListItem CreateSimpleTypeListItem(INamedTypeSymbol namedTypeSymbol, ProjectId projectId, bool hidden)
111protected TypeListItem CreateFullyQualifiedTypeListItem(INamedTypeSymbol namedTypeSymbol, ProjectId projectId, bool hidden)
124protected NamespaceListItem CreateNamespaceListItem(INamespaceSymbol namespaceSymbol, ProjectId projectId)
170ProjectId projectId,
171Func<TSymbol, ProjectId, bool, ObjectListItem> listItemCreator)
184ProjectId projectId,
185Func<TSymbol, ProjectId, bool, ObjectListItem> listItemCreator,
205private ImmutableArray<ObjectListItem> GetBaseTypeListItems(INamedTypeSymbol namedTypeSymbol, Compilation compilation, ProjectId projectId)
293ProjectId projectId,
405public void CollectNamespaceListItems(IAssemblySymbol assemblySymbol, ProjectId projectId, ImmutableArray<ObjectListItem>.Builder builder, string searchString)
456private sealed class AssemblySymbolComparer : IEqualityComparer<(ProjectId, IAssemblySymbol)>
458public bool Equals((ProjectId, IAssemblySymbol) x, (ProjectId, IAssemblySymbol) y)
461public int GetHashCode((ProjectId, IAssemblySymbol) obj)
465public async Task<ImmutableHashSet<(ProjectId, IAssemblySymbol)>> GetAssemblySetAsync(
470foreach (var projectId in solution.ProjectIds)
507public async Task<ImmutableHashSet<(ProjectId, IAssemblySymbol)>> GetAssemblySetAsync(Project project, bool lookInReferences, CancellationToken cancellationToken)
597foreach (var projectId in projectIds)
690ProjectId projectId,
743public void CollectTypeListItems(IAssemblySymbol assemblySymbol, Compilation compilation, ProjectId projectId, ImmutableArray<ObjectListItem>.Builder builder, string searchString)
775public void CollectMemberListItems(IAssemblySymbol assemblySymbol, Compilation compilation, ProjectId projectId, ImmutableArray<ObjectListItem>.Builder builder, string searchString)
Library\ObjectBrowser\AbstractObjectBrowserLibraryManager_ListItems.cs (5)
14internal void CollectMemberListItems(IAssemblySymbol assemblySymbol, Compilation compilation, ProjectId projectId, ImmutableArray<ObjectListItem>.Builder builder, string searchString)
17internal void CollectNamespaceListItems(IAssemblySymbol assemblySymbol, ProjectId projectId, ImmutableArray<ObjectListItem>.Builder builder, string searchString)
20internal void CollectTypeListItems(IAssemblySymbol assemblySymbol, Compilation compilation, ProjectId projectId, ImmutableArray<ObjectListItem>.Builder builder, string searchString)
23internal Task<ImmutableHashSet<(ProjectId, IAssemblySymbol)>> GetAssemblySetAsync(Solution solution, string languageName, CancellationToken cancellationToken)
26internal Task<ImmutableHashSet<(ProjectId, IAssemblySymbol)>> GetAssemblySetAsync(Project project, bool lookInReferences, CancellationToken cancellationToken)
Packaging\PackageInstallerServiceFactory.cs (14)
80private readonly AsyncBatchingWorkQueue<(bool solutionChanged, ProjectId? changedProject)> _workQueue;
82private readonly ConcurrentDictionary<ProjectId, ProjectState> _projectToInstalledPackageAndVersion = [];
131_workQueue = new AsyncBatchingWorkQueue<(bool solutionChanged, ProjectId? changedProject)>(
134equalityComparer: EqualityComparer<(bool solutionChanged, ProjectId? changedProject)>.Default,
198bool IPackageInstallerService.IsEnabled(ProjectId projectId)
275var projectId = documentId.ProjectId;
429ProjectId? changedProject = null;
457ImmutableSegmentedList<(bool solutionChanged, ProjectId? changedProject)> workQueue, CancellationToken cancellationToken)
472ImmutableSegmentedList<(bool solutionChanged, ProjectId? changedProject)> workQueue, CancellationToken cancellationToken)
479using var _ = PooledHashSet<ProjectId>.GetInstance(out var projectsToProcess);
521ImmutableSegmentedList<(bool solutionChanged, ProjectId? changedProject)> workQueue, Solution solution, HashSet<ProjectId> projectsToProcess)
542ProjectId projectId,
605public bool IsInstalled(ProjectId projectId, string packageName)
ProjectSystem\VisualStudioWorkspaceImpl.cs (33)
82private ImmutableDictionary<ProjectId, IVsHierarchy?> _projectToHierarchyMap = ImmutableDictionary<ProjectId, IVsHierarchy?>.Empty;
83private ImmutableDictionary<ProjectId, Guid> _projectToGuidMap = ImmutableDictionary<ProjectId, Guid>.Empty;
87/// <see cref="TryGetRuleSetPathForProject(ProjectId)"/> and any other use is extremely suspicious, since direct use of this is out of
91private ImmutableDictionary<ProjectId, Func<string?>> _projectToRuleSetFilePath = ImmutableDictionary<ProjectId, Func<string?>>.Empty;
231internal override string? TryGetRuleSetPathForProject(ProjectId projectId)
321internal bool IsCPSProject(ProjectId projectId)
333internal bool IsPrimaryProject(ProjectId projectId)
394private bool TryGetProjectData(ProjectId projectId, [NotNullWhen(returnValue: true)] out IVsHierarchy? hierarchy, [NotNullWhen(returnValue: true)] out EnvDTE.Project? project)
403internal void GetProjectData(ProjectId projectId, out IVsHierarchy hierarchy, out EnvDTE.Project project)
411internal EnvDTE.Project? TryGetDTEProject(ProjectId projectId)
414internal bool TryAddReferenceToProject(ProjectId projectId, string assemblyName)
437protected override void ApplyCompilationOptionsChanged(ProjectId projectId, CompilationOptions options)
455protected override void ApplyParseOptionsChanged(ProjectId projectId, ParseOptions options)
472protected override void ApplyAnalyzerReferenceAdded(ProjectId projectId, AnalyzerReference analyzerReference)
494protected override void ApplyAnalyzerReferenceRemoved(ProjectId projectId, AnalyzerReference analyzerReference)
527ProjectId projectId, MetadataReference metadataReference)
553ProjectId projectId, MetadataReference metadataReference)
601var projectId = changesForFile.Value.First().ProjectId;
610async Task<MultiDictionary<string, (TextChange TextChange, ProjectId ProjectId)>> GetMappedTextChangesAsync(SolutionChanges solutionChanges, CancellationToken cancellationToken)
612var filePathToMappedTextChanges = new MultiDictionary<string, (TextChange TextChange, ProjectId ProjectId)>();
669ProjectId projectId, ProjectReference projectReference)
709ProjectId projectId, ProjectReference projectReference)
1070internal void OpenDocumentFromPath(string? filePath, ProjectId projectId, bool activate = true)
1091private bool TryGetFrame(string? filePath, ProjectId projectId, [NotNullWhen(returnValue: true)] out IVsWindowFrame? frame)
1354public override IVsHierarchy? GetHierarchy(ProjectId projectId)
1360internal override Guid GetProjectGuid(ProjectId projectId)
1366internal string? TryGetDependencyNodeTargetIdentifier(ProjectId projectId)
1443internal bool TryGetHierarchy(ProjectId projectId, [NotNullWhen(returnValue: true)] out IVsHierarchy? hierarchy)
1495internal override bool CanAddProjectReference(ProjectId referencingProject, ProjectId referencedProject)
TaskList\ExternalErrorDiagnosticUpdateSource.cs (7)
122public bool IsUnsupportedDiagnosticId(ProjectId projectId, string id)
131public void ClearErrors(ProjectId projectId)
165public void AddNewErrors(ProjectId projectId, Guid projectHierarchyGuid, ImmutableArray<DiagnosticData> diagnostics)
178private async Task ClearPreviousAsync(ProjectId? projectId, CancellationToken cancellationToken)
192private async ValueTask ProcessDiagnosticsReportAsync(ProjectId projectId, Guid projectHierarchyGuid, ImmutableArray<DiagnosticData> diagnostics, InProgressState state, CancellationToken cancellationToken)
221private static Microsoft.VisualStudio.RpcContracts.DiagnosticManagement.Diagnostic? CreateDiagnostic(ProjectId projectId, Guid projectHierarchyGuid, DiagnosticData diagnostic, Solution solution)
334public bool IsUnsupportedDiagnosticId(ProjectId projectId, string id)
Microsoft.VisualStudio.LanguageServices.CSharp (1)
Microsoft.VisualStudio.LanguageServices.CSharp.UnitTests (7)
Microsoft.VisualStudio.LanguageServices.DevKit (1)
Microsoft.VisualStudio.LanguageServices.Implementation (97)
Microsoft.VisualStudio.LanguageServices.LiveShare (12)
Microsoft.VisualStudio.LanguageServices.Razor (1)
Microsoft.VisualStudio.LanguageServices.Razor.UnitTests (18)
Microsoft.VisualStudioCode.RazorExtension (1)
Microsoft.VisualStudioCode.RazorExtension.UnitTests (17)
Roslyn.Diagnostics.Analyzers (1)
Roslyn.Diagnostics.Analyzers.UnitTests (1)
Roslyn.VisualStudio.Next.UnitTests (74)
Services\SolutionServiceTests.cs (9)
87ProjectId.CreateNewId(), VersionStamp.Create(), "test", "test.dll", LanguageNames.CSharp,
116ProjectId.CreateNewId(), VersionStamp.Create(), "test", "test.dll", LanguageNames.CSharp,
217foreach (var projectId in solution.ProjectIds)
252var projectId = solution.ProjectIds.Single();
298var existingProjectId = s.ProjectIds.First();
322var projectId = workspace.CurrentSolution.ProjectIds.First();
353var projectId = workspace.CurrentSolution.ProjectIds.First();
386var projectId = workspace.CurrentSolution.ProjectIds.First();
957project1 = project1.AddProjectReference(new ProjectReference(ProjectId.CreateNewId()));
Test.Utilities (2)
Text.Analyzers (1)
Text.Analyzers.UnitTests (2)