ensure order of execution
This commit is contained in:
parent
3bd99ccdd8
commit
b12379d465
|
|
@ -3847,18 +3847,16 @@ merge(Compressor.prototype, {
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "apply":
|
case "apply":
|
||||||
if (self.args[1] instanceof AST_Array) {
|
if (self.args.length == 2 && self.args[1] instanceof AST_Array) {
|
||||||
var expressions = self.args.slice(2);
|
|
||||||
var args = self.args[1].elements.slice();
|
var args = self.args[1].elements.slice();
|
||||||
args.unshift(self.args[0]);
|
args.unshift(self.args[0]);
|
||||||
expressions.unshift(make_node(AST_Call, self, {
|
return make_node(AST_Call, self, {
|
||||||
expression: make_node(AST_Dot, exp, {
|
expression: make_node(AST_Dot, exp, {
|
||||||
expression: exp.expression,
|
expression: exp.expression,
|
||||||
property: "call"
|
property: "call"
|
||||||
}),
|
}),
|
||||||
args: args
|
args: args
|
||||||
}));
|
}).optimize(compressor);
|
||||||
return make_sequence(self, expressions).optimize(compressor);
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "call":
|
case "call":
|
||||||
|
|
|
||||||
|
|
@ -940,12 +940,18 @@ unsafe_apply_1: {
|
||||||
(function(a, b) {
|
(function(a, b) {
|
||||||
console.log(this, a, b);
|
console.log(this, a, b);
|
||||||
}).apply("foo", [ "bar" ]);
|
}).apply("foo", [ "bar" ]);
|
||||||
|
(function(a, b) {
|
||||||
|
console.log(a, b);
|
||||||
|
}).apply("foo", [ "bar" ], "baz");
|
||||||
}
|
}
|
||||||
expect: {
|
expect: {
|
||||||
console.log("bar", void 0);
|
console.log("bar", void 0);
|
||||||
(function(a, b) {
|
(function(a, b) {
|
||||||
console.log(this, a, b);
|
console.log(this, a, b);
|
||||||
}).call("foo", "bar");
|
}).call("foo", "bar");
|
||||||
|
(function(a, b) {
|
||||||
|
console.log(a, b);
|
||||||
|
}).apply("foo", [ "bar" ], "baz");
|
||||||
}
|
}
|
||||||
expect_stdout: true
|
expect_stdout: true
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user