From f83411b0b1b857c7f8679e3b90d2093ba60621d4 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Thu, 2 Jan 2020 21:53:25 -0500 Subject: [PATCH] Revert "Trailing comma is respected for builtin calls" This reverts commit afd029091854358e6e88cfc4cbb524022f4ec136. This caused test failures. --- lib/std/zig/parser_test.zig | 21 --------------------- lib/std/zig/render.zig | 37 +++++++------------------------------ 2 files changed, 7 insertions(+), 51 deletions(-) diff --git a/lib/std/zig/parser_test.zig b/lib/std/zig/parser_test.zig index c5500091fc..f193e1b6ef 100644 --- a/lib/std/zig/parser_test.zig +++ b/lib/std/zig/parser_test.zig @@ -26,27 +26,6 @@ test "zig fmt: c pointer type" { ); } -test "zig fmt: builtin call with trailing comma" { - try testCanonical( - \\pub fn main() void { - \\ _ = @intToPtr( - \\ a, - \\ b, - \\ ); - \\ _ = @ptrCast( - \\ a, - \\ b, - \\ ); - \\ _ = @call( - \\ a, - \\ b, - \\ c, - \\ ); - \\} - \\ - ); -} - test "zig fmt: asm expression with comptime content" { try testCanonical( \\comptime { diff --git a/lib/std/zig/render.zig b/lib/std/zig/render.zig index 1f377e71bd..6e1ee4a601 100644 --- a/lib/std/zig/render.zig +++ b/lib/std/zig/render.zig @@ -1263,40 +1263,17 @@ fn renderExpression( try renderToken(tree, stream, builtin_call.builtin_token, indent, start_col, Space.None); // @name } - const src_params_trailing_comma = blk: { - const maybe_comma = tree.prevToken(builtin_call.rparen_token); - break :blk tree.tokens.at(maybe_comma).id == .Comma; - }; + try renderToken(tree, stream, tree.nextToken(builtin_call.builtin_token), indent, start_col, Space.None); // ( - const lparen = tree.nextToken(builtin_call.builtin_token); + var it = builtin_call.params.iterator(0); + while (it.next()) |param_node| { + try renderExpression(allocator, stream, tree, indent, start_col, param_node.*, Space.None); - if (!src_params_trailing_comma) { - try renderToken(tree, stream, lparen, indent, start_col, Space.None); // ( - - // render all on one line, no trailing comma - var it = builtin_call.params.iterator(0); - while (it.next()) |param_node| { - try renderExpression(allocator, stream, tree, indent, start_col, param_node.*, Space.None); - // try renderParamDecl(allocator, stream, tree, indent, start_col, param_node.*, Space.None); - - if (it.peek() != null) { - const comma_token = tree.nextToken(param_node.*.lastToken()); - try renderToken(tree, stream, comma_token, indent, start_col, Space.Space); // , - } + if (it.peek() != null) { + const comma_token = tree.nextToken(param_node.*.lastToken()); + try renderToken(tree, stream, comma_token, indent, start_col, Space.Space); // , } - } else { - // one param per line - const new_indent = indent + indent_delta; - try renderToken(tree, stream, lparen, new_indent, start_col, Space.Newline); // ( - - var it = builtin_call.params.iterator(0); - while (it.next()) |param_node| { - try stream.writeByteNTimes(' ', new_indent); - try renderExpression(allocator, stream, tree, indent, start_col, param_node.*, Space.Comma); - } - try stream.writeByteNTimes(' ', indent); } - return renderToken(tree, stream, builtin_call.rparen_token, indent, start_col, space); // ) },