@@ -6102,7 +6102,6 @@ merge(Compressor.prototype, {
|
|||||||
}));
|
}));
|
||||||
} else {
|
} else {
|
||||||
value = fixed.optimize(compressor);
|
value = fixed.optimize(compressor);
|
||||||
if (value === fixed) value = fixed.clone(true);
|
|
||||||
}
|
}
|
||||||
def.replaced++;
|
def.replaced++;
|
||||||
return value;
|
return value;
|
||||||
|
|||||||
@@ -3497,10 +3497,10 @@ issue_2437_1: {
|
|||||||
return Object.defineProperty(XMLHttpRequest.prototype, "onreadystatechange", xhrDesc || {}),
|
return Object.defineProperty(XMLHttpRequest.prototype, "onreadystatechange", xhrDesc || {}),
|
||||||
result;
|
result;
|
||||||
}
|
}
|
||||||
var req, detectFunc = function(){};
|
var req = new XMLHttpRequest(), detectFunc = function(){};
|
||||||
(req = new XMLHttpRequest()).onreadystatechange = detectFunc;
|
return req.onreadystatechange = detectFunc,
|
||||||
result = req[SYMBOL_FAKE_ONREADYSTATECHANGE_1] === detectFunc;
|
result = req[SYMBOL_FAKE_ONREADYSTATECHANGE_1] === detectFunc,
|
||||||
return req.onreadystatechange = null, result;
|
req.onreadystatechange = null, result;
|
||||||
}());
|
}());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3545,8 +3545,8 @@ issue_2437_2: {
|
|||||||
if (xhrDesc)
|
if (xhrDesc)
|
||||||
return (req = new XMLHttpRequest()).onreadystatechange,
|
return (req = new XMLHttpRequest()).onreadystatechange,
|
||||||
Object.defineProperty(XMLHttpRequest.prototype, "onreadystatechange", xhrDesc || {});
|
Object.defineProperty(XMLHttpRequest.prototype, "onreadystatechange", xhrDesc || {});
|
||||||
var req;
|
var req = new XMLHttpRequest();
|
||||||
(req = new XMLHttpRequest).onreadystatechange = function(){},
|
req.onreadystatechange = function(){},
|
||||||
req[SYMBOL_FAKE_ONREADYSTATECHANGE_1],
|
req[SYMBOL_FAKE_ONREADYSTATECHANGE_1],
|
||||||
req.onreadystatechange = null;
|
req.onreadystatechange = null;
|
||||||
}();
|
}();
|
||||||
|
|||||||
@@ -797,6 +797,7 @@ assign_chain: {
|
|||||||
issue_1583: {
|
issue_1583: {
|
||||||
options = {
|
options = {
|
||||||
keep_fargs: true,
|
keep_fargs: true,
|
||||||
|
passes: 2,
|
||||||
reduce_funcs: true,
|
reduce_funcs: true,
|
||||||
reduce_vars: true,
|
reduce_vars: true,
|
||||||
unused: true,
|
unused: true,
|
||||||
@@ -1144,6 +1145,7 @@ var_catch_toplevel: {
|
|||||||
options = {
|
options = {
|
||||||
conditionals: true,
|
conditionals: true,
|
||||||
negate_iife: true,
|
negate_iife: true,
|
||||||
|
passes: 2,
|
||||||
reduce_funcs: true,
|
reduce_funcs: true,
|
||||||
reduce_vars: true,
|
reduce_vars: true,
|
||||||
side_effects: true,
|
side_effects: true,
|
||||||
|
|||||||
@@ -2860,10 +2860,10 @@ issue_2437: {
|
|||||||
result;
|
result;
|
||||||
}
|
}
|
||||||
function detectFunc() {}
|
function detectFunc() {}
|
||||||
var req;
|
var req = new XMLHttpRequest();
|
||||||
(req = new XMLHttpRequest()).onreadystatechange = detectFunc;
|
return req.onreadystatechange = detectFunc,
|
||||||
result = req[SYMBOL_FAKE_ONREADYSTATECHANGE_1] === detectFunc;
|
result = req[SYMBOL_FAKE_ONREADYSTATECHANGE_1] === detectFunc,
|
||||||
return req.onreadystatechange = null, result;
|
req.onreadystatechange = null, result;
|
||||||
}());
|
}());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3065,3 +3065,51 @@ class_iife: {
|
|||||||
}
|
}
|
||||||
expect_stdout: "PASS"
|
expect_stdout: "PASS"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
issue_3400: {
|
||||||
|
options = {
|
||||||
|
collapse_vars: true,
|
||||||
|
inline: true,
|
||||||
|
reduce_funcs: true,
|
||||||
|
reduce_vars: true,
|
||||||
|
unused: true,
|
||||||
|
}
|
||||||
|
input: {
|
||||||
|
(function(f) {
|
||||||
|
console.log(f()()[0].p);
|
||||||
|
})(function() {
|
||||||
|
function g() {
|
||||||
|
function h(u) {
|
||||||
|
var o = {
|
||||||
|
p: u
|
||||||
|
};
|
||||||
|
return console.log(o[g]), o;
|
||||||
|
}
|
||||||
|
function e() {
|
||||||
|
return [ 42 ].map(function(v) {
|
||||||
|
return h(v);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return e();
|
||||||
|
}
|
||||||
|
return g;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
expect: {
|
||||||
|
void console.log(function g() {
|
||||||
|
function e() {
|
||||||
|
return [42].map(function(v) {
|
||||||
|
return o = {
|
||||||
|
p: v
|
||||||
|
}, console.log(o[g]) , o;
|
||||||
|
var o;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return e();
|
||||||
|
}()[0].p);
|
||||||
|
}
|
||||||
|
expect_stdout: [
|
||||||
|
"undefined",
|
||||||
|
"42",
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user