|
// Copyright (c) .NET Foundation and contributors. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
using System.Linq;
using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.Diagnostics;
namespace ILLink.RoslynAnalyzer
{
internal static class AnalyzerOptionsExtensions
{
public static string? GetMSBuildPropertyValue(
this AnalyzerOptions options,
string optionName)
{
return options.AnalyzerConfigOptionsProvider.GlobalOptions.TryGetValue(
$"build_property.{optionName}", out var value)
? value
: null;
}
public static bool IsMSBuildPropertyValueTrue(
this AnalyzerOptions options,
string propertyName)
{
var propertyValue = GetMSBuildPropertyValue(options, propertyName);
if (!string.Equals(propertyValue?.Trim(), "true", System.StringComparison.OrdinalIgnoreCase))
return false;
return true;
}
}
}
|