improve inline efficiency (#2924)
This commit is contained in:
@@ -4487,6 +4487,8 @@ merge(Compressor.prototype, {
|
||||
})) {
|
||||
return false;
|
||||
}
|
||||
} else if (line instanceof AST_EmptyStatement) {
|
||||
continue;
|
||||
} else if (stat) {
|
||||
return false;
|
||||
} else {
|
||||
|
||||
@@ -292,11 +292,12 @@ issue_2084: {
|
||||
}
|
||||
expect: {
|
||||
var c = 0;
|
||||
!function(c) {
|
||||
c = 1 + c,
|
||||
!function() {
|
||||
var c;
|
||||
c = 1 + (c = -1),
|
||||
c = 1 + (c = 0),
|
||||
0 !== 23..toString() && (c = 1 + c);
|
||||
}(-1),
|
||||
}(),
|
||||
console.log(c);
|
||||
}
|
||||
expect_stdout: "0"
|
||||
@@ -1051,11 +1052,9 @@ issue_2616: {
|
||||
}
|
||||
expect: {
|
||||
var c = "FAIL";
|
||||
(function() {
|
||||
!function(NaN) {
|
||||
(true << NaN) - 0/0 || (c = "PASS");
|
||||
}([]);
|
||||
})();
|
||||
console.log(c);
|
||||
}
|
||||
expect_stdout: "PASS"
|
||||
@@ -1086,13 +1085,11 @@ issue_2620_1: {
|
||||
}
|
||||
expect: {
|
||||
var c = "FAIL";
|
||||
(function() {
|
||||
(function(a) {
|
||||
!function(a) {
|
||||
if (function(a) {
|
||||
a && a();
|
||||
}(), a) c = "PASS";
|
||||
})(1);
|
||||
})(),
|
||||
}(1),
|
||||
console.log(c);
|
||||
}
|
||||
expect_stdout: "PASS"
|
||||
@@ -1160,8 +1157,7 @@ issue_2620_3: {
|
||||
}
|
||||
expect: {
|
||||
var c = "FAIL";
|
||||
(function() {
|
||||
(function(a, NaN) {
|
||||
!function(a, NaN) {
|
||||
(function() {
|
||||
switch (a) {
|
||||
case a:
|
||||
@@ -1170,8 +1166,7 @@ issue_2620_3: {
|
||||
break;
|
||||
}
|
||||
})();
|
||||
})(NaN);
|
||||
})();
|
||||
}(NaN);
|
||||
console.log(c);
|
||||
}
|
||||
expect_stdout: "PASS"
|
||||
@@ -1341,11 +1336,9 @@ issue_2630_4: {
|
||||
}
|
||||
expect: {
|
||||
var x = 3, a = 1, b = 2;
|
||||
(function() {
|
||||
(function() {
|
||||
!function() {
|
||||
while (--x >= 0 && void (b += ++a));
|
||||
})();
|
||||
})();
|
||||
}();
|
||||
console.log(a);
|
||||
}
|
||||
expect_stdout: "2"
|
||||
|
||||
@@ -226,7 +226,7 @@ describe("minify", function() {
|
||||
content: "inline"
|
||||
}
|
||||
});
|
||||
assert.strictEqual(result.code, "var bar=function(){return function(bar){return bar}}();");
|
||||
assert.strictEqual(result.code, "var bar=function(bar){return bar};");
|
||||
assert.strictEqual(warnings.length, 1);
|
||||
assert.strictEqual(warnings[0], "inline source map not found");
|
||||
} finally {
|
||||
|
||||
Reference in New Issue
Block a user