enforce inline scope restriction (#2106)

fixes #2105
This commit is contained in:
Alex Lam S.L
2017-06-16 03:21:38 +08:00
committed by GitHub
parent 57dc4fb32f
commit 33405bb24b
2 changed files with 61 additions and 17 deletions

View File

@@ -1108,3 +1108,47 @@ var_catch_toplevel: {
}();
}
}
issue_2105: {
options = {
collapse_vars: true,
inline: true,
reduce_vars: true,
side_effects: true,
unused: true,
}
input: {
!function(factory) {
factory();
}( function() {
return function(fn) {
fn()().prop();
}( function() {
function bar() {
var quux = function() {
console.log("PASS");
}, foo = function() {
console.log;
quux();
};
return { prop: foo };
}
return bar;
} );
});
}
expect: {
!void function() {
var quux = function() {
console.log("PASS");
};
return {
prop: function() {
console.log;
quux();
}
};
}().prop();
}
expect_stdout: "PASS"
}