Skip to content

Commit

Permalink
fix corner case in sequences (#3350)
Browse files Browse the repository at this point in the history
  • Loading branch information
alexlamsl committed Mar 20, 2019
1 parent f2286c3 commit 143f905
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 11 deletions.
10 changes: 4 additions & 6 deletions lib/compress.js
Expand Up @@ -4080,12 +4080,10 @@ merge(Compressor.prototype, {
def(AST_ObjectProperty, function(compressor, first_in_statement) {
return this.value.drop_side_effect_free(compressor, first_in_statement);
});
def(AST_Sequence, function(compressor) {
var last = this.tail_node();
var expr = last.drop_side_effect_free(compressor);
if (expr === last) return this;
var expressions = this.expressions.slice(0, -1);
if (expr) expressions.push(expr);
def(AST_Sequence, function(compressor, first_in_statement) {
var expressions = trim(this.expressions, compressor, first_in_statement);
if (expressions === this.expressions) return this;
if (!expressions) return null;
return make_sequence(this, expressions);
});
def(AST_Sub, function(compressor, first_in_statement) {
Expand Down
30 changes: 25 additions & 5 deletions test/compress/sequences.js
Expand Up @@ -924,14 +924,14 @@ call: {
b.c = function() {
console.log(this === b ? "bar" : "baz");
},
a, b(),
b(),
(a, b.c)(),
a, function() {
function() {
console.log(this === a);
}(),
a, new b(),
a, new b.c(),
a, new function() {
new b(),
new b.c(),
new function() {
console.log(this === a);
}();
}
Expand All @@ -944,3 +944,23 @@ call: {
"false",
]
}

missing_link: {
options = {
conditionals: true,
evaluate: true,
sequences: true,
}
input: {
var a = 100;
a;
a++ + (0 ? 2 : 1);
console.log(a);
}
expect: {
var a = 100;
a,
a++,
console.log(a);
}
}

0 comments on commit 143f905

Please sign in to comment.