@@ -1501,9 +1501,9 @@ merge(Compressor.prototype, {
|
|||||||
// Skip (non-executed) functions
|
// Skip (non-executed) functions
|
||||||
if (node instanceof AST_Scope) return node;
|
if (node instanceof AST_Scope) return node;
|
||||||
// Stop upon collision with block-scoped variables
|
// Stop upon collision with block-scoped variables
|
||||||
if (node.variables && !node.variables.all(function(def) {
|
if (!(node.variables && node.variables.all(function(def) {
|
||||||
return !lvalues.has(def.name);
|
return !lvalues.has(def.name);
|
||||||
})) {
|
}))) {
|
||||||
abort = true;
|
abort = true;
|
||||||
return node;
|
return node;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1385,8 +1385,6 @@ function OutputStream(options) {
|
|||||||
make_block(stat, output);
|
make_block(stat, output);
|
||||||
} else if (!stat || stat instanceof AST_EmptyStatement) {
|
} else if (!stat || stat instanceof AST_EmptyStatement) {
|
||||||
output.force_semicolon();
|
output.force_semicolon();
|
||||||
} else if (stat instanceof AST_Const) {
|
|
||||||
make_block(stat, output);
|
|
||||||
} else {
|
} else {
|
||||||
stat.print(output);
|
stat.print(output);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1009,3 +1009,26 @@ issue_4212_2: {
|
|||||||
}
|
}
|
||||||
expect_stdout: true
|
expect_stdout: true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
issue_4216: {
|
||||||
|
options = {
|
||||||
|
collapse_vars: true,
|
||||||
|
conditionals: true,
|
||||||
|
dead_code: true,
|
||||||
|
evaluate: true,
|
||||||
|
}
|
||||||
|
input: {
|
||||||
|
if (a = 0) {
|
||||||
|
const a = 0;
|
||||||
|
}
|
||||||
|
console.log(typeof a);
|
||||||
|
}
|
||||||
|
expect: {
|
||||||
|
a = 0;
|
||||||
|
{
|
||||||
|
const a = void 0;
|
||||||
|
}
|
||||||
|
console.log(typeof a);
|
||||||
|
}
|
||||||
|
expect_stdout: true
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user