1 instantiation of ProjectState
Microsoft.CodeAnalysis.Workspaces (1)
Workspace\Solution\SolutionState.cs (1)
387var newProject = new ProjectState(languageServices, projectInfo, fallbackAnalyzerOptions);
242 references to ProjectState
Microsoft.CodeAnalysis.Features (1)
InheritanceMargin\AbstractInheritanceMarginService_Helpers.cs (1)
215var projectState = document.Project.State;
Microsoft.CodeAnalysis.LanguageServer.Protocol (6)
Features\Diagnostics\EngineV2\DiagnosticIncrementalAnalyzer.CompilationManager.cs (2)
20/// Cached data from a <see cref="ProjectState"/> to the last <see cref="CompilationWithAnalyzersPair"/> instance 38var projectState = project.State;
Features\Diagnostics\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;
Handler\SpellCheck\AbstractSpellCheckingHandler.cs (1)
31/// cref="ProjectState.GetParseOptionsChecksum"/> and <see cref="DocumentStateChecksums.Text"/>
Microsoft.CodeAnalysis.Workspaces (234)
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)
304var 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)
34internal Project(Solution solution, ProjectState projectState) 43internal 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; 164var state = solution.SolutionState.GetProjectState(projectId); 657var oldProject = GetRequiredProjectState(projectId); 749var oldProject = GetRequiredProjectState(projectId); 836var oldProject = GetRequiredProjectState(projectId); 930private static SourceCodeKind GetSourceCodeKind(ProjectState project) 945var project = GetRequiredProjectState(documentId.ProjectId); 966var project = GetRequiredProjectState(documentId.ProjectId); 985var project = GetRequiredProjectState(documentId.ProjectId); 992private Solution AddDocumentImpl(ProjectState project, DocumentId documentId, string name, SourceText text, IReadOnlyList<string>? folders, string? filePath, bool isGenerated) 1017var project = GetRequiredProjectState(documentId.ProjectId); 1110var project = GetRequiredProjectState(documentId.ProjectId); 1123internal ProjectState GetRequiredProjectState(ProjectId projectId) 1871var projectState = this.SolutionState.GetRequiredProjectState(projectId); 1879var 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)
37/// about the solution structure. Specifically, the set of green <see cref="ProjectState"/>s, with all their 181var newProjectState = stateChange.NewProjectState; 566var oldProject = SolutionState.GetRequiredProjectState(projectId); 602var oldProjectState = SolutionState.GetRequiredProjectState(projectId); 843var oldProjectState = SolutionState.GetRequiredProjectState(projectId); 870Func<ProjectState, ImmutableArray<TDocumentState>, TranslationAction> getTranslationAction) 904private static TranslationAction GetUpdateDocumentsTranslationAction<TDocumentState>(ProjectState oldProjectState, ImmutableArray<TDocumentState> newDocumentStates) 915TranslationAction GetUpdateOrdinaryDocumentsTranslationAction(ProjectState oldProjectState, ImmutableArray<DocumentState> newDocumentStates) 922TranslationAction GetUpdateAdditionalDocumentsTranslationAction(ProjectState oldProjectState, ImmutableArray<AdditionalDocumentState> newDocumentStates) 929TranslationAction GetUpdateAnalyzerConfigDocumentsTranslationAction(ProjectState oldProjectState, ImmutableArray<AnalyzerConfigDocumentState> newDocumentStates) 1161var projectState = solution.GetProjectState(projectId); 1205/// Returns the compilation for the specified <see cref="ProjectState"/>. Can return <see langword="null"/> when the project 1211public Task<Compilation?> GetCompilationAsync(ProjectState project, CancellationToken cancellationToken) 1221public Task<bool> HasSuccessfullyLoadedAsync(ProjectState project, CancellationToken cancellationToken) 1233public ValueTask<TextDocumentStates<SourceGeneratedDocumentState>> GetSourceGeneratedDocumentStatesAsync(ProjectState project, CancellationToken cancellationToken) 1236/// <inheritdoc cref="GetSourceGeneratedDocumentStatesAsync(ProjectState, CancellationToken)"/> 1238ProjectState project, bool withFrozenSourceGeneratedDocuments, CancellationToken cancellationToken) 1246ProjectState project, CancellationToken cancellationToken) 1254ProjectState project, CancellationToken cancellationToken) 1282ICompilationTracker tracker, ProjectState fromProject, ProjectReference projectReference, bool includeCrossLanguage, CancellationToken cancellationToken) 1327ProjectReference 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 (64)
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> sortedPojectStates, ProjectId projectId) 334public ProjectState GetRequiredProjectState(ProjectId projectId) 336var result = GetProjectState(projectId); 353using var _ = ArrayBuilder<ProjectState>.GetInstance(projectInfos.Count, out var projectStates); 359ProjectState CreateProjectState(ProjectInfo projectInfo) 387var newProject = new ProjectState(languageServices, projectInfo, fallbackAnalyzerOptions); 391SolutionState AddProjects(ArrayBuilder<ProjectState> projectStates) 398using var _3 = ArrayBuilder<ProjectState>.GetInstance(SortedProjectStates.Length + projectStates.Count, out var newSortedProjectStatesBuilder); 403foreach (var projectState in projectStates) 418foreach (var projectState in projectStates) 428foreach (var newState in newProjectStates) 530var oldProject = GetRequiredProjectState(projectId); 546var oldProject = GetRequiredProjectState(projectId); 562var oldProject = GetRequiredProjectState(projectId); 578var oldProject = GetRequiredProjectState(projectId); 594var oldProject = GetRequiredProjectState(projectId); 610var oldProject = GetRequiredProjectState(projectId); 626var oldProject = GetRequiredProjectState(projectId); 642var oldProject = GetRequiredProjectState(projectId); 659var oldProject = GetRequiredProjectState(projectId); 676var oldProject = GetRequiredProjectState(projectId); 693var oldProject = GetRequiredProjectState(projectId); 711var oldProject = GetRequiredProjectState(projectId); 729var oldProject = GetRequiredProjectState(projectId); 747var oldProject = GetRequiredProjectState(projectId); 768var oldProject = GetRequiredProjectState(projectId); 808var oldProject = GetRequiredProjectState(projectId); 825var oldProject = GetRequiredProjectState(projectId); 856var oldProject = GetRequiredProjectState(projectId); 874var oldProject = GetRequiredProjectState(projectId); 891var oldProject = GetRequiredProjectState(projectId); 907var oldProject = GetRequiredProjectState(projectId); 927using var _ = ArrayBuilder<ProjectState>.GetInstance(SortedProjectStates.Length, out var statesBuilder); 929foreach (var projectState in SortedProjectStates) 959var oldProject = GetRequiredProjectState(documentId.ProjectId); 975var oldProject = GetRequiredProjectState(documentId.ProjectId); 987var oldProject = GetRequiredProjectState(newDocument.Id.ProjectId); 1003var oldProject = GetRequiredProjectState(documentId.ProjectId); 1019var oldProject = GetRequiredProjectState(documentId.ProjectId); 1035var oldProject = GetRequiredProjectState(documentId.ProjectId); 1051var oldProject = GetRequiredProjectState(documentId.ProjectId); 1067var oldProject = GetRequiredProjectState(documentId.ProjectId); 1083var oldProject = GetRequiredProjectState(documentId.ProjectId); 1127var oldProject = GetRequiredProjectState(newDocument.Id.ProjectId); 1140var oldProject = GetRequiredProjectState(newDocument.Id.ProjectId); 1151var oldProject = GetRequiredProjectState(newDocument.Id.ProjectId); 1167ProjectState oldProjectState, 1168ProjectState newProjectState, 1196foreach (var projectState in @this.SortedProjectStates) 1205ImmutableArray<ProjectState> sortedNewProjectStates) 1256var projectState = this.GetProjectState(documentId.ProjectId); 1281var relatedProject = relatedProjectIdHint is null ? null : GetProjectState(relatedProjectIdHint); 1291foreach (var siblingProjectState in this.SortedProjectStates) 1307var projectState = this.GetProjectState(documentId.ProjectId); 1334var 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);