Generate diagnostic when null conditional expressions are used but rewrite is not configured

This commit is contained in:
Koen Bekkenutte
2021-10-18 23:08:36 +08:00
parent 58770723dd
commit 8ccb73d424
5 changed files with 40 additions and 2 deletions
@@ -487,6 +487,27 @@ namespace Foo {
return Verifier.Verify(result.GeneratedTrees[0].ToString());
}
[Fact]
public void NullableMemberBinding_WithoutSupport_IsBeingReported()
{
var compilation = CreateCompilation(@"
using System;
using System.Linq;
using EntityFrameworkCore.Projectables;
namespace Foo {
static class C {
[Projectable(NullConditionalRewriteSupport = NullConditionalRewriteSupport.None)]
public static int? GetLength(this string input) => input?.Length;
}
}
");
var result = RunGenerator(compilation);
var diagnostic = Assert.Single(result.Diagnostics);
Assert.Equal("EFP0002", diagnostic.Id);
}
[Fact]
public Task NullableMemberBinding_WithIgnoreSupport_IsBeingRewritten()
{