-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathCSharpAnalyzerVerifier`1+Test.cs
More file actions
32 lines (28 loc) · 1.1 KB
/
CSharpAnalyzerVerifier`1+Test.cs
File metadata and controls
32 lines (28 loc) · 1.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
using Microsoft.CodeAnalysis.CSharp.Testing;
using Microsoft.CodeAnalysis.Diagnostics;
using Microsoft.CodeAnalysis.Testing;
namespace Funcky.Analyzers.Test;
public static partial class CSharpAnalyzerVerifier<TAnalyzer>
where TAnalyzer : DiagnosticAnalyzer, new()
{
public class Test : CSharpAnalyzerTest<TAnalyzer, DefaultVerifier>
{
public Test()
{
SolutionTransforms.Add((solution, projectId) =>
{
var project = solution.GetProject(projectId);
if (project is not null)
{
var compilationOptions = project.CompilationOptions;
if (compilationOptions is not null)
{
compilationOptions = compilationOptions.WithSpecificDiagnosticOptions(compilationOptions.SpecificDiagnosticOptions.SetItems(CSharpVerifierHelper.NullableWarnings));
solution = solution.WithProjectCompilationOptions(projectId, compilationOptions);
}
}
return solution;
});
}
}
}