diff options
-rw-r--r-- | src/qml/compiler/qv4codegen.cpp | 6 | ||||
-rw-r--r-- | src/qml/compiler/qv4compileddata_p.h | 20 | ||||
-rw-r--r-- | src/qml/compiler/qv4compiler.cpp | 39 | ||||
-rw-r--r-- | src/qml/compiler/qv4compilercontext_p.h | 8 | ||||
-rw-r--r-- | src/qml/jsruntime/qv4functionobject.cpp | 16 | ||||
-rw-r--r-- | src/qml/jsruntime/qv4functionobject_p.h | 10 | ||||
-rw-r--r-- | src/qml/jsruntime/qv4runtime.cpp | 57 | ||||
-rw-r--r-- | tests/auto/qml/ecmascripttests/TestExpectations | 530 |
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 |