1 implementation of IGroupedAnalyzerActions
Microsoft.CodeAnalysis (1)
DiagnosticAnalyzer\AnalyzerDriver.GroupedAnalyzerActions.cs (1)
20private sealed class GroupedAnalyzerActions : IGroupedAnalyzerActions
25 references to IGroupedAnalyzerActions
Microsoft.CodeAnalysis (25)
DiagnosticAnalyzer\AnalyzerDriver.cs (18)
111private ConcurrentDictionary<(INamespaceOrTypeSymbol, DiagnosticAnalyzer), IGroupedAnalyzerActions>? _lazyPerSymbolAnalyzerActionsCache; 119private ConcurrentDictionary<(INamespaceOrTypeSymbol, DiagnosticAnalyzer), IGroupedAnalyzerActions> PerSymbolAnalyzerActionsCache 438_lazyPerSymbolAnalyzerActionsCache = new ConcurrentDictionary<(INamespaceOrTypeSymbol, DiagnosticAnalyzer), IGroupedAnalyzerActions>(); 1777var perSymbolActions = hasPerSymbolActions ? 1915IGroupedAnalyzerActions additionalPerSymbolActions, 2126private async ValueTask<IGroupedAnalyzerActions> GetPerSymbolAnalyzerActionsAsync( 2136var allActions = EmptyGroupedActions; 2144var analyzerActions = await GetPerSymbolAnalyzerActionsAsync(symbol, analyzer, analysisScope.OriginalFilterFile?.SourceTree, analysisScope.OriginalFilterSpan, cancellationToken).ConfigureAwait(false); 2157private async ValueTask<IGroupedAnalyzerActions> GetPerSymbolAnalyzerActionsAsync( 2179if (PerSymbolAnalyzerActionsCache.TryGetValue((namespaceOrType, analyzer), out var actions)) 2184var allActions = await getAllActionsAsync(this, symbol, analyzer, filterTree, filterSpan, cancellationToken).ConfigureAwait(false); 2187async ValueTask<IGroupedAnalyzerActions> getAllActionsAsync(AnalyzerDriver driver, ISymbol symbol, DiagnosticAnalyzer analyzer, SyntaxTree? filterTree, TextSpan? filterSpan, CancellationToken cancellationToken) 2190var inheritedActions = await getInheritedActionsAsync(driver, symbol, analyzer, filterTree, filterSpan, cancellationToken).ConfigureAwait(false); 2203async ValueTask<IGroupedAnalyzerActions> getInheritedActionsAsync(AnalyzerDriver driver, ISymbol symbol, DiagnosticAnalyzer analyzer, SyntaxTree? filterTree, TextSpan? filterSpan, CancellationToken cancellationToken) 2208var containerActions = await driver.GetPerSymbolAnalyzerActionsAsync(symbol.ContainingSymbol, analyzer, filterTree, filterSpan, cancellationToken).ConfigureAwait(false); 2507protected override IGroupedAnalyzerActions EmptyGroupedActions => GroupedAnalyzerActions.Empty; 2508protected override IGroupedAnalyzerActions CreateGroupedActions(DiagnosticAnalyzer analyzer, in AnalyzerActions analyzerActions) 2518IGroupedAnalyzerActions additionalPerSymbolActions,
DiagnosticAnalyzer\AnalyzerDriver.GroupedAnalyzerActions.cs (3)
77IGroupedAnalyzerActions IGroupedAnalyzerActions.Append(IGroupedAnalyzerActions igroupedAnalyzerActions)
DiagnosticAnalyzer\AnalyzerDriver.IGroupedAnalyzerActions.cs (4)
9protected abstract IGroupedAnalyzerActions EmptyGroupedActions { get; } 10protected abstract IGroupedAnalyzerActions CreateGroupedActions(DiagnosticAnalyzer analyzer, in AnalyzerActions analyzerActions); 16IGroupedAnalyzerActions Append(IGroupedAnalyzerActions groupedAnalyzerActions);