diff options
author | 2023-05-22 11:33:01 -0700 | |
---|---|---|
committer | 2023-05-22 11:33:01 -0700 | |
commit | 3de350b24dbae7512b5afd71c1e566137390bf08 (patch) | |
tree | 01a4613c65d8144030ed9f115e2db411791a7600 /src/js_parser.zig | |
parent | 2e54601a2d9ea888eb65235cbcb8262dcfcf6d75 (diff) | |
download | bun-3de350b24dbae7512b5afd71c1e566137390bf08.tar.gz bun-3de350b24dbae7512b5afd71c1e566137390bf08.tar.zst bun-3de350b24dbae7512b5afd71c1e566137390bf08.zip |
only merge if kind is `var`
Diffstat (limited to 'src/js_parser.zig')
-rw-r--r-- | src/js_parser.zig | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/js_parser.zig b/src/js_parser.zig index 31e036bbb..91631d1f6 100644 --- a/src/js_parser.zig +++ b/src/js_parser.zig @@ -20378,7 +20378,10 @@ fn NewParser_( (prev_stmt.data == .s_local and s_expr.value.data == .e_binary and prev_stmt.data.s_local.decls.len == 1 and - s_expr.value.data.e_binary.op == .bin_assign) + s_expr.value.data.e_binary.op == .bin_assign and + // we can only do this with var because var is hoisted + // the statment we are merging into may use the statement before its defined. + prev_stmt.data.s_local.kind == .k_var) { var prev_local = prev_stmt.data.s_local; var bin_assign = s_expr.value.data.e_binary; |