public static SymbolModifiers GetRequiredModifiersOption( this AnalyzerOptions options, DiagnosticDescriptor rule, ISymbol symbol, Compilation compilation, SymbolModifiers defaultValue, CancellationToken cancellationToken) => TryGetSyntaxTreeForOption(symbol, out var tree) ? options.GetRequiredModifiersOption(rule, tree, compilation, defaultValue, cancellationToken) : defaultValue;
/// <summary> /// Returns true if the given symbol has required symbol modifiers based on options: /// 1. If user has explicitly configured candidate <see cref="SymbolModifiers"/> in editor config options and /// given symbol has all the required modifiers. /// 2. Otherwise, if user has not configured modifiers. /// </summary> public static bool MatchesConfiguredModifiers( this ISymbol symbol, AnalyzerOptions options, DiagnosticDescriptor rule, CancellationToken cancellationToken, SymbolModifiers defaultRequiredModifiers = SymbolModifiers.None) { var requiredModifiers = options.GetRequiredModifiersOption(rule, defaultRequiredModifiers, cancellationToken); return(symbol.GetSymbolModifiers().Contains(requiredModifiers)); }