private static void Validate( ref SyntaxTreeAnalysisContext context, CompilationOptions compilationOptions, AnalyzerConfigOptions configOptions, Flags flag, ref Flags flags, DiagnosticDescriptor analyzer, ConfigOptionDescriptor option) { if (!flags.HasFlag(flag) && analyzer.IsEffective(context.Tree, compilationOptions, context.CancellationToken) && TryReportRequiredOptionNotSet(context, configOptions, analyzer, option)) { flags |= flag; } }
private static void Validate( ref SyntaxTreeAnalysisContext context, CompilationOptions compilationOptions, AnalyzerConfigOptions configOptions, Flags flag, ref Flags flags, DiagnosticDescriptor analyzer, ConfigOptionDescriptor option, LegacyConfigOptionDescriptor legacyOption, string newValue) { if (!flags.HasFlag(flag) && analyzer.IsEffective(context.Tree, compilationOptions, context.CancellationToken) && TryReportObsoleteOption(context, configOptions, legacyOption, option, newValue)) { flags |= flag; } }
private static bool TryGetNewLinePosition( AnalyzerConfigOptions configOptions, ConfigOptionDescriptor option, out NewLinePosition newLinePosition) { if (ConfigOptions.TryGetValue(configOptions, option, out string rawValue)) { if (string.Equals(rawValue, "before", StringComparison.OrdinalIgnoreCase)) { newLinePosition = NewLinePosition.Before; return(true); } else if (string.Equals(rawValue, "after", StringComparison.OrdinalIgnoreCase)) { newLinePosition = NewLinePosition.After; return(true); } } newLinePosition = NewLinePosition.None; return(false); }