arrows fix for object literal methods containing arguments (#2632)
fixes #2631
This commit is contained in:
@@ -5414,6 +5414,8 @@ merge(Compressor.prototype, {
|
|||||||
// p(){return x;} ---> p:()=>x
|
// p(){return x;} ---> p:()=>x
|
||||||
if (compressor.option("arrows")
|
if (compressor.option("arrows")
|
||||||
&& compressor.parent() instanceof AST_Object
|
&& compressor.parent() instanceof AST_Object
|
||||||
|
&& !self.value.uses_arguments
|
||||||
|
&& !self.value.uses_eval
|
||||||
&& self.value.body.length == 1
|
&& self.value.body.length == 1
|
||||||
&& self.value.body[0] instanceof AST_Return
|
&& self.value.body[0] instanceof AST_Return
|
||||||
&& self.value.body[0].value
|
&& self.value.body[0].value
|
||||||
|
|||||||
@@ -1153,3 +1153,47 @@ array_literal_with_spread_4: {
|
|||||||
]
|
]
|
||||||
node_version: ">=6"
|
node_version: ">=6"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
object_literal_method_using_arguments: {
|
||||||
|
options = {
|
||||||
|
arrows: true,
|
||||||
|
}
|
||||||
|
input: {
|
||||||
|
console.log(({
|
||||||
|
m() {
|
||||||
|
return arguments[0];
|
||||||
|
}
|
||||||
|
}).m("PASS"));
|
||||||
|
}
|
||||||
|
expect: {
|
||||||
|
console.log(({
|
||||||
|
m() {
|
||||||
|
return arguments[0];
|
||||||
|
}
|
||||||
|
}).m("PASS"));
|
||||||
|
}
|
||||||
|
expect_stdout: "PASS"
|
||||||
|
node_version: ">=6"
|
||||||
|
}
|
||||||
|
|
||||||
|
class_method_using_arguments: {
|
||||||
|
options = {
|
||||||
|
arrows: true,
|
||||||
|
}
|
||||||
|
input: {
|
||||||
|
console.log(new class {
|
||||||
|
m() {
|
||||||
|
return arguments[0];
|
||||||
|
}
|
||||||
|
}().m("PASS"));
|
||||||
|
}
|
||||||
|
expect: {
|
||||||
|
console.log(new class {
|
||||||
|
m() {
|
||||||
|
return arguments[0];
|
||||||
|
}
|
||||||
|
}().m("PASS"));
|
||||||
|
}
|
||||||
|
expect_stdout: "PASS"
|
||||||
|
node_version: ">=6"
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user