public static CSharpParseOptions GetCSharpParseOptions(this IAnalyzerResult analyzerResult) { var parseOptions = new CSharpParseOptions(); // Add any constants var constants = analyzerResult.GetProperty("DefineConstants"); if (!string.IsNullOrWhiteSpace(constants)) { parseOptions = parseOptions .WithPreprocessorSymbols(constants.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries).Select(x => x.Trim())); } // Get language version var langVersion = analyzerResult.GetProperty("LangVersion"); if (!string.IsNullOrWhiteSpace(langVersion) && LanguageVersionFacts.TryParse(langVersion, out var languageVersion)) { parseOptions = parseOptions.WithLanguageVersion(languageVersion); } return(parseOptions); }
public static string?GetProjectAssetsFilePath(this IAnalyzerResult result) { return(result?.GetProperty("ProjectAssetsFile")); }
public static string GetRuntimeIdentifier(this IAnalyzerResult result) => result.GetProperty("RuntimeIdentifier");
public static string GetProjectAssetsFilePath(this IAnalyzerResult result) => result.GetProperty("ProjectAssetsFile");
public static bool IsNetSdkProject(this IAnalyzerResult result) => string.Equals(bool.TrueString, result.GetProperty("UsingMicrosoftNETSdk"), StringComparison.InvariantCultureIgnoreCase);
private string GetProperty(string name) { return(_analyzerResult.GetProperty(name)); }