public void CreateArgumentListWithThreeExpressions() { var arguments = new List <ExpressionSyntax> { SyntaxFactory.IdentifierName(SyntaxFactory.Identifier("a")), SyntaxFactory.IdentifierName(SyntaxFactory.Identifier("b")), SyntaxFactory.IdentifierName(SyntaxFactory.Identifier("c")) }; Assert.AreEqual("(a,b,c)", ArgumentListGenerator.CreateArgumentList(arguments).ToString()); }
private static ExpressionStatementSyntax _CreateParallelFor(ForStatementSyntax statement) { var variable = statement.Declaration.Variables.Single(); var from = variable.Initializer.Value; // The analyzer only allows binary expressions where the upper bound is on the left hand-side. // Therefore, no further checks are necessary. var binary = (BinaryExpressionSyntax)statement.Condition; var to = binary.Right; if (binary.IsKind(SyntaxKind.LessThanOrEqualExpression)) { // TODO maybe try to reduce resulting expressions like ...-1+1 to = SyntaxFactory.BinaryExpression(SyntaxKind.AddExpression, to, _CreateOneLiteral()); } return(SyntaxFactory.ExpressionStatement( SyntaxFactory.InvocationExpression( MemberAccessGenerator.CreateMemberAccess("Parallel", "For"), ArgumentListGenerator.CreateArgumentList(from, to, LambdaGenerator.CreateLambdaOrDelegate(variable.Identifier, statement.Statement)) ) ).WithTriviaFrom(statement)); }
public void CreateArgumentListWithOneExpression() { var identifier = SyntaxFactory.IdentifierName(SyntaxFactory.Identifier("a")); Assert.AreEqual("(a)", ArgumentListGenerator.CreateArgumentList(identifier).ToString()); }
public void CreateArgumentListWithoutExpressions() { Assert.AreEqual("()", ArgumentListGenerator.CreateArgumentList().ToString()); }