diff options
author | 2023-08-22 21:54:59 -0700 | |
---|---|---|
committer | 2023-08-22 21:54:59 -0700 | |
commit | 8518fbb573dc3359179c885cb5d79f7185c88ee4 (patch) | |
tree | 6389633c913220fe8d9df144e5a531812fddf5fe | |
parent | d86084dd8e69d41ae36303024e330e257df534b7 (diff) | |
download | bun-8518fbb573dc3359179c885cb5d79f7185c88ee4.tar.gz bun-8518fbb573dc3359179c885cb5d79f7185c88ee4.tar.zst bun-8518fbb573dc3359179c885cb5d79f7185c88ee4.zip |
fix yield (#4264)
-rw-r--r-- | src/js_parser.zig | 2 | ||||
-rw-r--r-- | test/bundler/bundler_edgecase.test.ts | 16 |
2 files changed, 17 insertions, 1 deletions
diff --git a/src/js_parser.zig b/src/js_parser.zig index ebe2a01c9..bd3c0f140 100644 --- a/src/js_parser.zig +++ b/src/js_parser.zig @@ -11325,7 +11325,7 @@ fn NewParser_( var value: ?ExprNodeIndex = null; switch (p.lexer.token) { - .t_close_brace, .t_close_paren, .t_colon, .t_comma, .t_semicolon => {}, + .t_close_brace, .t_close_paren, .t_close_bracket, .t_colon, .t_comma, .t_semicolon => {}, else => { if (isStar or !p.lexer.has_newline_before) { value = try p.parseExpr(.yield); diff --git a/test/bundler/bundler_edgecase.test.ts b/test/bundler/bundler_edgecase.test.ts index de2482907..0cbb97b1e 100644 --- a/test/bundler/bundler_edgecase.test.ts +++ b/test/bundler/bundler_edgecase.test.ts @@ -952,4 +952,20 @@ describe("bundler", () => { stdout: "pass", }, }); + itBundled("edgecase/YieldKeyword", { + files: { + "/entry.js": /* js */ ` + function* foo() { + yield 1; + [yield]; + yield yield yield; + [yield * 2]; + [yield (yield)]; + { x: yield }; + (yield).hello + yield+1 + } + `, + }, + }); }); |