aboutsummaryrefslogtreecommitdiff
path: root/src/js_parser.zig
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2023-07-08 04:00:55 -0700
committerGravatar GitHub <noreply@github.com> 2023-07-08 04:00:55 -0700
commitfa632c33312ad3b4dca9e4bddaa2af1c7db07597 (patch)
treeeeef15ed9c733fb4eb5b634bd8f51889541a05be /src/js_parser.zig
parent5846ad00edddd89127873bed8df911b48c5bc792 (diff)
downloadbun-fa632c33312ad3b4dca9e4bddaa2af1c7db07597.tar.gz
bun-fa632c33312ad3b4dca9e4bddaa2af1c7db07597.tar.zst
bun-fa632c33312ad3b4dca9e4bddaa2af1c7db07597.zip
Fix bug with decorators not being generated in `export default class` (#3577)
* Fix bug with decorators not being generated in `export default class` * Update decorator-export-default-class-fixture.ts --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
Diffstat (limited to 'src/js_parser.zig')
-rw-r--r--src/js_parser.zig13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/js_parser.zig b/src/js_parser.zig
index 230a09fd0..df5c84294 100644
--- a/src/js_parser.zig
+++ b/src/js_parser.zig
@@ -18146,7 +18146,18 @@ fn NewParser_(
data.default_name = createDefaultName(p, stmt.loc) catch unreachable;
}
- stmts.append(stmt.*) catch unreachable;
+ var class_stmts = p.lowerClass(.{ .stmt = s2 });
+
+ if (class_stmts.len > 1) {
+ std.debug.assert(class_stmts[0].data == .s_class);
+ data.value.stmt = class_stmts[0];
+ stmts.append(stmt.*) catch {};
+ stmts.appendSlice(class_stmts[1..]) catch {};
+ } else {
+ data.value.stmt = class_stmts[0];
+ stmts.append(stmt.*) catch {};
+ }
+
return;
},
else => {},