| author | |
| committer | |
| log | 7a9500fd80990a3dc47821e627162bf769eecbba |
| tree | b4c7d59c0815b5222b8f9270fc6897beaacde563 |
| parent | f58811a58a592a4e5844e66919b18211dc5f6e59 |
| signature |
Co-authored-by: Tobias Simetsreiter <tobias.simetsreiter@wabtec.com>3 files changed, 14 insertions(+), 1 deletions(-)
lib/std/zig/Ast.zig+2| ... | @@ -12,6 +12,7 @@ tokens: TokenList.Slice, | ... | @@ -12,6 +12,7 @@ tokens: TokenList.Slice, |
| 12 | /// references to the root node, this means 0 is available to indicate null. | 12 | /// references to the root node, this means 0 is available to indicate null. |
| 13 | nodes: NodeList.Slice, | 13 | nodes: NodeList.Slice, |
| 14 | extra_data: []Node.Index, | 14 | extra_data: []Node.Index, |
| 15 | mode: Mode = .zig, | ||
| 15 | 16 | ||
| 16 | errors: []const Error, | 17 | errors: []const Error, |
| 17 | 18 | ||
| ... | @@ -96,6 +97,7 @@ pub fn parse(gpa: Allocator, source: [:0]const u8, mode: Mode) Allocator.Error!A | ... | @@ -96,6 +97,7 @@ pub fn parse(gpa: Allocator, source: [:0]const u8, mode: Mode) Allocator.Error!A |
| 96 | // TODO experiment with compacting the MultiArrayList slices here | 97 | // TODO experiment with compacting the MultiArrayList slices here |
| 97 | return Ast{ | 98 | return Ast{ |
| 98 | .source = source, | 99 | .source = source, |
| 100 | .mode = mode, | ||
| 99 | .tokens = tokens.toOwnedSlice(), | 101 | .tokens = tokens.toOwnedSlice(), |
| 100 | .nodes = parser.nodes.toOwnedSlice(), | 102 | .nodes = parser.nodes.toOwnedSlice(), |
| 101 | .extra_data = try parser.extra_data.toOwnedSlice(gpa), | 103 | .extra_data = try parser.extra_data.toOwnedSlice(gpa), |
lib/std/zig/render.zig+11-1| ... | @@ -30,7 +30,17 @@ pub fn renderTree(buffer: *std.ArrayList(u8), tree: Ast) Error!void { | ... | @@ -30,7 +30,17 @@ pub fn renderTree(buffer: *std.ArrayList(u8), tree: Ast) Error!void { |
| 30 | try renderContainerDocComments(ais, tree, 0); | 30 | try renderContainerDocComments(ais, tree, 0); |
| 31 | } | 31 | } |
| 32 | 32 | ||
| 33 | try renderMembers(buffer.allocator, ais, tree, tree.rootDecls()); | 33 | if (tree.mode == .zon) { |
| 34 | try renderExpression( | ||
| 35 | buffer.allocator, | ||
| 36 | ais, | ||
| 37 | tree, | ||
| 38 | tree.nodes.items(.data)[0].lhs, | ||
| 39 | .newline, | ||
| 40 | ); | ||
| 41 | } else { | ||
| 42 | try renderMembers(buffer.allocator, ais, tree, tree.rootDecls()); | ||
| 43 | } | ||
| 34 | 44 | ||
| 35 | if (ais.disabled_offset) |disabled_offset| { | 45 | if (ais.disabled_offset) |disabled_offset| { |
| 36 | try writeFixingWhitespace(ais.underlying_writer, tree.source[disabled_offset..]); | 46 | try writeFixingWhitespace(ais.underlying_writer, tree.source[disabled_offset..]); |
src/translate_c/ast.zig+1| ... | @@ -794,6 +794,7 @@ pub fn render(gpa: Allocator, nodes: []const Node) !std.zig.Ast { | ... | @@ -794,6 +794,7 @@ pub fn render(gpa: Allocator, nodes: []const Node) !std.zig.Ast { |
| 794 | .nodes = ctx.nodes.toOwnedSlice(), | 794 | .nodes = ctx.nodes.toOwnedSlice(), |
| 795 | .extra_data = try ctx.extra_data.toOwnedSlice(gpa), | 795 | .extra_data = try ctx.extra_data.toOwnedSlice(gpa), |
| 796 | .errors = &.{}, | 796 | .errors = &.{}, |
| 797 | .mode = .zig, | ||
| 797 | }; | 798 | }; |
| 798 | } | 799 | } |
| 799 | 800 |