authorgravatar for me@tadeo.caTadeo Kondrak <me@tadeo.ca> 2020-08-27 15:15:47-06:00
committergravatar for me@tadeo.caTadeo Kondrak <me@tadeo.ca> 2020-08-27 15:21:19-06:00
log3c87872dc5d7574e0e845568dc753ec48cb0cba0
treec34f0f9cbcacba416010b1c727e29fd7f1b699ba
parentce8a3ef2de347c50d173948b335e1ee205723974
signaturelock-open Commit is signed but in an unrecognized format.

stage2: Update to new std.meta.TrailerFlags API


3 files changed, 34 insertions(+), 34 deletions(-)

src-self-hosted/Module.zig+23-23
......@@ -1256,8 +1256,8 @@ fn astGenAndAnalyzeDecl(self: *Module, decl: *Decl) !bool {
12561256 };
12571257 defer fn_type_scope.instructions.deinit(self.gpa);
12581258
1259 decl.is_pub = fn_proto.getTrailer("visib_token") != null;
1260 const body_node = fn_proto.getTrailer("body_node") orelse
1259 decl.is_pub = fn_proto.getTrailer(.visib_token) != null;
1260 const body_node = fn_proto.getTrailer(.body_node) orelse
12611261 return self.failTok(&fn_type_scope.base, fn_proto.fn_token, "TODO implement extern functions", .{});
12621262
12631263 const param_decls = fn_proto.params();
......@@ -1276,19 +1276,19 @@ fn astGenAndAnalyzeDecl(self: *Module, decl: *Decl) !bool {
12761276 };
12771277 param_types[i] = try astgen.expr(self, &fn_type_scope.base, type_type_rl, param_type_node);
12781278 }
1279 if (fn_proto.getTrailer("var_args_token")) |var_args_token| {
1279 if (fn_proto.getTrailer(.var_args_token)) |var_args_token| {
12801280 return self.failTok(&fn_type_scope.base, var_args_token, "TODO implement var args", .{});
12811281 }
1282 if (fn_proto.getTrailer("lib_name")) |lib_name| {
1282 if (fn_proto.getTrailer(.lib_name)) |lib_name| {
12831283 return self.failNode(&fn_type_scope.base, lib_name, "TODO implement function library name", .{});
12841284 }
1285 if (fn_proto.getTrailer("align_expr")) |align_expr| {
1285 if (fn_proto.getTrailer(.align_expr)) |align_expr| {
12861286 return self.failNode(&fn_type_scope.base, align_expr, "TODO implement function align expression", .{});
12871287 }
1288 if (fn_proto.getTrailer("section_expr")) |sect_expr| {
1288 if (fn_proto.getTrailer(.section_expr)) |sect_expr| {
12891289 return self.failNode(&fn_type_scope.base, sect_expr, "TODO implement function section expression", .{});
12901290 }
1291 if (fn_proto.getTrailer("callconv_expr")) |callconv_expr| {
1291 if (fn_proto.getTrailer(.callconv_expr)) |callconv_expr| {
12921292 return self.failNode(
12931293 &fn_type_scope.base,
12941294 callconv_expr,
......@@ -1430,10 +1430,10 @@ fn astGenAndAnalyzeDecl(self: *Module, decl: *Decl) !bool {
14301430 self.bin_file.freeDecl(decl);
14311431 }
14321432
1433 if (fn_proto.getTrailer("extern_export_inline_token")) |maybe_export_token| {
1433 if (fn_proto.getTrailer(.extern_export_inline_token)) |maybe_export_token| {
14341434 if (tree.token_ids[maybe_export_token] == .Keyword_export) {
14351435 const export_src = tree.token_locs[maybe_export_token].start;
1436 const name_loc = tree.token_locs[fn_proto.getTrailer("name_token").?];
1436 const name_loc = tree.token_locs[fn_proto.getTrailer(.name_token).?];
14371437 const name = tree.tokenSliceLoc(name_loc);
14381438 // The scope needs to have the decl in it.
14391439 try self.analyzeExport(&block_scope.base, export_src, name, decl);
......@@ -1460,37 +1460,37 @@ fn astGenAndAnalyzeDecl(self: *Module, decl: *Decl) !bool {
14601460 };
14611461 defer block_scope.instructions.deinit(self.gpa);
14621462
1463 decl.is_pub = var_decl.getTrailer("visib_token") != null;
1463 decl.is_pub = var_decl.getTrailer(.visib_token) != null;
14641464 const is_extern = blk: {
1465 const maybe_extern_token = var_decl.getTrailer("extern_export_token") orelse
1465 const maybe_extern_token = var_decl.getTrailer(.extern_export_token) orelse
14661466 break :blk false;
14671467 if (tree.token_ids[maybe_extern_token] != .Keyword_extern) break :blk false;
1468 if (var_decl.getTrailer("init_node")) |some| {
1468 if (var_decl.getTrailer(.init_node)) |some| {
14691469 return self.failNode(&block_scope.base, some, "extern variables have no initializers", .{});
14701470 }
14711471 break :blk true;
14721472 };
1473 if (var_decl.getTrailer("lib_name")) |lib_name| {
1473 if (var_decl.getTrailer(.lib_name)) |lib_name| {
14741474 assert(is_extern);
14751475 return self.failNode(&block_scope.base, lib_name, "TODO implement function library name", .{});
14761476 }
14771477 const is_mutable = tree.token_ids[var_decl.mut_token] == .Keyword_var;
1478 const is_threadlocal = if (var_decl.getTrailer("thread_local_token")) |some| blk: {
1478 const is_threadlocal = if (var_decl.getTrailer(.thread_local_token)) |some| blk: {
14791479 if (!is_mutable) {
14801480 return self.failTok(&block_scope.base, some, "threadlocal variable cannot be constant", .{});
14811481 }
14821482 break :blk true;
14831483 } else false;
1484 assert(var_decl.getTrailer("comptime_token") == null);
1485 if (var_decl.getTrailer("align_node")) |align_expr| {
1484 assert(var_decl.getTrailer(.comptime_token) == null);
1485 if (var_decl.getTrailer(.align_node)) |align_expr| {
14861486 return self.failNode(&block_scope.base, align_expr, "TODO implement function align expression", .{});
14871487 }
1488 if (var_decl.getTrailer("section_node")) |sect_expr| {
1488 if (var_decl.getTrailer(.section_node)) |sect_expr| {
14891489 return self.failNode(&block_scope.base, sect_expr, "TODO implement function section expression", .{});
14901490 }
14911491
14921492 const explicit_type = blk: {
1493 const type_node = var_decl.getTrailer("type_node") orelse
1493 const type_node = var_decl.getTrailer(.type_node) orelse
14941494 break :blk null;
14951495
14961496 // Temporary arena for the zir instructions.
......@@ -1517,7 +1517,7 @@ fn astGenAndAnalyzeDecl(self: *Module, decl: *Decl) !bool {
15171517 };
15181518
15191519 var var_type: Type = undefined;
1520 const value: ?Value = if (var_decl.getTrailer("init_node")) |init_node| blk: {
1520 const value: ?Value = if (var_decl.getTrailer(.init_node)) |init_node| blk: {
15211521 var gen_scope_arena = std.heap.ArenaAllocator.init(self.gpa);
15221522 defer gen_scope_arena.deinit();
15231523 var gen_scope: Scope.GenZIR = .{
......@@ -1602,7 +1602,7 @@ fn astGenAndAnalyzeDecl(self: *Module, decl: *Decl) !bool {
16021602 decl.analysis = .complete;
16031603 decl.generation = self.generation;
16041604
1605 if (var_decl.getTrailer("extern_export_token")) |maybe_export_token| {
1605 if (var_decl.getTrailer(.extern_export_token)) |maybe_export_token| {
16061606 if (tree.token_ids[maybe_export_token] == .Keyword_export) {
16071607 const export_src = tree.token_locs[maybe_export_token].start;
16081608 const name_loc = tree.token_locs[var_decl.name_token];
......@@ -1768,7 +1768,7 @@ fn analyzeRootSrcFile(self: *Module, root_scope: *Scope.File) !void {
17681768 for (decls) |src_decl, decl_i| {
17691769 if (src_decl.cast(ast.Node.FnProto)) |fn_proto| {
17701770 // We will create a Decl for it regardless of analysis status.
1771 const name_tok = fn_proto.getTrailer("name_token") orelse {
1771 const name_tok = fn_proto.getTrailer(.name_token) orelse {
17721772 @panic("TODO missing function name");
17731773 };
17741774
......@@ -1804,7 +1804,7 @@ fn analyzeRootSrcFile(self: *Module, root_scope: *Scope.File) !void {
18041804 } else {
18051805 const new_decl = try self.createNewDecl(&root_scope.base, name, decl_i, name_hash, contents_hash);
18061806 root_scope.decls.appendAssumeCapacity(new_decl);
1807 if (fn_proto.getTrailer("extern_export_inline_token")) |maybe_export_token| {
1807 if (fn_proto.getTrailer(.extern_export_inline_token)) |maybe_export_token| {
18081808 if (tree.token_ids[maybe_export_token] == .Keyword_export) {
18091809 self.work_queue.writeItemAssumeCapacity(.{ .analyze_decl = new_decl });
18101810 }
......@@ -1831,7 +1831,7 @@ fn analyzeRootSrcFile(self: *Module, root_scope: *Scope.File) !void {
18311831 } else {
18321832 const new_decl = try self.createNewDecl(&root_scope.base, name, decl_i, name_hash, contents_hash);
18331833 root_scope.decls.appendAssumeCapacity(new_decl);
1834 if (var_decl.getTrailer("extern_export_token")) |maybe_export_token| {
1834 if (var_decl.getTrailer(.extern_export_token)) |maybe_export_token| {
18351835 if (tree.token_ids[maybe_export_token] == .Keyword_export) {
18361836 self.work_queue.writeItemAssumeCapacity(.{ .analyze_decl = new_decl });
18371837 }
src-self-hosted/astgen.zig+6-6
......@@ -451,16 +451,16 @@ fn varDecl(
451451 block_arena: *Allocator,
452452) InnerError!*Scope {
453453 // TODO implement detection of shadowing
454 if (node.getTrailer("comptime_token")) |comptime_token| {
454 if (node.getTrailer(.comptime_token)) |comptime_token| {
455455 return mod.failTok(scope, comptime_token, "TODO implement comptime locals", .{});
456456 }
457 if (node.getTrailer("align_node")) |align_node| {
457 if (node.getTrailer(.align_node)) |align_node| {
458458 return mod.failNode(scope, align_node, "TODO implement alignment on locals", .{});
459459 }
460460 const tree = scope.tree();
461461 const name_src = tree.token_locs[node.name_token].start;
462462 const ident_name = try identifierTokenString(mod, scope, node.name_token);
463 const init_node = node.getTrailer("init_node") orelse
463 const init_node = node.getTrailer(.init_node) orelse
464464 return mod.fail(scope, name_src, "variables must be initialized", .{});
465465
466466 switch (tree.token_ids[node.mut_token]) {
......@@ -469,7 +469,7 @@ fn varDecl(
469469 // or an rvalue as a result location. If it is an rvalue, we can use the instruction as
470470 // the variable, no memory location needed.
471471 const result_loc = if (nodeMayNeedMemoryLocation(init_node)) r: {
472 if (node.getTrailer("type_node")) |type_node| {
472 if (node.getTrailer(.type_node)) |type_node| {
473473 const type_inst = try typeExpr(mod, scope, type_node);
474474 const alloc = try addZIRUnOp(mod, scope, name_src, .alloc, type_inst);
475475 break :r ResultLoc{ .ptr = alloc };
......@@ -478,7 +478,7 @@ fn varDecl(
478478 break :r ResultLoc{ .inferred_ptr = alloc };
479479 }
480480 } else r: {
481 if (node.getTrailer("type_node")) |type_node|
481 if (node.getTrailer(.type_node)) |type_node|
482482 break :r ResultLoc{ .ty = try typeExpr(mod, scope, type_node) }
483483 else
484484 break :r .none;
......@@ -494,7 +494,7 @@ fn varDecl(
494494 return &sub_scope.base;
495495 },
496496 .Keyword_var => {
497 const var_data: struct { result_loc: ResultLoc, alloc: *zir.Inst } = if (node.getTrailer("type_node")) |type_node| a: {
497 const var_data: struct { result_loc: ResultLoc, alloc: *zir.Inst } = if (node.getTrailer(.type_node)) |type_node| a: {
498498 const type_inst = try typeExpr(mod, scope, type_node);
499499 const alloc = try addZIRUnOp(mod, scope, name_src, .alloc, type_inst);
500500 break :a .{ .alloc = alloc, .result_loc = .{ .ptr = alloc } };
src-self-hosted/translate_c.zig+5-5
......@@ -675,7 +675,7 @@ fn visitFnDecl(c: *Context, fn_decl: *const ZigClangFunctionDecl) Error!void {
675675 }
676676
677677 const body_node = try block_scope.complete(rp.c);
678 proto_node.setTrailer("body_node", body_node);
678 proto_node.setTrailer(.body_node, body_node);
679679 return addTopLevelDecl(c, fn_name, &proto_node.base);
680680}
681681
......@@ -4493,7 +4493,7 @@ fn transCreateNodeMacroFn(c: *Context, name: []const u8, ref: *ast.Node, proto_a
44934493 const block_lbrace = try appendToken(c, .LBrace, "{");
44944494
44954495 const return_kw = try appendToken(c, .Keyword_return, "return");
4496 const unwrap_expr = try transCreateNodeUnwrapNull(c, ref.cast(ast.Node.VarDecl).?.getTrailer("init_node").?);
4496 const unwrap_expr = try transCreateNodeUnwrapNull(c, ref.cast(ast.Node.VarDecl).?.getTrailer(.init_node).?);
44974497
44984498 const call_expr = try c.createCall(unwrap_expr, fn_params.items.len);
44994499 const call_params = call_expr.params();
......@@ -6361,7 +6361,7 @@ fn getContainer(c: *Context, node: *ast.Node) ?*ast.Node {
63616361 const ident = node.castTag(.Identifier).?;
63626362 if (c.global_scope.sym_table.get(tokenSlice(c, ident.token))) |value| {
63636363 if (value.cast(ast.Node.VarDecl)) |var_decl|
6364 return getContainer(c, var_decl.getTrailer("init_node").?);
6364 return getContainer(c, var_decl.getTrailer(.init_node).?);
63656365 }
63666366 },
63676367
......@@ -6390,7 +6390,7 @@ fn getContainerTypeOf(c: *Context, ref: *ast.Node) ?*ast.Node {
63906390 if (ref.castTag(.Identifier)) |ident| {
63916391 if (c.global_scope.sym_table.get(tokenSlice(c, ident.token))) |value| {
63926392 if (value.cast(ast.Node.VarDecl)) |var_decl| {
6393 if (var_decl.getTrailer("type_node")) |ty|
6393 if (var_decl.getTrailer(.type_node)) |ty|
63946394 return getContainer(c, ty);
63956395 }
63966396 }
......@@ -6412,7 +6412,7 @@ fn getContainerTypeOf(c: *Context, ref: *ast.Node) ?*ast.Node {
64126412}
64136413
64146414fn getFnProto(c: *Context, ref: *ast.Node) ?*ast.Node.FnProto {
6415 const init = if (ref.cast(ast.Node.VarDecl)) |v| v.getTrailer("init_node").? else return null;
6415 const init = if (ref.cast(ast.Node.VarDecl)) |v| v.getTrailer(.init_node).? else return null;
64166416 if (getContainerTypeOf(c, init)) |ty_node| {
64176417 if (ty_node.castTag(.OptionalType)) |prefix| {
64186418 if (prefix.rhs.cast(ast.Node.FnProto)) |fn_proto| {