From 3de350b24dbae7512b5afd71c1e566137390bf08 Mon Sep 17 00:00:00 2001 From: Dylan Conway Date: Mon, 22 May 2023 11:33:01 -0700 Subject: only merge if kind is `var` --- src/js_parser.zig | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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; -- cgit v1.2.3