authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2018-05-25 02:19:53-04:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2018-05-25 02:19:53-04:00
loga630d3e851a62c0e8971cbd2183e215606f35ab1
tree49d75e0e2a5df49b7e89712e07eeb1dcf552db4a
parent56cb7f1740bf369b7cd2cac29db559c5c6bccc22

zig fmt: fix rendering of align keyword of slice type


2 files changed, 15 insertions(+), 6 deletions(-)

std/zig/parser_test.zig+9
...@@ -1,3 +1,12 @@...@@ -1,3 +1,12 @@
1test "zig fmt: slice align" {
2 try testCanonical(
3 \\const A = struct {
4 \\ items: []align(A) T,
5 \\};
6 \\
7 );
8}
9
1test "zig fmt: first thing in file is line comment" {10test "zig fmt: first thing in file is line comment" {
2 try testTransform(11 try testTransform(
3 \\comptime {12 \\comptime {
std/zig/render.zig+6-6
...@@ -268,10 +268,10 @@ fn renderExpression(allocator: &mem.Allocator, stream: var, tree: &ast.Tree, ind...@@ -268,10 +268,10 @@ fn renderExpression(allocator: &mem.Allocator, stream: var, tree: &ast.Tree, ind
268 ast.Node.PrefixOp.Op.AddrOf => |addr_of_info| {268 ast.Node.PrefixOp.Op.AddrOf => |addr_of_info| {
269 try renderToken(tree, stream, prefix_op_node.op_token, indent, Space.None); // &269 try renderToken(tree, stream, prefix_op_node.op_token, indent, Space.None); // &
270 if (addr_of_info.align_info) |align_info| {270 if (addr_of_info.align_info) |align_info| {
271 const align_token = tree.nextToken(prefix_op_node.op_token);
272 try renderToken(tree, stream, align_token, indent, Space.None); // align
273
274 const lparen_token = tree.prevToken(align_info.node.firstToken());271 const lparen_token = tree.prevToken(align_info.node.firstToken());
272 const align_token = tree.prevToken(lparen_token);
273
274 try renderToken(tree, stream, align_token, indent, Space.None); // align
275 try renderToken(tree, stream, lparen_token, indent, Space.None); // (275 try renderToken(tree, stream, lparen_token, indent, Space.None); // (
276276
277 try renderExpression(allocator, stream, tree, indent, align_info.node, Space.None);277 try renderExpression(allocator, stream, tree, indent, align_info.node, Space.None);
...@@ -305,10 +305,10 @@ fn renderExpression(allocator: &mem.Allocator, stream: var, tree: &ast.Tree, ind...@@ -305,10 +305,10 @@ fn renderExpression(allocator: &mem.Allocator, stream: var, tree: &ast.Tree, ind
305 try renderToken(tree, stream, tree.nextToken(prefix_op_node.op_token), indent, Space.None); // ]305 try renderToken(tree, stream, tree.nextToken(prefix_op_node.op_token), indent, Space.None); // ]
306306
307 if (addr_of_info.align_info) |align_info| {307 if (addr_of_info.align_info) |align_info| {
308 const align_token = tree.nextToken(prefix_op_node.op_token);
309 try renderToken(tree, stream, align_token, indent, Space.None); // align
310
311 const lparen_token = tree.prevToken(align_info.node.firstToken());308 const lparen_token = tree.prevToken(align_info.node.firstToken());
309 const align_token = tree.prevToken(lparen_token);
310
311 try renderToken(tree, stream, align_token, indent, Space.None); // align
312 try renderToken(tree, stream, lparen_token, indent, Space.None); // (312 try renderToken(tree, stream, lparen_token, indent, Space.None); // (
313313
314 try renderExpression(allocator, stream, tree, indent, align_info.node, Space.None);314 try renderExpression(allocator, stream, tree, indent, align_info.node, Space.None);