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>
|
public class CppAutobuilder : Autobuilder<CppAutobuildOptions>
|
||||||
{
|
{
|
||||||
private readonly DiagnosticClassifier classifier;
|
public CppAutobuilder(IBuildActions actions, CppAutobuildOptions options) : base(actions, options, new DiagnosticClassifier()) { }
|
||||||
|
|
||||||
public CppAutobuilder(IBuildActions actions, CppAutobuildOptions options) : base(actions, options) =>
|
|
||||||
classifier = new DiagnosticClassifier();
|
|
||||||
|
|
||||||
protected override DiagnosticClassifier DiagnosticClassifier => classifier;
|
|
||||||
|
|
||||||
public override BuildScript GetBuildScript()
|
public override BuildScript GetBuildScript()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using Semmle.Extraction.CSharp;
|
using Semmle.Extraction.CSharp;
|
||||||
using Semmle.Util.Logging;
|
using Semmle.Util.Logging;
|
||||||
using Semmle.Autobuild.Shared;
|
using Semmle.Autobuild.Shared;
|
||||||
using Semmle.Util;
|
using Semmle.Util;
|
||||||
@@ -36,13 +36,8 @@ namespace Semmle.Autobuild.CSharp
|
|||||||
|
|
||||||
private readonly AutoBuildRule autoBuildRule;
|
private readonly AutoBuildRule autoBuildRule;
|
||||||
|
|
||||||
protected override DiagnosticClassifier DiagnosticClassifier { get; }
|
public CSharpAutobuilder(IBuildActions actions, CSharpAutobuildOptions options) : base(actions, options, new CSharpDiagnosticClassifier()) =>
|
||||||
|
|
||||||
public CSharpAutobuilder(IBuildActions actions, CSharpAutobuildOptions options) : base(actions, options)
|
|
||||||
{
|
|
||||||
this.autoBuildRule = new AutoBuildRule(this);
|
this.autoBuildRule = new AutoBuildRule(this);
|
||||||
this.DiagnosticClassifier = new CSharpDiagnosticClassifier();
|
|
||||||
}
|
|
||||||
|
|
||||||
public override BuildScript GetBuildScript()
|
public override BuildScript GetBuildScript()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -190,10 +190,11 @@ namespace Semmle.Autobuild.Shared
|
|||||||
/// solution file and tools.
|
/// solution file and tools.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="options">The command line options.</param>
|
/// <param name="options">The command line options.</param>
|
||||||
protected Autobuilder(IBuildActions actions, TAutobuildOptions options)
|
protected Autobuilder(IBuildActions actions, TAutobuildOptions options, DiagnosticClassifier diagnosticClassifier)
|
||||||
{
|
{
|
||||||
Actions = actions;
|
Actions = actions;
|
||||||
Options = options;
|
Options = options;
|
||||||
|
DiagnosticClassifier = diagnosticClassifier;
|
||||||
|
|
||||||
pathsLazy = new Lazy<IEnumerable<(string, int)>>(() =>
|
pathsLazy = new Lazy<IEnumerable<(string, int)>>(() =>
|
||||||
{
|
{
|
||||||
@@ -264,7 +265,7 @@ namespace Semmle.Autobuild.Shared
|
|||||||
|
|
||||||
public string DiagnosticsDir { get; }
|
public string DiagnosticsDir { get; }
|
||||||
|
|
||||||
protected abstract DiagnosticClassifier DiagnosticClassifier { get; }
|
protected DiagnosticClassifier DiagnosticClassifier { get; }
|
||||||
|
|
||||||
private readonly ILogger logger = new ConsoleLogger(Verbosity.Info);
|
private readonly ILogger logger = new ConsoleLogger(Verbosity.Info);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user