1 instantiation of ProjectState
Microsoft.CodeAnalysis.Workspaces (1)
Workspace\Solution\SolutionState.cs (1)
399var newProject = new ProjectState(languageServices, projectInfo, fallbackAnalyzerOptions);
243 references to ProjectState
Microsoft.CodeAnalysis.Features (6)
Diagnostics\Service\EngineV2\DiagnosticIncrementalAnalyzer.CompilationManager.cs (2)
20/// Cached data from a <see cref="ProjectState"/> to the last <see cref="CompilationWithAnalyzersPair"/> instance 38var projectState = project.State;
Diagnostics\Service\EngineV2\DiagnosticIncrementalAnalyzer_IncrementalAnalyzer.cs (3)
22/// Cached data from a real <see cref="ProjectState"/> instance to the cached diagnostic data produced by 28/// This table is keyed off of <see cref="ProjectState"/> but stores data from <see cref="SolutionState"/> on 39var projectState = project.State;
InheritanceMargin\AbstractInheritanceMarginService_Helpers.cs (1)
215var projectState = document.Project.State;
Microsoft.CodeAnalysis.LanguageServer.Protocol (1)
Handler\SpellCheck\AbstractSpellCheckingHandler.cs (1)
31/// cref="ProjectState.GetParseOptionsChecksum"/> and <see cref="DocumentStateChecksums.Text"/>
Microsoft.CodeAnalysis.Workspaces (235)
Diagnostics\HostDiagnosticAnalyzers.cs (2)
136public ImmutableDictionary<object, ImmutableArray<DiagnosticAnalyzer>> CreateProjectDiagnosticAnalyzersPerReference(ProjectState project) 299public SkippedHostAnalyzersInfo GetSkippedAnalyzersInfo(ProjectState project, DiagnosticAnalyzerInfoCache infoCache)
FindSymbols\FindReferences\DependentTypeFinder_ProjectIndex.cs (3)
26/// We cache the project instance per <see cref="ProjectState"/>. This allows us to reuse it over a wide set of 28/// However, <see cref="ProjectState"/> doesn't change even when certain things change that will create a 34private static readonly ConditionalWeakTable<ProjectState, StrongBox<(Checksum checksum, AsyncLazy<ProjectIndex> lazyProjectIndex)>> s_projectToIndex = new();
FindSymbols\Shared\AbstractSyntaxIndex.cs (6)
19protected delegate TIndex IndexCreator(ProjectState project, SyntaxNode root, Checksum checksum, CancellationToken cancellationToken); 30SolutionKey solutionKey, ProjectState project, DocumentState document, IndexReader read, IndexCreator create, CancellationToken cancellationToken) 37protected static ValueTask<TIndex?> GetIndexAsync(SolutionKey solutionKey, ProjectState project, DocumentState document, IndexReader read, IndexCreator create, CancellationToken cancellationToken) 43ProjectState project, 81ProjectState project, 115ProjectState project,
FindSymbols\Shared\AbstractSyntaxIndex_Persistence.cs (4)
39ProjectState project, 93ProjectState project, 135ProjectState project, 156ProjectState project,
FindSymbols\SymbolTree\SymbolTreeInfo_Source.cs (2)
68private static readonly ConditionalWeakTable<ProjectState, AsyncLazy<Checksum>> s_projectToSourceChecksum = new(); 81private static async Task<Checksum> ComputeSourceSymbolsChecksumAsync(ProjectState projectState, CancellationToken cancellationToken)
FindSymbols\SyntaxTree\SyntaxTreeIndex.cs (3)
41public static ValueTask<SyntaxTreeIndex> GetRequiredIndexAsync(SolutionKey solutionKey, ProjectState project, DocumentState document, CancellationToken cancellationToken) 47public static ValueTask<SyntaxTreeIndex?> GetIndexAsync(SolutionKey solutionKey, ProjectState project, DocumentState document, CancellationToken cancellationToken) 53public static ValueTask<SyntaxTreeIndex?> GetIndexAsync(SolutionKey solutionKey, ProjectState project, DocumentState document, bool loadOnly, CancellationToken cancellationToken)
FindSymbols\SyntaxTree\SyntaxTreeIndex_Create.cs (3)
37private static readonly ConditionalWeakTable<ProjectState, StringTable> s_projectStringTable = new(); 40ProjectState project, SyntaxNode root, Checksum checksum, CancellationToken _) 353public static StringTable GetStringTable(ProjectState project)
FindSymbols\TopLevelSyntaxTree\IDeclaredSymbolInfoFactoryService.cs (1)
16void AddDeclaredSymbolInfos(ProjectState project, SyntaxNode root, ArrayBuilder<DeclaredSymbolInfo> declaredSymbolInfos, Dictionary<string, ArrayBuilder<int>> extensionMethodInfo, CancellationToken cancellationToken);
FindSymbols\TopLevelSyntaxTree\TopLevelSyntaxTreeIndex.cs (3)
49public static ValueTask<TopLevelSyntaxTreeIndex> GetRequiredIndexAsync(SolutionKey solutionKey, ProjectState project, DocumentState document, CancellationToken cancellationToken) 55public static ValueTask<TopLevelSyntaxTreeIndex?> GetIndexAsync(SolutionKey solutionKey, ProjectState project, DocumentState document, CancellationToken cancellationToken) 61public static ValueTask<TopLevelSyntaxTreeIndex?> GetIndexAsync(SolutionKey solutionKey, ProjectState project, DocumentState document, bool loadOnly, CancellationToken cancellationToken)
FindSymbols\TopLevelSyntaxTree\TopLevelSyntaxTreeIndex_Create.cs (1)
16ProjectState project, SyntaxNode root, Checksum checksum, CancellationToken cancellationToken)
LanguageServices\DeclaredSymbolFactoryService\AbstractDeclaredSymbolInfoFactoryService.cs (1)
153ProjectState project,
Workspace\Host\PersistentStorage\ProjectKey.cs (2)
37public static ProjectKey ToProjectKey(SolutionState solutionState, ProjectState projectState) 40public static ProjectKey ToProjectKey(SolutionKey solutionKey, ProjectState projectState)
Workspace\ProjectSystem\ProjectSystemProject.cs (1)
322var projectState = solution.SolutionState.GetRequiredProjectState(projectId);
Workspace\ProjectSystem\ProjectSystemProjectFactory.cs (2)
599var projectWithMetadataReference = solution.GetProjectState(projectIdWithMetadataReference); 600var referencedProject = solution.GetProjectState(referencedProjectId);
Workspace\Solution\Document.cs (1)
615var provider = (ProjectState.ProjectHostAnalyzerConfigOptionsProvider)Project.State.HostAnalyzerOptions.AnalyzerConfigOptionsProvider;
Workspace\Solution\Project.cs (2)
36internal Project(Solution solution, ProjectState projectState) 45internal ProjectState State { get; }
Workspace\Solution\ProjectState.AnalyzerConfigOptionsCache.cs (1)
19/// This cache is stored on <see cref="ProjectState"/> and needs to be invalidated whenever <see cref="SolutionState.FallbackAnalyzerOptions"/> for the language of the project change,
Workspace\Solution\ProjectState.cs (40)
25internal sealed partial class ProjectState : IComparable<ProjectState> 387internal sealed class ProjectAnalyzerConfigOptionsProvider(ProjectState projectState) : AnalyzerConfigOptionsProvider 457internal sealed class ProjectHostAnalyzerConfigOptionsProvider(ProjectState projectState) : AnalyzerConfigOptionsProvider 706private ProjectState With( 732private ProjectState WithNewerAttributes(ProjectInfo.ProjectAttributes attributes) 740public ProjectState WithName(string name) 743public ProjectState WithFilePath(string? filePath) 746public ProjectState WithAssemblyName(string assemblyName) 749public ProjectState WithOutputFilePath(string? outputFilePath) 752public ProjectState WithOutputRefFilePath(string? outputRefFilePath) 755public ProjectState WithCompilationOutputInfo(in CompilationOutputInfo info) 758public ProjectState WithDefaultNamespace(string? defaultNamespace) 761public ProjectState WithHasAllInformation(bool hasAllInformation) 764public ProjectState WithRunAnalyzers(bool runAnalyzers) 767internal ProjectState WithHasSdkCodeStyleAnalyzers(bool hasSdkCodeStyleAnalyzers) 770public ProjectState WithChecksumAlgorithm(SourceHashAlgorithm checksumAlgorithm) 785public ProjectState WithCompilationOptions(CompilationOptions? options) 803public ProjectState WithParseOptions(ParseOptions? options) 825public ProjectState WithFallbackAnalyzerOptions(StructuredAnalyzerConfigOptions options) 835public static bool IsSameLanguage(ProjectState project1, ProjectState project2) 854public ProjectState WithProjectReferences(IReadOnlyList<ProjectReference> projectReferences) 864public ProjectState WithMetadataReferences(IReadOnlyList<MetadataReference> metadataReferences) 874public ProjectState WithAnalyzerReferences(IReadOnlyList<AnalyzerReference> analyzerReferences) 884public ProjectState AddDocuments(ImmutableArray<DocumentState> documents) 896public ProjectState AddAdditionalDocuments(ImmutableArray<AdditionalDocumentState> documents) 908public ProjectState AddAnalyzerConfigDocuments(ImmutableArray<AnalyzerConfigDocumentState> documents) 920private ProjectState CreateNewStateForChangedAnalyzerConfig(TextDocumentStates<AnalyzerConfigDocumentState> newAnalyzerConfigDocumentStates, StructuredAnalyzerConfigOptions fallbackOptions) 939public ProjectState RemoveDocuments(ImmutableArray<DocumentId> documentIds) 952public ProjectState RemoveAdditionalDocuments(ImmutableArray<DocumentId> documentIds) 962public ProjectState RemoveAnalyzerConfigDocuments(ImmutableArray<DocumentId> documentIds) 972public ProjectState RemoveAllNormalDocuments() 985public ProjectState UpdateDocument(DocumentState newDocument) 988public ProjectState UpdateDocuments(ImmutableArray<DocumentState> oldDocuments, ImmutableArray<DocumentState> newDocuments) 1011public ProjectState UpdateAdditionalDocument(AdditionalDocumentState newDocument) 1014public ProjectState UpdateAdditionalDocuments(ImmutableArray<AdditionalDocumentState> oldDocuments, ImmutableArray<AdditionalDocumentState> newDocuments) 1036public ProjectState UpdateAnalyzerConfigDocument(AnalyzerConfigDocumentState newDocument) 1039public ProjectState UpdateAnalyzerConfigDocuments(ImmutableArray<AnalyzerConfigDocumentState> oldDocuments, ImmutableArray<AnalyzerConfigDocumentState> newDocuments) 1046public ProjectState UpdateDocumentsOrder(ImmutableList<DocumentId> documentIds) 1145public int CompareTo(ProjectState? other)
Workspace\Solution\Solution.cs (17)
86internal ProjectState? GetProjectState(ProjectId projectId) => this.SolutionState.GetProjectState(projectId); 125/// Ordered by <see cref="ProjectState.Id"/>'s <see cref="ProjectId.Id"/> value. 127internal ImmutableArray<ProjectState> SortedProjectStates => this.SolutionState.SortedProjectStates; 167var state = solution.SolutionState.GetProjectState(projectId); 660var oldProject = GetRequiredProjectState(projectId); 752var oldProject = GetRequiredProjectState(projectId); 839var oldProject = GetRequiredProjectState(projectId); 933private static SourceCodeKind GetSourceCodeKind(ProjectState project) 948var project = GetRequiredProjectState(documentId.ProjectId); 969var project = GetRequiredProjectState(documentId.ProjectId); 988var project = GetRequiredProjectState(documentId.ProjectId); 995private Solution AddDocumentImpl(ProjectState project, DocumentId documentId, string name, SourceText text, IReadOnlyList<string>? folders, string? filePath, bool isGenerated) 1020var project = GetRequiredProjectState(documentId.ProjectId); 1113var project = GetRequiredProjectState(documentId.ProjectId); 1126internal ProjectState GetRequiredProjectState(ProjectId projectId) 1878var projectState = this.SolutionState.GetRequiredProjectState(projectId); 1886var referencedProjectState = this.SolutionState.GetProjectState(projectReference.ProjectId);
Workspace\Solution\SolutionChanges.cs (2)
43var newState = _newSolution.GetProjectState(id); 44var oldState = old.GetProjectState(id);
Workspace\Solution\SolutionCompilationState.cs (28)
36/// about the solution structure. Specifically, the set of green <see cref="ProjectState"/>s, with all their 180var newProjectState = stateChange.NewProjectState; 565var oldProject = SolutionState.GetRequiredProjectState(projectId); 601var oldProjectState = SolutionState.GetRequiredProjectState(projectId); 842var oldProjectState = SolutionState.GetRequiredProjectState(projectId); 869Func<ProjectState, ImmutableArray<TDocumentState>, TranslationAction> getTranslationAction) 903private static TranslationAction GetUpdateDocumentsTranslationAction<TDocumentState>(ProjectState oldProjectState, ImmutableArray<TDocumentState> newDocumentStates) 914TranslationAction GetUpdateOrdinaryDocumentsTranslationAction(ProjectState oldProjectState, ImmutableArray<DocumentState> newDocumentStates) 921TranslationAction GetUpdateAdditionalDocumentsTranslationAction(ProjectState oldProjectState, ImmutableArray<AdditionalDocumentState> newDocumentStates) 928TranslationAction GetUpdateAnalyzerConfigDocumentsTranslationAction(ProjectState oldProjectState, ImmutableArray<AnalyzerConfigDocumentState> newDocumentStates) 1158var projectState = solution.GetProjectState(projectId); 1202/// Returns the compilation for the specified <see cref="ProjectState"/>. Can return <see langword="null"/> when the project 1208public Task<Compilation?> GetCompilationAsync(ProjectState project, CancellationToken cancellationToken) 1218public Task<bool> HasSuccessfullyLoadedAsync(ProjectState project, CancellationToken cancellationToken) 1230public ValueTask<TextDocumentStates<SourceGeneratedDocumentState>> GetSourceGeneratedDocumentStatesAsync(ProjectState project, CancellationToken cancellationToken) 1233/// <inheritdoc cref="GetSourceGeneratedDocumentStatesAsync(ProjectState, CancellationToken)"/> 1235ProjectState project, bool withFrozenSourceGeneratedDocuments, CancellationToken cancellationToken) 1243ProjectState project, CancellationToken cancellationToken) 1251ProjectState project, CancellationToken cancellationToken) 1279ICompilationTracker tracker, ProjectState fromProject, ProjectReference projectReference, bool includeCrossLanguage, CancellationToken cancellationToken) 1324ProjectReference projectReference, ProjectState fromProject, bool includeCrossLanguage, CancellationToken cancellationToken) 1566private (ImmutableArray<ProjectState> sortedProjectStates, ImmutableSegmentedDictionary<ProjectId, ICompilationTracker>) ComputeFrozenSnapshotMaps(CancellationToken cancellationToken) 1575using var _ = ArrayBuilder<ProjectState>.GetInstance(this.SolutionState.SortedProjectStates.Length, out var newSortedProjectStatesBuilder); 1730var oldProjectState = currentState.SolutionState.GetRequiredProjectState(documentId.ProjectId); 1775var projectState = SolutionState.GetRequiredProjectState(projectId); 1808var oldProjectState = SolutionState.GetRequiredProjectState(projectId); 1832private static TranslationAction GetRemoveDocumentsTranslationAction<TDocumentState>(ProjectState oldProject, ImmutableArray<DocumentId> documentIds, ImmutableArray<TDocumentState> states) 1841private static TranslationAction GetAddDocumentsTranslationAction<TDocumentState>(ProjectState oldProject, ImmutableArray<TDocumentState> states)
Workspace\Solution\SolutionCompilationState.ICompilationTracker.cs (2)
16ProjectState ProjectState { get; } 38ICompilationTracker Fork(ProjectState newProject, TranslationAction? translate);
Workspace\Solution\SolutionCompilationState.RegularCompilationTracker.cs (12)
33private static readonly Func<ProjectState, string> s_logBuildCompilationAsync = 38public ProjectState ProjectState { get; } 60ProjectState project, 80public RegularCompilationTracker(ProjectState project) 121ICompilationTracker ICompilationTracker.Fork(ProjectState newProjectState, TranslationAction? translate) 129ProjectState newProjectState, 499var referencedProject = compilationState.SolutionState.GetProjectState(projectReference.ProjectId); 821var frozenProjectState = inProgressState.PendingTranslationActions.IsEmpty 940var projectState = inProgressState.PendingTranslationActions is [var translationAction, ..] 957private static void ValidateCompilationTreesMatchesProjectState(Compilation compilation, ProjectState projectState, CompilationTrackerGeneratorInfo? generatorInfo) 1041var projectState = this.ProjectState; 1080var projectState = this.ProjectState;
Workspace\Solution\SolutionCompilationState.RegularCompilationTracker_Generators.cs (2)
391static GeneratorDriver CreateGeneratorDriver(ProjectState projectState) 406static void CheckGeneratorDriver(GeneratorDriver generatorDriver, ProjectState projectState)
Workspace\Solution\SolutionCompilationState.SkeletonReferenceCache.cs (2)
43/// cref="ProjectState"/>, causing it to see a view of the world inapplicable to its current snapshot. A downside 115/// Produces a copy of the <see cref="SkeletonReferenceCache"/>, allowing forks of <see cref="ProjectState"/> to
Workspace\Solution\SolutionCompilationState.SymbolToProjectId.cs (1)
24var projectState = this.SolutionState.GetProjectState(documentId.ProjectId);
Workspace\Solution\SolutionCompilationState.TranslationAction.cs (4)
21public readonly ProjectState OldProjectState; 26public readonly ProjectState NewProjectState; 28protected TranslationAction(ProjectState oldProjectState, ProjectState newProjectState)
Workspace\Solution\SolutionCompilationState.TranslationAction_Actions.cs (6)
23ProjectState oldProjectState, 24ProjectState newProjectState, 71ProjectState oldProjectState, 72ProjectState newProjectState, 113ProjectState oldProjectState, 114ProjectState newProjectState)
Workspace\Solution\SolutionCompilationState.WithFrozenSourceGeneratedDocumentsCompilationTracker.cs (2)
39public ProjectState ProjectState => UnderlyingTracker.ProjectState; 74public ICompilationTracker Fork(ProjectState newProject, TranslationAction? translate)
Workspace\Solution\SolutionCompilationState_Checksum.cs (1)
156foreach (var projectState in this.SolutionState.SortedProjectStates)
Workspace\Solution\SolutionCompilationState_SourceGenerators.cs (9)
34/// of analyzer references (see <see cref="ProjectState.AnalyzerReferences"/>) to all the <see 39private static readonly ConditionalWeakTable<ProjectState, SourceGeneratorMap> s_projectStateToSourceGeneratorsMap = new(); 56private static ImmutableArray<ISourceGenerator> GetSourceGenerators(ProjectState projectState) 65private static AnalyzerReference GetAnalyzerReference(ProjectState projectState, ISourceGenerator sourceGenerator) 79private static SourceGeneratorMap? GetSourceGeneratorMap(ProjectState projectState) 86static SourceGeneratorMap ComputeSourceGenerators(ProjectState projectState) 106var projectState = this.SolutionState.GetRequiredProjectState(projectId); 122AsyncLazy<bool> GetLazy(AnalyzerReferenceMap analyzerReferenceMap, ProjectState projectState) 129SolutionCompilationState solution, ProjectState projectState, CancellationToken cancellationToken)
Workspace\Solution\SolutionState.cs (65)
26ProjectState OldProjectState, 27ProjectState NewProjectState); 75ImmutableArray<ProjectState> projectStates, 133/// Ordered by <see cref="ProjectState.Id"/>'s <see cref="ProjectId.Id"/> value. 135public ImmutableArray<ProjectState> SortedProjectStates { get; } 182ImmutableArray<ProjectState>? projectStates = null, 264foreach (var project in this.SortedProjectStates) 320public ProjectState? GetProjectState(ProjectId projectId) 327private static ProjectState? GetProjectState(ImmutableArray<ProjectState> sortedProjectStates, ProjectId projectId) 339private static int GetProjectStateIndex(ImmutableArray<ProjectState> sortedProjectStates, ProjectId projectId) 346public ProjectState GetRequiredProjectState(ProjectId projectId) 348var result = GetProjectState(projectId); 365using var _ = ArrayBuilder<ProjectState>.GetInstance(projectInfos.Count, out var projectStates); 371ProjectState CreateProjectState(ProjectInfo projectInfo) 399var newProject = new ProjectState(languageServices, projectInfo, fallbackAnalyzerOptions); 403SolutionState AddProjects(ArrayBuilder<ProjectState> projectStates) 410using var _3 = ArrayBuilder<ProjectState>.GetInstance(SortedProjectStates.Length + projectStates.Count, out var newSortedProjectStatesBuilder); 415foreach (var projectState in projectStates) 430foreach (var projectState in projectStates) 440foreach (var newState in newProjectStates) 542var oldProject = GetRequiredProjectState(projectId); 558var oldProject = GetRequiredProjectState(projectId); 574var oldProject = GetRequiredProjectState(projectId); 590var oldProject = GetRequiredProjectState(projectId); 606var oldProject = GetRequiredProjectState(projectId); 622var oldProject = GetRequiredProjectState(projectId); 638var oldProject = GetRequiredProjectState(projectId); 654var oldProject = GetRequiredProjectState(projectId); 671var oldProject = GetRequiredProjectState(projectId); 688var oldProject = GetRequiredProjectState(projectId); 705var oldProject = GetRequiredProjectState(projectId); 723var oldProject = GetRequiredProjectState(projectId); 741var oldProject = GetRequiredProjectState(projectId); 759var oldProject = GetRequiredProjectState(projectId); 780var oldProject = GetRequiredProjectState(projectId); 820var oldProject = GetRequiredProjectState(projectId); 837var oldProject = GetRequiredProjectState(projectId); 868var oldProject = GetRequiredProjectState(projectId); 886var oldProject = GetRequiredProjectState(projectId); 903var oldProject = GetRequiredProjectState(projectId); 919var oldProject = GetRequiredProjectState(projectId); 939using var _ = ArrayBuilder<ProjectState>.GetInstance(SortedProjectStates.Length, out var statesBuilder); 941foreach (var projectState in SortedProjectStates) 971var oldProject = GetRequiredProjectState(documentId.ProjectId); 987var oldProject = GetRequiredProjectState(documentId.ProjectId); 999var oldProject = GetRequiredProjectState(newDocument.Id.ProjectId); 1015var oldProject = GetRequiredProjectState(documentId.ProjectId); 1031var oldProject = GetRequiredProjectState(documentId.ProjectId); 1047var oldProject = GetRequiredProjectState(documentId.ProjectId); 1063var oldProject = GetRequiredProjectState(documentId.ProjectId); 1079var oldProject = GetRequiredProjectState(documentId.ProjectId); 1095var oldProject = GetRequiredProjectState(documentId.ProjectId); 1139var oldProject = GetRequiredProjectState(newDocument.Id.ProjectId); 1152var oldProject = GetRequiredProjectState(newDocument.Id.ProjectId); 1163var oldProject = GetRequiredProjectState(newDocument.Id.ProjectId); 1179ProjectState oldProjectState, 1180ProjectState newProjectState, 1209foreach (var projectState in @this.SortedProjectStates) 1218ImmutableArray<ProjectState> sortedNewProjectStates) 1269var projectState = this.GetProjectState(documentId.ProjectId); 1294var relatedProject = relatedProjectIdHint is null ? null : GetProjectState(relatedProjectIdHint); 1304foreach (var siblingProjectState in this.SortedProjectStates) 1320var projectState = this.GetProjectState(documentId.ProjectId); 1347var projectState = @this.GetProjectState(documentId.ProjectId);
Workspace\Solution\SolutionState_Checksum.cs (2)
109foreach (var projectState in this.SortedProjectStates) 162var projectState = this.GetProjectState(projectConeId);
Workspace\Solution\StateChecksums.cs (2)
296var projectState = solution.GetProjectState(assetPath.ProjectId); 307foreach (var projectState in solution.SortedProjectStates)
Microsoft.VisualStudio.LanguageServices (1)
Progression\GraphBuilder.cs (1)
88var projectState = _solution.GetProjectState(docIdWithPath.ProjectId);