public static Language GetLanguage(this IAnalyzerResult analyzerResult) { return(analyzerResult.GetPropertyOrDefault("Language") switch { "F#" => Language.Fsharp, "C#" => Language.Csharp, _ => Language.Undefined, });
public static CSharpCompilationOptions GetCompilationOptions(this IAnalyzerResult analyzerResult) { var compilationOptions = new CSharpCompilationOptions(analyzerResult.GetOutputKind()) .WithNullableContextOptions(analyzerResult.GetNullableContextOptions()) .WithAllowUnsafe(analyzerResult.GetPropertyOrDefault("AllowUnsafeBlocks", true)) .WithAssemblyIdentityComparer(DesktopAssemblyIdentityComparer.Default) .WithConcurrentBuild(true) .WithModuleName(analyzerResult.GetAssemblyName()) .WithOverflowChecks(analyzerResult.GetPropertyOrDefault("CheckForOverflowUnderflow", false)); if (analyzerResult.IsSignedAssembly()) { compilationOptions = compilationOptions.WithCryptoKeyFile(analyzerResult.GetAssemblyOriginatorKeyFile()) .WithStrongNameProvider(new DesktopStrongNameProvider()); } return(compilationOptions); }
public static IList <string> GetDefineConstants(this IAnalyzerResult analyzerResult) { var constants = analyzerResult?.GetPropertyOrDefault("DefineConstants", "").Split(";").Where(x => !string.IsNullOrWhiteSpace(x)).ToList() ?? new List <string>(); var(frameworkSupportsAppDomain, frameworkSupportsPipes) = CompatibilityModes(analyzerResult); if (!frameworkSupportsAppDomain) { constants.Add("STRYKER_NO_DOMAIN"); } if (!frameworkSupportsPipes) { constants.Add("STRYKER_NO_PIPE"); } return(constants); }
public static string AssemblyAttributeFileName(this IAnalyzerResult analyzerResult) { return(analyzerResult.GetPropertyOrDefault("GeneratedAssemblyInfoFile", (Path.GetFileNameWithoutExtension(analyzerResult.ProjectFilePath) + ".AssemblyInfo.cs") .ToLowerInvariant())); }