Skip to content

Commit 1a31a2a

Browse files
Merge branch 'parentheses'
2 parents efe1294 + 56e92ef commit 1a31a2a

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

ICSharpCode.CodeConverter/CSharp/NodesVisitor.cs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1442,16 +1442,19 @@ public override CSharpSyntaxNode VisitSingleLineLambdaExpression(VBSyntax.Single
14421442
body = node.Body.Accept(TriviaConvertingVisitor);
14431443
}
14441444
var param = (ParameterListSyntax)node.SubOrFunctionHeader.ParameterList.Accept(TriviaConvertingVisitor);
1445-
if (param.Parameters.Count == 1)
1446-
return SyntaxFactory.SimpleLambdaExpression(param.Parameters[0], body);
1447-
return SyntaxFactory.ParenthesizedLambdaExpression(param, body);
1445+
return CreateLambdaExpression(param, body);
14481446
}
14491447

14501448
public override CSharpSyntaxNode VisitMultiLineLambdaExpression(VBSyntax.MultiLineLambdaExpressionSyntax node)
14511449
{
14521450
var body = SyntaxFactory.Block(node.Statements.SelectMany(s => s.Accept(CreateMethodBodyVisitor())));
14531451
var param = (ParameterListSyntax)node.SubOrFunctionHeader.ParameterList.Accept(TriviaConvertingVisitor);
1454-
if (param.Parameters.Count == 1)
1452+
return CreateLambdaExpression(param, body);
1453+
}
1454+
1455+
private static CSharpSyntaxNode CreateLambdaExpression(ParameterListSyntax param, CSharpSyntaxNode body)
1456+
{
1457+
if (param.Parameters.Count == 1 && param.Parameters.Single().Type == null)
14551458
return SyntaxFactory.SimpleLambdaExpression(param.Parameters[0], body);
14561459
return SyntaxFactory.ParenthesizedLambdaExpression(param, body);
14571460
}

Tests/CSharp/ExpressionTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -550,7 +550,7 @@ class TestClass
550550
{
551551
private void TestMethod()
552552
{
553-
Func<int, int> test = int a => a * 2;
553+
Func<int, int> test = (int a) => a * 2;
554554
test(3);
555555
}
556556
}");

0 commit comments

Comments
 (0)