private static IEnumerable <string> GenerateCall(ICall call, string contentOfFunctionName, int level, AstModel parent) { var function = call.Function; var saneFunctionName = SaneFunctionName(function.Name); yield return(saneFunctionName + "("); var first = call.ArgExprs.FirstOrDefault(); foreach (var argExpr in call.ArgExprs) { if (first != argExpr) { yield return(", "); } foreach (var argExprCode in GenerateExpression(argExpr, contentOfFunctionName, level, null, true)) { yield return(argExprCode); } } yield return(")"); }