| ... | ... | @@ -677,7 +677,19 @@ pub fn render(gpa: *Allocator, nodes: []const Node) !std.zig.ast.Tree { |
| 677 | 677 | .rhs = undefined, |
| 678 | 678 | }, |
| 679 | 679 | }); |
| 680 | | const root_members = try renderNodes(&ctx, nodes); |
| 680 | |
| 681 | const root_members = blk: { |
| 682 | var result = std.ArrayList(NodeIndex).init(gpa); |
| 683 | defer result.deinit(); |
| 684 | |
| 685 | for (nodes) |node| { |
| 686 | const res = try renderNode(&ctx, node); |
| 687 | if (node.tag() == .warning) continue; |
| 688 | try result.append(res); |
| 689 | } |
| 690 | break :blk try ctx.listToSpan(result.items); |
| 691 | }; |
| 692 | |
| 681 | 693 | ctx.nodes.items(.data)[0] = .{ |
| 682 | 694 | .lhs = root_members.start, |
| 683 | 695 | .rhs = root_members.end, |
| ... | ... | @@ -762,7 +774,6 @@ fn renderNodes(c: *Context, nodes: []const Node) Allocator.Error!NodeSubRange { |
| 762 | 774 | for (nodes) |node| { |
| 763 | 775 | const res = try renderNode(c, node); |
| 764 | 776 | if (node.tag() == .warning) continue; |
| 765 | | if (c.nodes.items(.tag)[res] == .identifier) continue; // TODO remove |
| 766 | 777 | try result.append(res); |
| 767 | 778 | } |
| 768 | 779 | |
| ... | ... | @@ -1176,7 +1187,7 @@ fn renderNode(c: *Context, node: Node) Allocator.Error!NodeIndex { |
| 1176 | 1187 | }; |
| 1177 | 1188 | if (payload.is_const) _ = try c.addToken(.keyword_const, "const"); |
| 1178 | 1189 | if (payload.is_volatile) _ = try c.addToken(.keyword_volatile, "volatile"); |
| 1179 | | const elem_type = try renderNode(c, payload.elem_type); |
| 1190 | const elem_type = try renderNodeGrouped(c, payload.elem_type); |
| 1180 | 1191 | |
| 1181 | 1192 | return c.addNode(.{ |
| 1182 | 1193 | .tag = .ptr_type_aligned, |
| ... | ... | @@ -2447,7 +2458,7 @@ fn renderMacroFunc(c: *Context, node: Node) !NodeIndex { |
| 2447 | 2458 | _ = try c.addToken(.r_paren, ")"); |
| 2448 | 2459 | break :blk res; |
| 2449 | 2460 | }; |
| 2450 | | const return_type_expr = try renderNode(c, payload.return_type); |
| 2461 | const return_type_expr = try renderNodeGrouped(c, payload.return_type); |
| 2451 | 2462 | |
| 2452 | 2463 | const fn_proto = try blk: { |
| 2453 | 2464 | if (params.items.len < 2) |