Beispiel #1
0
        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 !);
        }
Beispiel #3
0
        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;
        }