mirror of
https://github.com/github/codeql.git
synced 2025-12-16 16:53:25 +01:00
C#: Use dependency injection in the auto builder for Diagnostic classifier.
This commit is contained in:
@@ -22,12 +22,7 @@ namespace Semmle.Autobuild.Cpp
|
||||
|
||||
public class CppAutobuilder : Autobuilder<CppAutobuildOptions>
|
||||
{
|
||||
private readonly DiagnosticClassifier classifier;
|
||||
|
||||
public CppAutobuilder(IBuildActions actions, CppAutobuildOptions options) : base(actions, options) =>
|
||||
classifier = new DiagnosticClassifier();
|
||||
|
||||
protected override DiagnosticClassifier DiagnosticClassifier => classifier;
|
||||
public CppAutobuilder(IBuildActions actions, CppAutobuildOptions options) : base(actions, options, new DiagnosticClassifier()) { }
|
||||
|
||||
public override BuildScript GetBuildScript()
|
||||
{
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using Semmle.Extraction.CSharp;
|
||||
using Semmle.Extraction.CSharp;
|
||||
using Semmle.Util.Logging;
|
||||
using Semmle.Autobuild.Shared;
|
||||
using Semmle.Util;
|
||||
@@ -36,13 +36,8 @@ namespace Semmle.Autobuild.CSharp
|
||||
|
||||
private readonly AutoBuildRule autoBuildRule;
|
||||
|
||||
protected override DiagnosticClassifier DiagnosticClassifier { get; }
|
||||
|
||||
public CSharpAutobuilder(IBuildActions actions, CSharpAutobuildOptions options) : base(actions, options)
|
||||
{
|
||||
public CSharpAutobuilder(IBuildActions actions, CSharpAutobuildOptions options) : base(actions, options, new CSharpDiagnosticClassifier()) =>
|
||||
this.autoBuildRule = new AutoBuildRule(this);
|
||||
this.DiagnosticClassifier = new CSharpDiagnosticClassifier();
|
||||
}
|
||||
|
||||
public override BuildScript GetBuildScript()
|
||||
{
|
||||
|
||||
@@ -190,10 +190,11 @@ namespace Semmle.Autobuild.Shared
|
||||
/// solution file and tools.
|
||||
/// </summary>
|
||||
/// <param name="options">The command line options.</param>
|
||||
protected Autobuilder(IBuildActions actions, TAutobuildOptions options)
|
||||
protected Autobuilder(IBuildActions actions, TAutobuildOptions options, DiagnosticClassifier diagnosticClassifier)
|
||||
{
|
||||
Actions = actions;
|
||||
Options = options;
|
||||
DiagnosticClassifier = diagnosticClassifier;
|
||||
|
||||
pathsLazy = new Lazy<IEnumerable<(string, int)>>(() =>
|
||||
{
|
||||
@@ -264,7 +265,7 @@ namespace Semmle.Autobuild.Shared
|
||||
|
||||
public string DiagnosticsDir { get; }
|
||||
|
||||
protected abstract DiagnosticClassifier DiagnosticClassifier { get; }
|
||||
protected DiagnosticClassifier DiagnosticClassifier { get; }
|
||||
|
||||
private readonly ILogger logger = new ConsoleLogger(Verbosity.Info);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user