apply collapse_vars to loop conditions (#2712)
This commit is contained in:
@@ -1171,10 +1171,14 @@ merge(Compressor.prototype, {
|
|||||||
extract_candidates(expr.alternative);
|
extract_candidates(expr.alternative);
|
||||||
} else if (expr instanceof AST_Definitions) {
|
} else if (expr instanceof AST_Definitions) {
|
||||||
expr.definitions.forEach(extract_candidates);
|
expr.definitions.forEach(extract_candidates);
|
||||||
|
} else if (expr instanceof AST_DWLoop) {
|
||||||
|
extract_candidates(expr.condition);
|
||||||
} else if (expr instanceof AST_Exit) {
|
} else if (expr instanceof AST_Exit) {
|
||||||
if (expr.value) extract_candidates(expr.value);
|
if (expr.value) extract_candidates(expr.value);
|
||||||
} else if (expr instanceof AST_For) {
|
} else if (expr instanceof AST_For) {
|
||||||
if (expr.init) extract_candidates(expr.init);
|
if (expr.init) extract_candidates(expr.init);
|
||||||
|
if (expr.condition) extract_candidates(expr.condition);
|
||||||
|
if (expr.step) extract_candidates(expr.step);
|
||||||
} else if (expr instanceof AST_If) {
|
} else if (expr instanceof AST_If) {
|
||||||
extract_candidates(expr.condition);
|
extract_candidates(expr.condition);
|
||||||
} else if (expr instanceof AST_Sequence) {
|
} else if (expr instanceof AST_Sequence) {
|
||||||
@@ -1205,6 +1209,7 @@ merge(Compressor.prototype, {
|
|||||||
if (parent instanceof AST_Conditional) return node;
|
if (parent instanceof AST_Conditional) return node;
|
||||||
if (parent instanceof AST_Exit) return node;
|
if (parent instanceof AST_Exit) return node;
|
||||||
if (parent instanceof AST_If) return node;
|
if (parent instanceof AST_If) return node;
|
||||||
|
if (parent instanceof AST_IterationStatement) return node;
|
||||||
if (parent instanceof AST_Sequence) return find_stop(parent, level + 1);
|
if (parent instanceof AST_Sequence) return find_stop(parent, level + 1);
|
||||||
if (parent instanceof AST_Switch) return node;
|
if (parent instanceof AST_Switch) return node;
|
||||||
if (parent instanceof AST_VarDef) return node;
|
if (parent instanceof AST_VarDef) return node;
|
||||||
|
|||||||
@@ -1416,7 +1416,7 @@ issue_2630_5: {
|
|||||||
!function() {
|
!function() {
|
||||||
do {
|
do {
|
||||||
c *= 10;
|
c *= 10;
|
||||||
} while (c += 3, (c = 2 + c) < 100);
|
} while ((c = 2 + (c += 3)) < 100);
|
||||||
}();
|
}();
|
||||||
console.log(c);
|
console.log(c);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user