Diagnostics\HostDiagnosticAnalyzers.cs (24)
19/// Key is <see cref="AnalyzerReference.Id"/>.
23private readonly ImmutableDictionary<object, AnalyzerReference> _hostAnalyzerReferencesMap;
34/// Key is <see cref="AnalyzerReference.Id"/>.
36/// Value is set of <see cref="DiagnosticAnalyzer"/> that belong to the <see cref="AnalyzerReference"/>.
55private readonly ConditionalWeakTable<IReadOnlyList<AnalyzerReference>, StrongBox<ImmutableDictionary<string, SkippedHostAnalyzersInfo>>> _skippedHostAnalyzers = new();
57internal HostDiagnosticAnalyzers(IReadOnlyList<AnalyzerReference> hostAnalyzerReferences)
68/// List of host <see cref="AnalyzerReference"/>s
70public IReadOnlyList<AnalyzerReference> HostAnalyzerReferences { get; }
73/// Get <see cref="AnalyzerReference"/> identity and <see cref="DiagnosticAnalyzer"/>s map for given <paramref name="language"/>
129ImmutableDictionary<object, AnalyzerReference> map)
135if (!map.TryGetValue(id, out var reference) || reference == null)
156/// Create <see cref="AnalyzerReference"/> identity and <see cref="DiagnosticAnalyzer"/>s map for given <paramref name="project"/> that
168/// Create <see cref="AnalyzerReference"/> identity and <see cref="DiagnosticAnalyzer"/>s map for given <paramref name="project"/> that
174public ImmutableDictionary<object, ImmutableArray<DiagnosticAnalyzer>> CreateProjectDiagnosticAnalyzersPerReference(IReadOnlyList<AnalyzerReference> projectAnalyzerReferences, string language)
191private ImmutableDictionary<object, AnalyzerReference> CreateProjectAnalyzerReferencesMap(IReadOnlyList<AnalyzerReference> projectAnalyzerReferences)
255IDictionary<object, AnalyzerReference> analyzerReferencesMap, string? language = null)
274static IEnumerable<KeyValuePair<object, AnalyzerReference>> Shuffle(IDictionary<object, AnalyzerReference> source)
283using var _ = ArrayBuilder<KeyValuePair<object, AnalyzerReference>>.GetInstance(source.Count, out var builder);
295private static ImmutableDictionary<object, AnalyzerReference> CreateAnalyzerReferencesMap(IEnumerable<AnalyzerReference> analyzerReferences)
297var builder = ImmutableDictionary.CreateBuilder<object, AnalyzerReference>();
298foreach (var reference in analyzerReferences)
Workspace\Workspace.cs (17)
133private Solution CreateSolution(SolutionInfo solutionInfo, SolutionOptionSet options, IReadOnlyList<AnalyzerReference> analyzerReferences, ImmutableDictionary<string, StructuredAnalyzerConfigOptions> fallbackAnalyzerOptions)
965protected internal void OnAnalyzerReferenceAdded(ProjectId projectId, AnalyzerReference analyzerReference)
977protected internal void OnAnalyzerReferenceRemoved(ProjectId projectId, AnalyzerReference analyzerReference)
989internal void OnSolutionAnalyzerReferenceAdded(AnalyzerReference analyzerReference)
1001internal void OnSolutionAnalyzerReferenceRemoved(AnalyzerReference analyzerReference)
1597foreach (var analyzerReference in solutionChanges.GetRemovedAnalyzerReferences())
1602foreach (var analyzerReference in solutionChanges.GetAddedAnalyzerReferences())
1900foreach (var analyzerReference in projectChanges.GetRemovedAnalyzerReferences())
1906foreach (var analyzerReference in projectChanges.GetAddedAnalyzerReferences())
2155protected virtual void ApplyAnalyzerReferenceAdded(ProjectId projectId, AnalyzerReference analyzerReference)
2166protected virtual void ApplyAnalyzerReferenceRemoved(ProjectId projectId, AnalyzerReference analyzerReference)
2177internal void ApplySolutionAnalyzerReferenceAdded(AnalyzerReference analyzerReference)
2188internal void ApplySolutionAnalyzerReferenceRemoved(AnalyzerReference analyzerReference)
2418protected void CheckProjectHasAnalyzerReference(ProjectId projectId, AnalyzerReference analyzerReference)
2429protected void CheckProjectDoesNotHaveAnalyzerReference(ProjectId projectId, AnalyzerReference analyzerReference)
2440internal static void CheckSolutionHasAnalyzerReference(Solution solution, AnalyzerReference analyzerReference)
2451internal static void CheckSolutionDoesNotHaveAnalyzerReference(Solution solution, AnalyzerReference analyzerReference)