Exemplo n.º 1
0
        public static async ValueTask <T> GetOptionAsync <T>(this AnalyzerOptions analyzerOptions, IOption option, string?language, SyntaxTree syntaxTree, CancellationToken cancellationToken)
        {
            if (analyzerOptions.TryGetEditorConfigOption <T>(option, syntaxTree, out var value))
            {
                return(value);
            }

#pragma warning disable CS0612 // Type or member is obsolete
            var optionSet = await analyzerOptions.GetDocumentOptionSetAsync(syntaxTree, cancellationToken).ConfigureAwait(false);

#pragma warning restore CS0612 // Type or member is obsolete

            if (optionSet != null)
            {
                value = optionSet.GetOption <T>(new OptionKey(option, language));
            }

            return(value ?? (T)option.DefaultValue !);
        }