Commit d40ad92668
Changed files (1)
lib
std
zig
lib/std/zig/render.zig
@@ -75,7 +75,7 @@ fn renderRoot(
// render all the line comments at the beginning of the file
while (tok_it.next()) |token| {
- if (token.id != Token.Id.LineComment) break;
+ if (token.id != .LineComment) break;
try stream.print("{}\n", mem.trimRight(u8, tree.tokenSlicePtr(token), " "));
if (tok_it.peek()) |next_token| {
const loc = tree.tokenLocationPtr(token.end, next_token);
@@ -109,8 +109,8 @@ fn renderRoot(
token_index -= 1;
const token = tree.tokens.at(token_index);
switch (token.id) {
- Token.Id.LineComment => {},
- Token.Id.DocComment => {
+ .LineComment => {},
+ .DocComment => {
copy_start_token_index = token_index;
continue;
},
@@ -149,8 +149,8 @@ fn renderRoot(
while (token_index < decl_first_token_index) : (token_index += 1) {
const token = tree.tokens.at(token_index);
switch (token.id) {
- Token.Id.LineComment => {},
- Token.Id.Eof => unreachable,
+ .LineComment => {},
+ .Eof => unreachable,
else => continue,
}
if (mem.eql(u8, mem.trim(u8, tree.tokenSlicePtr(token)[2..], " "), "zig fmt: on")) {
@@ -169,8 +169,8 @@ fn renderRoot(
token_index -= 1;
const token = tree.tokens.at(token_index);
switch (token.id) {
- Token.Id.LineComment => {},
- Token.Id.DocComment => {
+ .LineComment => {},
+ .DocComment => {
copy_end_token_index = token_index;
continue;
},
@@ -193,7 +193,7 @@ fn renderRoot(
fn renderExtraNewline(tree: *ast.Tree, stream: var, start_col: *usize, node: *ast.Node) @typeOf(stream).Child.Error!void {
const first_token = node.firstToken();
var prev_token = first_token;
- while (tree.tokens.at(prev_token - 1).id == Token.Id.DocComment) {
+ while (tree.tokens.at(prev_token - 1).id == .DocComment) {
prev_token -= 1;
}
const prev_token_end = tree.tokens.at(prev_token - 1).end;
@@ -206,7 +206,7 @@ fn renderExtraNewline(tree: *ast.Tree, stream: var, start_col: *usize, node: *as
fn renderTopLevelDecl(allocator: *mem.Allocator, stream: var, tree: *ast.Tree, indent: usize, start_col: *usize, decl: *ast.Node) (@typeOf(stream).Child.Error || Error)!void {
switch (decl.id) {
- ast.Node.Id.FnProto => {
+ .FnProto => {
const fn_proto = @fieldParentPtr(ast.Node.FnProto, "base", decl);
try renderDocComments(tree, stream, fn_proto, indent, start_col);
@@ -220,7 +220,7 @@ fn renderTopLevelDecl(allocator: *mem.Allocator, stream: var, tree: *ast.Tree, i
}
},
- ast.Node.Id.Use => {
+ .Use => {
const use_decl = @fieldParentPtr(ast.Node.Use, "base", decl);
if (use_decl.visib_token) |visib_token| {
@@ -231,14 +231,14 @@ fn renderTopLevelDecl(allocator: *mem.Allocator, stream: var, tree: *ast.Tree, i
try renderToken(tree, stream, use_decl.semicolon_token, indent, start_col, Space.Newline); // ;
},
- ast.Node.Id.VarDecl => {
+ .VarDecl => {
const var_decl = @fieldParentPtr(ast.Node.VarDecl, "base", decl);
try renderDocComments(tree, stream, var_decl, indent, start_col);
try renderVarDecl(allocator, stream, tree, indent, start_col, var_decl);
},
- ast.Node.Id.TestDecl => {
+ .TestDecl => {
const test_decl = @fieldParentPtr(ast.Node.TestDecl, "base", decl);
try renderDocComments(tree, stream, test_decl, indent, start_col);
@@ -247,7 +247,7 @@ fn renderTopLevelDecl(allocator: *mem.Allocator, stream: var, tree: *ast.Tree, i
try renderExpression(allocator, stream, tree, indent, start_col, test_decl.body_node, Space.Newline);
},
- ast.Node.Id.ContainerField => {
+ .ContainerField => {
const field = @fieldParentPtr(ast.Node.ContainerField, "base", decl);
try renderDocComments(tree, stream, field, indent, start_col);
@@ -295,12 +295,12 @@ fn renderTopLevelDecl(allocator: *mem.Allocator, stream: var, tree: *ast.Tree, i
}
},
- ast.Node.Id.Comptime => {
+ .Comptime => {
assert(!decl.requireSemiColon());
try renderExpression(allocator, stream, tree, indent, start_col, decl, Space.Newline);
},
- ast.Node.Id.DocComment => {
+ .DocComment => {
const comment = @fieldParentPtr(ast.Node.DocComment, "base", decl);
var it = comment.lines.iterator(0);
while (it.next()) |line_token_index| {
@@ -324,11 +324,11 @@ fn renderExpression(
space: Space,
) (@typeOf(stream).Child.Error || Error)!void {
switch (base.id) {
- ast.Node.Id.Identifier => {
+ .Identifier => {
const identifier = @fieldParentPtr(ast.Node.Identifier, "base", base);
return renderToken(tree, stream, identifier.token, indent, start_col, space);
},
- ast.Node.Id.Block => {
+ .Block => {
const block = @fieldParentPtr(ast.Node.Block, "base", base);
if (block.label) |label| {
@@ -357,20 +357,20 @@ fn renderExpression(
return renderToken(tree, stream, block.rbrace, indent, start_col, space);
}
},
- ast.Node.Id.Defer => {
+ .Defer => {
const defer_node = @fieldParentPtr(ast.Node.Defer, "base", base);
try renderToken(tree, stream, defer_node.defer_token, indent, start_col, Space.Space);
return renderExpression(allocator, stream, tree, indent, start_col, defer_node.expr, space);
},
- ast.Node.Id.Comptime => {
+ .Comptime => {
const comptime_node = @fieldParentPtr(ast.Node.Comptime, "base", base);
try renderToken(tree, stream, comptime_node.comptime_token, indent, start_col, Space.Space);
return renderExpression(allocator, stream, tree, indent, start_col, comptime_node.expr, space);
},
- ast.Node.Id.Suspend => {
+ .Suspend => {
const suspend_node = @fieldParentPtr(ast.Node.Suspend, "base", base);
if (suspend_node.body) |body| {
@@ -381,7 +381,7 @@ fn renderExpression(
}
},
- ast.Node.Id.InfixOp => {
+ .InfixOp => {
const infix_op_node = @fieldParentPtr(ast.Node.InfixOp, "base", base);
const op_space = switch (infix_op_node.op) {
@@ -397,7 +397,7 @@ fn renderExpression(
try renderToken(tree, stream, infix_op_node.op_token, indent, start_col, after_op_space);
if (after_op_space == Space.Newline and
- tree.tokens.at(tree.nextToken(infix_op_node.op_token)).id != Token.Id.MultilineStringLiteralLine)
+ tree.tokens.at(tree.nextToken(infix_op_node.op_token)).id != .MultilineStringLiteralLine)
{
try stream.writeByteNTimes(' ', indent + indent_delta);
start_col.* = indent + indent_delta;
@@ -413,11 +413,11 @@ fn renderExpression(
return renderExpression(allocator, stream, tree, indent, start_col, infix_op_node.rhs, space);
},
- ast.Node.Id.PrefixOp => {
+ .PrefixOp => {
const prefix_op_node = @fieldParentPtr(ast.Node.PrefixOp, "base", base);
switch (prefix_op_node.op) {
- ast.Node.PrefixOp.Op.PtrType => |ptr_info| {
+ .PtrType => |ptr_info| {
const op_tok_id = tree.tokens.at(prefix_op_node.op_token).id;
switch (op_tok_id) {
.Asterisk, .AsteriskAsterisk => try stream.writeByte('*'),
@@ -477,7 +477,7 @@ fn renderExpression(
}
},
- ast.Node.PrefixOp.Op.SliceType => |ptr_info| {
+ .SliceType => |ptr_info| {
try renderToken(tree, stream, prefix_op_node.op_token, indent, start_col, Space.None); // [
if (ptr_info.sentinel) |sentinel| {
const colon_token = tree.prevToken(sentinel.firstToken());
@@ -524,7 +524,7 @@ fn renderExpression(
}
},
- ast.Node.PrefixOp.Op.ArrayType => |array_info| {
+ .ArrayType => |array_info| {
const lbracket = prefix_op_node.op_token;
const rbracket = tree.nextToken(if (array_info.sentinel) |sentinel|
sentinel.lastToken()
@@ -551,20 +551,20 @@ fn renderExpression(
}
try renderToken(tree, stream, rbracket, indent, start_col, Space.None); // ]
},
- ast.Node.PrefixOp.Op.BitNot,
- ast.Node.PrefixOp.Op.BoolNot,
- ast.Node.PrefixOp.Op.Negation,
- ast.Node.PrefixOp.Op.NegationWrap,
- ast.Node.PrefixOp.Op.OptionalType,
- ast.Node.PrefixOp.Op.AddressOf,
+ .BitNot,
+ .BoolNot,
+ .Negation,
+ .NegationWrap,
+ .OptionalType,
+ .AddressOf,
=> {
try renderToken(tree, stream, prefix_op_node.op_token, indent, start_col, Space.None);
},
- ast.Node.PrefixOp.Op.Try,
- ast.Node.PrefixOp.Op.Await,
- ast.Node.PrefixOp.Op.Cancel,
- ast.Node.PrefixOp.Op.Resume,
+ .Try,
+ .Await,
+ .Cancel,
+ .Resume,
=> {
try renderToken(tree, stream, prefix_op_node.op_token, indent, start_col, Space.Space);
},
@@ -573,11 +573,11 @@ fn renderExpression(
return renderExpression(allocator, stream, tree, indent, start_col, prefix_op_node.rhs, space);
},
- ast.Node.Id.SuffixOp => {
+ .SuffixOp => {
const suffix_op = @fieldParentPtr(ast.Node.SuffixOp, "base", base);
switch (suffix_op.op) {
- @TagType(ast.Node.SuffixOp.Op).Call => |*call_info| {
+ .Call => |*call_info| {
if (call_info.async_token) |async_token| {
try renderToken(tree, stream, async_token, indent, start_col, Space.Space);
}
@@ -593,7 +593,7 @@ fn renderExpression(
const src_has_trailing_comma = blk: {
const maybe_comma = tree.prevToken(suffix_op.rtoken);
- break :blk tree.tokens.at(maybe_comma).id == Token.Id.Comma;
+ break :blk tree.tokens.at(maybe_comma).id == .Comma;
};
if (src_has_trailing_comma) {
@@ -604,7 +604,7 @@ fn renderExpression(
while (true) {
const param_node = it.next().?;
- const param_node_new_indent = if (param_node.*.id == ast.Node.Id.MultilineStringLiteral) blk: {
+ const param_node_new_indent = if (param_node.*.id == .MultilineStringLiteral) blk: {
break :blk indent;
} else blk: {
try stream.writeByteNTimes(' ', new_indent);
@@ -638,7 +638,7 @@ fn renderExpression(
return renderToken(tree, stream, suffix_op.rtoken, indent, start_col, space);
},
- ast.Node.SuffixOp.Op.ArrayAccess => |index_expr| {
+ .ArrayAccess => |index_expr| {
const lbracket = tree.prevToken(index_expr.firstToken());
const rbracket = tree.nextToken(index_expr.lastToken());
@@ -659,18 +659,18 @@ fn renderExpression(
return renderToken(tree, stream, rbracket, indent, start_col, space); // ]
},
- ast.Node.SuffixOp.Op.Deref => {
+ .Deref => {
try renderExpression(allocator, stream, tree, indent, start_col, suffix_op.lhs.node, Space.None);
return renderToken(tree, stream, suffix_op.rtoken, indent, start_col, space); // .*
},
- ast.Node.SuffixOp.Op.UnwrapOptional => {
+ .UnwrapOptional => {
try renderExpression(allocator, stream, tree, indent, start_col, suffix_op.lhs.node, Space.None);
try renderToken(tree, stream, tree.prevToken(suffix_op.rtoken), indent, start_col, Space.None); // .
return renderToken(tree, stream, suffix_op.rtoken, indent, start_col, space); // ?
},
- @TagType(ast.Node.SuffixOp.Op).Slice => |range| {
+ .Slice => |range| {
try renderExpression(allocator, stream, tree, indent, start_col, suffix_op.lhs.node, Space.None);
const lbracket = tree.prevToken(range.start.firstToken());
@@ -690,7 +690,7 @@ fn renderExpression(
return renderToken(tree, stream, suffix_op.rtoken, indent, start_col, space); // ]
},
- ast.Node.SuffixOp.Op.StructInitializer => |*field_inits| {
+ .StructInitializer => |*field_inits| {
const lbrace = switch (suffix_op.lhs) {
.dot => |dot| tree.nextToken(dot),
.node => |node| tree.nextToken(node.lastToken()),
@@ -707,7 +707,7 @@ fn renderExpression(
const src_has_trailing_comma = blk: {
const maybe_comma = tree.prevToken(suffix_op.rtoken);
- break :blk tree.tokens.at(maybe_comma).id == Token.Id.Comma;
+ break :blk tree.tokens.at(maybe_comma).id == .Comma;
};
const src_same_line = blk: {
@@ -731,7 +731,7 @@ fn renderExpression(
const field_init = field_inits.at(0).*.cast(ast.Node.FieldInitializer).?;
if (field_init.expr.cast(ast.Node.SuffixOp)) |nested_suffix_op| {
- if (nested_suffix_op.op == ast.Node.SuffixOp.Op.StructInitializer) {
+ if (nested_suffix_op.op == .StructInitializer) {
break :blk;
}
}
@@ -801,7 +801,7 @@ fn renderExpression(
return renderToken(tree, stream, suffix_op.rtoken, indent, start_col, space);
},
- ast.Node.SuffixOp.Op.ArrayInitializer => |*exprs| {
+ .ArrayInitializer => |*exprs| {
const lbrace = switch (suffix_op.lhs) {
.dot => |dot| tree.nextToken(dot),
.node => |node| tree.nextToken(node.lastToken()),
@@ -850,7 +850,7 @@ fn renderExpression(
// all on one line
const src_has_trailing_comma = trailblk: {
const maybe_comma = tree.prevToken(suffix_op.rtoken);
- break :trailblk tree.tokens.at(maybe_comma).id == Token.Id.Comma;
+ break :trailblk tree.tokens.at(maybe_comma).id == .Comma;
};
if (src_has_trailing_comma) {
break :blk 1; // force row size 1
@@ -891,7 +891,7 @@ fn renderExpression(
var new_indent = indent + indent_delta;
- if (tree.tokens.at(tree.nextToken(lbrace)).id != Token.Id.MultilineStringLiteralLine) {
+ if (tree.tokens.at(tree.nextToken(lbrace)).id != .MultilineStringLiteralLine) {
try renderToken(tree, stream, lbrace, new_indent, start_col, Space.Newline);
try stream.writeByteNTimes(' ', new_indent);
} else {
@@ -919,14 +919,14 @@ fn renderExpression(
}
col = 1;
- if (tree.tokens.at(tree.nextToken(comma)).id != Token.Id.MultilineStringLiteralLine) {
+ if (tree.tokens.at(tree.nextToken(comma)).id != .MultilineStringLiteralLine) {
try renderToken(tree, stream, comma, new_indent, start_col, Space.Newline); // ,
} else {
try renderToken(tree, stream, comma, new_indent, start_col, Space.None); // ,
}
try renderExtraNewline(tree, stream, start_col, next_expr.*);
- if (next_expr.*.id != ast.Node.Id.MultilineStringLiteral) {
+ if (next_expr.*.id != .MultilineStringLiteral) {
try stream.writeByteNTimes(' ', new_indent);
}
} else {
@@ -934,7 +934,7 @@ fn renderExpression(
}
}
const last_node = it.prev().?;
- if (last_node.*.id != ast.Node.Id.MultilineStringLiteral) {
+ if (last_node.*.id != .MultilineStringLiteral) {
try stream.writeByteNTimes(' ', indent);
}
return renderToken(tree, stream, suffix_op.rtoken, indent, start_col, space);
@@ -957,11 +957,11 @@ fn renderExpression(
}
},
- ast.Node.Id.ControlFlowExpression => {
+ .ControlFlowExpression => {
const flow_expr = @fieldParentPtr(ast.Node.ControlFlowExpression, "base", base);
switch (flow_expr.kind) {
- ast.Node.ControlFlowExpression.Kind.Break => |maybe_label| {
+ .Break => |maybe_label| {
if (maybe_label == null and flow_expr.rhs == null) {
return renderToken(tree, stream, flow_expr.ltoken, indent, start_col, space); // break
}
@@ -977,7 +977,7 @@ fn renderExpression(
try renderExpression(allocator, stream, tree, indent, start_col, label, Space.Space); // label
}
},
- ast.Node.ControlFlowExpression.Kind.Continue => |maybe_label| {
+ .Continue => |maybe_label| {
assert(flow_expr.rhs == null);
if (maybe_label == null and flow_expr.rhs == null) {
@@ -992,7 +992,7 @@ fn renderExpression(
return renderExpression(allocator, stream, tree, indent, start_col, label, space);
}
},
- ast.Node.ControlFlowExpression.Kind.Return => {
+ .Return => {
if (flow_expr.rhs == null) {
return renderToken(tree, stream, flow_expr.ltoken, indent, start_col, space);
}
@@ -1003,7 +1003,7 @@ fn renderExpression(
return renderExpression(allocator, stream, tree, indent, start_col, flow_expr.rhs.?, space);
},
- ast.Node.Id.Payload => {
+ .Payload => {
const payload = @fieldParentPtr(ast.Node.Payload, "base", base);
try renderToken(tree, stream, payload.lpipe, indent, start_col, Space.None);
@@ -1011,7 +1011,7 @@ fn renderExpression(
return renderToken(tree, stream, payload.rpipe, indent, start_col, space);
},
- ast.Node.Id.PointerPayload => {
+ .PointerPayload => {
const payload = @fieldParentPtr(ast.Node.PointerPayload, "base", base);
try renderToken(tree, stream, payload.lpipe, indent, start_col, Space.None);
@@ -1022,7 +1022,7 @@ fn renderExpression(
return renderToken(tree, stream, payload.rpipe, indent, start_col, space);
},
- ast.Node.Id.PointerIndexPayload => {
+ .PointerIndexPayload => {
const payload = @fieldParentPtr(ast.Node.PointerIndexPayload, "base", base);
try renderToken(tree, stream, payload.lpipe, indent, start_col, Space.None);
@@ -1041,7 +1041,7 @@ fn renderExpression(
return renderToken(tree, stream, payload.rpipe, indent, start_col, space);
},
- ast.Node.Id.GroupedExpression => {
+ .GroupedExpression => {
const grouped_expr = @fieldParentPtr(ast.Node.GroupedExpression, "base", base);
try renderToken(tree, stream, grouped_expr.lparen, indent, start_col, Space.None);
@@ -1049,7 +1049,7 @@ fn renderExpression(
return renderToken(tree, stream, grouped_expr.rparen, indent, start_col, space);
},
- ast.Node.Id.FieldInitializer => {
+ .FieldInitializer => {
const field_init = @fieldParentPtr(ast.Node.FieldInitializer, "base", base);
try renderToken(tree, stream, field_init.period_token, indent, start_col, Space.None); // .
@@ -1058,43 +1058,43 @@ fn renderExpression(
return renderExpression(allocator, stream, tree, indent, start_col, field_init.expr, space);
},
- ast.Node.Id.IntegerLiteral => {
+ .IntegerLiteral => {
const integer_literal = @fieldParentPtr(ast.Node.IntegerLiteral, "base", base);
return renderToken(tree, stream, integer_literal.token, indent, start_col, space);
},
- ast.Node.Id.FloatLiteral => {
+ .FloatLiteral => {
const float_literal = @fieldParentPtr(ast.Node.FloatLiteral, "base", base);
return renderToken(tree, stream, float_literal.token, indent, start_col, space);
},
- ast.Node.Id.StringLiteral => {
+ .StringLiteral => {
const string_literal = @fieldParentPtr(ast.Node.StringLiteral, "base", base);
return renderToken(tree, stream, string_literal.token, indent, start_col, space);
},
- ast.Node.Id.CharLiteral => {
+ .CharLiteral => {
const char_literal = @fieldParentPtr(ast.Node.CharLiteral, "base", base);
return renderToken(tree, stream, char_literal.token, indent, start_col, space);
},
- ast.Node.Id.BoolLiteral => {
+ .BoolLiteral => {
const bool_literal = @fieldParentPtr(ast.Node.CharLiteral, "base", base);
return renderToken(tree, stream, bool_literal.token, indent, start_col, space);
},
- ast.Node.Id.NullLiteral => {
+ .NullLiteral => {
const null_literal = @fieldParentPtr(ast.Node.NullLiteral, "base", base);
return renderToken(tree, stream, null_literal.token, indent, start_col, space);
},
- ast.Node.Id.Unreachable => {
+ .Unreachable => {
const unreachable_node = @fieldParentPtr(ast.Node.Unreachable, "base", base);
return renderToken(tree, stream, unreachable_node.token, indent, start_col, space);
},
- ast.Node.Id.ErrorType => {
+ .ErrorType => {
const error_type = @fieldParentPtr(ast.Node.ErrorType, "base", base);
return renderToken(tree, stream, error_type.token, indent, start_col, space);
},
- ast.Node.Id.VarType => {
+ .VarType => {
const var_type = @fieldParentPtr(ast.Node.VarType, "base", base);
return renderToken(tree, stream, var_type.token, indent, start_col, space);
},
- ast.Node.Id.ContainerDecl => {
+ .ContainerDecl => {
const container_decl = @fieldParentPtr(ast.Node.ContainerDecl, "base", base);
if (container_decl.layout_token) |layout_token| {
@@ -1159,7 +1159,7 @@ fn renderExpression(
}
},
- ast.Node.Id.ErrorSetDecl => {
+ .ErrorSetDecl => {
const err_set_decl = @fieldParentPtr(ast.Node.ErrorSetDecl, "base", base);
const lbrace = tree.nextToken(err_set_decl.error_token);
@@ -1209,20 +1209,20 @@ fn renderExpression(
return renderToken(tree, stream, err_set_decl.rbrace_token, indent, start_col, space); // }
},
- ast.Node.Id.ErrorTag => {
+ .ErrorTag => {
const tag = @fieldParentPtr(ast.Node.ErrorTag, "base", base);
try renderDocComments(tree, stream, tag, indent, start_col);
return renderToken(tree, stream, tag.name_token, indent, start_col, space); // name
},
- ast.Node.Id.MultilineStringLiteral => {
+ .MultilineStringLiteral => {
// TODO: Don't indent in this function, but let the caller indent.
// If this has been implemented, a lot of hacky solutions in i.e. ArrayInit and FunctionCall can be removed
const multiline_str_literal = @fieldParentPtr(ast.Node.MultilineStringLiteral, "base", base);
var skip_first_indent = true;
- if (tree.tokens.at(multiline_str_literal.firstToken() - 1).id != Token.Id.LineComment) {
+ if (tree.tokens.at(multiline_str_literal.firstToken() - 1).id != .LineComment) {
try stream.print("\n");
skip_first_indent = false;
}
@@ -1238,12 +1238,12 @@ fn renderExpression(
}
try stream.writeByteNTimes(' ', indent);
},
- ast.Node.Id.UndefinedLiteral => {
+ .UndefinedLiteral => {
const undefined_literal = @fieldParentPtr(ast.Node.UndefinedLiteral, "base", base);
return renderToken(tree, stream, undefined_literal.token, indent, start_col, space);
},
- ast.Node.Id.BuiltinCall => {
+ .BuiltinCall => {
const builtin_call = @fieldParentPtr(ast.Node.BuiltinCall, "base", base);
try renderToken(tree, stream, builtin_call.builtin_token, indent, start_col, Space.None); // @name
@@ -1261,12 +1261,12 @@ fn renderExpression(
return renderToken(tree, stream, builtin_call.rparen_token, indent, start_col, space); // )
},
- ast.Node.Id.FnProto => {
+ .FnProto => {
const fn_proto = @fieldParentPtr(ast.Node.FnProto, "base", base);
if (fn_proto.visib_token) |visib_token_index| {
const visib_token = tree.tokens.at(visib_token_index);
- assert(visib_token.id == Token.Id.Keyword_pub or visib_token.id == Token.Id.Keyword_export);
+ assert(visib_token.id == .Keyword_pub or visib_token.id == .Keyword_export);
try renderToken(tree, stream, visib_token_index, indent, start_col, Space.Space); // pub
}
@@ -1363,7 +1363,7 @@ fn renderExpression(
}
},
- ast.Node.Id.AnyFrameType => {
+ .AnyFrameType => {
const anyframe_type = @fieldParentPtr(ast.Node.AnyFrameType, "base", base);
if (anyframe_type.result) |result| {
@@ -1375,9 +1375,9 @@ fn renderExpression(
}
},
- ast.Node.Id.DocComment => unreachable, // doc comments are attached to nodes
+ .DocComment => unreachable, // doc comments are attached to nodes
- ast.Node.Id.Switch => {
+ .Switch => {
const switch_node = @fieldParentPtr(ast.Node.Switch, "base", base);
try renderToken(tree, stream, switch_node.switch_token, indent, start_col, Space.Space); // switch
@@ -1414,14 +1414,14 @@ fn renderExpression(
return renderToken(tree, stream, switch_node.rbrace, indent, start_col, space); // }
},
- ast.Node.Id.SwitchCase => {
+ .SwitchCase => {
const switch_case = @fieldParentPtr(ast.Node.SwitchCase, "base", base);
assert(switch_case.items.len != 0);
const src_has_trailing_comma = blk: {
const last_node = switch_case.items.at(switch_case.items.len - 1).*;
const maybe_comma = tree.nextToken(last_node.lastToken());
- break :blk tree.tokens.at(maybe_comma).id == Token.Id.Comma;
+ break :blk tree.tokens.at(maybe_comma).id == .Comma;
};
if (switch_case.items.len == 1 or !src_has_trailing_comma) {
@@ -1464,11 +1464,11 @@ fn renderExpression(
return renderExpression(allocator, stream, tree, indent, start_col, switch_case.expr, space);
},
- ast.Node.Id.SwitchElse => {
+ .SwitchElse => {
const switch_else = @fieldParentPtr(ast.Node.SwitchElse, "base", base);
return renderToken(tree, stream, switch_else.token, indent, start_col, space);
},
- ast.Node.Id.Else => {
+ .Else => {
const else_node = @fieldParentPtr(ast.Node.Else, "base", base);
const body_is_block = nodeIsBlock(else_node.body);
@@ -1491,7 +1491,7 @@ fn renderExpression(
return renderExpression(allocator, stream, tree, indent, start_col, else_node.body, space);
},
- ast.Node.Id.While => {
+ .While => {
const while_node = @fieldParentPtr(ast.Node.While, "base", base);
if (while_node.label) |label| {
@@ -1566,7 +1566,7 @@ fn renderExpression(
}
},
- ast.Node.Id.For => {
+ .For => {
const for_node = @fieldParentPtr(ast.Node.For, "base", base);
if (for_node.label) |label| {
@@ -1584,7 +1584,7 @@ fn renderExpression(
const rparen = tree.nextToken(for_node.array_expr.lastToken());
- const body_is_block = for_node.body.id == ast.Node.Id.Block;
+ const body_is_block = for_node.body.id == .Block;
const src_one_line_to_body = !body_is_block and tree.tokensOnSameLine(rparen, for_node.body.firstToken());
const body_on_same_line = body_is_block or src_one_line_to_body;
@@ -1616,7 +1616,7 @@ fn renderExpression(
}
},
- ast.Node.Id.If => {
+ .If => {
const if_node = @fieldParentPtr(ast.Node.If, "base", base);
const lparen = tree.prevToken(if_node.condition.firstToken());
@@ -1627,7 +1627,7 @@ fn renderExpression(
try renderExpression(allocator, stream, tree, indent, start_col, if_node.condition, Space.None); // condition
- const body_is_if_block = if_node.body.id == ast.Node.Id.If;
+ const body_is_if_block = if_node.body.id == .If;
const body_is_block = nodeIsBlock(if_node.body);
if (body_is_if_block) {
@@ -1710,7 +1710,7 @@ fn renderExpression(
}
},
- ast.Node.Id.Asm => {
+ .Asm => {
const asm_node = @fieldParentPtr(ast.Node.Asm, "base", base);
try renderToken(tree, stream, asm_node.asm_token, indent, start_col, Space.Space); // asm
@@ -1731,7 +1731,7 @@ fn renderExpression(
const indent_once = indent + indent_delta;
- if (asm_node.template.id == ast.Node.Id.MultilineStringLiteral) {
+ if (asm_node.template.id == .MultilineStringLiteral) {
// After rendering a multiline string literal the cursor is
// already offset by indent
try stream.writeByteNTimes(' ', indent_delta);
@@ -1773,7 +1773,7 @@ fn renderExpression(
try stream.writeByteNTimes(' ', indent_once);
const comma_or_colon = tree.nextToken(node.lastToken());
break :blk switch (tree.tokens.at(comma_or_colon).id) {
- Token.Id.Comma => tree.nextToken(comma_or_colon),
+ .Comma => tree.nextToken(comma_or_colon),
else => comma_or_colon,
};
}
@@ -1811,7 +1811,7 @@ fn renderExpression(
try stream.writeByteNTimes(' ', indent_once);
const comma_or_colon = tree.nextToken(node.lastToken());
break :blk switch (tree.tokens.at(comma_or_colon).id) {
- Token.Id.Comma => tree.nextToken(comma_or_colon),
+ .Comma => tree.nextToken(comma_or_colon),
else => comma_or_colon,
};
}
@@ -1836,7 +1836,7 @@ fn renderExpression(
}
},
- ast.Node.Id.AsmInput => {
+ .AsmInput => {
const asm_input = @fieldParentPtr(ast.Node.AsmInput, "base", base);
try stream.write("[");
@@ -1848,7 +1848,7 @@ fn renderExpression(
return renderToken(tree, stream, asm_input.lastToken(), indent, start_col, space); // )
},
- ast.Node.Id.AsmOutput => {
+ .AsmOutput => {
const asm_output = @fieldParentPtr(ast.Node.AsmOutput, "base", base);
try stream.write("[");
@@ -1870,19 +1870,19 @@ fn renderExpression(
return renderToken(tree, stream, asm_output.lastToken(), indent, start_col, space); // )
},
- ast.Node.Id.EnumLiteral => {
+ .EnumLiteral => {
const enum_literal = @fieldParentPtr(ast.Node.EnumLiteral, "base", base);
try renderToken(tree, stream, enum_literal.dot, indent, start_col, Space.None); // .
return renderToken(tree, stream, enum_literal.name, indent, start_col, space); // name
},
- ast.Node.Id.ContainerField,
- ast.Node.Id.Root,
- ast.Node.Id.VarDecl,
- ast.Node.Id.Use,
- ast.Node.Id.TestDecl,
- ast.Node.Id.ParamDecl,
+ .ContainerField,
+ .Root,
+ .VarDecl,
+ .Use,
+ .TestDecl,
+ .ParamDecl,
=> unreachable,
}
}
@@ -1951,7 +1951,7 @@ fn renderVarDecl(
}
if (var_decl.init_node) |init_node| {
- const s = if (init_node.id == ast.Node.Id.MultilineStringLiteral) Space.None else Space.Space;
+ const s = if (init_node.id == .MultilineStringLiteral) Space.None else Space.Space;
try renderToken(tree, stream, var_decl.eq_token, indent, start_col, s); // =
try renderExpression(allocator, stream, tree, indent, start_col, init_node, Space.None);
}
@@ -1998,7 +1998,7 @@ fn renderStatement(
base: *ast.Node,
) (@typeOf(stream).Child.Error || Error)!void {
switch (base.id) {
- ast.Node.Id.VarDecl => {
+ .VarDecl => {
const var_decl = @fieldParentPtr(ast.Node.VarDecl, "base", base);
try renderVarDecl(allocator, stream, tree, indent, start_col, var_decl);
},
@@ -2007,7 +2007,7 @@ fn renderStatement(
try renderExpression(allocator, stream, tree, indent, start_col, base, Space.None);
const semicolon_index = tree.nextToken(base.lastToken());
- assert(tree.tokens.at(semicolon_index).id == Token.Id.Semicolon);
+ assert(tree.tokens.at(semicolon_index).id == .Semicolon);
try renderToken(tree, stream, semicolon_index, indent, start_col, Space.Newline);
} else {
try renderExpression(allocator, stream, tree, indent, start_col, base, Space.Newline);
@@ -2054,13 +2054,13 @@ fn renderTokenOffset(
var next_token = tree.tokens.at(token_index + 1);
if (space == Space.Comma) switch (next_token.id) {
- Token.Id.Comma => return renderToken(tree, stream, token_index + 1, indent, start_col, Space.Newline),
- Token.Id.LineComment => {
+ .Comma => return renderToken(tree, stream, token_index + 1, indent, start_col, Space.Newline),
+ .LineComment => {
try stream.write(", ");
return renderToken(tree, stream, token_index + 1, indent, start_col, Space.Newline);
},
else => {
- if (token_index + 2 < tree.tokens.len and tree.tokens.at(token_index + 2).id == Token.Id.MultilineStringLiteralLine) {
+ if (token_index + 2 < tree.tokens.len and tree.tokens.at(token_index + 2).id == .MultilineStringLiteralLine) {
try stream.write(",");
return;
} else {
@@ -2073,7 +2073,7 @@ fn renderTokenOffset(
// Skip over same line doc comments
var offset: usize = 1;
- if (next_token.id == Token.Id.DocComment) {
+ if (next_token.id == .DocComment) {
const loc = tree.tokenLocationPtr(token.end, next_token);
if (loc.line == 0) {
offset += 1;
@@ -2081,11 +2081,11 @@ fn renderTokenOffset(
}
}
- if (next_token.id != Token.Id.LineComment) blk: {
+ if (next_token.id != .LineComment) blk: {
switch (space) {
Space.None, Space.NoNewline => return,
Space.Newline => {
- if (next_token.id == Token.Id.MultilineStringLiteralLine) {
+ if (next_token.id == .MultilineStringLiteralLine) {
return;
} else {
try stream.write("\n");
@@ -2094,7 +2094,7 @@ fn renderTokenOffset(
}
},
Space.Space, Space.SpaceOrOutdent => {
- if (next_token.id == Token.Id.MultilineStringLiteralLine)
+ if (next_token.id == .MultilineStringLiteralLine)
return;
try stream.writeByte(' ');
return;
@@ -2130,13 +2130,13 @@ fn renderTokenOffset(
offset = 2;
token = next_token;
next_token = tree.tokens.at(token_index + offset);
- if (next_token.id != Token.Id.LineComment) {
+ if (next_token.id != .LineComment) {
switch (space) {
Space.None, Space.Space => {
try stream.writeByte('\n');
const after_comment_token = tree.tokens.at(token_index + offset);
const next_line_indent = switch (after_comment_token.id) {
- Token.Id.RParen, Token.Id.RBrace, Token.Id.RBracket => indent,
+ .RParen, .RBrace, .RBracket => indent,
else => indent + indent_delta,
};
try stream.writeByteNTimes(' ', next_line_indent);
@@ -2148,7 +2148,7 @@ fn renderTokenOffset(
start_col.* = indent;
},
Space.Newline => {
- if (next_token.id == Token.Id.MultilineStringLiteralLine) {
+ if (next_token.id == .MultilineStringLiteralLine) {
return;
} else {
try stream.write("\n");
@@ -2174,10 +2174,10 @@ fn renderTokenOffset(
offset += 1;
token = next_token;
next_token = tree.tokens.at(token_index + offset);
- if (next_token.id != Token.Id.LineComment) {
+ if (next_token.id != .LineComment) {
switch (space) {
Space.Newline => {
- if (next_token.id == Token.Id.MultilineStringLiteralLine) {
+ if (next_token.id == .MultilineStringLiteralLine) {
return;
} else {
try stream.write("\n");
@@ -2190,7 +2190,7 @@ fn renderTokenOffset(
const after_comment_token = tree.tokens.at(token_index + offset);
const next_line_indent = switch (after_comment_token.id) {
- Token.Id.RParen, Token.Id.RBrace, Token.Id.RBracket => blk: {
+ .RParen, .RBrace, .RBracket => blk: {
if (indent > indent_delta) {
break :blk indent - indent_delta;
} else {
@@ -2251,11 +2251,11 @@ fn renderDocComments(
fn nodeIsBlock(base: *const ast.Node) bool {
return switch (base.id) {
- ast.Node.Id.Block,
- ast.Node.Id.If,
- ast.Node.Id.For,
- ast.Node.Id.While,
- ast.Node.Id.Switch,
+ .Block,
+ .If,
+ .For,
+ .While,
+ .Switch,
=> true,
else => false,
};