public static T GetOption <T>(this AnalyzerOptions analyzerOptions, IOption2 option, string?language, SyntaxTree syntaxTree, CancellationToken cancellationToken) { if (analyzerOptions.TryGetEditorConfigOption <T>(option, syntaxTree, out var value)) { return(value); } return((T)option.DefaultValue !); }
#pragma warning disable IDE0060 // Remove unused parameter - Needed to share this method signature between CodeStyle and Features layer. public static T GetOption <T>(this AnalyzerOptions analyzerOptions, IOption2 option, string?language, SyntaxTree syntaxTree, CancellationToken cancellationToken) #pragma warning restore IDE0060 // Remove unused parameter { if (analyzerOptions.TryGetEditorConfigOption <T>(option, syntaxTree, out var value)) { return(value); } return((T)option.DefaultValue !); }
public OptionKey2(IOption2 option, string?language = null) { if (language != null && !option.IsPerLanguage) { throw new ArgumentException(WorkspacesResources.A_language_name_cannot_be_specified_for_this_option); } else if (language == null && option.IsPerLanguage) { throw new ArgumentNullException(WorkspacesResources.A_language_name_must_be_specified_for_this_option); } this.Option = option ?? throw new ArgumentNullException(nameof(option)); this.Language = language; }