fix corner case in unsafe_proto
This commit is contained in:
parent
3b679cd5d2
commit
3caf6062d5
|
|
@ -310,9 +310,9 @@ var AST_Scope = DEFNODE("Scope", "variables functions uses_with uses_eval parent
|
||||||
},
|
},
|
||||||
clone: function(deep) {
|
clone: function(deep) {
|
||||||
var node = this._clone(deep);
|
var node = this._clone(deep);
|
||||||
node.variables = this.variables.clone();
|
if (this.variables) node.variables = this.variables.clone();
|
||||||
node.functions = this.functions.clone();
|
if (this.functions) node.functions = this.functions.clone();
|
||||||
node.enclosed = this.enclosed.slice();
|
if (this.enclosed) node.enclosed = this.enclosed.slice();
|
||||||
return node;
|
return node;
|
||||||
}
|
}
|
||||||
}, AST_Block);
|
}, AST_Block);
|
||||||
|
|
|
||||||
|
|
@ -5303,7 +5303,7 @@ issue_2774: {
|
||||||
expect_stdout: "undefined"
|
expect_stdout: "undefined"
|
||||||
}
|
}
|
||||||
|
|
||||||
issue_2799: {
|
issue_2799_1: {
|
||||||
options = {
|
options = {
|
||||||
reduce_funcs: true,
|
reduce_funcs: true,
|
||||||
reduce_vars: true,
|
reduce_vars: true,
|
||||||
|
|
@ -5336,3 +5336,27 @@ issue_2799: {
|
||||||
}
|
}
|
||||||
expect_stdout: "15"
|
expect_stdout: "15"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
issue_2799_2: {
|
||||||
|
options = {
|
||||||
|
reduce_vars: true,
|
||||||
|
unsafe_proto: true,
|
||||||
|
unused: true,
|
||||||
|
}
|
||||||
|
input: {
|
||||||
|
(function() {
|
||||||
|
function foo() {
|
||||||
|
Function.prototype.call.apply(console.log, [ null, "PASS" ]);
|
||||||
|
}
|
||||||
|
foo();
|
||||||
|
})();
|
||||||
|
}
|
||||||
|
expect: {
|
||||||
|
(function() {
|
||||||
|
(function() {
|
||||||
|
(function() {}).call.apply(console.log, [ null, "PASS" ]);
|
||||||
|
})();
|
||||||
|
})();
|
||||||
|
}
|
||||||
|
expect_stdout: "PASS"
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user