diff options
Diffstat (limited to 'lib/std')
| -rw-r--r-- | lib/std/zig/ast.zig | 1 | ||||
| -rw-r--r-- | lib/std/zig/parse.zig | 16 |
2 files changed, 14 insertions, 3 deletions
diff --git a/lib/std/zig/ast.zig b/lib/std/zig/ast.zig index 711806b810..5411519667 100644 --- a/lib/std/zig/ast.zig +++ b/lib/std/zig/ast.zig @@ -1081,7 +1081,6 @@ pub const Node = struct { pub const Noasync = struct { base: Node = Node{ .id = .Noasync }, - doc_comments: ?*DocComment, noasync_token: TokenIndex, expr: *Node, diff --git a/lib/std/zig/parse.zig b/lib/std/zig/parse.zig index 5392c18dfe..9a574c6231 100644 --- a/lib/std/zig/parse.zig +++ b/lib/std/zig/parse.zig @@ -462,6 +462,7 @@ fn parseContainerField(arena: *Allocator, it: *TokenIterator, tree: *Tree) !?*No /// Statement /// <- KEYWORD_comptime? VarDecl /// / KEYWORD_comptime BlockExprStatement +/// / KEYWORD_noasync BlockExprStatement /// / KEYWORD_suspend (SEMICOLON / BlockExprStatement) /// / KEYWORD_defer BlockExprStatement /// / KEYWORD_errdefer BlockExprStatement @@ -493,6 +494,19 @@ fn parseStatement(arena: *Allocator, it: *TokenIterator, tree: *Tree) Error!?*No return &node.base; } + if (eatToken(it, .Keyword_noasync)) |noasync_token| { + const block_expr = try expectNode(arena, it, tree, parseBlockExprStatement, .{ + .ExpectedBlockOrAssignment = .{ .token = it.index }, + }); + + const node = try arena.create(Node.Noasync); + node.* = .{ + .noasync_token = noasync_token, + .expr = block_expr, + }; + return &node.base; + } + if (eatToken(it, .Keyword_suspend)) |suspend_token| { const semicolon = eatToken(it, .Semicolon); @@ -898,7 +912,6 @@ fn parsePrimaryExpr(arena: *Allocator, it: *TokenIterator, tree: *Tree) !?*Node }); const node = try arena.create(Node.Noasync); node.* = .{ - .doc_comments = null, .noasync_token = token, .expr = expr_node, }; @@ -1280,7 +1293,6 @@ fn parsePrimaryTypeExpr(arena: *Allocator, it: *TokenIterator, tree: *Tree) !?*N const expr = (try parseTypeExpr(arena, it, tree)) orelse return null; const node = try arena.create(Node.Noasync); node.* = .{ - .doc_comments = null, .noasync_token = token, .expr = expr, }; |
