Source code

Revision control

Copy as Markdown

Other Tools

var BUGNUMBER = 1184922;
var summary = "Array destructuring with various default values in various context - class expression and super/new.target";
print(BUGNUMBER + ": " + summary);
testDestructuringArrayDefault(`class E {
constructor() {}
method() {}
get v() {}
set v(_) {}
static method() {}
static get v() {}
static set v(_) {}
}`);
testDestructuringArrayDefault(`class E extends C {
constructor() {}
method() {}
get v() {}
set v(_) {}
static method() {}
static get v() {}
static set v(_) {}
}`);
var opt = {
no_plain: true,
no_func: true,
no_func_arg: true,
no_gen: true,
no_gen_arg: true,
no_ctor: true,
no_method: true,
no_pre_super: true,
no_comp: true,
no_derived_ctor: false,
};
testDestructuringArrayDefault("super()", opt);
opt = {
no_plain: true,
no_func: true,
no_func_arg: true,
no_gen: true,
no_gen_arg: true,
no_ctor: true,
no_comp: true,
no_derived_ctor: false,
no_method: false,
no_pre_super: false,
};
testDestructuringArrayDefault("super.foo()", opt);
opt = {
no_plain: true,
no_func: false,
no_func_arg: false,
no_gen: false,
no_gen_arg: false,
no_ctor: false,
no_derived_ctor: false,
no_method: false,
no_pre_super: false,
no_comp: false,
};
testDestructuringArrayDefault("new.target", opt);
if (typeof reportCompare === "function")
reportCompare(true, true);