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)
EditAndContinue\EmitSolutionUpdateResults.cs (27)
36public required ImmutableDictionary<ProjectId, ImmutableArray<ProjectId>> ProjectsToRestart { get; init; }
39public required ImmutableArray<ProjectId> ProjectsToRebuild { get; init; }
87ProjectsToRestart = ImmutableDictionary<ProjectId, ImmutableArray<ProjectId>>.Empty,
114public required ImmutableDictionary<ProjectId, ImmutableArray<ProjectId>> ProjectsToRestart { get; init; }
121public required ImmutableArray<ProjectId> ProjectsToRebuild { get; init; }
131ProjectsToRestart = ImmutableDictionary<ProjectId, ImmutableArray<ProjectId>>.Empty,
172ImmutableDictionary<ProjectId, RunningProjectInfo> runningProjects,
173out ImmutableDictionary<ProjectId, ImmutableArray<ProjectId>> projectsToRestart,
174out ImmutableArray<ProjectId> projectsToRebuild)
201using var _1 = ArrayBuilder<ProjectId>.GetInstance(out var traversalStack);
204var projectsToRestartBuilder = PooledDictionary<ProjectId, ArrayBuilder<ProjectId>>.GetInstance();
206using var _3 = PooledHashSet<ProjectId>.GetInstance(out var projectsToRebuildBuilder);
207using var _4 = ArrayBuilder<(ProjectId projectWithRudeEdits, ImmutableArray<ProjectId> impactedRunningProjects)>.GetInstance(out var impactedRunningProjectMap);
208using var _5 = ArrayBuilder<ProjectId>.GetInstance(out var impactedRunningProjects);
270using var _6 = PooledHashSet<ProjectId>.GetInstance(out var updatedProjects);
271using var _7 = ArrayBuilder<ProjectId>.GetInstance(out var updatedProjectsToRemove);
272using var _8 = PooledHashSet<ProjectId>.GetInstance(out var projectsThatCausedRestart);
335void AddImpactedRunningProjects(ArrayBuilder<ProjectId> impactedProjects, ProjectId initialProject, bool isBlocking)
351foreach (var referencingProjectId in graph.GetProjectsThatDirectlyDependOnThisProject(projectId))
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)
122var metadataLocations = GetMetadataLocations(definition, solution, out var originatingProjectId);
147internal static ImmutableDictionary<string, string> WithMetadataSymbolProperties(this ImmutableDictionary<string, string> properties, ISymbol symbol, ProjectId originatingProjectId)
153internal static AssemblyLocation GetMetadataLocation(IAssemblySymbol assembly, Solution solution, out ProjectId originatingProjectId)
163internal 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)
57private readonly Dictionary<string, ProjectId> _assemblyToProjectMap = [];
64private readonly HashSet<ProjectId> _sourceLinkEnabledProjects = [];
219if (!_assemblyToProjectMap.TryGetValue(assemblyName, out var projectId))
322var projectId = ProjectId.CreateNewId();
338SourceFileInfo?[] sourceFileInfos, Encoding encoding, ProjectId projectId, Workspace sourceWorkspace, Project sourceProject)
458foreach (var projectId in _assemblyToProjectMap.Values)
490internal record struct SourceDocumentInfo(DocumentId DocumentId, Encoding Encoding, SourceHashAlgorithm ChecksumAlgorithm, ProjectId SourceProjectId, Workspace SourceWorkspace, DocumentInfo DocumentInfo);
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 (32)
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;
284internal override string? TryGetRuleSetPathForProject(ProjectId projectId)
374internal bool IsCPSProject(ProjectId projectId)
386internal bool IsPrimaryProject(ProjectId projectId)
447private bool TryGetProjectData(ProjectId projectId, [NotNullWhen(returnValue: true)] out IVsHierarchy? hierarchy, [NotNullWhen(returnValue: true)] out EnvDTE.Project? project)
456internal void GetProjectData(ProjectId projectId, out IVsHierarchy hierarchy, out EnvDTE.Project project)
464internal EnvDTE.Project? TryGetDTEProject(ProjectId projectId)
467internal bool TryAddReferenceToProject(ProjectId projectId, string assemblyName)
490protected override void ApplyCompilationOptionsChanged(ProjectId projectId, CompilationOptions options)
508protected override void ApplyParseOptionsChanged(ProjectId projectId, ParseOptions options)
525protected override void ApplyAnalyzerReferenceAdded(ProjectId projectId, AnalyzerReference analyzerReference)
547protected override void ApplyAnalyzerReferenceRemoved(ProjectId projectId, AnalyzerReference analyzerReference)
580ProjectId projectId, MetadataReference metadataReference)
606ProjectId projectId, MetadataReference metadataReference)
663async Task<MultiDictionary<string, (TextChange TextChange, ProjectId ProjectId)>> GetMappedTextChangesAsync(SolutionChanges solutionChanges)
665var filePathToMappedTextChanges = new MultiDictionary<string, (TextChange TextChange, ProjectId ProjectId)>();
699ProjectId projectId, ProjectReference projectReference)
739ProjectId projectId, ProjectReference projectReference)
1100internal void OpenDocumentFromPath(string? filePath, ProjectId projectId, bool activate = true)
1121private bool TryGetFrame(string? filePath, ProjectId projectId, [NotNullWhen(returnValue: true)] out IVsWindowFrame? frame)
1384public override IVsHierarchy? GetHierarchy(ProjectId projectId)
1390internal override Guid GetProjectGuid(ProjectId projectId)
1396internal string? TryGetDependencyNodeTargetIdentifier(ProjectId projectId)
1473internal bool TryGetHierarchy(ProjectId projectId, [NotNullWhen(returnValue: true)] out IVsHierarchy? hierarchy)
1525internal override bool CanAddProjectReference(ProjectId referencingProject, ProjectId referencedProject)
TaskList\ExternalErrorDiagnosticUpdateSource.cs (11)
106public bool IsSupportedDiagnosticId(ProjectId projectId, string id)
109public void ClearErrors(ProjectId projectId)
139public void AddNewErrors(ProjectId projectId, Guid projectHierarchyGuid, ImmutableArray<DiagnosticData> diagnostics)
152private async Task ClearPreviousAsync(ProjectId? projectId, CancellationToken cancellationToken)
166private async ValueTask ProcessDiagnosticsReportAsync(ProjectId projectId, Guid projectHierarchyGuid, ImmutableArray<DiagnosticData> diagnostics, InProgressState state, CancellationToken cancellationToken)
195private static Microsoft.VisualStudio.RpcContracts.DiagnosticManagement.Diagnostic? CreateDiagnostic(ProjectId projectId, Guid projectHierarchyGuid, DiagnosticData diagnostic, Solution solution)
318private readonly Dictionary<ProjectId, ImmutableHashSet<string>> _allDiagnosticIdMap = [];
328public bool IsSupportedDiagnosticId(ProjectId projectId, string id)
332ProjectId projectId,
333Dictionary<ProjectId, ImmutableHashSet<string>> diagnosticIdMap,
353private ImmutableHashSet<string> GetOrCreateSupportedDiagnosticIds(ProjectId projectId)