var head = first.pop();
var def = head.definition;
if (!(def.id in prev)) continue;
- var head_refs = references[def.id];
- if (!head_refs) continue;
+ if (!references[def.id]) continue;
+ var head_refs = {
+ start: references[def.id].start,
+ };
while (def.id in merged) def = merged[def.id];
+ head_refs.end = references[def.id].end;
var skipped = [];
do {
var tail = last.pop();
"1",
]
}
+
+issue_4135: {
+ options = {
+ evaluate: true,
+ inline: true,
+ merge_vars: true,
+ reduce_vars: true,
+ side_effects: true,
+ toplevel: true,
+ unused: true,
+ }
+ input: {
+ var a = 0, b = 0;
+ --b;
+ a++;
+ if (!a)
+ var c = function() {
+ var d = 0;
+ function f() {
+ d && d.p;
+ }
+ f();
+ this;
+ }(a++);
+ console.log(a, b, c);
+ }
+ expect: {
+ var a = 0;
+ 0;
+ a++;
+ if (!a)
+ c = (a++, c = 0, void (c && c.p));
+ var c;
+ console.log(a, -1, c);
+ }
+ expect_stdout: "1 -1 undefined"
+}