本文整理汇总了C#中Compilation.WithAnalyzers方法的典型用法代码示例。如果您正苦于以下问题:C# Compilation.WithAnalyzers方法的具体用法?C# Compilation.WithAnalyzers怎么用?C# Compilation.WithAnalyzers使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Compilation
的用法示例。
在下文中一共展示了Compilation.WithAnalyzers方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CreateAnalyzerDriver
private CompilationWithAnalyzers CreateAnalyzerDriver(
Project project,
Compilation compilation,
IEnumerable<DiagnosticAnalyzer> allAnalyzers,
bool logAnalyzerExecutionTime,
bool reportSuppressedDiagnostics)
{
var analyzers = allAnalyzers.Where(a => !a.IsWorkspaceDiagnosticAnalyzer()).ToImmutableArrayOrEmpty();
// PERF: there is no analyzers for this compilation.
// compilationWithAnalyzer will throw if it is created with no analyzers which is perf optimization.
if (analyzers.IsEmpty)
{
return null;
}
Contract.ThrowIfFalse(project.SupportsCompilation);
AssertCompilation(project, compilation);
var analysisOptions = GetAnalyzerOptions(project, logAnalyzerExecutionTime, reportSuppressedDiagnostics);
// Create driver that holds onto compilation and associated analyzers
return compilation.WithAnalyzers(analyzers, analysisOptions);
}
示例2: CheckForSafetySharpDiagnostics
/// <summary>
/// Runs the S# analyzers on the given compilation, ensuring that the compilation contains no errors.
/// </summary>
/// <param name="compilation">The compilation that should be checked.</param>
public static void CheckForSafetySharpDiagnostics(Compilation compilation)
{
var errors = compilation
.WithAnalyzers(Compiler.Analyzers)
.GetAllDiagnosticsAsync().Result
.Where(d => d.Severity == DiagnosticSeverity.Error && !d.Id.StartsWith("CS"))
.ToArray();
if (errors.Length != 0)
throw new CSharpException(errors, "Failed to create compilation.\n\n{0}", SyntaxTreesToString(compilation));
}