1 implementation of IGroupedAnalyzerActions
Microsoft.CodeAnalysis (1)
DiagnosticAnalyzer\AnalyzerDriver.GroupedAnalyzerActions.cs (1)
20
private sealed class GroupedAnalyzerActions :
IGroupedAnalyzerActions
25 references to IGroupedAnalyzerActions
Microsoft.CodeAnalysis (25)
DiagnosticAnalyzer\AnalyzerDriver.cs (18)
111
private ConcurrentDictionary<(INamespaceOrTypeSymbol, DiagnosticAnalyzer),
IGroupedAnalyzerActions
>? _lazyPerSymbolAnalyzerActionsCache;
119
private ConcurrentDictionary<(INamespaceOrTypeSymbol, DiagnosticAnalyzer),
IGroupedAnalyzerActions
> PerSymbolAnalyzerActionsCache
438
_lazyPerSymbolAnalyzerActionsCache = new ConcurrentDictionary<(INamespaceOrTypeSymbol, DiagnosticAnalyzer),
IGroupedAnalyzerActions
>();
1772
var
perSymbolActions = hasPerSymbolActions ?
1910
IGroupedAnalyzerActions
additionalPerSymbolActions,
2121
private async ValueTask<
IGroupedAnalyzerActions
> GetPerSymbolAnalyzerActionsAsync(
2131
var
allActions = EmptyGroupedActions;
2139
var
analyzerActions = await GetPerSymbolAnalyzerActionsAsync(symbol, analyzer, analysisScope.OriginalFilterFile?.SourceTree, analysisScope.OriginalFilterSpan, cancellationToken).ConfigureAwait(false);
2152
private async ValueTask<
IGroupedAnalyzerActions
> GetPerSymbolAnalyzerActionsAsync(
2174
if (PerSymbolAnalyzerActionsCache.TryGetValue((namespaceOrType, analyzer), out
var
actions))
2179
var
allActions = await getAllActionsAsync(this, symbol, analyzer, filterTree, filterSpan, cancellationToken).ConfigureAwait(false);
2182
async ValueTask<
IGroupedAnalyzerActions
> getAllActionsAsync(AnalyzerDriver driver, ISymbol symbol, DiagnosticAnalyzer analyzer, SyntaxTree? filterTree, TextSpan? filterSpan, CancellationToken cancellationToken)
2185
var
inheritedActions = await getInheritedActionsAsync(driver, symbol, analyzer, filterTree, filterSpan, cancellationToken).ConfigureAwait(false);
2198
async ValueTask<
IGroupedAnalyzerActions
> getInheritedActionsAsync(AnalyzerDriver driver, ISymbol symbol, DiagnosticAnalyzer analyzer, SyntaxTree? filterTree, TextSpan? filterSpan, CancellationToken cancellationToken)
2203
var
containerActions = await driver.GetPerSymbolAnalyzerActionsAsync(symbol.ContainingSymbol, analyzer, filterTree, filterSpan, cancellationToken).ConfigureAwait(false);
2502
protected override
IGroupedAnalyzerActions
EmptyGroupedActions => GroupedAnalyzerActions.Empty;
2503
protected override
IGroupedAnalyzerActions
CreateGroupedActions(DiagnosticAnalyzer analyzer, in AnalyzerActions analyzerActions)
2513
IGroupedAnalyzerActions
additionalPerSymbolActions,
DiagnosticAnalyzer\AnalyzerDriver.GroupedAnalyzerActions.cs (3)
77
IGroupedAnalyzerActions
IGroupedAnalyzerActions
.Append(
IGroupedAnalyzerActions
igroupedAnalyzerActions)
DiagnosticAnalyzer\AnalyzerDriver.IGroupedAnalyzerActions.cs (4)
9
protected abstract
IGroupedAnalyzerActions
EmptyGroupedActions { get; }
10
protected abstract
IGroupedAnalyzerActions
CreateGroupedActions(DiagnosticAnalyzer analyzer, in AnalyzerActions analyzerActions);
16
IGroupedAnalyzerActions
Append(
IGroupedAnalyzerActions
groupedAnalyzerActions);