aboutsummaryrefslogtreecommitdiff
path: root/src/js_parser.zig
diff options
context:
space:
mode:
authorGravatar Dylan Conway <dylan.conway567@gmail.com> 2023-05-22 11:33:01 -0700
committerGravatar Dylan Conway <dylan.conway567@gmail.com> 2023-05-22 11:33:01 -0700
commit3de350b24dbae7512b5afd71c1e566137390bf08 (patch)
tree01a4613c65d8144030ed9f115e2db411791a7600 /src/js_parser.zig
parent2e54601a2d9ea888eb65235cbcb8262dcfcf6d75 (diff)
downloadbun-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.zig5
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;