Skip to content

Commit df6f5d5

Browse files
michaelnebelmbg
authored andcommitted
C#: Use dependency injection in the auto builder for Diagnostic classifier.
1 parent 85751e7 commit df6f5d5

File tree

3 files changed

+6
-15
lines changed

3 files changed

+6
-15
lines changed

cpp/autobuilder/Semmle.Autobuild.Cpp/CppAutobuilder.cs

+1-6
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,7 @@ public CppAutobuildOptions(IBuildActions actions) : base(actions)
2222

2323
public class CppAutobuilder : Autobuilder<CppAutobuildOptions>
2424
{
25-
private readonly DiagnosticClassifier classifier;
26-
27-
public CppAutobuilder(IBuildActions actions, CppAutobuildOptions options) : base(actions, options) =>
28-
classifier = new DiagnosticClassifier();
29-
30-
protected override DiagnosticClassifier DiagnosticClassifier => classifier;
25+
public CppAutobuilder(IBuildActions actions, CppAutobuildOptions options) : base(actions, options, new DiagnosticClassifier()) { }
3126

3227
public override BuildScript GetBuildScript()
3328
{

csharp/autobuilder/Semmle.Autobuild.CSharp/CSharpAutobuilder.cs

+2-7
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using Semmle.Extraction.CSharp;
1+
using Semmle.Extraction.CSharp;
22
using Semmle.Util.Logging;
33
using Semmle.Autobuild.Shared;
44
using Semmle.Util;
@@ -36,13 +36,8 @@ public class CSharpAutobuilder : Autobuilder<CSharpAutobuildOptions>
3636

3737
private readonly AutoBuildRule autoBuildRule;
3838

39-
protected override DiagnosticClassifier DiagnosticClassifier { get; }
40-
41-
public CSharpAutobuilder(IBuildActions actions, CSharpAutobuildOptions options) : base(actions, options)
42-
{
39+
public CSharpAutobuilder(IBuildActions actions, CSharpAutobuildOptions options) : base(actions, options, new CSharpDiagnosticClassifier()) =>
4340
this.autoBuildRule = new AutoBuildRule(this);
44-
this.DiagnosticClassifier = new CSharpDiagnosticClassifier();
45-
}
4641

4742
public override BuildScript GetBuildScript()
4843
{

csharp/autobuilder/Semmle.Autobuild.Shared/Autobuilder.cs

+3-2
Original file line numberDiff line numberDiff line change
@@ -190,10 +190,11 @@ private void FindFiles(string dir, int depth, int maxDepth, IList<(string, int)>
190190
/// solution file and tools.
191191
/// </summary>
192192
/// <param name="options">The command line options.</param>
193-
protected Autobuilder(IBuildActions actions, TAutobuildOptions options)
193+
protected Autobuilder(IBuildActions actions, TAutobuildOptions options, DiagnosticClassifier diagnosticClassifier)
194194
{
195195
Actions = actions;
196196
Options = options;
197+
DiagnosticClassifier = diagnosticClassifier;
197198

198199
pathsLazy = new Lazy<IEnumerable<(string, int)>>(() =>
199200
{
@@ -264,7 +265,7 @@ protected string RequireEnvironmentVariable(string name)
264265

265266
public string DiagnosticsDir { get; }
266267

267-
protected abstract DiagnosticClassifier DiagnosticClassifier { get; }
268+
protected DiagnosticClassifier DiagnosticClassifier { get; }
268269

269270
private readonly ILogger logger = new ConsoleLogger(Verbosity.Info);
270271

0 commit comments

Comments
 (0)