diff --git a/RefactoringEssentials/CSharp/Diagnostics/Synced/RedundanciesInDeclaration/UnusedParameterAnalyzer.cs b/RefactoringEssentials/CSharp/Diagnostics/Synced/RedundanciesInDeclaration/UnusedParameterAnalyzer.cs index 031baa25..5c89dc63 100644 --- a/RefactoringEssentials/CSharp/Diagnostics/Synced/RedundanciesInDeclaration/UnusedParameterAnalyzer.cs +++ b/RefactoringEssentials/CSharp/Diagnostics/Synced/RedundanciesInDeclaration/UnusedParameterAnalyzer.cs @@ -188,7 +188,7 @@ public override void VisitConstructorDeclaration(ConstructorDeclarationSyntax no if (node.ParameterList.Parameters.Count == 0) return; - Analyze(node.ParameterList.Parameters, new SyntaxNode[] { node.Body, node.Initializer }, node.Kind()); + Analyze(node.ParameterList.Parameters, new SyntaxNode[] { node.Body, node.ExpressionBody, node.Initializer }, node.Kind()); } public override void VisitAnonymousMethodExpression(AnonymousMethodExpressionSyntax node) diff --git a/Tests/CSharp/Diagnostics/UnusedParameterTests.cs b/Tests/CSharp/Diagnostics/UnusedParameterTests.cs index 8fa452a6..814773ee 100644 --- a/Tests/CSharp/Diagnostics/UnusedParameterTests.cs +++ b/Tests/CSharp/Diagnostics/UnusedParameterTests.cs @@ -279,6 +279,26 @@ void TestMethod (int a, int b, int c) Console.WriteLine(b); Console.WriteLine(c); } +}"; + Analyze(input); + } + + [Fact] + public void UnusedParameterInExpressionBodiedConstructor() + { + var input = @" +class TestClass { + public TestClass(int $i$) => ""; +}"; + Analyze(input); + } + + [Fact] + public void UsedParameterInExpressionBodiedConstructor() + { + var input = @" +class TestClass { + public TestClass(int i) => i.ToString(); }"; Analyze(input); }