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, 2133private async ValueTask<IGroupedAnalyzerActions> GetPerSymbolAnalyzerActionsAsync( 2143var allActions = EmptyGroupedActions; 2151var analyzerActions = await GetPerSymbolAnalyzerActionsAsync(symbol, analyzer, analysisScope.OriginalFilterFile?.SourceTree, analysisScope.OriginalFilterSpan, cancellationToken).ConfigureAwait(false); 2164private async ValueTask<IGroupedAnalyzerActions> GetPerSymbolAnalyzerActionsAsync( 2186if (PerSymbolAnalyzerActionsCache.TryGetValue((namespaceOrType, analyzer), out var actions)) 2191var allActions = await getAllActionsAsync(this, symbol, analyzer, filterTree, filterSpan, cancellationToken).ConfigureAwait(false); 2194async ValueTask<IGroupedAnalyzerActions> getAllActionsAsync(AnalyzerDriver driver, ISymbol symbol, DiagnosticAnalyzer analyzer, SyntaxTree? filterTree, TextSpan? filterSpan, CancellationToken cancellationToken) 2197var inheritedActions = await getInheritedActionsAsync(driver, symbol, analyzer, filterTree, filterSpan, cancellationToken).ConfigureAwait(false); 2210async ValueTask<IGroupedAnalyzerActions> getInheritedActionsAsync(AnalyzerDriver driver, ISymbol symbol, DiagnosticAnalyzer analyzer, SyntaxTree? filterTree, TextSpan? filterSpan, CancellationToken cancellationToken) 2215var containerActions = await driver.GetPerSymbolAnalyzerActionsAsync(symbol.ContainingSymbol, analyzer, filterTree, filterSpan, cancellationToken).ConfigureAwait(false); 2514protected override IGroupedAnalyzerActions EmptyGroupedActions => GroupedAnalyzerActions.Empty; 2515protected override IGroupedAnalyzerActions CreateGroupedActions(DiagnosticAnalyzer analyzer, in AnalyzerActions analyzerActions) 2525IGroupedAnalyzerActions 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);