aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/qml/compiler/qv4codegen.cpp6
-rw-r--r--src/qml/compiler/qv4compileddata_p.h20
-rw-r--r--src/qml/compiler/qv4compiler.cpp39
-rw-r--r--src/qml/compiler/qv4compilercontext_p.h8
-rw-r--r--src/qml/jsruntime/qv4functionobject.cpp16
-rw-r--r--src/qml/jsruntime/qv4functionobject_p.h10
-rw-r--r--src/qml/jsruntime/qv4runtime.cpp57
-rw-r--r--tests/auto/qml/ecmascripttests/TestExpectations530
8 files changed, 120 insertions, 566 deletions
diff --git a/src/qml/compiler/qv4codegen.cpp b/src/qml/compiler/qv4codegen.cpp
index 2a7c491bd6..cab99b0c21 100644
--- a/src/qml/compiler/qv4codegen.cpp
+++ b/src/qml/compiler/qv4codegen.cpp
@@ -823,8 +823,7 @@ bool Codegen::visit(VariableDeclarationList *)
bool Codegen::visit(ClassExpression *ast)
{
Compiler::Class jsClass;
- jsClass.name = ast->name.toString();
- registerString(jsClass.name);
+ jsClass.nameIndex = registerString(ast->name.toString());
ClassElementList *constructor = nullptr;
int nComputedNames = 0;
@@ -844,12 +843,13 @@ bool Codegen::visit(ClassExpression *ast)
++nStaticComputedNames;
}
QString name = p->name->asString();
+ uint nameIndex = cname ? UINT_MAX : registerString(name);
Compiler::Class::Method::Type type = Compiler::Class::Method::Regular;
if (p->type == PatternProperty::Getter)
type = Compiler::Class::Method::Getter;
else if (p->type == PatternProperty::Setter)
type = Compiler::Class::Method::Setter;
- Compiler::Class::Method m{ name, type, defineFunction(name, f, f->formals, f->body)};
+ Compiler::Class::Method m{ nameIndex, type, static_cast<uint>(defineFunction(name, f, f->formals, f->body)) };
if (member->isStatic) {
if (name == QStringLiteral("prototype")) {
diff --git a/src/qml/compiler/qv4compileddata_p.h b/src/qml/compiler/qv4compileddata_p.h
index 6d81db23e0..46efe09924 100644
--- a/src/qml/compiler/qv4compileddata_p.h
+++ b/src/qml/compiler/qv4compileddata_p.h
@@ -317,6 +317,18 @@ struct Function
};
static_assert(sizeof(Function) == 80, "Function structure needs to have the expected size to be binary compatible on disk when generated by host compiler and loaded by target");
+struct Method {
+ enum Type {
+ Regular,
+ Getter,
+ Setter
+ };
+
+ quint32_le name;
+ quint32_le type;
+ quint32_le function;
+};
+
struct Class
{
quint32_le nameIndex;
@@ -324,14 +336,12 @@ struct Class
quint32_le constructorFunction;
quint32_le nStaticMethods;
quint32_le nMethods;
- quint32_le nameTableOffset;
quint32_le methodTableOffset;
- const quint32_le *nameTable() const { return reinterpret_cast<const quint32_le *>(reinterpret_cast<const char *>(this) + nameTableOffset); }
- const quint32_le *methodTable() const { return reinterpret_cast<const quint32_le *>(reinterpret_cast<const char *>(this) + methodTableOffset); }
+ const Method *methodTable() const { return reinterpret_cast<const Method *>(reinterpret_cast<const char *>(this) + methodTableOffset); }
static int calculateSize(int nStaticMethods, int nMethods) {
- int trailingData = (nStaticMethods + nMethods) * 2 * sizeof(quint32);
+ int trailingData = (nStaticMethods + nMethods) * sizeof(Method);
size_t size = align(sizeof(Class) + trailingData);
Q_ASSERT(size < INT_MAX);
return int(size);
@@ -341,7 +351,7 @@ struct Class
return (a + 7) & ~size_t(7);
}
};
-static_assert(sizeof(Class) == 28, "Function structure needs to have the expected size to be binary compatible on disk when generated by host compiler and loaded by target");
+static_assert(sizeof(Class) == 24, "Function structure needs to have the expected size to be binary compatible on disk when generated by host compiler and loaded by target");
// Qml data structures
diff --git a/src/qml/compiler/qv4compiler.cpp b/src/qml/compiler/qv4compiler.cpp
index eb38ba564d..f1afad4965 100644
--- a/src/qml/compiler/qv4compiler.cpp
+++ b/src/qml/compiler/qv4compiler.cpp
@@ -396,6 +396,10 @@ void QV4::Compiler::JSUnitGenerator::writeFunction(char *f, QV4::Compiler::Conte
memcpy(f + function->codeOffset, irFunction->code.constData(), irFunction->code.size());
}
+static_assert(int(QV4::Compiler::Class::Method::Regular) == int(QV4::CompiledData::Method::Regular), "Incompatible layout");
+static_assert(int(QV4::Compiler::Class::Method::Getter) == int(QV4::CompiledData::Method::Getter), "Incompatible layout");
+static_assert(int(QV4::Compiler::Class::Method::Setter) == int(QV4::CompiledData::Method::Setter), "Incompatible layout");
+
void QV4::Compiler::JSUnitGenerator::writeClass(char *b, const QV4::Compiler::Class &c)
{
QV4::CompiledData::Class *cls = reinterpret_cast<QV4::CompiledData::Class *>(b);
@@ -406,31 +410,40 @@ void QV4::Compiler::JSUnitGenerator::writeClass(char *b, const QV4::Compiler::Cl
allMethods += c.methods;
cls->constructorFunction = c.constructorIndex;
- cls->nameIndex = getStringId(c.name);
+ cls->nameIndex = c.nameIndex;
cls->nMethods = c.methods.size();
cls->nStaticMethods = c.staticMethods.size();
- cls->nameTableOffset = currentOffset;
- quint32_le *names = reinterpret_cast<quint32_le *>(b + currentOffset);
- currentOffset += allMethods.size() * sizeof(quint32);
cls->methodTableOffset = currentOffset;
- quint32_le *methods = reinterpret_cast<quint32_le *>(b + currentOffset);
- currentOffset += cls->nMethods * sizeof(quint32);
+ CompiledData::Method *method = reinterpret_cast<CompiledData::Method *>(b + currentOffset);
// write methods
for (int i = 0; i < allMethods.size(); ++i) {
- names[i] = getStringId(allMethods.at(i).name);
- methods[i] = allMethods.at(i).functionIndex;
- // ### fix getter and setter methods
+ method->name = allMethods.at(i).nameIndex;
+ method->type = allMethods.at(i).type;
+ method->function = allMethods.at(i).functionIndex;
+ ++method;
}
static const bool showCode = qEnvironmentVariableIsSet("QV4_SHOW_BYTECODE");
if (showCode) {
qDebug() << "=== Class " << stringForIndex(cls->nameIndex) << "static methods" << cls->nStaticMethods << "methods" << cls->nMethods;
qDebug() << " constructor:" << cls->constructorFunction;
- for (uint i = 0; i < cls->nStaticMethods; ++i)
- qDebug() << " " << i << ": static" << stringForIndex(cls->nameTable()[i]);
- for (uint i = 0; i < cls->nMethods; ++i)
- qDebug() << " " << i << ": " << stringForIndex(cls->nameTable()[cls->nStaticMethods + i]);
+ const char *staticString = ": static ";
+ for (uint i = 0; i < cls->nStaticMethods + cls->nMethods; ++i) {
+ if (i == cls->nStaticMethods)
+ staticString = ": ";
+ const char *type;
+ switch (cls->methodTable()[i].type) {
+ case CompiledData::Method::Getter:
+ type = "get "; break;
+ case CompiledData::Method::Setter:
+ type = "set "; break;
+ default:
+ type = "";
+
+ }
+ qDebug() << " " << i << staticString << type << stringForIndex(cls->methodTable()[i].name) << cls->methodTable()[i].function;
+ }
qDebug();
}
}
diff --git a/src/qml/compiler/qv4compilercontext_p.h b/src/qml/compiler/qv4compilercontext_p.h
index 9444173840..52c3fc5b05 100644
--- a/src/qml/compiler/qv4compilercontext_p.h
+++ b/src/qml/compiler/qv4compilercontext_p.h
@@ -86,13 +86,13 @@ struct Class {
Getter,
Setter
};
- QString name;
+ uint nameIndex;
Type type;
- int functionIndex;
+ uint functionIndex;
};
- QString name;
- int constructorIndex = -1;
+ uint nameIndex;
+ uint constructorIndex = UINT_MAX;
QVector<Method> staticMethods;
QVector<Method> methods;
};
diff --git a/src/qml/jsruntime/qv4functionobject.cpp b/src/qml/jsruntime/qv4functionobject.cpp
index 7fcb1c3536..589ed8fded 100644
--- a/src/qml/jsruntime/qv4functionobject.cpp
+++ b/src/qml/jsruntime/qv4functionobject.cpp
@@ -502,6 +502,22 @@ ReturnedValue ConstructorFunction::call(const FunctionObject *f, const Value *,
return f->engine()->throwTypeError(QStringLiteral("Cannot call a class constructor without |new|"));
}
+DEFINE_OBJECT_VTABLE(DefaultClassConstructorFunction);
+
+ReturnedValue DefaultClassConstructorFunction::callAsConstructor(const FunctionObject *f, const Value *, int)
+{
+ Scope scope(f);
+ ScopedObject proto(scope, f->get(scope.engine->id_prototype()));
+ ScopedObject c(scope, scope.engine->newObject());
+ c->setPrototypeUnchecked(proto);
+ return c->asReturnedValue();
+}
+
+ReturnedValue DefaultClassConstructorFunction::call(const FunctionObject *f, const Value *, const Value *, int)
+{
+ return f->engine()->throwTypeError(QStringLiteral("Cannot call a class constructor without |new|"));
+}
+
DEFINE_OBJECT_VTABLE(IndexedBuiltinFunction);
DEFINE_OBJECT_VTABLE(BoundFunction);
diff --git a/src/qml/jsruntime/qv4functionobject_p.h b/src/qml/jsruntime/qv4functionobject_p.h
index 1e7df2c27e..7a7c86a6c3 100644
--- a/src/qml/jsruntime/qv4functionobject_p.h
+++ b/src/qml/jsruntime/qv4functionobject_p.h
@@ -124,6 +124,10 @@ struct ConstructorFunction : ScriptFunction
{
};
+struct DefaultClassConstructorFunction : FunctionObject
+{
+};
+
#define BoundFunctionMembers(class, Member) \
Member(class, Pointer, FunctionObject *, target) \
Member(class, HeapValue, HeapValue, boundThis) \
@@ -243,6 +247,12 @@ struct ConstructorFunction : ScriptFunction {
static ReturnedValue call(const FunctionObject *f, const Value *thisObject, const Value *argv, int argc);
};
+struct DefaultClassConstructorFunction : FunctionObject {
+ V4_OBJECT2(DefaultClassConstructorFunction, FunctionObject)
+ static ReturnedValue callAsConstructor(const FunctionObject *, const Value *argv, int argc);
+ static ReturnedValue call(const FunctionObject *f, const Value *thisObject, const Value *argv, int argc);
+};
+
struct BoundFunction: FunctionObject {
V4_OBJECT2(BoundFunction, FunctionObject)
diff --git a/src/qml/jsruntime/qv4runtime.cpp b/src/qml/jsruntime/qv4runtime.cpp
index bae8a9d332..d7555ae6cc 100644
--- a/src/qml/jsruntime/qv4runtime.cpp
+++ b/src/qml/jsruntime/qv4runtime.cpp
@@ -1493,7 +1493,9 @@ ReturnedValue Runtime::method_createClass(ExecutionEngine *engine, int classInde
}
Scope scope(engine);
- ScopedString name(scope, unit->runtimeStrings[cls->nameIndex]);
+ ScopedString name(scope);
+ if (cls->nameIndex != UINT_MAX)
+ name = unit->runtimeStrings[cls->nameIndex];
// ### fix heritage
ScopedObject protoParent(scope, engine->objectPrototype());
ScopedObject constructorParent(scope, engine->functionPrototype());
@@ -1508,36 +1510,53 @@ ReturnedValue Runtime::method_createClass(ExecutionEngine *engine, int classInde
Q_ASSERT(f);
constructor = FunctionObject::createConstructorFunction(current, f)->asReturnedValue();
} else {
- // ####
- return engine->throwTypeError(QStringLiteral("default constructor not implemented"));
+ constructor = engine->memoryManager->allocate<DefaultClassConstructorFunction>();
}
constructor->setPrototypeUnchecked(constructorParent);
constructor->defineDefaultProperty(engine->id_prototype(), proto);
proto->defineDefaultProperty(engine->id_constructor(), constructor);
+ ScopedObject receiver(scope, *constructor);
+ ScopedStringOrSymbol propertyName(scope);
ScopedFunctionObject function(scope);
- for (uint i = 0; i < cls->nStaticMethods; ++i) {
- name = unit->runtimeStrings[cls->nameTable()[i]];
- QV4::Function *f = unit->runtimeFunctions[cls->methodTable()[i]];
- Q_ASSERT(f);
- function = FunctionObject::createScriptFunction(current, f)->asReturnedValue();
- constructor->defineDefaultProperty(name, function);
- }
-
- for (uint i = 0; i < cls->nMethods; ++i) {
- name = unit->runtimeStrings[cls->nameTable()[i + cls->nStaticMethods]];
- name->makeIdentifier();
- if (name->identifier() == engine->id_empty()->identifier()) {
- name = computedNames->toPropertyKey(engine);
+ ScopedProperty property(scope);
+ const CompiledData::Method *methods = cls->methodTable();
+ for (uint i = 0; i < cls->nStaticMethods + cls->nMethods; ++i) {
+ if (i == cls->nStaticMethods)
+ receiver = proto;
+ if (methods[i].name == UINT_MAX) {
+ propertyName = computedNames->toPropertyKey(engine);
if (engine->hasException)
return Encode::undefined();
++computedNames;
+ } else {
+ propertyName = unit->runtimeStrings[methods[i].name];
}
- QV4::Function *f = unit->runtimeFunctions[cls->methodTable()[i + cls->nStaticMethods]];
+ Identifier id = propertyName->toPropertyKey();
+ QV4::Function *f = unit->runtimeFunctions[methods[i].function];
Q_ASSERT(f);
- function = FunctionObject::createScriptFunction(current, f)->asReturnedValue();
- proto->defineDefaultProperty(name, function);
+ function = FunctionObject::createScriptFunction(current, f);
+ Q_ASSERT(function);
+ PropertyAttributes attributes;
+ switch (methods[i].type) {
+ case CompiledData::Method::Getter:
+ property->setGetter(function);
+ property->set = Primitive::emptyValue();
+ attributes = Attr_Accessor|Attr_NotEnumerable;
+ break;
+ case CompiledData::Method::Setter:
+ property->value = Primitive::emptyValue();
+ property->setSetter(function);
+ attributes = Attr_Accessor|Attr_NotEnumerable;
+ break;
+ default: // Regular
+ property->value = function;
+ property->set = Primitive::emptyValue();
+ attributes = Attr_Data|Attr_NotEnumerable;
+ break;
+ }
+ receiver->defineOwnProperty(id, property, attributes);
}
return constructor->asReturnedValue();
diff --git a/tests/auto/qml/ecmascripttests/TestExpectations b/tests/auto/qml/ecmascripttests/TestExpectations
index 9c4ed40c9f..d03a2913b4 100644
--- a/tests/auto/qml/ecmascripttests/TestExpectations
+++ b/tests/auto/qml/ecmascripttests/TestExpectations
@@ -413,7 +413,6 @@ built-ins/Error/prototype/S15.11.4_A2.js fails
built-ins/Function/call-bind-this-realm-undef.js fails
built-ins/Function/call-bind-this-realm-value.js fails
built-ins/Function/internals/Call/class-ctor-realm.js fails
-built-ins/Function/internals/Call/class-ctor.js fails
built-ins/Function/internals/Construct/base-ctor-revoked-proxy-realm.js fails
built-ins/Function/internals/Construct/base-ctor-revoked-proxy.js fails
built-ins/Function/internals/Construct/derived-return-val-realm.js fails
@@ -1921,14 +1920,6 @@ language/arguments-object/cls-decl-gen-meth-static-args-trailing-comma-multiple.
language/arguments-object/cls-decl-gen-meth-static-args-trailing-comma-null.js fails
language/arguments-object/cls-decl-gen-meth-static-args-trailing-comma-single-args.js fails
language/arguments-object/cls-decl-gen-meth-static-args-trailing-comma-undefined.js fails
-language/arguments-object/cls-decl-meth-args-trailing-comma-multiple.js fails
-language/arguments-object/cls-decl-meth-args-trailing-comma-null.js fails
-language/arguments-object/cls-decl-meth-args-trailing-comma-single-args.js fails
-language/arguments-object/cls-decl-meth-args-trailing-comma-undefined.js fails
-language/arguments-object/cls-decl-meth-static-args-trailing-comma-multiple.js fails
-language/arguments-object/cls-decl-meth-static-args-trailing-comma-null.js fails
-language/arguments-object/cls-decl-meth-static-args-trailing-comma-single-args.js fails
-language/arguments-object/cls-decl-meth-static-args-trailing-comma-undefined.js fails
language/arguments-object/cls-expr-gen-meth-args-trailing-comma-multiple.js fails
language/arguments-object/cls-expr-gen-meth-args-trailing-comma-null.js fails
language/arguments-object/cls-expr-gen-meth-args-trailing-comma-single-args.js fails
@@ -1969,32 +1960,16 @@ language/arguments-object/mapped/nonconfigurable-nonenumerable-nonwritable-descr
language/arguments-object/mapped/nonconfigurable-nonwritable-descriptors-set-by-arguments.js sloppyFails
language/arguments-object/mapped/nonconfigurable-nonwritable-descriptors-set-by-param.js sloppyFails
language/arguments-object/mapped/nonwritable-nonconfigurable-descriptors-set-by-arguments.js sloppyFails
-language/computed-property-names/class/accessor/getter-duplicates.js fails
-language/computed-property-names/class/accessor/getter.js fails
-language/computed-property-names/class/accessor/setter-duplicates.js fails
-language/computed-property-names/class/accessor/setter.js fails
-language/computed-property-names/class/method/constructor-can-be-generator.js fails
-language/computed-property-names/class/method/constructor-can-be-getter.js fails
-language/computed-property-names/class/method/constructor-can-be-setter.js fails
-language/computed-property-names/class/method/constructor-duplicate-3.js fails
-language/computed-property-names/class/method/constructor.js fails
-language/computed-property-names/class/method/generator.js fails
-language/computed-property-names/class/method/number.js fails
-language/computed-property-names/class/method/string.js fails
-language/computed-property-names/class/method/symbol.js fails
-language/computed-property-names/class/static/generator-constructor.js fails
-language/computed-property-names/class/static/getter-constructor.js fails
-language/computed-property-names/class/static/method-constructor.js fails
+language/computed-property-names/class/static/generator-prototype.js fails
+language/computed-property-names/class/static/getter-prototype.js fails
+language/computed-property-names/class/static/method-prototype.js fails
language/computed-property-names/class/static/method-number.js fails
language/computed-property-names/class/static/method-string.js fails
language/computed-property-names/class/static/method-symbol.js fails
-language/computed-property-names/class/static/setter-constructor.js fails
+language/computed-property-names/class/static/setter-prototype.js fails
language/computed-property-names/object/accessor/getter-super.js fails
language/computed-property-names/object/accessor/setter-super.js fails
language/computed-property-names/object/method/super.js fails
-language/computed-property-names/to-name-side-effects/class.js fails
-language/computed-property-names/to-name-side-effects/numbers-class.js fails
-language/eval-code/direct/lex-env-distinct-cls.js fails
language/eval-code/direct/lex-env-no-init-cls.js fails
language/eval-code/direct/lex-env-no-init-const.js fails
language/eval-code/direct/lex-env-no-init-let.js fails
@@ -2010,7 +1985,6 @@ language/eval-code/direct/var-env-global-lex-non-strict.js sloppyFails
language/eval-code/direct/var-env-lower-lex-catch-non-strict.js sloppyFails
language/eval-code/direct/var-env-lower-lex-non-strict.js sloppyFails
language/eval-code/indirect/always-non-strict.js strictFails
-language/eval-code/indirect/lex-env-distinct-cls.js fails
language/eval-code/indirect/lex-env-no-init-cls.js fails
language/eval-code/indirect/lex-env-no-init-const.js fails
language/eval-code/indirect/lex-env-no-init-let.js fails
@@ -2860,9 +2834,7 @@ language/expressions/class/scope-gen-meth-paramsbody-var-close.js fails
language/expressions/class/scope-gen-meth-paramsbody-var-open.js fails
language/expressions/class/scope-meth-paramsbody-var-close.js fails
language/expressions/class/scope-meth-paramsbody-var-open.js fails
-language/expressions/class/scope-name-lex-close.js fails
language/expressions/class/scope-name-lex-open-heritage.js fails
-language/expressions/class/scope-name-lex-open-no-heritage.js fails
language/expressions/class/scope-setter-paramsbody-var-close.js fails
language/expressions/class/scope-setter-paramsbody-var-open.js fails
language/expressions/class/scope-static-gen-meth-paramsbody-var-close.js fails
@@ -3228,9 +3200,7 @@ language/function-code/each-param-has-own-non-shared-eval-scope.js sloppyFails
language/function-code/each-param-has-own-scope.js sloppyFails
language/function-code/eval-param-env-with-computed-key.js sloppyFails
language/function-code/eval-param-env-with-prop-initializer.js sloppyFails
-language/global-code/decl-lex-deletion.js sloppyFails
language/global-code/decl-lex-restricted-global.js fails
-language/global-code/decl-lex.js fails
language/global-code/script-decl-func-dups.js fails
language/global-code/script-decl-func-err-non-configurable.js fails
language/global-code/script-decl-func-err-non-extensible.js fails
@@ -3319,7 +3289,6 @@ language/module-code/instn-star-props-nrml-indirect_FIXTURE.js fails
language/module-code/instn-star-props-nrml-star_FIXTURE.js fails
language/module-code/instn-star-star-cycle-2_FIXTURE.js fails
language/module-code/instn-star-star-cycle-indirect-x_FIXTURE.js fails
-language/module-code/instn-uniq-env-rec-other_FIXTURE.js fails
language/module-code/namespace/internals/own-property-keys-binding-types_FIXTURE.js fails
language/rest-parameters/with-new-target.js fails
language/statements/async-function/cptn-decl.js fails
@@ -3328,38 +3297,6 @@ language/statements/async-function/evaluation-body.js fails
language/statements/async-function/syntax-declaration-line-terminators-allowed.js fails
language/statements/block/tco-stmt-list.js strictFails
language/statements/block/tco-stmt.js strictFails
-language/statements/class/accessor-name-inst-computed-yield-expr.js fails
-language/statements/class/accessor-name-inst-computed.js fails
-language/statements/class/accessor-name-inst-literal-numeric-binary.js fails
-language/statements/class/accessor-name-inst-literal-numeric-exponent.js fails
-language/statements/class/accessor-name-inst-literal-numeric-hex.js fails
-language/statements/class/accessor-name-inst-literal-numeric-leading-decimal.js fails
-language/statements/class/accessor-name-inst-literal-numeric-non-canonical.js fails
-language/statements/class/accessor-name-inst-literal-numeric-octal.js fails
-language/statements/class/accessor-name-inst-literal-numeric-zero.js fails
-language/statements/class/accessor-name-inst-literal-string-char-escape.js fails
-language/statements/class/accessor-name-inst-literal-string-double-quote.js fails
-language/statements/class/accessor-name-inst-literal-string-empty.js fails
-language/statements/class/accessor-name-inst-literal-string-hex-escape.js fails
-language/statements/class/accessor-name-inst-literal-string-line-continuation.js fails
-language/statements/class/accessor-name-inst-literal-string-single-quote.js fails
-language/statements/class/accessor-name-inst-literal-string-unicode-escape.js fails
-language/statements/class/accessor-name-static-computed-yield-expr.js fails
-language/statements/class/accessor-name-static-computed.js fails
-language/statements/class/accessor-name-static-literal-numeric-binary.js fails
-language/statements/class/accessor-name-static-literal-numeric-exponent.js fails
-language/statements/class/accessor-name-static-literal-numeric-hex.js fails
-language/statements/class/accessor-name-static-literal-numeric-leading-decimal.js fails
-language/statements/class/accessor-name-static-literal-numeric-non-canonical.js fails
-language/statements/class/accessor-name-static-literal-numeric-octal.js fails
-language/statements/class/accessor-name-static-literal-numeric-zero.js fails
-language/statements/class/accessor-name-static-literal-string-char-escape.js fails
-language/statements/class/accessor-name-static-literal-string-double-quote.js fails
-language/statements/class/accessor-name-static-literal-string-empty.js fails
-language/statements/class/accessor-name-static-literal-string-hex-escape.js fails
-language/statements/class/accessor-name-static-literal-string-line-continuation.js fails
-language/statements/class/accessor-name-static-literal-string-single-quote.js fails
-language/statements/class/accessor-name-static-literal-string-unicode-escape.js fails
language/statements/class/arguments/access.js fails
language/statements/class/arguments/default-constructor.js fails
language/statements/class/constructor-inferred-observable-iteration.js fails
@@ -3367,15 +3304,13 @@ language/statements/class/cptn-decl.js fails
language/statements/class/definition/accessors.js fails
language/statements/class/definition/basics.js fails
language/statements/class/definition/class-method-returns-promise.js fails
-language/statements/class/definition/constructor-property.js fails
language/statements/class/definition/fn-name-accessor-get.js fails
language/statements/class/definition/fn-name-accessor-set.js fails
language/statements/class/definition/fn-name-gen-method.js fails
language/statements/class/definition/fn-name-method.js fails
-language/statements/class/definition/fn-name-static-precedence.js fails
+language/statements/class/definition/getters-non-configurable-err.js fails
language/statements/class/definition/getters-prop-desc.js fails
language/statements/class/definition/getters-restricted-ids.js fails
-language/statements/class/definition/implicit-constructor.js fails
language/statements/class/definition/invalid-extends.js strictFails
language/statements/class/definition/methods-gen-no-yield.js fails
language/statements/class/definition/methods-gen-return.js fails
@@ -3389,13 +3324,13 @@ language/statements/class/definition/methods-gen-yield-as-yield-operand.js fails
language/statements/class/definition/methods-gen-yield-newline.js fails
language/statements/class/definition/methods-gen-yield-star-before-newline.js fails
language/statements/class/definition/methods-named-eval-arguments.js fails
-language/statements/class/definition/methods-restricted-properties.js fails
language/statements/class/definition/methods.js fails
language/statements/class/definition/numeric-property-names.js fails
language/statements/class/definition/prototype-getter.js fails
language/statements/class/definition/prototype-property.js fails
language/statements/class/definition/prototype-setter.js fails
language/statements/class/definition/prototype-wiring.js fails
+language/statements/class/definition/setters-non-configurable-err.js fails
language/statements/class/definition/setters-prop-desc.js fails
language/statements/class/definition/setters-restricted-ids.js fails
language/statements/class/definition/side-effects-in-extends.js fails
@@ -3404,7 +3339,6 @@ language/statements/class/definition/this-access-restriction-2.js fails
language/statements/class/definition/this-access-restriction.js fails
language/statements/class/definition/this-check-ordering.js fails
language/statements/class/dstr-gen-meth-ary-init-iter-close.js fails
-language/statements/class/dstr-gen-meth-ary-init-iter-get-err.js fails
language/statements/class/dstr-gen-meth-ary-init-iter-no-close.js fails
language/statements/class/dstr-gen-meth-ary-name-iter-val.js fails
language/statements/class/dstr-gen-meth-ary-ptrn-elem-ary-elem-init.js fails
@@ -3415,7 +3349,6 @@ language/statements/class/dstr-gen-meth-ary-ptrn-elem-ary-empty-init.js fails
language/statements/class/dstr-gen-meth-ary-ptrn-elem-ary-empty-iter.js fails
language/statements/class/dstr-gen-meth-ary-ptrn-elem-ary-rest-init.js fails
language/statements/class/dstr-gen-meth-ary-ptrn-elem-ary-rest-iter.js fails
-language/statements/class/dstr-gen-meth-ary-ptrn-elem-ary-val-null.js fails
language/statements/class/dstr-gen-meth-ary-ptrn-elem-id-init-exhausted.js fails
language/statements/class/dstr-gen-meth-ary-ptrn-elem-id-init-fn-name-arrow.js fails
language/statements/class/dstr-gen-meth-ary-ptrn-elem-id-init-fn-name-class.js fails
@@ -3424,38 +3357,27 @@ language/statements/class/dstr-gen-meth-ary-ptrn-elem-id-init-fn-name-fn.js fail
language/statements/class/dstr-gen-meth-ary-ptrn-elem-id-init-fn-name-gen.js fails
language/statements/class/dstr-gen-meth-ary-ptrn-elem-id-init-hole.js fails
language/statements/class/dstr-gen-meth-ary-ptrn-elem-id-init-skipped.js fails
-language/statements/class/dstr-gen-meth-ary-ptrn-elem-id-init-throws.js fails
language/statements/class/dstr-gen-meth-ary-ptrn-elem-id-init-undef.js fails
-language/statements/class/dstr-gen-meth-ary-ptrn-elem-id-init-unresolvable.js fails
language/statements/class/dstr-gen-meth-ary-ptrn-elem-id-iter-complete.js fails
language/statements/class/dstr-gen-meth-ary-ptrn-elem-id-iter-done.js fails
-language/statements/class/dstr-gen-meth-ary-ptrn-elem-id-iter-step-err.js fails
-language/statements/class/dstr-gen-meth-ary-ptrn-elem-id-iter-val-err.js fails
language/statements/class/dstr-gen-meth-ary-ptrn-elem-id-iter-val.js fails
language/statements/class/dstr-gen-meth-ary-ptrn-elem-obj-id-init.js fails
language/statements/class/dstr-gen-meth-ary-ptrn-elem-obj-id.js fails
language/statements/class/dstr-gen-meth-ary-ptrn-elem-obj-prop-id-init.js fails
language/statements/class/dstr-gen-meth-ary-ptrn-elem-obj-prop-id.js fails
-language/statements/class/dstr-gen-meth-ary-ptrn-elem-obj-val-null.js fails
-language/statements/class/dstr-gen-meth-ary-ptrn-elem-obj-val-undef.js fails
language/statements/class/dstr-gen-meth-ary-ptrn-elision-exhausted.js fails
-language/statements/class/dstr-gen-meth-ary-ptrn-elision-step-err.js fails
language/statements/class/dstr-gen-meth-ary-ptrn-elision.js fails
language/statements/class/dstr-gen-meth-ary-ptrn-empty.js fails
language/statements/class/dstr-gen-meth-ary-ptrn-rest-ary-elem.js fails
language/statements/class/dstr-gen-meth-ary-ptrn-rest-ary-elision.js fails
language/statements/class/dstr-gen-meth-ary-ptrn-rest-ary-empty.js fails
language/statements/class/dstr-gen-meth-ary-ptrn-rest-ary-rest.js fails
-language/statements/class/dstr-gen-meth-ary-ptrn-rest-id-elision-next-err.js fails
language/statements/class/dstr-gen-meth-ary-ptrn-rest-id-elision.js fails
language/statements/class/dstr-gen-meth-ary-ptrn-rest-id-exhausted.js fails
-language/statements/class/dstr-gen-meth-ary-ptrn-rest-id-iter-step-err.js fails
-language/statements/class/dstr-gen-meth-ary-ptrn-rest-id-iter-val-err.js fails
language/statements/class/dstr-gen-meth-ary-ptrn-rest-id.js fails
language/statements/class/dstr-gen-meth-ary-ptrn-rest-obj-id.js fails
language/statements/class/dstr-gen-meth-ary-ptrn-rest-obj-prop-id.js fails
language/statements/class/dstr-gen-meth-dflt-ary-init-iter-close.js fails
-language/statements/class/dstr-gen-meth-dflt-ary-init-iter-get-err.js fails
language/statements/class/dstr-gen-meth-dflt-ary-init-iter-no-close.js fails
language/statements/class/dstr-gen-meth-dflt-ary-name-iter-val.js fails
language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-ary-elem-init.js fails
@@ -3466,7 +3388,6 @@ language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-ary-empty-init.js fai
language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-ary-empty-iter.js fails
language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-ary-rest-init.js fails
language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-ary-rest-iter.js fails
-language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-ary-val-null.js fails
language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-id-init-exhausted.js fails
language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-id-init-fn-name-arrow.js fails
language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-id-init-fn-name-class.js fails
@@ -3475,98 +3396,61 @@ language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-id-init-fn-name-fn.js
language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-id-init-fn-name-gen.js fails
language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-id-init-hole.js fails
language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-id-init-skipped.js fails
-language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-id-init-throws.js fails
language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-id-init-undef.js fails
-language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-id-init-unresolvable.js fails
language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-id-iter-complete.js fails
language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-id-iter-done.js fails
-language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-id-iter-step-err.js fails
-language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-id-iter-val-err.js fails
language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-id-iter-val.js fails
language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-obj-id-init.js fails
language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-obj-id.js fails
language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-obj-prop-id-init.js fails
language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-obj-prop-id.js fails
-language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-obj-val-null.js fails
-language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elem-obj-val-undef.js fails
language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elision-exhausted.js fails
-language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elision-step-err.js fails
language/statements/class/dstr-gen-meth-dflt-ary-ptrn-elision.js fails
language/statements/class/dstr-gen-meth-dflt-ary-ptrn-empty.js fails
language/statements/class/dstr-gen-meth-dflt-ary-ptrn-rest-ary-elem.js fails
language/statements/class/dstr-gen-meth-dflt-ary-ptrn-rest-ary-elision.js fails
language/statements/class/dstr-gen-meth-dflt-ary-ptrn-rest-ary-empty.js fails
language/statements/class/dstr-gen-meth-dflt-ary-ptrn-rest-ary-rest.js fails
-language/statements/class/dstr-gen-meth-dflt-ary-ptrn-rest-id-elision-next-err.js fails
language/statements/class/dstr-gen-meth-dflt-ary-ptrn-rest-id-elision.js fails
language/statements/class/dstr-gen-meth-dflt-ary-ptrn-rest-id-exhausted.js fails
-language/statements/class/dstr-gen-meth-dflt-ary-ptrn-rest-id-iter-step-err.js fails
-language/statements/class/dstr-gen-meth-dflt-ary-ptrn-rest-id-iter-val-err.js fails
language/statements/class/dstr-gen-meth-dflt-ary-ptrn-rest-id.js fails
language/statements/class/dstr-gen-meth-dflt-ary-ptrn-rest-obj-id.js fails
language/statements/class/dstr-gen-meth-dflt-ary-ptrn-rest-obj-prop-id.js fails
-language/statements/class/dstr-gen-meth-dflt-obj-init-null.js fails
-language/statements/class/dstr-gen-meth-dflt-obj-init-undefined.js fails
language/statements/class/dstr-gen-meth-dflt-obj-ptrn-empty.js fails
-language/statements/class/dstr-gen-meth-dflt-obj-ptrn-id-get-value-err.js fails
language/statements/class/dstr-gen-meth-dflt-obj-ptrn-id-init-fn-name-arrow.js fails
language/statements/class/dstr-gen-meth-dflt-obj-ptrn-id-init-fn-name-class.js fails
language/statements/class/dstr-gen-meth-dflt-obj-ptrn-id-init-fn-name-cover.js fails
language/statements/class/dstr-gen-meth-dflt-obj-ptrn-id-init-fn-name-fn.js fails
language/statements/class/dstr-gen-meth-dflt-obj-ptrn-id-init-fn-name-gen.js fails
language/statements/class/dstr-gen-meth-dflt-obj-ptrn-id-init-skipped.js fails
-language/statements/class/dstr-gen-meth-dflt-obj-ptrn-id-init-throws.js fails
-language/statements/class/dstr-gen-meth-dflt-obj-ptrn-id-init-unresolvable.js fails
language/statements/class/dstr-gen-meth-dflt-obj-ptrn-id-trailing-comma.js fails
-language/statements/class/dstr-gen-meth-dflt-obj-ptrn-list-err.js fails
language/statements/class/dstr-gen-meth-dflt-obj-ptrn-prop-ary-init.js fails
language/statements/class/dstr-gen-meth-dflt-obj-ptrn-prop-ary-trailing-comma.js fails
-language/statements/class/dstr-gen-meth-dflt-obj-ptrn-prop-ary-value-null.js fails
language/statements/class/dstr-gen-meth-dflt-obj-ptrn-prop-ary.js fails
-language/statements/class/dstr-gen-meth-dflt-obj-ptrn-prop-eval-err.js fails
-language/statements/class/dstr-gen-meth-dflt-obj-ptrn-prop-id-get-value-err.js fails
language/statements/class/dstr-gen-meth-dflt-obj-ptrn-prop-id-init-skipped.js fails
-language/statements/class/dstr-gen-meth-dflt-obj-ptrn-prop-id-init-throws.js fails
-language/statements/class/dstr-gen-meth-dflt-obj-ptrn-prop-id-init-unresolvable.js fails
language/statements/class/dstr-gen-meth-dflt-obj-ptrn-prop-id-init.js fails
language/statements/class/dstr-gen-meth-dflt-obj-ptrn-prop-id-trailing-comma.js fails
language/statements/class/dstr-gen-meth-dflt-obj-ptrn-prop-id.js fails
language/statements/class/dstr-gen-meth-dflt-obj-ptrn-prop-obj-init.js fails
-language/statements/class/dstr-gen-meth-dflt-obj-ptrn-prop-obj-value-null.js fails
-language/statements/class/dstr-gen-meth-dflt-obj-ptrn-prop-obj-value-undef.js fails
language/statements/class/dstr-gen-meth-dflt-obj-ptrn-prop-obj.js fails
-language/statements/class/dstr-gen-meth-obj-init-null.js fails
-language/statements/class/dstr-gen-meth-obj-init-undefined.js fails
language/statements/class/dstr-gen-meth-obj-ptrn-empty.js fails
-language/statements/class/dstr-gen-meth-obj-ptrn-id-get-value-err.js fails
language/statements/class/dstr-gen-meth-obj-ptrn-id-init-fn-name-arrow.js fails
language/statements/class/dstr-gen-meth-obj-ptrn-id-init-fn-name-class.js fails
language/statements/class/dstr-gen-meth-obj-ptrn-id-init-fn-name-cover.js fails
language/statements/class/dstr-gen-meth-obj-ptrn-id-init-fn-name-fn.js fails
language/statements/class/dstr-gen-meth-obj-ptrn-id-init-fn-name-gen.js fails
language/statements/class/dstr-gen-meth-obj-ptrn-id-init-skipped.js fails
-language/statements/class/dstr-gen-meth-obj-ptrn-id-init-throws.js fails
-language/statements/class/dstr-gen-meth-obj-ptrn-id-init-unresolvable.js fails
language/statements/class/dstr-gen-meth-obj-ptrn-id-trailing-comma.js fails
-language/statements/class/dstr-gen-meth-obj-ptrn-list-err.js fails
language/statements/class/dstr-gen-meth-obj-ptrn-prop-ary-init.js fails
language/statements/class/dstr-gen-meth-obj-ptrn-prop-ary-trailing-comma.js fails
-language/statements/class/dstr-gen-meth-obj-ptrn-prop-ary-value-null.js fails
language/statements/class/dstr-gen-meth-obj-ptrn-prop-ary.js fails
-language/statements/class/dstr-gen-meth-obj-ptrn-prop-eval-err.js fails
-language/statements/class/dstr-gen-meth-obj-ptrn-prop-id-get-value-err.js fails
language/statements/class/dstr-gen-meth-obj-ptrn-prop-id-init-skipped.js fails
-language/statements/class/dstr-gen-meth-obj-ptrn-prop-id-init-throws.js fails
-language/statements/class/dstr-gen-meth-obj-ptrn-prop-id-init-unresolvable.js fails
language/statements/class/dstr-gen-meth-obj-ptrn-prop-id-init.js fails
language/statements/class/dstr-gen-meth-obj-ptrn-prop-id-trailing-comma.js fails
language/statements/class/dstr-gen-meth-obj-ptrn-prop-id.js fails
language/statements/class/dstr-gen-meth-obj-ptrn-prop-obj-init.js fails
-language/statements/class/dstr-gen-meth-obj-ptrn-prop-obj-value-null.js fails
-language/statements/class/dstr-gen-meth-obj-ptrn-prop-obj-value-undef.js fails
language/statements/class/dstr-gen-meth-obj-ptrn-prop-obj.js fails
language/statements/class/dstr-gen-meth-static-ary-init-iter-close.js fails
-language/statements/class/dstr-gen-meth-static-ary-init-iter-get-err.js fails
language/statements/class/dstr-gen-meth-static-ary-init-iter-no-close.js fails
language/statements/class/dstr-gen-meth-static-ary-name-iter-val.js fails
language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-ary-elem-init.js fails
@@ -3577,7 +3461,6 @@ language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-ary-empty-init.js f
language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-ary-empty-iter.js fails
language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-ary-rest-init.js fails
language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-ary-rest-iter.js fails
-language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-ary-val-null.js fails
language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-id-init-exhausted.js fails
language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-id-init-fn-name-arrow.js fails
language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-id-init-fn-name-class.js fails
@@ -3586,38 +3469,27 @@ language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-id-init-fn-name-fn.
language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-id-init-fn-name-gen.js fails
language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-id-init-hole.js fails
language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-id-init-skipped.js fails
-language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-id-init-throws.js fails
language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-id-init-undef.js fails
-language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-id-init-unresolvable.js fails
language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-id-iter-complete.js fails
language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-id-iter-done.js fails
-language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-id-iter-step-err.js fails
-language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-id-iter-val-err.js fails
language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-id-iter-val.js fails
language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-obj-id-init.js fails
language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-obj-id.js fails
language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-obj-prop-id-init.js fails
language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-obj-prop-id.js fails
-language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-obj-val-null.js fails
-language/statements/class/dstr-gen-meth-static-ary-ptrn-elem-obj-val-undef.js fails
language/statements/class/dstr-gen-meth-static-ary-ptrn-elision-exhausted.js fails
-language/statements/class/dstr-gen-meth-static-ary-ptrn-elision-step-err.js fails
language/statements/class/dstr-gen-meth-static-ary-ptrn-elision.js fails
language/statements/class/dstr-gen-meth-static-ary-ptrn-empty.js fails
language/statements/class/dstr-gen-meth-static-ary-ptrn-rest-ary-elem.js fails
language/statements/class/dstr-gen-meth-static-ary-ptrn-rest-ary-elision.js fails
language/statements/class/dstr-gen-meth-static-ary-ptrn-rest-ary-empty.js fails
language/statements/class/dstr-gen-meth-static-ary-ptrn-rest-ary-rest.js fails
-language/statements/class/dstr-gen-meth-static-ary-ptrn-rest-id-elision-next-err.js fails
language/statements/class/dstr-gen-meth-static-ary-ptrn-rest-id-elision.js fails
language/statements/class/dstr-gen-meth-static-ary-ptrn-rest-id-exhausted.js fails
-language/statements/class/dstr-gen-meth-static-ary-ptrn-rest-id-iter-step-err.js fails
-language/statements/class/dstr-gen-meth-static-ary-ptrn-rest-id-iter-val-err.js fails
language/statements/class/dstr-gen-meth-static-ary-ptrn-rest-id.js fails
language/statements/class/dstr-gen-meth-static-ary-ptrn-rest-obj-id.js fails
language/statements/class/dstr-gen-meth-static-ary-ptrn-rest-obj-prop-id.js fails
language/statements/class/dstr-gen-meth-static-dflt-ary-init-iter-close.js fails
-language/statements/class/dstr-gen-meth-static-dflt-ary-init-iter-get-err.js fails
language/statements/class/dstr-gen-meth-static-dflt-ary-init-iter-no-close.js fails
language/statements/class/dstr-gen-meth-static-dflt-ary-name-iter-val.js fails
language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-ary-elem-init.js fails
@@ -3628,7 +3500,6 @@ language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-ary-empty-init
language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-ary-empty-iter.js fails
language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-ary-rest-init.js fails
language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-ary-rest-iter.js fails
-language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-ary-val-null.js fails
language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-id-init-exhausted.js fails
language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-id-init-fn-name-arrow.js fails
language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-id-init-fn-name-class.js fails
@@ -3637,421 +3508,68 @@ language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-id-init-fn-nam
language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-id-init-fn-name-gen.js fails
language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-id-init-hole.js fails
language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-id-init-skipped.js fails
-language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-id-init-throws.js fails
language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-id-init-undef.js fails
-language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-id-init-unresolvable.js fails
language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-id-iter-complete.js fails
language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-id-iter-done.js fails
-language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-id-iter-step-err.js fails
-language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-id-iter-val-err.js fails
language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-id-iter-val.js fails
language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-obj-id-init.js fails
language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-obj-id.js fails
language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-obj-prop-id-init.js fails
language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-obj-prop-id.js fails
-language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-obj-val-null.js fails
-language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elem-obj-val-undef.js fails
language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elision-exhausted.js fails
-language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elision-step-err.js fails
language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-elision.js fails
language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-empty.js fails
language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-ary-elem.js fails
language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-ary-elision.js fails
language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-ary-empty.js fails
language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-ary-rest.js fails
-language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-id-elision-next-err.js fails
language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-id-elision.js fails
language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-id-exhausted.js fails
-language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-id-iter-step-err.js fails
-language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-id-iter-val-err.js fails
language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-id.js fails
language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-obj-id.js fails
language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-obj-prop-id.js fails
-language/statements/class/dstr-gen-meth-static-dflt-obj-init-null.js fails
-language/statements/class/dstr-gen-meth-static-dflt-obj-init-undefined.js fails
language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-empty.js fails
-language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-id-get-value-err.js fails
language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-id-init-fn-name-arrow.js fails
language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-id-init-fn-name-class.js fails
language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-id-init-fn-name-cover.js fails
language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-id-init-fn-name-fn.js fails
language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-id-init-fn-name-gen.js fails
language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-id-init-skipped.js fails
-language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-id-init-throws.js fails
-language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-id-init-unresolvable.js fails
language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-id-trailing-comma.js fails
-language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-list-err.js fails
language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-prop-ary-init.js fails
language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-prop-ary-trailing-comma.js fails
-language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-prop-ary-value-null.js fails
language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-prop-ary.js fails
-language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-prop-eval-err.js fails
-language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-prop-id-get-value-err.js fails
language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-prop-id-init-skipped.js fails
-language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-prop-id-init-throws.js fails
-language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-prop-id-init-unresolvable.js fails
language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-prop-id-init.js fails
language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-prop-id-trailing-comma.js fails
language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-prop-id.js fails
language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-prop-obj-init.js fails
-language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-prop-obj-value-null.js fails
-language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-prop-obj-value-undef.js fails
language/statements/class/dstr-gen-meth-static-dflt-obj-ptrn-prop-obj.js fails
-language/statements/class/dstr-gen-meth-static-obj-init-null.js fails
-language/statements/class/dstr-gen-meth-static-obj-init-undefined.js fails
language/statements/class/dstr-gen-meth-static-obj-ptrn-empty.js fails
-language/statements/class/dstr-gen-meth-static-obj-ptrn-id-get-value-err.js fails
language/statements/class/dstr-gen-meth-static-obj-ptrn-id-init-fn-name-arrow.js fails
language/statements/class/dstr-gen-meth-static-obj-ptrn-id-init-fn-name-class.js fails
language/statements/class/dstr-gen-meth-static-obj-ptrn-id-init-fn-name-cover.js fails
language/statements/class/dstr-gen-meth-static-obj-ptrn-id-init-fn-name-fn.js fails
language/statements/class/dstr-gen-meth-static-obj-ptrn-id-init-fn-name-gen.js fails
language/statements/class/dstr-gen-meth-static-obj-ptrn-id-init-skipped.js fails
-language/statements/class/dstr-gen-meth-static-obj-ptrn-id-init-throws.js fails
-language/statements/class/dstr-gen-meth-static-obj-ptrn-id-init-unresolvable.js fails
language/statements/class/dstr-gen-meth-static-obj-ptrn-id-trailing-comma.js fails
-language/statements/class/dstr-gen-meth-static-obj-ptrn-list-err.js fails
language/statements/class/dstr-gen-meth-static-obj-ptrn-prop-ary-init.js fails
language/statements/class/dstr-gen-meth-static-obj-ptrn-prop-ary-trailing-comma.js fails
-language/statements/class/dstr-gen-meth-static-obj-ptrn-prop-ary-value-null.js fails
language/statements/class/dstr-gen-meth-static-obj-ptrn-prop-ary.js fails
-language/statements/class/dstr-gen-meth-static-obj-ptrn-prop-eval-err.js fails
-language/statements/class/dstr-gen-meth-static-obj-ptrn-prop-id-get-value-err.js fails
language/statements/class/dstr-gen-meth-static-obj-ptrn-prop-id-init-skipped.js fails
-language/statements/class/dstr-gen-meth-static-obj-ptrn-prop-id-init-throws.js fails
-language/statements/class/dstr-gen-meth-static-obj-ptrn-prop-id-init-unresolvable.js fails
language/statements/class/dstr-gen-meth-static-obj-ptrn-prop-id-init.js fails
language/statements/class/dstr-gen-meth-static-obj-ptrn-prop-id-trailing-comma.js fails
language/statements/class/dstr-gen-meth-static-obj-ptrn-prop-id.js fails
language/statements/class/dstr-gen-meth-static-obj-ptrn-prop-obj-init.js fails
-language/statements/class/dstr-gen-meth-static-obj-ptrn-prop-obj-value-null.js fails
-language/statements/class/dstr-gen-meth-static-obj-ptrn-prop-obj-value-undef.js fails
language/statements/class/dstr-gen-meth-static-obj-ptrn-prop-obj.js fails
-language/statements/class/dstr-meth-ary-init-iter-close.js fails
-language/statements/class/dstr-meth-ary-init-iter-get-err.js fails
-language/statements/class/dstr-meth-ary-init-iter-no-close.js fails
-language/statements/class/dstr-meth-ary-name-iter-val.js fails
-language/statements/class/dstr-meth-ary-ptrn-elem-ary-elem-init.js fails
-language/statements/class/dstr-meth-ary-ptrn-elem-ary-elem-iter.js fails
-language/statements/class/dstr-meth-ary-ptrn-elem-ary-elision-init.js fails
-language/statements/class/dstr-meth-ary-ptrn-elem-ary-elision-iter.js fails
-language/statements/class/dstr-meth-ary-ptrn-elem-ary-empty-init.js fails
-language/statements/class/dstr-meth-ary-ptrn-elem-ary-empty-iter.js fails
-language/statements/class/dstr-meth-ary-ptrn-elem-ary-rest-init.js fails
-language/statements/class/dstr-meth-ary-ptrn-elem-ary-rest-iter.js fails
-language/statements/class/dstr-meth-ary-ptrn-elem-ary-val-null.js fails
-language/statements/class/dstr-meth-ary-ptrn-elem-id-init-exhausted.js fails
-language/statements/class/dstr-meth-ary-ptrn-elem-id-init-fn-name-arrow.js fails
language/statements/class/dstr-meth-ary-ptrn-elem-id-init-fn-name-class.js fails
-language/statements/class/dstr-meth-ary-ptrn-elem-id-init-fn-name-cover.js fails
-language/statements/class/dstr-meth-ary-ptrn-elem-id-init-fn-name-fn.js fails
-language/statements/class/dstr-meth-ary-ptrn-elem-id-init-fn-name-gen.js fails
-language/statements/class/dstr-meth-ary-ptrn-elem-id-init-hole.js fails
-language/statements/class/dstr-meth-ary-ptrn-elem-id-init-skipped.js fails
-language/statements/class/dstr-meth-ary-ptrn-elem-id-init-throws.js fails
-language/statements/class/dstr-meth-ary-ptrn-elem-id-init-undef.js fails
-language/statements/class/dstr-meth-ary-ptrn-elem-id-init-unresolvable.js fails
-language/statements/class/dstr-meth-ary-ptrn-elem-id-iter-complete.js fails
-language/statements/class/dstr-meth-ary-ptrn-elem-id-iter-done.js fails
-language/statements/class/dstr-meth-ary-ptrn-elem-id-iter-step-err.js fails
-language/statements/class/dstr-meth-ary-ptrn-elem-id-iter-val-err.js fails
-language/statements/class/dstr-meth-ary-ptrn-elem-id-iter-val.js fails
-language/statements/class/dstr-meth-ary-ptrn-elem-obj-id-init.js fails
-language/statements/class/dstr-meth-ary-ptrn-elem-obj-id.js fails
-language/statements/class/dstr-meth-ary-ptrn-elem-obj-prop-id-init.js fails
-language/statements/class/dstr-meth-ary-ptrn-elem-obj-prop-id.js fails
-language/statements/class/dstr-meth-ary-ptrn-elem-obj-val-null.js fails
-language/statements/class/dstr-meth-ary-ptrn-elem-obj-val-undef.js fails
-language/statements/class/dstr-meth-ary-ptrn-elision-exhausted.js fails
-language/statements/class/dstr-meth-ary-ptrn-elision-step-err.js fails
-language/statements/class/dstr-meth-ary-ptrn-elision.js fails
-language/statements/class/dstr-meth-ary-ptrn-empty.js fails
-language/statements/class/dstr-meth-ary-ptrn-rest-ary-elem.js fails
-language/statements/class/dstr-meth-ary-ptrn-rest-ary-elision.js fails
-language/statements/class/dstr-meth-ary-ptrn-rest-ary-empty.js fails
-language/statements/class/dstr-meth-ary-ptrn-rest-ary-rest.js fails
-language/statements/class/dstr-meth-ary-ptrn-rest-id-elision-next-err.js fails
-language/statements/class/dstr-meth-ary-ptrn-rest-id-elision.js fails
-language/statements/class/dstr-meth-ary-ptrn-rest-id-exhausted.js fails
-language/statements/class/dstr-meth-ary-ptrn-rest-id-iter-step-err.js fails
-language/statements/class/dstr-meth-ary-ptrn-rest-id-iter-val-err.js fails
-language/statements/class/dstr-meth-ary-ptrn-rest-id.js fails
-language/statements/class/dstr-meth-ary-ptrn-rest-obj-id.js fails
-language/statements/class/dstr-meth-ary-ptrn-rest-obj-prop-id.js fails
-language/statements/class/dstr-meth-dflt-ary-init-iter-close.js fails
-language/statements/class/dstr-meth-dflt-ary-init-iter-get-err.js fails
-language/statements/class/dstr-meth-dflt-ary-init-iter-no-close.js fails
-language/statements/class/dstr-meth-dflt-ary-name-iter-val.js fails
-language/statements/class/dstr-meth-dflt-ary-ptrn-elem-ary-elem-init.js fails
-language/statements/class/dstr-meth-dflt-ary-ptrn-elem-ary-elem-iter.js fails
-language/statements/class/dstr-meth-dflt-ary-ptrn-elem-ary-elision-init.js fails
-language/statements/class/dstr-meth-dflt-ary-ptrn-elem-ary-elision-iter.js fails
-language/statements/class/dstr-meth-dflt-ary-ptrn-elem-ary-empty-init.js fails
-language/statements/class/dstr-meth-dflt-ary-ptrn-elem-ary-empty-iter.js fails
-language/statements/class/dstr-meth-dflt-ary-ptrn-elem-ary-rest-init.js fails
-language/statements/class/dstr-meth-dflt-ary-ptrn-elem-ary-rest-iter.js fails
-language/statements/class/dstr-meth-dflt-ary-ptrn-elem-ary-val-null.js fails
-language/statements/class/dstr-meth-dflt-ary-ptrn-elem-id-init-exhausted.js fails
-language/statements/class/dstr-meth-dflt-ary-ptrn-elem-id-init-fn-name-arrow.js fails
language/statements/class/dstr-meth-dflt-ary-ptrn-elem-id-init-fn-name-class.js fails
-language/statements/class/dstr-meth-dflt-ary-ptrn-elem-id-init-fn-name-cover.js fails
-language/statements/class/dstr-meth-dflt-ary-ptrn-elem-id-init-fn-name-fn.js fails
-language/statements/class/dstr-meth-dflt-ary-ptrn-elem-id-init-fn-name-gen.js fails
-language/statements/class/dstr-meth-dflt-ary-ptrn-elem-id-init-hole.js fails
-language/statements/class/dstr-meth-dflt-ary-ptrn-elem-id-init-skipped.js fails
-language/statements/class/dstr-meth-dflt-ary-ptrn-elem-id-init-throws.js fails
-language/statements/class/dstr-meth-dflt-ary-ptrn-elem-id-init-undef.js fails
-language/statements/class/dstr-meth-dflt-ary-ptrn-elem-id-init-unresolvable.js fails
-language/statements/class/dstr-meth-dflt-ary-ptrn-elem-id-iter-complete.js fails
-language/statements/class/dstr-meth-dflt-ary-ptrn-elem-id-iter-done.js fails
-language/statements/class/dstr-meth-dflt-ary-ptrn-elem-id-iter-step-err.js fails
-language/statements/class/dstr-meth-dflt-ary-ptrn-elem-id-iter-val-err.js fails
-language/statements/class/dstr-meth-dflt-ary-ptrn-elem-id-iter-val.js fails
-language/statements/class/dstr-meth-dflt-ary-ptrn-elem-obj-id-init.js fails
-language/statements/class/dstr-meth-dflt-ary-ptrn-elem-obj-id.js fails
-language/statements/class/dstr-meth-dflt-ary-ptrn-elem-obj-prop-id-init.js fails
-language/statements/class/dstr-meth-dflt-ary-ptrn-elem-obj-prop-id.js fails
-language/statements/class/dstr-meth-dflt-ary-ptrn-elem-obj-val-null.js fails
-language/statements/class/dstr-meth-dflt-ary-ptrn-elem-obj-val-undef.js fails
-language/statements/class/dstr-meth-dflt-ary-ptrn-elision-exhausted.js fails
-language/statements/class/dstr-meth-dflt-ary-ptrn-elision-step-err.js fails
-language/statements/class/dstr-meth-dflt-ary-ptrn-elision.js fails
-language/statements/class/dstr-meth-dflt-ary-ptrn-empty.js fails
-language/statements/class/dstr-meth-dflt-ary-ptrn-rest-ary-elem.js fails
-language/statements/class/dstr-meth-dflt-ary-ptrn-rest-ary-elision.js fails
-language/statements/class/dstr-meth-dflt-ary-ptrn-rest-ary-empty.js fails
-language/statements/class/dstr-meth-dflt-ary-ptrn-rest-ary-rest.js fails
-language/statements/class/dstr-meth-dflt-ary-ptrn-rest-id-elision-next-err.js fails
-language/statements/class/dstr-meth-dflt-ary-ptrn-rest-id-elision.js fails
-language/statements/class/dstr-meth-dflt-ary-ptrn-rest-id-exhausted.js fails
-language/statements/class/dstr-meth-dflt-ary-ptrn-rest-id-iter-step-err.js fails
-language/statements/class/dstr-meth-dflt-ary-ptrn-rest-id-iter-val-err.js fails
-language/statements/class/dstr-meth-dflt-ary-ptrn-rest-id.js fails
-language/statements/class/dstr-meth-dflt-ary-ptrn-rest-obj-id.js fails
-language/statements/class/dstr-meth-dflt-ary-ptrn-rest-obj-prop-id.js fails
-language/statements/class/dstr-meth-dflt-obj-init-null.js fails
-language/statements/class/dstr-meth-dflt-obj-init-undefined.js fails
-language/statements/class/dstr-meth-dflt-obj-ptrn-empty.js fails
-language/statements/class/dstr-meth-dflt-obj-ptrn-id-get-value-err.js fails
-language/statements/class/dstr-meth-dflt-obj-ptrn-id-init-fn-name-arrow.js fails
language/statements/class/dstr-meth-dflt-obj-ptrn-id-init-fn-name-class.js fails
-language/statements/class/dstr-meth-dflt-obj-ptrn-id-init-fn-name-cover.js fails
-language/statements/class/dstr-meth-dflt-obj-ptrn-id-init-fn-name-fn.js fails
-language/statements/class/dstr-meth-dflt-obj-ptrn-id-init-fn-name-gen.js fails
-language/statements/class/dstr-meth-dflt-obj-ptrn-id-init-skipped.js fails
-language/statements/class/dstr-meth-dflt-obj-ptrn-id-init-throws.js fails
-language/statements/class/dstr-meth-dflt-obj-ptrn-id-init-unresolvable.js fails
-language/statements/class/dstr-meth-dflt-obj-ptrn-id-trailing-comma.js fails
-language/statements/class/dstr-meth-dflt-obj-ptrn-list-err.js fails
-language/statements/class/dstr-meth-dflt-obj-ptrn-prop-ary-init.js fails
-language/statements/class/dstr-meth-dflt-obj-ptrn-prop-ary-trailing-comma.js fails
-language/statements/class/dstr-meth-dflt-obj-ptrn-prop-ary-value-null.js fails
-language/statements/class/dstr-meth-dflt-obj-ptrn-prop-ary.js fails
-language/statements/class/dstr-meth-dflt-obj-ptrn-prop-eval-err.js fails
-language/statements/class/dstr-meth-dflt-obj-ptrn-prop-id-get-value-err.js fails
-language/statements/class/dstr-meth-dflt-obj-ptrn-prop-id-init-skipped.js fails
-language/statements/class/dstr-meth-dflt-obj-ptrn-prop-id-init-throws.js fails
-language/statements/class/dstr-meth-dflt-obj-ptrn-prop-id-init-unresolvable.js fails
-language/statements/class/dstr-meth-dflt-obj-ptrn-prop-id-init.js fails
-language/statements/class/dstr-meth-dflt-obj-ptrn-prop-id-trailing-comma.js fails
-language/statements/class/dstr-meth-dflt-obj-ptrn-prop-id.js fails
-language/statements/class/dstr-meth-dflt-obj-ptrn-prop-obj-init.js fails
-language/statements/class/dstr-meth-dflt-obj-ptrn-prop-obj-value-null.js fails
-language/statements/class/dstr-meth-dflt-obj-ptrn-prop-obj-value-undef.js fails
-language/statements/class/dstr-meth-dflt-obj-ptrn-prop-obj.js fails
-language/statements/class/dstr-meth-obj-init-null.js fails
-language/statements/class/dstr-meth-obj-init-undefined.js fails
-language/statements/class/dstr-meth-obj-ptrn-empty.js fails
-language/statements/class/dstr-meth-obj-ptrn-id-get-value-err.js fails
-language/statements/class/dstr-meth-obj-ptrn-id-init-fn-name-arrow.js fails
language/statements/class/dstr-meth-obj-ptrn-id-init-fn-name-class.js fails
-language/statements/class/dstr-meth-obj-ptrn-id-init-fn-name-cover.js fails
-language/statements/class/dstr-meth-obj-ptrn-id-init-fn-name-fn.js fails
-language/statements/class/dstr-meth-obj-ptrn-id-init-fn-name-gen.js fails
-language/statements/class/dstr-meth-obj-ptrn-id-init-skipped.js fails
-language/statements/class/dstr-meth-obj-ptrn-id-init-throws.js fails
-language/statements/class/dstr-meth-obj-ptrn-id-init-unresolvable.js fails
-language/statements/class/dstr-meth-obj-ptrn-id-trailing-comma.js fails
-language/statements/class/dstr-meth-obj-ptrn-list-err.js fails
-language/statements/class/dstr-meth-obj-ptrn-prop-ary-init.js fails
-language/statements/class/dstr-meth-obj-ptrn-prop-ary-trailing-comma.js fails
-language/statements/class/dstr-meth-obj-ptrn-prop-ary-value-null.js fails
-language/statements/class/dstr-meth-obj-ptrn-prop-ary.js fails
-language/statements/class/dstr-meth-obj-ptrn-prop-eval-err.js fails
-language/statements/class/dstr-meth-obj-ptrn-prop-id-get-value-err.js fails
-language/statements/class/dstr-meth-obj-ptrn-prop-id-init-skipped.js fails
-language/statements/class/dstr-meth-obj-ptrn-prop-id-init-throws.js fails
-language/statements/class/dstr-meth-obj-ptrn-prop-id-init-unresolvable.js fails
-language/statements/class/dstr-meth-obj-ptrn-prop-id-init.js fails
-language/statements/class/dstr-meth-obj-ptrn-prop-id-trailing-comma.js fails
-language/statements/class/dstr-meth-obj-ptrn-prop-id.js fails
-language/statements/class/dstr-meth-obj-ptrn-prop-obj-init.js fails
-language/statements/class/dstr-meth-obj-ptrn-prop-obj-value-null.js fails
-language/statements/class/dstr-meth-obj-ptrn-prop-obj-value-undef.js fails
-language/statements/class/dstr-meth-obj-ptrn-prop-obj.js fails
-language/statements/class/dstr-meth-static-ary-init-iter-close.js fails
-language/statements/class/dstr-meth-static-ary-init-iter-get-err.js fails
-language/statements/class/dstr-meth-static-ary-init-iter-no-close.js fails
-language/statements/class/dstr-meth-static-ary-name-iter-val.js fails
-language/statements/class/dstr-meth-static-ary-ptrn-elem-ary-elem-init.js fails
-language/statements/class/dstr-meth-static-ary-ptrn-elem-ary-elem-iter.js fails
-language/statements/class/dstr-meth-static-ary-ptrn-elem-ary-elision-init.js fails
-language/statements/class/dstr-meth-static-ary-ptrn-elem-ary-elision-iter.js fails
-language/statements/class/dstr-meth-static-ary-ptrn-elem-ary-empty-init.js fails
-language/statements/class/dstr-meth-static-ary-ptrn-elem-ary-empty-iter.js fails
-language/statements/class/dstr-meth-static-ary-ptrn-elem-ary-rest-init.js fails
-language/statements/class/dstr-meth-static-ary-ptrn-elem-ary-rest-iter.js fails
-language/statements/class/dstr-meth-static-ary-ptrn-elem-ary-val-null.js fails
-language/statements/class/dstr-meth-static-ary-ptrn-elem-id-init-exhausted.js fails
-language/statements/class/dstr-meth-static-ary-ptrn-elem-id-init-fn-name-arrow.js fails
language/statements/class/dstr-meth-static-ary-ptrn-elem-id-init-fn-name-class.js fails
-language/statements/class/dstr-meth-static-ary-ptrn-elem-id-init-fn-name-cover.js fails
-language/statements/class/dstr-meth-static-ary-ptrn-elem-id-init-fn-name-fn.js fails
-language/statements/class/dstr-meth-static-ary-ptrn-elem-id-init-fn-name-gen.js fails
-language/statements/class/dstr-meth-static-ary-ptrn-elem-id-init-hole.js fails
-language/statements/class/dstr-meth-static-ary-ptrn-elem-id-init-skipped.js fails
-language/statements/class/dstr-meth-static-ary-ptrn-elem-id-init-throws.js fails
-language/statements/class/dstr-meth-static-ary-ptrn-elem-id-init-undef.js fails
-language/statements/class/dstr-meth-static-ary-ptrn-elem-id-init-unresolvable.js fails
-language/statements/class/dstr-meth-static-ary-ptrn-elem-id-iter-complete.js fails
-language/statements/class/dstr-meth-static-ary-ptrn-elem-id-iter-done.js fails
-language/statements/class/dstr-meth-static-ary-ptrn-elem-id-iter-step-err.js fails
-language/statements/class/dstr-meth-static-ary-ptrn-elem-id-iter-val-err.js fails
-language/statements/class/dstr-meth-static-ary-ptrn-elem-id-iter-val.js fails
-language/statements/class/dstr-meth-static-ary-ptrn-elem-obj-id-init.js fails
-language/statements/class/dstr-meth-static-ary-ptrn-elem-obj-id.js fails
-language/statements/class/dstr-meth-static-ary-ptrn-elem-obj-prop-id-init.js fails
-language/statements/class/dstr-meth-static-ary-ptrn-elem-obj-prop-id.js fails
-language/statements/class/dstr-meth-static-ary-ptrn-elem-obj-val-null.js fails
-language/statements/class/dstr-meth-static-ary-ptrn-elem-obj-val-undef.js fails
-language/statements/class/dstr-meth-static-ary-ptrn-elision-exhausted.js fails
-language/statements/class/dstr-meth-static-ary-ptrn-elision-step-err.js fails
-language/statements/class/dstr-meth-static-ary-ptrn-elision.js fails
-language/statements/class/dstr-meth-static-ary-ptrn-empty.js fails
-language/statements/class/dstr-meth-static-ary-ptrn-rest-ary-elem.js fails
-language/statements/class/dstr-meth-static-ary-ptrn-rest-ary-elision.js fails
-language/statements/class/dstr-meth-static-ary-ptrn-rest-ary-empty.js fails
-language/statements/class/dstr-meth-static-ary-ptrn-rest-ary-rest.js fails
-language/statements/class/dstr-meth-static-ary-ptrn-rest-id-elision-next-err.js fails
-language/statements/class/dstr-meth-static-ary-ptrn-rest-id-elision.js fails
-language/statements/class/dstr-meth-static-ary-ptrn-rest-id-exhausted.js fails
-language/statements/class/dstr-meth-static-ary-ptrn-rest-id-iter-step-err.js fails
-language/statements/class/dstr-meth-static-ary-ptrn-rest-id-iter-val-err.js fails
-language/statements/class/dstr-meth-static-ary-ptrn-rest-id.js fails
-language/statements/class/dstr-meth-static-ary-ptrn-rest-obj-id.js fails
-language/statements/class/dstr-meth-static-ary-ptrn-rest-obj-prop-id.js fails
-language/statements/class/dstr-meth-static-dflt-ary-init-iter-close.js fails
-language/statements/class/dstr-meth-static-dflt-ary-init-iter-get-err.js fails
-language/statements/class/dstr-meth-static-dflt-ary-init-iter-no-close.js fails
-language/statements/class/dstr-meth-static-dflt-ary-name-iter-val.js fails
-language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-ary-elem-init.js fails
-language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-ary-elem-iter.js fails
-language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-ary-elision-init.js fails
-language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-ary-elision-iter.js fails
-language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-ary-empty-init.js fails
-language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-ary-empty-iter.js fails
-language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-ary-rest-init.js fails
-language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-ary-rest-iter.js fails
-language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-ary-val-null.js fails
-language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-id-init-exhausted.js fails
-language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-id-init-fn-name-arrow.js fails
language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-id-init-fn-name-class.js fails
-language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-id-init-fn-name-cover.js fails
-language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-id-init-fn-name-fn.js fails
-language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-id-init-fn-name-gen.js fails
-language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-id-init-hole.js fails
-language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-id-init-skipped.js fails
-language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-id-init-throws.js fails
-language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-id-init-undef.js fails
-language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-id-init-unresolvable.js fails
-language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-id-iter-complete.js fails
-language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-id-iter-done.js fails
-language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-id-iter-step-err.js fails
-language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-id-iter-val-err.js fails
-language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-id-iter-val.js fails
-language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-obj-id-init.js fails
-language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-obj-id.js fails
-language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-obj-prop-id-init.js fails
-language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-obj-prop-id.js fails
-language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-obj-val-null.js fails
-language/statements/class/dstr-meth-static-dflt-ary-ptrn-elem-obj-val-undef.js fails
-language/statements/class/dstr-meth-static-dflt-ary-ptrn-elision-exhausted.js fails
-language/statements/class/dstr-meth-static-dflt-ary-ptrn-elision-step-err.js fails
-language/statements/class/dstr-meth-static-dflt-ary-ptrn-elision.js fails
-language/statements/class/dstr-meth-static-dflt-ary-ptrn-empty.js fails
-language/statements/class/dstr-meth-static-dflt-ary-ptrn-rest-ary-elem.js fails
-language/statements/class/dstr-meth-static-dflt-ary-ptrn-rest-ary-elision.js fails
-language/statements/class/dstr-meth-static-dflt-ary-ptrn-rest-ary-empty.js fails
-language/statements/class/dstr-meth-static-dflt-ary-ptrn-rest-ary-rest.js fails
-language/statements/class/dstr-meth-static-dflt-ary-ptrn-rest-id-elision-next-err.js fails
-language/statements/class/dstr-meth-static-dflt-ary-ptrn-rest-id-elision.js fails
-language/statements/class/dstr-meth-static-dflt-ary-ptrn-rest-id-exhausted.js fails
-language/statements/class/dstr-meth-static-dflt-ary-ptrn-rest-id-iter-step-err.js fails
-language/statements/class/dstr-meth-static-dflt-ary-ptrn-rest-id-iter-val-err.js fails
-language/statements/class/dstr-meth-static-dflt-ary-ptrn-rest-id.js fails
-language/statements/class/dstr-meth-static-dflt-ary-ptrn-rest-obj-id.js fails
-language/statements/class/dstr-meth-static-dflt-ary-ptrn-rest-obj-prop-id.js fails
-language/statements/class/dstr-meth-static-dflt-obj-init-null.js fails
-language/statements/class/dstr-meth-static-dflt-obj-init-undefined.js fails
-language/statements/class/dstr-meth-static-dflt-obj-ptrn-empty.js fails
-language/statements/class/dstr-meth-static-dflt-obj-ptrn-id-get-value-err.js fails
-language/statements/class/dstr-meth-static-dflt-obj-ptrn-id-init-fn-name-arrow.js fails
language/statements/class/dstr-meth-static-dflt-obj-ptrn-id-init-fn-name-class.js fails
-language/statements/class/dstr-meth-static-dflt-obj-ptrn-id-init-fn-name-cover.js fails
-language/statements/class/dstr-meth-static-dflt-obj-ptrn-id-init-fn-name-fn.js fails
-language/statements/class/dstr-meth-static-dflt-obj-ptrn-id-init-fn-name-gen.js fails
-language/statements/class/dstr-meth-static-dflt-obj-ptrn-id-init-skipped.js fails
-language/statements/class/dstr-meth-static-dflt-obj-ptrn-id-init-throws.js fails
-language/statements/class/dstr-meth-static-dflt-obj-ptrn-id-init-unresolvable.js fails
-language/statements/class/dstr-meth-static-dflt-obj-ptrn-id-trailing-comma.js fails
-language/statements/class/dstr-meth-static-dflt-obj-ptrn-list-err.js fails
-language/statements/class/dstr-meth-static-dflt-obj-ptrn-prop-ary-init.js fails
-language/statements/class/dstr-meth-static-dflt-obj-ptrn-prop-ary-trailing-comma.js fails
-language/statements/class/dstr-meth-static-dflt-obj-ptrn-prop-ary-value-null.js fails
-language/statements/class/dstr-meth-static-dflt-obj-ptrn-prop-ary.js fails
-language/statements/class/dstr-meth-static-dflt-obj-ptrn-prop-eval-err.js fails
-language/statements/class/dstr-meth-static-dflt-obj-ptrn-prop-id-get-value-err.js fails
-language/statements/class/dstr-meth-static-dflt-obj-ptrn-prop-id-init-skipped.js fails
-language/statements/class/dstr-meth-static-dflt-obj-ptrn-prop-id-init-throws.js fails
-language/statements/class/dstr-meth-static-dflt-obj-ptrn-prop-id-init-unresolvable.js fails
-language/statements/class/dstr-meth-static-dflt-obj-ptrn-prop-id-init.js fails
-language/statements/class/dstr-meth-static-dflt-obj-ptrn-prop-id-trailing-comma.js fails
-language/statements/class/dstr-meth-static-dflt-obj-ptrn-prop-id.js fails
-language/statements/class/dstr-meth-static-dflt-obj-ptrn-prop-obj-init.js fails
-language/statements/class/dstr-meth-static-dflt-obj-ptrn-prop-obj-value-null.js fails
-language/statements/class/dstr-meth-static-dflt-obj-ptrn-prop-obj-value-undef.js fails
-language/statements/class/dstr-meth-static-dflt-obj-ptrn-prop-obj.js fails
-language/statements/class/dstr-meth-static-obj-init-null.js fails
-language/statements/class/dstr-meth-static-obj-init-undefined.js fails
-language/statements/class/dstr-meth-static-obj-ptrn-empty.js fails
-language/statements/class/dstr-meth-static-obj-ptrn-id-get-value-err.js fails
-language/statements/class/dstr-meth-static-obj-ptrn-id-init-fn-name-arrow.js fails
language/statements/class/dstr-meth-static-obj-ptrn-id-init-fn-name-class.js fails
-language/statements/class/dstr-meth-static-obj-ptrn-id-init-fn-name-cover.js fails
-language/statements/class/dstr-meth-static-obj-ptrn-id-init-fn-name-fn.js fails
-language/statements/class/dstr-meth-static-obj-ptrn-id-init-fn-name-gen.js fails
-language/statements/class/dstr-meth-static-obj-ptrn-id-init-skipped.js fails
-language/statements/class/dstr-meth-static-obj-ptrn-id-init-throws.js fails
-language/statements/class/dstr-meth-static-obj-ptrn-id-init-unresolvable.js fails
-language/statements/class/dstr-meth-static-obj-ptrn-id-trailing-comma.js fails
-language/statements/class/dstr-meth-static-obj-ptrn-list-err.js fails
-language/statements/class/dstr-meth-static-obj-ptrn-prop-ary-init.js fails
-language/statements/class/dstr-meth-static-obj-ptrn-prop-ary-trailing-comma.js fails
-language/statements/class/dstr-meth-static-obj-ptrn-prop-ary-value-null.js fails
-language/statements/class/dstr-meth-static-obj-ptrn-prop-ary.js fails
-language/statements/class/dstr-meth-static-obj-ptrn-prop-eval-err.js fails
-language/statements/class/dstr-meth-static-obj-ptrn-prop-id-get-value-err.js fails
-language/statements/class/dstr-meth-static-obj-ptrn-prop-id-init-skipped.js fails
-language/statements/class/dstr-meth-static-obj-ptrn-prop-id-init-throws.js fails
-language/statements/class/dstr-meth-static-obj-ptrn-prop-id-init-unresolvable.js fails
-language/statements/class/dstr-meth-static-obj-ptrn-prop-id-init.js fails
-language/statements/class/dstr-meth-static-obj-ptrn-prop-id-trailing-comma.js fails
-language/statements/class/dstr-meth-static-obj-ptrn-prop-id.js fails
-language/statements/class/dstr-meth-static-obj-ptrn-prop-obj-init.js fails
-language/statements/class/dstr-meth-static-obj-ptrn-prop-obj-value-null.js fails
-language/statements/class/dstr-meth-static-obj-ptrn-prop-obj-value-undef.js fails
-language/statements/class/dstr-meth-static-obj-ptrn-prop-obj.js fails
-language/statements/class/gen-meth-dflt-params-abrupt.js fails
language/statements/class/gen-meth-dflt-params-arg-val-not-undefined.js fails
language/statements/class/gen-meth-dflt-params-arg-val-undefined.js fails
language/statements/class/gen-meth-dflt-params-ref-later.js fails
@@ -4060,7 +3578,6 @@ language/statements/class/gen-meth-dflt-params-ref-self.js fails
language/statements/class/gen-meth-dflt-params-trailing-comma.js fails
language/statements/class/gen-meth-params-trailing-comma-multiple.js fails
language/statements/class/gen-meth-params-trailing-comma-single.js fails
-language/statements/class/gen-meth-static-dflt-params-abrupt.js fails
language/statements/class/gen-meth-static-dflt-params-arg-val-not-undefined.js fails
language/statements/class/gen-meth-static-dflt-params-arg-val-undefined.js fails
language/statements/class/gen-meth-static-dflt-params-ref-later.js fails
@@ -4069,31 +3586,14 @@ language/statements/class/gen-meth-static-dflt-params-ref-self.js fails
language/statements/class/gen-meth-static-dflt-params-trailing-comma.js fails
language/statements/class/gen-meth-static-params-trailing-comma-multiple.js fails
language/statements/class/gen-meth-static-params-trailing-comma-single.js fails
-language/statements/class/gen-method-length-dflt.js fails
language/statements/class/gen-method-static-yield-spread-arr-multiple.js fails
language/statements/class/gen-method-static-yield-spread-arr-single.js fails
language/statements/class/gen-method-yield-spread-arr-multiple.js fails
language/statements/class/gen-method-yield-spread-arr-single.js fails
-language/statements/class/meth-dflt-params-abrupt.js fails
-language/statements/class/meth-dflt-params-arg-val-not-undefined.js fails
-language/statements/class/meth-dflt-params-arg-val-undefined.js fails
language/statements/class/meth-dflt-params-ref-later.js fails
-language/statements/class/meth-dflt-params-ref-prior.js fails
language/statements/class/meth-dflt-params-ref-self.js fails
-language/statements/class/meth-dflt-params-trailing-comma.js fails
-language/statements/class/meth-params-trailing-comma-multiple.js fails
-language/statements/class/meth-params-trailing-comma-single.js fails
-language/statements/class/meth-static-dflt-params-abrupt.js fails
-language/statements/class/meth-static-dflt-params-arg-val-not-undefined.js fails
-language/statements/class/meth-static-dflt-params-arg-val-undefined.js fails
language/statements/class/meth-static-dflt-params-ref-later.js fails
-language/statements/class/meth-static-dflt-params-ref-prior.js fails
language/statements/class/meth-static-dflt-params-ref-self.js fails
-language/statements/class/meth-static-dflt-params-trailing-comma.js fails
-language/statements/class/meth-static-params-trailing-comma-multiple.js fails
-language/statements/class/meth-static-params-trailing-comma-single.js fails
-language/statements/class/method-length-dflt.js fails
-language/statements/class/name-binding/expression.js fails
language/statements/class/name-binding/in-extends-expression-assigned.js fails
language/statements/class/name-binding/in-extends-expression-grouped.js fails
language/statements/class/name-binding/in-extends-expression.js fails
@@ -4102,28 +3602,18 @@ language/statements/class/params-dflt-gen-meth-args-unmapped.js fails
language/statements/class/params-dflt-gen-meth-ref-arguments.js fails
language/statements/class/params-dflt-gen-meth-static-args-unmapped.js fails
language/statements/class/params-dflt-gen-meth-static-ref-arguments.js fails
-language/statements/class/params-dflt-meth-args-unmapped.js fails
-language/statements/class/params-dflt-meth-ref-arguments.js fails
-language/statements/class/params-dflt-meth-static-args-unmapped.js fails
-language/statements/class/params-dflt-meth-static-ref-arguments.js fails
language/statements/class/restricted-properties.js fails
language/statements/class/scope-gen-meth-paramsbody-var-close.js fails
language/statements/class/scope-gen-meth-paramsbody-var-open.js fails
-language/statements/class/scope-meth-paramsbody-var-close.js fails
language/statements/class/scope-meth-paramsbody-var-open.js fails
-language/statements/class/scope-name-lex-close.js fails
language/statements/class/scope-name-lex-open-heritage.js fails
-language/statements/class/scope-name-lex-open-no-heritage.js fails
-language/statements/class/scope-setter-paramsbody-var-close.js fails
language/statements/class/scope-setter-paramsbody-var-open.js fails
language/statements/class/scope-static-gen-meth-paramsbody-var-close.js fails
language/statements/class/scope-static-gen-meth-paramsbody-var-open.js fails
-language/statements/class/scope-static-meth-paramsbody-var-close.js fails
language/statements/class/scope-static-meth-paramsbody-var-open.js fails
-language/statements/class/scope-static-setter-paramsbody-var-close.js fails
language/statements/class/scope-static-setter-paramsbody-var-open.js fails
-language/statements/class/setter-length-dflt.js fails
-language/statements/class/static-method-length-dflt.js fails
+language/statements/class/static-method-gen-non-configurable-err.js fails
+language/statements/class/static-method-non-configurable-err.js fails
language/statements/class/strict-mode/arguments-callee.js fails
language/statements/class/subclass/binding.js fails
language/statements/class/subclass/bound-function.js fails
@@ -4229,11 +3719,7 @@ language/statements/class/super/in-static-methods.js fails
language/statements/class/super/in-static-setter.js fails
language/statements/class/syntax/class-body-has-direct-super-class-heritage.js fails
language/statements/class/syntax/class-body-method-definition-super-property.js fails
-language/statements/class/syntax/class-declaration-binding-identifier-class-element-list.js fails
-language/statements/class/syntax/class-declaration-computed-method-definition.js fails
-language/statements/class/syntax/class-declaration-computed-method-generator-definition.js fails
language/statements/class/syntax/class-declaration-heritage-identifier-reference-class-element-list.js fails
-language/statements/class/syntax/class-expression-binding-identifier-opt-class-element-list.js fails
language/statements/class/syntax/class-expression-heritage-identifier-reference.js fails
language/statements/class/syntax/class-expression.js fails
language/statements/const/block-local-closure-get-before-initialization.js fails