| author | |
| committer | |
| log | 4129f7ff5a03cb3cd85a3ad5e3360098ab8ed796 |
| tree | 3a501329a88919e96a0be660f907be11a549def9 |
| parent | d84055f9c69986f60087cf1a37f895362725f88d |
| signature |
This makes the `.data` field the better choice over the `.main_token` for this tag.5 files changed, 15 insertions(+), 13 deletions(-)
lib/compiler/reduce/Walk.zig+1-3| ... | @@ -444,9 +444,7 @@ fn walkExpression(w: *Walk, node: Ast.Node.Index) Error!void { | ... | @@ -444,9 +444,7 @@ fn walkExpression(w: *Walk, node: Ast.Node.Index) Error!void { |
| 444 | }, | 444 | }, |
| 445 | 445 | ||
| 446 | .error_set_decl => { | 446 | .error_set_decl => { |
| 447 | const error_token = ast.nodeMainToken(node); | 447 | const lbrace, const rbrace = ast.nodeData(node).token_and_token; |
| 448 | const lbrace = error_token + 1; | ||
| 449 | const rbrace = ast.nodeData(node).token; | ||
| 450 | 448 | ||
| 451 | var i = lbrace + 1; | 449 | var i = lbrace + 1; |
| 452 | while (i < rbrace) : (i += 1) { | 450 | while (i < rbrace) : (i += 1) { |
lib/std/zig/Ast.zig+4-3| ... | @@ -996,9 +996,8 @@ pub fn lastToken(tree: Ast, node: Node.Index) TokenIndex { | ... | @@ -996,9 +996,8 @@ pub fn lastToken(tree: Ast, node: Node.Index) TokenIndex { |
| 996 | .unwrap_optional, | 996 | .unwrap_optional, |
| 997 | .asm_simple, | 997 | .asm_simple, |
| 998 | => return tree.nodeData(n).node_and_token[1] + end_offset, | 998 | => return tree.nodeData(n).node_and_token[1] + end_offset, |
| 999 | .error_set_decl => return tree.nodeData(n).token + end_offset, | ||
| 1000 | .grouped_expression, .asm_input => return tree.nodeData(n).node_and_token[1] + end_offset, | 999 | .grouped_expression, .asm_input => return tree.nodeData(n).node_and_token[1] + end_offset, |
| 1001 | .multiline_string_literal => return tree.nodeData(n).token_and_token[1] + end_offset, | 1000 | .multiline_string_literal, .error_set_decl => return tree.nodeData(n).token_and_token[1] + end_offset, |
| 1002 | .asm_output => return tree.nodeData(n).opt_node_and_token[1] + end_offset, | 1001 | .asm_output => return tree.nodeData(n).opt_node_and_token[1] + end_offset, |
| 1003 | .error_value => return tree.nodeMainToken(n) + 2 + end_offset, | 1002 | .error_value => return tree.nodeMainToken(n) + 2 + end_offset, |
| 1004 | 1003 | ||
| ... | @@ -3758,7 +3757,9 @@ pub const Node = struct { | ... | @@ -3758,7 +3757,9 @@ pub const Node = struct { |
| 3758 | builtin_call_comma, | 3757 | builtin_call_comma, |
| 3759 | /// `error{a, b}`. | 3758 | /// `error{a, b}`. |
| 3760 | /// | 3759 | /// |
| 3761 | /// The `data` field is a `.token` to the '}'. | 3760 | /// The `data` field is a `.token_and_token`: |
| 3761 | /// 1. a `TokenIndex` to the `{` token. | ||
| 3762 | /// 2. a `TokenIndex` to the `}` token. | ||
| 3762 | /// | 3763 | /// |
| 3763 | /// The `main_token` field is the `error`. | 3764 | /// The `main_token` field is the `error`. |
| 3764 | error_set_decl, | 3765 | error_set_decl, |
lib/std/zig/AstGen.zig+3-4| ... | @@ -5974,9 +5974,9 @@ fn errorSetDecl(gz: *GenZir, ri: ResultInfo, node: Ast.Node.Index) InnerError!Zi | ... | @@ -5974,9 +5974,9 @@ fn errorSetDecl(gz: *GenZir, ri: ResultInfo, node: Ast.Node.Index) InnerError!Zi |
| 5974 | var idents: std.AutoHashMapUnmanaged(Zir.NullTerminatedString, Ast.TokenIndex) = .empty; | 5974 | var idents: std.AutoHashMapUnmanaged(Zir.NullTerminatedString, Ast.TokenIndex) = .empty; |
| 5975 | defer idents.deinit(gpa); | 5975 | defer idents.deinit(gpa); |
| 5976 | 5976 | ||
| 5977 | const error_token = tree.nodeMainToken(node); | 5977 | const lbrace, const rbrace = tree.nodeData(node).token_and_token; |
| 5978 | var tok_i = error_token + 2; | 5978 | for (lbrace + 1..rbrace) |i| { |
| 5979 | while (true) : (tok_i += 1) { | 5979 | const tok_i: Ast.TokenIndex = @intCast(i); |
| 5980 | switch (tree.tokenTag(tok_i)) { | 5980 | switch (tree.tokenTag(tok_i)) { |
| 5981 | .doc_comment, .comma => {}, | 5981 | .doc_comment, .comma => {}, |
| 5982 | .identifier => { | 5982 | .identifier => { |
| ... | @@ -6003,7 +6003,6 @@ fn errorSetDecl(gz: *GenZir, ri: ResultInfo, node: Ast.Node.Index) InnerError!Zi | ... | @@ -6003,7 +6003,6 @@ fn errorSetDecl(gz: *GenZir, ri: ResultInfo, node: Ast.Node.Index) InnerError!Zi |
| 6003 | try astgen.extra.append(gpa, @intFromEnum(str_index)); | 6003 | try astgen.extra.append(gpa, @intFromEnum(str_index)); |
| 6004 | fields_len += 1; | 6004 | fields_len += 1; |
| 6005 | }, | 6005 | }, |
| 6006 | .r_brace => break, | ||
| 6007 | else => unreachable, | 6006 | else => unreachable, |
| 6008 | } | 6007 | } |
| 6009 | } | 6008 | } |
lib/std/zig/Parse.zig+6-1| ... | @@ -2763,7 +2763,12 @@ fn parsePrimaryTypeExpr(p: *Parse) !?Node.Index { | ... | @@ -2763,7 +2763,12 @@ fn parsePrimaryTypeExpr(p: *Parse) !?Node.Index { |
| 2763 | return try p.addNode(.{ | 2763 | return try p.addNode(.{ |
| 2764 | .tag = .error_set_decl, | 2764 | .tag = .error_set_decl, |
| 2765 | .main_token = error_token, | 2765 | .main_token = error_token, |
| 2766 | .data = .{ .token = p.tok_i - 1 }, // rbrace | 2766 | .data = .{ |
| 2767 | .token_and_token = .{ | ||
| 2768 | error_token + 1, // lbrace | ||
| 2769 | p.tok_i - 1, // rbrace | ||
| 2770 | }, | ||
| 2771 | }, | ||
| 2767 | }); | 2772 | }); |
| 2768 | }, | 2773 | }, |
| 2769 | else => { | 2774 | else => { |
lib/std/zig/render.zig+1-2| ... | @@ -739,8 +739,7 @@ fn renderExpression(r: *Render, node: Ast.Node.Index, space: Space) Error!void { | ... | @@ -739,8 +739,7 @@ fn renderExpression(r: *Render, node: Ast.Node.Index, space: Space) Error!void { |
| 739 | 739 | ||
| 740 | .error_set_decl => { | 740 | .error_set_decl => { |
| 741 | const error_token = tree.nodeMainToken(node); | 741 | const error_token = tree.nodeMainToken(node); |
| 742 | const lbrace = error_token + 1; | 742 | const lbrace, const rbrace = tree.nodeData(node).token_and_token; |
| 743 | const rbrace = tree.nodeData(node).token; | ||
| 744 | 743 | ||
| 745 | try renderToken(r, error_token, .none); | 744 | try renderToken(r, error_token, .none); |
| 746 | 745 |