Skip to content

Commit 0ece360

Browse files
Fix issue when we report a missing default case in switch statements with patterns
1 parent 462e180 commit 0ece360

File tree

5 files changed

+1397
-1202
lines changed

5 files changed

+1397
-1202
lines changed

src/Analyzers/CSharp/Analyzers/PopulateSwitch/CSharpPopulateSwitchStatementDiagnosticAnalyzer.cs

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,10 @@
66
using Microsoft.CodeAnalysis.Diagnostics;
77
using Microsoft.CodeAnalysis.PopulateSwitch;
88

9-
namespace Microsoft.CodeAnalysis.CSharp.PopulateSwitch
9+
namespace Microsoft.CodeAnalysis.CSharp.PopulateSwitch;
10+
11+
[DiagnosticAnalyzer(LanguageNames.CSharp)]
12+
internal sealed class CSharpPopulateSwitchStatementDiagnosticAnalyzer :
13+
AbstractPopulateSwitchStatementDiagnosticAnalyzer<SwitchStatementSyntax>
1014
{
11-
[DiagnosticAnalyzer(LanguageNames.CSharp)]
12-
internal sealed class CSharpPopulateSwitchStatementDiagnosticAnalyzer :
13-
AbstractPopulateSwitchStatementDiagnosticAnalyzer<SwitchStatementSyntax>
14-
{
15-
}
1615
}

src/Analyzers/CSharp/CodeFixes/PopulateSwitch/CSharpPopulateSwitchStatementCodeFixProvider.cs

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,12 @@
88
using Microsoft.CodeAnalysis.CSharp.Syntax;
99
using Microsoft.CodeAnalysis.PopulateSwitch;
1010

11-
namespace Microsoft.CodeAnalysis.CSharp.PopulateSwitch
12-
{
13-
[ExportCodeFixProvider(LanguageNames.CSharp,
14-
Name = PredefinedCodeFixProviderNames.PopulateSwitch), Shared]
15-
[ExtensionOrder(After = PredefinedCodeFixProviderNames.ImplementInterface)]
16-
internal class CSharpPopulateSwitchStatementCodeFixProvider : AbstractPopulateSwitchStatementCodeFixProvider<
17-
SwitchStatementSyntax, SwitchSectionSyntax, MemberAccessExpressionSyntax>
18-
{
19-
[ImportingConstructor]
20-
[SuppressMessage("RoslynDiagnosticsReliability", "RS0033:Importing constructor should be [Obsolete]", Justification = "Used in test code: https://github.com/dotnet/roslyn/issues/42814")]
21-
public CSharpPopulateSwitchStatementCodeFixProvider()
22-
{
23-
}
24-
}
25-
}
11+
namespace Microsoft.CodeAnalysis.CSharp.PopulateSwitch;
12+
13+
[ExportCodeFixProvider(LanguageNames.CSharp,
14+
Name = PredefinedCodeFixProviderNames.PopulateSwitch), Shared]
15+
[ExtensionOrder(After = PredefinedCodeFixProviderNames.ImplementInterface)]
16+
[method: ImportingConstructor]
17+
[method: SuppressMessage("RoslynDiagnosticsReliability", "RS0033:Importing constructor should be [Obsolete]", Justification = "Used in test code: https://github.com/dotnet/roslyn/issues/42814")]
18+
internal sealed class CSharpPopulateSwitchStatementCodeFixProvider()
19+
: AbstractPopulateSwitchStatementCodeFixProvider<SwitchStatementSyntax, SwitchSectionSyntax, MemberAccessExpressionSyntax>;

0 commit comments

Comments
 (0)