@@ -11457,15 +11457,15 @@ merge(Compressor.prototype, {
|
|||||||
if (prop.key != key) continue;
|
if (prop.key != key) continue;
|
||||||
if (!all(props, can_hoist_property)) break;
|
if (!all(props, can_hoist_property)) break;
|
||||||
if (!safe_to_flatten(prop.value, compressor)) break;
|
if (!safe_to_flatten(prop.value, compressor)) break;
|
||||||
|
props = props.map(function(prop) {
|
||||||
|
return prop.value;
|
||||||
|
});
|
||||||
|
if (prop instanceof AST_ObjectMethod && prop.value instanceof AST_Function) {
|
||||||
|
props[i] = make_node(AST_Arrow, prop.value, prop.value);
|
||||||
|
}
|
||||||
return make_node(AST_Sub, this, {
|
return make_node(AST_Sub, this, {
|
||||||
expression: make_node(AST_Array, expr, {
|
expression: make_node(AST_Array, expr, { elements: props }),
|
||||||
elements: props.map(function(prop) {
|
property: make_node(AST_Number, this, { value: i }),
|
||||||
return prop.value;
|
|
||||||
})
|
|
||||||
}),
|
|
||||||
property: make_node(AST_Number, this, {
|
|
||||||
value: i
|
|
||||||
})
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1344,3 +1344,27 @@ issue_4821_2: {
|
|||||||
expect_stdout: "function"
|
expect_stdout: "function"
|
||||||
node_version: ">=12"
|
node_version: ">=12"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
issue_4829: {
|
||||||
|
options = {
|
||||||
|
properties: true,
|
||||||
|
}
|
||||||
|
input: {
|
||||||
|
"use strict";
|
||||||
|
try {
|
||||||
|
class A extends { f(){} }.f {}
|
||||||
|
} catch (e) {
|
||||||
|
console.log("PASS");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
expect: {
|
||||||
|
"use strict";
|
||||||
|
try {
|
||||||
|
class A extends [ () => {} ][0] {}
|
||||||
|
} catch (e) {
|
||||||
|
console.log("PASS");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
expect_stdout: "PASS"
|
||||||
|
node_version: ">=4"
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user