From e3feffb01e06ecaa966cd720e90f11d0087c13fd Mon Sep 17 00:00:00 2001
From: Mathias Bynens <mathias@qiwi.be>
Date: Wed, 26 Sep 2018 19:18:22 -0400
Subject: [PATCH] =?UTF-8?q?Move=20`throw=20"=E2=80=A6"`=20for=20negative?=
 =?UTF-8?q?=20parsing=20errors=20to=20a=20helper=20function?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Closes #1634.
---
 CONTRIBUTING.md                                  |  2 +-
 INTERPRETING.md                                  | 16 ++++++++--------
 harness/sta.js                                   |  4 ++++
 .../await-as-binding-identifier-escaped.case     |  2 +-
 .../await-as-binding-identifier.case             |  2 +-
 .../await-as-identifier-reference-escaped.case   |  2 +-
 .../await-as-identifier-reference.case           |  2 +-
 .../await-as-label-identifier-escaped.case       |  2 +-
 .../await-as-label-identifier.case               |  2 +-
 .../await-as-binding-identifier-escaped.case     |  2 +-
 .../await-as-binding-identifier.case             |  2 +-
 .../await-as-identifier-reference-escaped.case   |  2 +-
 .../await-as-identifier-reference.case           |  2 +-
 .../await-as-label-identifier-escaped.case       |  2 +-
 .../await-as-label-identifier.case               |  2 +-
 .../yield-as-binding-identifier-escaped.case     |  2 +-
 .../yield-as-binding-identifier.case             |  2 +-
 .../yield-as-identifier-reference-escaped.case   |  2 +-
 .../yield-as-identifier-reference.case           |  2 +-
 .../yield-as-label-identifier-escaped.case       |  2 +-
 .../yield-as-label-identifier.case               |  2 +-
 .../yield-identifier-spread-strict.case          |  2 +-
 .../yield-identifier-strict.case                 |  2 +-
 .../cls-decl-field-delete-covered.template       |  2 +-
 .../cls-decl-field-delete-twice-covered.template |  2 +-
 .../delete-error/cls-decl-field-delete.template  |  2 +-
 .../cls-decl-method-delete-covered.template      |  2 +-
 ...cls-decl-method-delete-twice-covered.template |  2 +-
 .../delete-error/cls-decl-method-delete.template |  2 +-
 .../cls-expr-field-delete-covered.template       |  2 +-
 .../cls-expr-field-delete-twice-covered.template |  2 +-
 .../delete-error/cls-expr-field-delete.template  |  2 +-
 .../cls-expr-method-delete-covered.template      |  2 +-
 ...cls-expr-method-delete-twice-covered.template |  2 +-
 .../delete-error/cls-expr-method-delete.template |  2 +-
 .../cls-decl-fields-arrow-fnc.template           |  2 +-
 .../cls-decl-fields-comp-name.template           |  2 +-
 .../cls-decl-fields-equality.template            |  2 +-
 .../cls-decl-fields-literal-name.template        |  2 +-
 .../cls-decl-fields-private-arrow-fnc.template   |  2 +-
 .../cls-decl-fields-private-name.template        |  2 +-
 .../cls-decl-fields-private-ternary.template     |  2 +-
 .../cls-decl-fields-private-typeof.template      |  2 +-
 .../cls-decl-fields-static-comp-name.template    |  2 +-
 .../cls-decl-fields-static-literal-name.template |  2 +-
 .../cls-decl-fields-static-private-name.template |  2 +-
 ...cl-fields-static-string-literal-name.template |  2 +-
 .../cls-decl-fields-string-literal-name.template |  2 +-
 .../cls-decl-fields-ternary.template             |  2 +-
 .../cls-decl-fields-typeof.template              |  2 +-
 .../cls-expr-fields-arrow-fnc.template           |  2 +-
 .../cls-expr-fields-comp-name.template           |  2 +-
 .../cls-expr-fields-equality.template            |  2 +-
 .../cls-expr-fields-literal-name.template        |  2 +-
 .../cls-expr-fields-private-arrow-fnc.template   |  2 +-
 .../cls-expr-fields-private-name.template        |  2 +-
 .../cls-expr-fields-private-ternary.template     |  2 +-
 .../cls-expr-fields-private-typeof.template      |  2 +-
 .../cls-expr-fields-static-comp-name.template    |  2 +-
 .../cls-expr-fields-static-literal-name.template |  2 +-
 .../cls-expr-fields-static-private-name.template |  2 +-
 ...pr-fields-static-string-literal-name.template |  2 +-
 .../cls-expr-fields-string-literal-name.template |  2 +-
 .../cls-expr-fields-ternary.template             |  2 +-
 .../cls-expr-fields-typeof.template              |  2 +-
 .../cls-decl-elements-invalid-syntax.template    |  2 +-
 .../cls-expr-elements-invalid-syntax.template    |  2 +-
 ...redeclare-async-function-declaration.template |  2 +-
 ...edeclare-async-generator-declaration.template |  2 +-
 ...tempt-to-redeclare-class-declaration.template |  2 +-
 ...tempt-to-redeclare-const-declaration.template |  2 +-
 ...pt-to-redeclare-function-declaration.template |  2 +-
 ...t-to-redeclare-generator-declaration.template |  2 +-
 ...attempt-to-redeclare-let-declaration.template |  2 +-
 ...attempt-to-redeclare-var-declaration.template |  2 +-
 ...redeclare-async-function-declaration.template |  2 +-
 ...edeclare-async-generator-declaration.template |  2 +-
 ...tempt-to-redeclare-class-declaration.template |  2 +-
 ...tempt-to-redeclare-const-declaration.template |  2 +-
 ...pt-to-redeclare-function-declaration.template |  2 +-
 ...t-to-redeclare-generator-declaration.template |  2 +-
 ...attempt-to-redeclare-let-declaration.template |  2 +-
 ...attempt-to-redeclare-var-declaration.template |  2 +-
 ...redeclare-async-function-declaration.template |  2 +-
 ...edeclare-async-generator-declaration.template |  2 +-
 ...tempt-to-redeclare-class-declaration.template |  2 +-
 ...tempt-to-redeclare-const-declaration.template |  2 +-
 ...pt-to-redeclare-function-declaration.template |  2 +-
 ...t-to-redeclare-generator-declaration.template |  2 +-
 ...attempt-to-redeclare-let-declaration.template |  2 +-
 ...redeclare-async-function-declaration.template |  2 +-
 ...edeclare-async-generator-declaration.template |  2 +-
 ...tempt-to-redeclare-class-declaration.template |  2 +-
 ...tempt-to-redeclare-const-declaration.template |  2 +-
 ...pt-to-redeclare-function-declaration.template |  2 +-
 ...t-to-redeclare-generator-declaration.template |  2 +-
 ...attempt-to-redeclare-let-declaration.template |  2 +-
 ...redeclare-async-function-declaration.template |  2 +-
 ...edeclare-async-generator-declaration.template |  2 +-
 ...tempt-to-redeclare-class-declaration.template |  2 +-
 ...tempt-to-redeclare-const-declaration.template |  2 +-
 ...pt-to-redeclare-function-declaration.template |  2 +-
 ...t-to-redeclare-generator-declaration.template |  2 +-
 ...attempt-to-redeclare-let-declaration.template |  2 +-
 ...attempt-to-redeclare-var-declaration.template |  2 +-
 ...redeclare-async-function-declaration.template |  2 +-
 ...edeclare-async-generator-declaration.template |  2 +-
 ...tempt-to-redeclare-class-declaration.template |  2 +-
 ...tempt-to-redeclare-const-declaration.template |  2 +-
 ...pt-to-redeclare-function-declaration.template |  2 +-
 ...t-to-redeclare-generator-declaration.template |  2 +-
 ...attempt-to-redeclare-let-declaration.template |  2 +-
 ...attempt-to-redeclare-var-declaration.template |  2 +-
 .../array-elem-init-yield-ident-invalid.case     |  2 +-
 .../array-elem-nested-array-invalid.case         |  2 +-
 ...ay-elem-nested-array-yield-ident-invalid.case |  2 +-
 .../array-elem-nested-obj-invalid.case           |  2 +-
 ...rray-elem-nested-obj-yield-ident-invalid.case |  2 +-
 .../array-elem-target-simple-strict.case         |  2 +-
 .../array-elem-target-yield-invalid.case         |  2 +-
 .../array-elem-init-yield-ident-invalid.case     |  2 +-
 .../array-elem-nested-array-invalid.case         |  2 +-
 ...ay-elem-nested-array-yield-ident-invalid.case |  2 +-
 .../array-elem-nested-obj-invalid.case           |  2 +-
 ...rray-elem-nested-obj-yield-ident-invalid.case |  2 +-
 .../array-elem-target-simple-strict.case         |  2 +-
 .../array-elem-target-yield-invalid.case         |  2 +-
 .../array-rest-before-element.case               |  2 +-
 .../array-rest-before-elision.case               |  2 +-
 src/dstr-assignment/array-rest-before-rest.case  |  2 +-
 .../array-rest-elision-invalid.case              |  2 +-
 src/dstr-assignment/array-rest-init.case         |  2 +-
 .../array-rest-nested-array-invalid.case         |  2 +-
 ...ay-rest-nested-array-yield-ident-invalid.case |  2 +-
 .../array-rest-nested-obj-invalid.case           |  2 +-
 ...rray-rest-nested-obj-yield-ident-invalid.case |  2 +-
 .../array-rest-yield-ident-invalid.case          |  2 +-
 .../obj-id-identifier-yield-expr.case            |  2 +-
 .../obj-id-identifier-yield-ident-invalid.case   |  2 +-
 .../obj-id-init-simple-strict.case               |  2 +-
 .../obj-id-init-yield-ident-invalid.case         |  2 +-
 src/dstr-assignment/obj-id-simple-strict.case    |  2 +-
 .../obj-prop-elem-init-yield-ident-invalid.case  |  2 +-
 ...obj-prop-elem-target-yield-ident-invalid.case |  2 +-
 .../obj-prop-nested-array-invalid.case           |  2 +-
 ...bj-prop-nested-array-yield-ident-invalid.case |  2 +-
 .../obj-prop-nested-obj-invalid.case             |  2 +-
 .../obj-prop-nested-obj-yield-ident-invalid.case |  2 +-
 .../obj-rest-not-last-element-invalid.case       |  2 +-
 .../ary-ptrn-rest-init-ary.case                  |  2 +-
 .../ary-ptrn-rest-init-id.case                   |  2 +-
 .../ary-ptrn-rest-init-obj.case                  |  2 +-
 .../ary-ptrn-rest-not-final-ary.case             |  2 +-
 .../ary-ptrn-rest-not-final-id.case              |  2 +-
 .../ary-ptrn-rest-not-final-obj.case             |  2 +-
 src/dstr-binding/ary-ptrn-rest-init-ary.case     |  2 +-
 src/dstr-binding/ary-ptrn-rest-init-id.case      |  2 +-
 src/dstr-binding/ary-ptrn-rest-init-obj.case     |  2 +-
 .../ary-ptrn-rest-not-final-ary.case             |  2 +-
 src/dstr-binding/ary-ptrn-rest-not-final-id.case |  2 +-
 .../ary-ptrn-rest-not-final-obj.case             |  2 +-
 src/function-forms/dflt-params-duplicates.case   |  2 +-
 src/function-forms/dflt-params-rest.case         |  2 +-
 .../rest-params-trailing-comma-early-error.case  |  2 +-
 .../yield-as-binding-identifier-escaped.case     |  2 +-
 src/generators/yield-as-binding-identifier.case  |  2 +-
 .../yield-as-identifier-reference-escaped.case   |  2 +-
 .../yield-as-identifier-reference.case           |  2 +-
 .../yield-as-label-identifier-escaped.case       |  2 +-
 src/generators/yield-as-label-identifier.case    |  2 +-
 .../yield-identifier-spread-strict.case          |  2 +-
 src/generators/yield-identifier-strict.case      |  2 +-
 .../expressions/object/__proto__-duplicate.js    |  2 +-
 .../legacy-octal-escape-sequence-strict.js       |  2 +-
 .../statements/for-in/bare-initializer.js        |  2 +-
 .../statements/for-in/const-initializer.js       |  2 +-
 .../statements/for-in/let-initializer.js         |  2 +-
 .../statements/for-in/strict-initializer.js      |  2 +-
 .../var-arraybindingpattern-initializer.js       |  2 +-
 .../var-objectbindingpattern-initializer.js      |  2 +-
 ...nary-property-with-value-ASCII_-_F-negated.js |  2 +-
 .../binary-property-with-value-ASCII_-_F.js      |  2 +-
 ...roperty-with-value-ASCII_-_Invalid-negated.js |  2 +-
 ...binary-property-with-value-ASCII_-_Invalid.js |  2 +-
 ...nary-property-with-value-ASCII_-_N-negated.js |  2 +-
 .../binary-property-with-value-ASCII_-_N.js      |  2 +-
 ...ary-property-with-value-ASCII_-_No-negated.js |  2 +-
 .../binary-property-with-value-ASCII_-_No.js     |  2 +-
 ...nary-property-with-value-ASCII_-_T-negated.js |  2 +-
 .../binary-property-with-value-ASCII_-_T.js      |  2 +-
 ...nary-property-with-value-ASCII_-_Y-negated.js |  2 +-
 .../binary-property-with-value-ASCII_-_Y.js      |  2 +-
 ...ry-property-with-value-ASCII_-_Yes-negated.js |  2 +-
 .../binary-property-with-value-ASCII_-_Yes.js    |  2 +-
 .../character-class-range-end.js                 |  2 +-
 .../character-class-range-no-dash-end.js         |  2 +-
 .../character-class-range-no-dash-start.js       |  2 +-
 .../character-class-range-start.js               |  2 +-
 ...extension-In-prefix-Block-implicit-negated.js |  2 +-
 ...grammar-extension-In-prefix-Block-implicit.js |  2 +-
 ...xtension-In-prefix-Script-implicit-negated.js |  2 +-
 ...rammar-extension-In-prefix-Script-implicit.js |  2 +-
 ...grammar-extension-In-prefix-Script-negated.js |  2 +-
 .../grammar-extension-In-prefix-Script.js        |  2 +-
 ...grammar-extension-Is-prefix-Script-negated.js |  2 +-
 .../grammar-extension-Is-prefix-Script.js        |  2 +-
 ...mmar-extension-circumflex-negation-negated.js |  2 +-
 .../grammar-extension-circumflex-negation.js     |  2 +-
 .../grammar-extension-empty-negated.js           |  2 +-
 .../property-escapes/grammar-extension-empty.js  |  2 +-
 .../grammar-extension-invalid-negated.js         |  2 +-
 .../grammar-extension-invalid.js                 |  2 +-
 .../grammar-extension-no-braces-negated.js       |  2 +-
 .../grammar-extension-no-braces-value-negated.js |  2 +-
 .../grammar-extension-no-braces-value.js         |  2 +-
 .../grammar-extension-no-braces.js               |  2 +-
 ...extension-separator-and-value-only-negated.js |  2 +-
 ...grammar-extension-separator-and-value-only.js |  2 +-
 .../grammar-extension-separator-negated.js       |  2 +-
 .../grammar-extension-separator-only-negated.js  |  2 +-
 .../grammar-extension-separator-only.js          |  2 +-
 .../grammar-extension-separator.js               |  2 +-
 .../grammar-extension-unclosed-negated.js        |  2 +-
 .../grammar-extension-unclosed.js                |  2 +-
 .../grammar-extension-unopened-negated.js        |  2 +-
 .../grammar-extension-unopened.js                |  2 +-
 .../loose-matching-01-negated.js                 |  2 +-
 .../RegExp/property-escapes/loose-matching-01.js |  2 +-
 .../loose-matching-02-negated.js                 |  2 +-
 .../RegExp/property-escapes/loose-matching-02.js |  2 +-
 .../loose-matching-03-negated.js                 |  2 +-
 .../RegExp/property-escapes/loose-matching-03.js |  2 +-
 .../loose-matching-04-negated.js                 |  2 +-
 .../RegExp/property-escapes/loose-matching-04.js |  2 +-
 .../loose-matching-05-negated.js                 |  2 +-
 .../RegExp/property-escapes/loose-matching-05.js |  2 +-
 .../loose-matching-06-negated.js                 |  2 +-
 .../RegExp/property-escapes/loose-matching-06.js |  2 +-
 .../loose-matching-07-negated.js                 |  2 +-
 .../RegExp/property-escapes/loose-matching-07.js |  2 +-
 .../loose-matching-08-negated.js                 |  2 +-
 .../RegExp/property-escapes/loose-matching-08.js |  2 +-
 .../loose-matching-09-negated.js                 |  2 +-
 .../RegExp/property-escapes/loose-matching-09.js |  2 +-
 .../loose-matching-10-negated.js                 |  2 +-
 .../RegExp/property-escapes/loose-matching-10.js |  2 +-
 .../loose-matching-11-negated.js                 |  2 +-
 .../RegExp/property-escapes/loose-matching-11.js |  2 +-
 .../loose-matching-12-negated.js                 |  2 +-
 .../RegExp/property-escapes/loose-matching-12.js |  2 +-
 .../loose-matching-13-negated.js                 |  2 +-
 .../RegExp/property-escapes/loose-matching-13.js |  2 +-
 .../loose-matching-14-negated.js                 |  2 +-
 .../RegExp/property-escapes/loose-matching-14.js |  2 +-
 ...hout-value-General_Category-equals-negated.js |  2 +-
 ...erty-without-value-General_Category-equals.js |  2 +-
 ...rty-without-value-General_Category-negated.js |  2 +-
 ...ry-property-without-value-General_Category.js |  2 +-
 ...operty-without-value-Script-equals-negated.js |  2 +-
 ...inary-property-without-value-Script-equals.js |  2 +-
 ...nary-property-without-value-Script-negated.js |  2 +-
 .../non-binary-property-without-value-Script.js  |  2 +-
 ...out-value-Script_Extensions-equals-negated.js |  2 +-
 ...rty-without-value-Script_Extensions-equals.js |  2 +-
 ...ty-without-value-Script_Extensions-negated.js |  2 +-
 ...y-property-without-value-Script_Extensions.js |  2 +-
 .../non-existent-binary-property-negated.js      |  2 +-
 .../non-existent-binary-property.js              |  2 +-
 .../non-existent-property-and-value-negated.js   |  2 +-
 .../non-existent-property-and-value.js           |  2 +-
 ...n-existent-property-existing-value-negated.js |  2 +-
 .../non-existent-property-existing-value.js      |  2 +-
 ...nt-property-value-General_Category-negated.js |  2 +-
 ...non-existent-property-value-Script-negated.js |  2 +-
 .../non-existent-property-value-Script.js        |  2 +-
 ...t-property-value-Script_Extensions-negated.js |  2 +-
 ...-existent-property-value-Script_Extensions.js |  2 +-
 ...n-existent-property-value-general-category.js |  2 +-
 ...ary-property-Composition_Exclusion-negated.js |  2 +-
 ...rted-binary-property-Composition_Exclusion.js |  2 +-
 ...ted-binary-property-Expands_On_NFC-negated.js |  2 +-
 ...unsupported-binary-property-Expands_On_NFC.js |  2 +-
 ...ted-binary-property-Expands_On_NFD-negated.js |  2 +-
 ...unsupported-binary-property-Expands_On_NFD.js |  2 +-
 ...ed-binary-property-Expands_On_NFKC-negated.js |  2 +-
 ...nsupported-binary-property-Expands_On_NFKC.js |  2 +-
 ...ed-binary-property-Expands_On_NFKD-negated.js |  2 +-
 ...nsupported-binary-property-Expands_On_NFKD.js |  2 +-
 ...ed-binary-property-FC_NFKC_Closure-negated.js |  2 +-
 ...nsupported-binary-property-FC_NFKC_Closure.js |  2 +-
 ...roperty-Full_Composition_Exclusion-negated.js |  2 +-
 ...binary-property-Full_Composition_Exclusion.js |  2 +-
 ...rted-binary-property-Grapheme_Link-negated.js |  2 +-
 .../unsupported-binary-property-Grapheme_Link.js |  2 +-
 ...unsupported-binary-property-Hyphen-negated.js |  2 +-
 .../unsupported-binary-property-Hyphen.js        |  2 +-
 ...d-binary-property-Other_Alphabetic-negated.js |  2 +-
 ...supported-binary-property-Other_Alphabetic.js |  2 +-
 ...Other_Default_Ignorable_Code_Point-negated.js |  2 +-
 ...roperty-Other_Default_Ignorable_Code_Point.js |  2 +-
 ...ary-property-Other_Grapheme_Extend-negated.js |  2 +-
 ...rted-binary-property-Other_Grapheme_Extend.js |  2 +-
 ...-binary-property-Other_ID_Continue-negated.js |  2 +-
 ...upported-binary-property-Other_ID_Continue.js |  2 +-
 ...ted-binary-property-Other_ID_Start-negated.js |  2 +-
 ...unsupported-binary-property-Other_ID_Start.js |  2 +-
 ...ed-binary-property-Other_Lowercase-negated.js |  2 +-
 ...nsupported-binary-property-Other_Lowercase.js |  2 +-
 ...pported-binary-property-Other_Math-negated.js |  2 +-
 .../unsupported-binary-property-Other_Math.js    |  2 +-
 ...ed-binary-property-Other_Uppercase-negated.js |  2 +-
 ...nsupported-binary-property-Other_Uppercase.js |  2 +-
 ...perty-Prepended_Concatenation_Mark-negated.js |  2 +-
 ...nary-property-Prepended_Concatenation_Mark.js |  2 +-
 ...upported-property-Block-with-value-negated.js |  2 +-
 .../unsupported-property-Block-with-value.js     |  2 +-
 ...supported-property-FC_NFKC_Closure-negated.js |  2 +-
 .../unsupported-property-FC_NFKC_Closure.js      |  2 +-
 .../unsupported-property-Line_Break-negated.js   |  2 +-
 ...ted-property-Line_Break-with-value-negated.js |  2 +-
 ...unsupported-property-Line_Break-with-value.js |  2 +-
 .../unsupported-property-Line_Break.js           |  2 +-
 test/harness/sta.js                              |  1 +
 test/language/arguments-object/10.5-1gs.js       |  2 +-
 test/language/asi/S7.9.2_A1_T1.js                |  2 +-
 test/language/asi/S7.9.2_A1_T3.js                |  2 +-
 test/language/asi/S7.9.2_A1_T6.js                |  2 +-
 test/language/asi/S7.9_A10_T2.js                 |  2 +-
 test/language/asi/S7.9_A10_T4.js                 |  2 +-
 test/language/asi/S7.9_A10_T6.js                 |  2 +-
 test/language/asi/S7.9_A10_T8.js                 |  2 +-
 test/language/asi/S7.9_A11_T4.js                 |  2 +-
 test/language/asi/S7.9_A11_T8.js                 |  2 +-
 test/language/asi/S7.9_A4.js                     |  8 ++++----
 test/language/asi/S7.9_A5.1_T1.js                |  2 +-
 test/language/asi/S7.9_A5.3_T1.js                |  2 +-
 test/language/asi/S7.9_A5.7_T1.js                |  2 +-
 test/language/asi/S7.9_A6.2_T1.js                |  2 +-
 test/language/asi/S7.9_A6.2_T10.js               |  2 +-
 test/language/asi/S7.9_A6.2_T2.js                |  2 +-
 test/language/asi/S7.9_A6.2_T3.js                |  2 +-
 test/language/asi/S7.9_A6.2_T4.js                |  4 ++--
 test/language/asi/S7.9_A6.2_T5.js                |  2 +-
 test/language/asi/S7.9_A6.2_T6.js                |  2 +-
 test/language/asi/S7.9_A6.2_T7.js                |  2 +-
 test/language/asi/S7.9_A6.2_T8.js                |  2 +-
 test/language/asi/S7.9_A6.2_T9.js                |  2 +-
 test/language/asi/S7.9_A6.3_T1.js                |  2 +-
 test/language/asi/S7.9_A6.3_T2.js                |  4 ++--
 test/language/asi/S7.9_A6.3_T3.js                |  6 +++---
 test/language/asi/S7.9_A6.3_T4.js                |  2 +-
 test/language/asi/S7.9_A6.3_T5.js                |  2 +-
 test/language/asi/S7.9_A6.3_T6.js                |  2 +-
 test/language/asi/S7.9_A6.3_T7.js                |  2 +-
 test/language/asi/S7.9_A6.4_T1.js                |  2 +-
 test/language/asi/S7.9_A6.4_T2.js                |  2 +-
 test/language/asi/S7.9_A9_T6.js                  |  2 +-
 test/language/asi/S7.9_A9_T7.js                  |  4 ++--
 test/language/asi/S7.9_A9_T8.js                  |  4 ++--
 .../for-in/disallow-initialization-assignment.js |  2 +-
 ...ical-bindings-with-and-without-initializer.js |  2 +-
 ...multiple-lexical-bindings-with-initializer.js |  2 +-
 ...ical-bindings-without-and-with-initializer.js |  2 +-
 .../for-in/disallow-multiple-lexical-bindings.js |  2 +-
 ...ent-position-do-statement-while-expression.js |  2 +-
 .../in-statement-position-for-statement.js       |  2 +-
 ...ion-if-expression-statement-else-statement.js |  2 +-
 ...statement-position-if-expression-statement.js |  2 +-
 ...tement-position-while-expression-statement.js |  2 +-
 ...-redeclare-with-async-function-declaration.js |  2 +-
 ...redeclare-with-async-generator-declaration.js |  2 +-
 ...ttempt-to-redeclare-with-class-declaration.js |  2 +-
 ...ttempt-to-redeclare-with-const-declaration.js |  2 +-
 ...mpt-to-redeclare-with-function-declaration.js |  2 +-
 ...pt-to-redeclare-with-generator-declaration.js |  2 +-
 ...-attempt-to-redeclare-with-let-declaration.js |  2 +-
 ...-attempt-to-redeclare-with-var-declaration.js |  2 +-
 ...-redeclare-with-async-function-declaration.js |  2 +-
 ...redeclare-with-async-generator-declaration.js |  2 +-
 ...ttempt-to-redeclare-with-class-declaration.js |  2 +-
 ...ttempt-to-redeclare-with-const-declaration.js |  2 +-
 ...mpt-to-redeclare-with-function-declaration.js |  2 +-
 ...pt-to-redeclare-with-generator-declaration.js |  2 +-
 ...-attempt-to-redeclare-with-let-declaration.js |  2 +-
 ...-attempt-to-redeclare-with-var-declaration.js |  2 +-
 ...-redeclare-with-async-function-declaration.js |  2 +-
 ...redeclare-with-async-generator-declaration.js |  2 +-
 ...ttempt-to-redeclare-with-class-declaration.js |  2 +-
 ...ttempt-to-redeclare-with-const-declaration.js |  2 +-
 ...mpt-to-redeclare-with-function-declaration.js |  2 +-
 ...pt-to-redeclare-with-generator-declaration.js |  2 +-
 ...-attempt-to-redeclare-with-let-declaration.js |  2 +-
 ...-attempt-to-redeclare-with-var-declaration.js |  2 +-
 ...-redeclare-with-async-function-declaration.js |  2 +-
 ...redeclare-with-async-generator-declaration.js |  2 +-
 ...ttempt-to-redeclare-with-class-declaration.js |  2 +-
 ...ttempt-to-redeclare-with-const-declaration.js |  2 +-
 ...mpt-to-redeclare-with-function-declaration.js |  2 +-
 ...pt-to-redeclare-with-generator-declaration.js |  2 +-
 ...-attempt-to-redeclare-with-let-declaration.js |  2 +-
 ...-attempt-to-redeclare-with-var-declaration.js |  2 +-
 ...-redeclare-with-async-function-declaration.js |  2 +-
 ...redeclare-with-async-generator-declaration.js |  2 +-
 ...ttempt-to-redeclare-with-class-declaration.js |  2 +-
 ...ttempt-to-redeclare-with-const-declaration.js |  2 +-
 ...mpt-to-redeclare-with-function-declaration.js |  2 +-
 ...pt-to-redeclare-with-generator-declaration.js |  2 +-
 ...-attempt-to-redeclare-with-let-declaration.js |  2 +-
 ...re-with-var-declaration-nested-in-function.js |  2 +-
 ...-attempt-to-redeclare-with-var-declaration.js |  2 +-
 ...-redeclare-with-async-function-declaration.js |  2 +-
 ...redeclare-with-async-generator-declaration.js |  2 +-
 ...ttempt-to-redeclare-with-class-declaration.js |  2 +-
 ...ttempt-to-redeclare-with-const-declaration.js |  2 +-
 ...mpt-to-redeclare-with-function-declaration.js |  2 +-
 ...pt-to-redeclare-with-generator-declaration.js |  2 +-
 ...-attempt-to-redeclare-with-let-declaration.js |  2 +-
 ...-attempt-to-redeclare-with-var-declaration.js |  2 +-
 ...-redeclare-with-async-function-declaration.js |  2 +-
 ...redeclare-with-async-generator-declaration.js |  2 +-
 ...ttempt-to-redeclare-with-class-declaration.js |  2 +-
 ...ttempt-to-redeclare-with-const-declaration.js |  2 +-
 ...mpt-to-redeclare-with-function-declaration.js |  2 +-
 ...pt-to-redeclare-with-generator-declaration.js |  2 +-
 ...-attempt-to-redeclare-with-let-declaration.js |  2 +-
 ...-attempt-to-redeclare-with-var-declaration.js |  2 +-
 ...-redeclare-with-async-function-declaration.js |  2 +-
 ...redeclare-with-async-generator-declaration.js |  2 +-
 ...ttempt-to-redeclare-with-class-declaration.js |  2 +-
 ...ttempt-to-redeclare-with-const-declaration.js |  2 +-
 ...mpt-to-redeclare-with-function-declaration.js |  2 +-
 ...pt-to-redeclare-with-generator-declaration.js |  2 +-
 ...-attempt-to-redeclare-with-let-declaration.js |  2 +-
 test/language/comments/S7.4_A2_T2.js             |  2 +-
 test/language/comments/S7.4_A3.js                |  4 ++--
 test/language/comments/S7.4_A4_T1.js             |  2 +-
 test/language/comments/S7.4_A4_T4.js             |  4 ++--
 .../comments/multi-line-html-close-extra.js      |  2 +-
 .../single-line-html-close-without-lt.js         |  2 +-
 .../export/escaped-as-export-specifier.js        |  2 +-
 test/language/export/escaped-default.js          |  2 +-
 test/language/export/escaped-from.js             |  2 +-
 .../arrow-function/dflt-params-duplicates.js     |  2 +-
 .../arrow-function/dflt-params-rest.js           |  2 +-
 .../dstr-ary-ptrn-rest-init-ary.js               |  2 +-
 .../arrow-function/dstr-ary-ptrn-rest-init-id.js |  2 +-
 .../dstr-ary-ptrn-rest-init-obj.js               |  2 +-
 .../dstr-ary-ptrn-rest-not-final-ary.js          |  2 +-
 .../dstr-ary-ptrn-rest-not-final-id.js           |  2 +-
 .../dstr-ary-ptrn-rest-not-final-obj.js          |  2 +-
 .../dstr-dflt-ary-ptrn-rest-init-ary.js          |  2 +-
 .../dstr-dflt-ary-ptrn-rest-init-id.js           |  2 +-
 .../dstr-dflt-ary-ptrn-rest-init-obj.js          |  2 +-
 .../dstr-dflt-ary-ptrn-rest-not-final-ary.js     |  2 +-
 .../dstr-dflt-ary-ptrn-rest-not-final-id.js      |  2 +-
 .../dstr-dflt-ary-ptrn-rest-not-final-obj.js     |  2 +-
 .../arrow-function/param-dflt-yield-expr.js      |  4 ++--
 .../arrow-function/param-dflt-yield-id-strict.js |  2 +-
 .../rest-params-trailing-comma-early-error.js    |  2 +-
 ...ngidentifier-identifier-futurereservedword.js |  2 +-
 ...ifier-identifier-strict-futurereservedword.js |  2 +-
 ...rowparameters-bindingidentifier-identifier.js |  2 +-
 ...wparameters-bindingidentifier-no-arguments.js |  2 +-
 .../arrowparameters-bindingidentifier-no-eval.js |  2 +-
 ...arrowparameters-bindingidentifier-no-yield.js |  2 +-
 .../arrowparameters-bindingidentifier-rest.js    |  2 +-
 .../arrowparameters-cover-no-arguments.js        |  2 +-
 ...meters-cover-no-duplicates-binding-array-1.js |  2 +-
 ...meters-cover-no-duplicates-binding-array-2.js |  2 +-
 ...meters-cover-no-duplicates-binding-array-3.js |  2 +-
 ...eters-cover-no-duplicates-binding-object-1.js |  2 +-
 ...eters-cover-no-duplicates-binding-object-2.js |  2 +-
 ...eters-cover-no-duplicates-binding-object-3.js |  2 +-
 ...eters-cover-no-duplicates-binding-object-4.js |  2 +-
 ...eters-cover-no-duplicates-binding-object-5.js |  2 +-
 ...eters-cover-no-duplicates-binding-object-6.js |  2 +-
 .../arrowparameters-cover-no-duplicates-rest.js  |  2 +-
 .../arrowparameters-cover-no-duplicates.js       |  2 +-
 .../arrowparameters-cover-no-eval.js             |  2 +-
 .../arrowparameters-cover-no-yield.js            |  2 +-
 ...valid-parenless-parameters-expression-body.js |  2 +-
 ...i-restriction-invalid-parenless-parameters.js |  2 +-
 .../early-errors/asi-restriction-invalid.js      |  2 +-
 .../use-strict-with-non-simple-param.js          |  2 +-
 .../dstr-array-elem-init-yield-ident-invalid.js  |  2 +-
 .../dstr-array-elem-nested-array-invalid.js      |  2 +-
 ...rray-elem-nested-array-yield-ident-invalid.js |  2 +-
 .../dstr-array-elem-nested-obj-invalid.js        |  2 +-
 ...-array-elem-nested-obj-yield-ident-invalid.js |  2 +-
 .../dstr-array-elem-target-simple-strict.js      |  2 +-
 .../dstr-array-elem-target-yield-invalid.js      |  2 +-
 .../assignment/dstr-array-rest-before-element.js |  2 +-
 .../assignment/dstr-array-rest-before-elision.js |  2 +-
 .../assignment/dstr-array-rest-before-rest.js    |  2 +-
 .../dstr-array-rest-elision-invalid.js           |  2 +-
 .../assignment/dstr-array-rest-init.js           |  2 +-
 .../dstr-array-rest-nested-array-invalid.js      |  2 +-
 ...rray-rest-nested-array-yield-ident-invalid.js |  2 +-
 .../dstr-array-rest-nested-obj-invalid.js        |  2 +-
 ...-array-rest-nested-obj-yield-ident-invalid.js |  2 +-
 .../dstr-array-rest-yield-ident-invalid.js       |  2 +-
 .../dstr-obj-id-identifier-yield-expr.js         |  2 +-
 ...dstr-obj-id-identifier-yield-ident-invalid.js |  2 +-
 .../assignment/dstr-obj-id-init-simple-strict.js |  2 +-
 .../dstr-obj-id-init-yield-ident-invalid.js      |  2 +-
 .../assignment/dstr-obj-id-simple-strict.js      |  2 +-
 ...str-obj-prop-elem-init-yield-ident-invalid.js |  2 +-
 ...r-obj-prop-elem-target-yield-ident-invalid.js |  2 +-
 .../dstr-obj-prop-nested-array-invalid.js        |  2 +-
 ...-obj-prop-nested-array-yield-ident-invalid.js |  2 +-
 .../dstr-obj-prop-nested-obj-invalid.js          |  2 +-
 ...tr-obj-prop-nested-obj-yield-ident-invalid.js |  2 +-
 .../dstr-obj-rest-not-last-element-invalid.js    |  2 +-
 .../assignment/id-arguments-strict.js            |  2 +-
 .../expressions/assignment/id-eval-strict.js     |  2 +-
 .../expressions/assignment/non-simple-target.js  |  2 +-
 .../expressions/assignment/target-boolean.js     |  2 +-
 .../assignment/target-cover-newtarget.js         |  2 +-
 .../assignment/target-cover-yieldexpr.js         |  2 +-
 .../expressions/assignment/target-newtarget.js   |  2 +-
 .../expressions/assignment/target-null.js        |  2 +-
 .../expressions/assignment/target-number.js      |  2 +-
 .../expressions/assignment/target-string.js      |  2 +-
 .../await-as-binding-identifier-escaped.js       |  2 +-
 .../await-as-binding-identifier.js               |  2 +-
 .../await-as-identifier-reference-escaped.js     |  2 +-
 .../await-as-identifier-reference.js             |  2 +-
 .../await-as-label-identifier-escaped.js         |  2 +-
 .../await-as-label-identifier.js                 |  2 +-
 ...aram-ident-nested-arrow-parameter-position.js |  2 +-
 .../await-as-param-nested-arrow-body-position.js |  2 +-
 ...t-as-param-nested-arrow-parameter-position.js |  2 +-
 ...param-rest-nested-arrow-parameter-position.js |  2 +-
 .../dflt-params-duplicates.js                    |  2 +-
 .../async-arrow-function/dflt-params-rest.js     |  2 +-
 .../early-errors-arrow-NSPL-with-USD.js          |  2 +-
 ...rrors-arrow-arguments-in-formal-parameters.js |  2 +-
 ...arly-errors-arrow-await-in-formals-default.js |  2 +-
 .../early-errors-arrow-await-in-formals.js       |  2 +-
 ...arly-errors-arrow-body-contains-super-call.js |  2 +-
 ...-errors-arrow-body-contains-super-property.js |  2 +-
 .../early-errors-arrow-duplicate-parameters.js   |  2 +-
 ...rly-errors-arrow-eval-in-formal-parameters.js |  2 +-
 .../early-errors-arrow-formals-body-duplicate.js |  2 +-
 ...y-errors-arrow-formals-contains-super-call.js |  2 +-
 ...rors-arrow-formals-contains-super-property.js |  2 +-
 .../early-errors-arrow-formals-lineterminator.js |  2 +-
 .../async-arrow-function/escaped-async.js        |  2 +-
 .../rest-params-trailing-comma-early-error.js    |  2 +-
 .../await-as-binding-identifier-escaped.js       |  2 +-
 .../await-as-binding-identifier.js               |  2 +-
 .../await-as-identifier-reference-escaped.js     |  2 +-
 .../await-as-identifier-reference.js             |  2 +-
 .../await-as-label-identifier-escaped.js         |  2 +-
 .../async-function/await-as-label-identifier.js  |  2 +-
 .../early-errors-expression-NSPL-with-USD.js     |  2 +-
 ...rs-expression-binding-identifier-arguments.js |  4 ++--
 ...-errors-expression-binding-identifier-eval.js |  4 ++--
 ...errors-expression-body-contains-super-call.js |  2 +-
 ...rs-expression-body-contains-super-property.js |  2 +-
 ...rrors-expression-eval-in-formal-parameters.js |  2 +-
 ...y-errors-expression-formals-body-duplicate.js |  2 +-
 ...ors-expression-formals-contains-super-call.js |  2 +-
 ...expression-formals-contains-super-property.js |  2 +-
 ...rs-expression-not-simple-assignment-target.js |  2 +-
 .../expressions/async-function/escaped-async.js  |  2 +-
 .../named-await-as-binding-identifier-escaped.js |  2 +-
 .../named-await-as-binding-identifier.js         |  2 +-
 ...amed-await-as-identifier-reference-escaped.js |  2 +-
 .../named-await-as-identifier-reference.js       |  2 +-
 .../named-await-as-label-identifier-escaped.js   |  2 +-
 .../named-await-as-label-identifier.js           |  2 +-
 .../named-dflt-params-duplicates.js              |  2 +-
 .../async-function/named-dflt-params-rest.js     |  2 +-
 ...med-rest-params-trailing-comma-early-error.js |  2 +-
 .../nameless-dflt-params-duplicates.js           |  2 +-
 .../async-function/nameless-dflt-params-rest.js  |  2 +-
 ...ess-rest-params-trailing-comma-early-error.js |  2 +-
 .../await-as-binding-identifier-escaped.js       |  2 +-
 .../await-as-binding-identifier.js               |  2 +-
 .../await-as-identifier-reference-escaped.js     |  2 +-
 .../await-as-identifier-reference.js             |  2 +-
 .../await-as-label-identifier-escaped.js         |  2 +-
 .../async-generator/await-as-label-identifier.js |  2 +-
 .../async-generator/dflt-params-duplicates.js    |  2 +-
 .../async-generator/dflt-params-rest.js          |  2 +-
 .../dstr-ary-ptrn-rest-init-ary.js               |  2 +-
 .../dstr-ary-ptrn-rest-init-id.js                |  2 +-
 .../dstr-ary-ptrn-rest-init-obj.js               |  2 +-
 .../dstr-ary-ptrn-rest-not-final-ary.js          |  2 +-
 .../dstr-ary-ptrn-rest-not-final-id.js           |  2 +-
 .../dstr-ary-ptrn-rest-not-final-obj.js          |  2 +-
 .../dstr-dflt-ary-ptrn-rest-init-ary.js          |  2 +-
 .../dstr-dflt-ary-ptrn-rest-init-id.js           |  2 +-
 .../dstr-dflt-ary-ptrn-rest-init-obj.js          |  2 +-
 .../dstr-dflt-ary-ptrn-rest-not-final-ary.js     |  2 +-
 .../dstr-dflt-ary-ptrn-rest-not-final-id.js      |  2 +-
 .../dstr-dflt-ary-ptrn-rest-not-final-obj.js     |  2 +-
 .../dstr-named-ary-ptrn-rest-init-ary.js         |  2 +-
 .../dstr-named-ary-ptrn-rest-init-id.js          |  2 +-
 .../dstr-named-ary-ptrn-rest-init-obj.js         |  2 +-
 .../dstr-named-ary-ptrn-rest-not-final-ary.js    |  2 +-
 .../dstr-named-ary-ptrn-rest-not-final-id.js     |  2 +-
 .../dstr-named-ary-ptrn-rest-not-final-obj.js    |  2 +-
 .../dstr-named-dflt-ary-ptrn-rest-init-ary.js    |  2 +-
 .../dstr-named-dflt-ary-ptrn-rest-init-id.js     |  2 +-
 .../dstr-named-dflt-ary-ptrn-rest-init-obj.js    |  2 +-
 ...str-named-dflt-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...dstr-named-dflt-ary-ptrn-rest-not-final-id.js |  2 +-
 ...str-named-dflt-ary-ptrn-rest-not-final-obj.js |  2 +-
 .../early-errors-expression-NSPL-with-USD.js     |  2 +-
 ...-expression-arguments-in-formal-parameters.js |  2 +-
 ...ssion-await-as-function-binding-identifier.js |  2 +-
 ...rs-expression-binding-identifier-arguments.js |  2 +-
 ...-errors-expression-binding-identifier-eval.js |  2 +-
 ...errors-expression-body-contains-super-call.js |  2 +-
 ...rs-expression-body-contains-super-property.js |  2 +-
 ...rrors-expression-eval-in-formal-parameters.js |  2 +-
 ...rs-expression-formals-body-duplicate-const.js |  2 +-
 ...rors-expression-formals-body-duplicate-let.js |  2 +-
 ...ors-expression-formals-contains-await-expr.js |  2 +-
 ...y-errors-expression-formals-contains-await.js |  2 +-
 ...ors-expression-formals-contains-super-call.js |  2 +-
 ...expression-formals-contains-super-property.js |  2 +-
 ...ors-expression-formals-contains-yield-expr.js |  2 +-
 ...y-errors-expression-formals-contains-yield.js |  2 +-
 .../early-errors-expression-label-name-await.js  |  2 +-
 .../early-errors-expression-label-name-yield.js  |  2 +-
 ...rs-expression-not-simple-assignment-target.js |  2 +-
 ...ssion-yield-as-function-binding-identifier.js |  2 +-
 ...errors-expression-yield-star-after-newline.js |  2 +-
 .../expressions/async-generator/escaped-async.js |  2 +-
 .../named-await-as-binding-identifier-escaped.js |  2 +-
 .../named-await-as-binding-identifier.js         |  2 +-
 ...amed-await-as-identifier-reference-escaped.js |  2 +-
 .../named-await-as-identifier-reference.js       |  2 +-
 .../named-await-as-label-identifier-escaped.js   |  2 +-
 .../named-await-as-label-identifier.js           |  2 +-
 .../named-dflt-params-duplicates.js              |  2 +-
 .../async-generator/named-dflt-params-rest.js    |  2 +-
 ...med-rest-params-trailing-comma-early-error.js |  2 +-
 .../named-yield-as-binding-identifier-escaped.js |  2 +-
 .../named-yield-as-binding-identifier.js         |  2 +-
 ...amed-yield-as-identifier-reference-escaped.js |  2 +-
 .../named-yield-as-identifier-reference.js       |  2 +-
 .../named-yield-as-label-identifier-escaped.js   |  2 +-
 .../named-yield-as-label-identifier.js           |  2 +-
 .../named-yield-identifier-spread-strict.js      |  2 +-
 .../named-yield-identifier-strict.js             |  2 +-
 .../rest-params-trailing-comma-early-error.js    |  2 +-
 .../yield-as-binding-identifier-escaped.js       |  2 +-
 .../yield-as-binding-identifier.js               |  2 +-
 .../yield-as-identifier-reference-escaped.js     |  2 +-
 .../yield-as-identifier-reference.js             |  2 +-
 .../yield-as-label-identifier-escaped.js         |  2 +-
 .../async-generator/yield-as-label-identifier.js |  2 +-
 .../yield-identifier-spread-strict.js            |  2 +-
 .../async-generator/yield-identifier-strict.js   |  2 +-
 .../await/await-BindingIdentifier-nested.js      |  2 +-
 ...-errors-await-not-simple-assignment-target.js |  2 +-
 test/language/expressions/await/no-operand.js    |  2 +-
 .../language/expressions/call/S11.2.4_A1.3_T1.js |  2 +-
 .../async-gen-meth-dflt-params-duplicates.js     |  2 +-
 .../class/async-gen-meth-dflt-params-rest.js     |  2 +-
 ...eth-rest-params-trailing-comma-early-error.js |  2 +-
 ...ync-gen-meth-static-dflt-params-duplicates.js |  2 +-
 .../async-gen-meth-static-dflt-params-rest.js    |  2 +-
 ...tic-rest-params-trailing-comma-early-error.js |  2 +-
 ...method-await-as-binding-identifier-escaped.js |  2 +-
 ...ync-gen-method-await-as-binding-identifier.js |  2 +-
 ...thod-await-as-identifier-reference-escaped.js |  2 +-
 ...c-gen-method-await-as-identifier-reference.js |  2 +-
 ...n-method-await-as-label-identifier-escaped.js |  2 +-
 ...async-gen-method-await-as-label-identifier.js |  2 +-
 ...static-await-as-binding-identifier-escaped.js |  2 +-
 ...-method-static-await-as-binding-identifier.js |  2 +-
 ...atic-await-as-identifier-reference-escaped.js |  2 +-
 ...ethod-static-await-as-identifier-reference.js |  2 +-
 ...d-static-await-as-label-identifier-escaped.js |  2 +-
 ...en-method-static-await-as-label-identifier.js |  2 +-
 ...static-yield-as-binding-identifier-escaped.js |  2 +-
 ...-method-static-yield-as-binding-identifier.js |  2 +-
 ...atic-yield-as-identifier-reference-escaped.js |  2 +-
 ...ethod-static-yield-as-identifier-reference.js |  2 +-
 ...d-static-yield-as-label-identifier-escaped.js |  2 +-
 ...en-method-static-yield-as-label-identifier.js |  2 +-
 ...thod-static-yield-identifier-spread-strict.js |  2 +-
 ...-gen-method-static-yield-identifier-strict.js |  2 +-
 ...method-yield-as-binding-identifier-escaped.js |  2 +-
 ...ync-gen-method-yield-as-binding-identifier.js |  2 +-
 ...thod-yield-as-identifier-reference-escaped.js |  2 +-
 ...c-gen-method-yield-as-identifier-reference.js |  2 +-
 ...n-method-yield-as-label-identifier-escaped.js |  2 +-
 ...async-gen-method-yield-as-label-identifier.js |  2 +-
 ...-gen-method-yield-identifier-spread-strict.js |  2 +-
 .../async-gen-method-yield-identifier-strict.js  |  2 +-
 ...method-await-as-binding-identifier-escaped.js |  2 +-
 ...private-method-await-as-binding-identifier.js |  2 +-
 ...thod-await-as-identifier-reference-escaped.js |  2 +-
 ...ivate-method-await-as-identifier-reference.js |  2 +-
 ...e-method-await-as-label-identifier-escaped.js |  2 +-
 ...n-private-method-await-as-label-identifier.js |  2 +-
 ...static-await-as-binding-identifier-escaped.js |  2 +-
 ...-method-static-await-as-binding-identifier.js |  2 +-
 ...atic-await-as-identifier-reference-escaped.js |  2 +-
 ...ethod-static-await-as-identifier-reference.js |  2 +-
 ...d-static-await-as-label-identifier-escaped.js |  2 +-
 ...te-method-static-await-as-label-identifier.js |  2 +-
 ...static-yield-as-binding-identifier-escaped.js |  2 +-
 ...-method-static-yield-as-binding-identifier.js |  2 +-
 ...atic-yield-as-identifier-reference-escaped.js |  2 +-
 ...ethod-static-yield-as-identifier-reference.js |  2 +-
 ...d-static-yield-as-label-identifier-escaped.js |  2 +-
 ...te-method-static-yield-as-label-identifier.js |  2 +-
 ...thod-static-yield-identifier-spread-strict.js |  2 +-
 ...vate-method-static-yield-identifier-strict.js |  2 +-
 ...method-yield-as-binding-identifier-escaped.js |  2 +-
 ...private-method-yield-as-binding-identifier.js |  2 +-
 ...thod-yield-as-identifier-reference-escaped.js |  2 +-
 ...ivate-method-yield-as-identifier-reference.js |  2 +-
 ...e-method-yield-as-label-identifier-escaped.js |  2 +-
 ...n-private-method-yield-as-label-identifier.js |  2 +-
 ...vate-method-yield-identifier-spread-strict.js |  2 +-
 ...gen-private-method-yield-identifier-strict.js |  2 +-
 .../class/async-meth-dflt-params-duplicates.js   |  2 +-
 .../class/async-meth-dflt-params-rest.js         |  2 +-
 ...eth-rest-params-trailing-comma-early-error.js |  2 +-
 .../async-meth-static-dflt-params-duplicates.js  |  2 +-
 .../class/async-meth-static-dflt-params-rest.js  |  2 +-
 ...tic-rest-params-trailing-comma-early-error.js |  2 +-
 ...method-await-as-binding-identifier-escaped.js |  2 +-
 .../async-method-await-as-binding-identifier.js  |  2 +-
 ...thod-await-as-identifier-reference-escaped.js |  2 +-
 ...async-method-await-as-identifier-reference.js |  2 +-
 ...c-method-await-as-label-identifier-escaped.js |  2 +-
 .../async-method-await-as-label-identifier.js    |  2 +-
 ...static-await-as-binding-identifier-escaped.js |  2 +-
 ...-method-static-await-as-binding-identifier.js |  2 +-
 ...atic-await-as-identifier-reference-escaped.js |  2 +-
 ...ethod-static-await-as-identifier-reference.js |  2 +-
 ...d-static-await-as-label-identifier-escaped.js |  2 +-
 ...nc-method-static-await-as-label-identifier.js |  2 +-
 ...method-await-as-binding-identifier-escaped.js |  2 +-
 ...private-method-await-as-binding-identifier.js |  2 +-
 ...thod-await-as-identifier-reference-escaped.js |  2 +-
 ...ivate-method-await-as-identifier-reference.js |  2 +-
 ...e-method-await-as-label-identifier-escaped.js |  2 +-
 ...c-private-method-await-as-label-identifier.js |  2 +-
 ...static-await-as-binding-identifier-escaped.js |  2 +-
 ...-method-static-await-as-binding-identifier.js |  2 +-
 ...atic-await-as-identifier-reference-escaped.js |  2 +-
 ...ethod-static-await-as-identifier-reference.js |  2 +-
 ...d-static-await-as-label-identifier-escaped.js |  2 +-
 ...te-method-static-await-as-label-identifier.js |  2 +-
 .../class-name-ident-await-escaped-module.js     |  2 +-
 .../class/class-name-ident-await-module.js       |  2 +-
 .../class/class-name-ident-let-escaped.js        |  2 +-
 .../expressions/class/class-name-ident-let.js    |  2 +-
 .../class/class-name-ident-static-escaped.js     |  2 +-
 .../expressions/class/class-name-ident-static.js |  2 +-
 .../class/class-name-ident-yield-escaped.js      |  2 +-
 .../expressions/class/class-name-ident-yield.js  |  2 +-
 ...dstr-async-gen-meth-ary-ptrn-rest-init-ary.js |  2 +-
 .../dstr-async-gen-meth-ary-ptrn-rest-init-id.js |  2 +-
 ...dstr-async-gen-meth-ary-ptrn-rest-init-obj.js |  2 +-
 ...async-gen-meth-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...-async-gen-meth-ary-ptrn-rest-not-final-id.js |  2 +-
 ...async-gen-meth-ary-ptrn-rest-not-final-obj.js |  2 +-
 ...async-gen-meth-dflt-ary-ptrn-rest-init-ary.js |  2 +-
 ...-async-gen-meth-dflt-ary-ptrn-rest-init-id.js |  2 +-
 ...async-gen-meth-dflt-ary-ptrn-rest-init-obj.js |  2 +-
 ...-gen-meth-dflt-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...c-gen-meth-dflt-ary-ptrn-rest-not-final-id.js |  2 +-
 ...-gen-meth-dflt-ary-ptrn-rest-not-final-obj.js |  2 +-
 ...ync-gen-meth-static-ary-ptrn-rest-init-ary.js |  2 +-
 ...sync-gen-meth-static-ary-ptrn-rest-init-id.js |  2 +-
 ...ync-gen-meth-static-ary-ptrn-rest-init-obj.js |  2 +-
 ...en-meth-static-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...gen-meth-static-ary-ptrn-rest-not-final-id.js |  2 +-
 ...en-meth-static-ary-ptrn-rest-not-final-obj.js |  2 +-
 ...en-meth-static-dflt-ary-ptrn-rest-init-ary.js |  2 +-
 ...gen-meth-static-dflt-ary-ptrn-rest-init-id.js |  2 +-
 ...en-meth-static-dflt-ary-ptrn-rest-init-obj.js |  2 +-
 ...th-static-dflt-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...eth-static-dflt-ary-ptrn-rest-not-final-id.js |  2 +-
 ...th-static-dflt-ary-ptrn-rest-not-final-obj.js |  2 +-
 ...nc-private-gen-meth-ary-ptrn-rest-init-ary.js |  2 +-
 ...ync-private-gen-meth-ary-ptrn-rest-init-id.js |  2 +-
 ...nc-private-gen-meth-ary-ptrn-rest-init-obj.js |  2 +-
 ...ivate-gen-meth-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...rivate-gen-meth-ary-ptrn-rest-not-final-id.js |  2 +-
 ...ivate-gen-meth-ary-ptrn-rest-not-final-obj.js |  2 +-
 ...ivate-gen-meth-dflt-ary-ptrn-rest-init-ary.js |  2 +-
 ...rivate-gen-meth-dflt-ary-ptrn-rest-init-id.js |  2 +-
 ...ivate-gen-meth-dflt-ary-ptrn-rest-init-obj.js |  2 +-
 ...-gen-meth-dflt-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...e-gen-meth-dflt-ary-ptrn-rest-not-final-id.js |  2 +-
 ...-gen-meth-dflt-ary-ptrn-rest-not-final-obj.js |  2 +-
 ...ate-gen-meth-static-ary-ptrn-rest-init-ary.js |  2 +-
 ...vate-gen-meth-static-ary-ptrn-rest-init-id.js |  2 +-
 ...ate-gen-meth-static-ary-ptrn-rest-init-obj.js |  2 +-
 ...en-meth-static-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...gen-meth-static-ary-ptrn-rest-not-final-id.js |  2 +-
 ...en-meth-static-ary-ptrn-rest-not-final-obj.js |  2 +-
 ...en-meth-static-dflt-ary-ptrn-rest-init-ary.js |  2 +-
 ...gen-meth-static-dflt-ary-ptrn-rest-init-id.js |  2 +-
 ...en-meth-static-dflt-ary-ptrn-rest-init-obj.js |  2 +-
 ...th-static-dflt-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...eth-static-dflt-ary-ptrn-rest-not-final-id.js |  2 +-
 ...th-static-dflt-ary-ptrn-rest-not-final-obj.js |  2 +-
 .../dstr-gen-meth-ary-ptrn-rest-init-ary.js      |  2 +-
 .../class/dstr-gen-meth-ary-ptrn-rest-init-id.js |  2 +-
 .../dstr-gen-meth-ary-ptrn-rest-init-obj.js      |  2 +-
 .../dstr-gen-meth-ary-ptrn-rest-not-final-ary.js |  2 +-
 .../dstr-gen-meth-ary-ptrn-rest-not-final-id.js  |  2 +-
 .../dstr-gen-meth-ary-ptrn-rest-not-final-obj.js |  2 +-
 .../dstr-gen-meth-dflt-ary-ptrn-rest-init-ary.js |  2 +-
 .../dstr-gen-meth-dflt-ary-ptrn-rest-init-id.js  |  2 +-
 .../dstr-gen-meth-dflt-ary-ptrn-rest-init-obj.js |  2 +-
 ...-gen-meth-dflt-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...r-gen-meth-dflt-ary-ptrn-rest-not-final-id.js |  2 +-
 ...-gen-meth-dflt-ary-ptrn-rest-not-final-obj.js |  2 +-
 ...str-gen-meth-static-ary-ptrn-rest-init-ary.js |  2 +-
 ...dstr-gen-meth-static-ary-ptrn-rest-init-id.js |  2 +-
 ...str-gen-meth-static-ary-ptrn-rest-init-obj.js |  2 +-
 ...en-meth-static-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...gen-meth-static-ary-ptrn-rest-not-final-id.js |  2 +-
 ...en-meth-static-ary-ptrn-rest-not-final-obj.js |  2 +-
 ...en-meth-static-dflt-ary-ptrn-rest-init-ary.js |  2 +-
 ...gen-meth-static-dflt-ary-ptrn-rest-init-id.js |  2 +-
 ...en-meth-static-dflt-ary-ptrn-rest-init-obj.js |  2 +-
 ...th-static-dflt-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...eth-static-dflt-ary-ptrn-rest-not-final-id.js |  2 +-
 ...th-static-dflt-ary-ptrn-rest-not-final-obj.js |  2 +-
 .../class/dstr-meth-ary-ptrn-rest-init-ary.js    |  2 +-
 .../class/dstr-meth-ary-ptrn-rest-init-id.js     |  2 +-
 .../class/dstr-meth-ary-ptrn-rest-init-obj.js    |  2 +-
 .../dstr-meth-ary-ptrn-rest-not-final-ary.js     |  2 +-
 .../dstr-meth-ary-ptrn-rest-not-final-id.js      |  2 +-
 .../dstr-meth-ary-ptrn-rest-not-final-obj.js     |  2 +-
 .../dstr-meth-dflt-ary-ptrn-rest-init-ary.js     |  2 +-
 .../dstr-meth-dflt-ary-ptrn-rest-init-id.js      |  2 +-
 .../dstr-meth-dflt-ary-ptrn-rest-init-obj.js     |  2 +-
 ...dstr-meth-dflt-ary-ptrn-rest-not-final-ary.js |  2 +-
 .../dstr-meth-dflt-ary-ptrn-rest-not-final-id.js |  2 +-
 ...dstr-meth-dflt-ary-ptrn-rest-not-final-obj.js |  2 +-
 .../dstr-meth-static-ary-ptrn-rest-init-ary.js   |  2 +-
 .../dstr-meth-static-ary-ptrn-rest-init-id.js    |  2 +-
 .../dstr-meth-static-ary-ptrn-rest-init-obj.js   |  2 +-
 ...tr-meth-static-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...str-meth-static-ary-ptrn-rest-not-final-id.js |  2 +-
 ...tr-meth-static-ary-ptrn-rest-not-final-obj.js |  2 +-
 ...tr-meth-static-dflt-ary-ptrn-rest-init-ary.js |  2 +-
 ...str-meth-static-dflt-ary-ptrn-rest-init-id.js |  2 +-
 ...tr-meth-static-dflt-ary-ptrn-rest-init-obj.js |  2 +-
 ...th-static-dflt-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...eth-static-dflt-ary-ptrn-rest-not-final-id.js |  2 +-
 ...th-static-dflt-ary-ptrn-rest-not-final-obj.js |  2 +-
 ...tr-private-gen-meth-ary-ptrn-rest-init-ary.js |  2 +-
 ...str-private-gen-meth-ary-ptrn-rest-init-id.js |  2 +-
 ...tr-private-gen-meth-ary-ptrn-rest-init-obj.js |  2 +-
 ...ivate-gen-meth-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...rivate-gen-meth-ary-ptrn-rest-not-final-id.js |  2 +-
 ...ivate-gen-meth-ary-ptrn-rest-not-final-obj.js |  2 +-
 ...ivate-gen-meth-dflt-ary-ptrn-rest-init-ary.js |  2 +-
 ...rivate-gen-meth-dflt-ary-ptrn-rest-init-id.js |  2 +-
 ...ivate-gen-meth-dflt-ary-ptrn-rest-init-obj.js |  2 +-
 ...-gen-meth-dflt-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...e-gen-meth-dflt-ary-ptrn-rest-not-final-id.js |  2 +-
 ...-gen-meth-dflt-ary-ptrn-rest-not-final-obj.js |  2 +-
 ...ate-gen-meth-static-ary-ptrn-rest-init-ary.js |  2 +-
 ...vate-gen-meth-static-ary-ptrn-rest-init-id.js |  2 +-
 ...ate-gen-meth-static-ary-ptrn-rest-init-obj.js |  2 +-
 ...en-meth-static-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...gen-meth-static-ary-ptrn-rest-not-final-id.js |  2 +-
 ...en-meth-static-ary-ptrn-rest-not-final-obj.js |  2 +-
 ...en-meth-static-dflt-ary-ptrn-rest-init-ary.js |  2 +-
 ...gen-meth-static-dflt-ary-ptrn-rest-init-id.js |  2 +-
 ...en-meth-static-dflt-ary-ptrn-rest-init-obj.js |  2 +-
 ...th-static-dflt-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...eth-static-dflt-ary-ptrn-rest-not-final-id.js |  2 +-
 ...th-static-dflt-ary-ptrn-rest-not-final-obj.js |  2 +-
 .../dstr-private-meth-ary-ptrn-rest-init-ary.js  |  2 +-
 .../dstr-private-meth-ary-ptrn-rest-init-id.js   |  2 +-
 .../dstr-private-meth-ary-ptrn-rest-init-obj.js  |  2 +-
 ...r-private-meth-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...tr-private-meth-ary-ptrn-rest-not-final-id.js |  2 +-
 ...r-private-meth-ary-ptrn-rest-not-final-obj.js |  2 +-
 ...r-private-meth-dflt-ary-ptrn-rest-init-ary.js |  2 +-
 ...tr-private-meth-dflt-ary-ptrn-rest-init-id.js |  2 +-
 ...r-private-meth-dflt-ary-ptrn-rest-init-obj.js |  2 +-
 ...vate-meth-dflt-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...ivate-meth-dflt-ary-ptrn-rest-not-final-id.js |  2 +-
 ...vate-meth-dflt-ary-ptrn-rest-not-final-obj.js |  2 +-
 ...private-meth-static-ary-ptrn-rest-init-ary.js |  2 +-
 ...-private-meth-static-ary-ptrn-rest-init-id.js |  2 +-
 ...private-meth-static-ary-ptrn-rest-init-obj.js |  2 +-
 ...te-meth-static-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...ate-meth-static-ary-ptrn-rest-not-final-id.js |  2 +-
 ...te-meth-static-ary-ptrn-rest-not-final-obj.js |  2 +-
 ...te-meth-static-dflt-ary-ptrn-rest-init-ary.js |  2 +-
 ...ate-meth-static-dflt-ary-ptrn-rest-init-id.js |  2 +-
 ...te-meth-static-dflt-ary-ptrn-rest-init-obj.js |  2 +-
 ...th-static-dflt-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...eth-static-dflt-ary-ptrn-rest-not-final-id.js |  2 +-
 ...th-static-dflt-ary-ptrn-rest-not-final-obj.js |  2 +-
 ...e-call-expression-private-method-async-gen.js |  2 +-
 ...elete-call-expression-private-method-async.js |  2 +-
 ...-delete-call-expression-private-method-gen.js |  2 +-
 ...-err-delete-call-expression-private-method.js |  2 +-
 ...red-err-delete-call-expression-privatename.js |  2 +-
 ...member-expression-private-method-async-gen.js |  2 +-
 ...ete-member-expression-private-method-async.js |  2 +-
 ...elete-member-expression-private-method-gen.js |  2 +-
 ...rr-delete-member-expression-private-method.js |  2 +-
 ...d-err-delete-member-expression-privatename.js |  2 +-
 ...e-call-expression-private-method-async-gen.js |  2 +-
 ...elete-call-expression-private-method-async.js |  2 +-
 ...-delete-call-expression-private-method-gen.js |  2 +-
 ...-err-delete-call-expression-private-method.js |  2 +-
 ...ete-err-delete-call-expression-privatename.js |  2 +-
 ...member-expression-private-method-async-gen.js |  2 +-
 ...ete-member-expression-private-method-async.js |  2 +-
 ...elete-member-expression-private-method-gen.js |  2 +-
 ...rr-delete-member-expression-private-method.js |  2 +-
 ...e-err-delete-member-expression-privatename.js |  2 +-
 ...e-call-expression-private-method-async-gen.js |  2 +-
 ...elete-call-expression-private-method-async.js |  2 +-
 ...-delete-call-expression-private-method-gen.js |  2 +-
 ...-err-delete-call-expression-private-method.js |  2 +-
 ...red-err-delete-call-expression-privatename.js |  2 +-
 ...member-expression-private-method-async-gen.js |  2 +-
 ...ete-member-expression-private-method-async.js |  2 +-
 ...elete-member-expression-private-method-gen.js |  2 +-
 ...rr-delete-member-expression-private-method.js |  2 +-
 ...d-err-delete-member-expression-privatename.js |  2 +-
 ...e-call-expression-private-method-async-gen.js |  2 +-
 ...elete-call-expression-private-method-async.js |  2 +-
 ...-delete-call-expression-private-method-gen.js |  2 +-
 ...-err-delete-call-expression-private-method.js |  2 +-
 ...red-err-delete-call-expression-privatename.js |  2 +-
 ...member-expression-private-method-async-gen.js |  2 +-
 ...ete-member-expression-private-method-async.js |  2 +-
 ...elete-member-expression-private-method-gen.js |  2 +-
 ...rr-delete-member-expression-private-method.js |  2 +-
 ...d-err-delete-member-expression-privatename.js |  2 +-
 ...e-call-expression-private-method-async-gen.js |  2 +-
 ...elete-call-expression-private-method-async.js |  2 +-
 ...-delete-call-expression-private-method-gen.js |  2 +-
 ...-err-delete-call-expression-private-method.js |  2 +-
 ...ete-err-delete-call-expression-privatename.js |  2 +-
 ...member-expression-private-method-async-gen.js |  2 +-
 ...ete-member-expression-private-method-async.js |  2 +-
 ...elete-member-expression-private-method-gen.js |  2 +-
 ...rr-delete-member-expression-private-method.js |  2 +-
 ...e-err-delete-member-expression-privatename.js |  2 +-
 ...e-call-expression-private-method-async-gen.js |  2 +-
 ...elete-call-expression-private-method-async.js |  2 +-
 ...-delete-call-expression-private-method-gen.js |  2 +-
 ...-err-delete-call-expression-private-method.js |  2 +-
 ...red-err-delete-call-expression-privatename.js |  2 +-
 ...member-expression-private-method-async-gen.js |  2 +-
 ...ete-member-expression-private-method-async.js |  2 +-
 ...elete-member-expression-private-method-gen.js |  2 +-
 ...rr-delete-member-expression-private-method.js |  2 +-
 ...d-err-delete-member-expression-privatename.js |  2 +-
 ...elds-arrow-fnc-init-err-contains-arguments.js |  2 +-
 .../fields-arrow-fnc-init-err-contains-super.js  |  2 +-
 test/language/expressions/class/fields-asi-3.js  |  2 +-
 test/language/expressions/class/fields-asi-4.js  |  2 +-
 ...elds-comp-name-init-err-contains-arguments.js |  2 +-
 .../fields-comp-name-init-err-contains-super.js  |  2 +-
 .../class/fields-duplicate-privatenames.js       |  2 +-
 ...ields-equality-init-err-contains-arguments.js |  2 +-
 .../fields-equality-init-err-contains-super.js   |  2 +-
 ...s-literal-name-init-err-contains-arguments.js |  2 +-
 ...ields-literal-name-init-err-contains-super.js |  2 +-
 .../fields-literal-name-propname-constructor.js  |  2 +-
 ...s-literal-name-static-propname-constructor.js |  2 +-
 ...lds-literal-name-static-propname-prototype.js |  2 +-
 ...vate-arrow-fnc-init-err-contains-arguments.js |  2 +-
 ...-private-arrow-fnc-init-err-contains-super.js |  2 +-
 ...e-literal-name-init-err-contains-arguments.js |  2 +-
 ...ivate-literal-name-init-err-contains-super.js |  2 +-
 ...rivate-ternary-init-err-contains-arguments.js |  2 +-
 ...ds-private-ternary-init-err-contains-super.js |  2 +-
 ...private-typeof-init-err-contains-arguments.js |  2 +-
 ...lds-private-typeof-init-err-contains-super.js |  2 +-
 ...atic-comp-name-init-err-contains-arguments.js |  2 +-
 ...s-static-comp-name-init-err-contains-super.js |  2 +-
 ...static-literal-init-err-contains-arguments.js |  2 +-
 ...lds-static-literal-init-err-contains-super.js |  2 +-
 ...static-private-init-err-contains-arguments.js |  2 +-
 ...lds-static-private-init-err-contains-super.js |  2 +-
 ...g-literal-name-init-err-contains-arguments.js |  2 +-
 ...tring-literal-name-init-err-contains-super.js |  2 +-
 ...g-literal-name-init-err-contains-arguments.js |  2 +-
 ...tring-literal-name-init-err-contains-super.js |  2 +-
 .../fields-string-name-propname-constructor.js   |  2 +-
 ...ds-string-name-static-propname-constructor.js |  2 +-
 ...elds-string-name-static-propname-prototype.js |  2 +-
 ...fields-ternary-init-err-contains-arguments.js |  2 +-
 .../fields-ternary-init-err-contains-super.js    |  2 +-
 .../fields-typeof-init-err-contains-arguments.js |  2 +-
 .../fields-typeof-init-err-contains-super.js     |  2 +-
 .../class/gen-meth-dflt-params-duplicates.js     |  2 +-
 .../class/gen-meth-dflt-params-rest.js           |  2 +-
 ...eth-rest-params-trailing-comma-early-error.js |  2 +-
 .../gen-meth-static-dflt-params-duplicates.js    |  2 +-
 .../class/gen-meth-static-dflt-params-rest.js    |  2 +-
 ...tic-rest-params-trailing-comma-early-error.js |  2 +-
 .../class/gen-method-param-dflt-yield.js         |  2 +-
 ...static-yield-as-binding-identifier-escaped.js |  2 +-
 ...-method-static-yield-as-binding-identifier.js |  2 +-
 ...atic-yield-as-identifier-reference-escaped.js |  2 +-
 ...ethod-static-yield-as-identifier-reference.js |  2 +-
 ...d-static-yield-as-label-identifier-escaped.js |  2 +-
 ...en-method-static-yield-as-label-identifier.js |  2 +-
 ...thod-static-yield-identifier-spread-strict.js |  2 +-
 .../gen-method-static-yield-identifier-strict.js |  2 +-
 ...method-yield-as-binding-identifier-escaped.js |  2 +-
 .../gen-method-yield-as-binding-identifier.js    |  2 +-
 ...thod-yield-as-identifier-reference-escaped.js |  2 +-
 .../gen-method-yield-as-identifier-reference.js  |  2 +-
 ...n-method-yield-as-label-identifier-escaped.js |  2 +-
 .../gen-method-yield-as-label-identifier.js      |  2 +-
 .../gen-method-yield-identifier-spread-strict.js |  2 +-
 .../class/gen-method-yield-identifier-strict.js  |  2 +-
 ...static-yield-as-binding-identifier-escaped.js |  2 +-
 ...-method-static-yield-as-binding-identifier.js |  2 +-
 ...atic-yield-as-identifier-reference-escaped.js |  2 +-
 ...ethod-static-yield-as-identifier-reference.js |  2 +-
 ...d-static-yield-as-label-identifier-escaped.js |  2 +-
 ...te-method-static-yield-as-label-identifier.js |  2 +-
 ...thod-static-yield-identifier-spread-strict.js |  2 +-
 ...vate-method-static-yield-identifier-strict.js |  2 +-
 ...method-yield-as-binding-identifier-escaped.js |  2 +-
 ...private-method-yield-as-binding-identifier.js |  2 +-
 ...thod-yield-as-identifier-reference-escaped.js |  2 +-
 ...ivate-method-yield-as-identifier-reference.js |  2 +-
 ...e-method-yield-as-label-identifier-escaped.js |  2 +-
 ...n-private-method-yield-as-label-identifier.js |  2 +-
 ...vate-method-yield-identifier-spread-strict.js |  2 +-
 ...gen-private-method-yield-identifier-strict.js |  2 +-
 .../expressions/class/getter-param-dflt.js       |  2 +-
 .../class/meth-dflt-params-duplicates.js         |  2 +-
 .../expressions/class/meth-dflt-params-rest.js   |  2 +-
 ...eth-rest-params-trailing-comma-early-error.js |  2 +-
 .../class/meth-static-dflt-params-duplicates.js  |  2 +-
 .../class/meth-static-dflt-params-rest.js        |  2 +-
 ...tic-rest-params-trailing-comma-early-error.js |  2 +-
 .../expressions/class/method-param-dflt-yield.js |  2 +-
 .../class/static-gen-method-param-dflt-yield.js  |  2 +-
 .../class/static-method-param-dflt-yield.js      |  2 +-
 .../grammar-class-body-ctor-duplicate.js         |  2 +-
 .../grammar-ctor-super-no-heritage.js            |  2 +-
 ...grammar-field-identifier-invalid-ues-error.js |  2 +-
 ...grammar-field-identifier-invalid-zwj-error.js |  2 +-
 ...rammar-field-identifier-invalid-zwnj-error.js |  2 +-
 .../grammar-fields-same-line-error.js            |  2 +-
 .../grammar-privatemeth-duplicate-get-field.js   |  2 +-
 .../grammar-privatemeth-duplicate-get-get.js     |  2 +-
 .../grammar-privatemeth-duplicate-meth-field.js  |  2 +-
 .../grammar-privatemeth-duplicate-meth-get.js    |  2 +-
 .../grammar-privatemeth-duplicate-meth-meth.js   |  2 +-
 .../grammar-privatemeth-duplicate-meth-set.js    |  2 +-
 ...mar-privatemeth-duplicate-meth-staticfield.js |  2 +-
 ...mmar-privatemeth-duplicate-meth-staticmeth.js |  2 +-
 .../grammar-privatemeth-duplicate-set-field.js   |  2 +-
 .../grammar-privatemeth-duplicate-set-set.js     |  2 +-
 .../grammar-privatename-constructor.js           |  2 +-
 .../early-errors/grammar-privatename-error.js    |  2 +-
 ...grammar-privatename-identifier-invalid-ues.js |  2 +-
 ...r-privatename-identifier-invalid-zwj-error.js |  2 +-
 ...-privatename-identifier-invalid-zwnj-error.js |  2 +-
 ...atename-whitespace-error-accessor-get-meth.js |  2 +-
 ...atename-whitespace-error-accessor-set-meth.js |  2 +-
 ...rivatename-whitespace-error-async-gen-meth.js |  2 +-
 ...ar-privatename-whitespace-error-async-meth.js |  2 +-
 ...mar-privatename-whitespace-error-call-expr.js |  2 +-
 ...ar-privatename-whitespace-error-field-init.js |  2 +-
 ...grammar-privatename-whitespace-error-field.js |  2 +-
 ...mmar-privatename-whitespace-error-gen-meth.js |  2 +-
 ...r-privatename-whitespace-error-member-expr.js |  2 +-
 ...mar-privatename-whitespace-error-meth.case.js |  2 +-
 ...-whitespace-error-static-accessor-get-meth.js |  2 +-
 ...-whitespace-error-static-accessor-set-meth.js |  2 +-
 ...ame-whitespace-error-static-async-gen-meth.js |  2 +-
 ...atename-whitespace-error-static-async-meth.js |  2 +-
 ...atename-whitespace-error-static-field-init.js |  2 +-
 ...-privatename-whitespace-error-static-field.js |  2 +-
 ...ivatename-whitespace-error-static-gen-meth.js |  2 +-
 ...r-privatename-whitespace-error-static-meth.js |  2 +-
 .../grammar-privatenames-same-line-error.js      |  2 +-
 ...mmar-special-meth-contains-super-async-gen.js |  2 +-
 .../grammar-special-meth-contains-super-async.js |  2 +-
 .../grammar-special-meth-contains-super-gen.js   |  2 +-
 .../grammar-special-meth-contains-super-get.js   |  2 +-
 ...grammar-special-meth-contains-super-method.js |  2 +-
 ...cial-meth-contains-super-private-async-gen.js |  2 +-
 ...-special-meth-contains-super-private-async.js |  2 +-
 ...ar-special-meth-contains-super-private-gen.js |  2 +-
 ...special-meth-contains-super-private-method.js |  2 +-
 .../grammar-special-meth-contains-super-set.js   |  2 +-
 .../grammar-special-meth-ctor-async-gen.js       |  2 +-
 .../grammar-special-meth-ctor-async-meth.js      |  2 +-
 .../grammar-special-meth-ctor-gen.js             |  2 +-
 .../grammar-special-meth-ctor-get.js             |  2 +-
 .../grammar-special-meth-ctor-set.js             |  2 +-
 .../grammar-static-async-gen-meth-prototype.js   |  2 +-
 .../grammar-static-async-gen-meth-super.js       |  2 +-
 .../grammar-static-async-meth-prototype.js       |  2 +-
 .../grammar-static-async-meth-super.js           |  2 +-
 .../grammar-static-gen-meth-prototype.js         |  2 +-
 .../grammar-static-gen-meth-super.js             |  2 +-
 .../grammar-static-get-meth-prototype.js         |  2 +-
 .../grammar-static-get-meth-super.js             |  2 +-
 .../grammar-static-meth-prototype.js             |  2 +-
 .../early-errors/grammar-static-meth-super.js    |  2 +-
 ...-static-private-async-gen-meth-constructor.js |  2 +-
 ...rammar-static-private-async-gen-meth-super.js |  2 +-
 ...mmar-static-private-async-meth-constructor.js |  2 +-
 .../grammar-static-private-async-meth-super.js   |  2 +-
 ...rammar-static-private-gen-meth-constructor.js |  2 +-
 .../grammar-static-private-gen-meth-super.js     |  2 +-
 .../grammar-static-private-meth-constructor.js   |  2 +-
 .../grammar-static-private-meth-super.js         |  2 +-
 .../grammar-static-privatename-constructor.js    |  2 +-
 .../grammar-static-set-meth-prototype.js         |  2 +-
 .../grammar-static-set-meth-super.js             |  2 +-
 .../compound-assignment/11.13.2-6-1gs.js         |  2 +-
 .../compound-assignment/add-non-simple.js        |  2 +-
 .../compound-assignment/btws-and-non-simple.js   |  2 +-
 .../compound-assignment/btws-or-non-simple.js    |  2 +-
 .../compound-assignment/btws-xor-non-simple.js   |  2 +-
 .../compound-assignment/div-non-simple.js        |  2 +-
 .../compound-assignment/left-shift-non-simple.js |  2 +-
 .../compound-assignment/mod-div-non-simple.js    |  2 +-
 .../compound-assignment/mult-non-simple.js       |  2 +-
 .../right-shift-non-simple.js                    |  2 +-
 .../compound-assignment/subtract-non-simple.js   |  2 +-
 .../u-right-shift-non-simple.js                  |  2 +-
 .../expressions/conditional/in-branch-2.js       |  2 +-
 .../expressions/conditional/in-condition.js      |  2 +-
 .../expressions/delete/11.4.1-5-a-5gs.js         |  2 +-
 .../expressions/delete/identifier-strict.js      |  2 +-
 ...-syntax-error-bitnot-unary-expression-base.js |  2 +-
 ...-syntax-error-delete-unary-expression-base.js |  2 +-
 ...ax-error-logical-not-unary-expression-base.js |  2 +-
 ...-syntax-error-negate-unary-expression-base.js |  2 +-
 ...or-syntax-error-plus-unary-expression-base.js |  2 +-
 ...-syntax-error-typeof-unary-expression-base.js |  2 +-
 ...or-syntax-error-void-unary-expression-base.js |  2 +-
 .../function/dflt-params-duplicates.js           |  2 +-
 .../expressions/function/dflt-params-rest.js     |  2 +-
 .../function/dstr-ary-ptrn-rest-init-ary.js      |  2 +-
 .../function/dstr-ary-ptrn-rest-init-id.js       |  2 +-
 .../function/dstr-ary-ptrn-rest-init-obj.js      |  2 +-
 .../function/dstr-ary-ptrn-rest-not-final-ary.js |  2 +-
 .../function/dstr-ary-ptrn-rest-not-final-id.js  |  2 +-
 .../function/dstr-ary-ptrn-rest-not-final-obj.js |  2 +-
 .../function/dstr-dflt-ary-ptrn-rest-init-ary.js |  2 +-
 .../function/dstr-dflt-ary-ptrn-rest-init-id.js  |  2 +-
 .../function/dstr-dflt-ary-ptrn-rest-init-obj.js |  2 +-
 .../dstr-dflt-ary-ptrn-rest-not-final-ary.js     |  2 +-
 .../dstr-dflt-ary-ptrn-rest-not-final-id.js      |  2 +-
 .../dstr-dflt-ary-ptrn-rest-not-final-obj.js     |  2 +-
 .../function/early-body-super-call.js            |  2 +-
 .../function/early-body-super-prop.js            |  2 +-
 .../function/early-params-super-call.js          |  2 +-
 .../function/early-params-super-prop.js          |  2 +-
 .../function/name-arguments-strict-body.js       |  2 +-
 .../function/name-arguments-strict.js            |  2 +-
 .../function/name-eval-strict-body.js            |  2 +-
 .../expressions/function/name-eval-strict.js     |  2 +-
 .../function/param-dflt-yield-strict.js          |  2 +-
 .../function/param-duplicated-strict-1.js        |  4 ++--
 .../function/param-duplicated-strict-2.js        |  4 ++--
 .../function/param-duplicated-strict-3.js        |  4 ++--
 .../function/param-duplicated-strict-body-1.js   |  4 ++--
 .../function/param-duplicated-strict-body-2.js   |  4 ++--
 .../function/param-duplicated-strict-body-3.js   |  4 ++--
 .../function/param-eval-strict-body.js           |  4 ++--
 .../rest-params-trailing-comma-early-error.js    |  2 +-
 .../function/use-strict-with-non-simple-param.js |  2 +-
 .../generators/dflt-params-duplicates.js         |  2 +-
 .../expressions/generators/dflt-params-rest.js   |  2 +-
 .../generators/dstr-ary-ptrn-rest-init-ary.js    |  2 +-
 .../generators/dstr-ary-ptrn-rest-init-id.js     |  2 +-
 .../generators/dstr-ary-ptrn-rest-init-obj.js    |  2 +-
 .../dstr-ary-ptrn-rest-not-final-ary.js          |  2 +-
 .../dstr-ary-ptrn-rest-not-final-id.js           |  2 +-
 .../dstr-ary-ptrn-rest-not-final-obj.js          |  2 +-
 .../dstr-dflt-ary-ptrn-rest-init-ary.js          |  2 +-
 .../dstr-dflt-ary-ptrn-rest-init-id.js           |  2 +-
 .../dstr-dflt-ary-ptrn-rest-init-obj.js          |  2 +-
 .../dstr-dflt-ary-ptrn-rest-not-final-ary.js     |  2 +-
 .../dstr-dflt-ary-ptrn-rest-not-final-id.js      |  2 +-
 .../dstr-dflt-ary-ptrn-rest-not-final-obj.js     |  2 +-
 .../named-yield-as-binding-identifier-escaped.js |  2 +-
 .../named-yield-as-binding-identifier.js         |  2 +-
 ...amed-yield-as-identifier-reference-escaped.js |  2 +-
 .../named-yield-as-identifier-reference.js       |  2 +-
 .../named-yield-as-label-identifier-escaped.js   |  2 +-
 .../named-yield-as-label-identifier.js           |  2 +-
 .../named-yield-identifier-spread-strict.js      |  2 +-
 .../generators/named-yield-identifier-strict.js  |  2 +-
 .../expressions/generators/param-dflt-yield.js   |  2 +-
 .../rest-params-trailing-comma-early-error.js    |  2 +-
 .../use-strict-with-non-simple-param.js          |  2 +-
 .../yield-as-binding-identifier-escaped.js       |  2 +-
 .../generators/yield-as-binding-identifier.js    |  2 +-
 ...as-generator-expression-binding-identifier.js |  2 +-
 .../yield-as-identifier-reference-escaped.js     |  2 +-
 .../generators/yield-as-identifier-reference.js  |  2 +-
 .../yield-as-label-identifier-escaped.js         |  2 +-
 .../generators/yield-as-label-identifier.js      |  2 +-
 .../generators/yield-as-logical-or-expression.js |  2 +-
 .../expressions/generators/yield-as-parameter.js |  2 +-
 .../generators/yield-identifier-spread-strict.js |  2 +-
 .../generators/yield-identifier-strict.js        |  2 +-
 .../generators/yield-star-after-newline.js       |  2 +-
 .../expressions/generators/yield-weak-binding.js |  2 +-
 .../expressions/new.target/escaped-new.js        |  2 +-
 .../expressions/new.target/escaped-target.js     |  2 +-
 test/language/expressions/object/11.1.5-1gs.js   |  2 +-
 .../expressions/object/cover-initialized-name.js |  2 +-
 ...dstr-async-gen-meth-ary-ptrn-rest-init-ary.js |  2 +-
 .../dstr-async-gen-meth-ary-ptrn-rest-init-id.js |  2 +-
 ...dstr-async-gen-meth-ary-ptrn-rest-init-obj.js |  2 +-
 ...async-gen-meth-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...-async-gen-meth-ary-ptrn-rest-not-final-id.js |  2 +-
 ...async-gen-meth-ary-ptrn-rest-not-final-obj.js |  2 +-
 ...async-gen-meth-dflt-ary-ptrn-rest-init-ary.js |  2 +-
 ...-async-gen-meth-dflt-ary-ptrn-rest-init-id.js |  2 +-
 ...async-gen-meth-dflt-ary-ptrn-rest-init-obj.js |  2 +-
 ...-gen-meth-dflt-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...c-gen-meth-dflt-ary-ptrn-rest-not-final-id.js |  2 +-
 ...-gen-meth-dflt-ary-ptrn-rest-not-final-obj.js |  2 +-
 .../dstr-gen-meth-ary-ptrn-rest-init-ary.js      |  2 +-
 .../dstr-gen-meth-ary-ptrn-rest-init-id.js       |  2 +-
 .../dstr-gen-meth-ary-ptrn-rest-init-obj.js      |  2 +-
 .../dstr-gen-meth-ary-ptrn-rest-not-final-ary.js |  2 +-
 .../dstr-gen-meth-ary-ptrn-rest-not-final-id.js  |  2 +-
 .../dstr-gen-meth-ary-ptrn-rest-not-final-obj.js |  2 +-
 .../dstr-gen-meth-dflt-ary-ptrn-rest-init-ary.js |  2 +-
 .../dstr-gen-meth-dflt-ary-ptrn-rest-init-id.js  |  2 +-
 .../dstr-gen-meth-dflt-ary-ptrn-rest-init-obj.js |  2 +-
 ...-gen-meth-dflt-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...r-gen-meth-dflt-ary-ptrn-rest-not-final-id.js |  2 +-
 ...-gen-meth-dflt-ary-ptrn-rest-not-final-obj.js |  2 +-
 .../object/dstr-meth-ary-ptrn-rest-init-ary.js   |  2 +-
 .../object/dstr-meth-ary-ptrn-rest-init-id.js    |  2 +-
 .../object/dstr-meth-ary-ptrn-rest-init-obj.js   |  2 +-
 .../dstr-meth-ary-ptrn-rest-not-final-ary.js     |  2 +-
 .../dstr-meth-ary-ptrn-rest-not-final-id.js      |  2 +-
 .../dstr-meth-ary-ptrn-rest-not-final-obj.js     |  2 +-
 .../dstr-meth-dflt-ary-ptrn-rest-init-ary.js     |  2 +-
 .../dstr-meth-dflt-ary-ptrn-rest-init-id.js      |  2 +-
 .../dstr-meth-dflt-ary-ptrn-rest-init-obj.js     |  2 +-
 ...dstr-meth-dflt-ary-ptrn-rest-not-final-ary.js |  2 +-
 .../dstr-meth-dflt-ary-ptrn-rest-not-final-id.js |  2 +-
 ...dstr-meth-dflt-ary-ptrn-rest-not-final-obj.js |  2 +-
 .../object/getter-body-strict-inside.js          |  2 +-
 .../object/getter-body-strict-outside.js         |  2 +-
 .../expressions/object/getter-param-dflt.js      |  2 +-
 ...identifier-shorthand-invalid-computed-name.js |  2 +-
 .../object/identifier-shorthand-invalid-zero.js  |  2 +-
 .../async-await-as-binding-identifier-escaped.js |  2 +-
 .../async-await-as-binding-identifier.js         |  2 +-
 ...sync-await-as-identifier-reference-escaped.js |  2 +-
 .../async-await-as-identifier-reference.js       |  2 +-
 .../async-await-as-label-identifier-escaped.js   |  2 +-
 .../async-await-as-label-identifier.js           |  2 +-
 ...nc-gen-await-as-binding-identifier-escaped.js |  2 +-
 .../async-gen-await-as-binding-identifier.js     |  2 +-
 ...-gen-await-as-identifier-reference-escaped.js |  2 +-
 .../async-gen-await-as-identifier-reference.js   |  2 +-
 ...sync-gen-await-as-label-identifier-escaped.js |  2 +-
 .../async-gen-await-as-label-identifier.js       |  2 +-
 .../async-gen-meth-dflt-params-duplicates.js     |  2 +-
 .../async-gen-meth-dflt-params-rest.js           |  2 +-
 .../async-gen-meth-escaped-async.js              |  2 +-
 ...eth-rest-params-trailing-comma-early-error.js |  2 +-
 ...nc-gen-yield-as-binding-identifier-escaped.js |  2 +-
 .../async-gen-yield-as-binding-identifier.js     |  2 +-
 ...-gen-yield-as-identifier-reference-escaped.js |  2 +-
 .../async-gen-yield-as-identifier-reference.js   |  2 +-
 ...sync-gen-yield-as-label-identifier-escaped.js |  2 +-
 .../async-gen-yield-as-label-identifier.js       |  2 +-
 .../async-gen-yield-identifier-spread-strict.js  |  2 +-
 .../async-gen-yield-identifier-strict.js         |  2 +-
 .../async-meth-dflt-params-duplicates.js         |  2 +-
 .../async-meth-dflt-params-rest.js               |  2 +-
 .../async-meth-escaped-async.js                  |  2 +-
 ...eth-rest-params-trailing-comma-early-error.js |  2 +-
 .../early-errors-object-method-NSPL-with-USD.js  |  2 +-
 ...ject-method-arguments-in-formal-parameters.js |  2 +-
 ...-errors-object-method-async-lineterminator.js |  2 +-
 ...ors-object-method-await-in-formals-default.js |  2 +-
 ...arly-errors-object-method-await-in-formals.js |  2 +-
 ...ors-object-method-body-contains-super-call.js |  2 +-
 ...-errors-object-method-duplicate-parameters.js |  2 +-
 ...rs-object-method-eval-in-formal-parameters.js |  2 +-
 ...rrors-object-method-formals-body-duplicate.js |  2 +-
 ...-object-method-formals-contains-super-call.js |  2 +-
 .../object/method-definition/escaped-get.js      |  2 +-
 .../object/method-definition/escaped-set.js      |  2 +-
 .../gen-meth-dflt-params-duplicates.js           |  2 +-
 .../gen-meth-dflt-params-rest.js                 |  2 +-
 ...eth-rest-params-trailing-comma-early-error.js |  2 +-
 .../gen-yield-as-binding-identifier-escaped.js   |  2 +-
 .../gen-yield-as-binding-identifier.js           |  2 +-
 .../gen-yield-as-identifier-reference-escaped.js |  2 +-
 .../gen-yield-as-identifier-reference.js         |  2 +-
 .../gen-yield-as-label-identifier-escaped.js     |  2 +-
 .../gen-yield-as-label-identifier.js             |  2 +-
 .../gen-yield-identifier-spread-strict.js        |  2 +-
 .../gen-yield-identifier-strict.js               |  2 +-
 .../generator-param-id-yield.js                  |  2 +-
 .../generator-param-init-yield.js                |  2 +-
 .../generator-param-redecl-const.js              |  4 ++--
 .../generator-param-redecl-let.js                |  4 ++--
 .../generator-super-call-body.js                 |  2 +-
 .../generator-super-call-param.js                |  4 ++--
 ...generator-use-strict-with-non-simple-param.js |  2 +-
 .../meth-dflt-params-duplicates.js               |  2 +-
 .../method-definition/meth-dflt-params-rest.js   |  2 +-
 ...eth-rest-params-trailing-comma-early-error.js |  2 +-
 .../method-definition/name-param-redecl.js       |  2 +-
 .../method-definition/name-super-call-body.js    |  2 +-
 .../method-definition/name-super-call-param.js   |  2 +-
 .../setter-use-strict-with-non-simple-param.js   |  2 +-
 .../use-strict-with-non-simple-param.js          |  2 +-
 .../yield-as-logical-or-expression.js            |  2 +-
 .../method-definition/yield-as-parameter.js      |  2 +-
 .../yield-star-after-newline.js                  |  2 +-
 .../method-definition/yield-weak-binding.js      |  2 +-
 .../object/prop-def-invalid-async-prefix.js      |  2 +-
 .../object/setter-body-strict-inside.js          |  2 +-
 .../object/setter-body-strict-outside.js         |  2 +-
 .../setter-param-arguments-strict-inside.js      |  2 +-
 .../setter-param-arguments-strict-outside.js     |  2 +-
 .../object/setter-param-eval-strict-inside.js    |  2 +-
 .../object/setter-param-eval-strict-outside.js   |  2 +-
 .../expressions/postfix-decrement/arguments.js   |  2 +-
 .../expressions/postfix-decrement/eval.js        |  2 +-
 .../line-terminator-carriage-return.js           |  5 +++--
 .../line-terminator-line-feed.js                 |  2 +-
 .../line-terminator-line-separator.js            |  2 +-
 .../line-terminator-paragraph-separator.js       |  2 +-
 .../expressions/postfix-decrement/non-simple.js  |  2 +-
 .../postfix-decrement/target-cover-newtarget.js  |  2 +-
 .../postfix-decrement/target-cover-yieldexpr.js  |  2 +-
 .../postfix-decrement/target-newtarget.js        |  2 +-
 .../postfix-increment/11.3.1-2-1gs.js            |  2 +-
 .../expressions/postfix-increment/arguments.js   |  2 +-
 .../expressions/postfix-increment/eval.js        |  2 +-
 .../line-terminator-carriage-return.js           |  5 +++--
 .../line-terminator-line-feed.js                 |  2 +-
 .../line-terminator-line-separator.js            |  2 +-
 .../line-terminator-paragraph-separator.js       |  2 +-
 .../expressions/postfix-increment/non-simple.js  |  2 +-
 .../postfix-increment/target-cover-newtarget.js  |  2 +-
 .../postfix-increment/target-cover-yieldexpr.js  |  2 +-
 .../postfix-increment/target-newtarget.js        |  2 +-
 .../expressions/prefix-decrement/11.4.5-2-2gs.js |  2 +-
 .../expressions/prefix-decrement/arguments.js    |  2 +-
 .../expressions/prefix-decrement/eval.js         |  2 +-
 .../expressions/prefix-decrement/non-simple.js   |  2 +-
 .../prefix-decrement/target-cover-newtarget.js   |  2 +-
 .../prefix-decrement/target-cover-yieldexpr.js   |  2 +-
 .../prefix-decrement/target-newtarget.js         |  2 +-
 .../expressions/prefix-increment/arguments.js    |  2 +-
 .../expressions/prefix-increment/eval.js         |  2 +-
 .../expressions/prefix-increment/non-simple.js   |  2 +-
 .../prefix-increment/target-cover-newtarget.js   |  2 +-
 .../prefix-increment/target-cover-yieldexpr.js   |  2 +-
 .../prefix-increment/target-newtarget.js         |  2 +-
 .../property-accessors/non-identifier-name.js    |  2 +-
 ...imal-character-escape-sequence-truncated-1.js |  2 +-
 ...imal-character-escape-sequence-truncated-2.js |  2 +-
 ...imal-character-escape-sequence-truncated-3.js |  2 +-
 .../invalid-legacy-octal-escape-sequence.js      |  2 +-
 .../invalid-unicode-escape-sequence-1.js         |  2 +-
 .../invalid-unicode-escape-sequence-2.js         |  2 +-
 .../invalid-unicode-escape-sequence-3.js         |  2 +-
 .../invalid-unicode-escape-sequence-4.js         |  2 +-
 .../invalid-unicode-escape-sequence-5.js         |  2 +-
 .../invalid-unicode-escape-sequence-6.js         |  2 +-
 .../invalid-unicode-escape-sequence-7.js         |  2 +-
 .../invalid-unicode-escape-sequence-8.js         |  2 +-
 .../template-literal/unicode-escape-nls-err.js   |  2 +-
 test/language/expressions/this/S11.1.1_A1.js     |  2 +-
 .../expressions/yield/in-iteration-stmt.js       |  2 +-
 .../expressions/yield/invalid-left-hand-side.js  |  2 +-
 .../expressions/yield/star-in-iteration-stmt.js  |  2 +-
 test/language/future-reserved-words/class.js     |  2 +-
 test/language/future-reserved-words/const.js     |  2 +-
 test/language/future-reserved-words/debugger.js  |  2 +-
 test/language/future-reserved-words/enum.js      |  2 +-
 test/language/future-reserved-words/export.js    |  2 +-
 test/language/future-reserved-words/extends.js   |  2 +-
 .../implements-strict-escaped.js                 |  2 +-
 .../future-reserved-words/implements-strict.js   |  2 +-
 test/language/future-reserved-words/import.js    |  2 +-
 .../interface-strict-escaped.js                  |  2 +-
 .../future-reserved-words/interface-strict.js    |  2 +-
 .../future-reserved-words/let-strict-escaped.js  |  2 +-
 .../language/future-reserved-words/let-strict.js |  2 +-
 .../package-strict-escaped.js                    |  2 +-
 .../future-reserved-words/package-strict.js      |  2 +-
 .../private-strict-escaped.js                    |  2 +-
 .../future-reserved-words/private-strict.js      |  2 +-
 .../protected-strict-escaped.js                  |  2 +-
 .../future-reserved-words/protected-strict.js    |  2 +-
 .../public-strict-escaped.js                     |  2 +-
 .../future-reserved-words/public-strict.js       |  2 +-
 .../static-strict-escaped.js                     |  2 +-
 .../future-reserved-words/static-strict.js       |  2 +-
 test/language/future-reserved-words/super.js     |  2 +-
 .../yield-strict-escaped.js                      |  2 +-
 .../future-reserved-words/yield-strict.js        |  2 +-
 test/language/global-code/export.js              |  2 +-
 test/language/global-code/import.js              |  2 +-
 test/language/global-code/new.target-arrow.js    |  2 +-
 test/language/global-code/new.target.js          |  4 ++--
 test/language/global-code/return.js              |  2 +-
 test/language/global-code/super-call-arrow.js    |  2 +-
 test/language/global-code/super-call.js          |  2 +-
 test/language/global-code/super-prop-arrow.js    |  2 +-
 test/language/global-code/super-prop.js          |  2 +-
 test/language/global-code/yield-strict.js        |  2 +-
 .../identifiers/unicode-escape-nls-err.js        |  2 +-
 .../identifiers/val-break-via-escape-hex.js      |  2 +-
 .../identifiers/val-break-via-escape-hex4.js     |  2 +-
 test/language/identifiers/val-break.js           |  2 +-
 .../identifiers/val-case-via-escape-hex.js       |  2 +-
 .../identifiers/val-case-via-escape-hex4.js      |  2 +-
 test/language/identifiers/val-case.js            |  2 +-
 .../identifiers/val-catch-via-escape-hex.js      |  2 +-
 .../identifiers/val-catch-via-escape-hex4.js     |  2 +-
 test/language/identifiers/val-catch.js           |  2 +-
 .../identifiers/val-class-via-escape-hex.js      |  2 +-
 .../identifiers/val-class-via-escape-hex4.js     |  2 +-
 test/language/identifiers/val-class.js           |  2 +-
 .../identifiers/val-const-via-escape-hex.js      |  2 +-
 .../identifiers/val-const-via-escape-hex4.js     |  2 +-
 test/language/identifiers/val-const.js           |  2 +-
 .../identifiers/val-continue-via-escape-hex.js   |  2 +-
 .../identifiers/val-continue-via-escape-hex4.js  |  2 +-
 test/language/identifiers/val-continue.js        |  2 +-
 .../identifiers/val-debugger-via-escape-hex.js   |  2 +-
 .../identifiers/val-debugger-via-escape-hex4.js  |  2 +-
 test/language/identifiers/val-debugger.js        |  2 +-
 .../identifiers/val-default-via-escape-hex.js    |  2 +-
 .../identifiers/val-default-via-escape-hex4.js   |  2 +-
 test/language/identifiers/val-default.js         |  2 +-
 .../identifiers/val-delete-via-escape-hex.js     |  2 +-
 .../identifiers/val-delete-via-escape-hex4.js    |  2 +-
 test/language/identifiers/val-delete.js          |  2 +-
 .../identifiers/val-do-via-escape-hex.js         |  2 +-
 .../identifiers/val-do-via-escape-hex4.js        |  2 +-
 test/language/identifiers/val-do.js              |  2 +-
 .../identifiers/val-else-via-escape-hex.js       |  2 +-
 .../identifiers/val-else-via-escape-hex4.js      |  2 +-
 test/language/identifiers/val-else.js            |  2 +-
 .../identifiers/val-enum-via-escape-hex.js       |  2 +-
 .../identifiers/val-enum-via-escape-hex4.js      |  2 +-
 test/language/identifiers/val-enum.js            |  2 +-
 .../identifiers/val-export-via-escape-hex.js     |  2 +-
 .../identifiers/val-export-via-escape-hex4.js    |  2 +-
 test/language/identifiers/val-export.js          |  2 +-
 .../identifiers/val-extends-via-escape-hex.js    |  2 +-
 .../identifiers/val-extends-via-escape-hex4.js   |  2 +-
 test/language/identifiers/val-extends.js         |  2 +-
 .../identifiers/val-false-via-escape-hex.js      |  2 +-
 .../identifiers/val-false-via-escape-hex4.js     |  2 +-
 test/language/identifiers/val-false.js           |  2 +-
 .../identifiers/val-finally-via-escape-hex.js    |  2 +-
 .../identifiers/val-finally-via-escape-hex4.js   |  2 +-
 test/language/identifiers/val-finally.js         |  2 +-
 .../identifiers/val-for-via-escape-hex.js        |  2 +-
 .../identifiers/val-for-via-escape-hex4.js       |  2 +-
 test/language/identifiers/val-for.js             |  2 +-
 .../identifiers/val-function-via-escape-hex.js   |  2 +-
 .../identifiers/val-function-via-escape-hex4.js  |  2 +-
 test/language/identifiers/val-function.js        |  2 +-
 .../identifiers/val-if-via-escape-hex.js         |  2 +-
 .../identifiers/val-if-via-escape-hex4.js        |  2 +-
 test/language/identifiers/val-if.js              |  2 +-
 .../identifiers/val-import-via-escape-hex.js     |  2 +-
 .../identifiers/val-import-via-escape-hex4.js    |  2 +-
 test/language/identifiers/val-import.js          |  2 +-
 .../identifiers/val-in-via-escape-hex.js         |  2 +-
 .../identifiers/val-in-via-escape-hex4.js        |  2 +-
 test/language/identifiers/val-in.js              |  2 +-
 .../identifiers/val-instanceof-via-escape-hex.js |  2 +-
 .../val-instanceof-via-escape-hex4.js            |  2 +-
 test/language/identifiers/val-instanceof.js      |  2 +-
 .../identifiers/val-new-via-escape-hex.js        |  2 +-
 .../identifiers/val-new-via-escape-hex4.js       |  2 +-
 test/language/identifiers/val-new.js             |  2 +-
 .../identifiers/val-null-via-escape-hex.js       |  2 +-
 .../identifiers/val-null-via-escape-hex4.js      |  2 +-
 test/language/identifiers/val-null.js            |  2 +-
 .../identifiers/val-return-via-escape-hex.js     |  2 +-
 .../identifiers/val-return-via-escape-hex4.js    |  2 +-
 test/language/identifiers/val-return.js          |  2 +-
 .../identifiers/val-super-via-escape-hex.js      |  2 +-
 .../identifiers/val-super-via-escape-hex4.js     |  2 +-
 test/language/identifiers/val-super.js           |  2 +-
 .../identifiers/val-switch-via-escape-hex.js     |  2 +-
 .../identifiers/val-switch-via-escape-hex4.js    |  2 +-
 test/language/identifiers/val-switch.js          |  2 +-
 .../identifiers/val-this-via-escape-hex.js       |  2 +-
 .../identifiers/val-this-via-escape-hex4.js      |  2 +-
 test/language/identifiers/val-this.js            |  2 +-
 .../identifiers/val-throw-via-escape-hex.js      |  2 +-
 .../identifiers/val-throw-via-escape-hex4.js     |  2 +-
 test/language/identifiers/val-throw.js           |  2 +-
 .../identifiers/val-true-via-escape-hex.js       |  2 +-
 .../identifiers/val-true-via-escape-hex4.js      |  2 +-
 test/language/identifiers/val-true.js            |  2 +-
 .../identifiers/val-try-via-escape-hex.js        |  2 +-
 .../identifiers/val-try-via-escape-hex4.js       |  2 +-
 test/language/identifiers/val-try.js             |  2 +-
 .../identifiers/val-typeof-via-escape-hex.js     |  2 +-
 .../identifiers/val-typeof-via-escape-hex4.js    |  2 +-
 test/language/identifiers/val-typeof.js          |  2 +-
 .../identifiers/val-var-via-escape-hex.js        |  2 +-
 .../identifiers/val-var-via-escape-hex4.js       |  2 +-
 test/language/identifiers/val-var.js             |  2 +-
 .../identifiers/val-void-via-escape-hex.js       |  2 +-
 .../identifiers/val-void-via-escape-hex4.js      |  2 +-
 test/language/identifiers/val-void.js            |  2 +-
 .../identifiers/val-while-via-escape-hex.js      |  2 +-
 .../identifiers/val-while-via-escape-hex4.js     |  2 +-
 test/language/identifiers/val-while.js           |  2 +-
 .../identifiers/val-with-via-escape-hex.js       |  2 +-
 .../identifiers/val-with-via-escape-hex4.js      |  2 +-
 test/language/identifiers/val-with.js            |  2 +-
 test/language/identifiers/val-yield-strict.js    |  2 +-
 .../vertical-tilde-continue-escaped.js           |  2 +-
 .../identifiers/vertical-tilde-continue.js       |  2 +-
 .../identifiers/vertical-tilde-start-escaped.js  |  2 +-
 .../language/identifiers/vertical-tilde-start.js |  2 +-
 test/language/import/dup-bound-names.js          |  2 +-
 .../import/escaped-as-import-specifier.js        |  2 +-
 .../import/escaped-as-namespace-import.js        |  2 +-
 test/language/import/escaped-from.js             |  2 +-
 test/language/keywords/ident-ref-break.js        |  2 +-
 test/language/keywords/ident-ref-case.js         |  2 +-
 test/language/keywords/ident-ref-catch.js        |  2 +-
 test/language/keywords/ident-ref-continue.js     |  2 +-
 test/language/keywords/ident-ref-default.js      |  2 +-
 test/language/keywords/ident-ref-delete.js       |  2 +-
 test/language/keywords/ident-ref-do.js           |  2 +-
 test/language/keywords/ident-ref-else.js         |  2 +-
 test/language/keywords/ident-ref-finally.js      |  2 +-
 test/language/keywords/ident-ref-for.js          |  2 +-
 test/language/keywords/ident-ref-function.js     |  2 +-
 test/language/keywords/ident-ref-if.js           |  2 +-
 test/language/keywords/ident-ref-in.js           |  2 +-
 test/language/keywords/ident-ref-instanceof.js   |  2 +-
 test/language/keywords/ident-ref-new.js          |  2 +-
 test/language/keywords/ident-ref-return.js       |  2 +-
 test/language/keywords/ident-ref-switch.js       |  2 +-
 test/language/keywords/ident-ref-this.js         |  2 +-
 test/language/keywords/ident-ref-throw.js        |  2 +-
 test/language/keywords/ident-ref-try.js          |  2 +-
 test/language/keywords/ident-ref-typeof.js       |  2 +-
 test/language/keywords/ident-ref-var.js          |  2 +-
 test/language/keywords/ident-ref-void.js         |  2 +-
 test/language/keywords/ident-ref-while.js        |  2 +-
 test/language/keywords/ident-ref-with.js         |  2 +-
 test/language/line-terminators/S7.3_A2.1_T2.js   |  2 +-
 test/language/line-terminators/S7.3_A2.2_T2.js   |  2 +-
 test/language/line-terminators/S7.3_A3.1_T3.js   |  4 ++--
 test/language/line-terminators/S7.3_A3.2_T1.js   |  5 +++--
 test/language/line-terminators/S7.3_A3.2_T3.js   |  4 ++--
 test/language/line-terminators/S7.3_A3.3_T1.js   |  2 +-
 test/language/line-terminators/S7.3_A3.4_T1.js   |  2 +-
 test/language/line-terminators/S7.3_A6_T1.js     |  2 +-
 test/language/line-terminators/S7.3_A6_T2.js     |  2 +-
 test/language/line-terminators/S7.3_A6_T3.js     |  2 +-
 test/language/line-terminators/S7.3_A6_T4.js     |  2 +-
 .../literals/bigint/binary-invalid-digit.js      |  2 +-
 test/language/literals/bigint/exponent-part.js   |  4 ++--
 .../literals/bigint/hexadecimal-invalid-digit.js |  2 +-
 .../bigint/mv-is-not-integer-dil-dot-dds.js      |  4 ++--
 .../literals/bigint/mv-is-not-integer-dot-dds.js |  4 ++--
 .../literals/bigint/octal-invalid-digit.js       |  2 +-
 test/language/literals/numeric/7.8.3-1gs.js      |  2 +-
 test/language/literals/numeric/7.8.3-2gs.js      |  6 +++---
 test/language/literals/numeric/S7.8.3_A6.1_T1.js |  2 +-
 test/language/literals/numeric/S7.8.3_A6.1_T2.js |  2 +-
 test/language/literals/numeric/S7.8.3_A6.2_T1.js |  2 +-
 test/language/literals/numeric/S7.8.3_A6.2_T2.js |  2 +-
 .../literals/numeric/binary-invalid-digit.js     |  2 +-
 .../literals/numeric/binary-invalid-leading.js   |  2 +-
 .../literals/numeric/binary-invalid-truncated.js |  2 +-
 .../literals/numeric/binary-invalid-unicode.js   |  2 +-
 .../numeric/legacy-octal-integer-strict.js       |  2 +-
 .../numeric/non-octal-decimal-integer-strict.js  |  2 +-
 .../numeric/numeric-followed-by-ident.js         |  2 +-
 ...umeric-separator-literal-bil-bd-nsl-bd-err.js |  2 +-
 ...ic-separator-literal-bil-nsl-bd-dunder-err.js |  2 +-
 .../numeric-separator-literal-bil-nsl-bd-err.js  |  2 +-
 ...ic-separator-literal-dd-nsl-dds-dunder-err.js |  2 +-
 .../numeric-separator-literal-dd-nsl-err.js      |  2 +-
 ...c-separator-literal-dds-nsl-dds-dunder-err.js |  2 +-
 .../numeric-separator-literal-dds-nsl-err.js     |  2 +-
 ...eparator-literal-dil-dot-dds-nsl-ep-dd-err.js |  2 +-
 ...meric-separator-literal-dil-dot-nsl-ep-err.js |  2 +-
 .../numeric-separator-literal-dil-dot-nsl-err.js |  2 +-
 ...meric-separator-literal-dot-dds-nsl-ep-err.js |  2 +-
 .../numeric-separator-literal-dot-nsl-ep-err.js  |  2 +-
 .../numeric-separator-literal-dot-nsl-err.js     |  2 +-
 ...umeric-separator-literal-hil-hd-nsl-hd-err.js |  2 +-
 ...ic-separator-literal-hil-nsl-hd-dunder-err.js |  2 +-
 .../numeric-separator-literal-hil-nsl-hd-err.js  |  2 +-
 ...c-separator-literal-nzd-nsl-dds-dunder-err.js |  2 +-
 ...rator-literal-nzd-nsl-dds-leading-zero-err.js |  2 +-
 ...ic-separator-literal-oil-nsl-od-dunder-err.js |  2 +-
 .../numeric-separator-literal-oil-nsl-od-err.js  |  2 +-
 ...umeric-separator-literal-oil-od-nsl-od-err.js |  2 +-
 .../numeric-separator-literal-unicode-err.js     |  2 +-
 .../literals/numeric/octal-invalid-digit.js      |  2 +-
 .../literals/numeric/octal-invalid-leading.js    |  2 +-
 .../literals/numeric/octal-invalid-truncated.js  |  2 +-
 .../literals/numeric/octal-invalid-unicode.js    |  2 +-
 test/language/literals/regexp/S7.8.5_A1.2_T1.js  |  2 +-
 test/language/literals/regexp/S7.8.5_A1.2_T2.js  |  2 +-
 test/language/literals/regexp/S7.8.5_A1.2_T3.js  |  2 +-
 test/language/literals/regexp/S7.8.5_A1.2_T4.js  |  2 +-
 test/language/literals/regexp/S7.8.5_A1.3_T1.js  |  2 +-
 test/language/literals/regexp/S7.8.5_A1.3_T3.js  |  2 +-
 test/language/literals/regexp/S7.8.5_A1.5_T1.js  |  2 +-
 test/language/literals/regexp/S7.8.5_A1.5_T3.js  |  2 +-
 test/language/literals/regexp/S7.8.5_A2.2_T1.js  |  2 +-
 test/language/literals/regexp/S7.8.5_A2.2_T2.js  |  2 +-
 test/language/literals/regexp/S7.8.5_A2.3_T1.js  |  2 +-
 test/language/literals/regexp/S7.8.5_A2.3_T3.js  |  2 +-
 test/language/literals/regexp/S7.8.5_A2.5_T1.js  |  2 +-
 test/language/literals/regexp/S7.8.5_A2.5_T3.js  |  2 +-
 .../literals/regexp/early-err-bad-flag.js        |  2 +-
 .../literals/regexp/early-err-dup-flag.js        |  2 +-
 .../regexp/early-err-flags-unicode-escape.js     |  2 +-
 .../literals/regexp/early-err-pattern.js         |  2 +-
 .../regexp/invalid-braced-quantifier-exact.js    |  2 +-
 .../regexp/invalid-braced-quantifier-lower.js    |  2 +-
 .../regexp/invalid-braced-quantifier-range.js    |  2 +-
 .../regexp/invalid-optional-lookbehind.js        |  2 +-
 .../invalid-optional-negative-lookbehind.js      |  2 +-
 .../literals/regexp/invalid-range-lookbehind.js  |  2 +-
 .../regexp/invalid-range-negative-lookbehind.js  |  2 +-
 .../regexp-first-char-no-line-separator.js       |  2 +-
 .../regexp-first-char-no-paragraph-separator.js  |  2 +-
 .../regexp-source-char-no-line-separator.js      |  2 +-
 .../regexp-source-char-no-paragraph-separator.js |  2 +-
 test/language/literals/regexp/u-dec-esc.js       |  2 +-
 .../literals/regexp/u-invalid-class-escape.js    |  2 +-
 .../regexp/u-invalid-extended-pattern-char.js    |  2 +-
 .../literals/regexp/u-invalid-identity-escape.js |  2 +-
 .../regexp/u-invalid-legacy-octal-escape.js      |  2 +-
 ...u-invalid-non-empty-class-ranges-no-dash-a.js |  2 +-
 ...-invalid-non-empty-class-ranges-no-dash-ab.js |  2 +-
 ...u-invalid-non-empty-class-ranges-no-dash-b.js |  2 +-
 .../regexp/u-invalid-non-empty-class-ranges.js   |  2 +-
 .../regexp/u-invalid-oob-decimal-escape.js       |  2 +-
 .../regexp/u-invalid-optional-lookahead.js       |  2 +-
 .../regexp/u-invalid-optional-lookbehind.js      |  2 +-
 .../u-invalid-optional-negative-lookahead.js     |  2 +-
 .../u-invalid-optional-negative-lookbehind.js    |  2 +-
 .../literals/regexp/u-invalid-range-lookahead.js |  2 +-
 .../regexp/u-invalid-range-lookbehind.js         |  2 +-
 .../regexp/u-invalid-range-negative-lookahead.js |  2 +-
 .../u-invalid-range-negative-lookbehind.js       |  2 +-
 .../literals/regexp/u-unicode-esc-bounds.js      |  2 +-
 .../literals/regexp/u-unicode-esc-non-hex.js     |  2 +-
 .../literals/regexp/unicode-escape-nls-err.js    |  2 +-
 test/language/literals/string/S7.8.4_A1.1_T1.js  |  2 +-
 test/language/literals/string/S7.8.4_A1.1_T2.js  |  2 +-
 test/language/literals/string/S7.8.4_A1.2_T1.js  |  2 +-
 test/language/literals/string/S7.8.4_A1.2_T2.js  |  2 +-
 test/language/literals/string/S7.8.4_A3.1_T1.js  |  2 +-
 test/language/literals/string/S7.8.4_A3.1_T2.js  |  2 +-
 test/language/literals/string/S7.8.4_A3.2_T1.js  |  2 +-
 test/language/literals/string/S7.8.4_A3.2_T2.js  |  2 +-
 test/language/literals/string/S7.8.4_A4.3_T1.js  |  2 +-
 test/language/literals/string/S7.8.4_A4.3_T2.js  |  2 +-
 test/language/literals/string/S7.8.4_A7.1_T4.js  |  2 +-
 test/language/literals/string/S7.8.4_A7.2_T1.js  |  2 +-
 test/language/literals/string/S7.8.4_A7.2_T2.js  |  2 +-
 test/language/literals/string/S7.8.4_A7.2_T3.js  |  2 +-
 test/language/literals/string/S7.8.4_A7.2_T4.js  |  2 +-
 test/language/literals/string/S7.8.4_A7.2_T5.js  |  2 +-
 test/language/literals/string/S7.8.4_A7.2_T6.js  |  2 +-
 .../legacy-non-octal-escape-sequence-strict.js   |  2 +-
 ...gacy-octal-escape-sequence-prologue-strict.js |  2 +-
 .../legacy-octal-escape-sequence-strict.js       |  2 +-
 .../string/unicode-escape-nls-err-double.js      |  2 +-
 .../string/unicode-escape-nls-err-single.js      |  2 +-
 .../module-code/comment-multi-line-html-close.js |  2 +-
 .../comment-single-line-html-close.js            |  2 +-
 .../module-code/comment-single-line-html-open.js |  2 +-
 .../module-code/early-dup-export-as-star-as.js   |  2 +-
 .../module-code/early-dup-export-decl.js         |  2 +-
 .../module-code/early-dup-export-dflt-id.js      |  2 +-
 .../module-code/early-dup-export-dflt.js         |  2 +-
 .../module-code/early-dup-export-id-as.js        |  2 +-
 test/language/module-code/early-dup-export-id.js |  2 +-
 .../module-code/early-dup-export-star-as-dflt.js |  2 +-
 test/language/module-code/early-dup-lables.js    |  2 +-
 test/language/module-code/early-dup-lex.js       |  2 +-
 test/language/module-code/early-export-global.js |  2 +-
 .../module-code/early-export-unresolvable.js     |  2 +-
 .../module-code/early-import-arguments.js        |  2 +-
 .../module-code/early-import-as-arguments.js     |  2 +-
 .../language/module-code/early-import-as-eval.js |  2 +-
 test/language/module-code/early-import-eval.js   |  2 +-
 test/language/module-code/early-lex-and-var.js   |  2 +-
 test/language/module-code/early-new-target.js    |  2 +-
 test/language/module-code/early-strict-mode.js   |  2 +-
 test/language/module-code/early-super.js         |  2 +-
 test/language/module-code/early-undef-break.js   |  2 +-
 .../language/module-code/early-undef-continue.js |  2 +-
 .../module-code/instn-resolve-empty-export.js    |  2 +-
 .../module-code/instn-resolve-empty-import.js    |  2 +-
 .../module-code/instn-resolve-err-reference.js   |  2 +-
 .../module-code/instn-resolve-err-syntax.js      |  2 +-
 .../module-code/instn-resolve-order-depth.js     |  2 +-
 .../module-code/instn-resolve-order-src.js       |  2 +-
 .../parse-err-decl-pos-export-arrow-function.js  |  2 +-
 .../parse-err-decl-pos-export-block-stmt-list.js |  2 +-
 .../parse-err-decl-pos-export-block-stmt.js      |  2 +-
 ...err-decl-pos-export-class-decl-meth-static.js |  2 +-
 .../parse-err-decl-pos-export-class-decl-meth.js |  2 +-
 ...cl-pos-export-class-decl-method-gen-static.js |  2 +-
 ...-err-decl-pos-export-class-decl-method-gen.js |  2 +-
 ...decl-pos-export-class-expr-meth-gen-static.js |  2 +-
 ...se-err-decl-pos-export-class-expr-meth-gen.js |  2 +-
 ...err-decl-pos-export-class-expr-meth-static.js |  2 +-
 .../parse-err-decl-pos-export-class-expr-meth.js |  2 +-
 .../parse-err-decl-pos-export-do-while.js        |  2 +-
 .../parse-err-decl-pos-export-for-const.js       |  2 +-
 .../parse-err-decl-pos-export-for-in-const.js    |  2 +-
 .../parse-err-decl-pos-export-for-in-let.js      |  2 +-
 .../parse-err-decl-pos-export-for-in-lhs.js      |  2 +-
 .../parse-err-decl-pos-export-for-in-var.js      |  2 +-
 .../parse-err-decl-pos-export-for-let.js         |  2 +-
 .../parse-err-decl-pos-export-for-lhs.js         |  2 +-
 .../parse-err-decl-pos-export-for-of-const.js    |  2 +-
 .../parse-err-decl-pos-export-for-of-let.js      |  2 +-
 .../parse-err-decl-pos-export-for-of-lhs.js      |  2 +-
 .../parse-err-decl-pos-export-for-of-var.js      |  2 +-
 .../parse-err-decl-pos-export-for-var.js         |  2 +-
 .../parse-err-decl-pos-export-function-decl.js   |  2 +-
 .../parse-err-decl-pos-export-function-expr.js   |  2 +-
 .../parse-err-decl-pos-export-generator-decl.js  |  2 +-
 .../parse-err-decl-pos-export-generator-expr.js  |  2 +-
 .../parse-err-decl-pos-export-if-else.js         |  2 +-
 .../parse-err-decl-pos-export-if-if.js           |  2 +-
 .../parse-err-decl-pos-export-labeled.js         |  2 +-
 ...arse-err-decl-pos-export-object-gen-method.js |  2 +-
 .../parse-err-decl-pos-export-object-getter.js   |  2 +-
 .../parse-err-decl-pos-export-object-method.js   |  2 +-
 .../parse-err-decl-pos-export-object-setter.js   |  2 +-
 ...parse-err-decl-pos-export-switch-case-dflt.js |  2 +-
 .../parse-err-decl-pos-export-switch-case.js     |  2 +-
 .../parse-err-decl-pos-export-switch-dftl.js     |  2 +-
 ...arse-err-decl-pos-export-try-catch-finally.js |  2 +-
 .../parse-err-decl-pos-export-try-catch.js       |  2 +-
 .../parse-err-decl-pos-export-try-finally.js     |  2 +-
 .../parse-err-decl-pos-export-try-try.js         |  2 +-
 .../parse-err-decl-pos-export-while.js           |  2 +-
 .../parse-err-decl-pos-import-arrow-function.js  |  2 +-
 .../parse-err-decl-pos-import-block-stmt-list.js |  2 +-
 .../parse-err-decl-pos-import-block-stmt.js      |  2 +-
 ...err-decl-pos-import-class-decl-meth-static.js |  2 +-
 .../parse-err-decl-pos-import-class-decl-meth.js |  2 +-
 ...cl-pos-import-class-decl-method-gen-static.js |  2 +-
 ...-err-decl-pos-import-class-decl-method-gen.js |  2 +-
 ...decl-pos-import-class-expr-meth-gen-static.js |  2 +-
 ...se-err-decl-pos-import-class-expr-meth-gen.js |  2 +-
 ...err-decl-pos-import-class-expr-meth-static.js |  2 +-
 .../parse-err-decl-pos-import-class-expr-meth.js |  2 +-
 .../parse-err-decl-pos-import-do-while.js        |  2 +-
 .../parse-err-decl-pos-import-for-const.js       |  2 +-
 .../parse-err-decl-pos-import-for-in-const.js    |  2 +-
 .../parse-err-decl-pos-import-for-in-let.js      |  2 +-
 .../parse-err-decl-pos-import-for-in-lhs.js      |  2 +-
 .../parse-err-decl-pos-import-for-in-var.js      |  2 +-
 .../parse-err-decl-pos-import-for-let.js         |  2 +-
 .../parse-err-decl-pos-import-for-lhs.js         |  2 +-
 .../parse-err-decl-pos-import-for-of-const.js    |  2 +-
 .../parse-err-decl-pos-import-for-of-let.js      |  2 +-
 .../parse-err-decl-pos-import-for-of-lhs.js      |  2 +-
 .../parse-err-decl-pos-import-for-of-var.js      |  2 +-
 .../parse-err-decl-pos-import-for-var.js         |  2 +-
 .../parse-err-decl-pos-import-function-decl.js   |  2 +-
 .../parse-err-decl-pos-import-function-expr.js   |  2 +-
 .../parse-err-decl-pos-import-generator-decl.js  |  2 +-
 .../parse-err-decl-pos-import-generator-expr.js  |  2 +-
 .../parse-err-decl-pos-import-if-else.js         |  2 +-
 .../parse-err-decl-pos-import-if-if.js           |  2 +-
 .../parse-err-decl-pos-import-labeled.js         |  2 +-
 ...arse-err-decl-pos-import-object-gen-method.js |  2 +-
 .../parse-err-decl-pos-import-object-getter.js   |  2 +-
 .../parse-err-decl-pos-import-object-method.js   |  2 +-
 .../parse-err-decl-pos-import-object-setter.js   |  2 +-
 ...parse-err-decl-pos-import-switch-case-dflt.js |  2 +-
 .../parse-err-decl-pos-import-switch-case.js     |  2 +-
 .../parse-err-decl-pos-import-switch-dftl.js     |  2 +-
 ...arse-err-decl-pos-import-try-catch-finally.js |  2 +-
 .../parse-err-decl-pos-import-try-catch.js       |  2 +-
 .../parse-err-decl-pos-import-try-finally.js     |  2 +-
 .../parse-err-decl-pos-import-try-try.js         |  2 +-
 .../parse-err-decl-pos-import-while.js           |  2 +-
 .../module-code/parse-err-export-dflt-const.js   |  2 +-
 .../module-code/parse-err-export-dflt-expr.js    |  2 +-
 .../module-code/parse-err-export-dflt-let.js     |  2 +-
 .../module-code/parse-err-export-dflt-var.js     |  2 +-
 .../module-code/parse-err-hoist-lex-fun.js       |  2 +-
 .../module-code/parse-err-hoist-lex-gen.js       |  2 +-
 .../parse-err-invoke-anon-fun-decl.js            |  2 +-
 .../parse-err-invoke-anon-gen-decl.js            |  2 +-
 test/language/module-code/parse-err-reference.js |  2 +-
 test/language/module-code/parse-err-return.js    |  2 +-
 .../module-code/parse-err-semi-dflt-expr.js      |  2 +-
 .../module-code/parse-err-semi-export-star.js    |  2 +-
 .../parse-err-semi-name-space-export.js          |  2 +-
 .../parse-err-semi-named-export-from.js          |  2 +-
 .../module-code/parse-err-semi-named-export.js   |  2 +-
 test/language/module-code/parse-err-syntax.js    |  2 +-
 test/language/module-code/parse-err-yield.js     |  2 +-
 .../privatename-not-valid-earlyerr-module-1.js   |  2 +-
 .../privatename-not-valid-earlyerr-module-2.js   |  2 +-
 .../privatename-not-valid-earlyerr-module-3.js   |  2 +-
 .../privatename-not-valid-earlyerr-module-4.js   |  2 +-
 .../privatename-not-valid-earlyerr-module-5.js   |  2 +-
 .../privatename-not-valid-earlyerr-module-6.js   |  2 +-
 .../privatename-not-valid-earlyerr-module-7.js   |  2 +-
 .../privatename-not-valid-earlyerr-module-8.js   |  2 +-
 test/language/punctuators/S7.7_A2_T1.js          |  2 +-
 test/language/punctuators/S7.7_A2_T10.js         |  2 +-
 test/language/punctuators/S7.7_A2_T2.js          |  2 +-
 test/language/punctuators/S7.7_A2_T3.js          |  2 +-
 test/language/punctuators/S7.7_A2_T4.js          |  2 +-
 test/language/punctuators/S7.7_A2_T5.js          |  2 +-
 test/language/punctuators/S7.7_A2_T6.js          |  2 +-
 test/language/punctuators/S7.7_A2_T7.js          |  2 +-
 test/language/punctuators/S7.7_A2_T8.js          |  2 +-
 test/language/punctuators/S7.7_A2_T9.js          |  2 +-
 test/language/reserved-words/await-module.js     |  2 +-
 .../ident-reference-false-escaped.js             |  2 +-
 .../reserved-words/ident-reference-false.js      |  2 +-
 .../ident-reference-null-escaped.js              |  2 +-
 .../reserved-words/ident-reference-null.js       |  2 +-
 .../ident-reference-true-escaped.js              |  2 +-
 .../reserved-words/ident-reference-true.js       |  2 +-
 .../reserved-words/label-ident-false-escaped.js  |  2 +-
 .../language/reserved-words/label-ident-false.js |  2 +-
 .../reserved-words/label-ident-null-escaped.js   |  2 +-
 test/language/reserved-words/label-ident-null.js |  2 +-
 .../reserved-words/label-ident-true-escaped.js   |  2 +-
 test/language/reserved-words/label-ident-true.js |  2 +-
 .../language/rest-parameters/position-invalid.js |  2 +-
 .../await-as-binding-identifier-escaped.js       |  2 +-
 .../await-as-binding-identifier.js               |  2 +-
 .../await-as-identifier-reference-escaped.js     |  2 +-
 .../await-as-identifier-reference.js             |  2 +-
 .../await-as-label-identifier-escaped.js         |  2 +-
 .../async-function/await-as-label-identifier.js  |  2 +-
 .../async-function/dflt-params-duplicates.js     |  2 +-
 .../async-function/dflt-params-rest.js           |  2 +-
 .../early-errors-declaration-NSPL-with-USD.js    |  2 +-
 ...declaration-arguments-in-formal-parameters.js |  2 +-
 ...rrors-declaration-await-in-formals-default.js |  2 +-
 .../early-errors-declaration-await-in-formals.js |  2 +-
 ...s-declaration-binding-identifier-arguments.js |  4 ++--
 ...errors-declaration-binding-identifier-eval.js |  4 ++--
 ...rrors-declaration-body-contains-super-call.js |  2 +-
 ...s-declaration-body-contains-super-property.js |  2 +-
 ...ly-errors-declaration-duplicate-parameters.js |  2 +-
 ...rors-declaration-eval-in-formal-parameters.js |  2 +-
 ...-errors-declaration-formals-body-duplicate.js |  2 +-
 ...rs-declaration-formals-contains-super-call.js |  2 +-
 ...eclaration-formals-contains-super-property.js |  2 +-
 .../statements/async-function/escaped-async.js   |  2 +-
 .../let-newline-await-in-async-function.js       |  2 +-
 .../rest-params-trailing-comma-early-error.js    |  2 +-
 .../await-as-binding-identifier-escaped.js       |  2 +-
 .../await-as-binding-identifier.js               |  2 +-
 .../await-as-identifier-reference-escaped.js     |  2 +-
 .../await-as-identifier-reference.js             |  2 +-
 .../await-as-label-identifier-escaped.js         |  2 +-
 .../async-generator/await-as-label-identifier.js |  2 +-
 .../async-generator/dflt-params-duplicates.js    |  2 +-
 .../async-generator/dflt-params-rest.js          |  2 +-
 .../dstr-ary-ptrn-rest-init-ary.js               |  2 +-
 .../dstr-ary-ptrn-rest-init-id.js                |  2 +-
 .../dstr-ary-ptrn-rest-init-obj.js               |  2 +-
 .../dstr-ary-ptrn-rest-not-final-ary.js          |  2 +-
 .../dstr-ary-ptrn-rest-not-final-id.js           |  2 +-
 .../dstr-ary-ptrn-rest-not-final-obj.js          |  2 +-
 .../dstr-dflt-ary-ptrn-rest-init-ary.js          |  2 +-
 .../dstr-dflt-ary-ptrn-rest-init-id.js           |  2 +-
 .../dstr-dflt-ary-ptrn-rest-init-obj.js          |  2 +-
 .../dstr-dflt-ary-ptrn-rest-not-final-ary.js     |  2 +-
 .../dstr-dflt-ary-ptrn-rest-not-final-id.js      |  2 +-
 .../dstr-dflt-ary-ptrn-rest-not-final-obj.js     |  2 +-
 .../statements/async-generator/escaped-async.js  |  2 +-
 .../rest-params-trailing-comma-early-error.js    |  2 +-
 .../yield-as-binding-identifier-escaped.js       |  2 +-
 .../yield-as-binding-identifier.js               |  2 +-
 .../yield-as-identifier-reference-escaped.js     |  2 +-
 .../yield-as-identifier-reference.js             |  2 +-
 .../yield-as-label-identifier-escaped.js         |  2 +-
 .../async-generator/yield-as-label-identifier.js |  2 +-
 .../yield-identifier-spread-strict.js            |  2 +-
 .../async-generator/yield-identifier-strict.js   |  2 +-
 test/language/statements/block/S12.1_A4_T1.js    |  2 +-
 test/language/statements/block/S12.1_A4_T2.js    |  2 +-
 test/language/statements/break/S12.8_A1_T1.js    |  2 +-
 test/language/statements/break/S12.8_A1_T2.js    |  2 +-
 test/language/statements/break/S12.8_A1_T3.js    |  2 +-
 test/language/statements/break/S12.8_A1_T4.js    |  2 +-
 test/language/statements/break/S12.8_A5_T1.js    |  6 +++---
 test/language/statements/break/S12.8_A5_T2.js    |  6 +++---
 test/language/statements/break/S12.8_A5_T3.js    | 10 +++++-----
 test/language/statements/break/S12.8_A6.js       |  2 +-
 test/language/statements/break/S12.8_A8_T1.js    |  2 +-
 test/language/statements/break/S12.8_A8_T2.js    |  2 +-
 .../async-gen-meth-dflt-params-duplicates.js     |  2 +-
 .../class/async-gen-meth-dflt-params-rest.js     |  2 +-
 .../class/async-gen-meth-escaped-async.js        |  2 +-
 ...eth-rest-params-trailing-comma-early-error.js |  2 +-
 ...ync-gen-meth-static-dflt-params-duplicates.js |  2 +-
 .../async-gen-meth-static-dflt-params-rest.js    |  2 +-
 ...tic-rest-params-trailing-comma-early-error.js |  2 +-
 ...method-await-as-binding-identifier-escaped.js |  2 +-
 ...ync-gen-method-await-as-binding-identifier.js |  2 +-
 ...thod-await-as-identifier-reference-escaped.js |  2 +-
 ...c-gen-method-await-as-identifier-reference.js |  2 +-
 ...n-method-await-as-label-identifier-escaped.js |  2 +-
 ...async-gen-method-await-as-label-identifier.js |  2 +-
 ...static-await-as-binding-identifier-escaped.js |  2 +-
 ...-method-static-await-as-binding-identifier.js |  2 +-
 ...atic-await-as-identifier-reference-escaped.js |  2 +-
 ...ethod-static-await-as-identifier-reference.js |  2 +-
 ...d-static-await-as-label-identifier-escaped.js |  2 +-
 ...en-method-static-await-as-label-identifier.js |  2 +-
 ...static-yield-as-binding-identifier-escaped.js |  2 +-
 ...-method-static-yield-as-binding-identifier.js |  2 +-
 ...atic-yield-as-identifier-reference-escaped.js |  2 +-
 ...ethod-static-yield-as-identifier-reference.js |  2 +-
 ...d-static-yield-as-label-identifier-escaped.js |  2 +-
 ...en-method-static-yield-as-label-identifier.js |  2 +-
 ...thod-static-yield-identifier-spread-strict.js |  2 +-
 ...-gen-method-static-yield-identifier-strict.js |  2 +-
 ...method-yield-as-binding-identifier-escaped.js |  2 +-
 ...ync-gen-method-yield-as-binding-identifier.js |  2 +-
 ...thod-yield-as-identifier-reference-escaped.js |  2 +-
 ...c-gen-method-yield-as-identifier-reference.js |  2 +-
 ...n-method-yield-as-label-identifier-escaped.js |  2 +-
 ...async-gen-method-yield-as-label-identifier.js |  2 +-
 ...-gen-method-yield-identifier-spread-strict.js |  2 +-
 .../async-gen-method-yield-identifier-strict.js  |  2 +-
 ...method-await-as-binding-identifier-escaped.js |  2 +-
 ...private-method-await-as-binding-identifier.js |  2 +-
 ...thod-await-as-identifier-reference-escaped.js |  2 +-
 ...ivate-method-await-as-identifier-reference.js |  2 +-
 ...e-method-await-as-label-identifier-escaped.js |  2 +-
 ...n-private-method-await-as-label-identifier.js |  2 +-
 ...static-await-as-binding-identifier-escaped.js |  2 +-
 ...-method-static-await-as-binding-identifier.js |  2 +-
 ...atic-await-as-identifier-reference-escaped.js |  2 +-
 ...ethod-static-await-as-identifier-reference.js |  2 +-
 ...d-static-await-as-label-identifier-escaped.js |  2 +-
 ...te-method-static-await-as-label-identifier.js |  2 +-
 ...static-yield-as-binding-identifier-escaped.js |  2 +-
 ...-method-static-yield-as-binding-identifier.js |  2 +-
 ...atic-yield-as-identifier-reference-escaped.js |  2 +-
 ...ethod-static-yield-as-identifier-reference.js |  2 +-
 ...d-static-yield-as-label-identifier-escaped.js |  2 +-
 ...te-method-static-yield-as-label-identifier.js |  2 +-
 ...thod-static-yield-identifier-spread-strict.js |  2 +-
 ...vate-method-static-yield-identifier-strict.js |  2 +-
 ...method-yield-as-binding-identifier-escaped.js |  2 +-
 ...private-method-yield-as-binding-identifier.js |  2 +-
 ...thod-yield-as-identifier-reference-escaped.js |  2 +-
 ...ivate-method-yield-as-identifier-reference.js |  2 +-
 ...e-method-yield-as-label-identifier-escaped.js |  2 +-
 ...n-private-method-yield-as-label-identifier.js |  2 +-
 ...vate-method-yield-identifier-spread-strict.js |  2 +-
 ...gen-private-method-yield-identifier-strict.js |  2 +-
 .../class/async-meth-dflt-params-duplicates.js   |  2 +-
 .../class/async-meth-dflt-params-rest.js         |  2 +-
 .../statements/class/async-meth-escaped-async.js |  2 +-
 ...eth-rest-params-trailing-comma-early-error.js |  2 +-
 .../async-meth-static-dflt-params-duplicates.js  |  2 +-
 .../class/async-meth-static-dflt-params-rest.js  |  2 +-
 ...tic-rest-params-trailing-comma-early-error.js |  2 +-
 ...method-await-as-binding-identifier-escaped.js |  2 +-
 .../async-method-await-as-binding-identifier.js  |  2 +-
 ...thod-await-as-identifier-reference-escaped.js |  2 +-
 ...async-method-await-as-identifier-reference.js |  2 +-
 ...c-method-await-as-label-identifier-escaped.js |  2 +-
 .../async-method-await-as-label-identifier.js    |  2 +-
 ...static-await-as-binding-identifier-escaped.js |  2 +-
 ...-method-static-await-as-binding-identifier.js |  2 +-
 ...atic-await-as-identifier-reference-escaped.js |  2 +-
 ...ethod-static-await-as-identifier-reference.js |  2 +-
 ...d-static-await-as-label-identifier-escaped.js |  2 +-
 ...nc-method-static-await-as-label-identifier.js |  2 +-
 ...method-await-as-binding-identifier-escaped.js |  2 +-
 ...private-method-await-as-binding-identifier.js |  2 +-
 ...thod-await-as-identifier-reference-escaped.js |  2 +-
 ...ivate-method-await-as-identifier-reference.js |  2 +-
 ...e-method-await-as-label-identifier-escaped.js |  2 +-
 ...c-private-method-await-as-label-identifier.js |  2 +-
 ...static-await-as-binding-identifier-escaped.js |  2 +-
 ...-method-static-await-as-binding-identifier.js |  2 +-
 ...atic-await-as-identifier-reference-escaped.js |  2 +-
 ...ethod-static-await-as-identifier-reference.js |  2 +-
 ...d-static-await-as-label-identifier-escaped.js |  2 +-
 ...te-method-static-await-as-label-identifier.js |  2 +-
 .../class-name-ident-await-escaped-module.js     |  2 +-
 .../class/class-name-ident-await-module.js       |  2 +-
 .../class/class-name-ident-let-escaped.js        |  2 +-
 .../statements/class/class-name-ident-let.js     |  2 +-
 .../class/class-name-ident-static-escaped.js     |  2 +-
 .../statements/class/class-name-ident-static.js  |  2 +-
 .../class/class-name-ident-yield-escaped.js      |  2 +-
 .../statements/class/class-name-ident-yield.js   |  2 +-
 .../early-errors-class-method-NSPL-with-USD.js   |  2 +-
 ...lass-method-arguments-in-formal-parameters.js |  2 +-
 ...rors-class-method-await-in-formals-default.js |  2 +-
 ...early-errors-class-method-await-in-formals.js |  2 +-
 ...rors-class-method-body-contains-super-call.js |  2 +-
 ...y-errors-class-method-duplicate-parameters.js |  2 +-
 ...ors-class-method-eval-in-formal-parameters.js |  2 +-
 ...errors-class-method-formals-body-duplicate.js |  2 +-
 ...s-class-method-formals-contains-super-call.js |  2 +-
 ...-as-function-expression-binding-identifier.js |  2 +-
 ...gen-yield-as-identifier-in-nested-function.js |  2 +-
 ...methods-gen-yield-as-logical-or-expression.js |  2 +-
 .../definition/methods-gen-yield-as-parameter.js |  2 +-
 .../methods-gen-yield-star-after-newline.js      |  2 +-
 .../definition/methods-gen-yield-weak-binding.js |  2 +-
 ...dstr-async-gen-meth-ary-ptrn-rest-init-ary.js |  2 +-
 .../dstr-async-gen-meth-ary-ptrn-rest-init-id.js |  2 +-
 ...dstr-async-gen-meth-ary-ptrn-rest-init-obj.js |  2 +-
 ...async-gen-meth-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...-async-gen-meth-ary-ptrn-rest-not-final-id.js |  2 +-
 ...async-gen-meth-ary-ptrn-rest-not-final-obj.js |  2 +-
 ...async-gen-meth-dflt-ary-ptrn-rest-init-ary.js |  2 +-
 ...-async-gen-meth-dflt-ary-ptrn-rest-init-id.js |  2 +-
 ...async-gen-meth-dflt-ary-ptrn-rest-init-obj.js |  2 +-
 ...-gen-meth-dflt-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...c-gen-meth-dflt-ary-ptrn-rest-not-final-id.js |  2 +-
 ...-gen-meth-dflt-ary-ptrn-rest-not-final-obj.js |  2 +-
 ...ync-gen-meth-static-ary-ptrn-rest-init-ary.js |  2 +-
 ...sync-gen-meth-static-ary-ptrn-rest-init-id.js |  2 +-
 ...ync-gen-meth-static-ary-ptrn-rest-init-obj.js |  2 +-
 ...en-meth-static-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...gen-meth-static-ary-ptrn-rest-not-final-id.js |  2 +-
 ...en-meth-static-ary-ptrn-rest-not-final-obj.js |  2 +-
 ...en-meth-static-dflt-ary-ptrn-rest-init-ary.js |  2 +-
 ...gen-meth-static-dflt-ary-ptrn-rest-init-id.js |  2 +-
 ...en-meth-static-dflt-ary-ptrn-rest-init-obj.js |  2 +-
 ...th-static-dflt-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...eth-static-dflt-ary-ptrn-rest-not-final-id.js |  2 +-
 ...th-static-dflt-ary-ptrn-rest-not-final-obj.js |  2 +-
 ...nc-private-gen-meth-ary-ptrn-rest-init-ary.js |  2 +-
 ...ync-private-gen-meth-ary-ptrn-rest-init-id.js |  2 +-
 ...nc-private-gen-meth-ary-ptrn-rest-init-obj.js |  2 +-
 ...ivate-gen-meth-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...rivate-gen-meth-ary-ptrn-rest-not-final-id.js |  2 +-
 ...ivate-gen-meth-ary-ptrn-rest-not-final-obj.js |  2 +-
 ...ivate-gen-meth-dflt-ary-ptrn-rest-init-ary.js |  2 +-
 ...rivate-gen-meth-dflt-ary-ptrn-rest-init-id.js |  2 +-
 ...ivate-gen-meth-dflt-ary-ptrn-rest-init-obj.js |  2 +-
 ...-gen-meth-dflt-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...e-gen-meth-dflt-ary-ptrn-rest-not-final-id.js |  2 +-
 ...-gen-meth-dflt-ary-ptrn-rest-not-final-obj.js |  2 +-
 ...ate-gen-meth-static-ary-ptrn-rest-init-ary.js |  2 +-
 ...vate-gen-meth-static-ary-ptrn-rest-init-id.js |  2 +-
 ...ate-gen-meth-static-ary-ptrn-rest-init-obj.js |  2 +-
 ...en-meth-static-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...gen-meth-static-ary-ptrn-rest-not-final-id.js |  2 +-
 ...en-meth-static-ary-ptrn-rest-not-final-obj.js |  2 +-
 ...en-meth-static-dflt-ary-ptrn-rest-init-ary.js |  2 +-
 ...gen-meth-static-dflt-ary-ptrn-rest-init-id.js |  2 +-
 ...en-meth-static-dflt-ary-ptrn-rest-init-obj.js |  2 +-
 ...th-static-dflt-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...eth-static-dflt-ary-ptrn-rest-not-final-id.js |  2 +-
 ...th-static-dflt-ary-ptrn-rest-not-final-obj.js |  2 +-
 .../dstr-gen-meth-ary-ptrn-rest-init-ary.js      |  2 +-
 .../class/dstr-gen-meth-ary-ptrn-rest-init-id.js |  2 +-
 .../dstr-gen-meth-ary-ptrn-rest-init-obj.js      |  2 +-
 .../dstr-gen-meth-ary-ptrn-rest-not-final-ary.js |  2 +-
 .../dstr-gen-meth-ary-ptrn-rest-not-final-id.js  |  2 +-
 .../dstr-gen-meth-ary-ptrn-rest-not-final-obj.js |  2 +-
 .../dstr-gen-meth-dflt-ary-ptrn-rest-init-ary.js |  2 +-
 .../dstr-gen-meth-dflt-ary-ptrn-rest-init-id.js  |  2 +-
 .../dstr-gen-meth-dflt-ary-ptrn-rest-init-obj.js |  2 +-
 ...-gen-meth-dflt-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...r-gen-meth-dflt-ary-ptrn-rest-not-final-id.js |  2 +-
 ...-gen-meth-dflt-ary-ptrn-rest-not-final-obj.js |  2 +-
 ...str-gen-meth-static-ary-ptrn-rest-init-ary.js |  2 +-
 ...dstr-gen-meth-static-ary-ptrn-rest-init-id.js |  2 +-
 ...str-gen-meth-static-ary-ptrn-rest-init-obj.js |  2 +-
 ...en-meth-static-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...gen-meth-static-ary-ptrn-rest-not-final-id.js |  2 +-
 ...en-meth-static-ary-ptrn-rest-not-final-obj.js |  2 +-
 ...en-meth-static-dflt-ary-ptrn-rest-init-ary.js |  2 +-
 ...gen-meth-static-dflt-ary-ptrn-rest-init-id.js |  2 +-
 ...en-meth-static-dflt-ary-ptrn-rest-init-obj.js |  2 +-
 ...th-static-dflt-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...eth-static-dflt-ary-ptrn-rest-not-final-id.js |  2 +-
 ...th-static-dflt-ary-ptrn-rest-not-final-obj.js |  2 +-
 .../class/dstr-meth-ary-ptrn-rest-init-ary.js    |  2 +-
 .../class/dstr-meth-ary-ptrn-rest-init-id.js     |  2 +-
 .../class/dstr-meth-ary-ptrn-rest-init-obj.js    |  2 +-
 .../dstr-meth-ary-ptrn-rest-not-final-ary.js     |  2 +-
 .../dstr-meth-ary-ptrn-rest-not-final-id.js      |  2 +-
 .../dstr-meth-ary-ptrn-rest-not-final-obj.js     |  2 +-
 .../dstr-meth-dflt-ary-ptrn-rest-init-ary.js     |  2 +-
 .../dstr-meth-dflt-ary-ptrn-rest-init-id.js      |  2 +-
 .../dstr-meth-dflt-ary-ptrn-rest-init-obj.js     |  2 +-
 ...dstr-meth-dflt-ary-ptrn-rest-not-final-ary.js |  2 +-
 .../dstr-meth-dflt-ary-ptrn-rest-not-final-id.js |  2 +-
 ...dstr-meth-dflt-ary-ptrn-rest-not-final-obj.js |  2 +-
 .../dstr-meth-static-ary-ptrn-rest-init-ary.js   |  2 +-
 .../dstr-meth-static-ary-ptrn-rest-init-id.js    |  2 +-
 .../dstr-meth-static-ary-ptrn-rest-init-obj.js   |  2 +-
 ...tr-meth-static-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...str-meth-static-ary-ptrn-rest-not-final-id.js |  2 +-
 ...tr-meth-static-ary-ptrn-rest-not-final-obj.js |  2 +-
 ...tr-meth-static-dflt-ary-ptrn-rest-init-ary.js |  2 +-
 ...str-meth-static-dflt-ary-ptrn-rest-init-id.js |  2 +-
 ...tr-meth-static-dflt-ary-ptrn-rest-init-obj.js |  2 +-
 ...th-static-dflt-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...eth-static-dflt-ary-ptrn-rest-not-final-id.js |  2 +-
 ...th-static-dflt-ary-ptrn-rest-not-final-obj.js |  2 +-
 ...tr-private-gen-meth-ary-ptrn-rest-init-ary.js |  2 +-
 ...str-private-gen-meth-ary-ptrn-rest-init-id.js |  2 +-
 ...tr-private-gen-meth-ary-ptrn-rest-init-obj.js |  2 +-
 ...ivate-gen-meth-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...rivate-gen-meth-ary-ptrn-rest-not-final-id.js |  2 +-
 ...ivate-gen-meth-ary-ptrn-rest-not-final-obj.js |  2 +-
 ...ivate-gen-meth-dflt-ary-ptrn-rest-init-ary.js |  2 +-
 ...rivate-gen-meth-dflt-ary-ptrn-rest-init-id.js |  2 +-
 ...ivate-gen-meth-dflt-ary-ptrn-rest-init-obj.js |  2 +-
 ...-gen-meth-dflt-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...e-gen-meth-dflt-ary-ptrn-rest-not-final-id.js |  2 +-
 ...-gen-meth-dflt-ary-ptrn-rest-not-final-obj.js |  2 +-
 ...ate-gen-meth-static-ary-ptrn-rest-init-ary.js |  2 +-
 ...vate-gen-meth-static-ary-ptrn-rest-init-id.js |  2 +-
 ...ate-gen-meth-static-ary-ptrn-rest-init-obj.js |  2 +-
 ...en-meth-static-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...gen-meth-static-ary-ptrn-rest-not-final-id.js |  2 +-
 ...en-meth-static-ary-ptrn-rest-not-final-obj.js |  2 +-
 ...en-meth-static-dflt-ary-ptrn-rest-init-ary.js |  2 +-
 ...gen-meth-static-dflt-ary-ptrn-rest-init-id.js |  2 +-
 ...en-meth-static-dflt-ary-ptrn-rest-init-obj.js |  2 +-
 ...th-static-dflt-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...eth-static-dflt-ary-ptrn-rest-not-final-id.js |  2 +-
 ...th-static-dflt-ary-ptrn-rest-not-final-obj.js |  2 +-
 .../dstr-private-meth-ary-ptrn-rest-init-ary.js  |  2 +-
 .../dstr-private-meth-ary-ptrn-rest-init-id.js   |  2 +-
 .../dstr-private-meth-ary-ptrn-rest-init-obj.js  |  2 +-
 ...r-private-meth-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...tr-private-meth-ary-ptrn-rest-not-final-id.js |  2 +-
 ...r-private-meth-ary-ptrn-rest-not-final-obj.js |  2 +-
 ...r-private-meth-dflt-ary-ptrn-rest-init-ary.js |  2 +-
 ...tr-private-meth-dflt-ary-ptrn-rest-init-id.js |  2 +-
 ...r-private-meth-dflt-ary-ptrn-rest-init-obj.js |  2 +-
 ...vate-meth-dflt-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...ivate-meth-dflt-ary-ptrn-rest-not-final-id.js |  2 +-
 ...vate-meth-dflt-ary-ptrn-rest-not-final-obj.js |  2 +-
 ...private-meth-static-ary-ptrn-rest-init-ary.js |  2 +-
 ...-private-meth-static-ary-ptrn-rest-init-id.js |  2 +-
 ...private-meth-static-ary-ptrn-rest-init-obj.js |  2 +-
 ...te-meth-static-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...ate-meth-static-ary-ptrn-rest-not-final-id.js |  2 +-
 ...te-meth-static-ary-ptrn-rest-not-final-obj.js |  2 +-
 ...te-meth-static-dflt-ary-ptrn-rest-init-ary.js |  2 +-
 ...ate-meth-static-dflt-ary-ptrn-rest-init-id.js |  2 +-
 ...te-meth-static-dflt-ary-ptrn-rest-init-obj.js |  2 +-
 ...th-static-dflt-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...eth-static-dflt-ary-ptrn-rest-not-final-id.js |  2 +-
 ...th-static-dflt-ary-ptrn-rest-not-final-obj.js |  2 +-
 ...e-call-expression-private-method-async-gen.js |  2 +-
 ...elete-call-expression-private-method-async.js |  2 +-
 ...-delete-call-expression-private-method-gen.js |  2 +-
 ...-err-delete-call-expression-private-method.js |  2 +-
 ...red-err-delete-call-expression-privatename.js |  2 +-
 ...member-expression-private-method-async-gen.js |  2 +-
 ...ete-member-expression-private-method-async.js |  2 +-
 ...elete-member-expression-private-method-gen.js |  2 +-
 ...rr-delete-member-expression-private-method.js |  2 +-
 ...d-err-delete-member-expression-privatename.js |  2 +-
 ...e-call-expression-private-method-async-gen.js |  2 +-
 ...elete-call-expression-private-method-async.js |  2 +-
 ...-delete-call-expression-private-method-gen.js |  2 +-
 ...-err-delete-call-expression-private-method.js |  2 +-
 ...ete-err-delete-call-expression-privatename.js |  2 +-
 ...member-expression-private-method-async-gen.js |  2 +-
 ...ete-member-expression-private-method-async.js |  2 +-
 ...elete-member-expression-private-method-gen.js |  2 +-
 ...rr-delete-member-expression-private-method.js |  2 +-
 ...e-err-delete-member-expression-privatename.js |  2 +-
 ...e-call-expression-private-method-async-gen.js |  2 +-
 ...elete-call-expression-private-method-async.js |  2 +-
 ...-delete-call-expression-private-method-gen.js |  2 +-
 ...-err-delete-call-expression-private-method.js |  2 +-
 ...red-err-delete-call-expression-privatename.js |  2 +-
 ...member-expression-private-method-async-gen.js |  2 +-
 ...ete-member-expression-private-method-async.js |  2 +-
 ...elete-member-expression-private-method-gen.js |  2 +-
 ...rr-delete-member-expression-private-method.js |  2 +-
 ...d-err-delete-member-expression-privatename.js |  2 +-
 ...e-call-expression-private-method-async-gen.js |  2 +-
 ...elete-call-expression-private-method-async.js |  2 +-
 ...-delete-call-expression-private-method-gen.js |  2 +-
 ...-err-delete-call-expression-private-method.js |  2 +-
 ...red-err-delete-call-expression-privatename.js |  2 +-
 ...member-expression-private-method-async-gen.js |  2 +-
 ...ete-member-expression-private-method-async.js |  2 +-
 ...elete-member-expression-private-method-gen.js |  2 +-
 ...rr-delete-member-expression-private-method.js |  2 +-
 ...d-err-delete-member-expression-privatename.js |  2 +-
 ...e-call-expression-private-method-async-gen.js |  2 +-
 ...elete-call-expression-private-method-async.js |  2 +-
 ...-delete-call-expression-private-method-gen.js |  2 +-
 ...-err-delete-call-expression-private-method.js |  2 +-
 ...ete-err-delete-call-expression-privatename.js |  2 +-
 ...member-expression-private-method-async-gen.js |  2 +-
 ...ete-member-expression-private-method-async.js |  2 +-
 ...elete-member-expression-private-method-gen.js |  2 +-
 ...rr-delete-member-expression-private-method.js |  2 +-
 ...e-err-delete-member-expression-privatename.js |  2 +-
 ...e-call-expression-private-method-async-gen.js |  2 +-
 ...elete-call-expression-private-method-async.js |  2 +-
 ...-delete-call-expression-private-method-gen.js |  2 +-
 ...-err-delete-call-expression-private-method.js |  2 +-
 ...red-err-delete-call-expression-privatename.js |  2 +-
 ...member-expression-private-method-async-gen.js |  2 +-
 ...ete-member-expression-private-method-async.js |  2 +-
 ...elete-member-expression-private-method-gen.js |  2 +-
 ...rr-delete-member-expression-private-method.js |  2 +-
 ...d-err-delete-member-expression-privatename.js |  2 +-
 ...elds-arrow-fnc-init-err-contains-arguments.js |  2 +-
 .../fields-arrow-fnc-init-err-contains-super.js  |  2 +-
 test/language/statements/class/fields-asi-3.js   |  2 +-
 test/language/statements/class/fields-asi-4.js   |  2 +-
 ...elds-comp-name-init-err-contains-arguments.js |  2 +-
 .../fields-comp-name-init-err-contains-super.js  |  2 +-
 .../class/fields-duplicate-privatenames.js       |  2 +-
 ...ields-equality-init-err-contains-arguments.js |  2 +-
 .../fields-equality-init-err-contains-super.js   |  2 +-
 ...s-literal-name-init-err-contains-arguments.js |  2 +-
 ...ields-literal-name-init-err-contains-super.js |  2 +-
 .../fields-literal-name-propname-constructor.js  |  2 +-
 ...s-literal-name-static-propname-constructor.js |  2 +-
 ...lds-literal-name-static-propname-prototype.js |  2 +-
 ...vate-arrow-fnc-init-err-contains-arguments.js |  2 +-
 ...-private-arrow-fnc-init-err-contains-super.js |  2 +-
 ...e-literal-name-init-err-contains-arguments.js |  2 +-
 ...ivate-literal-name-init-err-contains-super.js |  2 +-
 ...rivate-ternary-init-err-contains-arguments.js |  2 +-
 ...ds-private-ternary-init-err-contains-super.js |  2 +-
 ...private-typeof-init-err-contains-arguments.js |  2 +-
 ...lds-private-typeof-init-err-contains-super.js |  2 +-
 ...atic-comp-name-init-err-contains-arguments.js |  2 +-
 ...s-static-comp-name-init-err-contains-super.js |  2 +-
 ...static-literal-init-err-contains-arguments.js |  2 +-
 ...lds-static-literal-init-err-contains-super.js |  2 +-
 ...static-private-init-err-contains-arguments.js |  2 +-
 ...lds-static-private-init-err-contains-super.js |  2 +-
 ...g-literal-name-init-err-contains-arguments.js |  2 +-
 ...tring-literal-name-init-err-contains-super.js |  2 +-
 ...g-literal-name-init-err-contains-arguments.js |  2 +-
 ...tring-literal-name-init-err-contains-super.js |  2 +-
 .../fields-string-name-propname-constructor.js   |  2 +-
 ...ds-string-name-static-propname-constructor.js |  2 +-
 ...elds-string-name-static-propname-prototype.js |  2 +-
 ...fields-ternary-init-err-contains-arguments.js |  2 +-
 .../fields-ternary-init-err-contains-super.js    |  2 +-
 .../fields-typeof-init-err-contains-arguments.js |  2 +-
 .../fields-typeof-init-err-contains-super.js     |  2 +-
 .../class/gen-meth-dflt-params-duplicates.js     |  2 +-
 .../class/gen-meth-dflt-params-rest.js           |  2 +-
 ...eth-rest-params-trailing-comma-early-error.js |  2 +-
 .../gen-meth-static-dflt-params-duplicates.js    |  2 +-
 .../class/gen-meth-static-dflt-params-rest.js    |  2 +-
 ...tic-rest-params-trailing-comma-early-error.js |  2 +-
 .../class/gen-method-param-dflt-yield.js         |  2 +-
 ...static-yield-as-binding-identifier-escaped.js |  2 +-
 ...-method-static-yield-as-binding-identifier.js |  2 +-
 ...atic-yield-as-identifier-reference-escaped.js |  2 +-
 ...ethod-static-yield-as-identifier-reference.js |  2 +-
 ...d-static-yield-as-label-identifier-escaped.js |  2 +-
 ...en-method-static-yield-as-label-identifier.js |  2 +-
 ...thod-static-yield-identifier-spread-strict.js |  2 +-
 .../gen-method-static-yield-identifier-strict.js |  2 +-
 ...method-yield-as-binding-identifier-escaped.js |  2 +-
 .../gen-method-yield-as-binding-identifier.js    |  2 +-
 ...thod-yield-as-identifier-reference-escaped.js |  2 +-
 .../gen-method-yield-as-identifier-reference.js  |  2 +-
 ...n-method-yield-as-label-identifier-escaped.js |  2 +-
 .../gen-method-yield-as-label-identifier.js      |  2 +-
 .../gen-method-yield-identifier-spread-strict.js |  2 +-
 .../class/gen-method-yield-identifier-strict.js  |  2 +-
 ...static-yield-as-binding-identifier-escaped.js |  2 +-
 ...-method-static-yield-as-binding-identifier.js |  2 +-
 ...atic-yield-as-identifier-reference-escaped.js |  2 +-
 ...ethod-static-yield-as-identifier-reference.js |  2 +-
 ...d-static-yield-as-label-identifier-escaped.js |  2 +-
 ...te-method-static-yield-as-label-identifier.js |  2 +-
 ...thod-static-yield-identifier-spread-strict.js |  2 +-
 ...vate-method-static-yield-identifier-strict.js |  2 +-
 ...method-yield-as-binding-identifier-escaped.js |  2 +-
 ...private-method-yield-as-binding-identifier.js |  2 +-
 ...thod-yield-as-identifier-reference-escaped.js |  2 +-
 ...ivate-method-yield-as-identifier-reference.js |  2 +-
 ...e-method-yield-as-label-identifier-escaped.js |  2 +-
 ...n-private-method-yield-as-label-identifier.js |  2 +-
 ...vate-method-yield-identifier-spread-strict.js |  2 +-
 ...gen-private-method-yield-identifier-strict.js |  2 +-
 .../statements/class/getter-param-dflt.js        |  2 +-
 .../class/meth-dflt-params-duplicates.js         |  2 +-
 .../statements/class/meth-dflt-params-rest.js    |  2 +-
 ...eth-rest-params-trailing-comma-early-error.js |  2 +-
 .../class/meth-static-dflt-params-duplicates.js  |  2 +-
 .../class/meth-static-dflt-params-rest.js        |  2 +-
 ...tic-rest-params-trailing-comma-early-error.js |  2 +-
 .../statements/class/method-param-yield.js       |  2 +-
 .../privatename-not-valid-earlyerr-script-1.js   |  2 +-
 .../privatename-not-valid-earlyerr-script-2.js   |  2 +-
 .../privatename-not-valid-earlyerr-script-3.js   |  2 +-
 .../privatename-not-valid-earlyerr-script-4.js   |  2 +-
 .../privatename-not-valid-earlyerr-script-5.js   |  2 +-
 .../privatename-not-valid-earlyerr-script-6.js   |  2 +-
 .../privatename-not-valid-earlyerr-script-7.js   |  2 +-
 .../privatename-not-valid-earlyerr-script-8.js   |  2 +-
 .../class/static-gen-method-param-dflt-yield.js  |  2 +-
 .../class/static-method-param-yield.js           |  2 +-
 .../statements/class/strict-mode/with.js         |  2 +-
 ...inition-evaluation-block-duplicate-binding.js |  2 +-
 ...on-evaluation-scriptbody-duplicate-binding.js |  2 +-
 .../grammar-class-body-ctor-duplicate.js         |  2 +-
 .../grammar-ctor-super-no-heritage.js            |  2 +-
 ...grammar-field-identifier-invalid-ues-error.js |  2 +-
 ...grammar-field-identifier-invalid-zwj-error.js |  2 +-
 ...rammar-field-identifier-invalid-zwnj-error.js |  2 +-
 .../grammar-fields-same-line-error.js            |  2 +-
 .../grammar-privatemeth-duplicate-get-field.js   |  2 +-
 .../grammar-privatemeth-duplicate-get-get.js     |  2 +-
 .../grammar-privatemeth-duplicate-meth-field.js  |  2 +-
 .../grammar-privatemeth-duplicate-meth-get.js    |  2 +-
 .../grammar-privatemeth-duplicate-meth-meth.js   |  2 +-
 .../grammar-privatemeth-duplicate-meth-set.js    |  2 +-
 ...mar-privatemeth-duplicate-meth-staticfield.js |  2 +-
 ...mmar-privatemeth-duplicate-meth-staticmeth.js |  2 +-
 .../grammar-privatemeth-duplicate-set-field.js   |  2 +-
 .../grammar-privatemeth-duplicate-set-set.js     |  2 +-
 .../grammar-privatename-constructor.js           |  2 +-
 .../early-errors/grammar-privatename-error.js    |  2 +-
 ...grammar-privatename-identifier-invalid-ues.js |  2 +-
 ...r-privatename-identifier-invalid-zwj-error.js |  2 +-
 ...-privatename-identifier-invalid-zwnj-error.js |  2 +-
 ...atename-whitespace-error-accessor-get-meth.js |  2 +-
 ...atename-whitespace-error-accessor-set-meth.js |  2 +-
 ...rivatename-whitespace-error-async-gen-meth.js |  2 +-
 ...ar-privatename-whitespace-error-async-meth.js |  2 +-
 ...mar-privatename-whitespace-error-call-expr.js |  2 +-
 ...ar-privatename-whitespace-error-field-init.js |  2 +-
 ...grammar-privatename-whitespace-error-field.js |  2 +-
 ...mmar-privatename-whitespace-error-gen-meth.js |  2 +-
 ...r-privatename-whitespace-error-member-expr.js |  2 +-
 ...mar-privatename-whitespace-error-meth.case.js |  2 +-
 ...-whitespace-error-static-accessor-get-meth.js |  2 +-
 ...-whitespace-error-static-accessor-set-meth.js |  2 +-
 ...ame-whitespace-error-static-async-gen-meth.js |  2 +-
 ...atename-whitespace-error-static-async-meth.js |  2 +-
 ...atename-whitespace-error-static-field-init.js |  2 +-
 ...-privatename-whitespace-error-static-field.js |  2 +-
 ...ivatename-whitespace-error-static-gen-meth.js |  2 +-
 ...r-privatename-whitespace-error-static-meth.js |  2 +-
 .../grammar-privatenames-same-line-error.js      |  2 +-
 ...mmar-special-meth-contains-super-async-gen.js |  2 +-
 .../grammar-special-meth-contains-super-async.js |  2 +-
 .../grammar-special-meth-contains-super-gen.js   |  2 +-
 .../grammar-special-meth-contains-super-get.js   |  2 +-
 ...grammar-special-meth-contains-super-method.js |  2 +-
 ...cial-meth-contains-super-private-async-gen.js |  2 +-
 ...-special-meth-contains-super-private-async.js |  2 +-
 ...ar-special-meth-contains-super-private-gen.js |  2 +-
 ...special-meth-contains-super-private-method.js |  2 +-
 .../grammar-special-meth-contains-super-set.js   |  2 +-
 .../grammar-special-meth-ctor-async-gen.js       |  2 +-
 .../grammar-special-meth-ctor-async-meth.js      |  2 +-
 .../grammar-special-meth-ctor-gen.js             |  2 +-
 .../grammar-special-meth-ctor-get.js             |  2 +-
 .../grammar-special-meth-ctor-set.js             |  2 +-
 .../grammar-static-async-gen-meth-prototype.js   |  2 +-
 .../grammar-static-async-gen-meth-super.js       |  2 +-
 .../grammar-static-async-meth-prototype.js       |  2 +-
 .../grammar-static-async-meth-super.js           |  2 +-
 .../grammar-static-gen-meth-prototype.js         |  2 +-
 .../grammar-static-gen-meth-super.js             |  2 +-
 .../grammar-static-get-meth-prototype.js         |  2 +-
 .../grammar-static-get-meth-super.js             |  2 +-
 .../grammar-static-meth-prototype.js             |  2 +-
 .../early-errors/grammar-static-meth-super.js    |  2 +-
 ...-static-private-async-gen-meth-constructor.js |  2 +-
 ...rammar-static-private-async-gen-meth-super.js |  2 +-
 ...mmar-static-private-async-meth-constructor.js |  2 +-
 .../grammar-static-private-async-meth-super.js   |  2 +-
 ...rammar-static-private-gen-meth-constructor.js |  2 +-
 .../grammar-static-private-gen-meth-super.js     |  2 +-
 .../grammar-static-private-meth-constructor.js   |  2 +-
 .../grammar-static-private-meth-super.js         |  2 +-
 .../grammar-static-privatename-constructor.js    |  2 +-
 .../grammar-static-set-meth-prototype.js         |  2 +-
 .../grammar-static-set-meth-super.js             |  2 +-
 .../statements/class/syntax/escaped-static.js    |  2 +-
 .../const/dstr-ary-ptrn-rest-init-ary.js         |  2 +-
 .../const/dstr-ary-ptrn-rest-init-id.js          |  2 +-
 .../const/dstr-ary-ptrn-rest-init-obj.js         |  2 +-
 .../const/dstr-ary-ptrn-rest-not-final-ary.js    |  2 +-
 .../const/dstr-ary-ptrn-rest-not-final-id.js     |  2 +-
 .../const/dstr-ary-ptrn-rest-not-final-obj.js    |  2 +-
 ...ror-from-within-strict-mode-function-const.js |  2 +-
 ...eclarations-mixed-with-without-initialiser.js |  2 +-
 ...eclarations-mixed-without-with-initialiser.js |  2 +-
 ...tax-const-declarations-without-initialiser.js |  2 +-
 ...const-declaring-let-split-across-two-lines.js |  2 +-
 ...-initializer-do-statement-while-expression.js |  4 ++--
 .../syntax/with-initializer-for-statement.js     |  4 ++--
 ...zer-if-expression-statement-else-statement.js |  4 ++--
 .../with-initializer-if-expression-statement.js  |  4 ++--
 .../syntax/with-initializer-label-statement.js   |  4 ++--
 ...ith-initializer-while-expression-statement.js |  4 ++--
 ...initializer-case-expression-statement-list.js |  4 ++--
 ...without-initializer-default-statement-list.js |  4 ++--
 ...-initializer-do-statement-while-expression.js |  4 ++--
 .../syntax/without-initializer-for-statement.js  |  4 ++--
 ...zer-if-expression-statement-else-statement.js |  4 ++--
 ...ithout-initializer-if-expression-statement.js |  4 ++--
 .../without-initializer-label-statement.js       |  4 ++--
 ...out-initializer-while-expression-statement.js |  4 ++--
 test/language/statements/continue/S12.7_A1_T1.js |  2 +-
 test/language/statements/continue/S12.7_A1_T2.js |  2 +-
 test/language/statements/continue/S12.7_A1_T3.js |  2 +-
 test/language/statements/continue/S12.7_A1_T4.js |  2 +-
 test/language/statements/continue/S12.7_A5_T1.js |  2 +-
 test/language/statements/continue/S12.7_A5_T2.js |  2 +-
 test/language/statements/continue/S12.7_A5_T3.js |  2 +-
 test/language/statements/continue/S12.7_A6.js    |  2 +-
 test/language/statements/continue/S12.7_A8_T1.js |  2 +-
 test/language/statements/continue/S12.7_A8_T2.js |  2 +-
 test/language/statements/debugger/expression.js  |  2 +-
 test/language/statements/do-while/S12.6.1_A12.js |  2 +-
 test/language/statements/do-while/S12.6.1_A15.js |  2 +-
 .../statements/do-while/S12.6.1_A6_T1.js         |  2 +-
 .../statements/do-while/S12.6.1_A6_T2.js         |  2 +-
 .../statements/do-while/S12.6.1_A6_T3.js         |  2 +-
 .../statements/do-while/S12.6.1_A6_T4.js         |  2 +-
 .../statements/do-while/S12.6.1_A6_T5.js         |  2 +-
 .../statements/do-while/S12.6.1_A6_T6.js         |  2 +-
 .../statements/do-while/decl-async-fun.js        |  2 +-
 .../statements/do-while/decl-async-gen.js        |  2 +-
 test/language/statements/do-while/decl-cls.js    |  2 +-
 test/language/statements/do-while/decl-const.js  |  2 +-
 test/language/statements/do-while/decl-fun.js    |  2 +-
 test/language/statements/do-while/decl-gen.js    |  2 +-
 test/language/statements/do-while/decl-let.js    |  2 +-
 .../statements/do-while/labelled-fn-stmt.js      |  2 +-
 .../do-while/let-array-with-newline.js           |  2 +-
 test/language/statements/expression/S12.4_A1.js  |  2 +-
 ...l-dstr-array-elem-init-yield-ident-invalid.js |  2 +-
 ...-decl-dstr-array-elem-nested-array-invalid.js |  2 +-
 ...rray-elem-nested-array-yield-ident-invalid.js |  2 +-
 ...nc-decl-dstr-array-elem-nested-obj-invalid.js |  2 +-
 ...-array-elem-nested-obj-yield-ident-invalid.js |  2 +-
 ...-decl-dstr-array-elem-target-simple-strict.js |  2 +-
 ...-decl-dstr-array-elem-target-yield-invalid.js |  2 +-
 ...ync-func-dstr-const-ary-ptrn-rest-init-ary.js |  2 +-
 ...sync-func-dstr-const-ary-ptrn-rest-init-id.js |  2 +-
 ...ync-func-dstr-const-ary-ptrn-rest-init-obj.js |  2 +-
 ...unc-dstr-const-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...func-dstr-const-ary-ptrn-rest-not-final-id.js |  2 +-
 ...unc-dstr-const-ary-ptrn-rest-not-final-obj.js |  2 +-
 ...nc-dstr-const-async-ary-ptrn-rest-init-ary.js |  2 +-
 ...unc-dstr-const-async-ary-ptrn-rest-init-id.js |  2 +-
 ...nc-dstr-const-async-ary-ptrn-rest-init-obj.js |  2 +-
 ...tr-const-async-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...str-const-async-ary-ptrn-rest-not-final-id.js |  2 +-
 ...tr-const-async-ary-ptrn-rest-not-final-obj.js |  2 +-
 ...async-func-dstr-let-ary-ptrn-rest-init-ary.js |  2 +-
 .../async-func-dstr-let-ary-ptrn-rest-init-id.js |  2 +-
 ...async-func-dstr-let-ary-ptrn-rest-init-obj.js |  2 +-
 ...-func-dstr-let-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...c-func-dstr-let-ary-ptrn-rest-not-final-id.js |  2 +-
 ...-func-dstr-let-ary-ptrn-rest-not-final-obj.js |  2 +-
 ...func-dstr-let-async-ary-ptrn-rest-init-ary.js |  2 +-
 ...-func-dstr-let-async-ary-ptrn-rest-init-id.js |  2 +-
 ...func-dstr-let-async-ary-ptrn-rest-init-obj.js |  2 +-
 ...dstr-let-async-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...-dstr-let-async-ary-ptrn-rest-not-final-id.js |  2 +-
 ...dstr-let-async-ary-ptrn-rest-not-final-obj.js |  2 +-
 ...async-func-dstr-var-ary-ptrn-rest-init-ary.js |  2 +-
 .../async-func-dstr-var-ary-ptrn-rest-init-id.js |  2 +-
 ...async-func-dstr-var-ary-ptrn-rest-init-obj.js |  2 +-
 ...-func-dstr-var-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...c-func-dstr-var-ary-ptrn-rest-not-final-id.js |  2 +-
 ...-func-dstr-var-ary-ptrn-rest-not-final-obj.js |  2 +-
 ...func-dstr-var-async-ary-ptrn-rest-init-ary.js |  2 +-
 ...-func-dstr-var-async-ary-ptrn-rest-init-id.js |  2 +-
 ...func-dstr-var-async-ary-ptrn-rest-init-obj.js |  2 +-
 ...dstr-var-async-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...-dstr-var-async-ary-ptrn-rest-not-final-id.js |  2 +-
 ...dstr-var-async-ary-ptrn-rest-not-final-obj.js |  2 +-
 ...sync-gen-dstr-const-ary-ptrn-rest-init-ary.js |  2 +-
 ...async-gen-dstr-const-ary-ptrn-rest-init-id.js |  2 +-
 ...sync-gen-dstr-const-ary-ptrn-rest-init-obj.js |  2 +-
 ...gen-dstr-const-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...-gen-dstr-const-ary-ptrn-rest-not-final-id.js |  2 +-
 ...gen-dstr-const-ary-ptrn-rest-not-final-obj.js |  2 +-
 ...en-dstr-const-async-ary-ptrn-rest-init-ary.js |  2 +-
 ...gen-dstr-const-async-ary-ptrn-rest-init-id.js |  2 +-
 ...en-dstr-const-async-ary-ptrn-rest-init-obj.js |  2 +-
 ...tr-const-async-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...str-const-async-ary-ptrn-rest-not-final-id.js |  2 +-
 ...tr-const-async-ary-ptrn-rest-not-final-obj.js |  2 +-
 .../async-gen-dstr-let-ary-ptrn-rest-init-ary.js |  2 +-
 .../async-gen-dstr-let-ary-ptrn-rest-init-id.js  |  2 +-
 .../async-gen-dstr-let-ary-ptrn-rest-init-obj.js |  2 +-
 ...c-gen-dstr-let-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...nc-gen-dstr-let-ary-ptrn-rest-not-final-id.js |  2 +-
 ...c-gen-dstr-let-ary-ptrn-rest-not-final-obj.js |  2 +-
 ...-gen-dstr-let-async-ary-ptrn-rest-init-ary.js |  2 +-
 ...c-gen-dstr-let-async-ary-ptrn-rest-init-id.js |  2 +-
 ...-gen-dstr-let-async-ary-ptrn-rest-init-obj.js |  2 +-
 ...dstr-let-async-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...-dstr-let-async-ary-ptrn-rest-not-final-id.js |  2 +-
 ...dstr-let-async-ary-ptrn-rest-not-final-obj.js |  2 +-
 .../async-gen-dstr-var-ary-ptrn-rest-init-ary.js |  2 +-
 .../async-gen-dstr-var-ary-ptrn-rest-init-id.js  |  2 +-
 .../async-gen-dstr-var-ary-ptrn-rest-init-obj.js |  2 +-
 ...c-gen-dstr-var-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...nc-gen-dstr-var-ary-ptrn-rest-not-final-id.js |  2 +-
 ...c-gen-dstr-var-ary-ptrn-rest-not-final-obj.js |  2 +-
 ...-gen-dstr-var-async-ary-ptrn-rest-init-ary.js |  2 +-
 ...c-gen-dstr-var-async-ary-ptrn-rest-init-id.js |  2 +-
 ...-gen-dstr-var-async-ary-ptrn-rest-init-obj.js |  2 +-
 ...dstr-var-async-ary-ptrn-rest-not-final-ary.js |  2 +-
 ...-dstr-var-async-ary-ptrn-rest-not-final-id.js |  2 +-
 ...dstr-var-async-ary-ptrn-rest-not-final-obj.js |  2 +-
 .../statements/for-await-of/escaped-of.js        |  2 +-
 .../for-await-of/let-array-with-newline.js       |  2 +-
 test/language/statements/for-in/S12.6.4_A15.js   |  2 +-
 .../language/statements/for-in/decl-async-fun.js |  2 +-
 .../language/statements/for-in/decl-async-gen.js |  2 +-
 test/language/statements/for-in/decl-cls.js      |  2 +-
 test/language/statements/for-in/decl-const.js    |  2 +-
 test/language/statements/for-in/decl-fun.js      |  2 +-
 test/language/statements/for-in/decl-gen.js      |  2 +-
 test/language/statements/for-in/decl-let.js      |  2 +-
 .../dstr-array-elem-init-yield-ident-invalid.js  |  2 +-
 .../dstr-array-elem-nested-array-invalid.js      |  2 +-
 ...rray-elem-nested-array-yield-ident-invalid.js |  2 +-
 .../for-in/dstr-array-elem-nested-obj-invalid.js |  2 +-
 ...-array-elem-nested-obj-yield-ident-invalid.js |  2 +-
 .../dstr-array-elem-target-simple-strict.js      |  2 +-
 .../dstr-array-elem-target-yield-invalid.js      |  2 +-
 .../for-in/dstr-array-rest-before-element.js     |  2 +-
 .../for-in/dstr-array-rest-before-elision.js     |  2 +-
 .../for-in/dstr-array-rest-before-rest.js        |  2 +-
 .../for-in/dstr-array-rest-elision-invalid.js    |  2 +-
 .../statements/for-in/dstr-array-rest-init.js    |  2 +-
 .../dstr-array-rest-nested-array-invalid.js      |  2 +-
 ...rray-rest-nested-array-yield-ident-invalid.js |  2 +-
 .../for-in/dstr-array-rest-nested-obj-invalid.js |  2 +-
 ...-array-rest-nested-obj-yield-ident-invalid.js |  2 +-
 .../dstr-array-rest-yield-ident-invalid.js       |  2 +-
 .../for-in/dstr-obj-id-identifier-yield-expr.js  |  2 +-
 ...dstr-obj-id-identifier-yield-ident-invalid.js |  2 +-
 .../for-in/dstr-obj-id-init-simple-strict.js     |  2 +-
 .../dstr-obj-id-init-yield-ident-invalid.js      |  2 +-
 .../for-in/dstr-obj-id-simple-strict.js          |  2 +-
 ...str-obj-prop-elem-init-yield-ident-invalid.js |  2 +-
 ...r-obj-prop-elem-target-yield-ident-invalid.js |  2 +-
 .../for-in/dstr-obj-prop-nested-array-invalid.js |  2 +-
 ...-obj-prop-nested-array-yield-ident-invalid.js |  2 +-
 .../for-in/dstr-obj-prop-nested-obj-invalid.js   |  2 +-
 ...tr-obj-prop-nested-obj-yield-ident-invalid.js |  2 +-
 .../dstr-obj-rest-not-last-element-invalid.js    |  2 +-
 .../for-in/head-const-bound-names-dup.js         |  2 +-
 .../for-in/head-const-bound-names-in-stmt.js     |  2 +-
 .../for-in/head-const-bound-names-let.js         |  2 +-
 .../for-in/head-let-bound-names-dup.js           |  2 +-
 .../for-in/head-let-bound-names-in-stmt.js       |  2 +-
 .../for-in/head-let-bound-names-let.js           |  2 +-
 .../for-in/head-lhs-cover-non-asnmt-trgt.js      |  2 +-
 .../for-in/head-lhs-invalid-asnmt-ptrn-ary.js    |  2 +-
 .../for-in/head-lhs-invalid-asnmt-ptrn-obj.js    |  2 +-
 .../statements/for-in/head-lhs-non-asnmt-trgt.js |  2 +-
 .../statements/for-in/labelled-fn-stmt-const.js  |  2 +-
 .../statements/for-in/labelled-fn-stmt-let.js    |  2 +-
 .../statements/for-in/labelled-fn-stmt-lhs.js    |  2 +-
 .../statements/for-in/labelled-fn-stmt-var.js    |  2 +-
 .../statements/for-in/let-array-with-newline.js  |  2 +-
 .../language/statements/for-of/decl-async-fun.js |  2 +-
 .../language/statements/for-of/decl-async-gen.js |  2 +-
 test/language/statements/for-of/decl-cls.js      |  2 +-
 test/language/statements/for-of/decl-const.js    |  2 +-
 test/language/statements/for-of/decl-fun.js      |  2 +-
 test/language/statements/for-of/decl-gen.js      |  2 +-
 test/language/statements/for-of/decl-let.js      |  2 +-
 .../dstr-array-elem-init-yield-ident-invalid.js  |  2 +-
 .../dstr-array-elem-nested-array-invalid.js      |  2 +-
 ...rray-elem-nested-array-yield-ident-invalid.js |  2 +-
 .../for-of/dstr-array-elem-nested-obj-invalid.js |  2 +-
 ...-array-elem-nested-obj-yield-ident-invalid.js |  2 +-
 .../dstr-array-elem-target-simple-strict.js      |  2 +-
 .../dstr-array-elem-target-yield-invalid.js      |  2 +-
 .../for-of/dstr-array-rest-before-element.js     |  2 +-
 .../for-of/dstr-array-rest-before-elision.js     |  2 +-
 .../for-of/dstr-array-rest-before-rest.js        |  2 +-
 .../for-of/dstr-array-rest-elision-invalid.js    |  2 +-
 .../statements/for-of/dstr-array-rest-init.js    |  2 +-
 .../dstr-array-rest-nested-array-invalid.js      |  2 +-
 ...rray-rest-nested-array-yield-ident-invalid.js |  2 +-
 .../for-of/dstr-array-rest-nested-obj-invalid.js |  2 +-
 ...-array-rest-nested-obj-yield-ident-invalid.js |  2 +-
 .../dstr-array-rest-yield-ident-invalid.js       |  2 +-
 .../for-of/dstr-const-ary-ptrn-rest-init-ary.js  |  2 +-
 .../for-of/dstr-const-ary-ptrn-rest-init-id.js   |  2 +-
 .../for-of/dstr-const-ary-ptrn-rest-init-obj.js  |  2 +-
 .../dstr-const-ary-ptrn-rest-not-final-ary.js    |  2 +-
 .../dstr-const-ary-ptrn-rest-not-final-id.js     |  2 +-
 .../dstr-const-ary-ptrn-rest-not-final-obj.js    |  2 +-
 .../for-of/dstr-let-ary-ptrn-rest-init-ary.js    |  2 +-
 .../for-of/dstr-let-ary-ptrn-rest-init-id.js     |  2 +-
 .../for-of/dstr-let-ary-ptrn-rest-init-obj.js    |  2 +-
 .../dstr-let-ary-ptrn-rest-not-final-ary.js      |  2 +-
 .../dstr-let-ary-ptrn-rest-not-final-id.js       |  2 +-
 .../dstr-let-ary-ptrn-rest-not-final-obj.js      |  2 +-
 .../for-of/dstr-obj-id-identifier-yield-expr.js  |  2 +-
 ...dstr-obj-id-identifier-yield-ident-invalid.js |  2 +-
 .../for-of/dstr-obj-id-init-simple-strict.js     |  2 +-
 .../dstr-obj-id-init-yield-ident-invalid.js      |  2 +-
 .../for-of/dstr-obj-id-simple-strict.js          |  2 +-
 ...str-obj-prop-elem-init-yield-ident-invalid.js |  2 +-
 ...r-obj-prop-elem-target-yield-ident-invalid.js |  2 +-
 .../for-of/dstr-obj-prop-nested-array-invalid.js |  2 +-
 ...-obj-prop-nested-array-yield-ident-invalid.js |  2 +-
 .../for-of/dstr-obj-prop-nested-obj-invalid.js   |  2 +-
 ...tr-obj-prop-nested-obj-yield-ident-invalid.js |  2 +-
 .../dstr-obj-rest-not-last-element-invalid.js    |  2 +-
 .../for-of/dstr-var-ary-ptrn-rest-init-ary.js    |  2 +-
 .../for-of/dstr-var-ary-ptrn-rest-init-id.js     |  2 +-
 .../for-of/dstr-var-ary-ptrn-rest-init-obj.js    |  2 +-
 .../dstr-var-ary-ptrn-rest-not-final-ary.js      |  2 +-
 .../dstr-var-ary-ptrn-rest-not-final-id.js       |  2 +-
 .../dstr-var-ary-ptrn-rest-not-final-obj.js      |  2 +-
 test/language/statements/for-of/escaped-of.js    |  2 +-
 .../for-of/head-const-bound-names-dup.js         |  2 +-
 .../for-of/head-const-bound-names-in-stmt.js     |  2 +-
 .../for-of/head-const-bound-names-let.js         |  2 +-
 .../statements/for-of/head-decl-no-expr.js       |  2 +-
 .../statements/for-of/head-expr-no-expr.js       |  2 +-
 .../for-of/head-let-bound-names-dup.js           |  2 +-
 .../for-of/head-let-bound-names-in-stmt.js       |  2 +-
 .../for-of/head-let-bound-names-let.js           |  2 +-
 .../for-of/head-lhs-cover-non-asnmt-trgt.js      |  2 +-
 .../for-of/head-lhs-invalid-asnmt-ptrn-ary.js    |  2 +-
 .../for-of/head-lhs-invalid-asnmt-ptrn-obj.js    |  2 +-
 test/language/statements/for-of/head-lhs-let.js  |  2 +-
 .../statements/for-of/head-lhs-non-asnmt-trgt.js |  2 +-
 .../statements/for-of/head-var-no-expr.js        |  2 +-
 .../statements/for-of/labelled-fn-stmt-const.js  |  2 +-
 .../statements/for-of/labelled-fn-stmt-let.js    |  2 +-
 .../statements/for-of/labelled-fn-stmt-lhs.js    |  2 +-
 .../statements/for-of/labelled-fn-stmt-var.js    |  2 +-
 .../statements/for-of/let-array-with-newline.js  |  2 +-
 test/language/statements/for/S12.6.3_A11.1_T3.js |  2 +-
 test/language/statements/for/S12.6.3_A11_T3.js   |  2 +-
 test/language/statements/for/S12.6.3_A12.1_T3.js |  2 +-
 test/language/statements/for/S12.6.3_A12_T3.js   |  2 +-
 test/language/statements/for/S12.6.3_A4.1.js     |  2 +-
 test/language/statements/for/S12.6.3_A4_T1.js    |  2 +-
 test/language/statements/for/S12.6.3_A4_T2.js    |  2 +-
 test/language/statements/for/S12.6.3_A7.1_T1.js  |  2 +-
 test/language/statements/for/S12.6.3_A7.1_T2.js  |  2 +-
 test/language/statements/for/S12.6.3_A7_T1.js    |  2 +-
 test/language/statements/for/S12.6.3_A7_T2.js    |  2 +-
 test/language/statements/for/S12.6.3_A8.1_T1.js  |  2 +-
 test/language/statements/for/S12.6.3_A8.1_T2.js  |  2 +-
 test/language/statements/for/S12.6.3_A8.1_T3.js  |  2 +-
 test/language/statements/for/S12.6.3_A8_T1.js    |  2 +-
 test/language/statements/for/S12.6.3_A8_T2.js    |  2 +-
 test/language/statements/for/S12.6.3_A8_T3.js    |  2 +-
 test/language/statements/for/decl-async-fun.js   |  2 +-
 test/language/statements/for/decl-async-gen.js   |  2 +-
 test/language/statements/for/decl-cls.js         |  2 +-
 test/language/statements/for/decl-const.js       |  2 +-
 test/language/statements/for/decl-fun.js         |  2 +-
 test/language/statements/for/decl-gen.js         |  2 +-
 test/language/statements/for/decl-let.js         |  2 +-
 .../for/dstr-const-ary-ptrn-rest-init-ary.js     |  2 +-
 .../for/dstr-const-ary-ptrn-rest-init-id.js      |  2 +-
 .../for/dstr-const-ary-ptrn-rest-init-obj.js     |  2 +-
 .../dstr-const-ary-ptrn-rest-not-final-ary.js    |  2 +-
 .../for/dstr-const-ary-ptrn-rest-not-final-id.js |  2 +-
 .../dstr-const-ary-ptrn-rest-not-final-obj.js    |  2 +-
 .../for/dstr-let-ary-ptrn-rest-init-ary.js       |  2 +-
 .../for/dstr-let-ary-ptrn-rest-init-id.js        |  2 +-
 .../for/dstr-let-ary-ptrn-rest-init-obj.js       |  2 +-
 .../for/dstr-let-ary-ptrn-rest-not-final-ary.js  |  2 +-
 .../for/dstr-let-ary-ptrn-rest-not-final-id.js   |  2 +-
 .../for/dstr-let-ary-ptrn-rest-not-final-obj.js  |  2 +-
 .../for/dstr-var-ary-ptrn-rest-init-ary.js       |  2 +-
 .../for/dstr-var-ary-ptrn-rest-init-id.js        |  2 +-
 .../for/dstr-var-ary-ptrn-rest-init-obj.js       |  2 +-
 .../for/dstr-var-ary-ptrn-rest-not-final-ary.js  |  2 +-
 .../for/dstr-var-ary-ptrn-rest-not-final-id.js   |  2 +-
 .../for/dstr-var-ary-ptrn-rest-not-final-obj.js  |  2 +-
 .../for/head-const-bound-names-in-stmt.js        |  2 +-
 .../for/head-let-bound-names-in-stmt.js          |  2 +-
 .../statements/for/labelled-fn-stmt-const.js     |  2 +-
 .../statements/for/labelled-fn-stmt-expr.js      |  2 +-
 .../statements/for/labelled-fn-stmt-let.js       |  2 +-
 .../statements/for/labelled-fn-stmt-var.js       |  2 +-
 .../statements/for/let-array-with-newline.js     |  2 +-
 test/language/statements/function/13.0_4-5gs.js  |  2 +-
 test/language/statements/function/13.1-13gs.js   |  2 +-
 test/language/statements/function/13.1-1gs.js    |  2 +-
 test/language/statements/function/13.1-4gs.js    |  2 +-
 test/language/statements/function/13.1-5gs.js    |  2 +-
 test/language/statements/function/13.1-8gs.js    |  2 +-
 test/language/statements/function/S13_A7_T3.js   |  2 +-
 .../function/dflt-params-duplicates.js           |  2 +-
 .../statements/function/dflt-params-rest.js      |  2 +-
 .../function/dstr-ary-ptrn-rest-init-ary.js      |  2 +-
 .../function/dstr-ary-ptrn-rest-init-id.js       |  2 +-
 .../function/dstr-ary-ptrn-rest-init-obj.js      |  2 +-
 .../function/dstr-ary-ptrn-rest-not-final-ary.js |  2 +-
 .../function/dstr-ary-ptrn-rest-not-final-id.js  |  2 +-
 .../function/dstr-ary-ptrn-rest-not-final-obj.js |  2 +-
 .../function/dstr-dflt-ary-ptrn-rest-init-ary.js |  2 +-
 .../function/dstr-dflt-ary-ptrn-rest-init-id.js  |  2 +-
 .../function/dstr-dflt-ary-ptrn-rest-init-obj.js |  2 +-
 .../dstr-dflt-ary-ptrn-rest-not-final-ary.js     |  2 +-
 .../dstr-dflt-ary-ptrn-rest-not-final-id.js      |  2 +-
 .../dstr-dflt-ary-ptrn-rest-not-final-obj.js     |  2 +-
 .../statements/function/early-body-super-call.js |  2 +-
 .../statements/function/early-body-super-prop.js |  2 +-
 .../function/early-params-super-call.js          |  2 +-
 .../function/early-params-super-prop.js          |  2 +-
 .../function/enable-strict-via-body.js           |  4 ++--
 .../function/enable-strict-via-outer-body.js     |  4 ++--
 .../function/enable-strict-via-outer-script.js   |  4 ++--
 .../statements/function/invalid-2-names.js       |  2 +-
 .../statements/function/invalid-3-names.js       |  2 +-
 .../function/invalid-function-body-1.js          |  2 +-
 .../function/invalid-function-body-2.js          |  2 +-
 .../function/invalid-function-body-3.js          |  2 +-
 .../statements/function/invalid-name-dot.js      |  2 +-
 .../statements/function/invalid-name-two-dots.js |  2 +-
 .../function/name-arguments-strict-body.js       |  2 +-
 .../statements/function/name-arguments-strict.js |  2 +-
 .../statements/function/name-eval-strict-body.js |  2 +-
 .../statements/function/name-eval-strict.js      |  2 +-
 .../function/param-arguments-strict-body.js      |  4 ++--
 .../function/param-arguments-strict.js           |  4 ++--
 .../function/param-dflt-yield-strict.js          |  2 +-
 .../function/param-duplicated-strict-1.js        |  4 ++--
 .../function/param-duplicated-strict-2.js        |  4 ++--
 .../function/param-duplicated-strict-3.js        |  4 ++--
 .../function/param-duplicated-strict-body-1.js   |  4 ++--
 .../function/param-duplicated-strict-body-2.js   |  4 ++--
 .../function/param-duplicated-strict-body-3.js   |  4 ++--
 .../function/param-eval-strict-body.js           |  4 ++--
 .../statements/function/param-eval-strict.js     |  4 ++--
 .../rest-params-trailing-comma-early-error.js    |  2 +-
 .../function/use-strict-with-non-simple-param.js |  2 +-
 .../generators/dflt-params-duplicates.js         |  2 +-
 .../statements/generators/dflt-params-rest.js    |  2 +-
 .../generators/dstr-ary-ptrn-rest-init-ary.js    |  2 +-
 .../generators/dstr-ary-ptrn-rest-init-id.js     |  2 +-
 .../generators/dstr-ary-ptrn-rest-init-obj.js    |  2 +-
 .../dstr-ary-ptrn-rest-not-final-ary.js          |  2 +-
 .../dstr-ary-ptrn-rest-not-final-id.js           |  2 +-
 .../dstr-ary-ptrn-rest-not-final-obj.js          |  2 +-
 .../dstr-dflt-ary-ptrn-rest-init-ary.js          |  2 +-
 .../dstr-dflt-ary-ptrn-rest-init-id.js           |  2 +-
 .../dstr-dflt-ary-ptrn-rest-init-obj.js          |  2 +-
 .../dstr-dflt-ary-ptrn-rest-not-final-ary.js     |  2 +-
 .../dstr-dflt-ary-ptrn-rest-not-final-id.js      |  2 +-
 .../dstr-dflt-ary-ptrn-rest-not-final-obj.js     |  2 +-
 .../statements/generators/param-dflt-yield.js    |  2 +-
 .../rest-params-trailing-comma-early-error.js    |  2 +-
 .../use-strict-with-non-simple-param.js          |  2 +-
 .../yield-as-binding-identifier-escaped.js       |  2 +-
 .../generators/yield-as-binding-identifier.js    |  2 +-
 .../yield-as-identifier-reference-escaped.js     |  2 +-
 .../generators/yield-as-identifier-reference.js  |  2 +-
 .../yield-as-label-identifier-escaped.js         |  2 +-
 .../generators/yield-as-label-identifier.js      |  2 +-
 .../generators/yield-as-logical-or-expression.js |  2 +-
 .../statements/generators/yield-as-parameter.js  |  2 +-
 .../generators/yield-identifier-spread-strict.js |  2 +-
 .../generators/yield-identifier-strict.js        |  2 +-
 .../generators/yield-star-after-newline.js       |  2 +-
 .../statements/generators/yield-weak-binding.js  |  2 +-
 test/language/statements/if/S12.5_A11.js         |  2 +-
 test/language/statements/if/S12.5_A6_T1.js       |  2 +-
 test/language/statements/if/S12.5_A6_T2.js       |  2 +-
 test/language/statements/if/S12.5_A8.js          |  2 +-
 .../statements/if/if-async-fun-else-async-fun.js |  2 +-
 .../statements/if/if-async-fun-else-stmt.js      |  2 +-
 .../statements/if/if-async-fun-no-else.js        |  2 +-
 .../statements/if/if-async-gen-else-async-gen.js |  2 +-
 .../statements/if/if-async-gen-else-stmt.js      |  2 +-
 .../statements/if/if-async-gen-no-else.js        |  2 +-
 test/language/statements/if/if-cls-else-cls.js   |  2 +-
 test/language/statements/if/if-cls-else-stmt.js  |  2 +-
 test/language/statements/if/if-cls-no-else.js    |  2 +-
 .../statements/if/if-const-else-const.js         |  2 +-
 .../language/statements/if/if-const-else-stmt.js |  2 +-
 test/language/statements/if/if-const-no-else.js  |  2 +-
 .../statements/if/if-decl-else-decl-strict.js    |  4 ++--
 .../statements/if/if-decl-else-stmt-strict.js    |  4 ++--
 .../statements/if/if-decl-no-else-strict.js      |  4 ++--
 .../statements/if/if-fun-else-fun-strict.js      |  2 +-
 .../statements/if/if-fun-else-stmt-strict.js     |  2 +-
 .../statements/if/if-fun-no-else-strict.js       |  2 +-
 test/language/statements/if/if-gen-else-gen.js   |  2 +-
 test/language/statements/if/if-gen-else-stmt.js  |  2 +-
 test/language/statements/if/if-gen-no-else.js    |  2 +-
 test/language/statements/if/if-let-else-let.js   |  2 +-
 test/language/statements/if/if-let-else-stmt.js  |  2 +-
 test/language/statements/if/if-let-no-else.js    |  2 +-
 .../statements/if/if-stmt-else-async-fun.js      |  2 +-
 .../statements/if/if-stmt-else-async-gen.js      |  2 +-
 test/language/statements/if/if-stmt-else-cls.js  |  2 +-
 .../language/statements/if/if-stmt-else-const.js |  2 +-
 .../statements/if/if-stmt-else-decl-strict.js    |  6 +++---
 .../statements/if/if-stmt-else-fun-strict.js     |  4 ++--
 test/language/statements/if/if-stmt-else-gen.js  |  2 +-
 test/language/statements/if/if-stmt-else-let.js  |  2 +-
 .../statements/if/labelled-fn-stmt-first.js      |  2 +-
 .../statements/if/labelled-fn-stmt-lone.js       |  2 +-
 .../statements/if/labelled-fn-stmt-second.js     |  2 +-
 .../statements/if/let-array-with-newline.js      |  2 +-
 test/language/statements/labeled/continue.js     |  2 +-
 .../statements/labeled/decl-async-function.js    |  2 +-
 .../statements/labeled/decl-async-generator.js   |  2 +-
 test/language/statements/labeled/decl-cls.js     |  2 +-
 test/language/statements/labeled/decl-const.js   |  2 +-
 .../statements/labeled/decl-fun-strict.js        |  2 +-
 test/language/statements/labeled/decl-gen.js     |  2 +-
 test/language/statements/labeled/decl-let.js     |  2 +-
 .../statements/labeled/let-array-with-newline.js |  2 +-
 .../labeled/value-await-module-escaped.js        |  2 +-
 .../statements/labeled/value-await-module.js     |  2 +-
 .../labeled/value-yield-strict-escaped.js        |  2 +-
 .../statements/labeled/value-yield-strict.js     |  2 +-
 .../let/dstr-ary-ptrn-rest-init-ary.js           |  2 +-
 .../statements/let/dstr-ary-ptrn-rest-init-id.js |  2 +-
 .../let/dstr-ary-ptrn-rest-init-obj.js           |  2 +-
 .../let/dstr-ary-ptrn-rest-not-final-ary.js      |  2 +-
 .../let/dstr-ary-ptrn-rest-not-final-id.js       |  2 +-
 .../let/dstr-ary-ptrn-rest-not-final-obj.js      |  2 +-
 ...ion-error-from-within-strict-mode-function.js |  2 +-
 ...lare-let-binding-with-function-declaration.js |  2 +-
 .../attempt-to-redeclare-let-binding-with-var.js |  2 +-
 ...-allowed-as-lefthandside-expression-strict.js |  2 +-
 .../identifier-let-disallowed-as-boundname.js    |  2 +-
 ...let-let-declaration-split-across-two-lines.js |  2 +-
 ...on-with-initializer-split-across-two-lines.js |  2 +-
 .../let-newline-await-in-normal-function.js      |  2 +-
 .../let-newline-yield-in-generator-function.js   |  2 +-
 .../let-newline-yield-in-normal-function.js      |  2 +-
 ...nt-positions-do-statement-while-expression.js |  4 ++--
 ...isers-in-statement-positions-for-statement.js |  4 ++--
 ...ons-if-expression-statement-else-statement.js |  4 ++--
 ...tatement-positions-if-expression-statement.js |  4 ++--
 ...ers-in-statement-positions-label-statement.js |  4 ++--
 ...ement-positions-while-expression-statement.js |  4 ++--
 ...nt-positions-do-statement-while-expression.js |  4 ++--
 ...isers-in-statement-positions-for-statement.js |  4 ++--
 ...ons-if-expression-statement-else-statement.js |  4 ++--
 ...tatement-positions-if-expression-statement.js |  4 ++--
 ...ers-in-statement-positions-label-statement.js |  4 ++--
 ...ement-positions-while-expression-statement.js |  4 ++--
 test/language/statements/return/S12.9_A1_T1.js   |  2 +-
 test/language/statements/return/S12.9_A1_T10.js  |  2 +-
 test/language/statements/return/S12.9_A1_T2.js   |  2 +-
 test/language/statements/return/S12.9_A1_T3.js   |  2 +-
 test/language/statements/return/S12.9_A1_T4.js   |  2 +-
 test/language/statements/return/S12.9_A1_T5.js   |  2 +-
 test/language/statements/return/S12.9_A1_T6.js   |  2 +-
 test/language/statements/return/S12.9_A1_T7.js   |  2 +-
 test/language/statements/return/S12.9_A1_T8.js   |  2 +-
 test/language/statements/return/S12.9_A1_T9.js   |  2 +-
 test/language/statements/switch/S12.11_A2_T1.js  |  6 +++---
 test/language/statements/switch/S12.11_A3_T1.js  |  6 +++---
 test/language/statements/switch/S12.11_A3_T2.js  |  6 +++---
 test/language/statements/switch/S12.11_A3_T3.js  |  2 +-
 test/language/statements/switch/S12.11_A3_T4.js  |  6 +++---
 test/language/statements/switch/S12.11_A3_T5.js  |  6 +++---
 ...-redeclare-with-async-function-declaration.js |  2 +-
 ...redeclare-with-async-generator-declaration.js |  2 +-
 ...ttempt-to-redeclare-with-class-declaration.js |  2 +-
 ...ttempt-to-redeclare-with-const-declaration.js |  2 +-
 ...mpt-to-redeclare-with-function-declaration.js |  2 +-
 ...pt-to-redeclare-with-generator-declaration.js |  2 +-
 ...-attempt-to-redeclare-with-let-declaration.js |  2 +-
 ...-attempt-to-redeclare-with-var-declaration.js |  2 +-
 ...-redeclare-with-async-function-declaration.js |  2 +-
 ...redeclare-with-async-generator-declaration.js |  2 +-
 ...ttempt-to-redeclare-with-class-declaration.js |  2 +-
 ...ttempt-to-redeclare-with-const-declaration.js |  2 +-
 ...mpt-to-redeclare-with-function-declaration.js |  2 +-
 ...pt-to-redeclare-with-generator-declaration.js |  2 +-
 ...-attempt-to-redeclare-with-let-declaration.js |  2 +-
 ...-attempt-to-redeclare-with-var-declaration.js |  2 +-
 ...-redeclare-with-async-function-declaration.js |  2 +-
 ...redeclare-with-async-generator-declaration.js |  2 +-
 ...ttempt-to-redeclare-with-class-declaration.js |  2 +-
 ...ttempt-to-redeclare-with-const-declaration.js |  2 +-
 ...mpt-to-redeclare-with-function-declaration.js |  2 +-
 ...pt-to-redeclare-with-generator-declaration.js |  2 +-
 ...-attempt-to-redeclare-with-let-declaration.js |  2 +-
 ...-attempt-to-redeclare-with-var-declaration.js |  2 +-
 ...-redeclare-with-async-function-declaration.js |  2 +-
 ...redeclare-with-async-generator-declaration.js |  2 +-
 ...ttempt-to-redeclare-with-class-declaration.js |  2 +-
 ...ttempt-to-redeclare-with-const-declaration.js |  2 +-
 ...mpt-to-redeclare-with-function-declaration.js |  2 +-
 ...pt-to-redeclare-with-generator-declaration.js |  2 +-
 ...-attempt-to-redeclare-with-let-declaration.js |  2 +-
 ...-attempt-to-redeclare-with-var-declaration.js |  2 +-
 ...-redeclare-with-async-function-declaration.js |  2 +-
 ...redeclare-with-async-generator-declaration.js |  2 +-
 ...ttempt-to-redeclare-with-class-declaration.js |  2 +-
 ...ttempt-to-redeclare-with-const-declaration.js |  2 +-
 ...mpt-to-redeclare-with-function-declaration.js |  2 +-
 ...pt-to-redeclare-with-generator-declaration.js |  2 +-
 ...-attempt-to-redeclare-with-let-declaration.js |  2 +-
 ...-attempt-to-redeclare-with-var-declaration.js |  2 +-
 ...-redeclare-with-async-function-declaration.js |  2 +-
 ...redeclare-with-async-generator-declaration.js |  2 +-
 ...ttempt-to-redeclare-with-class-declaration.js |  2 +-
 ...ttempt-to-redeclare-with-const-declaration.js |  2 +-
 ...mpt-to-redeclare-with-function-declaration.js |  2 +-
 ...pt-to-redeclare-with-generator-declaration.js |  2 +-
 ...-attempt-to-redeclare-with-let-declaration.js |  2 +-
 ...-attempt-to-redeclare-with-var-declaration.js |  2 +-
 ...-redeclare-with-async-function-declaration.js |  2 +-
 ...redeclare-with-async-generator-declaration.js |  2 +-
 ...ttempt-to-redeclare-with-class-declaration.js |  2 +-
 ...ttempt-to-redeclare-with-const-declaration.js |  2 +-
 ...mpt-to-redeclare-with-function-declaration.js |  2 +-
 ...pt-to-redeclare-with-generator-declaration.js |  2 +-
 ...-attempt-to-redeclare-with-let-declaration.js |  2 +-
 ...-attempt-to-redeclare-with-var-declaration.js |  2 +-
 ...-redeclare-with-async-function-declaration.js |  2 +-
 ...redeclare-with-async-generator-declaration.js |  2 +-
 ...ttempt-to-redeclare-with-class-declaration.js |  2 +-
 ...ttempt-to-redeclare-with-const-declaration.js |  2 +-
 ...mpt-to-redeclare-with-function-declaration.js |  2 +-
 ...pt-to-redeclare-with-generator-declaration.js |  2 +-
 ...-attempt-to-redeclare-with-let-declaration.js |  2 +-
 test/language/statements/try/S12.14_A16_T1.js    |  2 +-
 test/language/statements/try/S12.14_A16_T10.js   |  2 +-
 test/language/statements/try/S12.14_A16_T11.js   |  2 +-
 test/language/statements/try/S12.14_A16_T12.js   |  2 +-
 test/language/statements/try/S12.14_A16_T13.js   |  2 +-
 test/language/statements/try/S12.14_A16_T14.js   |  4 ++--
 test/language/statements/try/S12.14_A16_T15.js   |  4 ++--
 test/language/statements/try/S12.14_A16_T2.js    |  2 +-
 test/language/statements/try/S12.14_A16_T3.js    |  2 +-
 test/language/statements/try/S12.14_A16_T5.js    |  2 +-
 test/language/statements/try/S12.14_A16_T6.js    |  2 +-
 test/language/statements/try/S12.14_A16_T7.js    |  2 +-
 test/language/statements/try/S12.14_A16_T8.js    |  2 +-
 test/language/statements/try/S12.14_A16_T9.js    |  2 +-
 ...names-restriction-arguments-negative-early.js |  2 +-
 ...boundnames-restriction-eval-negative-early.js |  2 +-
 .../try/dstr-ary-ptrn-rest-init-ary.js           |  2 +-
 .../statements/try/dstr-ary-ptrn-rest-init-id.js |  2 +-
 .../try/dstr-ary-ptrn-rest-init-obj.js           |  2 +-
 .../try/dstr-ary-ptrn-rest-not-final-ary.js      |  2 +-
 .../try/dstr-ary-ptrn-rest-not-final-id.js       |  2 +-
 .../try/dstr-ary-ptrn-rest-not-final-obj.js      |  2 +-
 .../statements/try/early-catch-duplicates.js     |  2 +-
 .../statements/try/early-catch-function.js       |  2 +-
 test/language/statements/try/early-catch-lex.js  |  2 +-
 test/language/statements/try/early-catch-var.js  |  2 +-
 .../try/optional-catch-binding-parens.js         |  2 +-
 test/language/statements/variable/12.2.1-1gs.js  |  2 +-
 test/language/statements/variable/12.2.1-4gs.js  |  2 +-
 test/language/statements/variable/S12.2_A8_T1.js |  2 +-
 test/language/statements/variable/S12.2_A8_T2.js |  2 +-
 test/language/statements/variable/S12.2_A8_T3.js |  2 +-
 test/language/statements/variable/S12.2_A8_T4.js |  2 +-
 test/language/statements/variable/S12.2_A8_T5.js |  2 +-
 test/language/statements/variable/S12.2_A8_T6.js |  2 +-
 test/language/statements/variable/S12.2_A8_T7.js |  2 +-
 test/language/statements/variable/S12.2_A8_T8.js |  2 +-
 .../variable/dstr-ary-ptrn-rest-init-ary.js      |  2 +-
 .../variable/dstr-ary-ptrn-rest-init-id.js       |  2 +-
 .../variable/dstr-ary-ptrn-rest-init-obj.js      |  2 +-
 .../variable/dstr-ary-ptrn-rest-not-final-ary.js |  2 +-
 .../variable/dstr-ary-ptrn-rest-not-final-id.js  |  2 +-
 .../variable/dstr-ary-ptrn-rest-not-final-obj.js |  2 +-
 .../statements/variable/id-arguments-strict.js   |  2 +-
 .../statements/variable/id-eval-strict.js        |  2 +-
 test/language/statements/while/S12.6.2_A15.js    |  2 +-
 test/language/statements/while/S12.6.2_A6_T1.js  |  2 +-
 test/language/statements/while/S12.6.2_A6_T2.js  |  2 +-
 test/language/statements/while/S12.6.2_A6_T3.js  |  2 +-
 test/language/statements/while/S12.6.2_A6_T4.js  |  2 +-
 test/language/statements/while/S12.6.2_A6_T5.js  |  2 +-
 test/language/statements/while/S12.6.2_A6_T6.js  |  2 +-
 test/language/statements/while/decl-async-fun.js |  2 +-
 test/language/statements/while/decl-async-gen.js |  2 +-
 test/language/statements/while/decl-cls.js       |  2 +-
 test/language/statements/while/decl-const.js     |  2 +-
 test/language/statements/while/decl-fun.js       |  2 +-
 test/language/statements/while/decl-gen.js       |  2 +-
 test/language/statements/while/decl-let.js       |  2 +-
 .../statements/while/labelled-fn-stmt.js         |  2 +-
 .../statements/while/let-array-with-newline.js   |  2 +-
 test/language/statements/with/12.10.1-11gs.js    |  2 +-
 test/language/statements/with/decl-async-fun.js  |  2 +-
 test/language/statements/with/decl-async-gen.js  |  2 +-
 test/language/statements/with/decl-cls.js        |  2 +-
 test/language/statements/with/decl-const.js      |  2 +-
 test/language/statements/with/decl-fun.js        |  2 +-
 test/language/statements/with/decl-gen.js        |  2 +-
 test/language/statements/with/decl-let.js        |  2 +-
 .../language/statements/with/labelled-fn-stmt.js |  2 +-
 .../statements/with/let-array-with-newline.js    |  2 +-
 test/language/types/boolean/S8.3_A2.1.js         |  2 +-
 test/language/types/boolean/S8.3_A2.2.js         |  2 +-
 test/language/types/null/S8.2_A2.js              |  2 +-
 test/language/types/reference/S8.7.2_A1_T1.js    |  2 +-
 test/language/types/reference/S8.7.2_A1_T2.js    |  2 +-
 test/language/types/string/S8.4_A13_T1.js        |  2 +-
 test/language/types/string/S8.4_A13_T2.js        |  2 +-
 test/language/types/string/S8.4_A13_T3.js        |  2 +-
 test/language/types/string/S8.4_A14_T1.js        |  2 +-
 test/language/types/string/S8.4_A14_T2.js        |  2 +-
 test/language/types/string/S8.4_A14_T3.js        |  2 +-
 test/language/white-space/S7.2_A5_T1.js          |  2 +-
 test/language/white-space/S7.2_A5_T2.js          |  2 +-
 test/language/white-space/S7.2_A5_T3.js          |  2 +-
 test/language/white-space/S7.2_A5_T4.js          |  2 +-
 test/language/white-space/S7.2_A5_T5.js          |  2 +-
 .../white-space/mongolian-vowel-separator.js     |  2 +-
 tools/lint/lib/checks/negative.py                |  2 +-
 tools/lint/test/fixtures/negative_valid_parse.js |  2 +-
 .../test/fixtures/negative_valid_resolution.js   |  2 +-
 3074 files changed, 3189 insertions(+), 3181 deletions(-)

diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index f08a11645b..c0a11d209e 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -217,7 +217,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var var = var;
 ```
diff --git a/INTERPRETING.md b/INTERPRETING.md
index eb5fef3491..e2f4490ca2 100644
--- a/INTERPRETING.md
+++ b/INTERPRETING.md
@@ -86,7 +86,7 @@ properties of the global scope prior to test execution.
         an Int32.  This function may return before a broadcast is received
         (eg to return to an event loop to await a message) and no code should
         follow the call to this function.
-      - **`report`** - a function that accepts a single "message" argument, 
+      - **`report`** - a function that accepts a single "message" argument,
         which is converted to a string\* and placed in a transmit queue whence the parent will retrieve it. Messages should be short. (\* Note that string conversion has been implicit since the introduction of this host API, but is now explicit.)
       - **`sleep`** - a function that takes a millisecond argument and
         sleeps the agent for approximately that duration.
@@ -101,7 +101,7 @@ properties of the global scope prior to test execution.
       and returns it if it exists, or returns `null` otherwise.
     - **`sleep`** - a function that takes a millisecond argument and
         sleeps the execution for approximately that duration.
-    - **`monotonicNow`** - a function that returns a value that conforms to [`DOMHighResTimeStamp`][] and is produced in such a way that its semantics conform to **[Monotonic Clock][]**. 
+    - **`monotonicNow`** - a function that returns a value that conforms to [`DOMHighResTimeStamp`][] and is produced in such a way that its semantics conform to **[Monotonic Clock][]**.
 
 
 #### Normative references
@@ -174,7 +174,7 @@ These tests are expected to generate an uncaught exception. The value of this
 attribute is a YAML dictonary with two keys:
 
 - `phase` - the stage of the test interpretation process that the error is
-  expected to be produced; valid phases are: 
+  expected to be produced; valid phases are:
     - `parse`: occurs while parsing the source text.
     - `early`: occurs prior to evaluation.
     - `resolution`: occurs during module resolution.
@@ -203,7 +203,7 @@ negative:
   phase: parse
   type: ReferenceError
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 'litera'=1;
 ```
 
@@ -213,7 +213,7 @@ negative:
   phase: parse
   type: SyntaxError
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 var a\u2E2F;
 ```
 
@@ -225,7 +225,7 @@ negative:
   type: ReferenceError
 flags: [module]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 export {} from './instn-resolve-empty-export_FIXTURE.js';
 // instn-resolve-empty-export_FIXTURE.js contains only:
 // 0++;
@@ -387,10 +387,10 @@ The `locale` attribute allows tests to declare explicit information regarding lo
   /*---
   locale: [en, en-US, ar]
   ---*/
-  
+
   var en = new Intl.PluralRules('en');
   assert.sameValue(en.select(1), 'one', 'en.select(1) returns "one"');
-  assert.sameValue(en.select(2), 'other', 'en.select(2) returns "other"');  
+  assert.sameValue(en.select(2), 'other', 'en.select(2) returns "other"');
 
   var enUS = new Intl.PluralRules('en-US');
   assert.sameValue(enUS.select(1), 'one', 'enUS.select(1) returns "one"');
diff --git a/harness/sta.js b/harness/sta.js
index 341c21e765..f22252a7fc 100644
--- a/harness/sta.js
+++ b/harness/sta.js
@@ -21,3 +21,7 @@ var $ERROR;
 $ERROR = function $ERROR(message) {
   throw new Test262Error(message);
 };
+
+function failIfCodeGetsEvaluated() {
+  throw "Test262: This statement should not be evaluated.";
+}
diff --git a/src/async-functions/await-as-binding-identifier-escaped.case b/src/async-functions/await-as-binding-identifier-escaped.case
index 9480a19aee..e56c536052 100644
--- a/src/async-functions/await-as-binding-identifier-escaped.case
+++ b/src/async-functions/await-as-binding-identifier-escaped.case
@@ -18,6 +18,6 @@ template: syntax
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- body
   var \u0061wait;
diff --git a/src/async-functions/await-as-binding-identifier.case b/src/async-functions/await-as-binding-identifier.case
index 3b7bee687c..0b28f79480 100644
--- a/src/async-functions/await-as-binding-identifier.case
+++ b/src/async-functions/await-as-binding-identifier.case
@@ -18,6 +18,6 @@ template: syntax
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- body
   var await;
diff --git a/src/async-functions/await-as-identifier-reference-escaped.case b/src/async-functions/await-as-identifier-reference-escaped.case
index 27946a55ce..aa0cff0f86 100644
--- a/src/async-functions/await-as-identifier-reference-escaped.case
+++ b/src/async-functions/await-as-identifier-reference-escaped.case
@@ -18,6 +18,6 @@ template: syntax
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- body
   void \u0061wait;
diff --git a/src/async-functions/await-as-identifier-reference.case b/src/async-functions/await-as-identifier-reference.case
index 77245a310d..3c8abdaae3 100644
--- a/src/async-functions/await-as-identifier-reference.case
+++ b/src/async-functions/await-as-identifier-reference.case
@@ -18,6 +18,6 @@ template: syntax
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- body
   void await;
diff --git a/src/async-functions/await-as-label-identifier-escaped.case b/src/async-functions/await-as-label-identifier-escaped.case
index b9044b5072..b5e20d06dd 100644
--- a/src/async-functions/await-as-label-identifier-escaped.case
+++ b/src/async-functions/await-as-label-identifier-escaped.case
@@ -18,6 +18,6 @@ template: syntax
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- body
   \u0061wait: ;
diff --git a/src/async-functions/await-as-label-identifier.case b/src/async-functions/await-as-label-identifier.case
index 652b6068a2..d2de284322 100644
--- a/src/async-functions/await-as-label-identifier.case
+++ b/src/async-functions/await-as-label-identifier.case
@@ -18,6 +18,6 @@ template: syntax
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- body
   await: ;
diff --git a/src/async-generators/await-as-binding-identifier-escaped.case b/src/async-generators/await-as-binding-identifier-escaped.case
index 9480a19aee..e56c536052 100644
--- a/src/async-generators/await-as-binding-identifier-escaped.case
+++ b/src/async-generators/await-as-binding-identifier-escaped.case
@@ -18,6 +18,6 @@ template: syntax
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- body
   var \u0061wait;
diff --git a/src/async-generators/await-as-binding-identifier.case b/src/async-generators/await-as-binding-identifier.case
index 3b7bee687c..0b28f79480 100644
--- a/src/async-generators/await-as-binding-identifier.case
+++ b/src/async-generators/await-as-binding-identifier.case
@@ -18,6 +18,6 @@ template: syntax
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- body
   var await;
diff --git a/src/async-generators/await-as-identifier-reference-escaped.case b/src/async-generators/await-as-identifier-reference-escaped.case
index 27946a55ce..aa0cff0f86 100644
--- a/src/async-generators/await-as-identifier-reference-escaped.case
+++ b/src/async-generators/await-as-identifier-reference-escaped.case
@@ -18,6 +18,6 @@ template: syntax
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- body
   void \u0061wait;
diff --git a/src/async-generators/await-as-identifier-reference.case b/src/async-generators/await-as-identifier-reference.case
index 77245a310d..3c8abdaae3 100644
--- a/src/async-generators/await-as-identifier-reference.case
+++ b/src/async-generators/await-as-identifier-reference.case
@@ -18,6 +18,6 @@ template: syntax
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- body
   void await;
diff --git a/src/async-generators/await-as-label-identifier-escaped.case b/src/async-generators/await-as-label-identifier-escaped.case
index b9044b5072..b5e20d06dd 100644
--- a/src/async-generators/await-as-label-identifier-escaped.case
+++ b/src/async-generators/await-as-label-identifier-escaped.case
@@ -18,6 +18,6 @@ template: syntax
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- body
   \u0061wait: ;
diff --git a/src/async-generators/await-as-label-identifier.case b/src/async-generators/await-as-label-identifier.case
index 652b6068a2..d2de284322 100644
--- a/src/async-generators/await-as-label-identifier.case
+++ b/src/async-generators/await-as-label-identifier.case
@@ -18,6 +18,6 @@ template: syntax
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- body
   await: ;
diff --git a/src/async-generators/yield-as-binding-identifier-escaped.case b/src/async-generators/yield-as-binding-identifier-escaped.case
index f480afadf1..fcf8d75837 100644
--- a/src/async-generators/yield-as-binding-identifier-escaped.case
+++ b/src/async-generators/yield-as-binding-identifier-escaped.case
@@ -18,6 +18,6 @@ template: syntax
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- body
   var yi\u0065ld;
diff --git a/src/async-generators/yield-as-binding-identifier.case b/src/async-generators/yield-as-binding-identifier.case
index cfa6eeff8b..01d695f451 100644
--- a/src/async-generators/yield-as-binding-identifier.case
+++ b/src/async-generators/yield-as-binding-identifier.case
@@ -18,6 +18,6 @@ template: syntax
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- body
   var yield;
diff --git a/src/async-generators/yield-as-identifier-reference-escaped.case b/src/async-generators/yield-as-identifier-reference-escaped.case
index 25715acaab..8149cc3ffc 100644
--- a/src/async-generators/yield-as-identifier-reference-escaped.case
+++ b/src/async-generators/yield-as-identifier-reference-escaped.case
@@ -18,6 +18,6 @@ template: syntax
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- body
   void yi\u0065ld;
diff --git a/src/async-generators/yield-as-identifier-reference.case b/src/async-generators/yield-as-identifier-reference.case
index db05780990..dbcf9a8132 100644
--- a/src/async-generators/yield-as-identifier-reference.case
+++ b/src/async-generators/yield-as-identifier-reference.case
@@ -18,6 +18,6 @@ template: syntax
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- body
   void yield;
diff --git a/src/async-generators/yield-as-label-identifier-escaped.case b/src/async-generators/yield-as-label-identifier-escaped.case
index a688854a7e..cff7ca24b4 100644
--- a/src/async-generators/yield-as-label-identifier-escaped.case
+++ b/src/async-generators/yield-as-label-identifier-escaped.case
@@ -18,6 +18,6 @@ template: syntax
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- body
   yi\u0065ld: ;
diff --git a/src/async-generators/yield-as-label-identifier.case b/src/async-generators/yield-as-label-identifier.case
index 0fc69be894..d26bbfa674 100644
--- a/src/async-generators/yield-as-label-identifier.case
+++ b/src/async-generators/yield-as-label-identifier.case
@@ -18,6 +18,6 @@ template: syntax
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- body
   yield: ;
diff --git a/src/async-generators/yield-identifier-spread-strict.case b/src/async-generators/yield-identifier-spread-strict.case
index be6b64529e..9a5c2f8efb 100644
--- a/src/async-generators/yield-identifier-spread-strict.case
+++ b/src/async-generators/yield-identifier-spread-strict.case
@@ -20,7 +20,7 @@ negative:
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- body
   return {
      ...(function() {
diff --git a/src/async-generators/yield-identifier-strict.case b/src/async-generators/yield-identifier-strict.case
index 9565ad82ce..c0c7b2a8b9 100644
--- a/src/async-generators/yield-identifier-strict.case
+++ b/src/async-generators/yield-identifier-strict.case
@@ -13,7 +13,7 @@ negative:
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- body
   (function() {
     var yield;
diff --git a/src/class-elements/delete-error/cls-decl-field-delete-covered.template b/src/class-elements/delete-error/cls-decl-field-delete-covered.template
index b6e771b696..aa575ce9b9 100644
--- a/src/class-elements/delete-error/cls-decl-field-delete-covered.template
+++ b/src/class-elements/delete-error/cls-decl-field-delete-covered.template
@@ -29,7 +29,7 @@ negative:
   phase: parse
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/src/class-elements/delete-error/cls-decl-field-delete-twice-covered.template b/src/class-elements/delete-error/cls-decl-field-delete-twice-covered.template
index 03d97dc197..638eaba99a 100644
--- a/src/class-elements/delete-error/cls-decl-field-delete-twice-covered.template
+++ b/src/class-elements/delete-error/cls-decl-field-delete-twice-covered.template
@@ -29,7 +29,7 @@ negative:
   phase: parse
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/src/class-elements/delete-error/cls-decl-field-delete.template b/src/class-elements/delete-error/cls-decl-field-delete.template
index abfeea2fa8..11c9b2ad74 100644
--- a/src/class-elements/delete-error/cls-decl-field-delete.template
+++ b/src/class-elements/delete-error/cls-decl-field-delete.template
@@ -23,7 +23,7 @@ negative:
   phase: parse
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/src/class-elements/delete-error/cls-decl-method-delete-covered.template b/src/class-elements/delete-error/cls-decl-method-delete-covered.template
index 1cdb2416aa..8b1edc8a1e 100644
--- a/src/class-elements/delete-error/cls-decl-method-delete-covered.template
+++ b/src/class-elements/delete-error/cls-decl-method-delete-covered.template
@@ -29,7 +29,7 @@ negative:
   phase: parse
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/src/class-elements/delete-error/cls-decl-method-delete-twice-covered.template b/src/class-elements/delete-error/cls-decl-method-delete-twice-covered.template
index 90eb474fa7..1915e53411 100644
--- a/src/class-elements/delete-error/cls-decl-method-delete-twice-covered.template
+++ b/src/class-elements/delete-error/cls-decl-method-delete-twice-covered.template
@@ -29,7 +29,7 @@ negative:
   phase: parse
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/src/class-elements/delete-error/cls-decl-method-delete.template b/src/class-elements/delete-error/cls-decl-method-delete.template
index f808aa9dd3..d28d3d8275 100644
--- a/src/class-elements/delete-error/cls-decl-method-delete.template
+++ b/src/class-elements/delete-error/cls-decl-method-delete.template
@@ -23,7 +23,7 @@ negative:
   phase: parse
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/src/class-elements/delete-error/cls-expr-field-delete-covered.template b/src/class-elements/delete-error/cls-expr-field-delete-covered.template
index fb2d60a050..4982f62899 100644
--- a/src/class-elements/delete-error/cls-expr-field-delete-covered.template
+++ b/src/class-elements/delete-error/cls-expr-field-delete-covered.template
@@ -29,7 +29,7 @@ negative:
   phase: parse
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/src/class-elements/delete-error/cls-expr-field-delete-twice-covered.template b/src/class-elements/delete-error/cls-expr-field-delete-twice-covered.template
index 99eb418e23..1d0123ed2b 100644
--- a/src/class-elements/delete-error/cls-expr-field-delete-twice-covered.template
+++ b/src/class-elements/delete-error/cls-expr-field-delete-twice-covered.template
@@ -29,7 +29,7 @@ negative:
   phase: parse
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/src/class-elements/delete-error/cls-expr-field-delete.template b/src/class-elements/delete-error/cls-expr-field-delete.template
index 456e48709e..645023c33d 100644
--- a/src/class-elements/delete-error/cls-expr-field-delete.template
+++ b/src/class-elements/delete-error/cls-expr-field-delete.template
@@ -23,7 +23,7 @@ negative:
   phase: parse
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/src/class-elements/delete-error/cls-expr-method-delete-covered.template b/src/class-elements/delete-error/cls-expr-method-delete-covered.template
index df715a7c3c..a05e938569 100644
--- a/src/class-elements/delete-error/cls-expr-method-delete-covered.template
+++ b/src/class-elements/delete-error/cls-expr-method-delete-covered.template
@@ -29,7 +29,7 @@ negative:
   phase: parse
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/src/class-elements/delete-error/cls-expr-method-delete-twice-covered.template b/src/class-elements/delete-error/cls-expr-method-delete-twice-covered.template
index 5e545b7767..f714bb5547 100644
--- a/src/class-elements/delete-error/cls-expr-method-delete-twice-covered.template
+++ b/src/class-elements/delete-error/cls-expr-method-delete-twice-covered.template
@@ -29,7 +29,7 @@ negative:
   phase: parse
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/src/class-elements/delete-error/cls-expr-method-delete.template b/src/class-elements/delete-error/cls-expr-method-delete.template
index a475289228..6427c83465 100644
--- a/src/class-elements/delete-error/cls-expr-method-delete.template
+++ b/src/class-elements/delete-error/cls-expr-method-delete.template
@@ -23,7 +23,7 @@ negative:
   phase: parse
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/src/class-elements/initializer-error/cls-decl-fields-arrow-fnc.template b/src/class-elements/initializer-error/cls-decl-fields-arrow-fnc.template
index 023d337475..e72d3825ac 100644
--- a/src/class-elements/initializer-error/cls-decl-fields-arrow-fnc.template
+++ b/src/class-elements/initializer-error/cls-decl-fields-arrow-fnc.template
@@ -8,7 +8,7 @@ name: arrow function expression
 features: [arrow-function, class-fields-public]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   x = () => /*{ initializer }*/;
diff --git a/src/class-elements/initializer-error/cls-decl-fields-comp-name.template b/src/class-elements/initializer-error/cls-decl-fields-comp-name.template
index 555c8abd7e..14393dccf3 100644
--- a/src/class-elements/initializer-error/cls-decl-fields-comp-name.template
+++ b/src/class-elements/initializer-error/cls-decl-fields-comp-name.template
@@ -8,7 +8,7 @@ name: computed ClassElementName
 features: [class, class-fields-public, computed-property-names]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var x = "string";
 class C {
diff --git a/src/class-elements/initializer-error/cls-decl-fields-equality.template b/src/class-elements/initializer-error/cls-decl-fields-equality.template
index 7db487e9c2..d8a8fcbfe5 100644
--- a/src/class-elements/initializer-error/cls-decl-fields-equality.template
+++ b/src/class-elements/initializer-error/cls-decl-fields-equality.template
@@ -8,7 +8,7 @@ name: equality expression
 features: [class, class-fields-public]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   x = {} == /*{ initializer }*/;
diff --git a/src/class-elements/initializer-error/cls-decl-fields-literal-name.template b/src/class-elements/initializer-error/cls-decl-fields-literal-name.template
index 81cfb27add..6ca0c2080c 100644
--- a/src/class-elements/initializer-error/cls-decl-fields-literal-name.template
+++ b/src/class-elements/initializer-error/cls-decl-fields-literal-name.template
@@ -8,7 +8,7 @@ name: literal ClassElementName
 features: [class, class-fields-public]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   x = /*{ initializer }*/;
diff --git a/src/class-elements/initializer-error/cls-decl-fields-private-arrow-fnc.template b/src/class-elements/initializer-error/cls-decl-fields-private-arrow-fnc.template
index 2fc2adc958..d10e15daf1 100644
--- a/src/class-elements/initializer-error/cls-decl-fields-private-arrow-fnc.template
+++ b/src/class-elements/initializer-error/cls-decl-fields-private-arrow-fnc.template
@@ -8,7 +8,7 @@ name: private field, arrow function expression
 features: [class, arrow-function, class-fields-private]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x = () => /*{ initializer }*/;
diff --git a/src/class-elements/initializer-error/cls-decl-fields-private-name.template b/src/class-elements/initializer-error/cls-decl-fields-private-name.template
index 2b31e10a12..84150493f9 100644
--- a/src/class-elements/initializer-error/cls-decl-fields-private-name.template
+++ b/src/class-elements/initializer-error/cls-decl-fields-private-name.template
@@ -8,7 +8,7 @@ name: ClassElementName PrivateName
 features: [class, class-fields-private]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x = /*{ initializer }*/;
diff --git a/src/class-elements/initializer-error/cls-decl-fields-private-ternary.template b/src/class-elements/initializer-error/cls-decl-fields-private-ternary.template
index 9c9ec22bc0..9d6e14e881 100644
--- a/src/class-elements/initializer-error/cls-decl-fields-private-ternary.template
+++ b/src/class-elements/initializer-error/cls-decl-fields-private-ternary.template
@@ -8,7 +8,7 @@ name: private field, ternary expression
 features: [class, class-fields-private]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x = false ? {} : /*{ initializer }*/;
diff --git a/src/class-elements/initializer-error/cls-decl-fields-private-typeof.template b/src/class-elements/initializer-error/cls-decl-fields-private-typeof.template
index dd749a0e44..016cbb326f 100644
--- a/src/class-elements/initializer-error/cls-decl-fields-private-typeof.template
+++ b/src/class-elements/initializer-error/cls-decl-fields-private-typeof.template
@@ -8,7 +8,7 @@ name: private field, typeof expression
 features: [class, class-fields-private]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x = typeof /*{ initializer }*/;
diff --git a/src/class-elements/initializer-error/cls-decl-fields-static-comp-name.template b/src/class-elements/initializer-error/cls-decl-fields-static-comp-name.template
index 48b35370d8..1c855d6e16 100644
--- a/src/class-elements/initializer-error/cls-decl-fields-static-comp-name.template
+++ b/src/class-elements/initializer-error/cls-decl-fields-static-comp-name.template
@@ -8,7 +8,7 @@ name: static computed ClassElementName
 features: [class, class-static-fields-public, computed-property-names]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var x = "string";
 class C {
diff --git a/src/class-elements/initializer-error/cls-decl-fields-static-literal-name.template b/src/class-elements/initializer-error/cls-decl-fields-static-literal-name.template
index 87b8ad64cf..9519c02284 100644
--- a/src/class-elements/initializer-error/cls-decl-fields-static-literal-name.template
+++ b/src/class-elements/initializer-error/cls-decl-fields-static-literal-name.template
@@ -8,7 +8,7 @@ name: static literal ClassElementName
 features: [class, class-static-fields-public]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   static x = /*{ initializer }*/;
diff --git a/src/class-elements/initializer-error/cls-decl-fields-static-private-name.template b/src/class-elements/initializer-error/cls-decl-fields-static-private-name.template
index 101b1213f1..b2452b7118 100644
--- a/src/class-elements/initializer-error/cls-decl-fields-static-private-name.template
+++ b/src/class-elements/initializer-error/cls-decl-fields-static-private-name.template
@@ -8,7 +8,7 @@ name: static PrivateName
 features: [class, class-static-fields-private]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   static #x = /*{ initializer }*/;
diff --git a/src/class-elements/initializer-error/cls-decl-fields-static-string-literal-name.template b/src/class-elements/initializer-error/cls-decl-fields-static-string-literal-name.template
index 041e2add89..6a2aec3b44 100644
--- a/src/class-elements/initializer-error/cls-decl-fields-static-string-literal-name.template
+++ b/src/class-elements/initializer-error/cls-decl-fields-static-string-literal-name.template
@@ -8,7 +8,7 @@ name: static string literal ClassElementName
 features: [class, class-static-fields-public]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   static 'x' = /*{ initializer }*/;
diff --git a/src/class-elements/initializer-error/cls-decl-fields-string-literal-name.template b/src/class-elements/initializer-error/cls-decl-fields-string-literal-name.template
index 61fa803204..bc095f0e04 100644
--- a/src/class-elements/initializer-error/cls-decl-fields-string-literal-name.template
+++ b/src/class-elements/initializer-error/cls-decl-fields-string-literal-name.template
@@ -8,7 +8,7 @@ name: string literal ClassElementName
 features: [class, class-fields-public]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   'x' = /*{ initializer }*/;
diff --git a/src/class-elements/initializer-error/cls-decl-fields-ternary.template b/src/class-elements/initializer-error/cls-decl-fields-ternary.template
index 400753f2d0..e0129b4683 100644
--- a/src/class-elements/initializer-error/cls-decl-fields-ternary.template
+++ b/src/class-elements/initializer-error/cls-decl-fields-ternary.template
@@ -8,7 +8,7 @@ name: ternary expression
 features: [class, class-fields-public]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   x = false ? {} : /*{ initializer }*/;
diff --git a/src/class-elements/initializer-error/cls-decl-fields-typeof.template b/src/class-elements/initializer-error/cls-decl-fields-typeof.template
index a634372c0c..b923201bb7 100644
--- a/src/class-elements/initializer-error/cls-decl-fields-typeof.template
+++ b/src/class-elements/initializer-error/cls-decl-fields-typeof.template
@@ -8,7 +8,7 @@ name: typeof expression
 features: [class, class-fields-public]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   x = typeof /*{ initializer }*/;
diff --git a/src/class-elements/initializer-error/cls-expr-fields-arrow-fnc.template b/src/class-elements/initializer-error/cls-expr-fields-arrow-fnc.template
index 1a2ad62b29..ed1e549e50 100644
--- a/src/class-elements/initializer-error/cls-expr-fields-arrow-fnc.template
+++ b/src/class-elements/initializer-error/cls-expr-fields-arrow-fnc.template
@@ -8,7 +8,7 @@ name: arrow function expression
 features: [arrow-function, class, class-fields-public]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   x = () => /*{ initializer }*/;
diff --git a/src/class-elements/initializer-error/cls-expr-fields-comp-name.template b/src/class-elements/initializer-error/cls-expr-fields-comp-name.template
index a9e1c2bfc4..a323383e3e 100644
--- a/src/class-elements/initializer-error/cls-expr-fields-comp-name.template
+++ b/src/class-elements/initializer-error/cls-expr-fields-comp-name.template
@@ -8,7 +8,7 @@ name: computed ClassElementName
 features: [class, class-fields-public]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var x = "string";
 var C = class {
diff --git a/src/class-elements/initializer-error/cls-expr-fields-equality.template b/src/class-elements/initializer-error/cls-expr-fields-equality.template
index 6f393cc360..1d79ba8a73 100644
--- a/src/class-elements/initializer-error/cls-expr-fields-equality.template
+++ b/src/class-elements/initializer-error/cls-expr-fields-equality.template
@@ -8,7 +8,7 @@ name: equality expression
 features: [class, class-fields-public]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   x = {} == /*{ initializer }*/;
diff --git a/src/class-elements/initializer-error/cls-expr-fields-literal-name.template b/src/class-elements/initializer-error/cls-expr-fields-literal-name.template
index 98250305d8..17cf3d30ed 100644
--- a/src/class-elements/initializer-error/cls-expr-fields-literal-name.template
+++ b/src/class-elements/initializer-error/cls-expr-fields-literal-name.template
@@ -8,7 +8,7 @@ name: literal ClassElementName
 features: [class, class-fields-public]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   x = /*{ initializer }*/;
diff --git a/src/class-elements/initializer-error/cls-expr-fields-private-arrow-fnc.template b/src/class-elements/initializer-error/cls-expr-fields-private-arrow-fnc.template
index 919fd0a0db..4a73b67895 100644
--- a/src/class-elements/initializer-error/cls-expr-fields-private-arrow-fnc.template
+++ b/src/class-elements/initializer-error/cls-expr-fields-private-arrow-fnc.template
@@ -8,7 +8,7 @@ name: private field, arrow function expression
 features: [class, arrow-function, class-fields-private]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x = () => /*{ initializer }*/;
diff --git a/src/class-elements/initializer-error/cls-expr-fields-private-name.template b/src/class-elements/initializer-error/cls-expr-fields-private-name.template
index 2d88acbcad..04b6fe642f 100644
--- a/src/class-elements/initializer-error/cls-expr-fields-private-name.template
+++ b/src/class-elements/initializer-error/cls-expr-fields-private-name.template
@@ -8,7 +8,7 @@ name: ClassElementName PrivateName
 features: [class, class-fields-private]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x = /*{ initializer }*/;
diff --git a/src/class-elements/initializer-error/cls-expr-fields-private-ternary.template b/src/class-elements/initializer-error/cls-expr-fields-private-ternary.template
index 051387f09d..9560a0f44e 100644
--- a/src/class-elements/initializer-error/cls-expr-fields-private-ternary.template
+++ b/src/class-elements/initializer-error/cls-expr-fields-private-ternary.template
@@ -8,7 +8,7 @@ name: private field, ternary expression
 features: [class, class-fields-private]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x = true ? {} : /*{ initializer }*/;
diff --git a/src/class-elements/initializer-error/cls-expr-fields-private-typeof.template b/src/class-elements/initializer-error/cls-expr-fields-private-typeof.template
index 7bb74a24f8..8b4b31c50f 100644
--- a/src/class-elements/initializer-error/cls-expr-fields-private-typeof.template
+++ b/src/class-elements/initializer-error/cls-expr-fields-private-typeof.template
@@ -8,7 +8,7 @@ name: private field, typeof expression
 features: [class, class-fields-private]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x = typeof /*{ initializer }*/;
diff --git a/src/class-elements/initializer-error/cls-expr-fields-static-comp-name.template b/src/class-elements/initializer-error/cls-expr-fields-static-comp-name.template
index dc2a9bf3ac..e6b9c06521 100644
--- a/src/class-elements/initializer-error/cls-expr-fields-static-comp-name.template
+++ b/src/class-elements/initializer-error/cls-expr-fields-static-comp-name.template
@@ -8,7 +8,7 @@ name: static computed ClassElementName
 features: [class, class-static-fields-public, computed-property-names]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var x = "string";
 var C = class {
diff --git a/src/class-elements/initializer-error/cls-expr-fields-static-literal-name.template b/src/class-elements/initializer-error/cls-expr-fields-static-literal-name.template
index 57d2960335..3e6ff36d2e 100644
--- a/src/class-elements/initializer-error/cls-expr-fields-static-literal-name.template
+++ b/src/class-elements/initializer-error/cls-expr-fields-static-literal-name.template
@@ -8,7 +8,7 @@ name: static literal ClassElementName
 features: [class, class-static-fields-public]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   static x = /*{ initializer }*/;
diff --git a/src/class-elements/initializer-error/cls-expr-fields-static-private-name.template b/src/class-elements/initializer-error/cls-expr-fields-static-private-name.template
index 794d6bf6e9..48f4ca07f1 100644
--- a/src/class-elements/initializer-error/cls-expr-fields-static-private-name.template
+++ b/src/class-elements/initializer-error/cls-expr-fields-static-private-name.template
@@ -8,7 +8,7 @@ name: static PrivateName
 features: [class, class-static-fields-private]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   static #x = /*{ initializer }*/;
diff --git a/src/class-elements/initializer-error/cls-expr-fields-static-string-literal-name.template b/src/class-elements/initializer-error/cls-expr-fields-static-string-literal-name.template
index 0604760524..61ea0cafae 100644
--- a/src/class-elements/initializer-error/cls-expr-fields-static-string-literal-name.template
+++ b/src/class-elements/initializer-error/cls-expr-fields-static-string-literal-name.template
@@ -8,7 +8,7 @@ name: static string literal ClassElementName
 features: [class, class-static-fields-public]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   static 'x' = /*{ initializer }*/;
diff --git a/src/class-elements/initializer-error/cls-expr-fields-string-literal-name.template b/src/class-elements/initializer-error/cls-expr-fields-string-literal-name.template
index ebe9845376..eb3eaca642 100644
--- a/src/class-elements/initializer-error/cls-expr-fields-string-literal-name.template
+++ b/src/class-elements/initializer-error/cls-expr-fields-string-literal-name.template
@@ -8,7 +8,7 @@ name: string literal ClassElementName
 features: [class, class-fields-public]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   'x' = /*{ initializer }*/;
diff --git a/src/class-elements/initializer-error/cls-expr-fields-ternary.template b/src/class-elements/initializer-error/cls-expr-fields-ternary.template
index 0abd1e4747..b560669ec9 100644
--- a/src/class-elements/initializer-error/cls-expr-fields-ternary.template
+++ b/src/class-elements/initializer-error/cls-expr-fields-ternary.template
@@ -8,7 +8,7 @@ name: ternary expression
 features: [class, class-fields-public]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   x = true ? {} : /*{ initializer }*/;
diff --git a/src/class-elements/initializer-error/cls-expr-fields-typeof.template b/src/class-elements/initializer-error/cls-expr-fields-typeof.template
index 51f54036a8..c8c27f8dec 100644
--- a/src/class-elements/initializer-error/cls-expr-fields-typeof.template
+++ b/src/class-elements/initializer-error/cls-expr-fields-typeof.template
@@ -8,7 +8,7 @@ name: typeof expression
 features: [class, class-fields-public]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   x = typeof /*{ initializer }*/;
diff --git a/src/class-elements/syntax/invalid/cls-decl-elements-invalid-syntax.template b/src/class-elements/syntax/invalid/cls-decl-elements-invalid-syntax.template
index c8997afdf7..4da1a10c16 100644
--- a/src/class-elements/syntax/invalid/cls-decl-elements-invalid-syntax.template
+++ b/src/class-elements/syntax/invalid/cls-decl-elements-invalid-syntax.template
@@ -11,7 +11,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C /*{ heritage }*/{
   /*{ elements }*/
diff --git a/src/class-elements/syntax/invalid/cls-expr-elements-invalid-syntax.template b/src/class-elements/syntax/invalid/cls-expr-elements-invalid-syntax.template
index 1c1dc1a2b3..02c09be7be 100644
--- a/src/class-elements/syntax/invalid/cls-expr-elements-invalid-syntax.template
+++ b/src/class-elements/syntax/invalid/cls-expr-elements-invalid-syntax.template
@@ -11,7 +11,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class /*{ heritage }*/{
   /*{ elements }*/
diff --git a/src/declarations/redeclare-allow-sloppy-function/block-attempt-to-redeclare-async-function-declaration.template b/src/declarations/redeclare-allow-sloppy-function/block-attempt-to-redeclare-async-function-declaration.template
index 6180ab59aa..6a2c146c46 100644
--- a/src/declarations/redeclare-allow-sloppy-function/block-attempt-to-redeclare-async-function-declaration.template
+++ b/src/declarations/redeclare-allow-sloppy-function/block-attempt-to-redeclare-async-function-declaration.template
@@ -16,6 +16,6 @@ negative:
 features: [async-functions]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { async function f() {} /*{ body }*/ }
diff --git a/src/declarations/redeclare-allow-sloppy-function/block-attempt-to-redeclare-async-generator-declaration.template b/src/declarations/redeclare-allow-sloppy-function/block-attempt-to-redeclare-async-generator-declaration.template
index b8484adef4..22e80e1e50 100644
--- a/src/declarations/redeclare-allow-sloppy-function/block-attempt-to-redeclare-async-generator-declaration.template
+++ b/src/declarations/redeclare-allow-sloppy-function/block-attempt-to-redeclare-async-generator-declaration.template
@@ -16,6 +16,6 @@ negative:
 features: [async-iteration]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { async function* f() {} /*{ body }*/ }
diff --git a/src/declarations/redeclare-allow-sloppy-function/block-attempt-to-redeclare-class-declaration.template b/src/declarations/redeclare-allow-sloppy-function/block-attempt-to-redeclare-class-declaration.template
index 475e72f988..3e7f59bd92 100644
--- a/src/declarations/redeclare-allow-sloppy-function/block-attempt-to-redeclare-class-declaration.template
+++ b/src/declarations/redeclare-allow-sloppy-function/block-attempt-to-redeclare-class-declaration.template
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { class f {} /*{ body }*/ }
diff --git a/src/declarations/redeclare-allow-sloppy-function/block-attempt-to-redeclare-const-declaration.template b/src/declarations/redeclare-allow-sloppy-function/block-attempt-to-redeclare-const-declaration.template
index b54ec317c4..5bdbe6b4f6 100644
--- a/src/declarations/redeclare-allow-sloppy-function/block-attempt-to-redeclare-const-declaration.template
+++ b/src/declarations/redeclare-allow-sloppy-function/block-attempt-to-redeclare-const-declaration.template
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { const f = 0; /*{ body }*/ }
diff --git a/src/declarations/redeclare-allow-sloppy-function/block-attempt-to-redeclare-function-declaration.template b/src/declarations/redeclare-allow-sloppy-function/block-attempt-to-redeclare-function-declaration.template
index 83126658fd..5e85656214 100644
--- a/src/declarations/redeclare-allow-sloppy-function/block-attempt-to-redeclare-function-declaration.template
+++ b/src/declarations/redeclare-allow-sloppy-function/block-attempt-to-redeclare-function-declaration.template
@@ -16,6 +16,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { function f() {} /*{ body }*/ }
diff --git a/src/declarations/redeclare-allow-sloppy-function/block-attempt-to-redeclare-generator-declaration.template b/src/declarations/redeclare-allow-sloppy-function/block-attempt-to-redeclare-generator-declaration.template
index dcddfa84d8..380b2c257a 100644
--- a/src/declarations/redeclare-allow-sloppy-function/block-attempt-to-redeclare-generator-declaration.template
+++ b/src/declarations/redeclare-allow-sloppy-function/block-attempt-to-redeclare-generator-declaration.template
@@ -16,6 +16,6 @@ negative:
 features: [generators]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { function* f() {} /*{ body }*/ }
diff --git a/src/declarations/redeclare-allow-sloppy-function/block-attempt-to-redeclare-let-declaration.template b/src/declarations/redeclare-allow-sloppy-function/block-attempt-to-redeclare-let-declaration.template
index 1f3564dd42..4592f59f2e 100644
--- a/src/declarations/redeclare-allow-sloppy-function/block-attempt-to-redeclare-let-declaration.template
+++ b/src/declarations/redeclare-allow-sloppy-function/block-attempt-to-redeclare-let-declaration.template
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { let f; /*{ body }*/ }
diff --git a/src/declarations/redeclare-allow-sloppy-function/block-attempt-to-redeclare-var-declaration.template b/src/declarations/redeclare-allow-sloppy-function/block-attempt-to-redeclare-var-declaration.template
index 80fa36fef1..b83c38c026 100644
--- a/src/declarations/redeclare-allow-sloppy-function/block-attempt-to-redeclare-var-declaration.template
+++ b/src/declarations/redeclare-allow-sloppy-function/block-attempt-to-redeclare-var-declaration.template
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { var f; /*{ body }*/ }
diff --git a/src/declarations/redeclare-allow-sloppy-function/switch-attempt-to-redeclare-async-function-declaration.template b/src/declarations/redeclare-allow-sloppy-function/switch-attempt-to-redeclare-async-function-declaration.template
index 56a3344c16..da1205c20b 100644
--- a/src/declarations/redeclare-allow-sloppy-function/switch-attempt-to-redeclare-async-function-declaration.template
+++ b/src/declarations/redeclare-allow-sloppy-function/switch-attempt-to-redeclare-async-function-declaration.template
@@ -16,6 +16,6 @@ negative:
 features: [async-functions]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: async function f() {} default: /*{ body }*/ }
diff --git a/src/declarations/redeclare-allow-sloppy-function/switch-attempt-to-redeclare-async-generator-declaration.template b/src/declarations/redeclare-allow-sloppy-function/switch-attempt-to-redeclare-async-generator-declaration.template
index 9fdc72bebc..0ac211e5b9 100644
--- a/src/declarations/redeclare-allow-sloppy-function/switch-attempt-to-redeclare-async-generator-declaration.template
+++ b/src/declarations/redeclare-allow-sloppy-function/switch-attempt-to-redeclare-async-generator-declaration.template
@@ -16,6 +16,6 @@ negative:
 features: [async-iteration]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: async function* f() {} default: /*{ body }*/ }
diff --git a/src/declarations/redeclare-allow-sloppy-function/switch-attempt-to-redeclare-class-declaration.template b/src/declarations/redeclare-allow-sloppy-function/switch-attempt-to-redeclare-class-declaration.template
index 8f68b72a1a..4158becdaa 100644
--- a/src/declarations/redeclare-allow-sloppy-function/switch-attempt-to-redeclare-class-declaration.template
+++ b/src/declarations/redeclare-allow-sloppy-function/switch-attempt-to-redeclare-class-declaration.template
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: class f {} default: /*{ body }*/ }
diff --git a/src/declarations/redeclare-allow-sloppy-function/switch-attempt-to-redeclare-const-declaration.template b/src/declarations/redeclare-allow-sloppy-function/switch-attempt-to-redeclare-const-declaration.template
index aff253d040..358eff7a18 100644
--- a/src/declarations/redeclare-allow-sloppy-function/switch-attempt-to-redeclare-const-declaration.template
+++ b/src/declarations/redeclare-allow-sloppy-function/switch-attempt-to-redeclare-const-declaration.template
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: const f = 0; default: /*{ body }*/ }
diff --git a/src/declarations/redeclare-allow-sloppy-function/switch-attempt-to-redeclare-function-declaration.template b/src/declarations/redeclare-allow-sloppy-function/switch-attempt-to-redeclare-function-declaration.template
index 81788f69bd..6a0021fefe 100644
--- a/src/declarations/redeclare-allow-sloppy-function/switch-attempt-to-redeclare-function-declaration.template
+++ b/src/declarations/redeclare-allow-sloppy-function/switch-attempt-to-redeclare-function-declaration.template
@@ -16,6 +16,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: function f() {} default: /*{ body }*/ }
diff --git a/src/declarations/redeclare-allow-sloppy-function/switch-attempt-to-redeclare-generator-declaration.template b/src/declarations/redeclare-allow-sloppy-function/switch-attempt-to-redeclare-generator-declaration.template
index 560e9a2ce5..11e0ac59e7 100644
--- a/src/declarations/redeclare-allow-sloppy-function/switch-attempt-to-redeclare-generator-declaration.template
+++ b/src/declarations/redeclare-allow-sloppy-function/switch-attempt-to-redeclare-generator-declaration.template
@@ -16,6 +16,6 @@ negative:
 features: [generators]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: function* f() {} default: /*{ body }*/ }
diff --git a/src/declarations/redeclare-allow-sloppy-function/switch-attempt-to-redeclare-let-declaration.template b/src/declarations/redeclare-allow-sloppy-function/switch-attempt-to-redeclare-let-declaration.template
index 9abc40fec0..46714cf686 100644
--- a/src/declarations/redeclare-allow-sloppy-function/switch-attempt-to-redeclare-let-declaration.template
+++ b/src/declarations/redeclare-allow-sloppy-function/switch-attempt-to-redeclare-let-declaration.template
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: let f; default: /*{ body }*/ }
diff --git a/src/declarations/redeclare-allow-sloppy-function/switch-attempt-to-redeclare-var-declaration.template b/src/declarations/redeclare-allow-sloppy-function/switch-attempt-to-redeclare-var-declaration.template
index d4d01b732f..c8f838690b 100644
--- a/src/declarations/redeclare-allow-sloppy-function/switch-attempt-to-redeclare-var-declaration.template
+++ b/src/declarations/redeclare-allow-sloppy-function/switch-attempt-to-redeclare-var-declaration.template
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: var f; default: /*{ body }*/ }
diff --git a/src/declarations/redeclare-allow-var/block-attempt-to-redeclare-async-function-declaration.template b/src/declarations/redeclare-allow-var/block-attempt-to-redeclare-async-function-declaration.template
index 5fde4fc472..c80edf1d26 100644
--- a/src/declarations/redeclare-allow-var/block-attempt-to-redeclare-async-function-declaration.template
+++ b/src/declarations/redeclare-allow-var/block-attempt-to-redeclare-async-function-declaration.template
@@ -16,6 +16,6 @@ negative:
 features: [async-functions]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { async function f() {} /*{ body }*/ }
diff --git a/src/declarations/redeclare-allow-var/block-attempt-to-redeclare-async-generator-declaration.template b/src/declarations/redeclare-allow-var/block-attempt-to-redeclare-async-generator-declaration.template
index c5476baecf..78e23157ad 100644
--- a/src/declarations/redeclare-allow-var/block-attempt-to-redeclare-async-generator-declaration.template
+++ b/src/declarations/redeclare-allow-var/block-attempt-to-redeclare-async-generator-declaration.template
@@ -16,6 +16,6 @@ negative:
 features: [async-iteration]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { async function* f() {} /*{ body }*/ }
diff --git a/src/declarations/redeclare-allow-var/block-attempt-to-redeclare-class-declaration.template b/src/declarations/redeclare-allow-var/block-attempt-to-redeclare-class-declaration.template
index b1bf78daa5..d9a4f8cab4 100644
--- a/src/declarations/redeclare-allow-var/block-attempt-to-redeclare-class-declaration.template
+++ b/src/declarations/redeclare-allow-var/block-attempt-to-redeclare-class-declaration.template
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { class f {} /*{ body }*/ }
diff --git a/src/declarations/redeclare-allow-var/block-attempt-to-redeclare-const-declaration.template b/src/declarations/redeclare-allow-var/block-attempt-to-redeclare-const-declaration.template
index adb3594436..2249e2de99 100644
--- a/src/declarations/redeclare-allow-var/block-attempt-to-redeclare-const-declaration.template
+++ b/src/declarations/redeclare-allow-var/block-attempt-to-redeclare-const-declaration.template
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { const f = 0; /*{ body }*/ }
diff --git a/src/declarations/redeclare-allow-var/block-attempt-to-redeclare-function-declaration.template b/src/declarations/redeclare-allow-var/block-attempt-to-redeclare-function-declaration.template
index f4d4f705d5..23d4a8ad40 100644
--- a/src/declarations/redeclare-allow-var/block-attempt-to-redeclare-function-declaration.template
+++ b/src/declarations/redeclare-allow-var/block-attempt-to-redeclare-function-declaration.template
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { function f() {} /*{ body }*/ }
diff --git a/src/declarations/redeclare-allow-var/block-attempt-to-redeclare-generator-declaration.template b/src/declarations/redeclare-allow-var/block-attempt-to-redeclare-generator-declaration.template
index 87f11baa51..53ca07a88d 100644
--- a/src/declarations/redeclare-allow-var/block-attempt-to-redeclare-generator-declaration.template
+++ b/src/declarations/redeclare-allow-var/block-attempt-to-redeclare-generator-declaration.template
@@ -16,6 +16,6 @@ negative:
 features: [generators]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { function* f() {} /*{ body }*/ }
diff --git a/src/declarations/redeclare-allow-var/block-attempt-to-redeclare-let-declaration.template b/src/declarations/redeclare-allow-var/block-attempt-to-redeclare-let-declaration.template
index 58d12b08d1..8efb9a2386 100644
--- a/src/declarations/redeclare-allow-var/block-attempt-to-redeclare-let-declaration.template
+++ b/src/declarations/redeclare-allow-var/block-attempt-to-redeclare-let-declaration.template
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { let f; /*{ body }*/ }
diff --git a/src/declarations/redeclare-allow-var/switch-attempt-to-redeclare-async-function-declaration.template b/src/declarations/redeclare-allow-var/switch-attempt-to-redeclare-async-function-declaration.template
index 121f94881f..2eb22e8206 100644
--- a/src/declarations/redeclare-allow-var/switch-attempt-to-redeclare-async-function-declaration.template
+++ b/src/declarations/redeclare-allow-var/switch-attempt-to-redeclare-async-function-declaration.template
@@ -16,6 +16,6 @@ negative:
 features: [async-functions]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: async function f() {} default: /*{ body }*/ }
diff --git a/src/declarations/redeclare-allow-var/switch-attempt-to-redeclare-async-generator-declaration.template b/src/declarations/redeclare-allow-var/switch-attempt-to-redeclare-async-generator-declaration.template
index 2a7424bd93..793bd3a33c 100644
--- a/src/declarations/redeclare-allow-var/switch-attempt-to-redeclare-async-generator-declaration.template
+++ b/src/declarations/redeclare-allow-var/switch-attempt-to-redeclare-async-generator-declaration.template
@@ -16,6 +16,6 @@ negative:
 features: [async-iteration]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: async function* f() {} default: /*{ body }*/ }
diff --git a/src/declarations/redeclare-allow-var/switch-attempt-to-redeclare-class-declaration.template b/src/declarations/redeclare-allow-var/switch-attempt-to-redeclare-class-declaration.template
index 79b192aa70..9c02ef7c82 100644
--- a/src/declarations/redeclare-allow-var/switch-attempt-to-redeclare-class-declaration.template
+++ b/src/declarations/redeclare-allow-var/switch-attempt-to-redeclare-class-declaration.template
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: class f {} default: /*{ body }*/ }
diff --git a/src/declarations/redeclare-allow-var/switch-attempt-to-redeclare-const-declaration.template b/src/declarations/redeclare-allow-var/switch-attempt-to-redeclare-const-declaration.template
index ec5c4d3197..ba19a156d7 100644
--- a/src/declarations/redeclare-allow-var/switch-attempt-to-redeclare-const-declaration.template
+++ b/src/declarations/redeclare-allow-var/switch-attempt-to-redeclare-const-declaration.template
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: const f = 0; default: /*{ body }*/ }
diff --git a/src/declarations/redeclare-allow-var/switch-attempt-to-redeclare-function-declaration.template b/src/declarations/redeclare-allow-var/switch-attempt-to-redeclare-function-declaration.template
index 3d4908f548..76e6257a29 100644
--- a/src/declarations/redeclare-allow-var/switch-attempt-to-redeclare-function-declaration.template
+++ b/src/declarations/redeclare-allow-var/switch-attempt-to-redeclare-function-declaration.template
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: function f() {} default: /*{ body }*/ }
diff --git a/src/declarations/redeclare-allow-var/switch-attempt-to-redeclare-generator-declaration.template b/src/declarations/redeclare-allow-var/switch-attempt-to-redeclare-generator-declaration.template
index 3df8584cec..81a8435107 100644
--- a/src/declarations/redeclare-allow-var/switch-attempt-to-redeclare-generator-declaration.template
+++ b/src/declarations/redeclare-allow-var/switch-attempt-to-redeclare-generator-declaration.template
@@ -16,6 +16,6 @@ negative:
 features: [generators]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: function* f() {} default: /*{ body }*/ }
diff --git a/src/declarations/redeclare-allow-var/switch-attempt-to-redeclare-let-declaration.template b/src/declarations/redeclare-allow-var/switch-attempt-to-redeclare-let-declaration.template
index cb7c789385..c9b5859b6a 100644
--- a/src/declarations/redeclare-allow-var/switch-attempt-to-redeclare-let-declaration.template
+++ b/src/declarations/redeclare-allow-var/switch-attempt-to-redeclare-let-declaration.template
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: let f; default: /*{ body }*/ }
diff --git a/src/declarations/redeclare/block-attempt-to-redeclare-async-function-declaration.template b/src/declarations/redeclare/block-attempt-to-redeclare-async-function-declaration.template
index 6180ab59aa..6a2c146c46 100644
--- a/src/declarations/redeclare/block-attempt-to-redeclare-async-function-declaration.template
+++ b/src/declarations/redeclare/block-attempt-to-redeclare-async-function-declaration.template
@@ -16,6 +16,6 @@ negative:
 features: [async-functions]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { async function f() {} /*{ body }*/ }
diff --git a/src/declarations/redeclare/block-attempt-to-redeclare-async-generator-declaration.template b/src/declarations/redeclare/block-attempt-to-redeclare-async-generator-declaration.template
index b8484adef4..22e80e1e50 100644
--- a/src/declarations/redeclare/block-attempt-to-redeclare-async-generator-declaration.template
+++ b/src/declarations/redeclare/block-attempt-to-redeclare-async-generator-declaration.template
@@ -16,6 +16,6 @@ negative:
 features: [async-iteration]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { async function* f() {} /*{ body }*/ }
diff --git a/src/declarations/redeclare/block-attempt-to-redeclare-class-declaration.template b/src/declarations/redeclare/block-attempt-to-redeclare-class-declaration.template
index 475e72f988..3e7f59bd92 100644
--- a/src/declarations/redeclare/block-attempt-to-redeclare-class-declaration.template
+++ b/src/declarations/redeclare/block-attempt-to-redeclare-class-declaration.template
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { class f {} /*{ body }*/ }
diff --git a/src/declarations/redeclare/block-attempt-to-redeclare-const-declaration.template b/src/declarations/redeclare/block-attempt-to-redeclare-const-declaration.template
index b54ec317c4..5bdbe6b4f6 100644
--- a/src/declarations/redeclare/block-attempt-to-redeclare-const-declaration.template
+++ b/src/declarations/redeclare/block-attempt-to-redeclare-const-declaration.template
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { const f = 0; /*{ body }*/ }
diff --git a/src/declarations/redeclare/block-attempt-to-redeclare-function-declaration.template b/src/declarations/redeclare/block-attempt-to-redeclare-function-declaration.template
index 98deef9899..ff6fd7c66f 100644
--- a/src/declarations/redeclare/block-attempt-to-redeclare-function-declaration.template
+++ b/src/declarations/redeclare/block-attempt-to-redeclare-function-declaration.template
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { function f() {} /*{ body }*/ }
diff --git a/src/declarations/redeclare/block-attempt-to-redeclare-generator-declaration.template b/src/declarations/redeclare/block-attempt-to-redeclare-generator-declaration.template
index dcddfa84d8..380b2c257a 100644
--- a/src/declarations/redeclare/block-attempt-to-redeclare-generator-declaration.template
+++ b/src/declarations/redeclare/block-attempt-to-redeclare-generator-declaration.template
@@ -16,6 +16,6 @@ negative:
 features: [generators]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { function* f() {} /*{ body }*/ }
diff --git a/src/declarations/redeclare/block-attempt-to-redeclare-let-declaration.template b/src/declarations/redeclare/block-attempt-to-redeclare-let-declaration.template
index 1f3564dd42..4592f59f2e 100644
--- a/src/declarations/redeclare/block-attempt-to-redeclare-let-declaration.template
+++ b/src/declarations/redeclare/block-attempt-to-redeclare-let-declaration.template
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { let f; /*{ body }*/ }
diff --git a/src/declarations/redeclare/block-attempt-to-redeclare-var-declaration.template b/src/declarations/redeclare/block-attempt-to-redeclare-var-declaration.template
index 80fa36fef1..b83c38c026 100644
--- a/src/declarations/redeclare/block-attempt-to-redeclare-var-declaration.template
+++ b/src/declarations/redeclare/block-attempt-to-redeclare-var-declaration.template
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { var f; /*{ body }*/ }
diff --git a/src/declarations/redeclare/switch-attempt-to-redeclare-async-function-declaration.template b/src/declarations/redeclare/switch-attempt-to-redeclare-async-function-declaration.template
index 56a3344c16..da1205c20b 100644
--- a/src/declarations/redeclare/switch-attempt-to-redeclare-async-function-declaration.template
+++ b/src/declarations/redeclare/switch-attempt-to-redeclare-async-function-declaration.template
@@ -16,6 +16,6 @@ negative:
 features: [async-functions]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: async function f() {} default: /*{ body }*/ }
diff --git a/src/declarations/redeclare/switch-attempt-to-redeclare-async-generator-declaration.template b/src/declarations/redeclare/switch-attempt-to-redeclare-async-generator-declaration.template
index 9fdc72bebc..0ac211e5b9 100644
--- a/src/declarations/redeclare/switch-attempt-to-redeclare-async-generator-declaration.template
+++ b/src/declarations/redeclare/switch-attempt-to-redeclare-async-generator-declaration.template
@@ -16,6 +16,6 @@ negative:
 features: [async-iteration]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: async function* f() {} default: /*{ body }*/ }
diff --git a/src/declarations/redeclare/switch-attempt-to-redeclare-class-declaration.template b/src/declarations/redeclare/switch-attempt-to-redeclare-class-declaration.template
index 8f68b72a1a..4158becdaa 100644
--- a/src/declarations/redeclare/switch-attempt-to-redeclare-class-declaration.template
+++ b/src/declarations/redeclare/switch-attempt-to-redeclare-class-declaration.template
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: class f {} default: /*{ body }*/ }
diff --git a/src/declarations/redeclare/switch-attempt-to-redeclare-const-declaration.template b/src/declarations/redeclare/switch-attempt-to-redeclare-const-declaration.template
index aff253d040..358eff7a18 100644
--- a/src/declarations/redeclare/switch-attempt-to-redeclare-const-declaration.template
+++ b/src/declarations/redeclare/switch-attempt-to-redeclare-const-declaration.template
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: const f = 0; default: /*{ body }*/ }
diff --git a/src/declarations/redeclare/switch-attempt-to-redeclare-function-declaration.template b/src/declarations/redeclare/switch-attempt-to-redeclare-function-declaration.template
index c0b0aea944..7ae3d5fea2 100644
--- a/src/declarations/redeclare/switch-attempt-to-redeclare-function-declaration.template
+++ b/src/declarations/redeclare/switch-attempt-to-redeclare-function-declaration.template
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: function f() {} default: /*{ body }*/ }
diff --git a/src/declarations/redeclare/switch-attempt-to-redeclare-generator-declaration.template b/src/declarations/redeclare/switch-attempt-to-redeclare-generator-declaration.template
index 560e9a2ce5..11e0ac59e7 100644
--- a/src/declarations/redeclare/switch-attempt-to-redeclare-generator-declaration.template
+++ b/src/declarations/redeclare/switch-attempt-to-redeclare-generator-declaration.template
@@ -16,6 +16,6 @@ negative:
 features: [generators]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: function* f() {} default: /*{ body }*/ }
diff --git a/src/declarations/redeclare/switch-attempt-to-redeclare-let-declaration.template b/src/declarations/redeclare/switch-attempt-to-redeclare-let-declaration.template
index 9abc40fec0..46714cf686 100644
--- a/src/declarations/redeclare/switch-attempt-to-redeclare-let-declaration.template
+++ b/src/declarations/redeclare/switch-attempt-to-redeclare-let-declaration.template
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: let f; default: /*{ body }*/ }
diff --git a/src/declarations/redeclare/switch-attempt-to-redeclare-var-declaration.template b/src/declarations/redeclare/switch-attempt-to-redeclare-var-declaration.template
index d4d01b732f..c8f838690b 100644
--- a/src/declarations/redeclare/switch-attempt-to-redeclare-var-declaration.template
+++ b/src/declarations/redeclare/switch-attempt-to-redeclare-var-declaration.template
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: var f; default: /*{ body }*/ }
diff --git a/src/dstr-assignment-for-await/array-elem-init-yield-ident-invalid.case b/src/dstr-assignment-for-await/array-elem-init-yield-ident-invalid.case
index 0619e17ad2..df0095325e 100644
--- a/src/dstr-assignment-for-await/array-elem-init-yield-ident-invalid.case
+++ b/src/dstr-assignment-for-await/array-elem-init-yield-ident-invalid.case
@@ -14,7 +14,7 @@ negative:
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- elems
 [ x = yield ]
 //- vals
diff --git a/src/dstr-assignment-for-await/array-elem-nested-array-invalid.case b/src/dstr-assignment-for-await/array-elem-nested-array-invalid.case
index b14a46fe22..133180d672 100644
--- a/src/dstr-assignment-for-await/array-elem-nested-array-invalid.case
+++ b/src/dstr-assignment-for-await/array-elem-nested-array-invalid.case
@@ -15,7 +15,7 @@ negative:
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- elems
 [[(x, y)]]
 //- vals
diff --git a/src/dstr-assignment-for-await/array-elem-nested-array-yield-ident-invalid.case b/src/dstr-assignment-for-await/array-elem-nested-array-yield-ident-invalid.case
index 458980268a..e4db352fc7 100644
--- a/src/dstr-assignment-for-await/array-elem-nested-array-yield-ident-invalid.case
+++ b/src/dstr-assignment-for-await/array-elem-nested-array-yield-ident-invalid.case
@@ -15,7 +15,7 @@ negative:
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- elems
 [[x[yield]]]
 //- vals
diff --git a/src/dstr-assignment-for-await/array-elem-nested-obj-invalid.case b/src/dstr-assignment-for-await/array-elem-nested-obj-invalid.case
index ecac3f0516..d5a649f4a8 100644
--- a/src/dstr-assignment-for-await/array-elem-nested-obj-invalid.case
+++ b/src/dstr-assignment-for-await/array-elem-nested-obj-invalid.case
@@ -15,7 +15,7 @@ negative:
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- elems
 [{ get x() {} }]
 //- vals
diff --git a/src/dstr-assignment-for-await/array-elem-nested-obj-yield-ident-invalid.case b/src/dstr-assignment-for-await/array-elem-nested-obj-yield-ident-invalid.case
index 11b7f06497..af037957ff 100644
--- a/src/dstr-assignment-for-await/array-elem-nested-obj-yield-ident-invalid.case
+++ b/src/dstr-assignment-for-await/array-elem-nested-obj-yield-ident-invalid.case
@@ -15,7 +15,7 @@ negative:
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- elems
 [{ x = yield }]
 //- vals
diff --git a/src/dstr-assignment-for-await/array-elem-target-simple-strict.case b/src/dstr-assignment-for-await/array-elem-target-simple-strict.case
index 6c360298a1..3dd46fe8c5 100644
--- a/src/dstr-assignment-for-await/array-elem-target-simple-strict.case
+++ b/src/dstr-assignment-for-await/array-elem-target-simple-strict.case
@@ -16,7 +16,7 @@ negative:
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- elems
 [arguments]
 //- vals
diff --git a/src/dstr-assignment-for-await/array-elem-target-yield-invalid.case b/src/dstr-assignment-for-await/array-elem-target-yield-invalid.case
index 27db993031..a463fd58c3 100644
--- a/src/dstr-assignment-for-await/array-elem-target-yield-invalid.case
+++ b/src/dstr-assignment-for-await/array-elem-target-yield-invalid.case
@@ -15,7 +15,7 @@ negative:
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- elems
 [ x[yield] ]
 //- vals
diff --git a/src/dstr-assignment/array-elem-init-yield-ident-invalid.case b/src/dstr-assignment/array-elem-init-yield-ident-invalid.case
index 53e116076b..2fd87d5259 100644
--- a/src/dstr-assignment/array-elem-init-yield-ident-invalid.case
+++ b/src/dstr-assignment/array-elem-init-yield-ident-invalid.case
@@ -14,7 +14,7 @@ negative:
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- elems
 [ x = yield ]
 //- vals
diff --git a/src/dstr-assignment/array-elem-nested-array-invalid.case b/src/dstr-assignment/array-elem-nested-array-invalid.case
index b5ce499bac..9e3edb5dd7 100644
--- a/src/dstr-assignment/array-elem-nested-array-invalid.case
+++ b/src/dstr-assignment/array-elem-nested-array-invalid.case
@@ -15,7 +15,7 @@ negative:
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- elems
 [[(x, y)]]
 //- vals
diff --git a/src/dstr-assignment/array-elem-nested-array-yield-ident-invalid.case b/src/dstr-assignment/array-elem-nested-array-yield-ident-invalid.case
index e902e27cbc..94d5f1afc3 100644
--- a/src/dstr-assignment/array-elem-nested-array-yield-ident-invalid.case
+++ b/src/dstr-assignment/array-elem-nested-array-yield-ident-invalid.case
@@ -15,7 +15,7 @@ negative:
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- elems
 [[x[yield]]]
 //- vals
diff --git a/src/dstr-assignment/array-elem-nested-obj-invalid.case b/src/dstr-assignment/array-elem-nested-obj-invalid.case
index 89f56f2744..d4660aed18 100644
--- a/src/dstr-assignment/array-elem-nested-obj-invalid.case
+++ b/src/dstr-assignment/array-elem-nested-obj-invalid.case
@@ -15,7 +15,7 @@ negative:
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- elems
 [{ get x() {} }]
 //- vals
diff --git a/src/dstr-assignment/array-elem-nested-obj-yield-ident-invalid.case b/src/dstr-assignment/array-elem-nested-obj-yield-ident-invalid.case
index 6ab62cf745..9c2a6c2cdf 100644
--- a/src/dstr-assignment/array-elem-nested-obj-yield-ident-invalid.case
+++ b/src/dstr-assignment/array-elem-nested-obj-yield-ident-invalid.case
@@ -15,7 +15,7 @@ negative:
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- elems
 [{ x = yield }]
 //- vals
diff --git a/src/dstr-assignment/array-elem-target-simple-strict.case b/src/dstr-assignment/array-elem-target-simple-strict.case
index 716aad6c86..0b5f0cfc66 100644
--- a/src/dstr-assignment/array-elem-target-simple-strict.case
+++ b/src/dstr-assignment/array-elem-target-simple-strict.case
@@ -16,7 +16,7 @@ negative:
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- elems
 [arguments]
 //- vals
diff --git a/src/dstr-assignment/array-elem-target-yield-invalid.case b/src/dstr-assignment/array-elem-target-yield-invalid.case
index f36de054b7..8f2685faf7 100644
--- a/src/dstr-assignment/array-elem-target-yield-invalid.case
+++ b/src/dstr-assignment/array-elem-target-yield-invalid.case
@@ -15,7 +15,7 @@ negative:
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- elems
 [ x[yield] ]
 //- vals
diff --git a/src/dstr-assignment/array-rest-before-element.case b/src/dstr-assignment/array-rest-before-element.case
index 01316db607..09bbfbc85a 100644
--- a/src/dstr-assignment/array-rest-before-element.case
+++ b/src/dstr-assignment/array-rest-before-element.case
@@ -13,7 +13,7 @@ negative:
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- elems
 [...x, y]
 //- vals
diff --git a/src/dstr-assignment/array-rest-before-elision.case b/src/dstr-assignment/array-rest-before-elision.case
index fb730c8814..45ed5b4156 100644
--- a/src/dstr-assignment/array-rest-before-elision.case
+++ b/src/dstr-assignment/array-rest-before-elision.case
@@ -13,7 +13,7 @@ negative:
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- elems
 [...x,]
 //- vals
diff --git a/src/dstr-assignment/array-rest-before-rest.case b/src/dstr-assignment/array-rest-before-rest.case
index f0a8ff5808..1a8eaab19d 100644
--- a/src/dstr-assignment/array-rest-before-rest.case
+++ b/src/dstr-assignment/array-rest-before-rest.case
@@ -13,7 +13,7 @@ negative:
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- elems
 [...x, ...y]
 //- vals
diff --git a/src/dstr-assignment/array-rest-elision-invalid.case b/src/dstr-assignment/array-rest-elision-invalid.case
index 59469380ab..e28de4dd0c 100644
--- a/src/dstr-assignment/array-rest-elision-invalid.case
+++ b/src/dstr-assignment/array-rest-elision-invalid.case
@@ -13,7 +13,7 @@ negative:
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- elems
 [...x,]
 //- vals
diff --git a/src/dstr-assignment/array-rest-init.case b/src/dstr-assignment/array-rest-init.case
index 57f56d3361..842db64e7c 100644
--- a/src/dstr-assignment/array-rest-init.case
+++ b/src/dstr-assignment/array-rest-init.case
@@ -12,7 +12,7 @@ negative:
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 var x;
 //- elems
 [...x = 1]
diff --git a/src/dstr-assignment/array-rest-nested-array-invalid.case b/src/dstr-assignment/array-rest-nested-array-invalid.case
index bf457d755b..83a59572ff 100644
--- a/src/dstr-assignment/array-rest-nested-array-invalid.case
+++ b/src/dstr-assignment/array-rest-nested-array-invalid.case
@@ -15,7 +15,7 @@ negative:
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- elems
 [...[(x, y)]]
 //- vals
diff --git a/src/dstr-assignment/array-rest-nested-array-yield-ident-invalid.case b/src/dstr-assignment/array-rest-nested-array-yield-ident-invalid.case
index df5cb5ca59..54b1e659fc 100644
--- a/src/dstr-assignment/array-rest-nested-array-yield-ident-invalid.case
+++ b/src/dstr-assignment/array-rest-nested-array-yield-ident-invalid.case
@@ -15,7 +15,7 @@ negative:
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- elems
 [...[x[yield]]]
 //- vals
diff --git a/src/dstr-assignment/array-rest-nested-obj-invalid.case b/src/dstr-assignment/array-rest-nested-obj-invalid.case
index f0bd49ebe7..c2f69f6c49 100644
--- a/src/dstr-assignment/array-rest-nested-obj-invalid.case
+++ b/src/dstr-assignment/array-rest-nested-obj-invalid.case
@@ -15,7 +15,7 @@ negative:
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- elems
 [...{ get x() {} }]
 //- vals
diff --git a/src/dstr-assignment/array-rest-nested-obj-yield-ident-invalid.case b/src/dstr-assignment/array-rest-nested-obj-yield-ident-invalid.case
index 1736567bd5..852979e495 100644
--- a/src/dstr-assignment/array-rest-nested-obj-yield-ident-invalid.case
+++ b/src/dstr-assignment/array-rest-nested-obj-yield-ident-invalid.case
@@ -15,7 +15,7 @@ negative:
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- elems
 [...{ x = yield }]
 //- vals
diff --git a/src/dstr-assignment/array-rest-yield-ident-invalid.case b/src/dstr-assignment/array-rest-yield-ident-invalid.case
index 7ea0aaa60b..3718f6587c 100644
--- a/src/dstr-assignment/array-rest-yield-ident-invalid.case
+++ b/src/dstr-assignment/array-rest-yield-ident-invalid.case
@@ -15,7 +15,7 @@ negative:
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 var x = {};
 //- elems
 [...x[yield]]
diff --git a/src/dstr-assignment/obj-id-identifier-yield-expr.case b/src/dstr-assignment/obj-id-identifier-yield-expr.case
index 02fd3cdd2d..a74eb01040 100644
--- a/src/dstr-assignment/obj-id-identifier-yield-expr.case
+++ b/src/dstr-assignment/obj-id-identifier-yield-expr.case
@@ -15,7 +15,7 @@ negative:
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 (function*() {
 //- elems
 { yield }
diff --git a/src/dstr-assignment/obj-id-identifier-yield-ident-invalid.case b/src/dstr-assignment/obj-id-identifier-yield-ident-invalid.case
index e54da40320..71d7f5c7e9 100644
--- a/src/dstr-assignment/obj-id-identifier-yield-ident-invalid.case
+++ b/src/dstr-assignment/obj-id-identifier-yield-ident-invalid.case
@@ -14,7 +14,7 @@ negative:
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- elems
 { yield }
 //- vals
diff --git a/src/dstr-assignment/obj-id-init-simple-strict.case b/src/dstr-assignment/obj-id-init-simple-strict.case
index 74b3c067ac..dd7240f464 100644
--- a/src/dstr-assignment/obj-id-init-simple-strict.case
+++ b/src/dstr-assignment/obj-id-init-simple-strict.case
@@ -14,7 +14,7 @@ negative:
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- elems
 { eval = 0 }
 //- vals
diff --git a/src/dstr-assignment/obj-id-init-yield-ident-invalid.case b/src/dstr-assignment/obj-id-init-yield-ident-invalid.case
index a50529aaff..2331c0cff9 100644
--- a/src/dstr-assignment/obj-id-init-yield-ident-invalid.case
+++ b/src/dstr-assignment/obj-id-init-yield-ident-invalid.case
@@ -15,7 +15,7 @@ negative:
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- elems
 { x = yield }
 //- vals
diff --git a/src/dstr-assignment/obj-id-simple-strict.case b/src/dstr-assignment/obj-id-simple-strict.case
index 3585102e87..632680655a 100644
--- a/src/dstr-assignment/obj-id-simple-strict.case
+++ b/src/dstr-assignment/obj-id-simple-strict.case
@@ -14,7 +14,7 @@ negative:
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- elems
 { eval }
 //- vals
diff --git a/src/dstr-assignment/obj-prop-elem-init-yield-ident-invalid.case b/src/dstr-assignment/obj-prop-elem-init-yield-ident-invalid.case
index 8890f9c6c5..3a0d1e24c5 100644
--- a/src/dstr-assignment/obj-prop-elem-init-yield-ident-invalid.case
+++ b/src/dstr-assignment/obj-prop-elem-init-yield-ident-invalid.case
@@ -15,7 +15,7 @@ negative:
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- elems
 { x: x = yield }
 //- vals
diff --git a/src/dstr-assignment/obj-prop-elem-target-yield-ident-invalid.case b/src/dstr-assignment/obj-prop-elem-target-yield-ident-invalid.case
index 0594f13b6d..4e713ff630 100644
--- a/src/dstr-assignment/obj-prop-elem-target-yield-ident-invalid.case
+++ b/src/dstr-assignment/obj-prop-elem-target-yield-ident-invalid.case
@@ -15,7 +15,7 @@ negative:
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- elems
 { x: x[yield] }
 //- vals
diff --git a/src/dstr-assignment/obj-prop-nested-array-invalid.case b/src/dstr-assignment/obj-prop-nested-array-invalid.case
index 8a305198dc..08af4d1085 100644
--- a/src/dstr-assignment/obj-prop-nested-array-invalid.case
+++ b/src/dstr-assignment/obj-prop-nested-array-invalid.case
@@ -15,7 +15,7 @@ negative:
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- elems
 { x: [(x, y)] }
 //- vals
diff --git a/src/dstr-assignment/obj-prop-nested-array-yield-ident-invalid.case b/src/dstr-assignment/obj-prop-nested-array-yield-ident-invalid.case
index 52c693757b..476d9f57fd 100644
--- a/src/dstr-assignment/obj-prop-nested-array-yield-ident-invalid.case
+++ b/src/dstr-assignment/obj-prop-nested-array-yield-ident-invalid.case
@@ -15,7 +15,7 @@ negative:
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- elems
 { x: [x = yield] }
 //- vals
diff --git a/src/dstr-assignment/obj-prop-nested-obj-invalid.case b/src/dstr-assignment/obj-prop-nested-obj-invalid.case
index b425ad0d49..520026bb3a 100644
--- a/src/dstr-assignment/obj-prop-nested-obj-invalid.case
+++ b/src/dstr-assignment/obj-prop-nested-obj-invalid.case
@@ -16,7 +16,7 @@ negative:
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- elems
 { x: { get x() {} } }
 //- vals
diff --git a/src/dstr-assignment/obj-prop-nested-obj-yield-ident-invalid.case b/src/dstr-assignment/obj-prop-nested-obj-yield-ident-invalid.case
index ec095567ef..8205793334 100644
--- a/src/dstr-assignment/obj-prop-nested-obj-yield-ident-invalid.case
+++ b/src/dstr-assignment/obj-prop-nested-obj-yield-ident-invalid.case
@@ -15,7 +15,7 @@ negative:
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- elems
 { x: { x = yield } }
 //- vals
diff --git a/src/dstr-assignment/obj-rest-not-last-element-invalid.case b/src/dstr-assignment/obj-rest-not-last-element-invalid.case
index a38b18f5f3..7e5680ca49 100644
--- a/src/dstr-assignment/obj-rest-not-last-element-invalid.case
+++ b/src/dstr-assignment/obj-rest-not-last-element-invalid.case
@@ -14,7 +14,7 @@ features: [object-rest]
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 var rest, b;
 //- elems
 {...rest, b}
diff --git a/src/dstr-binding-for-await/ary-ptrn-rest-init-ary.case b/src/dstr-binding-for-await/ary-ptrn-rest-init-ary.case
index be8f02456f..f30dcf5b8f 100644
--- a/src/dstr-binding-for-await/ary-ptrn-rest-init-ary.case
+++ b/src/dstr-binding-for-await/ary-ptrn-rest-init-ary.case
@@ -16,7 +16,7 @@ info: >
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- elems
 [...[ x ] = []]
 //- vals
diff --git a/src/dstr-binding-for-await/ary-ptrn-rest-init-id.case b/src/dstr-binding-for-await/ary-ptrn-rest-init-id.case
index 65b331f848..f0d9cd72f0 100644
--- a/src/dstr-binding-for-await/ary-ptrn-rest-init-id.case
+++ b/src/dstr-binding-for-await/ary-ptrn-rest-init-id.case
@@ -16,7 +16,7 @@ info: >
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- elems
 [...x = []]
 //- vals
diff --git a/src/dstr-binding-for-await/ary-ptrn-rest-init-obj.case b/src/dstr-binding-for-await/ary-ptrn-rest-init-obj.case
index eeb4e77880..5c0a899081 100644
--- a/src/dstr-binding-for-await/ary-ptrn-rest-init-obj.case
+++ b/src/dstr-binding-for-await/ary-ptrn-rest-init-obj.case
@@ -16,7 +16,7 @@ info: >
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- elems
 [...{ x } = []]
 //- vals
diff --git a/src/dstr-binding-for-await/ary-ptrn-rest-not-final-ary.case b/src/dstr-binding-for-await/ary-ptrn-rest-not-final-ary.case
index 67f981d069..823d62fe21 100644
--- a/src/dstr-binding-for-await/ary-ptrn-rest-not-final-ary.case
+++ b/src/dstr-binding-for-await/ary-ptrn-rest-not-final-ary.case
@@ -16,7 +16,7 @@ info: >
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- elems
 [...[x], y]
 //- vals
diff --git a/src/dstr-binding-for-await/ary-ptrn-rest-not-final-id.case b/src/dstr-binding-for-await/ary-ptrn-rest-not-final-id.case
index 83a95d9e77..d78033df69 100644
--- a/src/dstr-binding-for-await/ary-ptrn-rest-not-final-id.case
+++ b/src/dstr-binding-for-await/ary-ptrn-rest-not-final-id.case
@@ -16,7 +16,7 @@ info: >
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- elems
 [...x, y]
 //- vals
diff --git a/src/dstr-binding-for-await/ary-ptrn-rest-not-final-obj.case b/src/dstr-binding-for-await/ary-ptrn-rest-not-final-obj.case
index af8ca5d85e..27d00ab548 100644
--- a/src/dstr-binding-for-await/ary-ptrn-rest-not-final-obj.case
+++ b/src/dstr-binding-for-await/ary-ptrn-rest-not-final-obj.case
@@ -16,7 +16,7 @@ info: >
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- elems
 [...{ x }, y]
 //- vals
diff --git a/src/dstr-binding/ary-ptrn-rest-init-ary.case b/src/dstr-binding/ary-ptrn-rest-init-ary.case
index 1af8ac2d35..6d2d29b645 100644
--- a/src/dstr-binding/ary-ptrn-rest-init-ary.case
+++ b/src/dstr-binding/ary-ptrn-rest-init-ary.case
@@ -16,7 +16,7 @@ info: >
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- elems
 [...[ x ] = []]
 //- vals
diff --git a/src/dstr-binding/ary-ptrn-rest-init-id.case b/src/dstr-binding/ary-ptrn-rest-init-id.case
index bdb24aff67..32378b12f8 100644
--- a/src/dstr-binding/ary-ptrn-rest-init-id.case
+++ b/src/dstr-binding/ary-ptrn-rest-init-id.case
@@ -16,7 +16,7 @@ info: >
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- elems
 [...x = []]
 //- vals
diff --git a/src/dstr-binding/ary-ptrn-rest-init-obj.case b/src/dstr-binding/ary-ptrn-rest-init-obj.case
index 16cefdaa61..6084491fbf 100644
--- a/src/dstr-binding/ary-ptrn-rest-init-obj.case
+++ b/src/dstr-binding/ary-ptrn-rest-init-obj.case
@@ -16,7 +16,7 @@ info: >
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- elems
 [...{ x } = []]
 //- vals
diff --git a/src/dstr-binding/ary-ptrn-rest-not-final-ary.case b/src/dstr-binding/ary-ptrn-rest-not-final-ary.case
index 567040a08d..1e39d26161 100644
--- a/src/dstr-binding/ary-ptrn-rest-not-final-ary.case
+++ b/src/dstr-binding/ary-ptrn-rest-not-final-ary.case
@@ -16,7 +16,7 @@ info: >
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- elems
 [...[x], y]
 //- vals
diff --git a/src/dstr-binding/ary-ptrn-rest-not-final-id.case b/src/dstr-binding/ary-ptrn-rest-not-final-id.case
index 2c31367dca..c673d54eef 100644
--- a/src/dstr-binding/ary-ptrn-rest-not-final-id.case
+++ b/src/dstr-binding/ary-ptrn-rest-not-final-id.case
@@ -16,7 +16,7 @@ info: >
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- elems
 [...x, y]
 //- vals
diff --git a/src/dstr-binding/ary-ptrn-rest-not-final-obj.case b/src/dstr-binding/ary-ptrn-rest-not-final-obj.case
index 6fc12538f9..47d6896fca 100644
--- a/src/dstr-binding/ary-ptrn-rest-not-final-obj.case
+++ b/src/dstr-binding/ary-ptrn-rest-not-final-obj.case
@@ -16,7 +16,7 @@ info: >
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- elems
 [...{ x }, y]
 //- vals
diff --git a/src/function-forms/dflt-params-duplicates.case b/src/function-forms/dflt-params-duplicates.case
index ad5dbf58a0..71ffcaec88 100644
--- a/src/function-forms/dflt-params-duplicates.case
+++ b/src/function-forms/dflt-params-duplicates.case
@@ -25,6 +25,6 @@ features: [default-parameters]
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- params
 x = 0, x
diff --git a/src/function-forms/dflt-params-rest.case b/src/function-forms/dflt-params-rest.case
index 46096a65fe..dafd954f1c 100644
--- a/src/function-forms/dflt-params-rest.case
+++ b/src/function-forms/dflt-params-rest.case
@@ -27,6 +27,6 @@ negative:
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- params
 ...x = []
diff --git a/src/function-forms/rest-params-trailing-comma-early-error.case b/src/function-forms/rest-params-trailing-comma-early-error.case
index 6f285b52d6..b82cca84d7 100644
--- a/src/function-forms/rest-params-trailing-comma-early-error.case
+++ b/src/function-forms/rest-params-trailing-comma-early-error.case
@@ -21,6 +21,6 @@ info: |
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- params
 ...a,
diff --git a/src/generators/yield-as-binding-identifier-escaped.case b/src/generators/yield-as-binding-identifier-escaped.case
index f480afadf1..fcf8d75837 100644
--- a/src/generators/yield-as-binding-identifier-escaped.case
+++ b/src/generators/yield-as-binding-identifier-escaped.case
@@ -18,6 +18,6 @@ template: syntax
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- body
   var yi\u0065ld;
diff --git a/src/generators/yield-as-binding-identifier.case b/src/generators/yield-as-binding-identifier.case
index cfa6eeff8b..01d695f451 100644
--- a/src/generators/yield-as-binding-identifier.case
+++ b/src/generators/yield-as-binding-identifier.case
@@ -18,6 +18,6 @@ template: syntax
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- body
   var yield;
diff --git a/src/generators/yield-as-identifier-reference-escaped.case b/src/generators/yield-as-identifier-reference-escaped.case
index 25715acaab..8149cc3ffc 100644
--- a/src/generators/yield-as-identifier-reference-escaped.case
+++ b/src/generators/yield-as-identifier-reference-escaped.case
@@ -18,6 +18,6 @@ template: syntax
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- body
   void yi\u0065ld;
diff --git a/src/generators/yield-as-identifier-reference.case b/src/generators/yield-as-identifier-reference.case
index db05780990..dbcf9a8132 100644
--- a/src/generators/yield-as-identifier-reference.case
+++ b/src/generators/yield-as-identifier-reference.case
@@ -18,6 +18,6 @@ template: syntax
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- body
   void yield;
diff --git a/src/generators/yield-as-label-identifier-escaped.case b/src/generators/yield-as-label-identifier-escaped.case
index a688854a7e..cff7ca24b4 100644
--- a/src/generators/yield-as-label-identifier-escaped.case
+++ b/src/generators/yield-as-label-identifier-escaped.case
@@ -18,6 +18,6 @@ template: syntax
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- body
   yi\u0065ld: ;
diff --git a/src/generators/yield-as-label-identifier.case b/src/generators/yield-as-label-identifier.case
index 0fc69be894..d26bbfa674 100644
--- a/src/generators/yield-as-label-identifier.case
+++ b/src/generators/yield-as-label-identifier.case
@@ -18,6 +18,6 @@ template: syntax
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- body
   yield: ;
diff --git a/src/generators/yield-identifier-spread-strict.case b/src/generators/yield-identifier-spread-strict.case
index be6b64529e..9a5c2f8efb 100644
--- a/src/generators/yield-identifier-spread-strict.case
+++ b/src/generators/yield-identifier-spread-strict.case
@@ -20,7 +20,7 @@ negative:
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- body
   return {
      ...(function() {
diff --git a/src/generators/yield-identifier-strict.case b/src/generators/yield-identifier-strict.case
index 9565ad82ce..c0c7b2a8b9 100644
--- a/src/generators/yield-identifier-strict.case
+++ b/src/generators/yield-identifier-strict.case
@@ -13,7 +13,7 @@ negative:
 ---*/
 
 //- setup
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 //- body
   (function() {
     var yield;
diff --git a/test/annexB/language/expressions/object/__proto__-duplicate.js b/test/annexB/language/expressions/object/__proto__-duplicate.js
index a34f441deb..cdde9b8181 100644
--- a/test/annexB/language/expressions/object/__proto__-duplicate.js
+++ b/test/annexB/language/expressions/object/__proto__-duplicate.js
@@ -14,7 +14,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 ({
   __proto__: null,
diff --git a/test/annexB/language/expressions/template-literal/legacy-octal-escape-sequence-strict.js b/test/annexB/language/expressions/template-literal/legacy-octal-escape-sequence-strict.js
index ea1feb4cf1..833575bc68 100644
--- a/test/annexB/language/expressions/template-literal/legacy-octal-escape-sequence-strict.js
+++ b/test/annexB/language/expressions/template-literal/legacy-octal-escape-sequence-strict.js
@@ -13,6 +13,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 `${'\07'}`;
diff --git a/test/annexB/language/statements/for-in/bare-initializer.js b/test/annexB/language/statements/for-in/bare-initializer.js
index c68fbbaef0..01e228d388 100644
--- a/test/annexB/language/statements/for-in/bare-initializer.js
+++ b/test/annexB/language/statements/for-in/bare-initializer.js
@@ -9,7 +9,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 var a;
 throw NotEarlyError;
 for (a = 0 in {});
diff --git a/test/annexB/language/statements/for-in/const-initializer.js b/test/annexB/language/statements/for-in/const-initializer.js
index 002182d9c0..d2e2d1a224 100644
--- a/test/annexB/language/statements/for-in/const-initializer.js
+++ b/test/annexB/language/statements/for-in/const-initializer.js
@@ -9,7 +9,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 throw NotEarlyError;
 for (const a = 0 in {});
 
diff --git a/test/annexB/language/statements/for-in/let-initializer.js b/test/annexB/language/statements/for-in/let-initializer.js
index 1793b86bd2..adf8868eff 100644
--- a/test/annexB/language/statements/for-in/let-initializer.js
+++ b/test/annexB/language/statements/for-in/let-initializer.js
@@ -9,7 +9,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 throw NotEarlyError;
 for (let a = 0 in {});
 
diff --git a/test/annexB/language/statements/for-in/strict-initializer.js b/test/annexB/language/statements/for-in/strict-initializer.js
index 6b59448c71..12377dcf9a 100644
--- a/test/annexB/language/statements/for-in/strict-initializer.js
+++ b/test/annexB/language/statements/for-in/strict-initializer.js
@@ -10,7 +10,7 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 throw NotEarlyError;
 for (var a = 0 in {});
 
diff --git a/test/annexB/language/statements/for-in/var-arraybindingpattern-initializer.js b/test/annexB/language/statements/for-in/var-arraybindingpattern-initializer.js
index 36dc38bc61..9f03152f15 100644
--- a/test/annexB/language/statements/for-in/var-arraybindingpattern-initializer.js
+++ b/test/annexB/language/statements/for-in/var-arraybindingpattern-initializer.js
@@ -9,7 +9,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 throw NotEarlyError;
 for (var [a] = 0 in {});
 
diff --git a/test/annexB/language/statements/for-in/var-objectbindingpattern-initializer.js b/test/annexB/language/statements/for-in/var-objectbindingpattern-initializer.js
index 656bed58df..b8da16da61 100644
--- a/test/annexB/language/statements/for-in/var-objectbindingpattern-initializer.js
+++ b/test/annexB/language/statements/for-in/var-objectbindingpattern-initializer.js
@@ -9,7 +9,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 throw NotEarlyError;
 for (var {a} = 0 in {});
 
diff --git a/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_F-negated.js b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_F-negated.js
index ccbfcafebb..d282bc12c8 100644
--- a/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_F-negated.js
+++ b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_F-negated.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{ASCII=F}/u;
diff --git a/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_F.js b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_F.js
index ceb1879f70..617ebd6c7c 100644
--- a/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_F.js
+++ b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_F.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{ASCII=F}/u;
diff --git a/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Invalid-negated.js b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Invalid-negated.js
index 246350af0f..fcc53463b0 100644
--- a/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Invalid-negated.js
+++ b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Invalid-negated.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{ASCII=Invalid}/u;
diff --git a/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Invalid.js b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Invalid.js
index fab653c849..801fe9fe9b 100644
--- a/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Invalid.js
+++ b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Invalid.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{ASCII=Invalid}/u;
diff --git a/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_N-negated.js b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_N-negated.js
index ea73a2875e..d8a49b3de9 100644
--- a/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_N-negated.js
+++ b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_N-negated.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{ASCII=N}/u;
diff --git a/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_N.js b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_N.js
index 56656dcc24..41b2d82eeb 100644
--- a/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_N.js
+++ b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_N.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{ASCII=N}/u;
diff --git a/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_No-negated.js b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_No-negated.js
index c14bb73614..c25bd3f559 100644
--- a/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_No-negated.js
+++ b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_No-negated.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{ASCII=No}/u;
diff --git a/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_No.js b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_No.js
index 116ecd4675..bac2657658 100644
--- a/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_No.js
+++ b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_No.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{ASCII=No}/u;
diff --git a/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_T-negated.js b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_T-negated.js
index 63ed9e4f0a..33526fc6db 100644
--- a/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_T-negated.js
+++ b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_T-negated.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{ASCII=T}/u;
diff --git a/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_T.js b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_T.js
index 2889d2ae21..4255130581 100644
--- a/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_T.js
+++ b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_T.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{ASCII=T}/u;
diff --git a/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Y-negated.js b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Y-negated.js
index a22ffb282a..4d0b5a409f 100644
--- a/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Y-negated.js
+++ b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Y-negated.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{ASCII=Y}/u;
diff --git a/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Y.js b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Y.js
index 688b32f212..fc04c171ed 100644
--- a/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Y.js
+++ b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Y.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{ASCII=Y}/u;
diff --git a/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Yes-negated.js b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Yes-negated.js
index 827ee53eaf..9268a72036 100644
--- a/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Yes-negated.js
+++ b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Yes-negated.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{ASCII=Yes}/u;
diff --git a/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Yes.js b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Yes.js
index cce1ad1180..b27f500adc 100644
--- a/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Yes.js
+++ b/test/built-ins/RegExp/property-escapes/binary-property-with-value-ASCII_-_Yes.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{ASCII=Yes}/u;
diff --git a/test/built-ins/RegExp/property-escapes/character-class-range-end.js b/test/built-ins/RegExp/property-escapes/character-class-range-end.js
index f4d48612c3..6a69c4cd86 100644
--- a/test/built-ins/RegExp/property-escapes/character-class-range-end.js
+++ b/test/built-ins/RegExp/property-escapes/character-class-range-end.js
@@ -15,6 +15,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /[--\p{Hex}]/u;
diff --git a/test/built-ins/RegExp/property-escapes/character-class-range-no-dash-end.js b/test/built-ins/RegExp/property-escapes/character-class-range-no-dash-end.js
index b3bb456b33..8d3f2f236a 100644
--- a/test/built-ins/RegExp/property-escapes/character-class-range-no-dash-end.js
+++ b/test/built-ins/RegExp/property-escapes/character-class-range-no-dash-end.js
@@ -15,6 +15,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /[\uFFFF-\p{Hex}]/u;
diff --git a/test/built-ins/RegExp/property-escapes/character-class-range-no-dash-start.js b/test/built-ins/RegExp/property-escapes/character-class-range-no-dash-start.js
index ef5fd20dc5..5e72c1cfd9 100644
--- a/test/built-ins/RegExp/property-escapes/character-class-range-no-dash-start.js
+++ b/test/built-ins/RegExp/property-escapes/character-class-range-no-dash-start.js
@@ -15,6 +15,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /[\p{Hex}-\uFFFF]/u;
diff --git a/test/built-ins/RegExp/property-escapes/character-class-range-start.js b/test/built-ins/RegExp/property-escapes/character-class-range-start.js
index e03ee4de99..9d8e9f6042 100644
--- a/test/built-ins/RegExp/property-escapes/character-class-range-start.js
+++ b/test/built-ins/RegExp/property-escapes/character-class-range-start.js
@@ -15,6 +15,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /[\p{Hex}--]/u;
diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Block-implicit-negated.js b/test/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Block-implicit-negated.js
index df640b3399..44e84309d4 100644
--- a/test/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Block-implicit-negated.js
+++ b/test/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Block-implicit-negated.js
@@ -16,6 +16,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{InAdlam}/u;
diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Block-implicit.js b/test/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Block-implicit.js
index 1eb1a9972f..97538eee51 100644
--- a/test/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Block-implicit.js
+++ b/test/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Block-implicit.js
@@ -16,6 +16,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{InAdlam}/u;
diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Script-implicit-negated.js b/test/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Script-implicit-negated.js
index df640b3399..44e84309d4 100644
--- a/test/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Script-implicit-negated.js
+++ b/test/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Script-implicit-negated.js
@@ -16,6 +16,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{InAdlam}/u;
diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Script-implicit.js b/test/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Script-implicit.js
index 1eb1a9972f..97538eee51 100644
--- a/test/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Script-implicit.js
+++ b/test/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Script-implicit.js
@@ -16,6 +16,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{InAdlam}/u;
diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Script-negated.js b/test/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Script-negated.js
index 59fc7cb99a..bd0b7029ed 100644
--- a/test/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Script-negated.js
+++ b/test/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Script-negated.js
@@ -16,6 +16,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{InScript=Adlam}/u;
diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Script.js b/test/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Script.js
index f575b01427..f3b35b0500 100644
--- a/test/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Script.js
+++ b/test/built-ins/RegExp/property-escapes/grammar-extension-In-prefix-Script.js
@@ -16,6 +16,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{InScript=Adlam}/u;
diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-Is-prefix-Script-negated.js b/test/built-ins/RegExp/property-escapes/grammar-extension-Is-prefix-Script-negated.js
index 48b95cba1d..14ce4aefbb 100644
--- a/test/built-ins/RegExp/property-escapes/grammar-extension-Is-prefix-Script-negated.js
+++ b/test/built-ins/RegExp/property-escapes/grammar-extension-Is-prefix-Script-negated.js
@@ -16,6 +16,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{IsScript=Adlam}/u;
diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-Is-prefix-Script.js b/test/built-ins/RegExp/property-escapes/grammar-extension-Is-prefix-Script.js
index 3c889e9171..429e79342c 100644
--- a/test/built-ins/RegExp/property-escapes/grammar-extension-Is-prefix-Script.js
+++ b/test/built-ins/RegExp/property-escapes/grammar-extension-Is-prefix-Script.js
@@ -16,6 +16,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{IsScript=Adlam}/u;
diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-circumflex-negation-negated.js b/test/built-ins/RegExp/property-escapes/grammar-extension-circumflex-negation-negated.js
index 1b559675ee..2a699f4879 100644
--- a/test/built-ins/RegExp/property-escapes/grammar-extension-circumflex-negation-negated.js
+++ b/test/built-ins/RegExp/property-escapes/grammar-extension-circumflex-negation-negated.js
@@ -16,6 +16,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{^General_Category=Letter}/u;
diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-circumflex-negation.js b/test/built-ins/RegExp/property-escapes/grammar-extension-circumflex-negation.js
index b27561547b..5eff51babe 100644
--- a/test/built-ins/RegExp/property-escapes/grammar-extension-circumflex-negation.js
+++ b/test/built-ins/RegExp/property-escapes/grammar-extension-circumflex-negation.js
@@ -16,6 +16,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{^General_Category=Letter}/u;
diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-empty-negated.js b/test/built-ins/RegExp/property-escapes/grammar-extension-empty-negated.js
index 90d9f30c93..ba50580794 100644
--- a/test/built-ins/RegExp/property-escapes/grammar-extension-empty-negated.js
+++ b/test/built-ins/RegExp/property-escapes/grammar-extension-empty-negated.js
@@ -16,6 +16,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /[\p{}]/u;
diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-empty.js b/test/built-ins/RegExp/property-escapes/grammar-extension-empty.js
index cfb1547268..0e38e99a2d 100644
--- a/test/built-ins/RegExp/property-escapes/grammar-extension-empty.js
+++ b/test/built-ins/RegExp/property-escapes/grammar-extension-empty.js
@@ -16,6 +16,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /[\P{}]/u;
diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-invalid-negated.js b/test/built-ins/RegExp/property-escapes/grammar-extension-invalid-negated.js
index ec22be97d9..730a8a8804 100644
--- a/test/built-ins/RegExp/property-escapes/grammar-extension-invalid-negated.js
+++ b/test/built-ins/RegExp/property-escapes/grammar-extension-invalid-negated.js
@@ -16,6 +16,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /[\P{invalid}]/u;
diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-invalid.js b/test/built-ins/RegExp/property-escapes/grammar-extension-invalid.js
index 6f6bcfb8fe..3ceebe5c09 100644
--- a/test/built-ins/RegExp/property-escapes/grammar-extension-invalid.js
+++ b/test/built-ins/RegExp/property-escapes/grammar-extension-invalid.js
@@ -16,6 +16,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /[\p{invalid}]/u;
diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-no-braces-negated.js b/test/built-ins/RegExp/property-escapes/grammar-extension-no-braces-negated.js
index b660bdd133..40ed96d11b 100644
--- a/test/built-ins/RegExp/property-escapes/grammar-extension-no-braces-negated.js
+++ b/test/built-ins/RegExp/property-escapes/grammar-extension-no-braces-negated.js
@@ -16,6 +16,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P/u;
diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-no-braces-value-negated.js b/test/built-ins/RegExp/property-escapes/grammar-extension-no-braces-value-negated.js
index e66e9d00b0..09429d890c 100644
--- a/test/built-ins/RegExp/property-escapes/grammar-extension-no-braces-value-negated.js
+++ b/test/built-ins/RegExp/property-escapes/grammar-extension-no-braces-value-negated.js
@@ -16,6 +16,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\PL/u;
diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-no-braces-value.js b/test/built-ins/RegExp/property-escapes/grammar-extension-no-braces-value.js
index edaf3c3bdc..b5e3d6d6cc 100644
--- a/test/built-ins/RegExp/property-escapes/grammar-extension-no-braces-value.js
+++ b/test/built-ins/RegExp/property-escapes/grammar-extension-no-braces-value.js
@@ -16,6 +16,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\pL/u;
diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-no-braces.js b/test/built-ins/RegExp/property-escapes/grammar-extension-no-braces.js
index 9c287efb4a..b30a22d54a 100644
--- a/test/built-ins/RegExp/property-escapes/grammar-extension-no-braces.js
+++ b/test/built-ins/RegExp/property-escapes/grammar-extension-no-braces.js
@@ -16,6 +16,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p/u;
diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-separator-and-value-only-negated.js b/test/built-ins/RegExp/property-escapes/grammar-extension-separator-and-value-only-negated.js
index c4e847dc8f..6fb69d7d5f 100644
--- a/test/built-ins/RegExp/property-escapes/grammar-extension-separator-and-value-only-negated.js
+++ b/test/built-ins/RegExp/property-escapes/grammar-extension-separator-and-value-only-negated.js
@@ -16,6 +16,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{=Letter}/u;
diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-separator-and-value-only.js b/test/built-ins/RegExp/property-escapes/grammar-extension-separator-and-value-only.js
index c14455d269..8799ba00d0 100644
--- a/test/built-ins/RegExp/property-escapes/grammar-extension-separator-and-value-only.js
+++ b/test/built-ins/RegExp/property-escapes/grammar-extension-separator-and-value-only.js
@@ -16,6 +16,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{=Letter}/u;
diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-separator-negated.js b/test/built-ins/RegExp/property-escapes/grammar-extension-separator-negated.js
index 0672dabf7b..b1abde2190 100644
--- a/test/built-ins/RegExp/property-escapes/grammar-extension-separator-negated.js
+++ b/test/built-ins/RegExp/property-escapes/grammar-extension-separator-negated.js
@@ -16,6 +16,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{General_Category:Letter}/u;
diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-separator-only-negated.js b/test/built-ins/RegExp/property-escapes/grammar-extension-separator-only-negated.js
index 1a1a9db63c..918f7bed14 100644
--- a/test/built-ins/RegExp/property-escapes/grammar-extension-separator-only-negated.js
+++ b/test/built-ins/RegExp/property-escapes/grammar-extension-separator-only-negated.js
@@ -16,6 +16,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{=}/u;
diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-separator-only.js b/test/built-ins/RegExp/property-escapes/grammar-extension-separator-only.js
index 84e155f01b..c5dafa9cf6 100644
--- a/test/built-ins/RegExp/property-escapes/grammar-extension-separator-only.js
+++ b/test/built-ins/RegExp/property-escapes/grammar-extension-separator-only.js
@@ -16,6 +16,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{=}/u;
diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-separator.js b/test/built-ins/RegExp/property-escapes/grammar-extension-separator.js
index 1c9051852a..73ce115e6d 100644
--- a/test/built-ins/RegExp/property-escapes/grammar-extension-separator.js
+++ b/test/built-ins/RegExp/property-escapes/grammar-extension-separator.js
@@ -16,6 +16,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{General_Category:Letter}/u;
diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-unclosed-negated.js b/test/built-ins/RegExp/property-escapes/grammar-extension-unclosed-negated.js
index 7a91dca5e5..ce749f03a7 100644
--- a/test/built-ins/RegExp/property-escapes/grammar-extension-unclosed-negated.js
+++ b/test/built-ins/RegExp/property-escapes/grammar-extension-unclosed-negated.js
@@ -16,6 +16,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{/u;
diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-unclosed.js b/test/built-ins/RegExp/property-escapes/grammar-extension-unclosed.js
index db72f7c015..cdbebb9778 100644
--- a/test/built-ins/RegExp/property-escapes/grammar-extension-unclosed.js
+++ b/test/built-ins/RegExp/property-escapes/grammar-extension-unclosed.js
@@ -16,6 +16,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{/u;
diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-unopened-negated.js b/test/built-ins/RegExp/property-escapes/grammar-extension-unopened-negated.js
index 46eed4d31f..52e330779e 100644
--- a/test/built-ins/RegExp/property-escapes/grammar-extension-unopened-negated.js
+++ b/test/built-ins/RegExp/property-escapes/grammar-extension-unopened-negated.js
@@ -16,6 +16,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P}/u;
diff --git a/test/built-ins/RegExp/property-escapes/grammar-extension-unopened.js b/test/built-ins/RegExp/property-escapes/grammar-extension-unopened.js
index 2791744e51..ecf079f841 100644
--- a/test/built-ins/RegExp/property-escapes/grammar-extension-unopened.js
+++ b/test/built-ins/RegExp/property-escapes/grammar-extension-unopened.js
@@ -16,6 +16,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p}/u;
diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-01-negated.js b/test/built-ins/RegExp/property-escapes/loose-matching-01-negated.js
index deb36476d4..0ad6220fb5 100644
--- a/test/built-ins/RegExp/property-escapes/loose-matching-01-negated.js
+++ b/test/built-ins/RegExp/property-escapes/loose-matching-01-negated.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{ General_Category=Uppercase_Letter }/u;
diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-01.js b/test/built-ins/RegExp/property-escapes/loose-matching-01.js
index a1a7f0a2e4..470e8ec0b9 100644
--- a/test/built-ins/RegExp/property-escapes/loose-matching-01.js
+++ b/test/built-ins/RegExp/property-escapes/loose-matching-01.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{ General_Category=Uppercase_Letter }/u;
diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-02-negated.js b/test/built-ins/RegExp/property-escapes/loose-matching-02-negated.js
index 4ae1c47904..39c3498285 100644
--- a/test/built-ins/RegExp/property-escapes/loose-matching-02-negated.js
+++ b/test/built-ins/RegExp/property-escapes/loose-matching-02-negated.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{ Lowercase }/u;
diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-02.js b/test/built-ins/RegExp/property-escapes/loose-matching-02.js
index f29b5ca717..5412abd87b 100644
--- a/test/built-ins/RegExp/property-escapes/loose-matching-02.js
+++ b/test/built-ins/RegExp/property-escapes/loose-matching-02.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{ Lowercase }/u;
diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-03-negated.js b/test/built-ins/RegExp/property-escapes/loose-matching-03-negated.js
index 2565cc5b99..0659aaed07 100644
--- a/test/built-ins/RegExp/property-escapes/loose-matching-03-negated.js
+++ b/test/built-ins/RegExp/property-escapes/loose-matching-03-negated.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{ANY}/u;
diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-03.js b/test/built-ins/RegExp/property-escapes/loose-matching-03.js
index 3b1f0247f4..2fae61e514 100644
--- a/test/built-ins/RegExp/property-escapes/loose-matching-03.js
+++ b/test/built-ins/RegExp/property-escapes/loose-matching-03.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{ANY}/u;
diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-04-negated.js b/test/built-ins/RegExp/property-escapes/loose-matching-04-negated.js
index ff9fb3b248..4027bdc4e3 100644
--- a/test/built-ins/RegExp/property-escapes/loose-matching-04-negated.js
+++ b/test/built-ins/RegExp/property-escapes/loose-matching-04-negated.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{ASSIGNED}/u;
diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-04.js b/test/built-ins/RegExp/property-escapes/loose-matching-04.js
index 2959ed27bb..4c10171418 100644
--- a/test/built-ins/RegExp/property-escapes/loose-matching-04.js
+++ b/test/built-ins/RegExp/property-escapes/loose-matching-04.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{ASSIGNED}/u;
diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-05-negated.js b/test/built-ins/RegExp/property-escapes/loose-matching-05-negated.js
index 66d92c8b86..d02653d81c 100644
--- a/test/built-ins/RegExp/property-escapes/loose-matching-05-negated.js
+++ b/test/built-ins/RegExp/property-escapes/loose-matching-05-negated.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{Ascii}/u;
diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-05.js b/test/built-ins/RegExp/property-escapes/loose-matching-05.js
index bf9138e31a..e40a0fc0db 100644
--- a/test/built-ins/RegExp/property-escapes/loose-matching-05.js
+++ b/test/built-ins/RegExp/property-escapes/loose-matching-05.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{Ascii}/u;
diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-06-negated.js b/test/built-ins/RegExp/property-escapes/loose-matching-06-negated.js
index dbece88d10..5e08828984 100644
--- a/test/built-ins/RegExp/property-escapes/loose-matching-06-negated.js
+++ b/test/built-ins/RegExp/property-escapes/loose-matching-06-negated.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{General_Category = Uppercase_Letter}/u;
diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-06.js b/test/built-ins/RegExp/property-escapes/loose-matching-06.js
index 7fd0e521dc..f13fa968ed 100644
--- a/test/built-ins/RegExp/property-escapes/loose-matching-06.js
+++ b/test/built-ins/RegExp/property-escapes/loose-matching-06.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{General_Category = Uppercase_Letter}/u;
diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-07-negated.js b/test/built-ins/RegExp/property-escapes/loose-matching-07-negated.js
index aee5434134..a6afb89f2c 100644
--- a/test/built-ins/RegExp/property-escapes/loose-matching-07-negated.js
+++ b/test/built-ins/RegExp/property-escapes/loose-matching-07-negated.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{_-_lOwEr_C-A_S-E_-_}/u;
diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-07.js b/test/built-ins/RegExp/property-escapes/loose-matching-07.js
index abe0e9a966..40f23a0cf2 100644
--- a/test/built-ins/RegExp/property-escapes/loose-matching-07.js
+++ b/test/built-ins/RegExp/property-escapes/loose-matching-07.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{_-_lOwEr_C-A_S-E_-_}/u;
diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-08-negated.js b/test/built-ins/RegExp/property-escapes/loose-matching-08-negated.js
index 05e1890fa9..3ba1cbc5c8 100644
--- a/test/built-ins/RegExp/property-escapes/loose-matching-08-negated.js
+++ b/test/built-ins/RegExp/property-escapes/loose-matching-08-negated.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{any}/u;
diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-08.js b/test/built-ins/RegExp/property-escapes/loose-matching-08.js
index cbcd02c624..604ecd0103 100644
--- a/test/built-ins/RegExp/property-escapes/loose-matching-08.js
+++ b/test/built-ins/RegExp/property-escapes/loose-matching-08.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{any}/u;
diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-09-negated.js b/test/built-ins/RegExp/property-escapes/loose-matching-09-negated.js
index 02ba194a7d..8c1b4dda06 100644
--- a/test/built-ins/RegExp/property-escapes/loose-matching-09-negated.js
+++ b/test/built-ins/RegExp/property-escapes/loose-matching-09-negated.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{ascii}/u;
diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-09.js b/test/built-ins/RegExp/property-escapes/loose-matching-09.js
index 3fbdaf80e2..d7f58084db 100644
--- a/test/built-ins/RegExp/property-escapes/loose-matching-09.js
+++ b/test/built-ins/RegExp/property-escapes/loose-matching-09.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{ascii}/u;
diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-10-negated.js b/test/built-ins/RegExp/property-escapes/loose-matching-10-negated.js
index 0083d34711..0fb8267c8a 100644
--- a/test/built-ins/RegExp/property-escapes/loose-matching-10-negated.js
+++ b/test/built-ins/RegExp/property-escapes/loose-matching-10-negated.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{assigned}/u;
diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-10.js b/test/built-ins/RegExp/property-escapes/loose-matching-10.js
index 1a9d18025e..0be9644450 100644
--- a/test/built-ins/RegExp/property-escapes/loose-matching-10.js
+++ b/test/built-ins/RegExp/property-escapes/loose-matching-10.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{assigned}/u;
diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-11-negated.js b/test/built-ins/RegExp/property-escapes/loose-matching-11-negated.js
index b85350d0ee..179802af49 100644
--- a/test/built-ins/RegExp/property-escapes/loose-matching-11-negated.js
+++ b/test/built-ins/RegExp/property-escapes/loose-matching-11-negated.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{gC=uppercase_letter}/u;
diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-11.js b/test/built-ins/RegExp/property-escapes/loose-matching-11.js
index 7da740b3c4..d15c4003f4 100644
--- a/test/built-ins/RegExp/property-escapes/loose-matching-11.js
+++ b/test/built-ins/RegExp/property-escapes/loose-matching-11.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{gC=uppercase_letter}/u;
diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-12-negated.js b/test/built-ins/RegExp/property-escapes/loose-matching-12-negated.js
index 11741ffa19..82632a7d4b 100644
--- a/test/built-ins/RegExp/property-escapes/loose-matching-12-negated.js
+++ b/test/built-ins/RegExp/property-escapes/loose-matching-12-negated.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{gc=uppercaseletter}/u;
diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-12.js b/test/built-ins/RegExp/property-escapes/loose-matching-12.js
index 15180fcdba..25e452108c 100644
--- a/test/built-ins/RegExp/property-escapes/loose-matching-12.js
+++ b/test/built-ins/RegExp/property-escapes/loose-matching-12.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{gc=uppercaseletter}/u;
diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-13-negated.js b/test/built-ins/RegExp/property-escapes/loose-matching-13-negated.js
index 9f8b7da7d6..d29dba3d21 100644
--- a/test/built-ins/RegExp/property-escapes/loose-matching-13-negated.js
+++ b/test/built-ins/RegExp/property-escapes/loose-matching-13-negated.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{lowercase}/u;
diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-13.js b/test/built-ins/RegExp/property-escapes/loose-matching-13.js
index 4293037c01..1f946bac03 100644
--- a/test/built-ins/RegExp/property-escapes/loose-matching-13.js
+++ b/test/built-ins/RegExp/property-escapes/loose-matching-13.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{lowercase}/u;
diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-14-negated.js b/test/built-ins/RegExp/property-escapes/loose-matching-14-negated.js
index 9f8b7da7d6..d29dba3d21 100644
--- a/test/built-ins/RegExp/property-escapes/loose-matching-14-negated.js
+++ b/test/built-ins/RegExp/property-escapes/loose-matching-14-negated.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{lowercase}/u;
diff --git a/test/built-ins/RegExp/property-escapes/loose-matching-14.js b/test/built-ins/RegExp/property-escapes/loose-matching-14.js
index 4293037c01..1f946bac03 100644
--- a/test/built-ins/RegExp/property-escapes/loose-matching-14.js
+++ b/test/built-ins/RegExp/property-escapes/loose-matching-14.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{lowercase}/u;
diff --git a/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-General_Category-equals-negated.js b/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-General_Category-equals-negated.js
index faa9fa8bdc..2577e19169 100644
--- a/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-General_Category-equals-negated.js
+++ b/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-General_Category-equals-negated.js
@@ -12,6 +12,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{General_Category=}/u;
diff --git a/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-General_Category-equals.js b/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-General_Category-equals.js
index f36fb17081..c67ddc7db5 100644
--- a/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-General_Category-equals.js
+++ b/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-General_Category-equals.js
@@ -12,6 +12,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{General_Category=}/u;
diff --git a/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-General_Category-negated.js b/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-General_Category-negated.js
index ad55a5dd74..d8a2bd7729 100644
--- a/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-General_Category-negated.js
+++ b/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-General_Category-negated.js
@@ -12,6 +12,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{General_Category}/u;
diff --git a/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-General_Category.js b/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-General_Category.js
index 39a6a9109d..dafefa4062 100644
--- a/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-General_Category.js
+++ b/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-General_Category.js
@@ -12,6 +12,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{General_Category}/u;
diff --git a/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script-equals-negated.js b/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script-equals-negated.js
index 25131898fc..5d26aebecf 100644
--- a/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script-equals-negated.js
+++ b/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script-equals-negated.js
@@ -12,6 +12,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{Script=}/u;
diff --git a/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script-equals.js b/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script-equals.js
index 4c21d041ee..0268dd8126 100644
--- a/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script-equals.js
+++ b/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script-equals.js
@@ -12,6 +12,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{Script=}/u;
diff --git a/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script-negated.js b/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script-negated.js
index 430fb14d9d..f8b0167fcd 100644
--- a/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script-negated.js
+++ b/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script-negated.js
@@ -12,6 +12,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{Script}/u;
diff --git a/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script.js b/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script.js
index b121607fb4..ff266152ec 100644
--- a/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script.js
+++ b/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script.js
@@ -12,6 +12,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{Script}/u;
diff --git a/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script_Extensions-equals-negated.js b/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script_Extensions-equals-negated.js
index 7cb0a650d8..ff0b17c72e 100644
--- a/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script_Extensions-equals-negated.js
+++ b/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script_Extensions-equals-negated.js
@@ -12,6 +12,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{Script_Extensions=}/u;
diff --git a/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script_Extensions-equals.js b/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script_Extensions-equals.js
index 76f20b1bbf..0198106f6c 100644
--- a/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script_Extensions-equals.js
+++ b/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script_Extensions-equals.js
@@ -12,6 +12,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{Script_Extensions=}/u;
diff --git a/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script_Extensions-negated.js b/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script_Extensions-negated.js
index 60bf6d18ee..22fa48e234 100644
--- a/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script_Extensions-negated.js
+++ b/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script_Extensions-negated.js
@@ -12,6 +12,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{Script_Extensions}/u;
diff --git a/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script_Extensions.js b/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script_Extensions.js
index 77200ab05b..64f0db67f0 100644
--- a/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script_Extensions.js
+++ b/test/built-ins/RegExp/property-escapes/non-binary-property-without-value-Script_Extensions.js
@@ -12,6 +12,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{Script_Extensions}/u;
diff --git a/test/built-ins/RegExp/property-escapes/non-existent-binary-property-negated.js b/test/built-ins/RegExp/property-escapes/non-existent-binary-property-negated.js
index 7ae47f4688..1c8f0a20db 100644
--- a/test/built-ins/RegExp/property-escapes/non-existent-binary-property-negated.js
+++ b/test/built-ins/RegExp/property-escapes/non-existent-binary-property-negated.js
@@ -12,6 +12,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{UnknownBinaryProperty}/u;
diff --git a/test/built-ins/RegExp/property-escapes/non-existent-binary-property.js b/test/built-ins/RegExp/property-escapes/non-existent-binary-property.js
index e8ca1e7b6e..774c2101b3 100644
--- a/test/built-ins/RegExp/property-escapes/non-existent-binary-property.js
+++ b/test/built-ins/RegExp/property-escapes/non-existent-binary-property.js
@@ -12,6 +12,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{UnknownBinaryProperty}/u;
diff --git a/test/built-ins/RegExp/property-escapes/non-existent-property-and-value-negated.js b/test/built-ins/RegExp/property-escapes/non-existent-property-and-value-negated.js
index 063cecc368..cc9d776381 100644
--- a/test/built-ins/RegExp/property-escapes/non-existent-property-and-value-negated.js
+++ b/test/built-ins/RegExp/property-escapes/non-existent-property-and-value-negated.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{Line_Breakz=WAT}/u;
diff --git a/test/built-ins/RegExp/property-escapes/non-existent-property-and-value.js b/test/built-ins/RegExp/property-escapes/non-existent-property-and-value.js
index 036b33af8e..00111eb126 100644
--- a/test/built-ins/RegExp/property-escapes/non-existent-property-and-value.js
+++ b/test/built-ins/RegExp/property-escapes/non-existent-property-and-value.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{Line_Breakz=WAT}/u;
diff --git a/test/built-ins/RegExp/property-escapes/non-existent-property-existing-value-negated.js b/test/built-ins/RegExp/property-escapes/non-existent-property-existing-value-negated.js
index bbc5bf71fb..21b62d373d 100644
--- a/test/built-ins/RegExp/property-escapes/non-existent-property-existing-value-negated.js
+++ b/test/built-ins/RegExp/property-escapes/non-existent-property-existing-value-negated.js
@@ -12,6 +12,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{Line_Breakz=Alphabetic}/u;
diff --git a/test/built-ins/RegExp/property-escapes/non-existent-property-existing-value.js b/test/built-ins/RegExp/property-escapes/non-existent-property-existing-value.js
index 275a4ad023..338c4606fa 100644
--- a/test/built-ins/RegExp/property-escapes/non-existent-property-existing-value.js
+++ b/test/built-ins/RegExp/property-escapes/non-existent-property-existing-value.js
@@ -12,6 +12,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{Line_Breakz=Alphabetic}/u;
diff --git a/test/built-ins/RegExp/property-escapes/non-existent-property-value-General_Category-negated.js b/test/built-ins/RegExp/property-escapes/non-existent-property-value-General_Category-negated.js
index 5dd4d1d85a..a50e754e6b 100644
--- a/test/built-ins/RegExp/property-escapes/non-existent-property-value-General_Category-negated.js
+++ b/test/built-ins/RegExp/property-escapes/non-existent-property-value-General_Category-negated.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\\P{General_Category=WAT}/u;
diff --git a/test/built-ins/RegExp/property-escapes/non-existent-property-value-Script-negated.js b/test/built-ins/RegExp/property-escapes/non-existent-property-value-Script-negated.js
index 7c43256f95..5dca3cb97d 100644
--- a/test/built-ins/RegExp/property-escapes/non-existent-property-value-Script-negated.js
+++ b/test/built-ins/RegExp/property-escapes/non-existent-property-value-Script-negated.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\\P{Script=FooBarBazInvalid}/u;
diff --git a/test/built-ins/RegExp/property-escapes/non-existent-property-value-Script.js b/test/built-ins/RegExp/property-escapes/non-existent-property-value-Script.js
index 6a621cd649..2258f456b1 100644
--- a/test/built-ins/RegExp/property-escapes/non-existent-property-value-Script.js
+++ b/test/built-ins/RegExp/property-escapes/non-existent-property-value-Script.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\\p{Script=FooBarBazInvalid}/u;
diff --git a/test/built-ins/RegExp/property-escapes/non-existent-property-value-Script_Extensions-negated.js b/test/built-ins/RegExp/property-escapes/non-existent-property-value-Script_Extensions-negated.js
index e6dfc72187..cfd5b006b4 100644
--- a/test/built-ins/RegExp/property-escapes/non-existent-property-value-Script_Extensions-negated.js
+++ b/test/built-ins/RegExp/property-escapes/non-existent-property-value-Script_Extensions-negated.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\\P{Script_Extensions=H_e_h}/u;
diff --git a/test/built-ins/RegExp/property-escapes/non-existent-property-value-Script_Extensions.js b/test/built-ins/RegExp/property-escapes/non-existent-property-value-Script_Extensions.js
index 48fb76d50c..46a9f82573 100644
--- a/test/built-ins/RegExp/property-escapes/non-existent-property-value-Script_Extensions.js
+++ b/test/built-ins/RegExp/property-escapes/non-existent-property-value-Script_Extensions.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\\p{Script_Extensions=H_e_h}/u;
diff --git a/test/built-ins/RegExp/property-escapes/non-existent-property-value-general-category.js b/test/built-ins/RegExp/property-escapes/non-existent-property-value-general-category.js
index 9acdfe28d2..d7dfa4c191 100644
--- a/test/built-ins/RegExp/property-escapes/non-existent-property-value-general-category.js
+++ b/test/built-ins/RegExp/property-escapes/non-existent-property-value-general-category.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\\p{General_Category=WAT}/u;
diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Composition_Exclusion-negated.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Composition_Exclusion-negated.js
index 99e45692d0..00533beb7d 100644
--- a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Composition_Exclusion-negated.js
+++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Composition_Exclusion-negated.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{Composition_Exclusion}/u;
diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Composition_Exclusion.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Composition_Exclusion.js
index 9ed3d596d1..e3a033d69c 100644
--- a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Composition_Exclusion.js
+++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Composition_Exclusion.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{Composition_Exclusion}/u;
diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFC-negated.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFC-negated.js
index 3f533590e1..765e361c9b 100644
--- a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFC-negated.js
+++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFC-negated.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{Expands_On_NFC}/u;
diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFC.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFC.js
index c385fb52a5..d6df2baa96 100644
--- a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFC.js
+++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFC.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{Expands_On_NFC}/u;
diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFD-negated.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFD-negated.js
index 4ab48cffda..04bc8d5aa7 100644
--- a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFD-negated.js
+++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFD-negated.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{Expands_On_NFD}/u;
diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFD.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFD.js
index 426e45890b..600823f68f 100644
--- a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFD.js
+++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFD.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{Expands_On_NFD}/u;
diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFKC-negated.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFKC-negated.js
index b00dba7b88..f402aa0910 100644
--- a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFKC-negated.js
+++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFKC-negated.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{Expands_On_NFKC}/u;
diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFKC.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFKC.js
index c37c246596..4a8b514e5f 100644
--- a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFKC.js
+++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFKC.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{Expands_On_NFKC}/u;
diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFKD-negated.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFKD-negated.js
index b53043a71a..1ddd3804cf 100644
--- a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFKD-negated.js
+++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFKD-negated.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{Expands_On_NFKD}/u;
diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFKD.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFKD.js
index 97d2a16c28..f926e953b7 100644
--- a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFKD.js
+++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Expands_On_NFKD.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{Expands_On_NFKD}/u;
diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-FC_NFKC_Closure-negated.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-FC_NFKC_Closure-negated.js
index 7d8545ae62..45c0f690d5 100644
--- a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-FC_NFKC_Closure-negated.js
+++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-FC_NFKC_Closure-negated.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{FC_NFKC_Closure}/u;
diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-FC_NFKC_Closure.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-FC_NFKC_Closure.js
index f6eef54861..6f4648721e 100644
--- a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-FC_NFKC_Closure.js
+++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-FC_NFKC_Closure.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{FC_NFKC_Closure}/u;
diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Full_Composition_Exclusion-negated.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Full_Composition_Exclusion-negated.js
index 1be13eff61..149e8587b0 100644
--- a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Full_Composition_Exclusion-negated.js
+++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Full_Composition_Exclusion-negated.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{Full_Composition_Exclusion}/u;
diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Full_Composition_Exclusion.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Full_Composition_Exclusion.js
index a4c0648930..5a0ccba4d6 100644
--- a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Full_Composition_Exclusion.js
+++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Full_Composition_Exclusion.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{Full_Composition_Exclusion}/u;
diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Grapheme_Link-negated.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Grapheme_Link-negated.js
index 70e570811d..53cb23f269 100644
--- a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Grapheme_Link-negated.js
+++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Grapheme_Link-negated.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{Grapheme_Link}/u;
diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Grapheme_Link.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Grapheme_Link.js
index 1699ff37bc..98d63e31c4 100644
--- a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Grapheme_Link.js
+++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Grapheme_Link.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{Grapheme_Link}/u;
diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Hyphen-negated.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Hyphen-negated.js
index 85af0ad93c..f837d9bfb4 100644
--- a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Hyphen-negated.js
+++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Hyphen-negated.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{Hyphen}/u;
diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Hyphen.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Hyphen.js
index 1661ff0a93..bde1025d29 100644
--- a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Hyphen.js
+++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Hyphen.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{Hyphen}/u;
diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Alphabetic-negated.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Alphabetic-negated.js
index cf5f1bfb93..d8bcefa865 100644
--- a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Alphabetic-negated.js
+++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Alphabetic-negated.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{Other_Alphabetic}/u;
diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Alphabetic.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Alphabetic.js
index 40040e219f..2ede4c94ab 100644
--- a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Alphabetic.js
+++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Alphabetic.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{Other_Alphabetic}/u;
diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Default_Ignorable_Code_Point-negated.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Default_Ignorable_Code_Point-negated.js
index 6d4f4a08ad..8563571756 100644
--- a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Default_Ignorable_Code_Point-negated.js
+++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Default_Ignorable_Code_Point-negated.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{Other_Default_Ignorable_Code_Point}/u;
diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Default_Ignorable_Code_Point.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Default_Ignorable_Code_Point.js
index ce183da1db..e6f804be36 100644
--- a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Default_Ignorable_Code_Point.js
+++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Default_Ignorable_Code_Point.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{Other_Default_Ignorable_Code_Point}/u;
diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Grapheme_Extend-negated.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Grapheme_Extend-negated.js
index 61429dfbdb..d1e6885700 100644
--- a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Grapheme_Extend-negated.js
+++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Grapheme_Extend-negated.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{Other_Grapheme_Extend}/u;
diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Grapheme_Extend.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Grapheme_Extend.js
index e59fa88e84..475e51e2c5 100644
--- a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Grapheme_Extend.js
+++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Grapheme_Extend.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{Other_Grapheme_Extend}/u;
diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_ID_Continue-negated.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_ID_Continue-negated.js
index ece245eec2..c20f0ccc89 100644
--- a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_ID_Continue-negated.js
+++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_ID_Continue-negated.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{Other_ID_Continue}/u;
diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_ID_Continue.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_ID_Continue.js
index e6ef9f7a4d..89853dda24 100644
--- a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_ID_Continue.js
+++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_ID_Continue.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{Other_ID_Continue}/u;
diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_ID_Start-negated.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_ID_Start-negated.js
index 9d286655f3..9f8529a66a 100644
--- a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_ID_Start-negated.js
+++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_ID_Start-negated.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{Other_ID_Start}/u;
diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_ID_Start.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_ID_Start.js
index 2a6d22d324..1a151a8778 100644
--- a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_ID_Start.js
+++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_ID_Start.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{Other_ID_Start}/u;
diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Lowercase-negated.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Lowercase-negated.js
index 398316ac9f..ac0be32a9b 100644
--- a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Lowercase-negated.js
+++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Lowercase-negated.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{Other_Lowercase}/u;
diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Lowercase.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Lowercase.js
index 95d92095a6..becbc802b7 100644
--- a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Lowercase.js
+++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Lowercase.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{Other_Lowercase}/u;
diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Math-negated.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Math-negated.js
index a4cfada0fd..0bcb6d636e 100644
--- a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Math-negated.js
+++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Math-negated.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{Other_Math}/u;
diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Math.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Math.js
index 507e5f3e7d..7d1fef4ec5 100644
--- a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Math.js
+++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Math.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{Other_Math}/u;
diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Uppercase-negated.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Uppercase-negated.js
index c9738dc055..c16cd2448d 100644
--- a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Uppercase-negated.js
+++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Uppercase-negated.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{Other_Uppercase}/u;
diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Uppercase.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Uppercase.js
index fa90a7e9be..023c5128f7 100644
--- a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Uppercase.js
+++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Other_Uppercase.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{Other_Uppercase}/u;
diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Prepended_Concatenation_Mark-negated.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Prepended_Concatenation_Mark-negated.js
index c6b40da2ff..49251cdcbf 100644
--- a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Prepended_Concatenation_Mark-negated.js
+++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Prepended_Concatenation_Mark-negated.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{Prepended_Concatenation_Mark}/u;
diff --git a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Prepended_Concatenation_Mark.js b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Prepended_Concatenation_Mark.js
index 23cd6a9e7a..d66e9d02ba 100644
--- a/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Prepended_Concatenation_Mark.js
+++ b/test/built-ins/RegExp/property-escapes/unsupported-binary-property-Prepended_Concatenation_Mark.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{Prepended_Concatenation_Mark}/u;
diff --git a/test/built-ins/RegExp/property-escapes/unsupported-property-Block-with-value-negated.js b/test/built-ins/RegExp/property-escapes/unsupported-property-Block-with-value-negated.js
index b72bd13b99..b867fd8d78 100644
--- a/test/built-ins/RegExp/property-escapes/unsupported-property-Block-with-value-negated.js
+++ b/test/built-ins/RegExp/property-escapes/unsupported-property-Block-with-value-negated.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{Block=Adlam}/u;
diff --git a/test/built-ins/RegExp/property-escapes/unsupported-property-Block-with-value.js b/test/built-ins/RegExp/property-escapes/unsupported-property-Block-with-value.js
index 6eb1762355..4552c1b083 100644
--- a/test/built-ins/RegExp/property-escapes/unsupported-property-Block-with-value.js
+++ b/test/built-ins/RegExp/property-escapes/unsupported-property-Block-with-value.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{Block=Adlam}/u;
diff --git a/test/built-ins/RegExp/property-escapes/unsupported-property-FC_NFKC_Closure-negated.js b/test/built-ins/RegExp/property-escapes/unsupported-property-FC_NFKC_Closure-negated.js
index 6f8cb3f861..aac13d62b0 100644
--- a/test/built-ins/RegExp/property-escapes/unsupported-property-FC_NFKC_Closure-negated.js
+++ b/test/built-ins/RegExp/property-escapes/unsupported-property-FC_NFKC_Closure-negated.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{FC_NFKC_Closure}/u;
diff --git a/test/built-ins/RegExp/property-escapes/unsupported-property-FC_NFKC_Closure.js b/test/built-ins/RegExp/property-escapes/unsupported-property-FC_NFKC_Closure.js
index ecec67ae58..0e2e3be379 100644
--- a/test/built-ins/RegExp/property-escapes/unsupported-property-FC_NFKC_Closure.js
+++ b/test/built-ins/RegExp/property-escapes/unsupported-property-FC_NFKC_Closure.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{FC_NFKC_Closure}/u;
diff --git a/test/built-ins/RegExp/property-escapes/unsupported-property-Line_Break-negated.js b/test/built-ins/RegExp/property-escapes/unsupported-property-Line_Break-negated.js
index 4c4edf9f26..f9b8c7e441 100644
--- a/test/built-ins/RegExp/property-escapes/unsupported-property-Line_Break-negated.js
+++ b/test/built-ins/RegExp/property-escapes/unsupported-property-Line_Break-negated.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{Line_Break=Alphabetic}/u;
diff --git a/test/built-ins/RegExp/property-escapes/unsupported-property-Line_Break-with-value-negated.js b/test/built-ins/RegExp/property-escapes/unsupported-property-Line_Break-with-value-negated.js
index 4c4edf9f26..f9b8c7e441 100644
--- a/test/built-ins/RegExp/property-escapes/unsupported-property-Line_Break-with-value-negated.js
+++ b/test/built-ins/RegExp/property-escapes/unsupported-property-Line_Break-with-value-negated.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\P{Line_Break=Alphabetic}/u;
diff --git a/test/built-ins/RegExp/property-escapes/unsupported-property-Line_Break-with-value.js b/test/built-ins/RegExp/property-escapes/unsupported-property-Line_Break-with-value.js
index e404917ab2..46f97c1311 100644
--- a/test/built-ins/RegExp/property-escapes/unsupported-property-Line_Break-with-value.js
+++ b/test/built-ins/RegExp/property-escapes/unsupported-property-Line_Break-with-value.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{Line_Break=Alphabetic}/u;
diff --git a/test/built-ins/RegExp/property-escapes/unsupported-property-Line_Break.js b/test/built-ins/RegExp/property-escapes/unsupported-property-Line_Break.js
index 38d259eba5..d4256a7831 100644
--- a/test/built-ins/RegExp/property-escapes/unsupported-property-Line_Break.js
+++ b/test/built-ins/RegExp/property-escapes/unsupported-property-Line_Break.js
@@ -13,6 +13,6 @@ negative:
 features: [regexp-unicode-property-escapes]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\p{Line_Break}/u;
diff --git a/test/harness/sta.js b/test/harness/sta.js
index 6672c385fe..0789090392 100644
--- a/test/harness/sta.js
+++ b/test/harness/sta.js
@@ -11,3 +11,4 @@ description: >
 assert(typeof Test262Error === "function");
 assert(typeof Test262Error.prototype.toString === "function");
 assert(typeof $ERROR === "function");
+assert(typeof failIfCodeGetsEvaluated === "function");
diff --git a/test/language/arguments-object/10.5-1gs.js b/test/language/arguments-object/10.5-1gs.js
index 8354542975..32a666a4ba 100644
--- a/test/language/arguments-object/10.5-1gs.js
+++ b/test/language/arguments-object/10.5-1gs.js
@@ -10,7 +10,7 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 function f_10_5_1_gs(){
diff --git a/test/language/asi/S7.9.2_A1_T1.js b/test/language/asi/S7.9.2_A1_T1.js
index e0aede2934..62b45efef7 100644
--- a/test/language/asi/S7.9.2_A1_T1.js
+++ b/test/language/asi/S7.9.2_A1_T1.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
 { 1 2 } 3
diff --git a/test/language/asi/S7.9.2_A1_T3.js b/test/language/asi/S7.9.2_A1_T3.js
index 200c1216b2..f2a15fad78 100644
--- a/test/language/asi/S7.9.2_A1_T3.js
+++ b/test/language/asi/S7.9.2_A1_T3.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
 for( a ; b
diff --git a/test/language/asi/S7.9.2_A1_T6.js b/test/language/asi/S7.9.2_A1_T6.js
index e62f2ba7bb..8e15e865c7 100644
--- a/test/language/asi/S7.9.2_A1_T6.js
+++ b/test/language/asi/S7.9.2_A1_T6.js
@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
 var a=1,b=2,c=3,d;
diff --git a/test/language/asi/S7.9_A10_T2.js b/test/language/asi/S7.9_A10_T2.js
index 94faa8794b..a2dc786a7b 100644
--- a/test/language/asi/S7.9_A10_T2.js
+++ b/test/language/asi/S7.9_A10_T2.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
 {} * 1
diff --git a/test/language/asi/S7.9_A10_T4.js b/test/language/asi/S7.9_A10_T4.js
index 2f1ef12fef..d38f03fc43 100644
--- a/test/language/asi/S7.9_A10_T4.js
+++ b/test/language/asi/S7.9_A10_T4.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
 ({};) * 1
diff --git a/test/language/asi/S7.9_A10_T6.js b/test/language/asi/S7.9_A10_T6.js
index 6c6de5a10c..051bcf7ba6 100644
--- a/test/language/asi/S7.9_A10_T6.js
+++ b/test/language/asi/S7.9_A10_T6.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
 {}
diff --git a/test/language/asi/S7.9_A10_T8.js b/test/language/asi/S7.9_A10_T8.js
index 35d3e522bb..86564ec58e 100644
--- a/test/language/asi/S7.9_A10_T8.js
+++ b/test/language/asi/S7.9_A10_T8.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
 {1 2} 3
diff --git a/test/language/asi/S7.9_A11_T4.js b/test/language/asi/S7.9_A11_T4.js
index ee1fa5fafd..a9139cb6b5 100644
--- a/test/language/asi/S7.9_A11_T4.js
+++ b/test/language/asi/S7.9_A11_T4.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
 var x = 0;
diff --git a/test/language/asi/S7.9_A11_T8.js b/test/language/asi/S7.9_A11_T8.js
index cb5e2b419f..ca6ae88154 100644
--- a/test/language/asi/S7.9_A11_T8.js
+++ b/test/language/asi/S7.9_A11_T8.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 if (false) {};
 else {}
diff --git a/test/language/asi/S7.9_A4.js b/test/language/asi/S7.9_A4.js
index 5151bc5ed8..0ddfd60e58 100644
--- a/test/language/asi/S7.9_A4.js
+++ b/test/language/asi/S7.9_A4.js
@@ -10,11 +10,11 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
 try {
-  throw 
+  throw
   1;
-} catch(e) {  
-}  
+} catch(e) {
+}
diff --git a/test/language/asi/S7.9_A5.1_T1.js b/test/language/asi/S7.9_A5.1_T1.js
index 4fe951cf75..143bbe55a9 100644
--- a/test/language/asi/S7.9_A5.1_T1.js
+++ b/test/language/asi/S7.9_A5.1_T1.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var x = 0;
 x
diff --git a/test/language/asi/S7.9_A5.3_T1.js b/test/language/asi/S7.9_A5.3_T1.js
index 32ccb5e9e8..8ccc7206c3 100644
--- a/test/language/asi/S7.9_A5.3_T1.js
+++ b/test/language/asi/S7.9_A5.3_T1.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
 var x = 1;
diff --git a/test/language/asi/S7.9_A5.7_T1.js b/test/language/asi/S7.9_A5.7_T1.js
index 80f66f595a..d3c248554c 100644
--- a/test/language/asi/S7.9_A5.7_T1.js
+++ b/test/language/asi/S7.9_A5.7_T1.js
@@ -16,7 +16,7 @@ negative:
   type: ReferenceError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var x=0, y=0;
 var z=
diff --git a/test/language/asi/S7.9_A6.2_T1.js b/test/language/asi/S7.9_A6.2_T1.js
index 445dd2854f..db46e31167 100644
--- a/test/language/asi/S7.9_A6.2_T1.js
+++ b/test/language/asi/S7.9_A6.2_T1.js
@@ -13,7 +13,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
 for(;
diff --git a/test/language/asi/S7.9_A6.2_T10.js b/test/language/asi/S7.9_A6.2_T10.js
index 0f52b20e23..a9948add58 100644
--- a/test/language/asi/S7.9_A6.2_T10.js
+++ b/test/language/asi/S7.9_A6.2_T10.js
@@ -13,7 +13,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
 for(
diff --git a/test/language/asi/S7.9_A6.2_T2.js b/test/language/asi/S7.9_A6.2_T2.js
index 3476b09920..b2fd03d442 100644
--- a/test/language/asi/S7.9_A6.2_T2.js
+++ b/test/language/asi/S7.9_A6.2_T2.js
@@ -13,7 +13,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
 for(
diff --git a/test/language/asi/S7.9_A6.2_T3.js b/test/language/asi/S7.9_A6.2_T3.js
index fb11aa8be6..9fe7be594f 100644
--- a/test/language/asi/S7.9_A6.2_T3.js
+++ b/test/language/asi/S7.9_A6.2_T3.js
@@ -13,7 +13,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
 for(
diff --git a/test/language/asi/S7.9_A6.2_T4.js b/test/language/asi/S7.9_A6.2_T4.js
index 7ecf2c5d2b..5be83574d7 100644
--- a/test/language/asi/S7.9_A6.2_T4.js
+++ b/test/language/asi/S7.9_A6.2_T4.js
@@ -13,11 +13,11 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
 for(
-    
+
 ;) {
   break;
 }
diff --git a/test/language/asi/S7.9_A6.2_T5.js b/test/language/asi/S7.9_A6.2_T5.js
index 51f6cd1cb4..a8ef488ee3 100644
--- a/test/language/asi/S7.9_A6.2_T5.js
+++ b/test/language/asi/S7.9_A6.2_T5.js
@@ -13,7 +13,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
 for(false;false
diff --git a/test/language/asi/S7.9_A6.2_T6.js b/test/language/asi/S7.9_A6.2_T6.js
index 6197b414ea..d6129bcd3b 100644
--- a/test/language/asi/S7.9_A6.2_T6.js
+++ b/test/language/asi/S7.9_A6.2_T6.js
@@ -13,7 +13,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
 for(false;
diff --git a/test/language/asi/S7.9_A6.2_T7.js b/test/language/asi/S7.9_A6.2_T7.js
index 69266ce24b..90e07986af 100644
--- a/test/language/asi/S7.9_A6.2_T7.js
+++ b/test/language/asi/S7.9_A6.2_T7.js
@@ -13,7 +13,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
 for(false
diff --git a/test/language/asi/S7.9_A6.2_T8.js b/test/language/asi/S7.9_A6.2_T8.js
index 9e9103bf9f..c63d1ddb40 100644
--- a/test/language/asi/S7.9_A6.2_T8.js
+++ b/test/language/asi/S7.9_A6.2_T8.js
@@ -13,7 +13,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
 for(false
diff --git a/test/language/asi/S7.9_A6.2_T9.js b/test/language/asi/S7.9_A6.2_T9.js
index 0ae1d32140..5caf89c498 100644
--- a/test/language/asi/S7.9_A6.2_T9.js
+++ b/test/language/asi/S7.9_A6.2_T9.js
@@ -13,7 +13,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
 for(
diff --git a/test/language/asi/S7.9_A6.3_T1.js b/test/language/asi/S7.9_A6.3_T1.js
index 3c8b2ebfe7..76c7c1b33d 100644
--- a/test/language/asi/S7.9_A6.3_T1.js
+++ b/test/language/asi/S7.9_A6.3_T1.js
@@ -13,7 +13,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
 for(
diff --git a/test/language/asi/S7.9_A6.3_T2.js b/test/language/asi/S7.9_A6.3_T2.js
index 2686c54b5a..121815f5b0 100644
--- a/test/language/asi/S7.9_A6.3_T2.js
+++ b/test/language/asi/S7.9_A6.3_T2.js
@@ -13,11 +13,11 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
 for(
-    
+
 ) {
   break;
 }
diff --git a/test/language/asi/S7.9_A6.3_T3.js b/test/language/asi/S7.9_A6.3_T3.js
index 121dfae5d1..db3bc0c618 100644
--- a/test/language/asi/S7.9_A6.3_T3.js
+++ b/test/language/asi/S7.9_A6.3_T3.js
@@ -13,12 +13,12 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
 for(
-    
-    
+
+
 ) {
   break;
 }
diff --git a/test/language/asi/S7.9_A6.3_T4.js b/test/language/asi/S7.9_A6.3_T4.js
index d20c8092d3..8538816bed 100644
--- a/test/language/asi/S7.9_A6.3_T4.js
+++ b/test/language/asi/S7.9_A6.3_T4.js
@@ -13,7 +13,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
 for(
diff --git a/test/language/asi/S7.9_A6.3_T5.js b/test/language/asi/S7.9_A6.3_T5.js
index 9539a4326c..2360a8e9a2 100644
--- a/test/language/asi/S7.9_A6.3_T5.js
+++ b/test/language/asi/S7.9_A6.3_T5.js
@@ -13,7 +13,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
 for(false
diff --git a/test/language/asi/S7.9_A6.3_T6.js b/test/language/asi/S7.9_A6.3_T6.js
index 60d98ba6ea..b6b06b0889 100644
--- a/test/language/asi/S7.9_A6.3_T6.js
+++ b/test/language/asi/S7.9_A6.3_T6.js
@@ -13,7 +13,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
 for(
diff --git a/test/language/asi/S7.9_A6.3_T7.js b/test/language/asi/S7.9_A6.3_T7.js
index 49068eb826..5c7f5adcac 100644
--- a/test/language/asi/S7.9_A6.3_T7.js
+++ b/test/language/asi/S7.9_A6.3_T7.js
@@ -13,7 +13,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
 for(
diff --git a/test/language/asi/S7.9_A6.4_T1.js b/test/language/asi/S7.9_A6.4_T1.js
index af972194ef..28ec4eaca1 100644
--- a/test/language/asi/S7.9_A6.4_T1.js
+++ b/test/language/asi/S7.9_A6.4_T1.js
@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
 for(false;false;false;) {
diff --git a/test/language/asi/S7.9_A6.4_T2.js b/test/language/asi/S7.9_A6.4_T2.js
index bc840f6dbd..7072402b72 100644
--- a/test/language/asi/S7.9_A6.4_T2.js
+++ b/test/language/asi/S7.9_A6.4_T2.js
@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
 for(false;false;;false) {
diff --git a/test/language/asi/S7.9_A9_T6.js b/test/language/asi/S7.9_A9_T6.js
index 10a406b327..8082a7bf7d 100644
--- a/test/language/asi/S7.9_A9_T6.js
+++ b/test/language/asi/S7.9_A9_T6.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
 do
diff --git a/test/language/asi/S7.9_A9_T7.js b/test/language/asi/S7.9_A9_T7.js
index a456ae6062..d78193d8ad 100644
--- a/test/language/asi/S7.9_A9_T7.js
+++ b/test/language/asi/S7.9_A9_T7.js
@@ -10,9 +10,9 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
 do
-  
+
 while (false)
diff --git a/test/language/asi/S7.9_A9_T8.js b/test/language/asi/S7.9_A9_T8.js
index 105220f9ad..c990c7686c 100644
--- a/test/language/asi/S7.9_A9_T8.js
+++ b/test/language/asi/S7.9_A9_T8.js
@@ -10,8 +10,8 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
-do {}; 
+do {};
 while (false)
diff --git a/test/language/block-scope/syntax/for-in/disallow-initialization-assignment.js b/test/language/block-scope/syntax/for-in/disallow-initialization-assignment.js
index f7427ba0d4..b262dade74 100644
--- a/test/language/block-scope/syntax/for-in/disallow-initialization-assignment.js
+++ b/test/language/block-scope/syntax/for-in/disallow-initialization-assignment.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 for (let x = 3 in {}) { }
 
diff --git a/test/language/block-scope/syntax/for-in/disallow-multiple-lexical-bindings-with-and-without-initializer.js b/test/language/block-scope/syntax/for-in/disallow-multiple-lexical-bindings-with-and-without-initializer.js
index 8bc221651a..3b53e18036 100644
--- a/test/language/block-scope/syntax/for-in/disallow-multiple-lexical-bindings-with-and-without-initializer.js
+++ b/test/language/block-scope/syntax/for-in/disallow-multiple-lexical-bindings-with-and-without-initializer.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 for (let x = 3, y in {}) { }
 
diff --git a/test/language/block-scope/syntax/for-in/disallow-multiple-lexical-bindings-with-initializer.js b/test/language/block-scope/syntax/for-in/disallow-multiple-lexical-bindings-with-initializer.js
index 1805436565..a09d9158f4 100644
--- a/test/language/block-scope/syntax/for-in/disallow-multiple-lexical-bindings-with-initializer.js
+++ b/test/language/block-scope/syntax/for-in/disallow-multiple-lexical-bindings-with-initializer.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 for (let x = 3, y = 4 in {}) { }
 
diff --git a/test/language/block-scope/syntax/for-in/disallow-multiple-lexical-bindings-without-and-with-initializer.js b/test/language/block-scope/syntax/for-in/disallow-multiple-lexical-bindings-without-and-with-initializer.js
index 95d27bd366..a23a48e662 100644
--- a/test/language/block-scope/syntax/for-in/disallow-multiple-lexical-bindings-without-and-with-initializer.js
+++ b/test/language/block-scope/syntax/for-in/disallow-multiple-lexical-bindings-without-and-with-initializer.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 for (let x, y = 4 in {}) { }
 
diff --git a/test/language/block-scope/syntax/for-in/disallow-multiple-lexical-bindings.js b/test/language/block-scope/syntax/for-in/disallow-multiple-lexical-bindings.js
index 0cf2e9a9ab..73f0a3c71a 100644
--- a/test/language/block-scope/syntax/for-in/disallow-multiple-lexical-bindings.js
+++ b/test/language/block-scope/syntax/for-in/disallow-multiple-lexical-bindings.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 for (let x, y in {}) { }
 
diff --git a/test/language/block-scope/syntax/function-declarations/in-statement-position-do-statement-while-expression.js b/test/language/block-scope/syntax/function-declarations/in-statement-position-do-statement-while-expression.js
index c3785e2377..b96b79e6f0 100644
--- a/test/language/block-scope/syntax/function-declarations/in-statement-position-do-statement-while-expression.js
+++ b/test/language/block-scope/syntax/function-declarations/in-statement-position-do-statement-while-expression.js
@@ -11,6 +11,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 do function g() {} while (false)
 
diff --git a/test/language/block-scope/syntax/function-declarations/in-statement-position-for-statement.js b/test/language/block-scope/syntax/function-declarations/in-statement-position-for-statement.js
index 06e072ebdf..1760a6e18a 100644
--- a/test/language/block-scope/syntax/function-declarations/in-statement-position-for-statement.js
+++ b/test/language/block-scope/syntax/function-declarations/in-statement-position-for-statement.js
@@ -11,6 +11,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 for (;false;) function g() {}
 
diff --git a/test/language/block-scope/syntax/function-declarations/in-statement-position-if-expression-statement-else-statement.js b/test/language/block-scope/syntax/function-declarations/in-statement-position-if-expression-statement-else-statement.js
index d983bbf4c9..c0fca8f6c2 100644
--- a/test/language/block-scope/syntax/function-declarations/in-statement-position-if-expression-statement-else-statement.js
+++ b/test/language/block-scope/syntax/function-declarations/in-statement-position-if-expression-statement-else-statement.js
@@ -11,6 +11,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 if (true) {} else function g() {}
 
diff --git a/test/language/block-scope/syntax/function-declarations/in-statement-position-if-expression-statement.js b/test/language/block-scope/syntax/function-declarations/in-statement-position-if-expression-statement.js
index a1b0ad9cb5..5a5f6bed62 100644
--- a/test/language/block-scope/syntax/function-declarations/in-statement-position-if-expression-statement.js
+++ b/test/language/block-scope/syntax/function-declarations/in-statement-position-if-expression-statement.js
@@ -11,6 +11,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 if (true) function g() {}
 
diff --git a/test/language/block-scope/syntax/function-declarations/in-statement-position-while-expression-statement.js b/test/language/block-scope/syntax/function-declarations/in-statement-position-while-expression-statement.js
index 00e23e3bf8..a24b112f33 100644
--- a/test/language/block-scope/syntax/function-declarations/in-statement-position-while-expression-statement.js
+++ b/test/language/block-scope/syntax/function-declarations/in-statement-position-while-expression-statement.js
@@ -11,6 +11,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 while (false) function g() {}
 
diff --git a/test/language/block-scope/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-async-function-declaration.js b/test/language/block-scope/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-async-function-declaration.js
index 417be8520d..666be0e9a7 100644
--- a/test/language/block-scope/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-async-function-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-async-function-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { async function f() {} async function f() {} }
diff --git a/test/language/block-scope/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-async-generator-declaration.js b/test/language/block-scope/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-async-generator-declaration.js
index 1a1d867b4e..3bad4af013 100644
--- a/test/language/block-scope/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-async-generator-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-async-generator-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { async function f() {} async function* f() {} }
diff --git a/test/language/block-scope/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-class-declaration.js b/test/language/block-scope/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-class-declaration.js
index 1a84834f3d..99b267690e 100644
--- a/test/language/block-scope/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-class-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-class-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { async function f() {} class f {}; }
diff --git a/test/language/block-scope/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-const-declaration.js b/test/language/block-scope/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-const-declaration.js
index 611401f0a1..c53f57b764 100644
--- a/test/language/block-scope/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-const-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-const-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { async function f() {} const f = 0; }
diff --git a/test/language/block-scope/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-function-declaration.js b/test/language/block-scope/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-function-declaration.js
index 8ffb3576fc..3b1801da89 100644
--- a/test/language/block-scope/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-function-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-function-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { async function f() {} function f() {} }
diff --git a/test/language/block-scope/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-generator-declaration.js b/test/language/block-scope/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-generator-declaration.js
index 2f53ebe8ea..31f4f99fdf 100644
--- a/test/language/block-scope/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-generator-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-generator-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { async function f() {} function* f() {} }
diff --git a/test/language/block-scope/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-let-declaration.js b/test/language/block-scope/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-let-declaration.js
index e10341f0ff..b770030122 100644
--- a/test/language/block-scope/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-let-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-let-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { async function f() {} let f; }
diff --git a/test/language/block-scope/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-var-declaration.js b/test/language/block-scope/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-var-declaration.js
index b23f9e07fa..ed555f501f 100644
--- a/test/language/block-scope/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-var-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-var-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { async function f() {} var f; }
diff --git a/test/language/block-scope/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-async-function-declaration.js b/test/language/block-scope/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-async-function-declaration.js
index 8ac39d94e7..76ad27016e 100644
--- a/test/language/block-scope/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-async-function-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-async-function-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { async function* f() {} async function f() {} }
diff --git a/test/language/block-scope/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-async-generator-declaration.js b/test/language/block-scope/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-async-generator-declaration.js
index 6951266c45..d1e50cae50 100644
--- a/test/language/block-scope/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-async-generator-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-async-generator-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { async function* f() {} async function* f() {} }
diff --git a/test/language/block-scope/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-class-declaration.js b/test/language/block-scope/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-class-declaration.js
index 127a6bd01e..53505ace77 100644
--- a/test/language/block-scope/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-class-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-class-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { async function* f() {} class f {}; }
diff --git a/test/language/block-scope/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-const-declaration.js b/test/language/block-scope/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-const-declaration.js
index 88d794c784..bd00ba47e7 100644
--- a/test/language/block-scope/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-const-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-const-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { async function* f() {} const f = 0; }
diff --git a/test/language/block-scope/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-function-declaration.js b/test/language/block-scope/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-function-declaration.js
index 2da8333352..4d848dc186 100644
--- a/test/language/block-scope/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-function-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-function-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { async function* f() {} function f() {} }
diff --git a/test/language/block-scope/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-generator-declaration.js b/test/language/block-scope/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-generator-declaration.js
index 0572fcac54..8115696a03 100644
--- a/test/language/block-scope/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-generator-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-generator-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { async function* f() {} function* f() {} }
diff --git a/test/language/block-scope/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-let-declaration.js b/test/language/block-scope/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-let-declaration.js
index 9e40ba062a..06e4314fe5 100644
--- a/test/language/block-scope/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-let-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-let-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { async function* f() {} let f; }
diff --git a/test/language/block-scope/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-var-declaration.js b/test/language/block-scope/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-var-declaration.js
index c1aab03097..5101b8cb09 100644
--- a/test/language/block-scope/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-var-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-var-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { async function* f() {} var f; }
diff --git a/test/language/block-scope/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-async-function-declaration.js b/test/language/block-scope/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-async-function-declaration.js
index f5e2627c62..17b93117ce 100644
--- a/test/language/block-scope/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-async-function-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-async-function-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { class f {} async function f() {} }
diff --git a/test/language/block-scope/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-async-generator-declaration.js b/test/language/block-scope/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-async-generator-declaration.js
index 3f12845df3..723e63c8f2 100644
--- a/test/language/block-scope/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-async-generator-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-async-generator-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { class f {} async function* f() {} }
diff --git a/test/language/block-scope/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-class-declaration.js b/test/language/block-scope/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-class-declaration.js
index f42b24fcbc..83fba10d51 100644
--- a/test/language/block-scope/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-class-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-class-declaration.js
@@ -17,6 +17,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { class f {} class f {}; }
diff --git a/test/language/block-scope/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-const-declaration.js b/test/language/block-scope/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-const-declaration.js
index b241fb8644..6d826173a8 100644
--- a/test/language/block-scope/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-const-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-const-declaration.js
@@ -17,6 +17,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { class f {} const f = 0; }
diff --git a/test/language/block-scope/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-function-declaration.js b/test/language/block-scope/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-function-declaration.js
index b84b24cecc..2aaedbb7bf 100644
--- a/test/language/block-scope/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-function-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-function-declaration.js
@@ -17,6 +17,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { class f {} function f() {} }
diff --git a/test/language/block-scope/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-generator-declaration.js b/test/language/block-scope/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-generator-declaration.js
index 1805fa684c..7ae9a1a7dc 100644
--- a/test/language/block-scope/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-generator-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-generator-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { class f {} function* f() {} }
diff --git a/test/language/block-scope/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-let-declaration.js b/test/language/block-scope/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-let-declaration.js
index a1789fee79..19ade22a8b 100644
--- a/test/language/block-scope/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-let-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-let-declaration.js
@@ -17,6 +17,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { class f {} let f; }
diff --git a/test/language/block-scope/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-var-declaration.js b/test/language/block-scope/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-var-declaration.js
index db7bb9081e..74c64aed7d 100644
--- a/test/language/block-scope/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-var-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-var-declaration.js
@@ -17,6 +17,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { class f {} var f; }
diff --git a/test/language/block-scope/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-async-function-declaration.js b/test/language/block-scope/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-async-function-declaration.js
index a2c83971b1..9392d33449 100644
--- a/test/language/block-scope/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-async-function-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-async-function-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { const f = 0; async function f() {} }
diff --git a/test/language/block-scope/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-async-generator-declaration.js b/test/language/block-scope/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-async-generator-declaration.js
index 9f6ea0d313..ea16670ddb 100644
--- a/test/language/block-scope/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-async-generator-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-async-generator-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { const f = 0; async function* f() {} }
diff --git a/test/language/block-scope/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-class-declaration.js b/test/language/block-scope/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-class-declaration.js
index aa6eac81e5..f364902dd5 100644
--- a/test/language/block-scope/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-class-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-class-declaration.js
@@ -17,6 +17,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { const f = 0; class f {}; }
diff --git a/test/language/block-scope/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-const-declaration.js b/test/language/block-scope/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-const-declaration.js
index 95fb7b5cc6..d7546b7d63 100644
--- a/test/language/block-scope/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-const-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-const-declaration.js
@@ -17,6 +17,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { const f = 0; const f = 0; }
diff --git a/test/language/block-scope/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-function-declaration.js b/test/language/block-scope/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-function-declaration.js
index 6608a88cc8..40f25d5fe6 100644
--- a/test/language/block-scope/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-function-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-function-declaration.js
@@ -17,6 +17,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { const f = 0; function f() {} }
diff --git a/test/language/block-scope/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-generator-declaration.js b/test/language/block-scope/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-generator-declaration.js
index ef0280894f..316b1f4a7e 100644
--- a/test/language/block-scope/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-generator-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-generator-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { const f = 0; function* f() {} }
diff --git a/test/language/block-scope/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-let-declaration.js b/test/language/block-scope/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-let-declaration.js
index 1e2db89c50..a6a013d0ac 100644
--- a/test/language/block-scope/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-let-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-let-declaration.js
@@ -17,6 +17,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { const f = 0; let f; }
diff --git a/test/language/block-scope/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-var-declaration.js b/test/language/block-scope/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-var-declaration.js
index 8068968776..6841887678 100644
--- a/test/language/block-scope/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-var-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-var-declaration.js
@@ -17,6 +17,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { const f = 0; var f; }
diff --git a/test/language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-async-function-declaration.js b/test/language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-async-function-declaration.js
index 0aca6be21d..9bc10a4e9a 100644
--- a/test/language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-async-function-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-async-function-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { function f() {} async function f() {} }
diff --git a/test/language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-async-generator-declaration.js b/test/language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-async-generator-declaration.js
index a7e55e0998..4dde8c1494 100644
--- a/test/language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-async-generator-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-async-generator-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { function f() {} async function* f() {} }
diff --git a/test/language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-class-declaration.js b/test/language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-class-declaration.js
index baf4871430..d6d4bf6fab 100644
--- a/test/language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-class-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-class-declaration.js
@@ -17,6 +17,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { function f() {} class f {}; }
diff --git a/test/language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-const-declaration.js b/test/language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-const-declaration.js
index fb3910fdfb..46e15e6aab 100644
--- a/test/language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-const-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-const-declaration.js
@@ -17,6 +17,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { function f() {} const f = 0; }
diff --git a/test/language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-function-declaration.js b/test/language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-function-declaration.js
index db6180f411..08dc122eb9 100644
--- a/test/language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-function-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-function-declaration.js
@@ -17,6 +17,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { function f() {} function f() {} }
diff --git a/test/language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-generator-declaration.js b/test/language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-generator-declaration.js
index f60a0d7584..cf1ef5c500 100644
--- a/test/language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-generator-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-generator-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { function f() {} function* f() {} }
diff --git a/test/language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-let-declaration.js b/test/language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-let-declaration.js
index f4476a3f49..e3a75d5b32 100644
--- a/test/language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-let-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-let-declaration.js
@@ -17,6 +17,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { function f() {} let f; }
diff --git a/test/language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-var-declaration-nested-in-function.js b/test/language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-var-declaration-nested-in-function.js
index 0c638faf6c..6e3e5a70b5 100644
--- a/test/language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-var-declaration-nested-in-function.js
+++ b/test/language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-var-declaration-nested-in-function.js
@@ -15,7 +15,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function g() {
     // Create an outer block-statement.
diff --git a/test/language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-var-declaration.js b/test/language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-var-declaration.js
index 3ddf08c5a6..2f868b9aac 100644
--- a/test/language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-var-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-var-declaration.js
@@ -17,6 +17,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { function f() {} var f; }
diff --git a/test/language/block-scope/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-async-function-declaration.js b/test/language/block-scope/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-async-function-declaration.js
index de003bce4d..85d80df3fa 100644
--- a/test/language/block-scope/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-async-function-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-async-function-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { function* f() {} async function f() {} }
diff --git a/test/language/block-scope/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-async-generator-declaration.js b/test/language/block-scope/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-async-generator-declaration.js
index eef9187899..b5add63fa8 100644
--- a/test/language/block-scope/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-async-generator-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-async-generator-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { function* f() {} async function* f() {} }
diff --git a/test/language/block-scope/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-class-declaration.js b/test/language/block-scope/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-class-declaration.js
index ddb9aac9c6..b82d14c22a 100644
--- a/test/language/block-scope/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-class-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-class-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { function* f() {} class f {}; }
diff --git a/test/language/block-scope/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-const-declaration.js b/test/language/block-scope/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-const-declaration.js
index 75dbc5c4bd..0b7b36a11a 100644
--- a/test/language/block-scope/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-const-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-const-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { function* f() {} const f = 0; }
diff --git a/test/language/block-scope/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-function-declaration.js b/test/language/block-scope/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-function-declaration.js
index 904901090f..1d87910d53 100644
--- a/test/language/block-scope/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-function-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-function-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { function* f() {} function f() {} }
diff --git a/test/language/block-scope/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-generator-declaration.js b/test/language/block-scope/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-generator-declaration.js
index dff974bca2..4afcc327d4 100644
--- a/test/language/block-scope/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-generator-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-generator-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { function* f() {} function* f() {} }
diff --git a/test/language/block-scope/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-let-declaration.js b/test/language/block-scope/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-let-declaration.js
index 923df78326..58813cbbf8 100644
--- a/test/language/block-scope/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-let-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-let-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { function* f() {} let f; }
diff --git a/test/language/block-scope/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-var-declaration.js b/test/language/block-scope/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-var-declaration.js
index 2adbe1fc6b..340e32d3dc 100644
--- a/test/language/block-scope/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-var-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-var-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { function* f() {} var f; }
diff --git a/test/language/block-scope/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-async-function-declaration.js b/test/language/block-scope/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-async-function-declaration.js
index b991c48951..c79d625eb0 100644
--- a/test/language/block-scope/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-async-function-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-async-function-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { let f; async function f() {} }
diff --git a/test/language/block-scope/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-async-generator-declaration.js b/test/language/block-scope/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-async-generator-declaration.js
index 4c11c3cf23..43780807da 100644
--- a/test/language/block-scope/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-async-generator-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-async-generator-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { let f; async function* f() {} }
diff --git a/test/language/block-scope/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-class-declaration.js b/test/language/block-scope/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-class-declaration.js
index 6ff5a52416..2c0c7bad40 100644
--- a/test/language/block-scope/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-class-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-class-declaration.js
@@ -17,6 +17,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { let f; class f {}; }
diff --git a/test/language/block-scope/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-const-declaration.js b/test/language/block-scope/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-const-declaration.js
index 10135cbe2a..7a0d6f8a43 100644
--- a/test/language/block-scope/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-const-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-const-declaration.js
@@ -17,6 +17,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { let f; const f = 0; }
diff --git a/test/language/block-scope/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-function-declaration.js b/test/language/block-scope/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-function-declaration.js
index 3fac247315..676e15a782 100644
--- a/test/language/block-scope/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-function-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-function-declaration.js
@@ -17,6 +17,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { let f; function f() {} }
diff --git a/test/language/block-scope/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-generator-declaration.js b/test/language/block-scope/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-generator-declaration.js
index 79c8a14e37..800d9bb4a3 100644
--- a/test/language/block-scope/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-generator-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-generator-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { let f; function* f() {} }
diff --git a/test/language/block-scope/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-let-declaration.js b/test/language/block-scope/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-let-declaration.js
index 8bb16bc6fb..6c09a73fe6 100644
--- a/test/language/block-scope/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-let-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-let-declaration.js
@@ -17,6 +17,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { let f; let f; }
diff --git a/test/language/block-scope/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-var-declaration.js b/test/language/block-scope/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-var-declaration.js
index 98f48f8198..d881768472 100644
--- a/test/language/block-scope/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-var-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-var-declaration.js
@@ -17,6 +17,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { let f; var f; }
diff --git a/test/language/block-scope/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-async-function-declaration.js b/test/language/block-scope/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-async-function-declaration.js
index 2b085ff4d1..4be6d7b04d 100644
--- a/test/language/block-scope/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-async-function-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-async-function-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { var f; async function f() {} }
diff --git a/test/language/block-scope/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-async-generator-declaration.js b/test/language/block-scope/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-async-generator-declaration.js
index 3e007ea70f..a6fc1f2f51 100644
--- a/test/language/block-scope/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-async-generator-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-async-generator-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { var f; async function* f() {} }
diff --git a/test/language/block-scope/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-class-declaration.js b/test/language/block-scope/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-class-declaration.js
index c0efef276f..f0c0478fc1 100644
--- a/test/language/block-scope/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-class-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-class-declaration.js
@@ -17,6 +17,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { var f; class f {}; }
diff --git a/test/language/block-scope/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-const-declaration.js b/test/language/block-scope/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-const-declaration.js
index ca4a3603c7..ee964e0743 100644
--- a/test/language/block-scope/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-const-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-const-declaration.js
@@ -17,6 +17,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { var f; const f = 0; }
diff --git a/test/language/block-scope/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-function-declaration.js b/test/language/block-scope/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-function-declaration.js
index c72fdac089..817c53b549 100644
--- a/test/language/block-scope/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-function-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-function-declaration.js
@@ -17,6 +17,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { var f; function f() {} }
diff --git a/test/language/block-scope/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-generator-declaration.js b/test/language/block-scope/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-generator-declaration.js
index c316f2e193..0cecc769bd 100644
--- a/test/language/block-scope/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-generator-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-generator-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { var f; function* f() {} }
diff --git a/test/language/block-scope/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-let-declaration.js b/test/language/block-scope/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-let-declaration.js
index 06af6cdb86..170c8d59d2 100644
--- a/test/language/block-scope/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-let-declaration.js
+++ b/test/language/block-scope/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-let-declaration.js
@@ -17,6 +17,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { var f; let f; }
diff --git a/test/language/comments/S7.4_A2_T2.js b/test/language/comments/S7.4_A2_T2.js
index f50a8a7ec0..4cd1c304c7 100644
--- a/test/language/comments/S7.4_A2_T2.js
+++ b/test/language/comments/S7.4_A2_T2.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /*CHECK#1/
diff --git a/test/language/comments/S7.4_A3.js b/test/language/comments/S7.4_A3.js
index 019c1d0070..b9817af9d9 100644
--- a/test/language/comments/S7.4_A3.js
+++ b/test/language/comments/S7.4_A3.js
@@ -10,11 +10,11 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /*CHECK#1*/
 
-/* 
+/*
 var
 
 /* x */
diff --git a/test/language/comments/S7.4_A4_T1.js b/test/language/comments/S7.4_A4_T1.js
index 6d4bb8f5ba..bcfe9a8fdd 100644
--- a/test/language/comments/S7.4_A4_T1.js
+++ b/test/language/comments/S7.4_A4_T1.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /*CHECK#1*/
 
diff --git a/test/language/comments/S7.4_A4_T4.js b/test/language/comments/S7.4_A4_T4.js
index b3791fe996..cf2bd2c5df 100644
--- a/test/language/comments/S7.4_A4_T4.js
+++ b/test/language/comments/S7.4_A4_T4.js
@@ -10,9 +10,9 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /*CHECK#1*/
 
-// var /* 
+// var /*
 x*/
diff --git a/test/language/comments/multi-line-html-close-extra.js b/test/language/comments/multi-line-html-close-extra.js
index 90ac1fa16b..6bc3cec6c0 100644
--- a/test/language/comments/multi-line-html-close-extra.js
+++ b/test/language/comments/multi-line-html-close-extra.js
@@ -19,7 +19,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /*
 */ the comment should not include these characters, regardless of AnnexB extensions -->
diff --git a/test/language/comments/single-line-html-close-without-lt.js b/test/language/comments/single-line-html-close-without-lt.js
index 115a1445a4..681eae280d 100644
--- a/test/language/comments/single-line-html-close-without-lt.js
+++ b/test/language/comments/single-line-html-close-without-lt.js
@@ -18,6 +18,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 ;-->
diff --git a/test/language/export/escaped-as-export-specifier.js b/test/language/export/escaped-as-export-specifier.js
index 824f6dceb5..9d2735fcf6 100644
--- a/test/language/export/escaped-as-export-specifier.js
+++ b/test/language/export/escaped-as-export-specifier.js
@@ -19,7 +19,7 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 export var a = 0;
 export {a \u0061s b} from "./escaped-as-export-specifier.js";
diff --git a/test/language/export/escaped-default.js b/test/language/export/escaped-default.js
index 03c106cab6..35c624f1c3 100644
--- a/test/language/export/escaped-default.js
+++ b/test/language/export/escaped-default.js
@@ -19,6 +19,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 export d\u0065fault 0;
diff --git a/test/language/export/escaped-from.js b/test/language/export/escaped-from.js
index 180e496fc4..1642755e00 100644
--- a/test/language/export/escaped-from.js
+++ b/test/language/export/escaped-from.js
@@ -19,6 +19,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 export {} \u0066rom "./escaped-from.js";
diff --git a/test/language/expressions/arrow-function/dflt-params-duplicates.js b/test/language/expressions/arrow-function/dflt-params-duplicates.js
index dd1c399e6a..666cebebca 100644
--- a/test/language/expressions/arrow-function/dflt-params-duplicates.js
+++ b/test/language/expressions/arrow-function/dflt-params-duplicates.js
@@ -53,7 +53,7 @@ info: |
       elements.
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, (x = 0, x) => {
   
diff --git a/test/language/expressions/arrow-function/dflt-params-rest.js b/test/language/expressions/arrow-function/dflt-params-rest.js
index 474c044122..95d927e726 100644
--- a/test/language/expressions/arrow-function/dflt-params-rest.js
+++ b/test/language/expressions/arrow-function/dflt-params-rest.js
@@ -57,7 +57,7 @@ info: |
       ...BindingPattern[?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, (...x = []) => {
   
diff --git a/test/language/expressions/arrow-function/dstr-ary-ptrn-rest-init-ary.js b/test/language/expressions/arrow-function/dstr-ary-ptrn-rest-init-ary.js
index 672d996f78..d33aa7c244 100644
--- a/test/language/expressions/arrow-function/dstr-ary-ptrn-rest-init-ary.js
+++ b/test/language/expressions/arrow-function/dstr-ary-ptrn-rest-init-ary.js
@@ -46,7 +46,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var f;
diff --git a/test/language/expressions/arrow-function/dstr-ary-ptrn-rest-init-id.js b/test/language/expressions/arrow-function/dstr-ary-ptrn-rest-init-id.js
index dd9b89da0e..2bd5c92091 100644
--- a/test/language/expressions/arrow-function/dstr-ary-ptrn-rest-init-id.js
+++ b/test/language/expressions/arrow-function/dstr-ary-ptrn-rest-init-id.js
@@ -46,7 +46,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var f;
diff --git a/test/language/expressions/arrow-function/dstr-ary-ptrn-rest-init-obj.js b/test/language/expressions/arrow-function/dstr-ary-ptrn-rest-init-obj.js
index c57324e667..de28f684d5 100644
--- a/test/language/expressions/arrow-function/dstr-ary-ptrn-rest-init-obj.js
+++ b/test/language/expressions/arrow-function/dstr-ary-ptrn-rest-init-obj.js
@@ -46,7 +46,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var f;
diff --git a/test/language/expressions/arrow-function/dstr-ary-ptrn-rest-not-final-ary.js b/test/language/expressions/arrow-function/dstr-ary-ptrn-rest-not-final-ary.js
index de2e812e7b..2ad5974c96 100644
--- a/test/language/expressions/arrow-function/dstr-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/expressions/arrow-function/dstr-ary-ptrn-rest-not-final-ary.js
@@ -46,7 +46,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var f;
diff --git a/test/language/expressions/arrow-function/dstr-ary-ptrn-rest-not-final-id.js b/test/language/expressions/arrow-function/dstr-ary-ptrn-rest-not-final-id.js
index 1e5ba46076..c938bb32fa 100644
--- a/test/language/expressions/arrow-function/dstr-ary-ptrn-rest-not-final-id.js
+++ b/test/language/expressions/arrow-function/dstr-ary-ptrn-rest-not-final-id.js
@@ -46,7 +46,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var f;
diff --git a/test/language/expressions/arrow-function/dstr-ary-ptrn-rest-not-final-obj.js b/test/language/expressions/arrow-function/dstr-ary-ptrn-rest-not-final-obj.js
index d6410f3398..8323e2a522 100644
--- a/test/language/expressions/arrow-function/dstr-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/expressions/arrow-function/dstr-ary-ptrn-rest-not-final-obj.js
@@ -46,7 +46,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var f;
diff --git a/test/language/expressions/arrow-function/dstr-dflt-ary-ptrn-rest-init-ary.js b/test/language/expressions/arrow-function/dstr-dflt-ary-ptrn-rest-init-ary.js
index c94505b82e..1b87e631f4 100644
--- a/test/language/expressions/arrow-function/dstr-dflt-ary-ptrn-rest-init-ary.js
+++ b/test/language/expressions/arrow-function/dstr-dflt-ary-ptrn-rest-init-ary.js
@@ -46,7 +46,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var f;
diff --git a/test/language/expressions/arrow-function/dstr-dflt-ary-ptrn-rest-init-id.js b/test/language/expressions/arrow-function/dstr-dflt-ary-ptrn-rest-init-id.js
index fb96106b8d..430788ff3e 100644
--- a/test/language/expressions/arrow-function/dstr-dflt-ary-ptrn-rest-init-id.js
+++ b/test/language/expressions/arrow-function/dstr-dflt-ary-ptrn-rest-init-id.js
@@ -46,7 +46,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var f;
diff --git a/test/language/expressions/arrow-function/dstr-dflt-ary-ptrn-rest-init-obj.js b/test/language/expressions/arrow-function/dstr-dflt-ary-ptrn-rest-init-obj.js
index e51204ecde..6740b0f2e8 100644
--- a/test/language/expressions/arrow-function/dstr-dflt-ary-ptrn-rest-init-obj.js
+++ b/test/language/expressions/arrow-function/dstr-dflt-ary-ptrn-rest-init-obj.js
@@ -46,7 +46,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var f;
diff --git a/test/language/expressions/arrow-function/dstr-dflt-ary-ptrn-rest-not-final-ary.js b/test/language/expressions/arrow-function/dstr-dflt-ary-ptrn-rest-not-final-ary.js
index c8e984d138..32521a3cea 100644
--- a/test/language/expressions/arrow-function/dstr-dflt-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/expressions/arrow-function/dstr-dflt-ary-ptrn-rest-not-final-ary.js
@@ -46,7 +46,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var f;
diff --git a/test/language/expressions/arrow-function/dstr-dflt-ary-ptrn-rest-not-final-id.js b/test/language/expressions/arrow-function/dstr-dflt-ary-ptrn-rest-not-final-id.js
index 35a372aa66..897342da7e 100644
--- a/test/language/expressions/arrow-function/dstr-dflt-ary-ptrn-rest-not-final-id.js
+++ b/test/language/expressions/arrow-function/dstr-dflt-ary-ptrn-rest-not-final-id.js
@@ -46,7 +46,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var f;
diff --git a/test/language/expressions/arrow-function/dstr-dflt-ary-ptrn-rest-not-final-obj.js b/test/language/expressions/arrow-function/dstr-dflt-ary-ptrn-rest-not-final-obj.js
index 4b7b7c27c0..ea7891ca44 100644
--- a/test/language/expressions/arrow-function/dstr-dflt-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/expressions/arrow-function/dstr-dflt-ary-ptrn-rest-not-final-obj.js
@@ -46,7 +46,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var f;
diff --git a/test/language/expressions/arrow-function/param-dflt-yield-expr.js b/test/language/expressions/arrow-function/param-dflt-yield-expr.js
index c4d36e6aa9..dceb641c0e 100644
--- a/test/language/expressions/arrow-function/param-dflt-yield-expr.js
+++ b/test/language/expressions/arrow-function/param-dflt-yield-expr.js
@@ -14,14 +14,14 @@ info: |
 
   ArrowFunction : ArrowParameters=>ConciseBody
 
-  - It is a Syntax Error if ArrowParameters Contains YieldExpression is true. 
+  - It is a Syntax Error if ArrowParameters Contains YieldExpression is true.
 features: [generators, default-parameters]
 negative:
   phase: parse
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function *g() {
   (x = yield) => {};
diff --git a/test/language/expressions/arrow-function/param-dflt-yield-id-strict.js b/test/language/expressions/arrow-function/param-dflt-yield-id-strict.js
index b2cccb3c73..a95797179e 100644
--- a/test/language/expressions/arrow-function/param-dflt-yield-id-strict.js
+++ b/test/language/expressions/arrow-function/param-dflt-yield-id-strict.js
@@ -16,6 +16,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (x = yield) => {};
diff --git a/test/language/expressions/arrow-function/rest-params-trailing-comma-early-error.js b/test/language/expressions/arrow-function/rest-params-trailing-comma-early-error.js
index ff0e20330c..f76338406e 100644
--- a/test/language/expressions/arrow-function/rest-params-trailing-comma-early-error.js
+++ b/test/language/expressions/arrow-function/rest-params-trailing-comma-early-error.js
@@ -49,7 +49,7 @@ info: |
         FormalParameterList[?Yield, ?Await] ,
         FormalParameterList[?Yield, ?Await] , FunctionRestParameter[?Yield, ?Await]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, (...a,) => {
   
diff --git a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-identifier-futurereservedword.js b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-identifier-futurereservedword.js
index 47981bde58..11e417d771 100644
--- a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-identifier-futurereservedword.js
+++ b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-identifier-futurereservedword.js
@@ -20,5 +20,5 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 var af = enum => 1;
diff --git a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-identifier-strict-futurereservedword.js b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-identifier-strict-futurereservedword.js
index 8167925282..a1742d9cef 100644
--- a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-identifier-strict-futurereservedword.js
+++ b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-identifier-strict-futurereservedword.js
@@ -23,5 +23,5 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 var af = package => 1;
diff --git a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-identifier.js b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-identifier.js
index 8509a42499..4aa7b03bce 100644
--- a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-identifier.js
+++ b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-identifier.js
@@ -20,5 +20,5 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 var af = switch => 1;
diff --git a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-no-arguments.js b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-no-arguments.js
index aa5c8d75a9..8900c74076 100644
--- a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-no-arguments.js
+++ b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-no-arguments.js
@@ -15,5 +15,5 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 var af = arguments => 1;
diff --git a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-no-eval.js b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-no-eval.js
index 12f218aed9..bbe7dba7e2 100644
--- a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-no-eval.js
+++ b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-no-eval.js
@@ -16,5 +16,5 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 var af = eval => 1;
diff --git a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-no-yield.js b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-no-yield.js
index 71f70fcac2..e57593b471 100644
--- a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-no-yield.js
+++ b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-no-yield.js
@@ -16,5 +16,5 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 var af = yield => 1;
diff --git a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-rest.js b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-rest.js
index 95dc885d4f..d3cddbea66 100644
--- a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-rest.js
+++ b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-rest.js
@@ -12,5 +12,5 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 var af = ...x => x;
diff --git a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-arguments.js b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-arguments.js
index ccb3d835b7..5e5a10a7f9 100644
--- a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-arguments.js
+++ b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-arguments.js
@@ -20,5 +20,5 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 var af = (arguments) => 1;
diff --git a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-array-1.js b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-array-1.js
index 3c288493e6..9d84828df5 100644
--- a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-array-1.js
+++ b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-array-1.js
@@ -21,5 +21,5 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 var af = (x, [x]) => 1;
diff --git a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-array-2.js b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-array-2.js
index c2b3259fb2..5ebaa8fae7 100644
--- a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-array-2.js
+++ b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-array-2.js
@@ -21,5 +21,5 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 var af = ([x, x]) => 1;
diff --git a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-array-3.js b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-array-3.js
index e2c4afd203..f57202fa6d 100644
--- a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-array-3.js
+++ b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-array-3.js
@@ -23,5 +23,5 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 var af = ([x], ...x) => 1;
diff --git a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-object-1.js b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-object-1.js
index 952874c223..c8df98a1b4 100644
--- a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-object-1.js
+++ b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-object-1.js
@@ -21,5 +21,5 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 var af = (x, {x}) => 1;
diff --git a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-object-2.js b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-object-2.js
index 3c34bd4efa..f911be37d3 100644
--- a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-object-2.js
+++ b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-object-2.js
@@ -23,5 +23,5 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 var af = (x, {y: x}) => 1;
diff --git a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-object-3.js b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-object-3.js
index 50eabddfa0..8fdc8c5eee 100644
--- a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-object-3.js
+++ b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-object-3.js
@@ -23,5 +23,5 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 var af = ({x}, {y: x}) => 1;
diff --git a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-object-4.js b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-object-4.js
index 2c26a437b6..c5a3a219a6 100644
--- a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-object-4.js
+++ b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-object-4.js
@@ -25,5 +25,5 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 var af = ({x}, ...x) => 1;
diff --git a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-object-5.js b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-object-5.js
index 573d64b3a0..4b2bf9abd4 100644
--- a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-object-5.js
+++ b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-object-5.js
@@ -25,5 +25,5 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 var af = ({y: x}, ...x) => 1;
diff --git a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-object-6.js b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-object-6.js
index e9678911c8..9d9d111bfe 100644
--- a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-object-6.js
+++ b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-binding-object-6.js
@@ -23,5 +23,5 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 var af = ({y: x, x}) => 1;
diff --git a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-rest.js b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-rest.js
index 5930206dba..7fec71c26c 100644
--- a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-rest.js
+++ b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates-rest.js
@@ -19,5 +19,5 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 var af = (x, ...x) => 1;
diff --git a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates.js b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates.js
index b7f29d2149..d1ff08a834 100644
--- a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates.js
+++ b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates.js
@@ -19,5 +19,5 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 var af = (x, x) => 1;
diff --git a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-eval.js b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-eval.js
index 4ad4c5ef1d..39c62e18e8 100644
--- a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-eval.js
+++ b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-eval.js
@@ -20,5 +20,5 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 var af = (eval) => 1;
diff --git a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-yield.js b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-yield.js
index fd857b02ff..8d5d10b172 100644
--- a/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-yield.js
+++ b/test/language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-yield.js
@@ -15,5 +15,5 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 var af = (yield) => 1;
diff --git a/test/language/expressions/arrow-function/syntax/early-errors/asi-restriction-invalid-parenless-parameters-expression-body.js b/test/language/expressions/arrow-function/syntax/early-errors/asi-restriction-invalid-parenless-parameters-expression-body.js
index b90495efdb..d7a8010a81 100644
--- a/test/language/expressions/arrow-function/syntax/early-errors/asi-restriction-invalid-parenless-parameters-expression-body.js
+++ b/test/language/expressions/arrow-function/syntax/early-errors/asi-restriction-invalid-parenless-parameters-expression-body.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 var af = x
 => x;
diff --git a/test/language/expressions/arrow-function/syntax/early-errors/asi-restriction-invalid-parenless-parameters.js b/test/language/expressions/arrow-function/syntax/early-errors/asi-restriction-invalid-parenless-parameters.js
index 37fd8ad6fe..6ed5735815 100644
--- a/test/language/expressions/arrow-function/syntax/early-errors/asi-restriction-invalid-parenless-parameters.js
+++ b/test/language/expressions/arrow-function/syntax/early-errors/asi-restriction-invalid-parenless-parameters.js
@@ -13,6 +13,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 var af = x
 => {};
diff --git a/test/language/expressions/arrow-function/syntax/early-errors/asi-restriction-invalid.js b/test/language/expressions/arrow-function/syntax/early-errors/asi-restriction-invalid.js
index cb7da1f74e..daae129386 100644
--- a/test/language/expressions/arrow-function/syntax/early-errors/asi-restriction-invalid.js
+++ b/test/language/expressions/arrow-function/syntax/early-errors/asi-restriction-invalid.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 var af = ()
 => {};
diff --git a/test/language/expressions/arrow-function/syntax/early-errors/use-strict-with-non-simple-param.js b/test/language/expressions/arrow-function/syntax/early-errors/use-strict-with-non-simple-param.js
index e37b7a630e..41b95912ce 100644
--- a/test/language/expressions/arrow-function/syntax/early-errors/use-strict-with-non-simple-param.js
+++ b/test/language/expressions/arrow-function/syntax/early-errors/use-strict-with-non-simple-param.js
@@ -14,7 +14,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var f = (a = 0) => {
   "use strict";
diff --git a/test/language/expressions/assignment/dstr-array-elem-init-yield-ident-invalid.js b/test/language/expressions/assignment/dstr-array-elem-init-yield-ident-invalid.js
index 1210f25ec2..d4b93deac5 100644
--- a/test/language/expressions/assignment/dstr-array-elem-init-yield-ident-invalid.js
+++ b/test/language/expressions/assignment/dstr-array-elem-init-yield-ident-invalid.js
@@ -19,6 +19,6 @@ info: |
     4. Return the result of performing BindingInitialization for
        BindingPattern passing rval and undefined as arguments.
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, [ x = yield ] = [];
diff --git a/test/language/expressions/assignment/dstr-array-elem-nested-array-invalid.js b/test/language/expressions/assignment/dstr-array-elem-nested-array-invalid.js
index 895835c41f..466312f630 100644
--- a/test/language/expressions/assignment/dstr-array-elem-nested-array-invalid.js
+++ b/test/language/expressions/assignment/dstr-array-elem-nested-array-invalid.js
@@ -19,6 +19,6 @@ info: |
     4. Return the result of performing BindingInitialization for
        BindingPattern passing rval and undefined as arguments.
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, [[(x, y)]] = [[]];
diff --git a/test/language/expressions/assignment/dstr-array-elem-nested-array-yield-ident-invalid.js b/test/language/expressions/assignment/dstr-array-elem-nested-array-yield-ident-invalid.js
index f363920ce3..27f1207350 100644
--- a/test/language/expressions/assignment/dstr-array-elem-nested-array-yield-ident-invalid.js
+++ b/test/language/expressions/assignment/dstr-array-elem-nested-array-yield-ident-invalid.js
@@ -19,6 +19,6 @@ info: |
     4. Return the result of performing BindingInitialization for
        BindingPattern passing rval and undefined as arguments.
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, [[x[yield]]] = [[]];
diff --git a/test/language/expressions/assignment/dstr-array-elem-nested-obj-invalid.js b/test/language/expressions/assignment/dstr-array-elem-nested-obj-invalid.js
index f7c114daad..3077fd61a0 100644
--- a/test/language/expressions/assignment/dstr-array-elem-nested-obj-invalid.js
+++ b/test/language/expressions/assignment/dstr-array-elem-nested-obj-invalid.js
@@ -19,6 +19,6 @@ info: |
     4. Return the result of performing BindingInitialization for
        BindingPattern passing rval and undefined as arguments.
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, [{ get x() {} }] = [{}];
diff --git a/test/language/expressions/assignment/dstr-array-elem-nested-obj-yield-ident-invalid.js b/test/language/expressions/assignment/dstr-array-elem-nested-obj-yield-ident-invalid.js
index f8df4d3747..32f987dec7 100644
--- a/test/language/expressions/assignment/dstr-array-elem-nested-obj-yield-ident-invalid.js
+++ b/test/language/expressions/assignment/dstr-array-elem-nested-obj-yield-ident-invalid.js
@@ -19,6 +19,6 @@ info: |
     4. Return the result of performing BindingInitialization for
        BindingPattern passing rval and undefined as arguments.
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, [{ x = yield }] = [{}];
diff --git a/test/language/expressions/assignment/dstr-array-elem-target-simple-strict.js b/test/language/expressions/assignment/dstr-array-elem-target-simple-strict.js
index d49cefc3fd..a38d2d1a08 100644
--- a/test/language/expressions/assignment/dstr-array-elem-target-simple-strict.js
+++ b/test/language/expressions/assignment/dstr-array-elem-target-simple-strict.js
@@ -19,6 +19,6 @@ info: |
     4. Return the result of performing BindingInitialization for
        BindingPattern passing rval and undefined as arguments.
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, [arguments] = [];
diff --git a/test/language/expressions/assignment/dstr-array-elem-target-yield-invalid.js b/test/language/expressions/assignment/dstr-array-elem-target-yield-invalid.js
index b24b520aad..294cb058fc 100644
--- a/test/language/expressions/assignment/dstr-array-elem-target-yield-invalid.js
+++ b/test/language/expressions/assignment/dstr-array-elem-target-yield-invalid.js
@@ -19,6 +19,6 @@ info: |
     4. Return the result of performing BindingInitialization for
        BindingPattern passing rval and undefined as arguments.
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, [ x[yield] ] = [];
diff --git a/test/language/expressions/assignment/dstr-array-rest-before-element.js b/test/language/expressions/assignment/dstr-array-rest-before-element.js
index 419a15ed59..459ae94b06 100644
--- a/test/language/expressions/assignment/dstr-array-rest-before-element.js
+++ b/test/language/expressions/assignment/dstr-array-rest-before-element.js
@@ -19,6 +19,6 @@ info: |
     4. Return the result of performing BindingInitialization for
        BindingPattern passing rval and undefined as arguments.
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, [...x, y] = [];
diff --git a/test/language/expressions/assignment/dstr-array-rest-before-elision.js b/test/language/expressions/assignment/dstr-array-rest-before-elision.js
index 023fa6facf..dc3b9ddfde 100644
--- a/test/language/expressions/assignment/dstr-array-rest-before-elision.js
+++ b/test/language/expressions/assignment/dstr-array-rest-before-elision.js
@@ -19,6 +19,6 @@ info: |
     4. Return the result of performing BindingInitialization for
        BindingPattern passing rval and undefined as arguments.
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, [...x,] = [];
diff --git a/test/language/expressions/assignment/dstr-array-rest-before-rest.js b/test/language/expressions/assignment/dstr-array-rest-before-rest.js
index 24a50e3852..af42490f75 100644
--- a/test/language/expressions/assignment/dstr-array-rest-before-rest.js
+++ b/test/language/expressions/assignment/dstr-array-rest-before-rest.js
@@ -19,6 +19,6 @@ info: |
     4. Return the result of performing BindingInitialization for
        BindingPattern passing rval and undefined as arguments.
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, [...x, ...y] = [];
diff --git a/test/language/expressions/assignment/dstr-array-rest-elision-invalid.js b/test/language/expressions/assignment/dstr-array-rest-elision-invalid.js
index 6c8a6536ca..6d371adee8 100644
--- a/test/language/expressions/assignment/dstr-array-rest-elision-invalid.js
+++ b/test/language/expressions/assignment/dstr-array-rest-elision-invalid.js
@@ -19,6 +19,6 @@ info: |
     4. Return the result of performing BindingInitialization for
        BindingPattern passing rval and undefined as arguments.
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, [...x,] = [];
diff --git a/test/language/expressions/assignment/dstr-array-rest-init.js b/test/language/expressions/assignment/dstr-array-rest-init.js
index bbf69f7f4c..6ed9a0e298 100644
--- a/test/language/expressions/assignment/dstr-array-rest-init.js
+++ b/test/language/expressions/assignment/dstr-array-rest-init.js
@@ -19,7 +19,7 @@ info: |
     4. Return the result of performing BindingInitialization for
        BindingPattern passing rval and undefined as arguments.
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 var x;
 
 0, [...x = 1] = [];
diff --git a/test/language/expressions/assignment/dstr-array-rest-nested-array-invalid.js b/test/language/expressions/assignment/dstr-array-rest-nested-array-invalid.js
index f99ad7fe20..d79a565696 100644
--- a/test/language/expressions/assignment/dstr-array-rest-nested-array-invalid.js
+++ b/test/language/expressions/assignment/dstr-array-rest-nested-array-invalid.js
@@ -19,6 +19,6 @@ info: |
     4. Return the result of performing BindingInitialization for
        BindingPattern passing rval and undefined as arguments.
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, [...[(x, y)]] = [[]];
diff --git a/test/language/expressions/assignment/dstr-array-rest-nested-array-yield-ident-invalid.js b/test/language/expressions/assignment/dstr-array-rest-nested-array-yield-ident-invalid.js
index 857c6e694f..8467b867ae 100644
--- a/test/language/expressions/assignment/dstr-array-rest-nested-array-yield-ident-invalid.js
+++ b/test/language/expressions/assignment/dstr-array-rest-nested-array-yield-ident-invalid.js
@@ -19,6 +19,6 @@ info: |
     4. Return the result of performing BindingInitialization for
        BindingPattern passing rval and undefined as arguments.
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, [...[x[yield]]] = [];
diff --git a/test/language/expressions/assignment/dstr-array-rest-nested-obj-invalid.js b/test/language/expressions/assignment/dstr-array-rest-nested-obj-invalid.js
index 8134830ac1..1b78a643b7 100644
--- a/test/language/expressions/assignment/dstr-array-rest-nested-obj-invalid.js
+++ b/test/language/expressions/assignment/dstr-array-rest-nested-obj-invalid.js
@@ -19,6 +19,6 @@ info: |
     4. Return the result of performing BindingInitialization for
        BindingPattern passing rval and undefined as arguments.
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, [...{ get x() {} }] = [[]];
diff --git a/test/language/expressions/assignment/dstr-array-rest-nested-obj-yield-ident-invalid.js b/test/language/expressions/assignment/dstr-array-rest-nested-obj-yield-ident-invalid.js
index 3830ce07aa..52442281c9 100644
--- a/test/language/expressions/assignment/dstr-array-rest-nested-obj-yield-ident-invalid.js
+++ b/test/language/expressions/assignment/dstr-array-rest-nested-obj-yield-ident-invalid.js
@@ -19,6 +19,6 @@ info: |
     4. Return the result of performing BindingInitialization for
        BindingPattern passing rval and undefined as arguments.
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, [...{ x = yield }] = [{}];
diff --git a/test/language/expressions/assignment/dstr-array-rest-yield-ident-invalid.js b/test/language/expressions/assignment/dstr-array-rest-yield-ident-invalid.js
index 49fe5cc509..7a12345110 100644
--- a/test/language/expressions/assignment/dstr-array-rest-yield-ident-invalid.js
+++ b/test/language/expressions/assignment/dstr-array-rest-yield-ident-invalid.js
@@ -19,7 +19,7 @@ info: |
     4. Return the result of performing BindingInitialization for
        BindingPattern passing rval and undefined as arguments.
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 var x = {};
 
 0, [...x[yield]] = [];
diff --git a/test/language/expressions/assignment/dstr-obj-id-identifier-yield-expr.js b/test/language/expressions/assignment/dstr-obj-id-identifier-yield-expr.js
index 73738eba91..9761cb6ea0 100644
--- a/test/language/expressions/assignment/dstr-obj-id-identifier-yield-expr.js
+++ b/test/language/expressions/assignment/dstr-obj-id-identifier-yield-expr.js
@@ -19,7 +19,7 @@ info: |
     4. Return the result of performing BindingInitialization for
        BindingPattern passing rval and undefined as arguments.
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 (function*() {
 
 0, { yield } = {};
diff --git a/test/language/expressions/assignment/dstr-obj-id-identifier-yield-ident-invalid.js b/test/language/expressions/assignment/dstr-obj-id-identifier-yield-ident-invalid.js
index c897b46716..72dd41d633 100644
--- a/test/language/expressions/assignment/dstr-obj-id-identifier-yield-ident-invalid.js
+++ b/test/language/expressions/assignment/dstr-obj-id-identifier-yield-ident-invalid.js
@@ -19,6 +19,6 @@ info: |
     4. Return the result of performing BindingInitialization for
        BindingPattern passing rval and undefined as arguments.
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, { yield } = {};
diff --git a/test/language/expressions/assignment/dstr-obj-id-init-simple-strict.js b/test/language/expressions/assignment/dstr-obj-id-init-simple-strict.js
index d652471773..aadcb8b740 100644
--- a/test/language/expressions/assignment/dstr-obj-id-init-simple-strict.js
+++ b/test/language/expressions/assignment/dstr-obj-id-init-simple-strict.js
@@ -19,6 +19,6 @@ info: |
     4. Return the result of performing BindingInitialization for
        BindingPattern passing rval and undefined as arguments.
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, { eval = 0 } = {};
diff --git a/test/language/expressions/assignment/dstr-obj-id-init-yield-ident-invalid.js b/test/language/expressions/assignment/dstr-obj-id-init-yield-ident-invalid.js
index f02dffe411..ca4ea9122d 100644
--- a/test/language/expressions/assignment/dstr-obj-id-init-yield-ident-invalid.js
+++ b/test/language/expressions/assignment/dstr-obj-id-init-yield-ident-invalid.js
@@ -19,6 +19,6 @@ info: |
     4. Return the result of performing BindingInitialization for
        BindingPattern passing rval and undefined as arguments.
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, { x = yield } = {};
diff --git a/test/language/expressions/assignment/dstr-obj-id-simple-strict.js b/test/language/expressions/assignment/dstr-obj-id-simple-strict.js
index 162ffc8fc6..5d083b1825 100644
--- a/test/language/expressions/assignment/dstr-obj-id-simple-strict.js
+++ b/test/language/expressions/assignment/dstr-obj-id-simple-strict.js
@@ -19,6 +19,6 @@ info: |
     4. Return the result of performing BindingInitialization for
        BindingPattern passing rval and undefined as arguments.
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, { eval } = {};
diff --git a/test/language/expressions/assignment/dstr-obj-prop-elem-init-yield-ident-invalid.js b/test/language/expressions/assignment/dstr-obj-prop-elem-init-yield-ident-invalid.js
index aa1efa302c..292db594ec 100644
--- a/test/language/expressions/assignment/dstr-obj-prop-elem-init-yield-ident-invalid.js
+++ b/test/language/expressions/assignment/dstr-obj-prop-elem-init-yield-ident-invalid.js
@@ -19,6 +19,6 @@ info: |
     4. Return the result of performing BindingInitialization for
        BindingPattern passing rval and undefined as arguments.
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, { x: x = yield } = {};
diff --git a/test/language/expressions/assignment/dstr-obj-prop-elem-target-yield-ident-invalid.js b/test/language/expressions/assignment/dstr-obj-prop-elem-target-yield-ident-invalid.js
index 7c981d6f47..dfe3476753 100644
--- a/test/language/expressions/assignment/dstr-obj-prop-elem-target-yield-ident-invalid.js
+++ b/test/language/expressions/assignment/dstr-obj-prop-elem-target-yield-ident-invalid.js
@@ -19,6 +19,6 @@ info: |
     4. Return the result of performing BindingInitialization for
        BindingPattern passing rval and undefined as arguments.
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, { x: x[yield] } = {};
diff --git a/test/language/expressions/assignment/dstr-obj-prop-nested-array-invalid.js b/test/language/expressions/assignment/dstr-obj-prop-nested-array-invalid.js
index 751dc9a863..dba975e1aa 100644
--- a/test/language/expressions/assignment/dstr-obj-prop-nested-array-invalid.js
+++ b/test/language/expressions/assignment/dstr-obj-prop-nested-array-invalid.js
@@ -19,6 +19,6 @@ info: |
     4. Return the result of performing BindingInitialization for
        BindingPattern passing rval and undefined as arguments.
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, { x: [(x, y)] } = { x: [] };
diff --git a/test/language/expressions/assignment/dstr-obj-prop-nested-array-yield-ident-invalid.js b/test/language/expressions/assignment/dstr-obj-prop-nested-array-yield-ident-invalid.js
index 5e91a2e611..d158bf3355 100644
--- a/test/language/expressions/assignment/dstr-obj-prop-nested-array-yield-ident-invalid.js
+++ b/test/language/expressions/assignment/dstr-obj-prop-nested-array-yield-ident-invalid.js
@@ -19,6 +19,6 @@ info: |
     4. Return the result of performing BindingInitialization for
        BindingPattern passing rval and undefined as arguments.
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, { x: [x = yield] } = { x: [] };
diff --git a/test/language/expressions/assignment/dstr-obj-prop-nested-obj-invalid.js b/test/language/expressions/assignment/dstr-obj-prop-nested-obj-invalid.js
index 5355edc13b..c8cf3cdc87 100644
--- a/test/language/expressions/assignment/dstr-obj-prop-nested-obj-invalid.js
+++ b/test/language/expressions/assignment/dstr-obj-prop-nested-obj-invalid.js
@@ -19,6 +19,6 @@ info: |
     4. Return the result of performing BindingInitialization for
        BindingPattern passing rval and undefined as arguments.
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, { x: { get x() {} } } = { x: {} };
diff --git a/test/language/expressions/assignment/dstr-obj-prop-nested-obj-yield-ident-invalid.js b/test/language/expressions/assignment/dstr-obj-prop-nested-obj-yield-ident-invalid.js
index 8fcd5a42db..081d27b207 100644
--- a/test/language/expressions/assignment/dstr-obj-prop-nested-obj-yield-ident-invalid.js
+++ b/test/language/expressions/assignment/dstr-obj-prop-nested-obj-yield-ident-invalid.js
@@ -19,6 +19,6 @@ info: |
     4. Return the result of performing BindingInitialization for
        BindingPattern passing rval and undefined as arguments.
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, { x: { x = yield } } = { x: {} };
diff --git a/test/language/expressions/assignment/dstr-obj-rest-not-last-element-invalid.js b/test/language/expressions/assignment/dstr-obj-rest-not-last-element-invalid.js
index c8216aa612..39a84313ec 100644
--- a/test/language/expressions/assignment/dstr-obj-rest-not-last-element-invalid.js
+++ b/test/language/expressions/assignment/dstr-obj-rest-not-last-element-invalid.js
@@ -19,7 +19,7 @@ info: |
     4. Return the result of performing BindingInitialization for
        BindingPattern passing rval and undefined as arguments.
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 var rest, b;
 
 0, {...rest, b} = {}
diff --git a/test/language/expressions/assignment/id-arguments-strict.js b/test/language/expressions/assignment/id-arguments-strict.js
index c6cdab56dd..d07eebf7de 100644
--- a/test/language/expressions/assignment/id-arguments-strict.js
+++ b/test/language/expressions/assignment/id-arguments-strict.js
@@ -11,6 +11,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (arguments) = 20;
diff --git a/test/language/expressions/assignment/id-eval-strict.js b/test/language/expressions/assignment/id-eval-strict.js
index 879952cd02..2c5940dc7b 100644
--- a/test/language/expressions/assignment/id-eval-strict.js
+++ b/test/language/expressions/assignment/id-eval-strict.js
@@ -11,6 +11,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (eval) = 20;
diff --git a/test/language/expressions/assignment/non-simple-target.js b/test/language/expressions/assignment/non-simple-target.js
index 3015bbe177..3389a7917f 100644
--- a/test/language/expressions/assignment/non-simple-target.js
+++ b/test/language/expressions/assignment/non-simple-target.js
@@ -13,6 +13,6 @@ negative:
   type: ReferenceError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 1 = 1;
diff --git a/test/language/expressions/assignment/target-boolean.js b/test/language/expressions/assignment/target-boolean.js
index 9197622776..241da1fc0a 100644
--- a/test/language/expressions/assignment/target-boolean.js
+++ b/test/language/expressions/assignment/target-boolean.js
@@ -18,6 +18,6 @@ negative:
   type: ReferenceError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 true = 42;
diff --git a/test/language/expressions/assignment/target-cover-newtarget.js b/test/language/expressions/assignment/target-cover-newtarget.js
index 34ab263b49..dfebb7b644 100644
--- a/test/language/expressions/assignment/target-cover-newtarget.js
+++ b/test/language/expressions/assignment/target-cover-newtarget.js
@@ -24,7 +24,7 @@ negative:
 features: [new.target]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function f() {
   (new.target) = 1;
diff --git a/test/language/expressions/assignment/target-cover-yieldexpr.js b/test/language/expressions/assignment/target-cover-yieldexpr.js
index a7d524e70c..1001db1a7d 100644
--- a/test/language/expressions/assignment/target-cover-yieldexpr.js
+++ b/test/language/expressions/assignment/target-cover-yieldexpr.js
@@ -26,7 +26,7 @@ negative:
   type: ReferenceError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function* g() {
   (yield) = 1;
diff --git a/test/language/expressions/assignment/target-newtarget.js b/test/language/expressions/assignment/target-newtarget.js
index 1c14fee0f3..f6dc7c854a 100644
--- a/test/language/expressions/assignment/target-newtarget.js
+++ b/test/language/expressions/assignment/target-newtarget.js
@@ -24,7 +24,7 @@ negative:
 features: [new.target]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function f() {
   new.target = 1;
diff --git a/test/language/expressions/assignment/target-null.js b/test/language/expressions/assignment/target-null.js
index 119593963e..3bf1797550 100644
--- a/test/language/expressions/assignment/target-null.js
+++ b/test/language/expressions/assignment/target-null.js
@@ -18,6 +18,6 @@ negative:
   type: ReferenceError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 null = 42;
diff --git a/test/language/expressions/assignment/target-number.js b/test/language/expressions/assignment/target-number.js
index b8c1751107..a529528ce6 100644
--- a/test/language/expressions/assignment/target-number.js
+++ b/test/language/expressions/assignment/target-number.js
@@ -18,6 +18,6 @@ negative:
   type: ReferenceError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 42 = 42;
diff --git a/test/language/expressions/assignment/target-string.js b/test/language/expressions/assignment/target-string.js
index c41f9b0503..fe71b23d7c 100644
--- a/test/language/expressions/assignment/target-string.js
+++ b/test/language/expressions/assignment/target-string.js
@@ -18,6 +18,6 @@ negative:
   type: ReferenceError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 'x' = 42;
diff --git a/test/language/expressions/async-arrow-function/await-as-binding-identifier-escaped.js b/test/language/expressions/async-arrow-function/await-as-binding-identifier-escaped.js
index 40cd24becf..f2a5314287 100644
--- a/test/language/expressions/async-arrow-function/await-as-binding-identifier-escaped.js
+++ b/test/language/expressions/async-arrow-function/await-as-binding-identifier-escaped.js
@@ -26,7 +26,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 async() => {
diff --git a/test/language/expressions/async-arrow-function/await-as-binding-identifier.js b/test/language/expressions/async-arrow-function/await-as-binding-identifier.js
index 802b79731d..7d9c3adeed 100644
--- a/test/language/expressions/async-arrow-function/await-as-binding-identifier.js
+++ b/test/language/expressions/async-arrow-function/await-as-binding-identifier.js
@@ -26,7 +26,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 async() => {
diff --git a/test/language/expressions/async-arrow-function/await-as-identifier-reference-escaped.js b/test/language/expressions/async-arrow-function/await-as-identifier-reference-escaped.js
index d2123bb72a..ed8b9f276c 100644
--- a/test/language/expressions/async-arrow-function/await-as-identifier-reference-escaped.js
+++ b/test/language/expressions/async-arrow-function/await-as-identifier-reference-escaped.js
@@ -26,7 +26,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 async() => {
diff --git a/test/language/expressions/async-arrow-function/await-as-identifier-reference.js b/test/language/expressions/async-arrow-function/await-as-identifier-reference.js
index 59bec7959c..44942cdfdc 100644
--- a/test/language/expressions/async-arrow-function/await-as-identifier-reference.js
+++ b/test/language/expressions/async-arrow-function/await-as-identifier-reference.js
@@ -26,7 +26,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 async() => {
diff --git a/test/language/expressions/async-arrow-function/await-as-label-identifier-escaped.js b/test/language/expressions/async-arrow-function/await-as-label-identifier-escaped.js
index 5aa95c8343..8f03c7b941 100644
--- a/test/language/expressions/async-arrow-function/await-as-label-identifier-escaped.js
+++ b/test/language/expressions/async-arrow-function/await-as-label-identifier-escaped.js
@@ -26,7 +26,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 async() => {
diff --git a/test/language/expressions/async-arrow-function/await-as-label-identifier.js b/test/language/expressions/async-arrow-function/await-as-label-identifier.js
index ff6f016a9c..20cfa203f6 100644
--- a/test/language/expressions/async-arrow-function/await-as-label-identifier.js
+++ b/test/language/expressions/async-arrow-function/await-as-label-identifier.js
@@ -26,7 +26,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 async() => {
diff --git a/test/language/expressions/async-arrow-function/await-as-param-ident-nested-arrow-parameter-position.js b/test/language/expressions/async-arrow-function/await-as-param-ident-nested-arrow-parameter-position.js
index 8823023178..4ae4f3f2bc 100644
--- a/test/language/expressions/async-arrow-function/await-as-param-ident-nested-arrow-parameter-position.js
+++ b/test/language/expressions/async-arrow-function/await-as-param-ident-nested-arrow-parameter-position.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 async(a = await => {}) => {};
diff --git a/test/language/expressions/async-arrow-function/await-as-param-nested-arrow-body-position.js b/test/language/expressions/async-arrow-function/await-as-param-nested-arrow-body-position.js
index bf6d180bf0..5739f7d2af 100644
--- a/test/language/expressions/async-arrow-function/await-as-param-nested-arrow-body-position.js
+++ b/test/language/expressions/async-arrow-function/await-as-param-nested-arrow-body-position.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 async() => { (a = await/r/g) => {} };
diff --git a/test/language/expressions/async-arrow-function/await-as-param-nested-arrow-parameter-position.js b/test/language/expressions/async-arrow-function/await-as-param-nested-arrow-parameter-position.js
index 79266eaa54..ebbc8eda49 100644
--- a/test/language/expressions/async-arrow-function/await-as-param-nested-arrow-parameter-position.js
+++ b/test/language/expressions/async-arrow-function/await-as-param-nested-arrow-parameter-position.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 async(a = (await) => {}) => {};
diff --git a/test/language/expressions/async-arrow-function/await-as-param-rest-nested-arrow-parameter-position.js b/test/language/expressions/async-arrow-function/await-as-param-rest-nested-arrow-parameter-position.js
index ca65bf19a7..395a92c5ff 100644
--- a/test/language/expressions/async-arrow-function/await-as-param-rest-nested-arrow-parameter-position.js
+++ b/test/language/expressions/async-arrow-function/await-as-param-rest-nested-arrow-parameter-position.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 async(a = (...await) => {}) => {};
diff --git a/test/language/expressions/async-arrow-function/dflt-params-duplicates.js b/test/language/expressions/async-arrow-function/dflt-params-duplicates.js
index b0d6f27067..213b728b39 100644
--- a/test/language/expressions/async-arrow-function/dflt-params-duplicates.js
+++ b/test/language/expressions/async-arrow-function/dflt-params-duplicates.js
@@ -44,7 +44,7 @@ info: |
       elements.
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 (async (x = 0, x) => {
diff --git a/test/language/expressions/async-arrow-function/dflt-params-rest.js b/test/language/expressions/async-arrow-function/dflt-params-rest.js
index 6b6afeff58..77b7798717 100644
--- a/test/language/expressions/async-arrow-function/dflt-params-rest.js
+++ b/test/language/expressions/async-arrow-function/dflt-params-rest.js
@@ -48,7 +48,7 @@ info: |
       ...BindingPattern[?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 (async (...x = []) => {
diff --git a/test/language/expressions/async-arrow-function/early-errors-arrow-NSPL-with-USD.js b/test/language/expressions/async-arrow-function/early-errors-arrow-NSPL-with-USD.js
index 59e0e7281e..5693b08ab3 100644
--- a/test/language/expressions/async-arrow-function/early-errors-arrow-NSPL-with-USD.js
+++ b/test/language/expressions/async-arrow-function/early-errors-arrow-NSPL-with-USD.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 async (x = 1) => {"use strict"}
diff --git a/test/language/expressions/async-arrow-function/early-errors-arrow-arguments-in-formal-parameters.js b/test/language/expressions/async-arrow-function/early-errors-arrow-arguments-in-formal-parameters.js
index 9f9774055b..379547bd91 100644
--- a/test/language/expressions/async-arrow-function/early-errors-arrow-arguments-in-formal-parameters.js
+++ b/test/language/expressions/async-arrow-function/early-errors-arrow-arguments-in-formal-parameters.js
@@ -11,7 +11,7 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 async(arguments) => {  }
 
diff --git a/test/language/expressions/async-arrow-function/early-errors-arrow-await-in-formals-default.js b/test/language/expressions/async-arrow-function/early-errors-arrow-await-in-formals-default.js
index bf2c217a10..18723b591e 100644
--- a/test/language/expressions/async-arrow-function/early-errors-arrow-await-in-formals-default.js
+++ b/test/language/expressions/async-arrow-function/early-errors-arrow-await-in-formals-default.js
@@ -10,5 +10,5 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 async(x = await) => {  }
diff --git a/test/language/expressions/async-arrow-function/early-errors-arrow-await-in-formals.js b/test/language/expressions/async-arrow-function/early-errors-arrow-await-in-formals.js
index 542f909fce..b9eeacdba1 100644
--- a/test/language/expressions/async-arrow-function/early-errors-arrow-await-in-formals.js
+++ b/test/language/expressions/async-arrow-function/early-errors-arrow-await-in-formals.js
@@ -10,5 +10,5 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 async(await) => {  }
diff --git a/test/language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-call.js b/test/language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-call.js
index 6ccd0d0d5b..77c567c067 100644
--- a/test/language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-call.js
+++ b/test/language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-call.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 async(foo) => { super() };
diff --git a/test/language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-property.js b/test/language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-property.js
index 2a6da0eb82..f932b84a84 100644
--- a/test/language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-property.js
+++ b/test/language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-property.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 async(foo) => { super.prop };
diff --git a/test/language/expressions/async-arrow-function/early-errors-arrow-duplicate-parameters.js b/test/language/expressions/async-arrow-function/early-errors-arrow-duplicate-parameters.js
index f4b19761cc..53a7b19cc5 100644
--- a/test/language/expressions/async-arrow-function/early-errors-arrow-duplicate-parameters.js
+++ b/test/language/expressions/async-arrow-function/early-errors-arrow-duplicate-parameters.js
@@ -12,6 +12,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 async(a, a) => { }
diff --git a/test/language/expressions/async-arrow-function/early-errors-arrow-eval-in-formal-parameters.js b/test/language/expressions/async-arrow-function/early-errors-arrow-eval-in-formal-parameters.js
index 3303a70888..0d5a621c1e 100644
--- a/test/language/expressions/async-arrow-function/early-errors-arrow-eval-in-formal-parameters.js
+++ b/test/language/expressions/async-arrow-function/early-errors-arrow-eval-in-formal-parameters.js
@@ -11,6 +11,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 async(eval) => {  }
diff --git a/test/language/expressions/async-arrow-function/early-errors-arrow-formals-body-duplicate.js b/test/language/expressions/async-arrow-function/early-errors-arrow-formals-body-duplicate.js
index 9eaa5e66d0..ed8beaacd1 100644
--- a/test/language/expressions/async-arrow-function/early-errors-arrow-formals-body-duplicate.js
+++ b/test/language/expressions/async-arrow-function/early-errors-arrow-formals-body-duplicate.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 async(bar) => { let bar; }
diff --git a/test/language/expressions/async-arrow-function/early-errors-arrow-formals-contains-super-call.js b/test/language/expressions/async-arrow-function/early-errors-arrow-formals-contains-super-call.js
index 2ec76b8ccb..f61bf23ac7 100644
--- a/test/language/expressions/async-arrow-function/early-errors-arrow-formals-contains-super-call.js
+++ b/test/language/expressions/async-arrow-function/early-errors-arrow-formals-contains-super-call.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 async(foo = super()) => {}
diff --git a/test/language/expressions/async-arrow-function/early-errors-arrow-formals-contains-super-property.js b/test/language/expressions/async-arrow-function/early-errors-arrow-formals-contains-super-property.js
index 553d337462..69659ce0be 100644
--- a/test/language/expressions/async-arrow-function/early-errors-arrow-formals-contains-super-property.js
+++ b/test/language/expressions/async-arrow-function/early-errors-arrow-formals-contains-super-property.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 async (foo = super.foo) => { }
diff --git a/test/language/expressions/async-arrow-function/early-errors-arrow-formals-lineterminator.js b/test/language/expressions/async-arrow-function/early-errors-arrow-formals-lineterminator.js
index 6cfbb3d9e1..ffde0167bf 100644
--- a/test/language/expressions/async-arrow-function/early-errors-arrow-formals-lineterminator.js
+++ b/test/language/expressions/async-arrow-function/early-errors-arrow-formals-lineterminator.js
@@ -27,7 +27,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 async
 (foo) => { }
diff --git a/test/language/expressions/async-arrow-function/escaped-async.js b/test/language/expressions/async-arrow-function/escaped-async.js
index e3756ca208..0c2ca31388 100644
--- a/test/language/expressions/async-arrow-function/escaped-async.js
+++ b/test/language/expressions/async-arrow-function/escaped-async.js
@@ -19,6 +19,6 @@ negative:
 features: [async-functions]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 \u0061sync () => {}
diff --git a/test/language/expressions/async-arrow-function/rest-params-trailing-comma-early-error.js b/test/language/expressions/async-arrow-function/rest-params-trailing-comma-early-error.js
index 15dd3ea371..e181efc7d5 100644
--- a/test/language/expressions/async-arrow-function/rest-params-trailing-comma-early-error.js
+++ b/test/language/expressions/async-arrow-function/rest-params-trailing-comma-early-error.js
@@ -40,7 +40,7 @@ info: |
         FormalParameterList[?Yield, ?Await] ,
         FormalParameterList[?Yield, ?Await] , FunctionRestParameter[?Yield, ?Await]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 (async (...a,) => {
diff --git a/test/language/expressions/async-function/await-as-binding-identifier-escaped.js b/test/language/expressions/async-function/await-as-binding-identifier-escaped.js
index 3039e53811..a433696062 100644
--- a/test/language/expressions/async-function/await-as-binding-identifier-escaped.js
+++ b/test/language/expressions/async-function/await-as-binding-identifier-escaped.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var fn = async function () {
diff --git a/test/language/expressions/async-function/await-as-binding-identifier.js b/test/language/expressions/async-function/await-as-binding-identifier.js
index ba3fae0a02..550ba38596 100644
--- a/test/language/expressions/async-function/await-as-binding-identifier.js
+++ b/test/language/expressions/async-function/await-as-binding-identifier.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var fn = async function () {
diff --git a/test/language/expressions/async-function/await-as-identifier-reference-escaped.js b/test/language/expressions/async-function/await-as-identifier-reference-escaped.js
index fcaeaff773..4b2592cd8d 100644
--- a/test/language/expressions/async-function/await-as-identifier-reference-escaped.js
+++ b/test/language/expressions/async-function/await-as-identifier-reference-escaped.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var fn = async function () {
diff --git a/test/language/expressions/async-function/await-as-identifier-reference.js b/test/language/expressions/async-function/await-as-identifier-reference.js
index 740082a0a1..3dcfd75bde 100644
--- a/test/language/expressions/async-function/await-as-identifier-reference.js
+++ b/test/language/expressions/async-function/await-as-identifier-reference.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var fn = async function () {
diff --git a/test/language/expressions/async-function/await-as-label-identifier-escaped.js b/test/language/expressions/async-function/await-as-label-identifier-escaped.js
index cefff3b972..3948a33dbb 100644
--- a/test/language/expressions/async-function/await-as-label-identifier-escaped.js
+++ b/test/language/expressions/async-function/await-as-label-identifier-escaped.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var fn = async function () {
diff --git a/test/language/expressions/async-function/await-as-label-identifier.js b/test/language/expressions/async-function/await-as-label-identifier.js
index d1f12fe2dc..d0b2dac398 100644
--- a/test/language/expressions/async-function/await-as-label-identifier.js
+++ b/test/language/expressions/async-function/await-as-label-identifier.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var fn = async function () {
diff --git a/test/language/expressions/async-function/early-errors-expression-NSPL-with-USD.js b/test/language/expressions/async-function/early-errors-expression-NSPL-with-USD.js
index 403ebc8a03..25bb9eb55d 100644
--- a/test/language/expressions/async-function/early-errors-expression-NSPL-with-USD.js
+++ b/test/language/expressions/async-function/early-errors-expression-NSPL-with-USD.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (async function (x = 1) {"use strict"})
diff --git a/test/language/expressions/async-function/early-errors-expression-binding-identifier-arguments.js b/test/language/expressions/async-function/early-errors-expression-binding-identifier-arguments.js
index 5e08688b40..1f0c9e971b 100644
--- a/test/language/expressions/async-function/early-errors-expression-binding-identifier-arguments.js
+++ b/test/language/expressions/async-function/early-errors-expression-binding-identifier-arguments.js
@@ -5,13 +5,13 @@
 author: Brian Terlson <brian.terlson@microsoft.com>
 esid: pending
 description: >
-  If the source code matching this production is strict code, it is a Syntax Error if BindingIdentifier is the IdentifierName arguments. 
+  If the source code matching this production is strict code, it is a Syntax Error if BindingIdentifier is the IdentifierName arguments.
 negative:
   phase: parse
   type: SyntaxError
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 (async function arguments () {  })
 
diff --git a/test/language/expressions/async-function/early-errors-expression-binding-identifier-eval.js b/test/language/expressions/async-function/early-errors-expression-binding-identifier-eval.js
index 7d78b9f7c0..5d6a3a6057 100644
--- a/test/language/expressions/async-function/early-errors-expression-binding-identifier-eval.js
+++ b/test/language/expressions/async-function/early-errors-expression-binding-identifier-eval.js
@@ -5,12 +5,12 @@
 author: Brian Terlson <brian.terlson@microsoft.com>
 esid: pending
 description: >
-  If the source code matching this production is strict code, it is a Syntax Error if BindingIdentifier is the IdentifierName eval. 
+  If the source code matching this production is strict code, it is a Syntax Error if BindingIdentifier is the IdentifierName eval.
 negative:
   phase: parse
   type: SyntaxError
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 (async function eval () { })
diff --git a/test/language/expressions/async-function/early-errors-expression-body-contains-super-call.js b/test/language/expressions/async-function/early-errors-expression-body-contains-super-call.js
index f851dcbcc3..f00f351984 100644
--- a/test/language/expressions/async-function/early-errors-expression-body-contains-super-call.js
+++ b/test/language/expressions/async-function/early-errors-expression-body-contains-super-call.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (async function foo (foo) { super() })
diff --git a/test/language/expressions/async-function/early-errors-expression-body-contains-super-property.js b/test/language/expressions/async-function/early-errors-expression-body-contains-super-property.js
index 8295917e5b..718ddfb515 100644
--- a/test/language/expressions/async-function/early-errors-expression-body-contains-super-property.js
+++ b/test/language/expressions/async-function/early-errors-expression-body-contains-super-property.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (async function foo (foo) { super.prop });
 
diff --git a/test/language/expressions/async-function/early-errors-expression-eval-in-formal-parameters.js b/test/language/expressions/async-function/early-errors-expression-eval-in-formal-parameters.js
index b8acc07a9f..fcb622c09c 100644
--- a/test/language/expressions/async-function/early-errors-expression-eval-in-formal-parameters.js
+++ b/test/language/expressions/async-function/early-errors-expression-eval-in-formal-parameters.js
@@ -11,6 +11,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (async function foo (eval) {  })
diff --git a/test/language/expressions/async-function/early-errors-expression-formals-body-duplicate.js b/test/language/expressions/async-function/early-errors-expression-formals-body-duplicate.js
index d46f819457..46d6d345ed 100644
--- a/test/language/expressions/async-function/early-errors-expression-formals-body-duplicate.js
+++ b/test/language/expressions/async-function/early-errors-expression-formals-body-duplicate.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (async function foo (bar) { let bar; });
diff --git a/test/language/expressions/async-function/early-errors-expression-formals-contains-super-call.js b/test/language/expressions/async-function/early-errors-expression-formals-contains-super-call.js
index d23ffbd81e..9b830f26b0 100644
--- a/test/language/expressions/async-function/early-errors-expression-formals-contains-super-call.js
+++ b/test/language/expressions/async-function/early-errors-expression-formals-contains-super-call.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (async function foo (foo = super()) { var bar; });
diff --git a/test/language/expressions/async-function/early-errors-expression-formals-contains-super-property.js b/test/language/expressions/async-function/early-errors-expression-formals-contains-super-property.js
index fbc1043210..ee3fc71018 100644
--- a/test/language/expressions/async-function/early-errors-expression-formals-contains-super-property.js
+++ b/test/language/expressions/async-function/early-errors-expression-formals-contains-super-property.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (async function foo (foo = super.foo) { var bar; });
diff --git a/test/language/expressions/async-function/early-errors-expression-not-simple-assignment-target.js b/test/language/expressions/async-function/early-errors-expression-not-simple-assignment-target.js
index e81ae0d790..2149dd6e03 100644
--- a/test/language/expressions/async-function/early-errors-expression-not-simple-assignment-target.js
+++ b/test/language/expressions/async-function/early-errors-expression-not-simple-assignment-target.js
@@ -11,6 +11,6 @@ negative:
   type: ReferenceError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (async function foo() { } = 1)
diff --git a/test/language/expressions/async-function/escaped-async.js b/test/language/expressions/async-function/escaped-async.js
index 4a8920d043..33c1992dda 100644
--- a/test/language/expressions/async-function/escaped-async.js
+++ b/test/language/expressions/async-function/escaped-async.js
@@ -19,6 +19,6 @@ negative:
 features: [async-functions]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 void \u0061sync function f(){}
diff --git a/test/language/expressions/async-function/named-await-as-binding-identifier-escaped.js b/test/language/expressions/async-function/named-await-as-binding-identifier-escaped.js
index 26c1b948de..d3e62a70a7 100644
--- a/test/language/expressions/async-function/named-await-as-binding-identifier-escaped.js
+++ b/test/language/expressions/async-function/named-await-as-binding-identifier-escaped.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var fn = async function fn() {
diff --git a/test/language/expressions/async-function/named-await-as-binding-identifier.js b/test/language/expressions/async-function/named-await-as-binding-identifier.js
index 7094d9707a..c9d150c086 100644
--- a/test/language/expressions/async-function/named-await-as-binding-identifier.js
+++ b/test/language/expressions/async-function/named-await-as-binding-identifier.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var fn = async function fn() {
diff --git a/test/language/expressions/async-function/named-await-as-identifier-reference-escaped.js b/test/language/expressions/async-function/named-await-as-identifier-reference-escaped.js
index c54e1eb3ff..ae2db3eaca 100644
--- a/test/language/expressions/async-function/named-await-as-identifier-reference-escaped.js
+++ b/test/language/expressions/async-function/named-await-as-identifier-reference-escaped.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var fn = async function fn() {
diff --git a/test/language/expressions/async-function/named-await-as-identifier-reference.js b/test/language/expressions/async-function/named-await-as-identifier-reference.js
index c9dc27618f..9a028c3ced 100644
--- a/test/language/expressions/async-function/named-await-as-identifier-reference.js
+++ b/test/language/expressions/async-function/named-await-as-identifier-reference.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var fn = async function fn() {
diff --git a/test/language/expressions/async-function/named-await-as-label-identifier-escaped.js b/test/language/expressions/async-function/named-await-as-label-identifier-escaped.js
index fdc31ec415..a38c08f016 100644
--- a/test/language/expressions/async-function/named-await-as-label-identifier-escaped.js
+++ b/test/language/expressions/async-function/named-await-as-label-identifier-escaped.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var fn = async function fn() {
diff --git a/test/language/expressions/async-function/named-await-as-label-identifier.js b/test/language/expressions/async-function/named-await-as-label-identifier.js
index 67866c2f8f..ab2dd3105c 100644
--- a/test/language/expressions/async-function/named-await-as-label-identifier.js
+++ b/test/language/expressions/async-function/named-await-as-label-identifier.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var fn = async function fn() {
diff --git a/test/language/expressions/async-function/named-dflt-params-duplicates.js b/test/language/expressions/async-function/named-dflt-params-duplicates.js
index 3a7d31fd7d..798c8ca9f6 100644
--- a/test/language/expressions/async-function/named-dflt-params-duplicates.js
+++ b/test/language/expressions/async-function/named-dflt-params-duplicates.js
@@ -30,7 +30,7 @@ info: |
       elements.
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 (async function f(x = 0, x) {
diff --git a/test/language/expressions/async-function/named-dflt-params-rest.js b/test/language/expressions/async-function/named-dflt-params-rest.js
index 4884d9b3f0..01ff74b8db 100644
--- a/test/language/expressions/async-function/named-dflt-params-rest.js
+++ b/test/language/expressions/async-function/named-dflt-params-rest.js
@@ -34,7 +34,7 @@ info: |
       ...BindingPattern[?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 (async function f(...x = []) {
diff --git a/test/language/expressions/async-function/named-rest-params-trailing-comma-early-error.js b/test/language/expressions/async-function/named-rest-params-trailing-comma-early-error.js
index 87d3ebe6c5..940e262266 100644
--- a/test/language/expressions/async-function/named-rest-params-trailing-comma-early-error.js
+++ b/test/language/expressions/async-function/named-rest-params-trailing-comma-early-error.js
@@ -27,7 +27,7 @@ info: |
         FormalParameterList[?Yield, ?Await] ,
         FormalParameterList[?Yield, ?Await] , FunctionRestParameter[?Yield, ?Await]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 (async function f(...a,) {
diff --git a/test/language/expressions/async-function/nameless-dflt-params-duplicates.js b/test/language/expressions/async-function/nameless-dflt-params-duplicates.js
index cf0a491959..df1c030e15 100644
--- a/test/language/expressions/async-function/nameless-dflt-params-duplicates.js
+++ b/test/language/expressions/async-function/nameless-dflt-params-duplicates.js
@@ -30,7 +30,7 @@ info: |
       elements.
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 (async function(x = 0, x) {
diff --git a/test/language/expressions/async-function/nameless-dflt-params-rest.js b/test/language/expressions/async-function/nameless-dflt-params-rest.js
index 9d34dce10b..c2f76e62ce 100644
--- a/test/language/expressions/async-function/nameless-dflt-params-rest.js
+++ b/test/language/expressions/async-function/nameless-dflt-params-rest.js
@@ -34,7 +34,7 @@ info: |
       ...BindingPattern[?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 (async function(...x = []) {
diff --git a/test/language/expressions/async-function/nameless-rest-params-trailing-comma-early-error.js b/test/language/expressions/async-function/nameless-rest-params-trailing-comma-early-error.js
index 7d41cc239d..1c2f863ee2 100644
--- a/test/language/expressions/async-function/nameless-rest-params-trailing-comma-early-error.js
+++ b/test/language/expressions/async-function/nameless-rest-params-trailing-comma-early-error.js
@@ -27,7 +27,7 @@ info: |
         FormalParameterList[?Yield, ?Await] ,
         FormalParameterList[?Yield, ?Await] , FunctionRestParameter[?Yield, ?Await]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 (async function(...a,) {
diff --git a/test/language/expressions/async-generator/await-as-binding-identifier-escaped.js b/test/language/expressions/async-generator/await-as-binding-identifier-escaped.js
index 7e08a92f17..73f60f9335 100644
--- a/test/language/expressions/async-generator/await-as-binding-identifier-escaped.js
+++ b/test/language/expressions/async-generator/await-as-binding-identifier-escaped.js
@@ -23,7 +23,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var gen = async function *() {
diff --git a/test/language/expressions/async-generator/await-as-binding-identifier.js b/test/language/expressions/async-generator/await-as-binding-identifier.js
index 90a61f21b9..0af2aa7882 100644
--- a/test/language/expressions/async-generator/await-as-binding-identifier.js
+++ b/test/language/expressions/async-generator/await-as-binding-identifier.js
@@ -23,7 +23,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var gen = async function *() {
diff --git a/test/language/expressions/async-generator/await-as-identifier-reference-escaped.js b/test/language/expressions/async-generator/await-as-identifier-reference-escaped.js
index 217682fc02..52eabc0c3d 100644
--- a/test/language/expressions/async-generator/await-as-identifier-reference-escaped.js
+++ b/test/language/expressions/async-generator/await-as-identifier-reference-escaped.js
@@ -23,7 +23,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var gen = async function *() {
diff --git a/test/language/expressions/async-generator/await-as-identifier-reference.js b/test/language/expressions/async-generator/await-as-identifier-reference.js
index 4735bc0a62..acc91d097b 100644
--- a/test/language/expressions/async-generator/await-as-identifier-reference.js
+++ b/test/language/expressions/async-generator/await-as-identifier-reference.js
@@ -23,7 +23,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var gen = async function *() {
diff --git a/test/language/expressions/async-generator/await-as-label-identifier-escaped.js b/test/language/expressions/async-generator/await-as-label-identifier-escaped.js
index 781dc9a493..c5e600a364 100644
--- a/test/language/expressions/async-generator/await-as-label-identifier-escaped.js
+++ b/test/language/expressions/async-generator/await-as-label-identifier-escaped.js
@@ -23,7 +23,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var gen = async function *() {
diff --git a/test/language/expressions/async-generator/await-as-label-identifier.js b/test/language/expressions/async-generator/await-as-label-identifier.js
index c268e9772c..572865e61a 100644
--- a/test/language/expressions/async-generator/await-as-label-identifier.js
+++ b/test/language/expressions/async-generator/await-as-label-identifier.js
@@ -23,7 +23,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var gen = async function *() {
diff --git a/test/language/expressions/async-generator/dflt-params-duplicates.js b/test/language/expressions/async-generator/dflt-params-duplicates.js
index 3cfe9ca55f..e1b58f2b5f 100644
--- a/test/language/expressions/async-generator/dflt-params-duplicates.js
+++ b/test/language/expressions/async-generator/dflt-params-duplicates.js
@@ -33,7 +33,7 @@ info: |
       elements.
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 0, async function*(x = 0, x) {
diff --git a/test/language/expressions/async-generator/dflt-params-rest.js b/test/language/expressions/async-generator/dflt-params-rest.js
index 7df2f2648c..5d017c4103 100644
--- a/test/language/expressions/async-generator/dflt-params-rest.js
+++ b/test/language/expressions/async-generator/dflt-params-rest.js
@@ -37,7 +37,7 @@ info: |
       ...BindingPattern[?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 0, async function*(...x = []) {
diff --git a/test/language/expressions/async-generator/dstr-ary-ptrn-rest-init-ary.js b/test/language/expressions/async-generator/dstr-ary-ptrn-rest-init-ary.js
index b572bc9e1b..4b4d2e6cfc 100644
--- a/test/language/expressions/async-generator/dstr-ary-ptrn-rest-init-ary.js
+++ b/test/language/expressions/async-generator/dstr-ary-ptrn-rest-init-ary.js
@@ -25,7 +25,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/async-generator/dstr-ary-ptrn-rest-init-id.js b/test/language/expressions/async-generator/dstr-ary-ptrn-rest-init-id.js
index e044b1e02a..0911fbed2a 100644
--- a/test/language/expressions/async-generator/dstr-ary-ptrn-rest-init-id.js
+++ b/test/language/expressions/async-generator/dstr-ary-ptrn-rest-init-id.js
@@ -25,7 +25,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/async-generator/dstr-ary-ptrn-rest-init-obj.js b/test/language/expressions/async-generator/dstr-ary-ptrn-rest-init-obj.js
index 2f603dadff..b0b67e5575 100644
--- a/test/language/expressions/async-generator/dstr-ary-ptrn-rest-init-obj.js
+++ b/test/language/expressions/async-generator/dstr-ary-ptrn-rest-init-obj.js
@@ -25,7 +25,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/async-generator/dstr-ary-ptrn-rest-not-final-ary.js b/test/language/expressions/async-generator/dstr-ary-ptrn-rest-not-final-ary.js
index dde0e8247d..444931d9e1 100644
--- a/test/language/expressions/async-generator/dstr-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/expressions/async-generator/dstr-ary-ptrn-rest-not-final-ary.js
@@ -25,7 +25,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/async-generator/dstr-ary-ptrn-rest-not-final-id.js b/test/language/expressions/async-generator/dstr-ary-ptrn-rest-not-final-id.js
index a02d211670..00764e7fcb 100644
--- a/test/language/expressions/async-generator/dstr-ary-ptrn-rest-not-final-id.js
+++ b/test/language/expressions/async-generator/dstr-ary-ptrn-rest-not-final-id.js
@@ -25,7 +25,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/async-generator/dstr-ary-ptrn-rest-not-final-obj.js b/test/language/expressions/async-generator/dstr-ary-ptrn-rest-not-final-obj.js
index a04db43f91..93fe89a3da 100644
--- a/test/language/expressions/async-generator/dstr-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/expressions/async-generator/dstr-ary-ptrn-rest-not-final-obj.js
@@ -25,7 +25,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/async-generator/dstr-dflt-ary-ptrn-rest-init-ary.js b/test/language/expressions/async-generator/dstr-dflt-ary-ptrn-rest-init-ary.js
index d4a4ba8e23..0aab7f0f40 100644
--- a/test/language/expressions/async-generator/dstr-dflt-ary-ptrn-rest-init-ary.js
+++ b/test/language/expressions/async-generator/dstr-dflt-ary-ptrn-rest-init-ary.js
@@ -25,7 +25,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/async-generator/dstr-dflt-ary-ptrn-rest-init-id.js b/test/language/expressions/async-generator/dstr-dflt-ary-ptrn-rest-init-id.js
index 15b6ab6ed7..4439206e7a 100644
--- a/test/language/expressions/async-generator/dstr-dflt-ary-ptrn-rest-init-id.js
+++ b/test/language/expressions/async-generator/dstr-dflt-ary-ptrn-rest-init-id.js
@@ -25,7 +25,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/async-generator/dstr-dflt-ary-ptrn-rest-init-obj.js b/test/language/expressions/async-generator/dstr-dflt-ary-ptrn-rest-init-obj.js
index ce510afced..d83ec76619 100644
--- a/test/language/expressions/async-generator/dstr-dflt-ary-ptrn-rest-init-obj.js
+++ b/test/language/expressions/async-generator/dstr-dflt-ary-ptrn-rest-init-obj.js
@@ -25,7 +25,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/async-generator/dstr-dflt-ary-ptrn-rest-not-final-ary.js b/test/language/expressions/async-generator/dstr-dflt-ary-ptrn-rest-not-final-ary.js
index 4e9e85bd4f..623c6720b5 100644
--- a/test/language/expressions/async-generator/dstr-dflt-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/expressions/async-generator/dstr-dflt-ary-ptrn-rest-not-final-ary.js
@@ -25,7 +25,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/async-generator/dstr-dflt-ary-ptrn-rest-not-final-id.js b/test/language/expressions/async-generator/dstr-dflt-ary-ptrn-rest-not-final-id.js
index ffde5db9bd..20a5dc65b0 100644
--- a/test/language/expressions/async-generator/dstr-dflt-ary-ptrn-rest-not-final-id.js
+++ b/test/language/expressions/async-generator/dstr-dflt-ary-ptrn-rest-not-final-id.js
@@ -25,7 +25,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/async-generator/dstr-dflt-ary-ptrn-rest-not-final-obj.js b/test/language/expressions/async-generator/dstr-dflt-ary-ptrn-rest-not-final-obj.js
index 80655c7511..3cde6b44a3 100644
--- a/test/language/expressions/async-generator/dstr-dflt-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/expressions/async-generator/dstr-dflt-ary-ptrn-rest-not-final-obj.js
@@ -25,7 +25,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/async-generator/dstr-named-ary-ptrn-rest-init-ary.js b/test/language/expressions/async-generator/dstr-named-ary-ptrn-rest-init-ary.js
index 7789772526..ae0c5a1b1c 100644
--- a/test/language/expressions/async-generator/dstr-named-ary-ptrn-rest-init-ary.js
+++ b/test/language/expressions/async-generator/dstr-named-ary-ptrn-rest-init-ary.js
@@ -25,7 +25,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/async-generator/dstr-named-ary-ptrn-rest-init-id.js b/test/language/expressions/async-generator/dstr-named-ary-ptrn-rest-init-id.js
index c60fa7a92f..bd503077ff 100644
--- a/test/language/expressions/async-generator/dstr-named-ary-ptrn-rest-init-id.js
+++ b/test/language/expressions/async-generator/dstr-named-ary-ptrn-rest-init-id.js
@@ -25,7 +25,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/async-generator/dstr-named-ary-ptrn-rest-init-obj.js b/test/language/expressions/async-generator/dstr-named-ary-ptrn-rest-init-obj.js
index 3996947dd9..78c4534843 100644
--- a/test/language/expressions/async-generator/dstr-named-ary-ptrn-rest-init-obj.js
+++ b/test/language/expressions/async-generator/dstr-named-ary-ptrn-rest-init-obj.js
@@ -25,7 +25,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/async-generator/dstr-named-ary-ptrn-rest-not-final-ary.js b/test/language/expressions/async-generator/dstr-named-ary-ptrn-rest-not-final-ary.js
index 0207bd04af..5da0cd00b6 100644
--- a/test/language/expressions/async-generator/dstr-named-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/expressions/async-generator/dstr-named-ary-ptrn-rest-not-final-ary.js
@@ -25,7 +25,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/async-generator/dstr-named-ary-ptrn-rest-not-final-id.js b/test/language/expressions/async-generator/dstr-named-ary-ptrn-rest-not-final-id.js
index fe877888d9..4f20ba0a15 100644
--- a/test/language/expressions/async-generator/dstr-named-ary-ptrn-rest-not-final-id.js
+++ b/test/language/expressions/async-generator/dstr-named-ary-ptrn-rest-not-final-id.js
@@ -25,7 +25,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/async-generator/dstr-named-ary-ptrn-rest-not-final-obj.js b/test/language/expressions/async-generator/dstr-named-ary-ptrn-rest-not-final-obj.js
index e9f377e2c1..7de11feba3 100644
--- a/test/language/expressions/async-generator/dstr-named-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/expressions/async-generator/dstr-named-ary-ptrn-rest-not-final-obj.js
@@ -25,7 +25,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/async-generator/dstr-named-dflt-ary-ptrn-rest-init-ary.js b/test/language/expressions/async-generator/dstr-named-dflt-ary-ptrn-rest-init-ary.js
index e8ae003d99..7e013d3b98 100644
--- a/test/language/expressions/async-generator/dstr-named-dflt-ary-ptrn-rest-init-ary.js
+++ b/test/language/expressions/async-generator/dstr-named-dflt-ary-ptrn-rest-init-ary.js
@@ -25,7 +25,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/async-generator/dstr-named-dflt-ary-ptrn-rest-init-id.js b/test/language/expressions/async-generator/dstr-named-dflt-ary-ptrn-rest-init-id.js
index 45d7800290..89037a9643 100644
--- a/test/language/expressions/async-generator/dstr-named-dflt-ary-ptrn-rest-init-id.js
+++ b/test/language/expressions/async-generator/dstr-named-dflt-ary-ptrn-rest-init-id.js
@@ -25,7 +25,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/async-generator/dstr-named-dflt-ary-ptrn-rest-init-obj.js b/test/language/expressions/async-generator/dstr-named-dflt-ary-ptrn-rest-init-obj.js
index be7f3df967..4e8314e92e 100644
--- a/test/language/expressions/async-generator/dstr-named-dflt-ary-ptrn-rest-init-obj.js
+++ b/test/language/expressions/async-generator/dstr-named-dflt-ary-ptrn-rest-init-obj.js
@@ -25,7 +25,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/async-generator/dstr-named-dflt-ary-ptrn-rest-not-final-ary.js b/test/language/expressions/async-generator/dstr-named-dflt-ary-ptrn-rest-not-final-ary.js
index 19dcc36b0a..6e6061682c 100644
--- a/test/language/expressions/async-generator/dstr-named-dflt-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/expressions/async-generator/dstr-named-dflt-ary-ptrn-rest-not-final-ary.js
@@ -25,7 +25,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/async-generator/dstr-named-dflt-ary-ptrn-rest-not-final-id.js b/test/language/expressions/async-generator/dstr-named-dflt-ary-ptrn-rest-not-final-id.js
index aa0399e8a7..320f6d5820 100644
--- a/test/language/expressions/async-generator/dstr-named-dflt-ary-ptrn-rest-not-final-id.js
+++ b/test/language/expressions/async-generator/dstr-named-dflt-ary-ptrn-rest-not-final-id.js
@@ -25,7 +25,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/async-generator/dstr-named-dflt-ary-ptrn-rest-not-final-obj.js b/test/language/expressions/async-generator/dstr-named-dflt-ary-ptrn-rest-not-final-obj.js
index a9c2c83f09..979df62abb 100644
--- a/test/language/expressions/async-generator/dstr-named-dflt-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/expressions/async-generator/dstr-named-dflt-ary-ptrn-rest-not-final-obj.js
@@ -25,7 +25,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/async-generator/early-errors-expression-NSPL-with-USD.js b/test/language/expressions/async-generator/early-errors-expression-NSPL-with-USD.js
index 5e8e493f68..6ab4d0ed86 100644
--- a/test/language/expressions/async-generator/early-errors-expression-NSPL-with-USD.js
+++ b/test/language/expressions/async-generator/early-errors-expression-NSPL-with-USD.js
@@ -13,6 +13,6 @@ negative:
 features: [async-iteration]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (async function*(x = 1) {"use strict"});
diff --git a/test/language/expressions/async-generator/early-errors-expression-arguments-in-formal-parameters.js b/test/language/expressions/async-generator/early-errors-expression-arguments-in-formal-parameters.js
index 03574a2411..8633dd491c 100644
--- a/test/language/expressions/async-generator/early-errors-expression-arguments-in-formal-parameters.js
+++ b/test/language/expressions/async-generator/early-errors-expression-arguments-in-formal-parameters.js
@@ -13,6 +13,6 @@ flags: [onlyStrict]
 features: [async-iteration]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (async function*(arguments) { });
diff --git a/test/language/expressions/async-generator/early-errors-expression-await-as-function-binding-identifier.js b/test/language/expressions/async-generator/early-errors-expression-await-as-function-binding-identifier.js
index bdd70a3342..a51d95a266 100644
--- a/test/language/expressions/async-generator/early-errors-expression-await-as-function-binding-identifier.js
+++ b/test/language/expressions/async-generator/early-errors-expression-await-as-function-binding-identifier.js
@@ -12,6 +12,6 @@ negative:
 features: [async-iteration]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (async function* await() { });
diff --git a/test/language/expressions/async-generator/early-errors-expression-binding-identifier-arguments.js b/test/language/expressions/async-generator/early-errors-expression-binding-identifier-arguments.js
index 2984c5a5f3..ee384e2164 100644
--- a/test/language/expressions/async-generator/early-errors-expression-binding-identifier-arguments.js
+++ b/test/language/expressions/async-generator/early-errors-expression-binding-identifier-arguments.js
@@ -14,6 +14,6 @@ flags: [onlyStrict]
 features: [async-iteration]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (async function* arguments() { });
diff --git a/test/language/expressions/async-generator/early-errors-expression-binding-identifier-eval.js b/test/language/expressions/async-generator/early-errors-expression-binding-identifier-eval.js
index d9d2e9abbd..b86445c4b4 100644
--- a/test/language/expressions/async-generator/early-errors-expression-binding-identifier-eval.js
+++ b/test/language/expressions/async-generator/early-errors-expression-binding-identifier-eval.js
@@ -14,6 +14,6 @@ flags: [onlyStrict]
 features: [async-iteration]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (async function* eval() { });
diff --git a/test/language/expressions/async-generator/early-errors-expression-body-contains-super-call.js b/test/language/expressions/async-generator/early-errors-expression-body-contains-super-call.js
index 9e9ff9190b..4c35b5b234 100644
--- a/test/language/expressions/async-generator/early-errors-expression-body-contains-super-call.js
+++ b/test/language/expressions/async-generator/early-errors-expression-body-contains-super-call.js
@@ -12,6 +12,6 @@ negative:
 features: [async-iteration]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (async function*() { super(); });
diff --git a/test/language/expressions/async-generator/early-errors-expression-body-contains-super-property.js b/test/language/expressions/async-generator/early-errors-expression-body-contains-super-property.js
index a196756b34..88c8c70179 100644
--- a/test/language/expressions/async-generator/early-errors-expression-body-contains-super-property.js
+++ b/test/language/expressions/async-generator/early-errors-expression-body-contains-super-property.js
@@ -12,6 +12,6 @@ negative:
 features: [async-iteration]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (async function*() { super.prop; });
diff --git a/test/language/expressions/async-generator/early-errors-expression-eval-in-formal-parameters.js b/test/language/expressions/async-generator/early-errors-expression-eval-in-formal-parameters.js
index 22ce8f319f..d70cb186a9 100644
--- a/test/language/expressions/async-generator/early-errors-expression-eval-in-formal-parameters.js
+++ b/test/language/expressions/async-generator/early-errors-expression-eval-in-formal-parameters.js
@@ -13,6 +13,6 @@ flags: [onlyStrict]
 features: [async-iteration]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (async function*(eval) { });
diff --git a/test/language/expressions/async-generator/early-errors-expression-formals-body-duplicate-const.js b/test/language/expressions/async-generator/early-errors-expression-formals-body-duplicate-const.js
index 0a94132595..c5a936de3b 100644
--- a/test/language/expressions/async-generator/early-errors-expression-formals-body-duplicate-const.js
+++ b/test/language/expressions/async-generator/early-errors-expression-formals-body-duplicate-const.js
@@ -16,6 +16,6 @@ negative:
 features: [async-iteration]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (async function*(a) { const a = 0; });
diff --git a/test/language/expressions/async-generator/early-errors-expression-formals-body-duplicate-let.js b/test/language/expressions/async-generator/early-errors-expression-formals-body-duplicate-let.js
index 149d7fe6e0..e4737dd3d3 100644
--- a/test/language/expressions/async-generator/early-errors-expression-formals-body-duplicate-let.js
+++ b/test/language/expressions/async-generator/early-errors-expression-formals-body-duplicate-let.js
@@ -13,6 +13,6 @@ negative:
 features: [async-iteration]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (async function*(a) { let a; });
diff --git a/test/language/expressions/async-generator/early-errors-expression-formals-contains-await-expr.js b/test/language/expressions/async-generator/early-errors-expression-formals-contains-await-expr.js
index 407c213bf3..d89024c013 100644
--- a/test/language/expressions/async-generator/early-errors-expression-formals-contains-await-expr.js
+++ b/test/language/expressions/async-generator/early-errors-expression-formals-contains-await-expr.js
@@ -12,6 +12,6 @@ negative:
 features: [async-iteration]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (async function*(x = await 1) { });
diff --git a/test/language/expressions/async-generator/early-errors-expression-formals-contains-await.js b/test/language/expressions/async-generator/early-errors-expression-formals-contains-await.js
index db30969bfc..6ba4c21f3b 100644
--- a/test/language/expressions/async-generator/early-errors-expression-formals-contains-await.js
+++ b/test/language/expressions/async-generator/early-errors-expression-formals-contains-await.js
@@ -13,6 +13,6 @@ negative:
 features: [async-iteration]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (async function*(await) { });
diff --git a/test/language/expressions/async-generator/early-errors-expression-formals-contains-super-call.js b/test/language/expressions/async-generator/early-errors-expression-formals-contains-super-call.js
index c4046911d6..bd8f71238b 100644
--- a/test/language/expressions/async-generator/early-errors-expression-formals-contains-super-call.js
+++ b/test/language/expressions/async-generator/early-errors-expression-formals-contains-super-call.js
@@ -12,6 +12,6 @@ negative:
 features: [async-iteration]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (async function*(a = super()) { });
diff --git a/test/language/expressions/async-generator/early-errors-expression-formals-contains-super-property.js b/test/language/expressions/async-generator/early-errors-expression-formals-contains-super-property.js
index c8950ab9b9..e8fd3f111a 100644
--- a/test/language/expressions/async-generator/early-errors-expression-formals-contains-super-property.js
+++ b/test/language/expressions/async-generator/early-errors-expression-formals-contains-super-property.js
@@ -12,6 +12,6 @@ negative:
 features: [async-iteration]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (async function*(a = super.prop) { });
diff --git a/test/language/expressions/async-generator/early-errors-expression-formals-contains-yield-expr.js b/test/language/expressions/async-generator/early-errors-expression-formals-contains-yield-expr.js
index edb21f3a99..2873a2a3e6 100644
--- a/test/language/expressions/async-generator/early-errors-expression-formals-contains-yield-expr.js
+++ b/test/language/expressions/async-generator/early-errors-expression-formals-contains-yield-expr.js
@@ -12,6 +12,6 @@ negative:
 features: [async-iteration]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (async function*(x = yield) { });
diff --git a/test/language/expressions/async-generator/early-errors-expression-formals-contains-yield.js b/test/language/expressions/async-generator/early-errors-expression-formals-contains-yield.js
index 4f1f9aefba..a0aee6cb08 100644
--- a/test/language/expressions/async-generator/early-errors-expression-formals-contains-yield.js
+++ b/test/language/expressions/async-generator/early-errors-expression-formals-contains-yield.js
@@ -13,6 +13,6 @@ negative:
 features: [async-iteration]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (async function*(yield) { });
diff --git a/test/language/expressions/async-generator/early-errors-expression-label-name-await.js b/test/language/expressions/async-generator/early-errors-expression-label-name-await.js
index 7f18c4318f..f503e9332a 100644
--- a/test/language/expressions/async-generator/early-errors-expression-label-name-await.js
+++ b/test/language/expressions/async-generator/early-errors-expression-label-name-await.js
@@ -17,7 +17,7 @@ negative:
 features: [async-iteration]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (async function*() {
   await: 1;
diff --git a/test/language/expressions/async-generator/early-errors-expression-label-name-yield.js b/test/language/expressions/async-generator/early-errors-expression-label-name-yield.js
index 5035798cc1..2308826b49 100644
--- a/test/language/expressions/async-generator/early-errors-expression-label-name-yield.js
+++ b/test/language/expressions/async-generator/early-errors-expression-label-name-yield.js
@@ -19,7 +19,7 @@ negative:
 features: [async-iteration]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (async function*() {
   yield: 1;
diff --git a/test/language/expressions/async-generator/early-errors-expression-not-simple-assignment-target.js b/test/language/expressions/async-generator/early-errors-expression-not-simple-assignment-target.js
index 475f2febf5..cb44f8606a 100644
--- a/test/language/expressions/async-generator/early-errors-expression-not-simple-assignment-target.js
+++ b/test/language/expressions/async-generator/early-errors-expression-not-simple-assignment-target.js
@@ -12,6 +12,6 @@ negative:
 features: [async-iteration]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (async function*() { } = 1);
diff --git a/test/language/expressions/async-generator/early-errors-expression-yield-as-function-binding-identifier.js b/test/language/expressions/async-generator/early-errors-expression-yield-as-function-binding-identifier.js
index 6f698792e9..6cb888cceb 100644
--- a/test/language/expressions/async-generator/early-errors-expression-yield-as-function-binding-identifier.js
+++ b/test/language/expressions/async-generator/early-errors-expression-yield-as-function-binding-identifier.js
@@ -12,6 +12,6 @@ negative:
 features: [async-iteration]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (async function* yield() { });
diff --git a/test/language/expressions/async-generator/early-errors-expression-yield-star-after-newline.js b/test/language/expressions/async-generator/early-errors-expression-yield-star-after-newline.js
index 8e4701d994..30578a598a 100644
--- a/test/language/expressions/async-generator/early-errors-expression-yield-star-after-newline.js
+++ b/test/language/expressions/async-generator/early-errors-expression-yield-star-after-newline.js
@@ -12,7 +12,7 @@ negative:
 features: [async-iteration]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (async function*() {
   yield
diff --git a/test/language/expressions/async-generator/escaped-async.js b/test/language/expressions/async-generator/escaped-async.js
index 65738a6590..1860e93a65 100644
--- a/test/language/expressions/async-generator/escaped-async.js
+++ b/test/language/expressions/async-generator/escaped-async.js
@@ -19,6 +19,6 @@ negative:
 features: [async-iteration]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 void \u0061sync function* f(){};
diff --git a/test/language/expressions/async-generator/named-await-as-binding-identifier-escaped.js b/test/language/expressions/async-generator/named-await-as-binding-identifier-escaped.js
index 146c11beff..3cb5df3255 100644
--- a/test/language/expressions/async-generator/named-await-as-binding-identifier-escaped.js
+++ b/test/language/expressions/async-generator/named-await-as-binding-identifier-escaped.js
@@ -23,7 +23,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var gen = async function *g() {
diff --git a/test/language/expressions/async-generator/named-await-as-binding-identifier.js b/test/language/expressions/async-generator/named-await-as-binding-identifier.js
index ca7c26e836..7719a0315f 100644
--- a/test/language/expressions/async-generator/named-await-as-binding-identifier.js
+++ b/test/language/expressions/async-generator/named-await-as-binding-identifier.js
@@ -23,7 +23,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var gen = async function *g() {
diff --git a/test/language/expressions/async-generator/named-await-as-identifier-reference-escaped.js b/test/language/expressions/async-generator/named-await-as-identifier-reference-escaped.js
index 86b9b9d2e8..050ae2b31e 100644
--- a/test/language/expressions/async-generator/named-await-as-identifier-reference-escaped.js
+++ b/test/language/expressions/async-generator/named-await-as-identifier-reference-escaped.js
@@ -23,7 +23,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var gen = async function *g() {
diff --git a/test/language/expressions/async-generator/named-await-as-identifier-reference.js b/test/language/expressions/async-generator/named-await-as-identifier-reference.js
index 16ff31ac30..7c5385bd6c 100644
--- a/test/language/expressions/async-generator/named-await-as-identifier-reference.js
+++ b/test/language/expressions/async-generator/named-await-as-identifier-reference.js
@@ -23,7 +23,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var gen = async function *g() {
diff --git a/test/language/expressions/async-generator/named-await-as-label-identifier-escaped.js b/test/language/expressions/async-generator/named-await-as-label-identifier-escaped.js
index 142f6f053e..5d57240f85 100644
--- a/test/language/expressions/async-generator/named-await-as-label-identifier-escaped.js
+++ b/test/language/expressions/async-generator/named-await-as-label-identifier-escaped.js
@@ -23,7 +23,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var gen = async function *g() {
diff --git a/test/language/expressions/async-generator/named-await-as-label-identifier.js b/test/language/expressions/async-generator/named-await-as-label-identifier.js
index 070b920d01..0c51ff132d 100644
--- a/test/language/expressions/async-generator/named-await-as-label-identifier.js
+++ b/test/language/expressions/async-generator/named-await-as-label-identifier.js
@@ -23,7 +23,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var gen = async function *g() {
diff --git a/test/language/expressions/async-generator/named-dflt-params-duplicates.js b/test/language/expressions/async-generator/named-dflt-params-duplicates.js
index e90116d1e9..80b742aa5d 100644
--- a/test/language/expressions/async-generator/named-dflt-params-duplicates.js
+++ b/test/language/expressions/async-generator/named-dflt-params-duplicates.js
@@ -33,7 +33,7 @@ info: |
       elements.
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 0, async function* g(x = 0, x) {
diff --git a/test/language/expressions/async-generator/named-dflt-params-rest.js b/test/language/expressions/async-generator/named-dflt-params-rest.js
index 41570d6465..10dea453d9 100644
--- a/test/language/expressions/async-generator/named-dflt-params-rest.js
+++ b/test/language/expressions/async-generator/named-dflt-params-rest.js
@@ -37,7 +37,7 @@ info: |
       ...BindingPattern[?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 0, async function* g(...x = []) {
diff --git a/test/language/expressions/async-generator/named-rest-params-trailing-comma-early-error.js b/test/language/expressions/async-generator/named-rest-params-trailing-comma-early-error.js
index eefb3934dc..aa13c02aac 100644
--- a/test/language/expressions/async-generator/named-rest-params-trailing-comma-early-error.js
+++ b/test/language/expressions/async-generator/named-rest-params-trailing-comma-early-error.js
@@ -30,7 +30,7 @@ info: |
         FormalParameterList[?Yield, ?Await] ,
         FormalParameterList[?Yield, ?Await] , FunctionRestParameter[?Yield, ?Await]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 0, async function* g(...a,) {
diff --git a/test/language/expressions/async-generator/named-yield-as-binding-identifier-escaped.js b/test/language/expressions/async-generator/named-yield-as-binding-identifier-escaped.js
index 894018da25..676ff9dc63 100644
--- a/test/language/expressions/async-generator/named-yield-as-binding-identifier-escaped.js
+++ b/test/language/expressions/async-generator/named-yield-as-binding-identifier-escaped.js
@@ -23,7 +23,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var gen = async function *g() {
diff --git a/test/language/expressions/async-generator/named-yield-as-binding-identifier.js b/test/language/expressions/async-generator/named-yield-as-binding-identifier.js
index a716325173..62196595ce 100644
--- a/test/language/expressions/async-generator/named-yield-as-binding-identifier.js
+++ b/test/language/expressions/async-generator/named-yield-as-binding-identifier.js
@@ -23,7 +23,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var gen = async function *g() {
diff --git a/test/language/expressions/async-generator/named-yield-as-identifier-reference-escaped.js b/test/language/expressions/async-generator/named-yield-as-identifier-reference-escaped.js
index e43a2cc2dd..dd715dbe6f 100644
--- a/test/language/expressions/async-generator/named-yield-as-identifier-reference-escaped.js
+++ b/test/language/expressions/async-generator/named-yield-as-identifier-reference-escaped.js
@@ -23,7 +23,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var gen = async function *g() {
diff --git a/test/language/expressions/async-generator/named-yield-as-identifier-reference.js b/test/language/expressions/async-generator/named-yield-as-identifier-reference.js
index ac76994fe3..e9e942ed25 100644
--- a/test/language/expressions/async-generator/named-yield-as-identifier-reference.js
+++ b/test/language/expressions/async-generator/named-yield-as-identifier-reference.js
@@ -23,7 +23,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var gen = async function *g() {
diff --git a/test/language/expressions/async-generator/named-yield-as-label-identifier-escaped.js b/test/language/expressions/async-generator/named-yield-as-label-identifier-escaped.js
index 7bfae88f48..d629755267 100644
--- a/test/language/expressions/async-generator/named-yield-as-label-identifier-escaped.js
+++ b/test/language/expressions/async-generator/named-yield-as-label-identifier-escaped.js
@@ -23,7 +23,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var gen = async function *g() {
diff --git a/test/language/expressions/async-generator/named-yield-as-label-identifier.js b/test/language/expressions/async-generator/named-yield-as-label-identifier.js
index 97c84366f7..2769c40401 100644
--- a/test/language/expressions/async-generator/named-yield-as-label-identifier.js
+++ b/test/language/expressions/async-generator/named-yield-as-label-identifier.js
@@ -23,7 +23,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var gen = async function *g() {
diff --git a/test/language/expressions/async-generator/named-yield-identifier-spread-strict.js b/test/language/expressions/async-generator/named-yield-identifier-spread-strict.js
index ea21a1a0fa..d35d29849e 100644
--- a/test/language/expressions/async-generator/named-yield-identifier-spread-strict.js
+++ b/test/language/expressions/async-generator/named-yield-identifier-spread-strict.js
@@ -24,7 +24,7 @@ info: |
       ...AssignmentExpression[In, ?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/async-generator/named-yield-identifier-strict.js b/test/language/expressions/async-generator/named-yield-identifier-strict.js
index 1721b7b277..83e2f0c725 100644
--- a/test/language/expressions/async-generator/named-yield-identifier-strict.js
+++ b/test/language/expressions/async-generator/named-yield-identifier-strict.js
@@ -17,7 +17,7 @@ info: |
         AsyncGeneratorBody }
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/async-generator/rest-params-trailing-comma-early-error.js b/test/language/expressions/async-generator/rest-params-trailing-comma-early-error.js
index 58267247c5..e8ca5ab253 100644
--- a/test/language/expressions/async-generator/rest-params-trailing-comma-early-error.js
+++ b/test/language/expressions/async-generator/rest-params-trailing-comma-early-error.js
@@ -30,7 +30,7 @@ info: |
         FormalParameterList[?Yield, ?Await] ,
         FormalParameterList[?Yield, ?Await] , FunctionRestParameter[?Yield, ?Await]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 0, async function*(...a,) {
diff --git a/test/language/expressions/async-generator/yield-as-binding-identifier-escaped.js b/test/language/expressions/async-generator/yield-as-binding-identifier-escaped.js
index 451261aa73..57be61d6b8 100644
--- a/test/language/expressions/async-generator/yield-as-binding-identifier-escaped.js
+++ b/test/language/expressions/async-generator/yield-as-binding-identifier-escaped.js
@@ -23,7 +23,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var gen = async function *() {
diff --git a/test/language/expressions/async-generator/yield-as-binding-identifier.js b/test/language/expressions/async-generator/yield-as-binding-identifier.js
index 145e378116..5a19adbc81 100644
--- a/test/language/expressions/async-generator/yield-as-binding-identifier.js
+++ b/test/language/expressions/async-generator/yield-as-binding-identifier.js
@@ -23,7 +23,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var gen = async function *() {
diff --git a/test/language/expressions/async-generator/yield-as-identifier-reference-escaped.js b/test/language/expressions/async-generator/yield-as-identifier-reference-escaped.js
index 926dc1b78d..24f8afcf09 100644
--- a/test/language/expressions/async-generator/yield-as-identifier-reference-escaped.js
+++ b/test/language/expressions/async-generator/yield-as-identifier-reference-escaped.js
@@ -23,7 +23,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var gen = async function *() {
diff --git a/test/language/expressions/async-generator/yield-as-identifier-reference.js b/test/language/expressions/async-generator/yield-as-identifier-reference.js
index 4b8205f42b..e474f3d4e8 100644
--- a/test/language/expressions/async-generator/yield-as-identifier-reference.js
+++ b/test/language/expressions/async-generator/yield-as-identifier-reference.js
@@ -23,7 +23,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var gen = async function *() {
diff --git a/test/language/expressions/async-generator/yield-as-label-identifier-escaped.js b/test/language/expressions/async-generator/yield-as-label-identifier-escaped.js
index 3a26a5b040..6445560ee0 100644
--- a/test/language/expressions/async-generator/yield-as-label-identifier-escaped.js
+++ b/test/language/expressions/async-generator/yield-as-label-identifier-escaped.js
@@ -23,7 +23,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var gen = async function *() {
diff --git a/test/language/expressions/async-generator/yield-as-label-identifier.js b/test/language/expressions/async-generator/yield-as-label-identifier.js
index 246c858c71..2263a2b815 100644
--- a/test/language/expressions/async-generator/yield-as-label-identifier.js
+++ b/test/language/expressions/async-generator/yield-as-label-identifier.js
@@ -23,7 +23,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var gen = async function *() {
diff --git a/test/language/expressions/async-generator/yield-identifier-spread-strict.js b/test/language/expressions/async-generator/yield-identifier-spread-strict.js
index d8c2a329d3..9e22688b57 100644
--- a/test/language/expressions/async-generator/yield-identifier-spread-strict.js
+++ b/test/language/expressions/async-generator/yield-identifier-spread-strict.js
@@ -24,7 +24,7 @@ info: |
       ...AssignmentExpression[In, ?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/async-generator/yield-identifier-strict.js b/test/language/expressions/async-generator/yield-identifier-strict.js
index 644bf1ac6e..4d58a85f2d 100644
--- a/test/language/expressions/async-generator/yield-identifier-strict.js
+++ b/test/language/expressions/async-generator/yield-identifier-strict.js
@@ -17,7 +17,7 @@ info: |
         AsyncGeneratorBody }
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/await/await-BindingIdentifier-nested.js b/test/language/expressions/await/await-BindingIdentifier-nested.js
index 284494a9c3..a93ad462a9 100644
--- a/test/language/expressions/await/await-BindingIdentifier-nested.js
+++ b/test/language/expressions/await/await-BindingIdentifier-nested.js
@@ -11,7 +11,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 async function foo() {
   function await() {
diff --git a/test/language/expressions/await/early-errors-await-not-simple-assignment-target.js b/test/language/expressions/await/early-errors-await-not-simple-assignment-target.js
index e7d7a2e4a1..9d5790b2c8 100644
--- a/test/language/expressions/await/early-errors-await-not-simple-assignment-target.js
+++ b/test/language/expressions/await/early-errors-await-not-simple-assignment-target.js
@@ -11,7 +11,7 @@ negative:
   type: ReferenceError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 async function foo() {
   (await 1) = 1;
diff --git a/test/language/expressions/await/no-operand.js b/test/language/expressions/await/no-operand.js
index 46cca85335..557362c957 100644
--- a/test/language/expressions/await/no-operand.js
+++ b/test/language/expressions/await/no-operand.js
@@ -11,7 +11,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 async function foo() {
   await;
diff --git a/test/language/expressions/call/S11.2.4_A1.3_T1.js b/test/language/expressions/call/S11.2.4_A1.3_T1.js
index d35ff7752b..9c37a6c8b5 100644
--- a/test/language/expressions/call/S11.2.4_A1.3_T1.js
+++ b/test/language/expressions/call/S11.2.4_A1.3_T1.js
@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function f_arg() {
 }
diff --git a/test/language/expressions/class/async-gen-meth-dflt-params-duplicates.js b/test/language/expressions/class/async-gen-meth-dflt-params-duplicates.js
index 1e60a790c3..24514ece21 100644
--- a/test/language/expressions/class/async-gen-meth-dflt-params-duplicates.js
+++ b/test/language/expressions/class/async-gen-meth-dflt-params-duplicates.js
@@ -57,7 +57,7 @@ info: |
       elements.
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, class {
   async *method(x = 0, x) {
diff --git a/test/language/expressions/class/async-gen-meth-dflt-params-rest.js b/test/language/expressions/class/async-gen-meth-dflt-params-rest.js
index e88166a7cc..63029754de 100644
--- a/test/language/expressions/class/async-gen-meth-dflt-params-rest.js
+++ b/test/language/expressions/class/async-gen-meth-dflt-params-rest.js
@@ -61,7 +61,7 @@ info: |
       ...BindingPattern[?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, class {
   async *method(...x = []) {
diff --git a/test/language/expressions/class/async-gen-meth-rest-params-trailing-comma-early-error.js b/test/language/expressions/class/async-gen-meth-rest-params-trailing-comma-early-error.js
index 9258f504bc..6a6f794426 100644
--- a/test/language/expressions/class/async-gen-meth-rest-params-trailing-comma-early-error.js
+++ b/test/language/expressions/class/async-gen-meth-rest-params-trailing-comma-early-error.js
@@ -54,7 +54,7 @@ info: |
         FormalParameterList[?Yield, ?Await] ,
         FormalParameterList[?Yield, ?Await] , FunctionRestParameter[?Yield, ?Await]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, class {
   async *method(...a,) {
diff --git a/test/language/expressions/class/async-gen-meth-static-dflt-params-duplicates.js b/test/language/expressions/class/async-gen-meth-static-dflt-params-duplicates.js
index 27506dfcc7..2c0542fd16 100644
--- a/test/language/expressions/class/async-gen-meth-static-dflt-params-duplicates.js
+++ b/test/language/expressions/class/async-gen-meth-static-dflt-params-duplicates.js
@@ -57,7 +57,7 @@ info: |
       elements.
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, class {
   static async *method(x = 0, x) {
diff --git a/test/language/expressions/class/async-gen-meth-static-dflt-params-rest.js b/test/language/expressions/class/async-gen-meth-static-dflt-params-rest.js
index 802fd049a6..7f51a76ee0 100644
--- a/test/language/expressions/class/async-gen-meth-static-dflt-params-rest.js
+++ b/test/language/expressions/class/async-gen-meth-static-dflt-params-rest.js
@@ -61,7 +61,7 @@ info: |
       ...BindingPattern[?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, class {
   static async *method(...x = []) {
diff --git a/test/language/expressions/class/async-gen-meth-static-rest-params-trailing-comma-early-error.js b/test/language/expressions/class/async-gen-meth-static-rest-params-trailing-comma-early-error.js
index 42eede2f7a..05e5a07c67 100644
--- a/test/language/expressions/class/async-gen-meth-static-rest-params-trailing-comma-early-error.js
+++ b/test/language/expressions/class/async-gen-meth-static-rest-params-trailing-comma-early-error.js
@@ -54,7 +54,7 @@ info: |
         FormalParameterList[?Yield, ?Await] ,
         FormalParameterList[?Yield, ?Await] , FunctionRestParameter[?Yield, ?Await]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, class {
   static async *method(...a,) {
diff --git a/test/language/expressions/class/async-gen-method-await-as-binding-identifier-escaped.js b/test/language/expressions/class/async-gen-method-await-as-binding-identifier-escaped.js
index 96c966c122..cbc3052bca 100644
--- a/test/language/expressions/class/async-gen-method-await-as-binding-identifier-escaped.js
+++ b/test/language/expressions/class/async-gen-method-await-as-binding-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { async *gen() {
diff --git a/test/language/expressions/class/async-gen-method-await-as-binding-identifier.js b/test/language/expressions/class/async-gen-method-await-as-binding-identifier.js
index f215d30641..8caa65787e 100644
--- a/test/language/expressions/class/async-gen-method-await-as-binding-identifier.js
+++ b/test/language/expressions/class/async-gen-method-await-as-binding-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { async *gen() {
diff --git a/test/language/expressions/class/async-gen-method-await-as-identifier-reference-escaped.js b/test/language/expressions/class/async-gen-method-await-as-identifier-reference-escaped.js
index 5412dcc57a..072cc9770e 100644
--- a/test/language/expressions/class/async-gen-method-await-as-identifier-reference-escaped.js
+++ b/test/language/expressions/class/async-gen-method-await-as-identifier-reference-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { async *gen() {
diff --git a/test/language/expressions/class/async-gen-method-await-as-identifier-reference.js b/test/language/expressions/class/async-gen-method-await-as-identifier-reference.js
index 82b84831ce..a15caa751f 100644
--- a/test/language/expressions/class/async-gen-method-await-as-identifier-reference.js
+++ b/test/language/expressions/class/async-gen-method-await-as-identifier-reference.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { async *gen() {
diff --git a/test/language/expressions/class/async-gen-method-await-as-label-identifier-escaped.js b/test/language/expressions/class/async-gen-method-await-as-label-identifier-escaped.js
index c8e54e5780..b79d980ff4 100644
--- a/test/language/expressions/class/async-gen-method-await-as-label-identifier-escaped.js
+++ b/test/language/expressions/class/async-gen-method-await-as-label-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { async *gen() {
diff --git a/test/language/expressions/class/async-gen-method-await-as-label-identifier.js b/test/language/expressions/class/async-gen-method-await-as-label-identifier.js
index 01145fb839..f1c85d4f3f 100644
--- a/test/language/expressions/class/async-gen-method-await-as-label-identifier.js
+++ b/test/language/expressions/class/async-gen-method-await-as-label-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { async *gen() {
diff --git a/test/language/expressions/class/async-gen-method-static-await-as-binding-identifier-escaped.js b/test/language/expressions/class/async-gen-method-static-await-as-binding-identifier-escaped.js
index 70102fa0da..d6f7b67df7 100644
--- a/test/language/expressions/class/async-gen-method-static-await-as-binding-identifier-escaped.js
+++ b/test/language/expressions/class/async-gen-method-static-await-as-binding-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { static async *gen() {
diff --git a/test/language/expressions/class/async-gen-method-static-await-as-binding-identifier.js b/test/language/expressions/class/async-gen-method-static-await-as-binding-identifier.js
index 1e66388cd5..e100f5c46f 100644
--- a/test/language/expressions/class/async-gen-method-static-await-as-binding-identifier.js
+++ b/test/language/expressions/class/async-gen-method-static-await-as-binding-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { static async *gen() {
diff --git a/test/language/expressions/class/async-gen-method-static-await-as-identifier-reference-escaped.js b/test/language/expressions/class/async-gen-method-static-await-as-identifier-reference-escaped.js
index 7d8494366f..fdbe1ddd6f 100644
--- a/test/language/expressions/class/async-gen-method-static-await-as-identifier-reference-escaped.js
+++ b/test/language/expressions/class/async-gen-method-static-await-as-identifier-reference-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { static async *gen() {
diff --git a/test/language/expressions/class/async-gen-method-static-await-as-identifier-reference.js b/test/language/expressions/class/async-gen-method-static-await-as-identifier-reference.js
index 8f40c98cd9..c7021b2910 100644
--- a/test/language/expressions/class/async-gen-method-static-await-as-identifier-reference.js
+++ b/test/language/expressions/class/async-gen-method-static-await-as-identifier-reference.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { static async *gen() {
diff --git a/test/language/expressions/class/async-gen-method-static-await-as-label-identifier-escaped.js b/test/language/expressions/class/async-gen-method-static-await-as-label-identifier-escaped.js
index 9c65bf9781..0f16c74041 100644
--- a/test/language/expressions/class/async-gen-method-static-await-as-label-identifier-escaped.js
+++ b/test/language/expressions/class/async-gen-method-static-await-as-label-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { static async *gen() {
diff --git a/test/language/expressions/class/async-gen-method-static-await-as-label-identifier.js b/test/language/expressions/class/async-gen-method-static-await-as-label-identifier.js
index da9e7de8c1..833f4ce2ca 100644
--- a/test/language/expressions/class/async-gen-method-static-await-as-label-identifier.js
+++ b/test/language/expressions/class/async-gen-method-static-await-as-label-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { static async *gen() {
diff --git a/test/language/expressions/class/async-gen-method-static-yield-as-binding-identifier-escaped.js b/test/language/expressions/class/async-gen-method-static-yield-as-binding-identifier-escaped.js
index 4ce7983c2f..61f680a071 100644
--- a/test/language/expressions/class/async-gen-method-static-yield-as-binding-identifier-escaped.js
+++ b/test/language/expressions/class/async-gen-method-static-yield-as-binding-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { static async *gen() {
diff --git a/test/language/expressions/class/async-gen-method-static-yield-as-binding-identifier.js b/test/language/expressions/class/async-gen-method-static-yield-as-binding-identifier.js
index 0e7e39684b..b2389169b5 100644
--- a/test/language/expressions/class/async-gen-method-static-yield-as-binding-identifier.js
+++ b/test/language/expressions/class/async-gen-method-static-yield-as-binding-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { static async *gen() {
diff --git a/test/language/expressions/class/async-gen-method-static-yield-as-identifier-reference-escaped.js b/test/language/expressions/class/async-gen-method-static-yield-as-identifier-reference-escaped.js
index f6d8ced74a..2d59c75e08 100644
--- a/test/language/expressions/class/async-gen-method-static-yield-as-identifier-reference-escaped.js
+++ b/test/language/expressions/class/async-gen-method-static-yield-as-identifier-reference-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { static async *gen() {
diff --git a/test/language/expressions/class/async-gen-method-static-yield-as-identifier-reference.js b/test/language/expressions/class/async-gen-method-static-yield-as-identifier-reference.js
index c76570d633..5535c69318 100644
--- a/test/language/expressions/class/async-gen-method-static-yield-as-identifier-reference.js
+++ b/test/language/expressions/class/async-gen-method-static-yield-as-identifier-reference.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { static async *gen() {
diff --git a/test/language/expressions/class/async-gen-method-static-yield-as-label-identifier-escaped.js b/test/language/expressions/class/async-gen-method-static-yield-as-label-identifier-escaped.js
index ec3837551c..b43d92d836 100644
--- a/test/language/expressions/class/async-gen-method-static-yield-as-label-identifier-escaped.js
+++ b/test/language/expressions/class/async-gen-method-static-yield-as-label-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { static async *gen() {
diff --git a/test/language/expressions/class/async-gen-method-static-yield-as-label-identifier.js b/test/language/expressions/class/async-gen-method-static-yield-as-label-identifier.js
index 19eaa37c77..6e812829fe 100644
--- a/test/language/expressions/class/async-gen-method-static-yield-as-label-identifier.js
+++ b/test/language/expressions/class/async-gen-method-static-yield-as-label-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { static async *gen() {
diff --git a/test/language/expressions/class/async-gen-method-static-yield-identifier-spread-strict.js b/test/language/expressions/class/async-gen-method-static-yield-identifier-spread-strict.js
index 37e0d6123c..5081edd3e1 100644
--- a/test/language/expressions/class/async-gen-method-static-yield-identifier-spread-strict.js
+++ b/test/language/expressions/class/async-gen-method-static-yield-identifier-spread-strict.js
@@ -29,7 +29,7 @@ info: |
       ...AssignmentExpression[In, ?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/async-gen-method-static-yield-identifier-strict.js b/test/language/expressions/class/async-gen-method-static-yield-identifier-strict.js
index 6905add6e2..6dd8cd3164 100644
--- a/test/language/expressions/class/async-gen-method-static-yield-identifier-strict.js
+++ b/test/language/expressions/class/async-gen-method-static-yield-identifier-strict.js
@@ -22,7 +22,7 @@ info: |
       async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody }
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/async-gen-method-yield-as-binding-identifier-escaped.js b/test/language/expressions/class/async-gen-method-yield-as-binding-identifier-escaped.js
index 2695df3447..bd30b48c85 100644
--- a/test/language/expressions/class/async-gen-method-yield-as-binding-identifier-escaped.js
+++ b/test/language/expressions/class/async-gen-method-yield-as-binding-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { async *gen() {
diff --git a/test/language/expressions/class/async-gen-method-yield-as-binding-identifier.js b/test/language/expressions/class/async-gen-method-yield-as-binding-identifier.js
index 3cc33e3b06..094d6d0c4a 100644
--- a/test/language/expressions/class/async-gen-method-yield-as-binding-identifier.js
+++ b/test/language/expressions/class/async-gen-method-yield-as-binding-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { async *gen() {
diff --git a/test/language/expressions/class/async-gen-method-yield-as-identifier-reference-escaped.js b/test/language/expressions/class/async-gen-method-yield-as-identifier-reference-escaped.js
index e641f31362..5162e1b693 100644
--- a/test/language/expressions/class/async-gen-method-yield-as-identifier-reference-escaped.js
+++ b/test/language/expressions/class/async-gen-method-yield-as-identifier-reference-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { async *gen() {
diff --git a/test/language/expressions/class/async-gen-method-yield-as-identifier-reference.js b/test/language/expressions/class/async-gen-method-yield-as-identifier-reference.js
index f4b1d00c4c..c3a3c31afd 100644
--- a/test/language/expressions/class/async-gen-method-yield-as-identifier-reference.js
+++ b/test/language/expressions/class/async-gen-method-yield-as-identifier-reference.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { async *gen() {
diff --git a/test/language/expressions/class/async-gen-method-yield-as-label-identifier-escaped.js b/test/language/expressions/class/async-gen-method-yield-as-label-identifier-escaped.js
index c3c9f8b45b..3be6a39101 100644
--- a/test/language/expressions/class/async-gen-method-yield-as-label-identifier-escaped.js
+++ b/test/language/expressions/class/async-gen-method-yield-as-label-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { async *gen() {
diff --git a/test/language/expressions/class/async-gen-method-yield-as-label-identifier.js b/test/language/expressions/class/async-gen-method-yield-as-label-identifier.js
index e43a505350..83e70e823d 100644
--- a/test/language/expressions/class/async-gen-method-yield-as-label-identifier.js
+++ b/test/language/expressions/class/async-gen-method-yield-as-label-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { async *gen() {
diff --git a/test/language/expressions/class/async-gen-method-yield-identifier-spread-strict.js b/test/language/expressions/class/async-gen-method-yield-identifier-spread-strict.js
index f1fc66bf6d..4085da25e4 100644
--- a/test/language/expressions/class/async-gen-method-yield-identifier-spread-strict.js
+++ b/test/language/expressions/class/async-gen-method-yield-identifier-spread-strict.js
@@ -29,7 +29,7 @@ info: |
       ...AssignmentExpression[In, ?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/async-gen-method-yield-identifier-strict.js b/test/language/expressions/class/async-gen-method-yield-identifier-strict.js
index 7829c1f9e2..144493d759 100644
--- a/test/language/expressions/class/async-gen-method-yield-identifier-strict.js
+++ b/test/language/expressions/class/async-gen-method-yield-identifier-strict.js
@@ -22,7 +22,7 @@ info: |
       async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody }
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/async-gen-private-method-await-as-binding-identifier-escaped.js b/test/language/expressions/class/async-gen-private-method-await-as-binding-identifier-escaped.js
index 8fa3749e70..0627836715 100644
--- a/test/language/expressions/class/async-gen-private-method-await-as-binding-identifier-escaped.js
+++ b/test/language/expressions/class/async-gen-private-method-await-as-binding-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { async *#gen() {
diff --git a/test/language/expressions/class/async-gen-private-method-await-as-binding-identifier.js b/test/language/expressions/class/async-gen-private-method-await-as-binding-identifier.js
index 6fa1902112..dc3ac1b5fb 100644
--- a/test/language/expressions/class/async-gen-private-method-await-as-binding-identifier.js
+++ b/test/language/expressions/class/async-gen-private-method-await-as-binding-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { async *#gen() {
diff --git a/test/language/expressions/class/async-gen-private-method-await-as-identifier-reference-escaped.js b/test/language/expressions/class/async-gen-private-method-await-as-identifier-reference-escaped.js
index 72c1b1fbba..e890d3df75 100644
--- a/test/language/expressions/class/async-gen-private-method-await-as-identifier-reference-escaped.js
+++ b/test/language/expressions/class/async-gen-private-method-await-as-identifier-reference-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { async *#gen() {
diff --git a/test/language/expressions/class/async-gen-private-method-await-as-identifier-reference.js b/test/language/expressions/class/async-gen-private-method-await-as-identifier-reference.js
index 544dfb3454..847382806e 100644
--- a/test/language/expressions/class/async-gen-private-method-await-as-identifier-reference.js
+++ b/test/language/expressions/class/async-gen-private-method-await-as-identifier-reference.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { async *#gen() {
diff --git a/test/language/expressions/class/async-gen-private-method-await-as-label-identifier-escaped.js b/test/language/expressions/class/async-gen-private-method-await-as-label-identifier-escaped.js
index 3eb1e6f078..b509fdf8d1 100644
--- a/test/language/expressions/class/async-gen-private-method-await-as-label-identifier-escaped.js
+++ b/test/language/expressions/class/async-gen-private-method-await-as-label-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { async *#gen() {
diff --git a/test/language/expressions/class/async-gen-private-method-await-as-label-identifier.js b/test/language/expressions/class/async-gen-private-method-await-as-label-identifier.js
index 08ea5255b0..4cd5ca67b1 100644
--- a/test/language/expressions/class/async-gen-private-method-await-as-label-identifier.js
+++ b/test/language/expressions/class/async-gen-private-method-await-as-label-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { async *#gen() {
diff --git a/test/language/expressions/class/async-gen-private-method-static-await-as-binding-identifier-escaped.js b/test/language/expressions/class/async-gen-private-method-static-await-as-binding-identifier-escaped.js
index 794a2bf255..bb6200d908 100644
--- a/test/language/expressions/class/async-gen-private-method-static-await-as-binding-identifier-escaped.js
+++ b/test/language/expressions/class/async-gen-private-method-static-await-as-binding-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { static async *#gen() {
diff --git a/test/language/expressions/class/async-gen-private-method-static-await-as-binding-identifier.js b/test/language/expressions/class/async-gen-private-method-static-await-as-binding-identifier.js
index 88fc1e49bf..bcefe2ef6e 100644
--- a/test/language/expressions/class/async-gen-private-method-static-await-as-binding-identifier.js
+++ b/test/language/expressions/class/async-gen-private-method-static-await-as-binding-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { static async *#gen() {
diff --git a/test/language/expressions/class/async-gen-private-method-static-await-as-identifier-reference-escaped.js b/test/language/expressions/class/async-gen-private-method-static-await-as-identifier-reference-escaped.js
index 3c49bc3488..e8a9d6fe79 100644
--- a/test/language/expressions/class/async-gen-private-method-static-await-as-identifier-reference-escaped.js
+++ b/test/language/expressions/class/async-gen-private-method-static-await-as-identifier-reference-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { static async *#gen() {
diff --git a/test/language/expressions/class/async-gen-private-method-static-await-as-identifier-reference.js b/test/language/expressions/class/async-gen-private-method-static-await-as-identifier-reference.js
index dc3f104101..52da5ed32a 100644
--- a/test/language/expressions/class/async-gen-private-method-static-await-as-identifier-reference.js
+++ b/test/language/expressions/class/async-gen-private-method-static-await-as-identifier-reference.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { static async *#gen() {
diff --git a/test/language/expressions/class/async-gen-private-method-static-await-as-label-identifier-escaped.js b/test/language/expressions/class/async-gen-private-method-static-await-as-label-identifier-escaped.js
index 7960a94dab..00e2b00c50 100644
--- a/test/language/expressions/class/async-gen-private-method-static-await-as-label-identifier-escaped.js
+++ b/test/language/expressions/class/async-gen-private-method-static-await-as-label-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { static async *#gen() {
diff --git a/test/language/expressions/class/async-gen-private-method-static-await-as-label-identifier.js b/test/language/expressions/class/async-gen-private-method-static-await-as-label-identifier.js
index 60cf1ade22..9fe8cb0a74 100644
--- a/test/language/expressions/class/async-gen-private-method-static-await-as-label-identifier.js
+++ b/test/language/expressions/class/async-gen-private-method-static-await-as-label-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { static async *#gen() {
diff --git a/test/language/expressions/class/async-gen-private-method-static-yield-as-binding-identifier-escaped.js b/test/language/expressions/class/async-gen-private-method-static-yield-as-binding-identifier-escaped.js
index 820f61eda5..6bb9741c3b 100644
--- a/test/language/expressions/class/async-gen-private-method-static-yield-as-binding-identifier-escaped.js
+++ b/test/language/expressions/class/async-gen-private-method-static-yield-as-binding-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { static async *#gen() {
diff --git a/test/language/expressions/class/async-gen-private-method-static-yield-as-binding-identifier.js b/test/language/expressions/class/async-gen-private-method-static-yield-as-binding-identifier.js
index b29bb2f8bf..2672cd1a38 100644
--- a/test/language/expressions/class/async-gen-private-method-static-yield-as-binding-identifier.js
+++ b/test/language/expressions/class/async-gen-private-method-static-yield-as-binding-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { static async *#gen() {
diff --git a/test/language/expressions/class/async-gen-private-method-static-yield-as-identifier-reference-escaped.js b/test/language/expressions/class/async-gen-private-method-static-yield-as-identifier-reference-escaped.js
index 1d74a5ca18..5d78d819ae 100644
--- a/test/language/expressions/class/async-gen-private-method-static-yield-as-identifier-reference-escaped.js
+++ b/test/language/expressions/class/async-gen-private-method-static-yield-as-identifier-reference-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { static async *#gen() {
diff --git a/test/language/expressions/class/async-gen-private-method-static-yield-as-identifier-reference.js b/test/language/expressions/class/async-gen-private-method-static-yield-as-identifier-reference.js
index 7dbfcfdd7a..24c36c5bc6 100644
--- a/test/language/expressions/class/async-gen-private-method-static-yield-as-identifier-reference.js
+++ b/test/language/expressions/class/async-gen-private-method-static-yield-as-identifier-reference.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { static async *#gen() {
diff --git a/test/language/expressions/class/async-gen-private-method-static-yield-as-label-identifier-escaped.js b/test/language/expressions/class/async-gen-private-method-static-yield-as-label-identifier-escaped.js
index f217faf8d9..2034179f78 100644
--- a/test/language/expressions/class/async-gen-private-method-static-yield-as-label-identifier-escaped.js
+++ b/test/language/expressions/class/async-gen-private-method-static-yield-as-label-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { static async *#gen() {
diff --git a/test/language/expressions/class/async-gen-private-method-static-yield-as-label-identifier.js b/test/language/expressions/class/async-gen-private-method-static-yield-as-label-identifier.js
index de1d36a471..650944dde8 100644
--- a/test/language/expressions/class/async-gen-private-method-static-yield-as-label-identifier.js
+++ b/test/language/expressions/class/async-gen-private-method-static-yield-as-label-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { static async *#gen() {
diff --git a/test/language/expressions/class/async-gen-private-method-static-yield-identifier-spread-strict.js b/test/language/expressions/class/async-gen-private-method-static-yield-identifier-spread-strict.js
index 97e390c5f2..3bce3f7f54 100644
--- a/test/language/expressions/class/async-gen-private-method-static-yield-identifier-spread-strict.js
+++ b/test/language/expressions/class/async-gen-private-method-static-yield-identifier-spread-strict.js
@@ -29,7 +29,7 @@ info: |
       ...AssignmentExpression[In, ?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/async-gen-private-method-static-yield-identifier-strict.js b/test/language/expressions/class/async-gen-private-method-static-yield-identifier-strict.js
index 6399fd4627..3d0971c0be 100644
--- a/test/language/expressions/class/async-gen-private-method-static-yield-identifier-strict.js
+++ b/test/language/expressions/class/async-gen-private-method-static-yield-identifier-strict.js
@@ -22,7 +22,7 @@ info: |
       async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody }
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/async-gen-private-method-yield-as-binding-identifier-escaped.js b/test/language/expressions/class/async-gen-private-method-yield-as-binding-identifier-escaped.js
index e73503e929..84fe9765c7 100644
--- a/test/language/expressions/class/async-gen-private-method-yield-as-binding-identifier-escaped.js
+++ b/test/language/expressions/class/async-gen-private-method-yield-as-binding-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { async *#gen() {
diff --git a/test/language/expressions/class/async-gen-private-method-yield-as-binding-identifier.js b/test/language/expressions/class/async-gen-private-method-yield-as-binding-identifier.js
index 47c13d57a9..f217c81c44 100644
--- a/test/language/expressions/class/async-gen-private-method-yield-as-binding-identifier.js
+++ b/test/language/expressions/class/async-gen-private-method-yield-as-binding-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { async *#gen() {
diff --git a/test/language/expressions/class/async-gen-private-method-yield-as-identifier-reference-escaped.js b/test/language/expressions/class/async-gen-private-method-yield-as-identifier-reference-escaped.js
index 93442dd7ae..ba7cc6c1d5 100644
--- a/test/language/expressions/class/async-gen-private-method-yield-as-identifier-reference-escaped.js
+++ b/test/language/expressions/class/async-gen-private-method-yield-as-identifier-reference-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { async *#gen() {
diff --git a/test/language/expressions/class/async-gen-private-method-yield-as-identifier-reference.js b/test/language/expressions/class/async-gen-private-method-yield-as-identifier-reference.js
index cedb862550..4c41862602 100644
--- a/test/language/expressions/class/async-gen-private-method-yield-as-identifier-reference.js
+++ b/test/language/expressions/class/async-gen-private-method-yield-as-identifier-reference.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { async *#gen() {
diff --git a/test/language/expressions/class/async-gen-private-method-yield-as-label-identifier-escaped.js b/test/language/expressions/class/async-gen-private-method-yield-as-label-identifier-escaped.js
index 1d5580f0f6..a8c2208dbe 100644
--- a/test/language/expressions/class/async-gen-private-method-yield-as-label-identifier-escaped.js
+++ b/test/language/expressions/class/async-gen-private-method-yield-as-label-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { async *#gen() {
diff --git a/test/language/expressions/class/async-gen-private-method-yield-as-label-identifier.js b/test/language/expressions/class/async-gen-private-method-yield-as-label-identifier.js
index 0426cab934..373e7090ba 100644
--- a/test/language/expressions/class/async-gen-private-method-yield-as-label-identifier.js
+++ b/test/language/expressions/class/async-gen-private-method-yield-as-label-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { async *#gen() {
diff --git a/test/language/expressions/class/async-gen-private-method-yield-identifier-spread-strict.js b/test/language/expressions/class/async-gen-private-method-yield-identifier-spread-strict.js
index 8047dc9643..4e60917ea0 100644
--- a/test/language/expressions/class/async-gen-private-method-yield-identifier-spread-strict.js
+++ b/test/language/expressions/class/async-gen-private-method-yield-identifier-spread-strict.js
@@ -29,7 +29,7 @@ info: |
       ...AssignmentExpression[In, ?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/async-gen-private-method-yield-identifier-strict.js b/test/language/expressions/class/async-gen-private-method-yield-identifier-strict.js
index f0a34bf93f..e7e8ca8fb5 100644
--- a/test/language/expressions/class/async-gen-private-method-yield-identifier-strict.js
+++ b/test/language/expressions/class/async-gen-private-method-yield-identifier-strict.js
@@ -22,7 +22,7 @@ info: |
       async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody }
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/async-meth-dflt-params-duplicates.js b/test/language/expressions/class/async-meth-dflt-params-duplicates.js
index f25ebf6306..9e104289d3 100644
--- a/test/language/expressions/class/async-meth-dflt-params-duplicates.js
+++ b/test/language/expressions/class/async-meth-dflt-params-duplicates.js
@@ -55,7 +55,7 @@ info: |
       elements.
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   static async method(x = 0, x) {
diff --git a/test/language/expressions/class/async-meth-dflt-params-rest.js b/test/language/expressions/class/async-meth-dflt-params-rest.js
index dacdb33675..10b9d61d51 100644
--- a/test/language/expressions/class/async-meth-dflt-params-rest.js
+++ b/test/language/expressions/class/async-meth-dflt-params-rest.js
@@ -59,7 +59,7 @@ info: |
       ...BindingPattern[?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   static async method(...x = []) {
diff --git a/test/language/expressions/class/async-meth-rest-params-trailing-comma-early-error.js b/test/language/expressions/class/async-meth-rest-params-trailing-comma-early-error.js
index ccf32e6728..cb5d9470fb 100644
--- a/test/language/expressions/class/async-meth-rest-params-trailing-comma-early-error.js
+++ b/test/language/expressions/class/async-meth-rest-params-trailing-comma-early-error.js
@@ -51,7 +51,7 @@ info: |
         FormalParameterList[?Yield, ?Await] ,
         FormalParameterList[?Yield, ?Await] , FunctionRestParameter[?Yield, ?Await]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   static async method(...a,) {
diff --git a/test/language/expressions/class/async-meth-static-dflt-params-duplicates.js b/test/language/expressions/class/async-meth-static-dflt-params-duplicates.js
index 3f6ad41821..167dba8375 100644
--- a/test/language/expressions/class/async-meth-static-dflt-params-duplicates.js
+++ b/test/language/expressions/class/async-meth-static-dflt-params-duplicates.js
@@ -55,7 +55,7 @@ info: |
       elements.
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   static async method(x = 0, x) {
diff --git a/test/language/expressions/class/async-meth-static-dflt-params-rest.js b/test/language/expressions/class/async-meth-static-dflt-params-rest.js
index 7c29c9b581..1b1cc8db54 100644
--- a/test/language/expressions/class/async-meth-static-dflt-params-rest.js
+++ b/test/language/expressions/class/async-meth-static-dflt-params-rest.js
@@ -59,7 +59,7 @@ info: |
       ...BindingPattern[?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   static async method(...x = []) {
diff --git a/test/language/expressions/class/async-meth-static-rest-params-trailing-comma-early-error.js b/test/language/expressions/class/async-meth-static-rest-params-trailing-comma-early-error.js
index 3738349be5..e6404a5486 100644
--- a/test/language/expressions/class/async-meth-static-rest-params-trailing-comma-early-error.js
+++ b/test/language/expressions/class/async-meth-static-rest-params-trailing-comma-early-error.js
@@ -51,7 +51,7 @@ info: |
         FormalParameterList[?Yield, ?Await] ,
         FormalParameterList[?Yield, ?Await] , FunctionRestParameter[?Yield, ?Await]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   static async method(...a,) {
diff --git a/test/language/expressions/class/async-method-await-as-binding-identifier-escaped.js b/test/language/expressions/class/async-method-await-as-binding-identifier-escaped.js
index 840ba974cf..9907dcf3a0 100644
--- a/test/language/expressions/class/async-method-await-as-binding-identifier-escaped.js
+++ b/test/language/expressions/class/async-method-await-as-binding-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { async method() {
diff --git a/test/language/expressions/class/async-method-await-as-binding-identifier.js b/test/language/expressions/class/async-method-await-as-binding-identifier.js
index 90dc34c403..380e9ef45d 100644
--- a/test/language/expressions/class/async-method-await-as-binding-identifier.js
+++ b/test/language/expressions/class/async-method-await-as-binding-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { async method() {
diff --git a/test/language/expressions/class/async-method-await-as-identifier-reference-escaped.js b/test/language/expressions/class/async-method-await-as-identifier-reference-escaped.js
index a3b2851a04..c6b73a2c99 100644
--- a/test/language/expressions/class/async-method-await-as-identifier-reference-escaped.js
+++ b/test/language/expressions/class/async-method-await-as-identifier-reference-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { async method() {
diff --git a/test/language/expressions/class/async-method-await-as-identifier-reference.js b/test/language/expressions/class/async-method-await-as-identifier-reference.js
index 52ca75a5ab..5e0e9468fc 100644
--- a/test/language/expressions/class/async-method-await-as-identifier-reference.js
+++ b/test/language/expressions/class/async-method-await-as-identifier-reference.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { async method() {
diff --git a/test/language/expressions/class/async-method-await-as-label-identifier-escaped.js b/test/language/expressions/class/async-method-await-as-label-identifier-escaped.js
index f24a5a64c4..cdaeb03f8b 100644
--- a/test/language/expressions/class/async-method-await-as-label-identifier-escaped.js
+++ b/test/language/expressions/class/async-method-await-as-label-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { async method() {
diff --git a/test/language/expressions/class/async-method-await-as-label-identifier.js b/test/language/expressions/class/async-method-await-as-label-identifier.js
index 628dd35c7e..e32e336225 100644
--- a/test/language/expressions/class/async-method-await-as-label-identifier.js
+++ b/test/language/expressions/class/async-method-await-as-label-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { async method() {
diff --git a/test/language/expressions/class/async-method-static-await-as-binding-identifier-escaped.js b/test/language/expressions/class/async-method-static-await-as-binding-identifier-escaped.js
index 16288eb6e7..c9179c0208 100644
--- a/test/language/expressions/class/async-method-static-await-as-binding-identifier-escaped.js
+++ b/test/language/expressions/class/async-method-static-await-as-binding-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { static async method() {
diff --git a/test/language/expressions/class/async-method-static-await-as-binding-identifier.js b/test/language/expressions/class/async-method-static-await-as-binding-identifier.js
index cb2ad689c8..add6e7ec58 100644
--- a/test/language/expressions/class/async-method-static-await-as-binding-identifier.js
+++ b/test/language/expressions/class/async-method-static-await-as-binding-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { static async method() {
diff --git a/test/language/expressions/class/async-method-static-await-as-identifier-reference-escaped.js b/test/language/expressions/class/async-method-static-await-as-identifier-reference-escaped.js
index 79ff4a7807..b9bb3557a8 100644
--- a/test/language/expressions/class/async-method-static-await-as-identifier-reference-escaped.js
+++ b/test/language/expressions/class/async-method-static-await-as-identifier-reference-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { static async method() {
diff --git a/test/language/expressions/class/async-method-static-await-as-identifier-reference.js b/test/language/expressions/class/async-method-static-await-as-identifier-reference.js
index 52431df423..69cfced9ce 100644
--- a/test/language/expressions/class/async-method-static-await-as-identifier-reference.js
+++ b/test/language/expressions/class/async-method-static-await-as-identifier-reference.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { static async method() {
diff --git a/test/language/expressions/class/async-method-static-await-as-label-identifier-escaped.js b/test/language/expressions/class/async-method-static-await-as-label-identifier-escaped.js
index 62870fb065..d284e0fe2d 100644
--- a/test/language/expressions/class/async-method-static-await-as-label-identifier-escaped.js
+++ b/test/language/expressions/class/async-method-static-await-as-label-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { static async method() {
diff --git a/test/language/expressions/class/async-method-static-await-as-label-identifier.js b/test/language/expressions/class/async-method-static-await-as-label-identifier.js
index 41cf533e35..645d7b974e 100644
--- a/test/language/expressions/class/async-method-static-await-as-label-identifier.js
+++ b/test/language/expressions/class/async-method-static-await-as-label-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { static async method() {
diff --git a/test/language/expressions/class/async-private-method-await-as-binding-identifier-escaped.js b/test/language/expressions/class/async-private-method-await-as-binding-identifier-escaped.js
index 3dcd9f86f4..681b4fbcfa 100644
--- a/test/language/expressions/class/async-private-method-await-as-binding-identifier-escaped.js
+++ b/test/language/expressions/class/async-private-method-await-as-binding-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { async #method() {
diff --git a/test/language/expressions/class/async-private-method-await-as-binding-identifier.js b/test/language/expressions/class/async-private-method-await-as-binding-identifier.js
index 2ad9a3fbd9..a0f33bb349 100644
--- a/test/language/expressions/class/async-private-method-await-as-binding-identifier.js
+++ b/test/language/expressions/class/async-private-method-await-as-binding-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { async #method() {
diff --git a/test/language/expressions/class/async-private-method-await-as-identifier-reference-escaped.js b/test/language/expressions/class/async-private-method-await-as-identifier-reference-escaped.js
index 51b0452cc1..69b18fc73e 100644
--- a/test/language/expressions/class/async-private-method-await-as-identifier-reference-escaped.js
+++ b/test/language/expressions/class/async-private-method-await-as-identifier-reference-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { async #method() {
diff --git a/test/language/expressions/class/async-private-method-await-as-identifier-reference.js b/test/language/expressions/class/async-private-method-await-as-identifier-reference.js
index 06fefecd36..bbd2185838 100644
--- a/test/language/expressions/class/async-private-method-await-as-identifier-reference.js
+++ b/test/language/expressions/class/async-private-method-await-as-identifier-reference.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { async #method() {
diff --git a/test/language/expressions/class/async-private-method-await-as-label-identifier-escaped.js b/test/language/expressions/class/async-private-method-await-as-label-identifier-escaped.js
index bd62bbab30..0ea1779345 100644
--- a/test/language/expressions/class/async-private-method-await-as-label-identifier-escaped.js
+++ b/test/language/expressions/class/async-private-method-await-as-label-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { async #method() {
diff --git a/test/language/expressions/class/async-private-method-await-as-label-identifier.js b/test/language/expressions/class/async-private-method-await-as-label-identifier.js
index 6009bd2949..2bfca2039f 100644
--- a/test/language/expressions/class/async-private-method-await-as-label-identifier.js
+++ b/test/language/expressions/class/async-private-method-await-as-label-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { async #method() {
diff --git a/test/language/expressions/class/async-private-method-static-await-as-binding-identifier-escaped.js b/test/language/expressions/class/async-private-method-static-await-as-binding-identifier-escaped.js
index 9d70f6895b..6897c6807f 100644
--- a/test/language/expressions/class/async-private-method-static-await-as-binding-identifier-escaped.js
+++ b/test/language/expressions/class/async-private-method-static-await-as-binding-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { static async #method() {
diff --git a/test/language/expressions/class/async-private-method-static-await-as-binding-identifier.js b/test/language/expressions/class/async-private-method-static-await-as-binding-identifier.js
index 547b83958b..c5082e83d9 100644
--- a/test/language/expressions/class/async-private-method-static-await-as-binding-identifier.js
+++ b/test/language/expressions/class/async-private-method-static-await-as-binding-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { static async #method() {
diff --git a/test/language/expressions/class/async-private-method-static-await-as-identifier-reference-escaped.js b/test/language/expressions/class/async-private-method-static-await-as-identifier-reference-escaped.js
index 6ced990241..b3e368330c 100644
--- a/test/language/expressions/class/async-private-method-static-await-as-identifier-reference-escaped.js
+++ b/test/language/expressions/class/async-private-method-static-await-as-identifier-reference-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { static async #method() {
diff --git a/test/language/expressions/class/async-private-method-static-await-as-identifier-reference.js b/test/language/expressions/class/async-private-method-static-await-as-identifier-reference.js
index 3701d29201..5a3e950a6b 100644
--- a/test/language/expressions/class/async-private-method-static-await-as-identifier-reference.js
+++ b/test/language/expressions/class/async-private-method-static-await-as-identifier-reference.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { static async #method() {
diff --git a/test/language/expressions/class/async-private-method-static-await-as-label-identifier-escaped.js b/test/language/expressions/class/async-private-method-static-await-as-label-identifier-escaped.js
index f1016e84bb..6090307f2e 100644
--- a/test/language/expressions/class/async-private-method-static-await-as-label-identifier-escaped.js
+++ b/test/language/expressions/class/async-private-method-static-await-as-label-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { static async #method() {
diff --git a/test/language/expressions/class/async-private-method-static-await-as-label-identifier.js b/test/language/expressions/class/async-private-method-static-await-as-label-identifier.js
index 183b6c0e06..6edb6a3db4 100644
--- a/test/language/expressions/class/async-private-method-static-await-as-label-identifier.js
+++ b/test/language/expressions/class/async-private-method-static-await-as-label-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var C = class { static async #method() {
diff --git a/test/language/expressions/class/class-name-ident-await-escaped-module.js b/test/language/expressions/class/class-name-ident-await-escaped-module.js
index 8fc155c4ba..d52158d9d7 100644
--- a/test/language/expressions/class/class-name-ident-await-escaped-module.js
+++ b/test/language/expressions/class/class-name-ident-await-escaped-module.js
@@ -18,6 +18,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class aw\u0061it {};
diff --git a/test/language/expressions/class/class-name-ident-await-module.js b/test/language/expressions/class/class-name-ident-await-module.js
index e9ba2b5930..591f660978 100644
--- a/test/language/expressions/class/class-name-ident-await-module.js
+++ b/test/language/expressions/class/class-name-ident-await-module.js
@@ -17,6 +17,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class await {};
diff --git a/test/language/expressions/class/class-name-ident-let-escaped.js b/test/language/expressions/class/class-name-ident-let-escaped.js
index e9beb52c1d..8af02417ee 100644
--- a/test/language/expressions/class/class-name-ident-let-escaped.js
+++ b/test/language/expressions/class/class-name-ident-let-escaped.js
@@ -22,6 +22,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class l\u0065t {};
diff --git a/test/language/expressions/class/class-name-ident-let.js b/test/language/expressions/class/class-name-ident-let.js
index d08620fde6..9906a4c7fd 100644
--- a/test/language/expressions/class/class-name-ident-let.js
+++ b/test/language/expressions/class/class-name-ident-let.js
@@ -22,6 +22,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class let {};
diff --git a/test/language/expressions/class/class-name-ident-static-escaped.js b/test/language/expressions/class/class-name-ident-static-escaped.js
index 8680e6909b..2f45dd6309 100644
--- a/test/language/expressions/class/class-name-ident-static-escaped.js
+++ b/test/language/expressions/class/class-name-ident-static-escaped.js
@@ -22,6 +22,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class st\u0061tic {};
diff --git a/test/language/expressions/class/class-name-ident-static.js b/test/language/expressions/class/class-name-ident-static.js
index a914e599be..517ec643ed 100644
--- a/test/language/expressions/class/class-name-ident-static.js
+++ b/test/language/expressions/class/class-name-ident-static.js
@@ -22,6 +22,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class static {};
diff --git a/test/language/expressions/class/class-name-ident-yield-escaped.js b/test/language/expressions/class/class-name-ident-yield-escaped.js
index 6adf12d757..b23a32afc6 100644
--- a/test/language/expressions/class/class-name-ident-yield-escaped.js
+++ b/test/language/expressions/class/class-name-ident-yield-escaped.js
@@ -22,6 +22,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class yi\u0065ld {};
diff --git a/test/language/expressions/class/class-name-ident-yield.js b/test/language/expressions/class/class-name-ident-yield.js
index ecc3f44dda..e525786c5a 100644
--- a/test/language/expressions/class/class-name-ident-yield.js
+++ b/test/language/expressions/class/class-name-ident-yield.js
@@ -20,6 +20,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class yield {};
diff --git a/test/language/expressions/class/dstr-async-gen-meth-ary-ptrn-rest-init-ary.js b/test/language/expressions/class/dstr-async-gen-meth-ary-ptrn-rest-init-ary.js
index 72bd476045..d1f8410b7c 100644
--- a/test/language/expressions/class/dstr-async-gen-meth-ary-ptrn-rest-init-ary.js
+++ b/test/language/expressions/class/dstr-async-gen-meth-ary-ptrn-rest-init-ary.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/dstr-async-gen-meth-ary-ptrn-rest-init-id.js b/test/language/expressions/class/dstr-async-gen-meth-ary-ptrn-rest-init-id.js
index 5dc725ce71..7d93db6be6 100644
--- a/test/language/expressions/class/dstr-async-gen-meth-ary-ptrn-rest-init-id.js
+++ b/test/language/expressions/class/dstr-async-gen-meth-ary-ptrn-rest-init-id.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/dstr-async-gen-meth-ary-ptrn-rest-init-obj.js b/test/language/expressions/class/dstr-async-gen-meth-ary-ptrn-rest-init-obj.js
index b9e5a0d409..e6b37c98d7 100644
--- a/test/language/expressions/class/dstr-async-gen-meth-ary-ptrn-rest-init-obj.js
+++ b/test/language/expressions/class/dstr-async-gen-meth-ary-ptrn-rest-init-obj.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/dstr-async-gen-meth-ary-ptrn-rest-not-final-ary.js b/test/language/expressions/class/dstr-async-gen-meth-ary-ptrn-rest-not-final-ary.js
index 8cf6f3d0d2..ac0a8f75c1 100644
--- a/test/language/expressions/class/dstr-async-gen-meth-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/expressions/class/dstr-async-gen-meth-ary-ptrn-rest-not-final-ary.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/dstr-async-gen-meth-ary-ptrn-rest-not-final-id.js b/test/language/expressions/class/dstr-async-gen-meth-ary-ptrn-rest-not-final-id.js
index d1371ce395..5f431ba002 100644
--- a/test/language/expressions/class/dstr-async-gen-meth-ary-ptrn-rest-not-final-id.js
+++ b/test/language/expressions/class/dstr-async-gen-meth-ary-ptrn-rest-not-final-id.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/dstr-async-gen-meth-ary-ptrn-rest-not-final-obj.js b/test/language/expressions/class/dstr-async-gen-meth-ary-ptrn-rest-not-final-obj.js
index 6e4e19ed65..e388d32700 100644
--- a/test/language/expressions/class/dstr-async-gen-meth-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/expressions/class/dstr-async-gen-meth-ary-ptrn-rest-not-final-obj.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/dstr-async-gen-meth-dflt-ary-ptrn-rest-init-ary.js b/test/language/expressions/class/dstr-async-gen-meth-dflt-ary-ptrn-rest-init-ary.js
index d64cd72747..48aa3f32a5 100644
--- a/test/language/expressions/class/dstr-async-gen-meth-dflt-ary-ptrn-rest-init-ary.js
+++ b/test/language/expressions/class/dstr-async-gen-meth-dflt-ary-ptrn-rest-init-ary.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/dstr-async-gen-meth-dflt-ary-ptrn-rest-init-id.js b/test/language/expressions/class/dstr-async-gen-meth-dflt-ary-ptrn-rest-init-id.js
index 41e836cef5..8504a7653b 100644
--- a/test/language/expressions/class/dstr-async-gen-meth-dflt-ary-ptrn-rest-init-id.js
+++ b/test/language/expressions/class/dstr-async-gen-meth-dflt-ary-ptrn-rest-init-id.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/dstr-async-gen-meth-dflt-ary-ptrn-rest-init-obj.js b/test/language/expressions/class/dstr-async-gen-meth-dflt-ary-ptrn-rest-init-obj.js
index 2351b0ce61..f8e3cfc4b2 100644
--- a/test/language/expressions/class/dstr-async-gen-meth-dflt-ary-ptrn-rest-init-obj.js
+++ b/test/language/expressions/class/dstr-async-gen-meth-dflt-ary-ptrn-rest-init-obj.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/dstr-async-gen-meth-dflt-ary-ptrn-rest-not-final-ary.js b/test/language/expressions/class/dstr-async-gen-meth-dflt-ary-ptrn-rest-not-final-ary.js
index 4f1028da61..6660f3628f 100644
--- a/test/language/expressions/class/dstr-async-gen-meth-dflt-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/expressions/class/dstr-async-gen-meth-dflt-ary-ptrn-rest-not-final-ary.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/dstr-async-gen-meth-dflt-ary-ptrn-rest-not-final-id.js b/test/language/expressions/class/dstr-async-gen-meth-dflt-ary-ptrn-rest-not-final-id.js
index d89bb9c1d2..442ee4a5c5 100644
--- a/test/language/expressions/class/dstr-async-gen-meth-dflt-ary-ptrn-rest-not-final-id.js
+++ b/test/language/expressions/class/dstr-async-gen-meth-dflt-ary-ptrn-rest-not-final-id.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/dstr-async-gen-meth-dflt-ary-ptrn-rest-not-final-obj.js b/test/language/expressions/class/dstr-async-gen-meth-dflt-ary-ptrn-rest-not-final-obj.js
index 7822578acd..c453a2de79 100644
--- a/test/language/expressions/class/dstr-async-gen-meth-dflt-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/expressions/class/dstr-async-gen-meth-dflt-ary-ptrn-rest-not-final-obj.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/dstr-async-gen-meth-static-ary-ptrn-rest-init-ary.js b/test/language/expressions/class/dstr-async-gen-meth-static-ary-ptrn-rest-init-ary.js
index 438fb4f52e..8477fbba2f 100644
--- a/test/language/expressions/class/dstr-async-gen-meth-static-ary-ptrn-rest-init-ary.js
+++ b/test/language/expressions/class/dstr-async-gen-meth-static-ary-ptrn-rest-init-ary.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/dstr-async-gen-meth-static-ary-ptrn-rest-init-id.js b/test/language/expressions/class/dstr-async-gen-meth-static-ary-ptrn-rest-init-id.js
index 83e835909c..966d3eebae 100644
--- a/test/language/expressions/class/dstr-async-gen-meth-static-ary-ptrn-rest-init-id.js
+++ b/test/language/expressions/class/dstr-async-gen-meth-static-ary-ptrn-rest-init-id.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/dstr-async-gen-meth-static-ary-ptrn-rest-init-obj.js b/test/language/expressions/class/dstr-async-gen-meth-static-ary-ptrn-rest-init-obj.js
index de4834d016..6fb2071689 100644
--- a/test/language/expressions/class/dstr-async-gen-meth-static-ary-ptrn-rest-init-obj.js
+++ b/test/language/expressions/class/dstr-async-gen-meth-static-ary-ptrn-rest-init-obj.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/dstr-async-gen-meth-static-ary-ptrn-rest-not-final-ary.js b/test/language/expressions/class/dstr-async-gen-meth-static-ary-ptrn-rest-not-final-ary.js
index 9313bcaade..1e6079b46b 100644
--- a/test/language/expressions/class/dstr-async-gen-meth-static-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/expressions/class/dstr-async-gen-meth-static-ary-ptrn-rest-not-final-ary.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/dstr-async-gen-meth-static-ary-ptrn-rest-not-final-id.js b/test/language/expressions/class/dstr-async-gen-meth-static-ary-ptrn-rest-not-final-id.js
index 89d7fe658c..09fdc89deb 100644
--- a/test/language/expressions/class/dstr-async-gen-meth-static-ary-ptrn-rest-not-final-id.js
+++ b/test/language/expressions/class/dstr-async-gen-meth-static-ary-ptrn-rest-not-final-id.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/dstr-async-gen-meth-static-ary-ptrn-rest-not-final-obj.js b/test/language/expressions/class/dstr-async-gen-meth-static-ary-ptrn-rest-not-final-obj.js
index b7e9124777..f169740fa5 100644
--- a/test/language/expressions/class/dstr-async-gen-meth-static-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/expressions/class/dstr-async-gen-meth-static-ary-ptrn-rest-not-final-obj.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/dstr-async-gen-meth-static-dflt-ary-ptrn-rest-init-ary.js b/test/language/expressions/class/dstr-async-gen-meth-static-dflt-ary-ptrn-rest-init-ary.js
index 42e1788d50..2e9a5d0882 100644
--- a/test/language/expressions/class/dstr-async-gen-meth-static-dflt-ary-ptrn-rest-init-ary.js
+++ b/test/language/expressions/class/dstr-async-gen-meth-static-dflt-ary-ptrn-rest-init-ary.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/dstr-async-gen-meth-static-dflt-ary-ptrn-rest-init-id.js b/test/language/expressions/class/dstr-async-gen-meth-static-dflt-ary-ptrn-rest-init-id.js
index 654c3f97d6..9fd4fccb5d 100644
--- a/test/language/expressions/class/dstr-async-gen-meth-static-dflt-ary-ptrn-rest-init-id.js
+++ b/test/language/expressions/class/dstr-async-gen-meth-static-dflt-ary-ptrn-rest-init-id.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/dstr-async-gen-meth-static-dflt-ary-ptrn-rest-init-obj.js b/test/language/expressions/class/dstr-async-gen-meth-static-dflt-ary-ptrn-rest-init-obj.js
index bcae78be5e..ca92149dc3 100644
--- a/test/language/expressions/class/dstr-async-gen-meth-static-dflt-ary-ptrn-rest-init-obj.js
+++ b/test/language/expressions/class/dstr-async-gen-meth-static-dflt-ary-ptrn-rest-init-obj.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/dstr-async-gen-meth-static-dflt-ary-ptrn-rest-not-final-ary.js b/test/language/expressions/class/dstr-async-gen-meth-static-dflt-ary-ptrn-rest-not-final-ary.js
index b1d4b08691..03d1df9c63 100644
--- a/test/language/expressions/class/dstr-async-gen-meth-static-dflt-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/expressions/class/dstr-async-gen-meth-static-dflt-ary-ptrn-rest-not-final-ary.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/dstr-async-gen-meth-static-dflt-ary-ptrn-rest-not-final-id.js b/test/language/expressions/class/dstr-async-gen-meth-static-dflt-ary-ptrn-rest-not-final-id.js
index 99d6575c12..5596ad2bf1 100644
--- a/test/language/expressions/class/dstr-async-gen-meth-static-dflt-ary-ptrn-rest-not-final-id.js
+++ b/test/language/expressions/class/dstr-async-gen-meth-static-dflt-ary-ptrn-rest-not-final-id.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/dstr-async-gen-meth-static-dflt-ary-ptrn-rest-not-final-obj.js b/test/language/expressions/class/dstr-async-gen-meth-static-dflt-ary-ptrn-rest-not-final-obj.js
index 15d95e8067..9362e3eefb 100644
--- a/test/language/expressions/class/dstr-async-gen-meth-static-dflt-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/expressions/class/dstr-async-gen-meth-static-dflt-ary-ptrn-rest-not-final-obj.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/dstr-async-private-gen-meth-ary-ptrn-rest-init-ary.js b/test/language/expressions/class/dstr-async-private-gen-meth-ary-ptrn-rest-init-ary.js
index 392d15722e..6f83bfadfb 100644
--- a/test/language/expressions/class/dstr-async-private-gen-meth-ary-ptrn-rest-init-ary.js
+++ b/test/language/expressions/class/dstr-async-private-gen-meth-ary-ptrn-rest-init-ary.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/dstr-async-private-gen-meth-ary-ptrn-rest-init-id.js b/test/language/expressions/class/dstr-async-private-gen-meth-ary-ptrn-rest-init-id.js
index 170e941a27..79efef9e7f 100644
--- a/test/language/expressions/class/dstr-async-private-gen-meth-ary-ptrn-rest-init-id.js
+++ b/test/language/expressions/class/dstr-async-private-gen-meth-ary-ptrn-rest-init-id.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/dstr-async-private-gen-meth-ary-ptrn-rest-init-obj.js b/test/language/expressions/class/dstr-async-private-gen-meth-ary-ptrn-rest-init-obj.js
index 9a5d8a4d7a..c919c9bbc1 100644
--- a/test/language/expressions/class/dstr-async-private-gen-meth-ary-ptrn-rest-init-obj.js
+++ b/test/language/expressions/class/dstr-async-private-gen-meth-ary-ptrn-rest-init-obj.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/dstr-async-private-gen-meth-ary-ptrn-rest-not-final-ary.js b/test/language/expressions/class/dstr-async-private-gen-meth-ary-ptrn-rest-not-final-ary.js
index 6703c37f3f..338b6b7adf 100644
--- a/test/language/expressions/class/dstr-async-private-gen-meth-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/expressions/class/dstr-async-private-gen-meth-ary-ptrn-rest-not-final-ary.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/dstr-async-private-gen-meth-ary-ptrn-rest-not-final-id.js b/test/language/expressions/class/dstr-async-private-gen-meth-ary-ptrn-rest-not-final-id.js
index 309c7c12de..7f9fb22ac9 100644
--- a/test/language/expressions/class/dstr-async-private-gen-meth-ary-ptrn-rest-not-final-id.js
+++ b/test/language/expressions/class/dstr-async-private-gen-meth-ary-ptrn-rest-not-final-id.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/dstr-async-private-gen-meth-ary-ptrn-rest-not-final-obj.js b/test/language/expressions/class/dstr-async-private-gen-meth-ary-ptrn-rest-not-final-obj.js
index c26937d156..79e1f54349 100644
--- a/test/language/expressions/class/dstr-async-private-gen-meth-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/expressions/class/dstr-async-private-gen-meth-ary-ptrn-rest-not-final-obj.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/dstr-async-private-gen-meth-dflt-ary-ptrn-rest-init-ary.js b/test/language/expressions/class/dstr-async-private-gen-meth-dflt-ary-ptrn-rest-init-ary.js
index ebfc131b99..926b8a9db6 100644
--- a/test/language/expressions/class/dstr-async-private-gen-meth-dflt-ary-ptrn-rest-init-ary.js
+++ b/test/language/expressions/class/dstr-async-private-gen-meth-dflt-ary-ptrn-rest-init-ary.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/dstr-async-private-gen-meth-dflt-ary-ptrn-rest-init-id.js b/test/language/expressions/class/dstr-async-private-gen-meth-dflt-ary-ptrn-rest-init-id.js
index 2868568e67..1a022f0be0 100644
--- a/test/language/expressions/class/dstr-async-private-gen-meth-dflt-ary-ptrn-rest-init-id.js
+++ b/test/language/expressions/class/dstr-async-private-gen-meth-dflt-ary-ptrn-rest-init-id.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/dstr-async-private-gen-meth-dflt-ary-ptrn-rest-init-obj.js b/test/language/expressions/class/dstr-async-private-gen-meth-dflt-ary-ptrn-rest-init-obj.js
index dc5cf4a290..0e35b534f6 100644
--- a/test/language/expressions/class/dstr-async-private-gen-meth-dflt-ary-ptrn-rest-init-obj.js
+++ b/test/language/expressions/class/dstr-async-private-gen-meth-dflt-ary-ptrn-rest-init-obj.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/dstr-async-private-gen-meth-dflt-ary-ptrn-rest-not-final-ary.js b/test/language/expressions/class/dstr-async-private-gen-meth-dflt-ary-ptrn-rest-not-final-ary.js
index 87ed3643d4..2c51a1e338 100644
--- a/test/language/expressions/class/dstr-async-private-gen-meth-dflt-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/expressions/class/dstr-async-private-gen-meth-dflt-ary-ptrn-rest-not-final-ary.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/dstr-async-private-gen-meth-dflt-ary-ptrn-rest-not-final-id.js b/test/language/expressions/class/dstr-async-private-gen-meth-dflt-ary-ptrn-rest-not-final-id.js
index 7227c8defe..eed831ca70 100644
--- a/test/language/expressions/class/dstr-async-private-gen-meth-dflt-ary-ptrn-rest-not-final-id.js
+++ b/test/language/expressions/class/dstr-async-private-gen-meth-dflt-ary-ptrn-rest-not-final-id.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/dstr-async-private-gen-meth-dflt-ary-ptrn-rest-not-final-obj.js b/test/language/expressions/class/dstr-async-private-gen-meth-dflt-ary-ptrn-rest-not-final-obj.js
index 4ae09aa817..827cdb78a1 100644
--- a/test/language/expressions/class/dstr-async-private-gen-meth-dflt-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/expressions/class/dstr-async-private-gen-meth-dflt-ary-ptrn-rest-not-final-obj.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/dstr-async-private-gen-meth-static-ary-ptrn-rest-init-ary.js b/test/language/expressions/class/dstr-async-private-gen-meth-static-ary-ptrn-rest-init-ary.js
index 4de53cc27b..78183e4280 100644
--- a/test/language/expressions/class/dstr-async-private-gen-meth-static-ary-ptrn-rest-init-ary.js
+++ b/test/language/expressions/class/dstr-async-private-gen-meth-static-ary-ptrn-rest-init-ary.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/dstr-async-private-gen-meth-static-ary-ptrn-rest-init-id.js b/test/language/expressions/class/dstr-async-private-gen-meth-static-ary-ptrn-rest-init-id.js
index 9f598233d2..09f0cc5ff0 100644
--- a/test/language/expressions/class/dstr-async-private-gen-meth-static-ary-ptrn-rest-init-id.js
+++ b/test/language/expressions/class/dstr-async-private-gen-meth-static-ary-ptrn-rest-init-id.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/dstr-async-private-gen-meth-static-ary-ptrn-rest-init-obj.js b/test/language/expressions/class/dstr-async-private-gen-meth-static-ary-ptrn-rest-init-obj.js
index db4a73ce24..8aef500c87 100644
--- a/test/language/expressions/class/dstr-async-private-gen-meth-static-ary-ptrn-rest-init-obj.js
+++ b/test/language/expressions/class/dstr-async-private-gen-meth-static-ary-ptrn-rest-init-obj.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/dstr-async-private-gen-meth-static-ary-ptrn-rest-not-final-ary.js b/test/language/expressions/class/dstr-async-private-gen-meth-static-ary-ptrn-rest-not-final-ary.js
index 3f8daf7b7a..caab6db998 100644
--- a/test/language/expressions/class/dstr-async-private-gen-meth-static-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/expressions/class/dstr-async-private-gen-meth-static-ary-ptrn-rest-not-final-ary.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/dstr-async-private-gen-meth-static-ary-ptrn-rest-not-final-id.js b/test/language/expressions/class/dstr-async-private-gen-meth-static-ary-ptrn-rest-not-final-id.js
index 3be128c85c..c15739c8cb 100644
--- a/test/language/expressions/class/dstr-async-private-gen-meth-static-ary-ptrn-rest-not-final-id.js
+++ b/test/language/expressions/class/dstr-async-private-gen-meth-static-ary-ptrn-rest-not-final-id.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/dstr-async-private-gen-meth-static-ary-ptrn-rest-not-final-obj.js b/test/language/expressions/class/dstr-async-private-gen-meth-static-ary-ptrn-rest-not-final-obj.js
index 7620c9de2d..adc6ef4bb0 100644
--- a/test/language/expressions/class/dstr-async-private-gen-meth-static-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/expressions/class/dstr-async-private-gen-meth-static-ary-ptrn-rest-not-final-obj.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/dstr-async-private-gen-meth-static-dflt-ary-ptrn-rest-init-ary.js b/test/language/expressions/class/dstr-async-private-gen-meth-static-dflt-ary-ptrn-rest-init-ary.js
index 80e7fe5c51..06a7f204f7 100644
--- a/test/language/expressions/class/dstr-async-private-gen-meth-static-dflt-ary-ptrn-rest-init-ary.js
+++ b/test/language/expressions/class/dstr-async-private-gen-meth-static-dflt-ary-ptrn-rest-init-ary.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/dstr-async-private-gen-meth-static-dflt-ary-ptrn-rest-init-id.js b/test/language/expressions/class/dstr-async-private-gen-meth-static-dflt-ary-ptrn-rest-init-id.js
index 42fc921df8..2c9d44509e 100644
--- a/test/language/expressions/class/dstr-async-private-gen-meth-static-dflt-ary-ptrn-rest-init-id.js
+++ b/test/language/expressions/class/dstr-async-private-gen-meth-static-dflt-ary-ptrn-rest-init-id.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/dstr-async-private-gen-meth-static-dflt-ary-ptrn-rest-init-obj.js b/test/language/expressions/class/dstr-async-private-gen-meth-static-dflt-ary-ptrn-rest-init-obj.js
index 9e339f4579..aea9dced3d 100644
--- a/test/language/expressions/class/dstr-async-private-gen-meth-static-dflt-ary-ptrn-rest-init-obj.js
+++ b/test/language/expressions/class/dstr-async-private-gen-meth-static-dflt-ary-ptrn-rest-init-obj.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/dstr-async-private-gen-meth-static-dflt-ary-ptrn-rest-not-final-ary.js b/test/language/expressions/class/dstr-async-private-gen-meth-static-dflt-ary-ptrn-rest-not-final-ary.js
index 7055acbd8b..b6990df995 100644
--- a/test/language/expressions/class/dstr-async-private-gen-meth-static-dflt-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/expressions/class/dstr-async-private-gen-meth-static-dflt-ary-ptrn-rest-not-final-ary.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/dstr-async-private-gen-meth-static-dflt-ary-ptrn-rest-not-final-id.js b/test/language/expressions/class/dstr-async-private-gen-meth-static-dflt-ary-ptrn-rest-not-final-id.js
index 11cbd56418..ea97287130 100644
--- a/test/language/expressions/class/dstr-async-private-gen-meth-static-dflt-ary-ptrn-rest-not-final-id.js
+++ b/test/language/expressions/class/dstr-async-private-gen-meth-static-dflt-ary-ptrn-rest-not-final-id.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/dstr-async-private-gen-meth-static-dflt-ary-ptrn-rest-not-final-obj.js b/test/language/expressions/class/dstr-async-private-gen-meth-static-dflt-ary-ptrn-rest-not-final-obj.js
index 9aeb37267b..72d3e79673 100644
--- a/test/language/expressions/class/dstr-async-private-gen-meth-static-dflt-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/expressions/class/dstr-async-private-gen-meth-static-dflt-ary-ptrn-rest-not-final-obj.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/class/dstr-gen-meth-ary-ptrn-rest-init-ary.js b/test/language/expressions/class/dstr-gen-meth-ary-ptrn-rest-init-ary.js
index aee10070f0..01d3aacfa6 100644
--- a/test/language/expressions/class/dstr-gen-meth-ary-ptrn-rest-init-ary.js
+++ b/test/language/expressions/class/dstr-gen-meth-ary-ptrn-rest-init-ary.js
@@ -70,7 +70,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-gen-meth-ary-ptrn-rest-init-id.js b/test/language/expressions/class/dstr-gen-meth-ary-ptrn-rest-init-id.js
index 6d8679debf..7fbd1bd4ba 100644
--- a/test/language/expressions/class/dstr-gen-meth-ary-ptrn-rest-init-id.js
+++ b/test/language/expressions/class/dstr-gen-meth-ary-ptrn-rest-init-id.js
@@ -70,7 +70,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-gen-meth-ary-ptrn-rest-init-obj.js b/test/language/expressions/class/dstr-gen-meth-ary-ptrn-rest-init-obj.js
index 7c317f1b6f..69949848b3 100644
--- a/test/language/expressions/class/dstr-gen-meth-ary-ptrn-rest-init-obj.js
+++ b/test/language/expressions/class/dstr-gen-meth-ary-ptrn-rest-init-obj.js
@@ -70,7 +70,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-gen-meth-ary-ptrn-rest-not-final-ary.js b/test/language/expressions/class/dstr-gen-meth-ary-ptrn-rest-not-final-ary.js
index 711a859101..6d876ff386 100644
--- a/test/language/expressions/class/dstr-gen-meth-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/expressions/class/dstr-gen-meth-ary-ptrn-rest-not-final-ary.js
@@ -70,7 +70,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-gen-meth-ary-ptrn-rest-not-final-id.js b/test/language/expressions/class/dstr-gen-meth-ary-ptrn-rest-not-final-id.js
index ff511e13ee..8f33bc1be8 100644
--- a/test/language/expressions/class/dstr-gen-meth-ary-ptrn-rest-not-final-id.js
+++ b/test/language/expressions/class/dstr-gen-meth-ary-ptrn-rest-not-final-id.js
@@ -70,7 +70,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-gen-meth-ary-ptrn-rest-not-final-obj.js b/test/language/expressions/class/dstr-gen-meth-ary-ptrn-rest-not-final-obj.js
index b2b9c00b72..3635e4f1df 100644
--- a/test/language/expressions/class/dstr-gen-meth-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/expressions/class/dstr-gen-meth-ary-ptrn-rest-not-final-obj.js
@@ -70,7 +70,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-rest-init-ary.js b/test/language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-rest-init-ary.js
index 2d4f13855e..8075f1af6e 100644
--- a/test/language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-rest-init-ary.js
+++ b/test/language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-rest-init-ary.js
@@ -70,7 +70,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-rest-init-id.js b/test/language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-rest-init-id.js
index cb1f57e390..8d5a2190e2 100644
--- a/test/language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-rest-init-id.js
+++ b/test/language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-rest-init-id.js
@@ -70,7 +70,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-rest-init-obj.js b/test/language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-rest-init-obj.js
index c4172a53ea..c5cf562cc7 100644
--- a/test/language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-rest-init-obj.js
+++ b/test/language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-rest-init-obj.js
@@ -70,7 +70,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-rest-not-final-ary.js b/test/language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-rest-not-final-ary.js
index 48936e527a..769e385bbb 100644
--- a/test/language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-rest-not-final-ary.js
@@ -70,7 +70,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-rest-not-final-id.js b/test/language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-rest-not-final-id.js
index 2bc88b627b..baa8ddba35 100644
--- a/test/language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-rest-not-final-id.js
+++ b/test/language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-rest-not-final-id.js
@@ -70,7 +70,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-rest-not-final-obj.js b/test/language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-rest-not-final-obj.js
index 63c999b252..0c06fdec90 100644
--- a/test/language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/expressions/class/dstr-gen-meth-dflt-ary-ptrn-rest-not-final-obj.js
@@ -70,7 +70,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-gen-meth-static-ary-ptrn-rest-init-ary.js b/test/language/expressions/class/dstr-gen-meth-static-ary-ptrn-rest-init-ary.js
index 3769a3253a..51ae05913f 100644
--- a/test/language/expressions/class/dstr-gen-meth-static-ary-ptrn-rest-init-ary.js
+++ b/test/language/expressions/class/dstr-gen-meth-static-ary-ptrn-rest-init-ary.js
@@ -70,7 +70,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-gen-meth-static-ary-ptrn-rest-init-id.js b/test/language/expressions/class/dstr-gen-meth-static-ary-ptrn-rest-init-id.js
index 7a81cf038a..0b0e1157be 100644
--- a/test/language/expressions/class/dstr-gen-meth-static-ary-ptrn-rest-init-id.js
+++ b/test/language/expressions/class/dstr-gen-meth-static-ary-ptrn-rest-init-id.js
@@ -70,7 +70,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-gen-meth-static-ary-ptrn-rest-init-obj.js b/test/language/expressions/class/dstr-gen-meth-static-ary-ptrn-rest-init-obj.js
index d3613af69b..21b49d581a 100644
--- a/test/language/expressions/class/dstr-gen-meth-static-ary-ptrn-rest-init-obj.js
+++ b/test/language/expressions/class/dstr-gen-meth-static-ary-ptrn-rest-init-obj.js
@@ -70,7 +70,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-gen-meth-static-ary-ptrn-rest-not-final-ary.js b/test/language/expressions/class/dstr-gen-meth-static-ary-ptrn-rest-not-final-ary.js
index 2c631d71d7..59ee7c7887 100644
--- a/test/language/expressions/class/dstr-gen-meth-static-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/expressions/class/dstr-gen-meth-static-ary-ptrn-rest-not-final-ary.js
@@ -70,7 +70,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-gen-meth-static-ary-ptrn-rest-not-final-id.js b/test/language/expressions/class/dstr-gen-meth-static-ary-ptrn-rest-not-final-id.js
index b9afb2225c..c1c866c90f 100644
--- a/test/language/expressions/class/dstr-gen-meth-static-ary-ptrn-rest-not-final-id.js
+++ b/test/language/expressions/class/dstr-gen-meth-static-ary-ptrn-rest-not-final-id.js
@@ -70,7 +70,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-gen-meth-static-ary-ptrn-rest-not-final-obj.js b/test/language/expressions/class/dstr-gen-meth-static-ary-ptrn-rest-not-final-obj.js
index 32c7577dd9..32653444ee 100644
--- a/test/language/expressions/class/dstr-gen-meth-static-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/expressions/class/dstr-gen-meth-static-ary-ptrn-rest-not-final-obj.js
@@ -70,7 +70,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-init-ary.js b/test/language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-init-ary.js
index 281e2b0a54..ac831baa4c 100644
--- a/test/language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-init-ary.js
+++ b/test/language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-init-ary.js
@@ -70,7 +70,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-init-id.js b/test/language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-init-id.js
index adf6ee4f66..4be5aed469 100644
--- a/test/language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-init-id.js
+++ b/test/language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-init-id.js
@@ -70,7 +70,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-init-obj.js b/test/language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-init-obj.js
index 2ff9959a8d..c0cc369ed0 100644
--- a/test/language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-init-obj.js
+++ b/test/language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-init-obj.js
@@ -70,7 +70,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-not-final-ary.js b/test/language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-not-final-ary.js
index fe571d6934..e40f4197a8 100644
--- a/test/language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-not-final-ary.js
@@ -70,7 +70,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-not-final-id.js b/test/language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-not-final-id.js
index a839a5190a..769207a37f 100644
--- a/test/language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-not-final-id.js
+++ b/test/language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-not-final-id.js
@@ -70,7 +70,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-not-final-obj.js b/test/language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-not-final-obj.js
index 516b9b16aa..db8366de90 100644
--- a/test/language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/expressions/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-not-final-obj.js
@@ -70,7 +70,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-meth-ary-ptrn-rest-init-ary.js b/test/language/expressions/class/dstr-meth-ary-ptrn-rest-init-ary.js
index 4e736825e0..9ccf5478c4 100644
--- a/test/language/expressions/class/dstr-meth-ary-ptrn-rest-init-ary.js
+++ b/test/language/expressions/class/dstr-meth-ary-ptrn-rest-init-ary.js
@@ -67,7 +67,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-meth-ary-ptrn-rest-init-id.js b/test/language/expressions/class/dstr-meth-ary-ptrn-rest-init-id.js
index 6b6d6704d4..6df71822be 100644
--- a/test/language/expressions/class/dstr-meth-ary-ptrn-rest-init-id.js
+++ b/test/language/expressions/class/dstr-meth-ary-ptrn-rest-init-id.js
@@ -67,7 +67,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-meth-ary-ptrn-rest-init-obj.js b/test/language/expressions/class/dstr-meth-ary-ptrn-rest-init-obj.js
index f6da6d3750..a101544982 100644
--- a/test/language/expressions/class/dstr-meth-ary-ptrn-rest-init-obj.js
+++ b/test/language/expressions/class/dstr-meth-ary-ptrn-rest-init-obj.js
@@ -67,7 +67,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-meth-ary-ptrn-rest-not-final-ary.js b/test/language/expressions/class/dstr-meth-ary-ptrn-rest-not-final-ary.js
index 4667860211..27095eadda 100644
--- a/test/language/expressions/class/dstr-meth-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/expressions/class/dstr-meth-ary-ptrn-rest-not-final-ary.js
@@ -67,7 +67,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-meth-ary-ptrn-rest-not-final-id.js b/test/language/expressions/class/dstr-meth-ary-ptrn-rest-not-final-id.js
index 8dac769c3e..074db76a20 100644
--- a/test/language/expressions/class/dstr-meth-ary-ptrn-rest-not-final-id.js
+++ b/test/language/expressions/class/dstr-meth-ary-ptrn-rest-not-final-id.js
@@ -67,7 +67,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-meth-ary-ptrn-rest-not-final-obj.js b/test/language/expressions/class/dstr-meth-ary-ptrn-rest-not-final-obj.js
index 8b9bd48c28..7167e5b0e7 100644
--- a/test/language/expressions/class/dstr-meth-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/expressions/class/dstr-meth-ary-ptrn-rest-not-final-obj.js
@@ -67,7 +67,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-meth-dflt-ary-ptrn-rest-init-ary.js b/test/language/expressions/class/dstr-meth-dflt-ary-ptrn-rest-init-ary.js
index ccdac12ecb..9760fb63ed 100644
--- a/test/language/expressions/class/dstr-meth-dflt-ary-ptrn-rest-init-ary.js
+++ b/test/language/expressions/class/dstr-meth-dflt-ary-ptrn-rest-init-ary.js
@@ -67,7 +67,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-meth-dflt-ary-ptrn-rest-init-id.js b/test/language/expressions/class/dstr-meth-dflt-ary-ptrn-rest-init-id.js
index 22e33f9358..fa8fa20cb6 100644
--- a/test/language/expressions/class/dstr-meth-dflt-ary-ptrn-rest-init-id.js
+++ b/test/language/expressions/class/dstr-meth-dflt-ary-ptrn-rest-init-id.js
@@ -67,7 +67,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-meth-dflt-ary-ptrn-rest-init-obj.js b/test/language/expressions/class/dstr-meth-dflt-ary-ptrn-rest-init-obj.js
index cd33b62546..a38c18a27b 100644
--- a/test/language/expressions/class/dstr-meth-dflt-ary-ptrn-rest-init-obj.js
+++ b/test/language/expressions/class/dstr-meth-dflt-ary-ptrn-rest-init-obj.js
@@ -67,7 +67,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-meth-dflt-ary-ptrn-rest-not-final-ary.js b/test/language/expressions/class/dstr-meth-dflt-ary-ptrn-rest-not-final-ary.js
index eeb309dcfa..21ca988eac 100644
--- a/test/language/expressions/class/dstr-meth-dflt-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/expressions/class/dstr-meth-dflt-ary-ptrn-rest-not-final-ary.js
@@ -67,7 +67,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-meth-dflt-ary-ptrn-rest-not-final-id.js b/test/language/expressions/class/dstr-meth-dflt-ary-ptrn-rest-not-final-id.js
index 8624805265..759bebba24 100644
--- a/test/language/expressions/class/dstr-meth-dflt-ary-ptrn-rest-not-final-id.js
+++ b/test/language/expressions/class/dstr-meth-dflt-ary-ptrn-rest-not-final-id.js
@@ -67,7 +67,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-meth-dflt-ary-ptrn-rest-not-final-obj.js b/test/language/expressions/class/dstr-meth-dflt-ary-ptrn-rest-not-final-obj.js
index ae2a6be6c8..b2e62fdf62 100644
--- a/test/language/expressions/class/dstr-meth-dflt-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/expressions/class/dstr-meth-dflt-ary-ptrn-rest-not-final-obj.js
@@ -67,7 +67,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-meth-static-ary-ptrn-rest-init-ary.js b/test/language/expressions/class/dstr-meth-static-ary-ptrn-rest-init-ary.js
index 7bf1935bf9..55887d0b10 100644
--- a/test/language/expressions/class/dstr-meth-static-ary-ptrn-rest-init-ary.js
+++ b/test/language/expressions/class/dstr-meth-static-ary-ptrn-rest-init-ary.js
@@ -67,7 +67,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-meth-static-ary-ptrn-rest-init-id.js b/test/language/expressions/class/dstr-meth-static-ary-ptrn-rest-init-id.js
index 865a5a77a9..31f68b5a1a 100644
--- a/test/language/expressions/class/dstr-meth-static-ary-ptrn-rest-init-id.js
+++ b/test/language/expressions/class/dstr-meth-static-ary-ptrn-rest-init-id.js
@@ -67,7 +67,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-meth-static-ary-ptrn-rest-init-obj.js b/test/language/expressions/class/dstr-meth-static-ary-ptrn-rest-init-obj.js
index 0579e1b627..a061e60964 100644
--- a/test/language/expressions/class/dstr-meth-static-ary-ptrn-rest-init-obj.js
+++ b/test/language/expressions/class/dstr-meth-static-ary-ptrn-rest-init-obj.js
@@ -67,7 +67,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-meth-static-ary-ptrn-rest-not-final-ary.js b/test/language/expressions/class/dstr-meth-static-ary-ptrn-rest-not-final-ary.js
index 70eb0ccd5e..9ebbfda4e6 100644
--- a/test/language/expressions/class/dstr-meth-static-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/expressions/class/dstr-meth-static-ary-ptrn-rest-not-final-ary.js
@@ -67,7 +67,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-meth-static-ary-ptrn-rest-not-final-id.js b/test/language/expressions/class/dstr-meth-static-ary-ptrn-rest-not-final-id.js
index cbef0139f6..902706aa20 100644
--- a/test/language/expressions/class/dstr-meth-static-ary-ptrn-rest-not-final-id.js
+++ b/test/language/expressions/class/dstr-meth-static-ary-ptrn-rest-not-final-id.js
@@ -67,7 +67,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-meth-static-ary-ptrn-rest-not-final-obj.js b/test/language/expressions/class/dstr-meth-static-ary-ptrn-rest-not-final-obj.js
index d20826de3e..dbf7b24ab3 100644
--- a/test/language/expressions/class/dstr-meth-static-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/expressions/class/dstr-meth-static-ary-ptrn-rest-not-final-obj.js
@@ -67,7 +67,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-meth-static-dflt-ary-ptrn-rest-init-ary.js b/test/language/expressions/class/dstr-meth-static-dflt-ary-ptrn-rest-init-ary.js
index cdf3b1f300..900b7d9d3f 100644
--- a/test/language/expressions/class/dstr-meth-static-dflt-ary-ptrn-rest-init-ary.js
+++ b/test/language/expressions/class/dstr-meth-static-dflt-ary-ptrn-rest-init-ary.js
@@ -67,7 +67,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-meth-static-dflt-ary-ptrn-rest-init-id.js b/test/language/expressions/class/dstr-meth-static-dflt-ary-ptrn-rest-init-id.js
index b90044fa5d..79d4067968 100644
--- a/test/language/expressions/class/dstr-meth-static-dflt-ary-ptrn-rest-init-id.js
+++ b/test/language/expressions/class/dstr-meth-static-dflt-ary-ptrn-rest-init-id.js
@@ -67,7 +67,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-meth-static-dflt-ary-ptrn-rest-init-obj.js b/test/language/expressions/class/dstr-meth-static-dflt-ary-ptrn-rest-init-obj.js
index 41b1632c1c..545cbe9122 100644
--- a/test/language/expressions/class/dstr-meth-static-dflt-ary-ptrn-rest-init-obj.js
+++ b/test/language/expressions/class/dstr-meth-static-dflt-ary-ptrn-rest-init-obj.js
@@ -67,7 +67,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-meth-static-dflt-ary-ptrn-rest-not-final-ary.js b/test/language/expressions/class/dstr-meth-static-dflt-ary-ptrn-rest-not-final-ary.js
index 1d7c638bfa..c9b613382e 100644
--- a/test/language/expressions/class/dstr-meth-static-dflt-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/expressions/class/dstr-meth-static-dflt-ary-ptrn-rest-not-final-ary.js
@@ -67,7 +67,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-meth-static-dflt-ary-ptrn-rest-not-final-id.js b/test/language/expressions/class/dstr-meth-static-dflt-ary-ptrn-rest-not-final-id.js
index eba2b470fc..19c394b996 100644
--- a/test/language/expressions/class/dstr-meth-static-dflt-ary-ptrn-rest-not-final-id.js
+++ b/test/language/expressions/class/dstr-meth-static-dflt-ary-ptrn-rest-not-final-id.js
@@ -67,7 +67,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-meth-static-dflt-ary-ptrn-rest-not-final-obj.js b/test/language/expressions/class/dstr-meth-static-dflt-ary-ptrn-rest-not-final-obj.js
index 22f9baf7d6..c308c9aca3 100644
--- a/test/language/expressions/class/dstr-meth-static-dflt-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/expressions/class/dstr-meth-static-dflt-ary-ptrn-rest-not-final-obj.js
@@ -67,7 +67,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-private-gen-meth-ary-ptrn-rest-init-ary.js b/test/language/expressions/class/dstr-private-gen-meth-ary-ptrn-rest-init-ary.js
index 6b70de6729..3712ec760a 100644
--- a/test/language/expressions/class/dstr-private-gen-meth-ary-ptrn-rest-init-ary.js
+++ b/test/language/expressions/class/dstr-private-gen-meth-ary-ptrn-rest-init-ary.js
@@ -69,7 +69,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-private-gen-meth-ary-ptrn-rest-init-id.js b/test/language/expressions/class/dstr-private-gen-meth-ary-ptrn-rest-init-id.js
index b8fb45ca70..bfe7bd7e3f 100644
--- a/test/language/expressions/class/dstr-private-gen-meth-ary-ptrn-rest-init-id.js
+++ b/test/language/expressions/class/dstr-private-gen-meth-ary-ptrn-rest-init-id.js
@@ -69,7 +69,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-private-gen-meth-ary-ptrn-rest-init-obj.js b/test/language/expressions/class/dstr-private-gen-meth-ary-ptrn-rest-init-obj.js
index 27c6be621d..ba50c13570 100644
--- a/test/language/expressions/class/dstr-private-gen-meth-ary-ptrn-rest-init-obj.js
+++ b/test/language/expressions/class/dstr-private-gen-meth-ary-ptrn-rest-init-obj.js
@@ -69,7 +69,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-private-gen-meth-ary-ptrn-rest-not-final-ary.js b/test/language/expressions/class/dstr-private-gen-meth-ary-ptrn-rest-not-final-ary.js
index a0af0f9fa1..b93511d852 100644
--- a/test/language/expressions/class/dstr-private-gen-meth-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/expressions/class/dstr-private-gen-meth-ary-ptrn-rest-not-final-ary.js
@@ -69,7 +69,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-private-gen-meth-ary-ptrn-rest-not-final-id.js b/test/language/expressions/class/dstr-private-gen-meth-ary-ptrn-rest-not-final-id.js
index 28e1156584..146110e119 100644
--- a/test/language/expressions/class/dstr-private-gen-meth-ary-ptrn-rest-not-final-id.js
+++ b/test/language/expressions/class/dstr-private-gen-meth-ary-ptrn-rest-not-final-id.js
@@ -69,7 +69,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-private-gen-meth-ary-ptrn-rest-not-final-obj.js b/test/language/expressions/class/dstr-private-gen-meth-ary-ptrn-rest-not-final-obj.js
index 8727df5fc9..8b0f242e8c 100644
--- a/test/language/expressions/class/dstr-private-gen-meth-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/expressions/class/dstr-private-gen-meth-ary-ptrn-rest-not-final-obj.js
@@ -69,7 +69,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-private-gen-meth-dflt-ary-ptrn-rest-init-ary.js b/test/language/expressions/class/dstr-private-gen-meth-dflt-ary-ptrn-rest-init-ary.js
index be50ce7808..06912f13dc 100644
--- a/test/language/expressions/class/dstr-private-gen-meth-dflt-ary-ptrn-rest-init-ary.js
+++ b/test/language/expressions/class/dstr-private-gen-meth-dflt-ary-ptrn-rest-init-ary.js
@@ -69,7 +69,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-private-gen-meth-dflt-ary-ptrn-rest-init-id.js b/test/language/expressions/class/dstr-private-gen-meth-dflt-ary-ptrn-rest-init-id.js
index 7216262f76..0359081c92 100644
--- a/test/language/expressions/class/dstr-private-gen-meth-dflt-ary-ptrn-rest-init-id.js
+++ b/test/language/expressions/class/dstr-private-gen-meth-dflt-ary-ptrn-rest-init-id.js
@@ -69,7 +69,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-private-gen-meth-dflt-ary-ptrn-rest-init-obj.js b/test/language/expressions/class/dstr-private-gen-meth-dflt-ary-ptrn-rest-init-obj.js
index d7cfcb5055..a49f0b9b54 100644
--- a/test/language/expressions/class/dstr-private-gen-meth-dflt-ary-ptrn-rest-init-obj.js
+++ b/test/language/expressions/class/dstr-private-gen-meth-dflt-ary-ptrn-rest-init-obj.js
@@ -69,7 +69,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-private-gen-meth-dflt-ary-ptrn-rest-not-final-ary.js b/test/language/expressions/class/dstr-private-gen-meth-dflt-ary-ptrn-rest-not-final-ary.js
index 55c1a0cde8..ccaa12225b 100644
--- a/test/language/expressions/class/dstr-private-gen-meth-dflt-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/expressions/class/dstr-private-gen-meth-dflt-ary-ptrn-rest-not-final-ary.js
@@ -69,7 +69,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-private-gen-meth-dflt-ary-ptrn-rest-not-final-id.js b/test/language/expressions/class/dstr-private-gen-meth-dflt-ary-ptrn-rest-not-final-id.js
index a09118fb97..28d024037a 100644
--- a/test/language/expressions/class/dstr-private-gen-meth-dflt-ary-ptrn-rest-not-final-id.js
+++ b/test/language/expressions/class/dstr-private-gen-meth-dflt-ary-ptrn-rest-not-final-id.js
@@ -69,7 +69,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-private-gen-meth-dflt-ary-ptrn-rest-not-final-obj.js b/test/language/expressions/class/dstr-private-gen-meth-dflt-ary-ptrn-rest-not-final-obj.js
index 4fd4fa5343..a3460e442d 100644
--- a/test/language/expressions/class/dstr-private-gen-meth-dflt-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/expressions/class/dstr-private-gen-meth-dflt-ary-ptrn-rest-not-final-obj.js
@@ -69,7 +69,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-private-gen-meth-static-ary-ptrn-rest-init-ary.js b/test/language/expressions/class/dstr-private-gen-meth-static-ary-ptrn-rest-init-ary.js
index b3753b289f..a2c9ea0a0c 100644
--- a/test/language/expressions/class/dstr-private-gen-meth-static-ary-ptrn-rest-init-ary.js
+++ b/test/language/expressions/class/dstr-private-gen-meth-static-ary-ptrn-rest-init-ary.js
@@ -69,7 +69,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-private-gen-meth-static-ary-ptrn-rest-init-id.js b/test/language/expressions/class/dstr-private-gen-meth-static-ary-ptrn-rest-init-id.js
index aa201033a7..a0c94030d2 100644
--- a/test/language/expressions/class/dstr-private-gen-meth-static-ary-ptrn-rest-init-id.js
+++ b/test/language/expressions/class/dstr-private-gen-meth-static-ary-ptrn-rest-init-id.js
@@ -69,7 +69,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-private-gen-meth-static-ary-ptrn-rest-init-obj.js b/test/language/expressions/class/dstr-private-gen-meth-static-ary-ptrn-rest-init-obj.js
index 880525f2e2..e17656c1f3 100644
--- a/test/language/expressions/class/dstr-private-gen-meth-static-ary-ptrn-rest-init-obj.js
+++ b/test/language/expressions/class/dstr-private-gen-meth-static-ary-ptrn-rest-init-obj.js
@@ -69,7 +69,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-private-gen-meth-static-ary-ptrn-rest-not-final-ary.js b/test/language/expressions/class/dstr-private-gen-meth-static-ary-ptrn-rest-not-final-ary.js
index 71a3a2dadf..0a7072a2e4 100644
--- a/test/language/expressions/class/dstr-private-gen-meth-static-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/expressions/class/dstr-private-gen-meth-static-ary-ptrn-rest-not-final-ary.js
@@ -69,7 +69,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-private-gen-meth-static-ary-ptrn-rest-not-final-id.js b/test/language/expressions/class/dstr-private-gen-meth-static-ary-ptrn-rest-not-final-id.js
index 965fb7b954..7bcd50294f 100644
--- a/test/language/expressions/class/dstr-private-gen-meth-static-ary-ptrn-rest-not-final-id.js
+++ b/test/language/expressions/class/dstr-private-gen-meth-static-ary-ptrn-rest-not-final-id.js
@@ -69,7 +69,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-private-gen-meth-static-ary-ptrn-rest-not-final-obj.js b/test/language/expressions/class/dstr-private-gen-meth-static-ary-ptrn-rest-not-final-obj.js
index 3737295635..47374fcbb2 100644
--- a/test/language/expressions/class/dstr-private-gen-meth-static-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/expressions/class/dstr-private-gen-meth-static-ary-ptrn-rest-not-final-obj.js
@@ -69,7 +69,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-private-gen-meth-static-dflt-ary-ptrn-rest-init-ary.js b/test/language/expressions/class/dstr-private-gen-meth-static-dflt-ary-ptrn-rest-init-ary.js
index 7a764c9bec..4dc1ff8bb9 100644
--- a/test/language/expressions/class/dstr-private-gen-meth-static-dflt-ary-ptrn-rest-init-ary.js
+++ b/test/language/expressions/class/dstr-private-gen-meth-static-dflt-ary-ptrn-rest-init-ary.js
@@ -69,7 +69,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-private-gen-meth-static-dflt-ary-ptrn-rest-init-id.js b/test/language/expressions/class/dstr-private-gen-meth-static-dflt-ary-ptrn-rest-init-id.js
index b61a62a714..57c7512ca7 100644
--- a/test/language/expressions/class/dstr-private-gen-meth-static-dflt-ary-ptrn-rest-init-id.js
+++ b/test/language/expressions/class/dstr-private-gen-meth-static-dflt-ary-ptrn-rest-init-id.js
@@ -69,7 +69,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-private-gen-meth-static-dflt-ary-ptrn-rest-init-obj.js b/test/language/expressions/class/dstr-private-gen-meth-static-dflt-ary-ptrn-rest-init-obj.js
index fbae6c2cc6..5eb6818ea4 100644
--- a/test/language/expressions/class/dstr-private-gen-meth-static-dflt-ary-ptrn-rest-init-obj.js
+++ b/test/language/expressions/class/dstr-private-gen-meth-static-dflt-ary-ptrn-rest-init-obj.js
@@ -69,7 +69,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-private-gen-meth-static-dflt-ary-ptrn-rest-not-final-ary.js b/test/language/expressions/class/dstr-private-gen-meth-static-dflt-ary-ptrn-rest-not-final-ary.js
index 6b9ad9c421..ef41320300 100644
--- a/test/language/expressions/class/dstr-private-gen-meth-static-dflt-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/expressions/class/dstr-private-gen-meth-static-dflt-ary-ptrn-rest-not-final-ary.js
@@ -69,7 +69,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-private-gen-meth-static-dflt-ary-ptrn-rest-not-final-id.js b/test/language/expressions/class/dstr-private-gen-meth-static-dflt-ary-ptrn-rest-not-final-id.js
index 0241050b8a..a2bf2cac3b 100644
--- a/test/language/expressions/class/dstr-private-gen-meth-static-dflt-ary-ptrn-rest-not-final-id.js
+++ b/test/language/expressions/class/dstr-private-gen-meth-static-dflt-ary-ptrn-rest-not-final-id.js
@@ -69,7 +69,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-private-gen-meth-static-dflt-ary-ptrn-rest-not-final-obj.js b/test/language/expressions/class/dstr-private-gen-meth-static-dflt-ary-ptrn-rest-not-final-obj.js
index 9da3d38a71..765b595510 100644
--- a/test/language/expressions/class/dstr-private-gen-meth-static-dflt-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/expressions/class/dstr-private-gen-meth-static-dflt-ary-ptrn-rest-not-final-obj.js
@@ -69,7 +69,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-private-meth-ary-ptrn-rest-init-ary.js b/test/language/expressions/class/dstr-private-meth-ary-ptrn-rest-init-ary.js
index 840278062a..ee859d066c 100644
--- a/test/language/expressions/class/dstr-private-meth-ary-ptrn-rest-init-ary.js
+++ b/test/language/expressions/class/dstr-private-meth-ary-ptrn-rest-init-ary.js
@@ -66,7 +66,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-private-meth-ary-ptrn-rest-init-id.js b/test/language/expressions/class/dstr-private-meth-ary-ptrn-rest-init-id.js
index 63f9e8c5f5..0930b3f417 100644
--- a/test/language/expressions/class/dstr-private-meth-ary-ptrn-rest-init-id.js
+++ b/test/language/expressions/class/dstr-private-meth-ary-ptrn-rest-init-id.js
@@ -66,7 +66,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-private-meth-ary-ptrn-rest-init-obj.js b/test/language/expressions/class/dstr-private-meth-ary-ptrn-rest-init-obj.js
index 4036b1bfc8..5c583faa48 100644
--- a/test/language/expressions/class/dstr-private-meth-ary-ptrn-rest-init-obj.js
+++ b/test/language/expressions/class/dstr-private-meth-ary-ptrn-rest-init-obj.js
@@ -66,7 +66,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-private-meth-ary-ptrn-rest-not-final-ary.js b/test/language/expressions/class/dstr-private-meth-ary-ptrn-rest-not-final-ary.js
index 08b3a8b1eb..8cdce7f133 100644
--- a/test/language/expressions/class/dstr-private-meth-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/expressions/class/dstr-private-meth-ary-ptrn-rest-not-final-ary.js
@@ -66,7 +66,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-private-meth-ary-ptrn-rest-not-final-id.js b/test/language/expressions/class/dstr-private-meth-ary-ptrn-rest-not-final-id.js
index 9f3a3b4997..d11db9f598 100644
--- a/test/language/expressions/class/dstr-private-meth-ary-ptrn-rest-not-final-id.js
+++ b/test/language/expressions/class/dstr-private-meth-ary-ptrn-rest-not-final-id.js
@@ -66,7 +66,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-private-meth-ary-ptrn-rest-not-final-obj.js b/test/language/expressions/class/dstr-private-meth-ary-ptrn-rest-not-final-obj.js
index eb096ab959..2e32289231 100644
--- a/test/language/expressions/class/dstr-private-meth-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/expressions/class/dstr-private-meth-ary-ptrn-rest-not-final-obj.js
@@ -66,7 +66,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-private-meth-dflt-ary-ptrn-rest-init-ary.js b/test/language/expressions/class/dstr-private-meth-dflt-ary-ptrn-rest-init-ary.js
index fe865c65f4..4cbff9b24c 100644
--- a/test/language/expressions/class/dstr-private-meth-dflt-ary-ptrn-rest-init-ary.js
+++ b/test/language/expressions/class/dstr-private-meth-dflt-ary-ptrn-rest-init-ary.js
@@ -66,7 +66,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-private-meth-dflt-ary-ptrn-rest-init-id.js b/test/language/expressions/class/dstr-private-meth-dflt-ary-ptrn-rest-init-id.js
index f0af06063b..bc9f0e0a6d 100644
--- a/test/language/expressions/class/dstr-private-meth-dflt-ary-ptrn-rest-init-id.js
+++ b/test/language/expressions/class/dstr-private-meth-dflt-ary-ptrn-rest-init-id.js
@@ -66,7 +66,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-private-meth-dflt-ary-ptrn-rest-init-obj.js b/test/language/expressions/class/dstr-private-meth-dflt-ary-ptrn-rest-init-obj.js
index 1d368249f4..cc0a741ac3 100644
--- a/test/language/expressions/class/dstr-private-meth-dflt-ary-ptrn-rest-init-obj.js
+++ b/test/language/expressions/class/dstr-private-meth-dflt-ary-ptrn-rest-init-obj.js
@@ -66,7 +66,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-private-meth-dflt-ary-ptrn-rest-not-final-ary.js b/test/language/expressions/class/dstr-private-meth-dflt-ary-ptrn-rest-not-final-ary.js
index 7a4547acdf..e195f28026 100644
--- a/test/language/expressions/class/dstr-private-meth-dflt-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/expressions/class/dstr-private-meth-dflt-ary-ptrn-rest-not-final-ary.js
@@ -66,7 +66,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-private-meth-dflt-ary-ptrn-rest-not-final-id.js b/test/language/expressions/class/dstr-private-meth-dflt-ary-ptrn-rest-not-final-id.js
index b2f49dccd9..914726c88b 100644
--- a/test/language/expressions/class/dstr-private-meth-dflt-ary-ptrn-rest-not-final-id.js
+++ b/test/language/expressions/class/dstr-private-meth-dflt-ary-ptrn-rest-not-final-id.js
@@ -66,7 +66,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-private-meth-dflt-ary-ptrn-rest-not-final-obj.js b/test/language/expressions/class/dstr-private-meth-dflt-ary-ptrn-rest-not-final-obj.js
index 976a46f328..da74747bdf 100644
--- a/test/language/expressions/class/dstr-private-meth-dflt-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/expressions/class/dstr-private-meth-dflt-ary-ptrn-rest-not-final-obj.js
@@ -66,7 +66,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-private-meth-static-ary-ptrn-rest-init-ary.js b/test/language/expressions/class/dstr-private-meth-static-ary-ptrn-rest-init-ary.js
index ff1e9200a9..52b149957d 100644
--- a/test/language/expressions/class/dstr-private-meth-static-ary-ptrn-rest-init-ary.js
+++ b/test/language/expressions/class/dstr-private-meth-static-ary-ptrn-rest-init-ary.js
@@ -66,7 +66,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-private-meth-static-ary-ptrn-rest-init-id.js b/test/language/expressions/class/dstr-private-meth-static-ary-ptrn-rest-init-id.js
index 1dfafcd339..c39ecabbfd 100644
--- a/test/language/expressions/class/dstr-private-meth-static-ary-ptrn-rest-init-id.js
+++ b/test/language/expressions/class/dstr-private-meth-static-ary-ptrn-rest-init-id.js
@@ -66,7 +66,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-private-meth-static-ary-ptrn-rest-init-obj.js b/test/language/expressions/class/dstr-private-meth-static-ary-ptrn-rest-init-obj.js
index 6a2cf4a2fb..1121e0e559 100644
--- a/test/language/expressions/class/dstr-private-meth-static-ary-ptrn-rest-init-obj.js
+++ b/test/language/expressions/class/dstr-private-meth-static-ary-ptrn-rest-init-obj.js
@@ -66,7 +66,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-private-meth-static-ary-ptrn-rest-not-final-ary.js b/test/language/expressions/class/dstr-private-meth-static-ary-ptrn-rest-not-final-ary.js
index 673e27de1f..4c1a8ae178 100644
--- a/test/language/expressions/class/dstr-private-meth-static-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/expressions/class/dstr-private-meth-static-ary-ptrn-rest-not-final-ary.js
@@ -66,7 +66,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-private-meth-static-ary-ptrn-rest-not-final-id.js b/test/language/expressions/class/dstr-private-meth-static-ary-ptrn-rest-not-final-id.js
index cbd18a7c3a..199c06d404 100644
--- a/test/language/expressions/class/dstr-private-meth-static-ary-ptrn-rest-not-final-id.js
+++ b/test/language/expressions/class/dstr-private-meth-static-ary-ptrn-rest-not-final-id.js
@@ -66,7 +66,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-private-meth-static-ary-ptrn-rest-not-final-obj.js b/test/language/expressions/class/dstr-private-meth-static-ary-ptrn-rest-not-final-obj.js
index 8839ba9272..f34d4256f3 100644
--- a/test/language/expressions/class/dstr-private-meth-static-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/expressions/class/dstr-private-meth-static-ary-ptrn-rest-not-final-obj.js
@@ -66,7 +66,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-private-meth-static-dflt-ary-ptrn-rest-init-ary.js b/test/language/expressions/class/dstr-private-meth-static-dflt-ary-ptrn-rest-init-ary.js
index db276ea091..f2838c6285 100644
--- a/test/language/expressions/class/dstr-private-meth-static-dflt-ary-ptrn-rest-init-ary.js
+++ b/test/language/expressions/class/dstr-private-meth-static-dflt-ary-ptrn-rest-init-ary.js
@@ -66,7 +66,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-private-meth-static-dflt-ary-ptrn-rest-init-id.js b/test/language/expressions/class/dstr-private-meth-static-dflt-ary-ptrn-rest-init-id.js
index 6970e4b825..8bb7d40456 100644
--- a/test/language/expressions/class/dstr-private-meth-static-dflt-ary-ptrn-rest-init-id.js
+++ b/test/language/expressions/class/dstr-private-meth-static-dflt-ary-ptrn-rest-init-id.js
@@ -66,7 +66,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-private-meth-static-dflt-ary-ptrn-rest-init-obj.js b/test/language/expressions/class/dstr-private-meth-static-dflt-ary-ptrn-rest-init-obj.js
index 2edf8ca0ef..cfca7a4315 100644
--- a/test/language/expressions/class/dstr-private-meth-static-dflt-ary-ptrn-rest-init-obj.js
+++ b/test/language/expressions/class/dstr-private-meth-static-dflt-ary-ptrn-rest-init-obj.js
@@ -66,7 +66,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-private-meth-static-dflt-ary-ptrn-rest-not-final-ary.js b/test/language/expressions/class/dstr-private-meth-static-dflt-ary-ptrn-rest-not-final-ary.js
index 9b9d59912c..32d3141704 100644
--- a/test/language/expressions/class/dstr-private-meth-static-dflt-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/expressions/class/dstr-private-meth-static-dflt-ary-ptrn-rest-not-final-ary.js
@@ -66,7 +66,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-private-meth-static-dflt-ary-ptrn-rest-not-final-id.js b/test/language/expressions/class/dstr-private-meth-static-dflt-ary-ptrn-rest-not-final-id.js
index d711cc9afa..cc87fa4ceb 100644
--- a/test/language/expressions/class/dstr-private-meth-static-dflt-ary-ptrn-rest-not-final-id.js
+++ b/test/language/expressions/class/dstr-private-meth-static-dflt-ary-ptrn-rest-not-final-id.js
@@ -66,7 +66,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/dstr-private-meth-static-dflt-ary-ptrn-rest-not-final-obj.js b/test/language/expressions/class/dstr-private-meth-static-dflt-ary-ptrn-rest-not-final-obj.js
index 59803ed119..808bf41eed 100644
--- a/test/language/expressions/class/dstr-private-meth-static-dflt-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/expressions/class/dstr-private-meth-static-dflt-ary-ptrn-rest-not-final-obj.js
@@ -66,7 +66,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var C = class {
diff --git a/test/language/expressions/class/err-field-delete-covered-err-delete-call-expression-private-method-async-gen.js b/test/language/expressions/class/err-field-delete-covered-err-delete-call-expression-private-method-async-gen.js
index e0cd1449a3..70058d1d83 100644
--- a/test/language/expressions/class/err-field-delete-covered-err-delete-call-expression-private-method-async-gen.js
+++ b/test/language/expressions/class/err-field-delete-covered-err-delete-call-expression-private-method-async-gen.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-field-delete-covered-err-delete-call-expression-private-method-async.js b/test/language/expressions/class/err-field-delete-covered-err-delete-call-expression-private-method-async.js
index fe2c0144e7..e7dbae5438 100644
--- a/test/language/expressions/class/err-field-delete-covered-err-delete-call-expression-private-method-async.js
+++ b/test/language/expressions/class/err-field-delete-covered-err-delete-call-expression-private-method-async.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-field-delete-covered-err-delete-call-expression-private-method-gen.js b/test/language/expressions/class/err-field-delete-covered-err-delete-call-expression-private-method-gen.js
index 2c2bf14b1f..3deda5a95c 100644
--- a/test/language/expressions/class/err-field-delete-covered-err-delete-call-expression-private-method-gen.js
+++ b/test/language/expressions/class/err-field-delete-covered-err-delete-call-expression-private-method-gen.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-field-delete-covered-err-delete-call-expression-private-method.js b/test/language/expressions/class/err-field-delete-covered-err-delete-call-expression-private-method.js
index 81926aa80b..1ee032db1e 100644
--- a/test/language/expressions/class/err-field-delete-covered-err-delete-call-expression-private-method.js
+++ b/test/language/expressions/class/err-field-delete-covered-err-delete-call-expression-private-method.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-field-delete-covered-err-delete-call-expression-privatename.js b/test/language/expressions/class/err-field-delete-covered-err-delete-call-expression-privatename.js
index 3a6beeebcb..0fff6bc286 100644
--- a/test/language/expressions/class/err-field-delete-covered-err-delete-call-expression-privatename.js
+++ b/test/language/expressions/class/err-field-delete-covered-err-delete-call-expression-privatename.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-field-delete-covered-err-delete-member-expression-private-method-async-gen.js b/test/language/expressions/class/err-field-delete-covered-err-delete-member-expression-private-method-async-gen.js
index 1c4cbf5e96..c93bd3aa71 100644
--- a/test/language/expressions/class/err-field-delete-covered-err-delete-member-expression-private-method-async-gen.js
+++ b/test/language/expressions/class/err-field-delete-covered-err-delete-member-expression-private-method-async-gen.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-field-delete-covered-err-delete-member-expression-private-method-async.js b/test/language/expressions/class/err-field-delete-covered-err-delete-member-expression-private-method-async.js
index 96ecc7e0e8..24e446ad6e 100644
--- a/test/language/expressions/class/err-field-delete-covered-err-delete-member-expression-private-method-async.js
+++ b/test/language/expressions/class/err-field-delete-covered-err-delete-member-expression-private-method-async.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-field-delete-covered-err-delete-member-expression-private-method-gen.js b/test/language/expressions/class/err-field-delete-covered-err-delete-member-expression-private-method-gen.js
index 52482f8e48..e277d3d860 100644
--- a/test/language/expressions/class/err-field-delete-covered-err-delete-member-expression-private-method-gen.js
+++ b/test/language/expressions/class/err-field-delete-covered-err-delete-member-expression-private-method-gen.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-field-delete-covered-err-delete-member-expression-private-method.js b/test/language/expressions/class/err-field-delete-covered-err-delete-member-expression-private-method.js
index 7bfa1f7a14..0e27bae4f5 100644
--- a/test/language/expressions/class/err-field-delete-covered-err-delete-member-expression-private-method.js
+++ b/test/language/expressions/class/err-field-delete-covered-err-delete-member-expression-private-method.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-field-delete-covered-err-delete-member-expression-privatename.js b/test/language/expressions/class/err-field-delete-covered-err-delete-member-expression-privatename.js
index 35be85f9f4..8391f701cf 100644
--- a/test/language/expressions/class/err-field-delete-covered-err-delete-member-expression-privatename.js
+++ b/test/language/expressions/class/err-field-delete-covered-err-delete-member-expression-privatename.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-field-delete-err-delete-call-expression-private-method-async-gen.js b/test/language/expressions/class/err-field-delete-err-delete-call-expression-private-method-async-gen.js
index b967ea1a9f..85692e8a0a 100644
--- a/test/language/expressions/class/err-field-delete-err-delete-call-expression-private-method-async-gen.js
+++ b/test/language/expressions/class/err-field-delete-err-delete-call-expression-private-method-async-gen.js
@@ -23,7 +23,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-field-delete-err-delete-call-expression-private-method-async.js b/test/language/expressions/class/err-field-delete-err-delete-call-expression-private-method-async.js
index 0f2fb4f559..1b7e804bb0 100644
--- a/test/language/expressions/class/err-field-delete-err-delete-call-expression-private-method-async.js
+++ b/test/language/expressions/class/err-field-delete-err-delete-call-expression-private-method-async.js
@@ -23,7 +23,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-field-delete-err-delete-call-expression-private-method-gen.js b/test/language/expressions/class/err-field-delete-err-delete-call-expression-private-method-gen.js
index b45028a20a..07f30ea57c 100644
--- a/test/language/expressions/class/err-field-delete-err-delete-call-expression-private-method-gen.js
+++ b/test/language/expressions/class/err-field-delete-err-delete-call-expression-private-method-gen.js
@@ -23,7 +23,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-field-delete-err-delete-call-expression-private-method.js b/test/language/expressions/class/err-field-delete-err-delete-call-expression-private-method.js
index 0354a71faf..825f6b04f5 100644
--- a/test/language/expressions/class/err-field-delete-err-delete-call-expression-private-method.js
+++ b/test/language/expressions/class/err-field-delete-err-delete-call-expression-private-method.js
@@ -23,7 +23,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-field-delete-err-delete-call-expression-privatename.js b/test/language/expressions/class/err-field-delete-err-delete-call-expression-privatename.js
index b820cd3a75..a0a6dfb622 100644
--- a/test/language/expressions/class/err-field-delete-err-delete-call-expression-privatename.js
+++ b/test/language/expressions/class/err-field-delete-err-delete-call-expression-privatename.js
@@ -23,7 +23,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-field-delete-err-delete-member-expression-private-method-async-gen.js b/test/language/expressions/class/err-field-delete-err-delete-member-expression-private-method-async-gen.js
index 3483908500..4c97007df1 100644
--- a/test/language/expressions/class/err-field-delete-err-delete-member-expression-private-method-async-gen.js
+++ b/test/language/expressions/class/err-field-delete-err-delete-member-expression-private-method-async-gen.js
@@ -23,7 +23,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-field-delete-err-delete-member-expression-private-method-async.js b/test/language/expressions/class/err-field-delete-err-delete-member-expression-private-method-async.js
index 7457e1ec20..b9e67a8dd7 100644
--- a/test/language/expressions/class/err-field-delete-err-delete-member-expression-private-method-async.js
+++ b/test/language/expressions/class/err-field-delete-err-delete-member-expression-private-method-async.js
@@ -23,7 +23,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-field-delete-err-delete-member-expression-private-method-gen.js b/test/language/expressions/class/err-field-delete-err-delete-member-expression-private-method-gen.js
index 25da0aa632..a62f4a06b3 100644
--- a/test/language/expressions/class/err-field-delete-err-delete-member-expression-private-method-gen.js
+++ b/test/language/expressions/class/err-field-delete-err-delete-member-expression-private-method-gen.js
@@ -23,7 +23,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-field-delete-err-delete-member-expression-private-method.js b/test/language/expressions/class/err-field-delete-err-delete-member-expression-private-method.js
index 9b7522a093..bb91955455 100644
--- a/test/language/expressions/class/err-field-delete-err-delete-member-expression-private-method.js
+++ b/test/language/expressions/class/err-field-delete-err-delete-member-expression-private-method.js
@@ -23,7 +23,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-field-delete-err-delete-member-expression-privatename.js b/test/language/expressions/class/err-field-delete-err-delete-member-expression-privatename.js
index 7e0d67d406..5473212356 100644
--- a/test/language/expressions/class/err-field-delete-err-delete-member-expression-privatename.js
+++ b/test/language/expressions/class/err-field-delete-err-delete-member-expression-privatename.js
@@ -23,7 +23,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-field-delete-twice-covered-err-delete-call-expression-private-method-async-gen.js b/test/language/expressions/class/err-field-delete-twice-covered-err-delete-call-expression-private-method-async-gen.js
index 498d88ab98..20b8756ee8 100644
--- a/test/language/expressions/class/err-field-delete-twice-covered-err-delete-call-expression-private-method-async-gen.js
+++ b/test/language/expressions/class/err-field-delete-twice-covered-err-delete-call-expression-private-method-async-gen.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-field-delete-twice-covered-err-delete-call-expression-private-method-async.js b/test/language/expressions/class/err-field-delete-twice-covered-err-delete-call-expression-private-method-async.js
index dfa9029085..e997e4cec8 100644
--- a/test/language/expressions/class/err-field-delete-twice-covered-err-delete-call-expression-private-method-async.js
+++ b/test/language/expressions/class/err-field-delete-twice-covered-err-delete-call-expression-private-method-async.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-field-delete-twice-covered-err-delete-call-expression-private-method-gen.js b/test/language/expressions/class/err-field-delete-twice-covered-err-delete-call-expression-private-method-gen.js
index 31b0644207..6241ef1c8e 100644
--- a/test/language/expressions/class/err-field-delete-twice-covered-err-delete-call-expression-private-method-gen.js
+++ b/test/language/expressions/class/err-field-delete-twice-covered-err-delete-call-expression-private-method-gen.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-field-delete-twice-covered-err-delete-call-expression-private-method.js b/test/language/expressions/class/err-field-delete-twice-covered-err-delete-call-expression-private-method.js
index b51df544a2..55eaf4bc37 100644
--- a/test/language/expressions/class/err-field-delete-twice-covered-err-delete-call-expression-private-method.js
+++ b/test/language/expressions/class/err-field-delete-twice-covered-err-delete-call-expression-private-method.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-field-delete-twice-covered-err-delete-call-expression-privatename.js b/test/language/expressions/class/err-field-delete-twice-covered-err-delete-call-expression-privatename.js
index 428b6c3ec5..3966d93358 100644
--- a/test/language/expressions/class/err-field-delete-twice-covered-err-delete-call-expression-privatename.js
+++ b/test/language/expressions/class/err-field-delete-twice-covered-err-delete-call-expression-privatename.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-field-delete-twice-covered-err-delete-member-expression-private-method-async-gen.js b/test/language/expressions/class/err-field-delete-twice-covered-err-delete-member-expression-private-method-async-gen.js
index b27f8f40ba..cb775243aa 100644
--- a/test/language/expressions/class/err-field-delete-twice-covered-err-delete-member-expression-private-method-async-gen.js
+++ b/test/language/expressions/class/err-field-delete-twice-covered-err-delete-member-expression-private-method-async-gen.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-field-delete-twice-covered-err-delete-member-expression-private-method-async.js b/test/language/expressions/class/err-field-delete-twice-covered-err-delete-member-expression-private-method-async.js
index 50f049337a..fb9816405c 100644
--- a/test/language/expressions/class/err-field-delete-twice-covered-err-delete-member-expression-private-method-async.js
+++ b/test/language/expressions/class/err-field-delete-twice-covered-err-delete-member-expression-private-method-async.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-field-delete-twice-covered-err-delete-member-expression-private-method-gen.js b/test/language/expressions/class/err-field-delete-twice-covered-err-delete-member-expression-private-method-gen.js
index 693b77792c..1d0fe9e017 100644
--- a/test/language/expressions/class/err-field-delete-twice-covered-err-delete-member-expression-private-method-gen.js
+++ b/test/language/expressions/class/err-field-delete-twice-covered-err-delete-member-expression-private-method-gen.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-field-delete-twice-covered-err-delete-member-expression-private-method.js b/test/language/expressions/class/err-field-delete-twice-covered-err-delete-member-expression-private-method.js
index 42b33c457e..80408996e8 100644
--- a/test/language/expressions/class/err-field-delete-twice-covered-err-delete-member-expression-private-method.js
+++ b/test/language/expressions/class/err-field-delete-twice-covered-err-delete-member-expression-private-method.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-field-delete-twice-covered-err-delete-member-expression-privatename.js b/test/language/expressions/class/err-field-delete-twice-covered-err-delete-member-expression-privatename.js
index 1db6d3b16c..c642434f73 100644
--- a/test/language/expressions/class/err-field-delete-twice-covered-err-delete-member-expression-privatename.js
+++ b/test/language/expressions/class/err-field-delete-twice-covered-err-delete-member-expression-privatename.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-method-delete-covered-err-delete-call-expression-private-method-async-gen.js b/test/language/expressions/class/err-method-delete-covered-err-delete-call-expression-private-method-async-gen.js
index fe565e2a8f..bfeb41ff07 100644
--- a/test/language/expressions/class/err-method-delete-covered-err-delete-call-expression-private-method-async-gen.js
+++ b/test/language/expressions/class/err-method-delete-covered-err-delete-call-expression-private-method-async-gen.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-method-delete-covered-err-delete-call-expression-private-method-async.js b/test/language/expressions/class/err-method-delete-covered-err-delete-call-expression-private-method-async.js
index 859936f4c8..d0e1978cae 100644
--- a/test/language/expressions/class/err-method-delete-covered-err-delete-call-expression-private-method-async.js
+++ b/test/language/expressions/class/err-method-delete-covered-err-delete-call-expression-private-method-async.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-method-delete-covered-err-delete-call-expression-private-method-gen.js b/test/language/expressions/class/err-method-delete-covered-err-delete-call-expression-private-method-gen.js
index 0a614f5f54..a4a76a8c8a 100644
--- a/test/language/expressions/class/err-method-delete-covered-err-delete-call-expression-private-method-gen.js
+++ b/test/language/expressions/class/err-method-delete-covered-err-delete-call-expression-private-method-gen.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-method-delete-covered-err-delete-call-expression-private-method.js b/test/language/expressions/class/err-method-delete-covered-err-delete-call-expression-private-method.js
index 9d0a1d1ebe..5d0442d239 100644
--- a/test/language/expressions/class/err-method-delete-covered-err-delete-call-expression-private-method.js
+++ b/test/language/expressions/class/err-method-delete-covered-err-delete-call-expression-private-method.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-method-delete-covered-err-delete-call-expression-privatename.js b/test/language/expressions/class/err-method-delete-covered-err-delete-call-expression-privatename.js
index a3617ff2b1..baf0af9bc4 100644
--- a/test/language/expressions/class/err-method-delete-covered-err-delete-call-expression-privatename.js
+++ b/test/language/expressions/class/err-method-delete-covered-err-delete-call-expression-privatename.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-method-delete-covered-err-delete-member-expression-private-method-async-gen.js b/test/language/expressions/class/err-method-delete-covered-err-delete-member-expression-private-method-async-gen.js
index e4a942d60f..f8da44ebc3 100644
--- a/test/language/expressions/class/err-method-delete-covered-err-delete-member-expression-private-method-async-gen.js
+++ b/test/language/expressions/class/err-method-delete-covered-err-delete-member-expression-private-method-async-gen.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-method-delete-covered-err-delete-member-expression-private-method-async.js b/test/language/expressions/class/err-method-delete-covered-err-delete-member-expression-private-method-async.js
index 25b2565ac0..0502f1844d 100644
--- a/test/language/expressions/class/err-method-delete-covered-err-delete-member-expression-private-method-async.js
+++ b/test/language/expressions/class/err-method-delete-covered-err-delete-member-expression-private-method-async.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-method-delete-covered-err-delete-member-expression-private-method-gen.js b/test/language/expressions/class/err-method-delete-covered-err-delete-member-expression-private-method-gen.js
index 1bd77a6137..e30de639ed 100644
--- a/test/language/expressions/class/err-method-delete-covered-err-delete-member-expression-private-method-gen.js
+++ b/test/language/expressions/class/err-method-delete-covered-err-delete-member-expression-private-method-gen.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-method-delete-covered-err-delete-member-expression-private-method.js b/test/language/expressions/class/err-method-delete-covered-err-delete-member-expression-private-method.js
index 3cd2e4c6d1..cdf405c40e 100644
--- a/test/language/expressions/class/err-method-delete-covered-err-delete-member-expression-private-method.js
+++ b/test/language/expressions/class/err-method-delete-covered-err-delete-member-expression-private-method.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-method-delete-covered-err-delete-member-expression-privatename.js b/test/language/expressions/class/err-method-delete-covered-err-delete-member-expression-privatename.js
index b83515b19b..f156b04209 100644
--- a/test/language/expressions/class/err-method-delete-covered-err-delete-member-expression-privatename.js
+++ b/test/language/expressions/class/err-method-delete-covered-err-delete-member-expression-privatename.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-method-delete-err-delete-call-expression-private-method-async-gen.js b/test/language/expressions/class/err-method-delete-err-delete-call-expression-private-method-async-gen.js
index a78ddb0648..da1d334488 100644
--- a/test/language/expressions/class/err-method-delete-err-delete-call-expression-private-method-async-gen.js
+++ b/test/language/expressions/class/err-method-delete-err-delete-call-expression-private-method-async-gen.js
@@ -23,7 +23,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-method-delete-err-delete-call-expression-private-method-async.js b/test/language/expressions/class/err-method-delete-err-delete-call-expression-private-method-async.js
index f44d0c0dea..ccc301e8cb 100644
--- a/test/language/expressions/class/err-method-delete-err-delete-call-expression-private-method-async.js
+++ b/test/language/expressions/class/err-method-delete-err-delete-call-expression-private-method-async.js
@@ -23,7 +23,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-method-delete-err-delete-call-expression-private-method-gen.js b/test/language/expressions/class/err-method-delete-err-delete-call-expression-private-method-gen.js
index a9450d49d5..719b133283 100644
--- a/test/language/expressions/class/err-method-delete-err-delete-call-expression-private-method-gen.js
+++ b/test/language/expressions/class/err-method-delete-err-delete-call-expression-private-method-gen.js
@@ -23,7 +23,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-method-delete-err-delete-call-expression-private-method.js b/test/language/expressions/class/err-method-delete-err-delete-call-expression-private-method.js
index ff17918f57..506981f77f 100644
--- a/test/language/expressions/class/err-method-delete-err-delete-call-expression-private-method.js
+++ b/test/language/expressions/class/err-method-delete-err-delete-call-expression-private-method.js
@@ -23,7 +23,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-method-delete-err-delete-call-expression-privatename.js b/test/language/expressions/class/err-method-delete-err-delete-call-expression-privatename.js
index 4d6459aa04..7702a34d0e 100644
--- a/test/language/expressions/class/err-method-delete-err-delete-call-expression-privatename.js
+++ b/test/language/expressions/class/err-method-delete-err-delete-call-expression-privatename.js
@@ -23,7 +23,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-method-delete-err-delete-member-expression-private-method-async-gen.js b/test/language/expressions/class/err-method-delete-err-delete-member-expression-private-method-async-gen.js
index 5b100cee0e..2d74980145 100644
--- a/test/language/expressions/class/err-method-delete-err-delete-member-expression-private-method-async-gen.js
+++ b/test/language/expressions/class/err-method-delete-err-delete-member-expression-private-method-async-gen.js
@@ -23,7 +23,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-method-delete-err-delete-member-expression-private-method-async.js b/test/language/expressions/class/err-method-delete-err-delete-member-expression-private-method-async.js
index 5cab49c52e..8c8e58335b 100644
--- a/test/language/expressions/class/err-method-delete-err-delete-member-expression-private-method-async.js
+++ b/test/language/expressions/class/err-method-delete-err-delete-member-expression-private-method-async.js
@@ -23,7 +23,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-method-delete-err-delete-member-expression-private-method-gen.js b/test/language/expressions/class/err-method-delete-err-delete-member-expression-private-method-gen.js
index 350332223b..97711860bb 100644
--- a/test/language/expressions/class/err-method-delete-err-delete-member-expression-private-method-gen.js
+++ b/test/language/expressions/class/err-method-delete-err-delete-member-expression-private-method-gen.js
@@ -23,7 +23,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-method-delete-err-delete-member-expression-private-method.js b/test/language/expressions/class/err-method-delete-err-delete-member-expression-private-method.js
index f5fbdaa6be..04ed45b850 100644
--- a/test/language/expressions/class/err-method-delete-err-delete-member-expression-private-method.js
+++ b/test/language/expressions/class/err-method-delete-err-delete-member-expression-private-method.js
@@ -23,7 +23,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-method-delete-err-delete-member-expression-privatename.js b/test/language/expressions/class/err-method-delete-err-delete-member-expression-privatename.js
index b115b91add..026415d918 100644
--- a/test/language/expressions/class/err-method-delete-err-delete-member-expression-privatename.js
+++ b/test/language/expressions/class/err-method-delete-err-delete-member-expression-privatename.js
@@ -23,7 +23,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-method-delete-twice-covered-err-delete-call-expression-private-method-async-gen.js b/test/language/expressions/class/err-method-delete-twice-covered-err-delete-call-expression-private-method-async-gen.js
index 15ba93738b..b68666edc2 100644
--- a/test/language/expressions/class/err-method-delete-twice-covered-err-delete-call-expression-private-method-async-gen.js
+++ b/test/language/expressions/class/err-method-delete-twice-covered-err-delete-call-expression-private-method-async-gen.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-method-delete-twice-covered-err-delete-call-expression-private-method-async.js b/test/language/expressions/class/err-method-delete-twice-covered-err-delete-call-expression-private-method-async.js
index 5b9a044c9e..e17b6fe5f9 100644
--- a/test/language/expressions/class/err-method-delete-twice-covered-err-delete-call-expression-private-method-async.js
+++ b/test/language/expressions/class/err-method-delete-twice-covered-err-delete-call-expression-private-method-async.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-method-delete-twice-covered-err-delete-call-expression-private-method-gen.js b/test/language/expressions/class/err-method-delete-twice-covered-err-delete-call-expression-private-method-gen.js
index 753d3145e7..fd943dbe61 100644
--- a/test/language/expressions/class/err-method-delete-twice-covered-err-delete-call-expression-private-method-gen.js
+++ b/test/language/expressions/class/err-method-delete-twice-covered-err-delete-call-expression-private-method-gen.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-method-delete-twice-covered-err-delete-call-expression-private-method.js b/test/language/expressions/class/err-method-delete-twice-covered-err-delete-call-expression-private-method.js
index f51adde5f6..fe06d4c3af 100644
--- a/test/language/expressions/class/err-method-delete-twice-covered-err-delete-call-expression-private-method.js
+++ b/test/language/expressions/class/err-method-delete-twice-covered-err-delete-call-expression-private-method.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-method-delete-twice-covered-err-delete-call-expression-privatename.js b/test/language/expressions/class/err-method-delete-twice-covered-err-delete-call-expression-privatename.js
index d38b568071..782fc1eaae 100644
--- a/test/language/expressions/class/err-method-delete-twice-covered-err-delete-call-expression-privatename.js
+++ b/test/language/expressions/class/err-method-delete-twice-covered-err-delete-call-expression-privatename.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-method-delete-twice-covered-err-delete-member-expression-private-method-async-gen.js b/test/language/expressions/class/err-method-delete-twice-covered-err-delete-member-expression-private-method-async-gen.js
index 9ed9ddf0d5..18ef304dbe 100644
--- a/test/language/expressions/class/err-method-delete-twice-covered-err-delete-member-expression-private-method-async-gen.js
+++ b/test/language/expressions/class/err-method-delete-twice-covered-err-delete-member-expression-private-method-async-gen.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-method-delete-twice-covered-err-delete-member-expression-private-method-async.js b/test/language/expressions/class/err-method-delete-twice-covered-err-delete-member-expression-private-method-async.js
index bda94fa753..118e6a5bdd 100644
--- a/test/language/expressions/class/err-method-delete-twice-covered-err-delete-member-expression-private-method-async.js
+++ b/test/language/expressions/class/err-method-delete-twice-covered-err-delete-member-expression-private-method-async.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-method-delete-twice-covered-err-delete-member-expression-private-method-gen.js b/test/language/expressions/class/err-method-delete-twice-covered-err-delete-member-expression-private-method-gen.js
index d854d47538..14fdaab48c 100644
--- a/test/language/expressions/class/err-method-delete-twice-covered-err-delete-member-expression-private-method-gen.js
+++ b/test/language/expressions/class/err-method-delete-twice-covered-err-delete-member-expression-private-method-gen.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-method-delete-twice-covered-err-delete-member-expression-private-method.js b/test/language/expressions/class/err-method-delete-twice-covered-err-delete-member-expression-private-method.js
index 1b56bfdf55..b07e7bcb77 100644
--- a/test/language/expressions/class/err-method-delete-twice-covered-err-delete-member-expression-private-method.js
+++ b/test/language/expressions/class/err-method-delete-twice-covered-err-delete-member-expression-private-method.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/err-method-delete-twice-covered-err-delete-member-expression-privatename.js b/test/language/expressions/class/err-method-delete-twice-covered-err-delete-member-expression-privatename.js
index ba1409305b..4d5277fa75 100644
--- a/test/language/expressions/class/err-method-delete-twice-covered-err-delete-member-expression-privatename.js
+++ b/test/language/expressions/class/err-method-delete-twice-covered-err-delete-member-expression-privatename.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/fields-arrow-fnc-init-err-contains-arguments.js b/test/language/expressions/class/fields-arrow-fnc-init-err-contains-arguments.js
index 28b6b9a9b3..0ab9cd2bfd 100644
--- a/test/language/expressions/class/fields-arrow-fnc-init-err-contains-arguments.js
+++ b/test/language/expressions/class/fields-arrow-fnc-init-err-contains-arguments.js
@@ -27,7 +27,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   x = () => arguments;
diff --git a/test/language/expressions/class/fields-arrow-fnc-init-err-contains-super.js b/test/language/expressions/class/fields-arrow-fnc-init-err-contains-super.js
index bfa5879f74..81cb8705df 100644
--- a/test/language/expressions/class/fields-arrow-fnc-init-err-contains-super.js
+++ b/test/language/expressions/class/fields-arrow-fnc-init-err-contains-super.js
@@ -20,7 +20,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   x = () => super();
diff --git a/test/language/expressions/class/fields-asi-3.js b/test/language/expressions/class/fields-asi-3.js
index 252dc4d319..a44e3509bb 100644
--- a/test/language/expressions/class/fields-asi-3.js
+++ b/test/language/expressions/class/fields-asi-3.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   x = "string"
diff --git a/test/language/expressions/class/fields-asi-4.js b/test/language/expressions/class/fields-asi-4.js
index 5e108b5971..3d9b76dfb7 100644
--- a/test/language/expressions/class/fields-asi-4.js
+++ b/test/language/expressions/class/fields-asi-4.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   x = 42
diff --git a/test/language/expressions/class/fields-comp-name-init-err-contains-arguments.js b/test/language/expressions/class/fields-comp-name-init-err-contains-arguments.js
index a7a309e991..277948e58d 100644
--- a/test/language/expressions/class/fields-comp-name-init-err-contains-arguments.js
+++ b/test/language/expressions/class/fields-comp-name-init-err-contains-arguments.js
@@ -27,7 +27,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var x = "string";
 var C = class {
diff --git a/test/language/expressions/class/fields-comp-name-init-err-contains-super.js b/test/language/expressions/class/fields-comp-name-init-err-contains-super.js
index 32e9590d5b..b5305a8551 100644
--- a/test/language/expressions/class/fields-comp-name-init-err-contains-super.js
+++ b/test/language/expressions/class/fields-comp-name-init-err-contains-super.js
@@ -20,7 +20,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var x = "string";
 var C = class {
diff --git a/test/language/expressions/class/fields-duplicate-privatenames.js b/test/language/expressions/class/fields-duplicate-privatenames.js
index 91632eb23e..3e7b064941 100644
--- a/test/language/expressions/class/fields-duplicate-privatenames.js
+++ b/test/language/expressions/class/fields-duplicate-privatenames.js
@@ -16,7 +16,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/fields-equality-init-err-contains-arguments.js b/test/language/expressions/class/fields-equality-init-err-contains-arguments.js
index f1eb684c7e..ed444b17dd 100644
--- a/test/language/expressions/class/fields-equality-init-err-contains-arguments.js
+++ b/test/language/expressions/class/fields-equality-init-err-contains-arguments.js
@@ -27,7 +27,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   x = {} == arguments;
diff --git a/test/language/expressions/class/fields-equality-init-err-contains-super.js b/test/language/expressions/class/fields-equality-init-err-contains-super.js
index b3d12af0cc..661e1d70d5 100644
--- a/test/language/expressions/class/fields-equality-init-err-contains-super.js
+++ b/test/language/expressions/class/fields-equality-init-err-contains-super.js
@@ -20,7 +20,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   x = {} == super();
diff --git a/test/language/expressions/class/fields-literal-name-init-err-contains-arguments.js b/test/language/expressions/class/fields-literal-name-init-err-contains-arguments.js
index 4a6de7a5dd..584072dc09 100644
--- a/test/language/expressions/class/fields-literal-name-init-err-contains-arguments.js
+++ b/test/language/expressions/class/fields-literal-name-init-err-contains-arguments.js
@@ -27,7 +27,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   x = arguments;
diff --git a/test/language/expressions/class/fields-literal-name-init-err-contains-super.js b/test/language/expressions/class/fields-literal-name-init-err-contains-super.js
index 1375116e35..75c9744068 100644
--- a/test/language/expressions/class/fields-literal-name-init-err-contains-super.js
+++ b/test/language/expressions/class/fields-literal-name-init-err-contains-super.js
@@ -20,7 +20,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   x = super();
diff --git a/test/language/expressions/class/fields-literal-name-propname-constructor.js b/test/language/expressions/class/fields-literal-name-propname-constructor.js
index fc3b3545e1..5685c3eff4 100644
--- a/test/language/expressions/class/fields-literal-name-propname-constructor.js
+++ b/test/language/expressions/class/fields-literal-name-propname-constructor.js
@@ -22,7 +22,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   constructor;
diff --git a/test/language/expressions/class/fields-literal-name-static-propname-constructor.js b/test/language/expressions/class/fields-literal-name-static-propname-constructor.js
index fbfea2a7bd..40d489d12a 100644
--- a/test/language/expressions/class/fields-literal-name-static-propname-constructor.js
+++ b/test/language/expressions/class/fields-literal-name-static-propname-constructor.js
@@ -22,7 +22,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   static constructor;
diff --git a/test/language/expressions/class/fields-literal-name-static-propname-prototype.js b/test/language/expressions/class/fields-literal-name-static-propname-prototype.js
index 3599dd4450..15ee2d37d8 100644
--- a/test/language/expressions/class/fields-literal-name-static-propname-prototype.js
+++ b/test/language/expressions/class/fields-literal-name-static-propname-prototype.js
@@ -22,7 +22,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   static prototype;
diff --git a/test/language/expressions/class/fields-private-arrow-fnc-init-err-contains-arguments.js b/test/language/expressions/class/fields-private-arrow-fnc-init-err-contains-arguments.js
index 1ee0d5d404..997451ffec 100644
--- a/test/language/expressions/class/fields-private-arrow-fnc-init-err-contains-arguments.js
+++ b/test/language/expressions/class/fields-private-arrow-fnc-init-err-contains-arguments.js
@@ -27,7 +27,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x = () => arguments;
diff --git a/test/language/expressions/class/fields-private-arrow-fnc-init-err-contains-super.js b/test/language/expressions/class/fields-private-arrow-fnc-init-err-contains-super.js
index f3ad616b4f..56932c16b8 100644
--- a/test/language/expressions/class/fields-private-arrow-fnc-init-err-contains-super.js
+++ b/test/language/expressions/class/fields-private-arrow-fnc-init-err-contains-super.js
@@ -20,7 +20,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x = () => super();
diff --git a/test/language/expressions/class/fields-private-literal-name-init-err-contains-arguments.js b/test/language/expressions/class/fields-private-literal-name-init-err-contains-arguments.js
index b7b6dc89b8..da2ffb3a5a 100644
--- a/test/language/expressions/class/fields-private-literal-name-init-err-contains-arguments.js
+++ b/test/language/expressions/class/fields-private-literal-name-init-err-contains-arguments.js
@@ -27,7 +27,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x = arguments;
diff --git a/test/language/expressions/class/fields-private-literal-name-init-err-contains-super.js b/test/language/expressions/class/fields-private-literal-name-init-err-contains-super.js
index 81d27d27ce..e3d9440bf9 100644
--- a/test/language/expressions/class/fields-private-literal-name-init-err-contains-super.js
+++ b/test/language/expressions/class/fields-private-literal-name-init-err-contains-super.js
@@ -20,7 +20,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x = super();
diff --git a/test/language/expressions/class/fields-private-ternary-init-err-contains-arguments.js b/test/language/expressions/class/fields-private-ternary-init-err-contains-arguments.js
index 744e25795d..a8d32f0929 100644
--- a/test/language/expressions/class/fields-private-ternary-init-err-contains-arguments.js
+++ b/test/language/expressions/class/fields-private-ternary-init-err-contains-arguments.js
@@ -27,7 +27,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x = true ? {} : arguments;
diff --git a/test/language/expressions/class/fields-private-ternary-init-err-contains-super.js b/test/language/expressions/class/fields-private-ternary-init-err-contains-super.js
index be3d2e425c..e0c7840ccc 100644
--- a/test/language/expressions/class/fields-private-ternary-init-err-contains-super.js
+++ b/test/language/expressions/class/fields-private-ternary-init-err-contains-super.js
@@ -20,7 +20,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x = true ? {} : super();
diff --git a/test/language/expressions/class/fields-private-typeof-init-err-contains-arguments.js b/test/language/expressions/class/fields-private-typeof-init-err-contains-arguments.js
index 8d3c67e4b6..7a46cce9f9 100644
--- a/test/language/expressions/class/fields-private-typeof-init-err-contains-arguments.js
+++ b/test/language/expressions/class/fields-private-typeof-init-err-contains-arguments.js
@@ -27,7 +27,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x = typeof arguments;
diff --git a/test/language/expressions/class/fields-private-typeof-init-err-contains-super.js b/test/language/expressions/class/fields-private-typeof-init-err-contains-super.js
index fb2821e975..a206196306 100644
--- a/test/language/expressions/class/fields-private-typeof-init-err-contains-super.js
+++ b/test/language/expressions/class/fields-private-typeof-init-err-contains-super.js
@@ -20,7 +20,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x = typeof super();
diff --git a/test/language/expressions/class/fields-static-comp-name-init-err-contains-arguments.js b/test/language/expressions/class/fields-static-comp-name-init-err-contains-arguments.js
index 035e839b7d..9bbdacd4cf 100644
--- a/test/language/expressions/class/fields-static-comp-name-init-err-contains-arguments.js
+++ b/test/language/expressions/class/fields-static-comp-name-init-err-contains-arguments.js
@@ -27,7 +27,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var x = "string";
 var C = class {
diff --git a/test/language/expressions/class/fields-static-comp-name-init-err-contains-super.js b/test/language/expressions/class/fields-static-comp-name-init-err-contains-super.js
index c7820b17eb..3d1129ae75 100644
--- a/test/language/expressions/class/fields-static-comp-name-init-err-contains-super.js
+++ b/test/language/expressions/class/fields-static-comp-name-init-err-contains-super.js
@@ -20,7 +20,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var x = "string";
 var C = class {
diff --git a/test/language/expressions/class/fields-static-literal-init-err-contains-arguments.js b/test/language/expressions/class/fields-static-literal-init-err-contains-arguments.js
index c498b5c57e..0c642d7484 100644
--- a/test/language/expressions/class/fields-static-literal-init-err-contains-arguments.js
+++ b/test/language/expressions/class/fields-static-literal-init-err-contains-arguments.js
@@ -27,7 +27,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   static x = arguments;
diff --git a/test/language/expressions/class/fields-static-literal-init-err-contains-super.js b/test/language/expressions/class/fields-static-literal-init-err-contains-super.js
index 1e96afe42f..bf49a3ac33 100644
--- a/test/language/expressions/class/fields-static-literal-init-err-contains-super.js
+++ b/test/language/expressions/class/fields-static-literal-init-err-contains-super.js
@@ -20,7 +20,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   static x = super();
diff --git a/test/language/expressions/class/fields-static-private-init-err-contains-arguments.js b/test/language/expressions/class/fields-static-private-init-err-contains-arguments.js
index f1946419b0..ae66323058 100644
--- a/test/language/expressions/class/fields-static-private-init-err-contains-arguments.js
+++ b/test/language/expressions/class/fields-static-private-init-err-contains-arguments.js
@@ -27,7 +27,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   static #x = arguments;
diff --git a/test/language/expressions/class/fields-static-private-init-err-contains-super.js b/test/language/expressions/class/fields-static-private-init-err-contains-super.js
index f9578546ce..6c8d5c0ca2 100644
--- a/test/language/expressions/class/fields-static-private-init-err-contains-super.js
+++ b/test/language/expressions/class/fields-static-private-init-err-contains-super.js
@@ -20,7 +20,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   static #x = super();
diff --git a/test/language/expressions/class/fields-static-string-literal-name-init-err-contains-arguments.js b/test/language/expressions/class/fields-static-string-literal-name-init-err-contains-arguments.js
index 91ce493fd5..464a6c290d 100644
--- a/test/language/expressions/class/fields-static-string-literal-name-init-err-contains-arguments.js
+++ b/test/language/expressions/class/fields-static-string-literal-name-init-err-contains-arguments.js
@@ -27,7 +27,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   static 'x' = arguments;
diff --git a/test/language/expressions/class/fields-static-string-literal-name-init-err-contains-super.js b/test/language/expressions/class/fields-static-string-literal-name-init-err-contains-super.js
index 285115dab0..085e4de128 100644
--- a/test/language/expressions/class/fields-static-string-literal-name-init-err-contains-super.js
+++ b/test/language/expressions/class/fields-static-string-literal-name-init-err-contains-super.js
@@ -20,7 +20,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   static 'x' = super();
diff --git a/test/language/expressions/class/fields-string-literal-name-init-err-contains-arguments.js b/test/language/expressions/class/fields-string-literal-name-init-err-contains-arguments.js
index 69672b1bf6..e19d61a6ed 100644
--- a/test/language/expressions/class/fields-string-literal-name-init-err-contains-arguments.js
+++ b/test/language/expressions/class/fields-string-literal-name-init-err-contains-arguments.js
@@ -27,7 +27,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   'x' = arguments;
diff --git a/test/language/expressions/class/fields-string-literal-name-init-err-contains-super.js b/test/language/expressions/class/fields-string-literal-name-init-err-contains-super.js
index 35752c5a48..fbddb44146 100644
--- a/test/language/expressions/class/fields-string-literal-name-init-err-contains-super.js
+++ b/test/language/expressions/class/fields-string-literal-name-init-err-contains-super.js
@@ -20,7 +20,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   'x' = super();
diff --git a/test/language/expressions/class/fields-string-name-propname-constructor.js b/test/language/expressions/class/fields-string-name-propname-constructor.js
index d88b246392..3bf6f60abf 100644
--- a/test/language/expressions/class/fields-string-name-propname-constructor.js
+++ b/test/language/expressions/class/fields-string-name-propname-constructor.js
@@ -23,7 +23,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   'constructor';
diff --git a/test/language/expressions/class/fields-string-name-static-propname-constructor.js b/test/language/expressions/class/fields-string-name-static-propname-constructor.js
index 08a0f7b890..b8916bd91c 100644
--- a/test/language/expressions/class/fields-string-name-static-propname-constructor.js
+++ b/test/language/expressions/class/fields-string-name-static-propname-constructor.js
@@ -23,7 +23,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   static 'constructor';
diff --git a/test/language/expressions/class/fields-string-name-static-propname-prototype.js b/test/language/expressions/class/fields-string-name-static-propname-prototype.js
index 43078702ca..032f20f003 100644
--- a/test/language/expressions/class/fields-string-name-static-propname-prototype.js
+++ b/test/language/expressions/class/fields-string-name-static-propname-prototype.js
@@ -23,7 +23,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   static 'prototype';
diff --git a/test/language/expressions/class/fields-ternary-init-err-contains-arguments.js b/test/language/expressions/class/fields-ternary-init-err-contains-arguments.js
index 50137c5153..8a216795c8 100644
--- a/test/language/expressions/class/fields-ternary-init-err-contains-arguments.js
+++ b/test/language/expressions/class/fields-ternary-init-err-contains-arguments.js
@@ -27,7 +27,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   x = true ? {} : arguments;
diff --git a/test/language/expressions/class/fields-ternary-init-err-contains-super.js b/test/language/expressions/class/fields-ternary-init-err-contains-super.js
index ea38f4810f..b1b8fe3e44 100644
--- a/test/language/expressions/class/fields-ternary-init-err-contains-super.js
+++ b/test/language/expressions/class/fields-ternary-init-err-contains-super.js
@@ -20,7 +20,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   x = true ? {} : super();
diff --git a/test/language/expressions/class/fields-typeof-init-err-contains-arguments.js b/test/language/expressions/class/fields-typeof-init-err-contains-arguments.js
index 7aa00e1f8b..b25b534ffc 100644
--- a/test/language/expressions/class/fields-typeof-init-err-contains-arguments.js
+++ b/test/language/expressions/class/fields-typeof-init-err-contains-arguments.js
@@ -27,7 +27,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   x = typeof arguments;
diff --git a/test/language/expressions/class/fields-typeof-init-err-contains-super.js b/test/language/expressions/class/fields-typeof-init-err-contains-super.js
index 9fbc49ea9b..cf450665a2 100644
--- a/test/language/expressions/class/fields-typeof-init-err-contains-super.js
+++ b/test/language/expressions/class/fields-typeof-init-err-contains-super.js
@@ -20,7 +20,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   x = typeof super();
diff --git a/test/language/expressions/class/gen-meth-dflt-params-duplicates.js b/test/language/expressions/class/gen-meth-dflt-params-duplicates.js
index c28357938b..42b1c37ea3 100644
--- a/test/language/expressions/class/gen-meth-dflt-params-duplicates.js
+++ b/test/language/expressions/class/gen-meth-dflt-params-duplicates.js
@@ -78,7 +78,7 @@ info: |
       elements.
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, class {
   *method(x = 0, x) {
diff --git a/test/language/expressions/class/gen-meth-dflt-params-rest.js b/test/language/expressions/class/gen-meth-dflt-params-rest.js
index c2fc67d7d9..64d2219449 100644
--- a/test/language/expressions/class/gen-meth-dflt-params-rest.js
+++ b/test/language/expressions/class/gen-meth-dflt-params-rest.js
@@ -82,7 +82,7 @@ info: |
       ...BindingPattern[?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, class {
   *method(...x = []) {
diff --git a/test/language/expressions/class/gen-meth-rest-params-trailing-comma-early-error.js b/test/language/expressions/class/gen-meth-rest-params-trailing-comma-early-error.js
index 9cc78d864a..700a428fd1 100644
--- a/test/language/expressions/class/gen-meth-rest-params-trailing-comma-early-error.js
+++ b/test/language/expressions/class/gen-meth-rest-params-trailing-comma-early-error.js
@@ -75,7 +75,7 @@ info: |
         FormalParameterList[?Yield, ?Await] ,
         FormalParameterList[?Yield, ?Await] , FunctionRestParameter[?Yield, ?Await]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, class {
   *method(...a,) {
diff --git a/test/language/expressions/class/gen-meth-static-dflt-params-duplicates.js b/test/language/expressions/class/gen-meth-static-dflt-params-duplicates.js
index 6c6d2715fd..d3ab2d7e83 100644
--- a/test/language/expressions/class/gen-meth-static-dflt-params-duplicates.js
+++ b/test/language/expressions/class/gen-meth-static-dflt-params-duplicates.js
@@ -78,7 +78,7 @@ info: |
       elements.
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, class {
   static *method(x = 0, x) {
diff --git a/test/language/expressions/class/gen-meth-static-dflt-params-rest.js b/test/language/expressions/class/gen-meth-static-dflt-params-rest.js
index 5f27900a0c..150582e2ab 100644
--- a/test/language/expressions/class/gen-meth-static-dflt-params-rest.js
+++ b/test/language/expressions/class/gen-meth-static-dflt-params-rest.js
@@ -82,7 +82,7 @@ info: |
       ...BindingPattern[?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, class {
   static *method(...x = []) {
diff --git a/test/language/expressions/class/gen-meth-static-rest-params-trailing-comma-early-error.js b/test/language/expressions/class/gen-meth-static-rest-params-trailing-comma-early-error.js
index e52019d0dd..9e7c4c5044 100644
--- a/test/language/expressions/class/gen-meth-static-rest-params-trailing-comma-early-error.js
+++ b/test/language/expressions/class/gen-meth-static-rest-params-trailing-comma-early-error.js
@@ -75,7 +75,7 @@ info: |
         FormalParameterList[?Yield, ?Await] ,
         FormalParameterList[?Yield, ?Await] , FunctionRestParameter[?Yield, ?Await]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, class {
   static *method(...a,) {
diff --git a/test/language/expressions/class/gen-method-param-dflt-yield.js b/test/language/expressions/class/gen-method-param-dflt-yield.js
index 7a8b5c5ead..fb8a3ae9b0 100644
--- a/test/language/expressions/class/gen-method-param-dflt-yield.js
+++ b/test/language/expressions/class/gen-method-param-dflt-yield.js
@@ -20,7 +20,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, class {
   *g(x = yield) {}
diff --git a/test/language/expressions/class/gen-method-static-yield-as-binding-identifier-escaped.js b/test/language/expressions/class/gen-method-static-yield-as-binding-identifier-escaped.js
index 7a3efc555d..80e474062d 100644
--- a/test/language/expressions/class/gen-method-static-yield-as-binding-identifier-escaped.js
+++ b/test/language/expressions/class/gen-method-static-yield-as-binding-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class { static *gen() {
     var yi\u0065ld;
diff --git a/test/language/expressions/class/gen-method-static-yield-as-binding-identifier.js b/test/language/expressions/class/gen-method-static-yield-as-binding-identifier.js
index 3ba19ed553..1b8d2e3654 100644
--- a/test/language/expressions/class/gen-method-static-yield-as-binding-identifier.js
+++ b/test/language/expressions/class/gen-method-static-yield-as-binding-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class { static *gen() {
     var yield;
diff --git a/test/language/expressions/class/gen-method-static-yield-as-identifier-reference-escaped.js b/test/language/expressions/class/gen-method-static-yield-as-identifier-reference-escaped.js
index a566ff9c9c..f64f9eac56 100644
--- a/test/language/expressions/class/gen-method-static-yield-as-identifier-reference-escaped.js
+++ b/test/language/expressions/class/gen-method-static-yield-as-identifier-reference-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class { static *gen() {
     void yi\u0065ld;
diff --git a/test/language/expressions/class/gen-method-static-yield-as-identifier-reference.js b/test/language/expressions/class/gen-method-static-yield-as-identifier-reference.js
index 9a24684845..068979cb89 100644
--- a/test/language/expressions/class/gen-method-static-yield-as-identifier-reference.js
+++ b/test/language/expressions/class/gen-method-static-yield-as-identifier-reference.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class { static *gen() {
     void yield;
diff --git a/test/language/expressions/class/gen-method-static-yield-as-label-identifier-escaped.js b/test/language/expressions/class/gen-method-static-yield-as-label-identifier-escaped.js
index cf7a4fcce0..ec3eb09c1c 100644
--- a/test/language/expressions/class/gen-method-static-yield-as-label-identifier-escaped.js
+++ b/test/language/expressions/class/gen-method-static-yield-as-label-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class { static *gen() {
     yi\u0065ld: ;
diff --git a/test/language/expressions/class/gen-method-static-yield-as-label-identifier.js b/test/language/expressions/class/gen-method-static-yield-as-label-identifier.js
index efaed810b9..6fb8339e1e 100644
--- a/test/language/expressions/class/gen-method-static-yield-as-label-identifier.js
+++ b/test/language/expressions/class/gen-method-static-yield-as-label-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class { static *gen() {
     yield: ;
diff --git a/test/language/expressions/class/gen-method-static-yield-identifier-spread-strict.js b/test/language/expressions/class/gen-method-static-yield-identifier-spread-strict.js
index 92d1c275f6..cd99572be7 100644
--- a/test/language/expressions/class/gen-method-static-yield-identifier-spread-strict.js
+++ b/test/language/expressions/class/gen-method-static-yield-identifier-spread-strict.js
@@ -29,7 +29,7 @@ info: |
       ...AssignmentExpression[In, ?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 
diff --git a/test/language/expressions/class/gen-method-static-yield-identifier-strict.js b/test/language/expressions/class/gen-method-static-yield-identifier-strict.js
index 8a0bb6cc5b..eb4b478a65 100644
--- a/test/language/expressions/class/gen-method-static-yield-identifier-strict.js
+++ b/test/language/expressions/class/gen-method-static-yield-identifier-strict.js
@@ -22,7 +22,7 @@ info: |
       * PropertyName ( UniqueFormalParameters ) { GeneratorBody }
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 
diff --git a/test/language/expressions/class/gen-method-yield-as-binding-identifier-escaped.js b/test/language/expressions/class/gen-method-yield-as-binding-identifier-escaped.js
index 5473543fc4..063984db8f 100644
--- a/test/language/expressions/class/gen-method-yield-as-binding-identifier-escaped.js
+++ b/test/language/expressions/class/gen-method-yield-as-binding-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {*gen() {
     var yi\u0065ld;
diff --git a/test/language/expressions/class/gen-method-yield-as-binding-identifier.js b/test/language/expressions/class/gen-method-yield-as-binding-identifier.js
index eb1528ec0a..93f02d2876 100644
--- a/test/language/expressions/class/gen-method-yield-as-binding-identifier.js
+++ b/test/language/expressions/class/gen-method-yield-as-binding-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {*gen() {
     var yield;
diff --git a/test/language/expressions/class/gen-method-yield-as-identifier-reference-escaped.js b/test/language/expressions/class/gen-method-yield-as-identifier-reference-escaped.js
index 343d9f814b..e923d3c93a 100644
--- a/test/language/expressions/class/gen-method-yield-as-identifier-reference-escaped.js
+++ b/test/language/expressions/class/gen-method-yield-as-identifier-reference-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {*gen() {
     void yi\u0065ld;
diff --git a/test/language/expressions/class/gen-method-yield-as-identifier-reference.js b/test/language/expressions/class/gen-method-yield-as-identifier-reference.js
index c9e96c461b..53d3147bbd 100644
--- a/test/language/expressions/class/gen-method-yield-as-identifier-reference.js
+++ b/test/language/expressions/class/gen-method-yield-as-identifier-reference.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {*gen() {
     void yield;
diff --git a/test/language/expressions/class/gen-method-yield-as-label-identifier-escaped.js b/test/language/expressions/class/gen-method-yield-as-label-identifier-escaped.js
index b173483be3..5338421754 100644
--- a/test/language/expressions/class/gen-method-yield-as-label-identifier-escaped.js
+++ b/test/language/expressions/class/gen-method-yield-as-label-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {*gen() {
     yi\u0065ld: ;
diff --git a/test/language/expressions/class/gen-method-yield-as-label-identifier.js b/test/language/expressions/class/gen-method-yield-as-label-identifier.js
index f43107cd8d..5fb430b525 100644
--- a/test/language/expressions/class/gen-method-yield-as-label-identifier.js
+++ b/test/language/expressions/class/gen-method-yield-as-label-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {*gen() {
     yield: ;
diff --git a/test/language/expressions/class/gen-method-yield-identifier-spread-strict.js b/test/language/expressions/class/gen-method-yield-identifier-spread-strict.js
index cbbb4c4b2d..9c6b01319c 100644
--- a/test/language/expressions/class/gen-method-yield-identifier-spread-strict.js
+++ b/test/language/expressions/class/gen-method-yield-identifier-spread-strict.js
@@ -29,7 +29,7 @@ info: |
       ...AssignmentExpression[In, ?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 
diff --git a/test/language/expressions/class/gen-method-yield-identifier-strict.js b/test/language/expressions/class/gen-method-yield-identifier-strict.js
index a11565801f..217d8542ab 100644
--- a/test/language/expressions/class/gen-method-yield-identifier-strict.js
+++ b/test/language/expressions/class/gen-method-yield-identifier-strict.js
@@ -22,7 +22,7 @@ info: |
       * PropertyName ( UniqueFormalParameters ) { GeneratorBody }
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 
diff --git a/test/language/expressions/class/gen-private-method-static-yield-as-binding-identifier-escaped.js b/test/language/expressions/class/gen-private-method-static-yield-as-binding-identifier-escaped.js
index ee7d55fae4..53428a582f 100644
--- a/test/language/expressions/class/gen-private-method-static-yield-as-binding-identifier-escaped.js
+++ b/test/language/expressions/class/gen-private-method-static-yield-as-binding-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class { static *#gen() {
     var yi\u0065ld;
diff --git a/test/language/expressions/class/gen-private-method-static-yield-as-binding-identifier.js b/test/language/expressions/class/gen-private-method-static-yield-as-binding-identifier.js
index 0c8c6ba0e4..a099b98c8a 100644
--- a/test/language/expressions/class/gen-private-method-static-yield-as-binding-identifier.js
+++ b/test/language/expressions/class/gen-private-method-static-yield-as-binding-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class { static *#gen() {
     var yield;
diff --git a/test/language/expressions/class/gen-private-method-static-yield-as-identifier-reference-escaped.js b/test/language/expressions/class/gen-private-method-static-yield-as-identifier-reference-escaped.js
index 4c3a128f44..8316a60480 100644
--- a/test/language/expressions/class/gen-private-method-static-yield-as-identifier-reference-escaped.js
+++ b/test/language/expressions/class/gen-private-method-static-yield-as-identifier-reference-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class { static *#gen() {
     void yi\u0065ld;
diff --git a/test/language/expressions/class/gen-private-method-static-yield-as-identifier-reference.js b/test/language/expressions/class/gen-private-method-static-yield-as-identifier-reference.js
index 661c0b9d38..8cfd05743c 100644
--- a/test/language/expressions/class/gen-private-method-static-yield-as-identifier-reference.js
+++ b/test/language/expressions/class/gen-private-method-static-yield-as-identifier-reference.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class { static *#gen() {
     void yield;
diff --git a/test/language/expressions/class/gen-private-method-static-yield-as-label-identifier-escaped.js b/test/language/expressions/class/gen-private-method-static-yield-as-label-identifier-escaped.js
index 7af70b2288..d83017b824 100644
--- a/test/language/expressions/class/gen-private-method-static-yield-as-label-identifier-escaped.js
+++ b/test/language/expressions/class/gen-private-method-static-yield-as-label-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class { static *#gen() {
     yi\u0065ld: ;
diff --git a/test/language/expressions/class/gen-private-method-static-yield-as-label-identifier.js b/test/language/expressions/class/gen-private-method-static-yield-as-label-identifier.js
index 589d1fba5b..19a9c94901 100644
--- a/test/language/expressions/class/gen-private-method-static-yield-as-label-identifier.js
+++ b/test/language/expressions/class/gen-private-method-static-yield-as-label-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class { static *#gen() {
     yield: ;
diff --git a/test/language/expressions/class/gen-private-method-static-yield-identifier-spread-strict.js b/test/language/expressions/class/gen-private-method-static-yield-identifier-spread-strict.js
index e7071edc10..f3d5a4fa9d 100644
--- a/test/language/expressions/class/gen-private-method-static-yield-identifier-spread-strict.js
+++ b/test/language/expressions/class/gen-private-method-static-yield-identifier-spread-strict.js
@@ -29,7 +29,7 @@ info: |
       ...AssignmentExpression[In, ?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 
diff --git a/test/language/expressions/class/gen-private-method-static-yield-identifier-strict.js b/test/language/expressions/class/gen-private-method-static-yield-identifier-strict.js
index 125d37ad3b..95aefe1eef 100644
--- a/test/language/expressions/class/gen-private-method-static-yield-identifier-strict.js
+++ b/test/language/expressions/class/gen-private-method-static-yield-identifier-strict.js
@@ -22,7 +22,7 @@ info: |
       * PropertyName ( UniqueFormalParameters ) { GeneratorBody }
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 
diff --git a/test/language/expressions/class/gen-private-method-yield-as-binding-identifier-escaped.js b/test/language/expressions/class/gen-private-method-yield-as-binding-identifier-escaped.js
index e08ff26c06..073ff9fa76 100644
--- a/test/language/expressions/class/gen-private-method-yield-as-binding-identifier-escaped.js
+++ b/test/language/expressions/class/gen-private-method-yield-as-binding-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {*#gen() {
     var yi\u0065ld;
diff --git a/test/language/expressions/class/gen-private-method-yield-as-binding-identifier.js b/test/language/expressions/class/gen-private-method-yield-as-binding-identifier.js
index 6c805cd458..f67eafbe70 100644
--- a/test/language/expressions/class/gen-private-method-yield-as-binding-identifier.js
+++ b/test/language/expressions/class/gen-private-method-yield-as-binding-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {*#gen() {
     var yield;
diff --git a/test/language/expressions/class/gen-private-method-yield-as-identifier-reference-escaped.js b/test/language/expressions/class/gen-private-method-yield-as-identifier-reference-escaped.js
index 6ea9bbe26b..09acee9ca1 100644
--- a/test/language/expressions/class/gen-private-method-yield-as-identifier-reference-escaped.js
+++ b/test/language/expressions/class/gen-private-method-yield-as-identifier-reference-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {*#gen() {
     void yi\u0065ld;
diff --git a/test/language/expressions/class/gen-private-method-yield-as-identifier-reference.js b/test/language/expressions/class/gen-private-method-yield-as-identifier-reference.js
index 6011e52649..b8ae3f659f 100644
--- a/test/language/expressions/class/gen-private-method-yield-as-identifier-reference.js
+++ b/test/language/expressions/class/gen-private-method-yield-as-identifier-reference.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {*#gen() {
     void yield;
diff --git a/test/language/expressions/class/gen-private-method-yield-as-label-identifier-escaped.js b/test/language/expressions/class/gen-private-method-yield-as-label-identifier-escaped.js
index 9df4259202..94a924b18f 100644
--- a/test/language/expressions/class/gen-private-method-yield-as-label-identifier-escaped.js
+++ b/test/language/expressions/class/gen-private-method-yield-as-label-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {*#gen() {
     yi\u0065ld: ;
diff --git a/test/language/expressions/class/gen-private-method-yield-as-label-identifier.js b/test/language/expressions/class/gen-private-method-yield-as-label-identifier.js
index a1b47ef2f7..6e79b23f9a 100644
--- a/test/language/expressions/class/gen-private-method-yield-as-label-identifier.js
+++ b/test/language/expressions/class/gen-private-method-yield-as-label-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {*#gen() {
     yield: ;
diff --git a/test/language/expressions/class/gen-private-method-yield-identifier-spread-strict.js b/test/language/expressions/class/gen-private-method-yield-identifier-spread-strict.js
index 4c758b7483..aab3d3c044 100644
--- a/test/language/expressions/class/gen-private-method-yield-identifier-spread-strict.js
+++ b/test/language/expressions/class/gen-private-method-yield-identifier-spread-strict.js
@@ -29,7 +29,7 @@ info: |
       ...AssignmentExpression[In, ?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 
diff --git a/test/language/expressions/class/gen-private-method-yield-identifier-strict.js b/test/language/expressions/class/gen-private-method-yield-identifier-strict.js
index d06c0d9670..8d386b0060 100644
--- a/test/language/expressions/class/gen-private-method-yield-identifier-strict.js
+++ b/test/language/expressions/class/gen-private-method-yield-identifier-strict.js
@@ -22,7 +22,7 @@ info: |
       * PropertyName ( UniqueFormalParameters ) { GeneratorBody }
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 
diff --git a/test/language/expressions/class/getter-param-dflt.js b/test/language/expressions/class/getter-param-dflt.js
index 70ab227908..6fb21498e1 100644
--- a/test/language/expressions/class/getter-param-dflt.js
+++ b/test/language/expressions/class/getter-param-dflt.js
@@ -18,6 +18,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, class { get a(param = null) {} };
diff --git a/test/language/expressions/class/meth-dflt-params-duplicates.js b/test/language/expressions/class/meth-dflt-params-duplicates.js
index eaa031e9f2..ceb4b84032 100644
--- a/test/language/expressions/class/meth-dflt-params-duplicates.js
+++ b/test/language/expressions/class/meth-dflt-params-duplicates.js
@@ -74,7 +74,7 @@ info: |
       elements.
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, class {
   method(x = 0, x) {
diff --git a/test/language/expressions/class/meth-dflt-params-rest.js b/test/language/expressions/class/meth-dflt-params-rest.js
index b9f3fc25f3..6e7698a18a 100644
--- a/test/language/expressions/class/meth-dflt-params-rest.js
+++ b/test/language/expressions/class/meth-dflt-params-rest.js
@@ -78,7 +78,7 @@ info: |
       ...BindingPattern[?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, class {
   method(...x = []) {
diff --git a/test/language/expressions/class/meth-rest-params-trailing-comma-early-error.js b/test/language/expressions/class/meth-rest-params-trailing-comma-early-error.js
index 7df8cafc35..e14dbc8f9d 100644
--- a/test/language/expressions/class/meth-rest-params-trailing-comma-early-error.js
+++ b/test/language/expressions/class/meth-rest-params-trailing-comma-early-error.js
@@ -70,7 +70,7 @@ info: |
         FormalParameterList[?Yield, ?Await] ,
         FormalParameterList[?Yield, ?Await] , FunctionRestParameter[?Yield, ?Await]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, class {
   method(...a,) {
diff --git a/test/language/expressions/class/meth-static-dflt-params-duplicates.js b/test/language/expressions/class/meth-static-dflt-params-duplicates.js
index 94c1a556fd..2dea44b130 100644
--- a/test/language/expressions/class/meth-static-dflt-params-duplicates.js
+++ b/test/language/expressions/class/meth-static-dflt-params-duplicates.js
@@ -74,7 +74,7 @@ info: |
       elements.
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, class {
   static method(x = 0, x) {
diff --git a/test/language/expressions/class/meth-static-dflt-params-rest.js b/test/language/expressions/class/meth-static-dflt-params-rest.js
index cdc82b7ba3..94ddbda662 100644
--- a/test/language/expressions/class/meth-static-dflt-params-rest.js
+++ b/test/language/expressions/class/meth-static-dflt-params-rest.js
@@ -78,7 +78,7 @@ info: |
       ...BindingPattern[?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, class {
   static method(...x = []) {
diff --git a/test/language/expressions/class/meth-static-rest-params-trailing-comma-early-error.js b/test/language/expressions/class/meth-static-rest-params-trailing-comma-early-error.js
index a6d5505957..e88aa6e282 100644
--- a/test/language/expressions/class/meth-static-rest-params-trailing-comma-early-error.js
+++ b/test/language/expressions/class/meth-static-rest-params-trailing-comma-early-error.js
@@ -70,7 +70,7 @@ info: |
         FormalParameterList[?Yield, ?Await] ,
         FormalParameterList[?Yield, ?Await] , FunctionRestParameter[?Yield, ?Await]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, class {
   static method(...a,) {
diff --git a/test/language/expressions/class/method-param-dflt-yield.js b/test/language/expressions/class/method-param-dflt-yield.js
index 069c7f5f78..2944a5c269 100644
--- a/test/language/expressions/class/method-param-dflt-yield.js
+++ b/test/language/expressions/class/method-param-dflt-yield.js
@@ -15,7 +15,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, class {
   m(x = yield) {}
diff --git a/test/language/expressions/class/static-gen-method-param-dflt-yield.js b/test/language/expressions/class/static-gen-method-param-dflt-yield.js
index ecc68a000d..25f5698bd0 100644
--- a/test/language/expressions/class/static-gen-method-param-dflt-yield.js
+++ b/test/language/expressions/class/static-gen-method-param-dflt-yield.js
@@ -20,7 +20,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, class {
   static *g(x = yield) {}
diff --git a/test/language/expressions/class/static-method-param-dflt-yield.js b/test/language/expressions/class/static-method-param-dflt-yield.js
index 5e3f3bfbd5..0553560ef4 100644
--- a/test/language/expressions/class/static-method-param-dflt-yield.js
+++ b/test/language/expressions/class/static-method-param-dflt-yield.js
@@ -15,7 +15,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, class {
   static m(x = yield) {}
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-class-body-ctor-duplicate.js b/test/language/expressions/class/syntax/early-errors/grammar-class-body-ctor-duplicate.js
index 43078fc942..2e1c3e6d3b 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-class-body-ctor-duplicate.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-class-body-ctor-duplicate.js
@@ -17,7 +17,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   constructor() {}
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-ctor-super-no-heritage.js b/test/language/expressions/class/syntax/early-errors/grammar-ctor-super-no-heritage.js
index 7face8374c..7c5a501247 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-ctor-super-no-heritage.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-ctor-super-no-heritage.js
@@ -20,7 +20,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   constructor() {
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-field-identifier-invalid-ues-error.js b/test/language/expressions/class/syntax/early-errors/grammar-field-identifier-invalid-ues-error.js
index f3a9124c56..13db6d5170 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-field-identifier-invalid-ues-error.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-field-identifier-invalid-ues-error.js
@@ -64,7 +64,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   \u0000;
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-field-identifier-invalid-zwj-error.js b/test/language/expressions/class/syntax/early-errors/grammar-field-identifier-invalid-zwj-error.js
index 123dd89903..fe03b4c0c2 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-field-identifier-invalid-zwj-error.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-field-identifier-invalid-zwj-error.js
@@ -64,7 +64,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   \u200D_ZWJ;
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-field-identifier-invalid-zwnj-error.js b/test/language/expressions/class/syntax/early-errors/grammar-field-identifier-invalid-zwnj-error.js
index 384db454dc..6ce524f8ed 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-field-identifier-invalid-zwnj-error.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-field-identifier-invalid-zwnj-error.js
@@ -64,7 +64,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   \u200C_ZWNJ;
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-fields-same-line-error.js b/test/language/expressions/class/syntax/early-errors/grammar-fields-same-line-error.js
index bb1aaf651c..239e20cb3e 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-fields-same-line-error.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-fields-same-line-error.js
@@ -27,7 +27,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   x y
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-privatemeth-duplicate-get-field.js b/test/language/expressions/class/syntax/early-errors/grammar-privatemeth-duplicate-get-field.js
index 708a25a7c4..49b7e04edc 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-privatemeth-duplicate-get-field.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-privatemeth-duplicate-get-field.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #m;
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-privatemeth-duplicate-get-get.js b/test/language/expressions/class/syntax/early-errors/grammar-privatemeth-duplicate-get-get.js
index ce0f9cc45a..1415bfedb4 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-privatemeth-duplicate-get-get.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-privatemeth-duplicate-get-get.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   get #m() {}
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-privatemeth-duplicate-meth-field.js b/test/language/expressions/class/syntax/early-errors/grammar-privatemeth-duplicate-meth-field.js
index b8b0d8c319..bd566d1bb7 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-privatemeth-duplicate-meth-field.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-privatemeth-duplicate-meth-field.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #m;
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-privatemeth-duplicate-meth-get.js b/test/language/expressions/class/syntax/early-errors/grammar-privatemeth-duplicate-meth-get.js
index f527330108..1a30b9ebe8 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-privatemeth-duplicate-meth-get.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-privatemeth-duplicate-meth-get.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   get #m() {}
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-privatemeth-duplicate-meth-meth.js b/test/language/expressions/class/syntax/early-errors/grammar-privatemeth-duplicate-meth-meth.js
index 1b2f8d7694..234e6e93b5 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-privatemeth-duplicate-meth-meth.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-privatemeth-duplicate-meth-meth.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #m() {}
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-privatemeth-duplicate-meth-set.js b/test/language/expressions/class/syntax/early-errors/grammar-privatemeth-duplicate-meth-set.js
index 1751efda7f..761584c521 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-privatemeth-duplicate-meth-set.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-privatemeth-duplicate-meth-set.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   set #m(_) {}
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-privatemeth-duplicate-meth-staticfield.js b/test/language/expressions/class/syntax/early-errors/grammar-privatemeth-duplicate-meth-staticfield.js
index fd94250749..bf12f436c9 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-privatemeth-duplicate-meth-staticfield.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-privatemeth-duplicate-meth-staticfield.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   static #m;
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-privatemeth-duplicate-meth-staticmeth.js b/test/language/expressions/class/syntax/early-errors/grammar-privatemeth-duplicate-meth-staticmeth.js
index db805907e4..b294e24faf 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-privatemeth-duplicate-meth-staticmeth.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-privatemeth-duplicate-meth-staticmeth.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   static #m() {}
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-privatemeth-duplicate-set-field.js b/test/language/expressions/class/syntax/early-errors/grammar-privatemeth-duplicate-set-field.js
index 2773678aa5..b28dcc3ce7 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-privatemeth-duplicate-set-field.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-privatemeth-duplicate-set-field.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #m;
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-privatemeth-duplicate-set-set.js b/test/language/expressions/class/syntax/early-errors/grammar-privatemeth-duplicate-set-set.js
index d5d8b2c571..d5aea487d5 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-privatemeth-duplicate-set-set.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-privatemeth-duplicate-set-set.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   set #m(_) {}
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-privatename-constructor.js b/test/language/expressions/class/syntax/early-errors/grammar-privatename-constructor.js
index 04ded854a2..43928fd29f 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-privatename-constructor.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-privatename-constructor.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #constructor
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-privatename-error.js b/test/language/expressions/class/syntax/early-errors/grammar-privatename-error.js
index fd5cb98742..066e68d66d 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-privatename-error.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-privatename-error.js
@@ -30,7 +30,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   # x
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-privatename-identifier-invalid-ues.js b/test/language/expressions/class/syntax/early-errors/grammar-privatename-identifier-invalid-ues.js
index 9920690e84..d45144df3c 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-privatename-identifier-invalid-ues.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-privatename-identifier-invalid-ues.js
@@ -58,7 +58,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #\u0000;
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-privatename-identifier-invalid-zwj-error.js b/test/language/expressions/class/syntax/early-errors/grammar-privatename-identifier-invalid-zwj-error.js
index ed8870fcb6..25f2a767a3 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-privatename-identifier-invalid-zwj-error.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-privatename-identifier-invalid-zwj-error.js
@@ -58,7 +58,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #\u200D_ZWJ;
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-privatename-identifier-invalid-zwnj-error.js b/test/language/expressions/class/syntax/early-errors/grammar-privatename-identifier-invalid-zwnj-error.js
index 214d65e29d..991681d9d8 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-privatename-identifier-invalid-zwnj-error.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-privatename-identifier-invalid-zwnj-error.js
@@ -58,7 +58,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #\u200C_ZWNJ;
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-accessor-get-meth.js b/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-accessor-get-meth.js
index 210e9273b7..779e39edf1 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-accessor-get-meth.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-accessor-get-meth.js
@@ -22,7 +22,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   get # m() {}
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-accessor-set-meth.js b/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-accessor-set-meth.js
index 7009f14b32..c06e96de88 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-accessor-set-meth.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-accessor-set-meth.js
@@ -22,7 +22,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   set # m(_) {}
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-async-gen-meth.js b/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-async-gen-meth.js
index 4f4c4299bc..5113b34e5c 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-async-gen-meth.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-async-gen-meth.js
@@ -22,7 +22,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   async * # m() {}
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-async-meth.js b/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-async-meth.js
index abb36632e6..cda5f9dc04 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-async-meth.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-async-meth.js
@@ -22,7 +22,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   async # m() {}
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-call-expr.js b/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-call-expr.js
index c55c228e68..f05ee84029 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-call-expr.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-call-expr.js
@@ -24,7 +24,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-field-init.js b/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-field-init.js
index 9b4cfac85b..5e2cfa4240 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-field-init.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-field-init.js
@@ -22,7 +22,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   # x = 1;
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-field.js b/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-field.js
index 9b8fdc559d..8614e91759 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-field.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-field.js
@@ -22,7 +22,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   # x;
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-gen-meth.js b/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-gen-meth.js
index 5c439fa733..03b6ebfe05 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-gen-meth.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-gen-meth.js
@@ -22,7 +22,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   * # m() {}
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-member-expr.js b/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-member-expr.js
index 0f8aed61d7..57fc7d91c1 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-member-expr.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-member-expr.js
@@ -24,7 +24,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x;
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-meth.case.js b/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-meth.case.js
index 21aaa39e93..4c3346a415 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-meth.case.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-meth.case.js
@@ -22,7 +22,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   # m() {}
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-static-accessor-get-meth.js b/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-static-accessor-get-meth.js
index e084c26643..825b0538d7 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-static-accessor-get-meth.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-static-accessor-get-meth.js
@@ -22,7 +22,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   static get # m() {}
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-static-accessor-set-meth.js b/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-static-accessor-set-meth.js
index 9f395efa7b..28192ebb19 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-static-accessor-set-meth.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-static-accessor-set-meth.js
@@ -22,7 +22,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   static set # m(_) {}
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-static-async-gen-meth.js b/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-static-async-gen-meth.js
index df4ffee9dc..06300e58f0 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-static-async-gen-meth.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-static-async-gen-meth.js
@@ -22,7 +22,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   static async * # m() {}
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-static-async-meth.js b/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-static-async-meth.js
index 496b2b367f..5da1364f0c 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-static-async-meth.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-static-async-meth.js
@@ -22,7 +22,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   static async # m() {}
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-static-field-init.js b/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-static-field-init.js
index 485953fbc1..da5dd79250 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-static-field-init.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-static-field-init.js
@@ -22,7 +22,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   static # x = 1;
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-static-field.js b/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-static-field.js
index 7ff5cc5b8f..8567a6c2da 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-static-field.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-static-field.js
@@ -22,7 +22,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   static # x;
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-static-gen-meth.js b/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-static-gen-meth.js
index e04f055e8c..5c0171704c 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-static-gen-meth.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-static-gen-meth.js
@@ -22,7 +22,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   static * # m() {}
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-static-meth.js b/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-static-meth.js
index acdb9c4987..8de5e26133 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-static-meth.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-privatename-whitespace-error-static-meth.js
@@ -22,7 +22,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   static # m() {}
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-privatenames-same-line-error.js b/test/language/expressions/class/syntax/early-errors/grammar-privatenames-same-line-error.js
index 09d2d6c2d7..5e7e653591 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-privatenames-same-line-error.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-privatenames-same-line-error.js
@@ -30,7 +30,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   #x #y
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-special-meth-contains-super-async-gen.js b/test/language/expressions/class/syntax/early-errors/grammar-special-meth-contains-super-async-gen.js
index 65dbdc7b30..7858a85568 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-special-meth-contains-super-async-gen.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-special-meth-contains-super-async-gen.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class extends Function{
   async * method() {
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-special-meth-contains-super-async.js b/test/language/expressions/class/syntax/early-errors/grammar-special-meth-contains-super-async.js
index ee360c89b8..8ab77a1380 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-special-meth-contains-super-async.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-special-meth-contains-super-async.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class extends Function{
   async method() {
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-special-meth-contains-super-gen.js b/test/language/expressions/class/syntax/early-errors/grammar-special-meth-contains-super-gen.js
index ef08be4288..bd6df7559f 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-special-meth-contains-super-gen.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-special-meth-contains-super-gen.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class extends Function{
   * method() {
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-special-meth-contains-super-get.js b/test/language/expressions/class/syntax/early-errors/grammar-special-meth-contains-super-get.js
index 18d921247a..026f2f3ace 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-special-meth-contains-super-get.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-special-meth-contains-super-get.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class extends Function{
   get method() {
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-special-meth-contains-super-method.js b/test/language/expressions/class/syntax/early-errors/grammar-special-meth-contains-super-method.js
index 8fd80d4ccd..9487b3ac3f 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-special-meth-contains-super-method.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-special-meth-contains-super-method.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class extends Function{
   method() {
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-special-meth-contains-super-private-async-gen.js b/test/language/expressions/class/syntax/early-errors/grammar-special-meth-contains-super-private-async-gen.js
index e911f5465a..3a0a9b330c 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-special-meth-contains-super-private-async-gen.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-special-meth-contains-super-private-async-gen.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class extends Function{
   async * #method() {
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-special-meth-contains-super-private-async.js b/test/language/expressions/class/syntax/early-errors/grammar-special-meth-contains-super-private-async.js
index a16b85b435..f2ff44fe2c 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-special-meth-contains-super-private-async.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-special-meth-contains-super-private-async.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class extends Function{
   async #method() {
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-special-meth-contains-super-private-gen.js b/test/language/expressions/class/syntax/early-errors/grammar-special-meth-contains-super-private-gen.js
index d4a6087e83..70175e4eea 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-special-meth-contains-super-private-gen.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-special-meth-contains-super-private-gen.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class extends Function{
   * #method() {
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-special-meth-contains-super-private-method.js b/test/language/expressions/class/syntax/early-errors/grammar-special-meth-contains-super-private-method.js
index fee2170e0c..5309d04104 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-special-meth-contains-super-private-method.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-special-meth-contains-super-private-method.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class extends Function{
   #method() {
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-special-meth-contains-super-set.js b/test/language/expressions/class/syntax/early-errors/grammar-special-meth-contains-super-set.js
index 97ced2aea7..582e71e0c3 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-special-meth-contains-super-set.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-special-meth-contains-super-set.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class extends Function{
   set method(_) {
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-special-meth-ctor-async-gen.js b/test/language/expressions/class/syntax/early-errors/grammar-special-meth-ctor-async-gen.js
index 40c2c4ea14..7e7019c820 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-special-meth-ctor-async-gen.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-special-meth-ctor-async-gen.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   async * constructor() {}
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-special-meth-ctor-async-meth.js b/test/language/expressions/class/syntax/early-errors/grammar-special-meth-ctor-async-meth.js
index 6b4d8f8b25..1c7a857479 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-special-meth-ctor-async-meth.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-special-meth-ctor-async-meth.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   async constructor() {}
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-special-meth-ctor-gen.js b/test/language/expressions/class/syntax/early-errors/grammar-special-meth-ctor-gen.js
index 2f4d92dca4..a4d81f066a 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-special-meth-ctor-gen.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-special-meth-ctor-gen.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   * constructor() {}
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-special-meth-ctor-get.js b/test/language/expressions/class/syntax/early-errors/grammar-special-meth-ctor-get.js
index ae9a92d966..5fea0260cd 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-special-meth-ctor-get.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-special-meth-ctor-get.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   get constructor() {}
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-special-meth-ctor-set.js b/test/language/expressions/class/syntax/early-errors/grammar-special-meth-ctor-set.js
index c00b6ebee7..0933acd98a 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-special-meth-ctor-set.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-special-meth-ctor-set.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   set constructor(_) {}
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-static-async-gen-meth-prototype.js b/test/language/expressions/class/syntax/early-errors/grammar-static-async-gen-meth-prototype.js
index 18991777c1..68a5d6c57c 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-static-async-gen-meth-prototype.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-static-async-gen-meth-prototype.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   static async * prototype() {}
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-static-async-gen-meth-super.js b/test/language/expressions/class/syntax/early-errors/grammar-static-async-gen-meth-super.js
index 36cae48422..b128fd0135 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-static-async-gen-meth-super.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-static-async-gen-meth-super.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class extends Function{
   static async * method() {
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-static-async-meth-prototype.js b/test/language/expressions/class/syntax/early-errors/grammar-static-async-meth-prototype.js
index f0882842a1..8484c68e3a 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-static-async-meth-prototype.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-static-async-meth-prototype.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   static async prototype() {}
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-static-async-meth-super.js b/test/language/expressions/class/syntax/early-errors/grammar-static-async-meth-super.js
index b0b385f5fd..9fd928a728 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-static-async-meth-super.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-static-async-meth-super.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class extends Function{
   static async method() {
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-static-gen-meth-prototype.js b/test/language/expressions/class/syntax/early-errors/grammar-static-gen-meth-prototype.js
index f4b4e6e779..2d7907276d 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-static-gen-meth-prototype.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-static-gen-meth-prototype.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   static * prototype() {}
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-static-gen-meth-super.js b/test/language/expressions/class/syntax/early-errors/grammar-static-gen-meth-super.js
index 0df0ce1a80..a34115794f 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-static-gen-meth-super.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-static-gen-meth-super.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class extends Function{
   static * method() {
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-static-get-meth-prototype.js b/test/language/expressions/class/syntax/early-errors/grammar-static-get-meth-prototype.js
index 0c060817b1..d153c636d9 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-static-get-meth-prototype.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-static-get-meth-prototype.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   static get prototype() {}
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-static-get-meth-super.js b/test/language/expressions/class/syntax/early-errors/grammar-static-get-meth-super.js
index 924ed46e85..31a2601ada 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-static-get-meth-super.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-static-get-meth-super.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class extends Function{
   static get method() {
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-static-meth-prototype.js b/test/language/expressions/class/syntax/early-errors/grammar-static-meth-prototype.js
index 40263c6799..ccb0a46edb 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-static-meth-prototype.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-static-meth-prototype.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   static prototype() {}
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-static-meth-super.js b/test/language/expressions/class/syntax/early-errors/grammar-static-meth-super.js
index 9900a1b31e..eea7dfa015 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-static-meth-super.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-static-meth-super.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class extends Function{
   static method() {
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-static-private-async-gen-meth-constructor.js b/test/language/expressions/class/syntax/early-errors/grammar-static-private-async-gen-meth-constructor.js
index 901b5650ad..e95ee892ca 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-static-private-async-gen-meth-constructor.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-static-private-async-gen-meth-constructor.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   static async * #constructor() {}
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-static-private-async-gen-meth-super.js b/test/language/expressions/class/syntax/early-errors/grammar-static-private-async-gen-meth-super.js
index 925cbc4352..f820bf89e3 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-static-private-async-gen-meth-super.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-static-private-async-gen-meth-super.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class extends Function{
   static async * #method() {
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-static-private-async-meth-constructor.js b/test/language/expressions/class/syntax/early-errors/grammar-static-private-async-meth-constructor.js
index 677b75b412..548852bf4e 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-static-private-async-meth-constructor.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-static-private-async-meth-constructor.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   static async #constructor() {}
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-static-private-async-meth-super.js b/test/language/expressions/class/syntax/early-errors/grammar-static-private-async-meth-super.js
index 3634bfd31d..264979fe98 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-static-private-async-meth-super.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-static-private-async-meth-super.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class extends Function{
   static async #method() {
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-static-private-gen-meth-constructor.js b/test/language/expressions/class/syntax/early-errors/grammar-static-private-gen-meth-constructor.js
index beeacf5f66..c0c86d9077 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-static-private-gen-meth-constructor.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-static-private-gen-meth-constructor.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   static * #constructor() {}
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-static-private-gen-meth-super.js b/test/language/expressions/class/syntax/early-errors/grammar-static-private-gen-meth-super.js
index 826a872197..0d5529aa37 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-static-private-gen-meth-super.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-static-private-gen-meth-super.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class extends Function{
   static * #method() {
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-static-private-meth-constructor.js b/test/language/expressions/class/syntax/early-errors/grammar-static-private-meth-constructor.js
index e370d90606..724c267fa8 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-static-private-meth-constructor.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-static-private-meth-constructor.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   static #constructor() {}
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-static-private-meth-super.js b/test/language/expressions/class/syntax/early-errors/grammar-static-private-meth-super.js
index 9661d19ee5..12a9db93ec 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-static-private-meth-super.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-static-private-meth-super.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class extends Function{
   static #method() {
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-static-privatename-constructor.js b/test/language/expressions/class/syntax/early-errors/grammar-static-privatename-constructor.js
index 13bc08835f..f5df647504 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-static-privatename-constructor.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-static-privatename-constructor.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   static #constructor
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-static-set-meth-prototype.js b/test/language/expressions/class/syntax/early-errors/grammar-static-set-meth-prototype.js
index a49baf5f2c..80f9280944 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-static-set-meth-prototype.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-static-set-meth-prototype.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class {
   static set prototype(_) {}
diff --git a/test/language/expressions/class/syntax/early-errors/grammar-static-set-meth-super.js b/test/language/expressions/class/syntax/early-errors/grammar-static-set-meth-super.js
index a151323fb6..0b80546ed4 100644
--- a/test/language/expressions/class/syntax/early-errors/grammar-static-set-meth-super.js
+++ b/test/language/expressions/class/syntax/early-errors/grammar-static-set-meth-super.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var C = class extends Function{
   static set method(_) {
diff --git a/test/language/expressions/compound-assignment/11.13.2-6-1gs.js b/test/language/expressions/compound-assignment/11.13.2-6-1gs.js
index 3fa55a4608..07510aa7f7 100644
--- a/test/language/expressions/compound-assignment/11.13.2-6-1gs.js
+++ b/test/language/expressions/compound-assignment/11.13.2-6-1gs.js
@@ -12,6 +12,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 eval *= 20;
diff --git a/test/language/expressions/compound-assignment/add-non-simple.js b/test/language/expressions/compound-assignment/add-non-simple.js
index 1f3b3ccfa9..5f290e0c9e 100644
--- a/test/language/expressions/compound-assignment/add-non-simple.js
+++ b/test/language/expressions/compound-assignment/add-non-simple.js
@@ -12,6 +12,6 @@ negative:
   type: ReferenceError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 1 += 1;
diff --git a/test/language/expressions/compound-assignment/btws-and-non-simple.js b/test/language/expressions/compound-assignment/btws-and-non-simple.js
index 8df77e5249..9e87ecbedc 100644
--- a/test/language/expressions/compound-assignment/btws-and-non-simple.js
+++ b/test/language/expressions/compound-assignment/btws-and-non-simple.js
@@ -12,6 +12,6 @@ negative:
   type: ReferenceError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 1 &= 1;
diff --git a/test/language/expressions/compound-assignment/btws-or-non-simple.js b/test/language/expressions/compound-assignment/btws-or-non-simple.js
index 8bf0aa9e5d..4e834de795 100644
--- a/test/language/expressions/compound-assignment/btws-or-non-simple.js
+++ b/test/language/expressions/compound-assignment/btws-or-non-simple.js
@@ -12,6 +12,6 @@ negative:
   type: ReferenceError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 1 |= 1;
diff --git a/test/language/expressions/compound-assignment/btws-xor-non-simple.js b/test/language/expressions/compound-assignment/btws-xor-non-simple.js
index 89ad6fe853..5914394c57 100644
--- a/test/language/expressions/compound-assignment/btws-xor-non-simple.js
+++ b/test/language/expressions/compound-assignment/btws-xor-non-simple.js
@@ -12,6 +12,6 @@ negative:
   type: ReferenceError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 1 ^= 1;
diff --git a/test/language/expressions/compound-assignment/div-non-simple.js b/test/language/expressions/compound-assignment/div-non-simple.js
index 36ab97c727..cffdd7b767 100644
--- a/test/language/expressions/compound-assignment/div-non-simple.js
+++ b/test/language/expressions/compound-assignment/div-non-simple.js
@@ -12,6 +12,6 @@ negative:
   type: ReferenceError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 1 /= 1;
diff --git a/test/language/expressions/compound-assignment/left-shift-non-simple.js b/test/language/expressions/compound-assignment/left-shift-non-simple.js
index 7a99d51611..6b57d132dc 100644
--- a/test/language/expressions/compound-assignment/left-shift-non-simple.js
+++ b/test/language/expressions/compound-assignment/left-shift-non-simple.js
@@ -12,6 +12,6 @@ negative:
   type: ReferenceError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 1 <<= 1;
diff --git a/test/language/expressions/compound-assignment/mod-div-non-simple.js b/test/language/expressions/compound-assignment/mod-div-non-simple.js
index 8f8e8c0e2f..dea70a1155 100644
--- a/test/language/expressions/compound-assignment/mod-div-non-simple.js
+++ b/test/language/expressions/compound-assignment/mod-div-non-simple.js
@@ -12,6 +12,6 @@ negative:
   type: ReferenceError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 1 %= 1;
diff --git a/test/language/expressions/compound-assignment/mult-non-simple.js b/test/language/expressions/compound-assignment/mult-non-simple.js
index 45ed929126..a0bd0d679c 100644
--- a/test/language/expressions/compound-assignment/mult-non-simple.js
+++ b/test/language/expressions/compound-assignment/mult-non-simple.js
@@ -12,6 +12,6 @@ negative:
   type: ReferenceError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 1 *= 1;
diff --git a/test/language/expressions/compound-assignment/right-shift-non-simple.js b/test/language/expressions/compound-assignment/right-shift-non-simple.js
index c2e05f26a1..22c9826951 100644
--- a/test/language/expressions/compound-assignment/right-shift-non-simple.js
+++ b/test/language/expressions/compound-assignment/right-shift-non-simple.js
@@ -12,6 +12,6 @@ negative:
   type: ReferenceError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 1 >>= 1;
diff --git a/test/language/expressions/compound-assignment/subtract-non-simple.js b/test/language/expressions/compound-assignment/subtract-non-simple.js
index a167517d64..a2570fd669 100644
--- a/test/language/expressions/compound-assignment/subtract-non-simple.js
+++ b/test/language/expressions/compound-assignment/subtract-non-simple.js
@@ -12,6 +12,6 @@ negative:
   type: ReferenceError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 1 -= 1;
diff --git a/test/language/expressions/compound-assignment/u-right-shift-non-simple.js b/test/language/expressions/compound-assignment/u-right-shift-non-simple.js
index 6ecc895d7a..80f3325261 100644
--- a/test/language/expressions/compound-assignment/u-right-shift-non-simple.js
+++ b/test/language/expressions/compound-assignment/u-right-shift-non-simple.js
@@ -12,6 +12,6 @@ negative:
   type: ReferenceError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 1 >>>= 1;
diff --git a/test/language/expressions/conditional/in-branch-2.js b/test/language/expressions/conditional/in-branch-2.js
index ad29ab7ca4..128f3931bb 100644
--- a/test/language/expressions/conditional/in-branch-2.js
+++ b/test/language/expressions/conditional/in-branch-2.js
@@ -17,6 +17,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (true ? 0 : 0 in {}; false; ) ;
diff --git a/test/language/expressions/conditional/in-condition.js b/test/language/expressions/conditional/in-condition.js
index 5e93060471..2990f297d8 100644
--- a/test/language/expressions/conditional/in-condition.js
+++ b/test/language/expressions/conditional/in-condition.js
@@ -17,6 +17,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ('' in {} ? 0 : 0; false; ) ;
diff --git a/test/language/expressions/delete/11.4.1-5-a-5gs.js b/test/language/expressions/delete/11.4.1-5-a-5gs.js
index 0edccb30a0..0b7ef9936c 100644
--- a/test/language/expressions/delete/11.4.1-5-a-5gs.js
+++ b/test/language/expressions/delete/11.4.1-5-a-5gs.js
@@ -12,7 +12,7 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var _11_4_1_5 = 7;
 delete _11_4_1_5;
diff --git a/test/language/expressions/delete/identifier-strict.js b/test/language/expressions/delete/identifier-strict.js
index ec1033b2db..3838eb2b55 100644
--- a/test/language/expressions/delete/identifier-strict.js
+++ b/test/language/expressions/delete/identifier-strict.js
@@ -12,6 +12,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 delete test262identifier;
diff --git a/test/language/expressions/exponentiation/exp-operator-syntax-error-bitnot-unary-expression-base.js b/test/language/expressions/exponentiation/exp-operator-syntax-error-bitnot-unary-expression-base.js
index a8c13b3592..0d48b694c9 100644
--- a/test/language/expressions/exponentiation/exp-operator-syntax-error-bitnot-unary-expression-base.js
+++ b/test/language/expressions/exponentiation/exp-operator-syntax-error-bitnot-unary-expression-base.js
@@ -20,5 +20,5 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 ~3 ** 2;
diff --git a/test/language/expressions/exponentiation/exp-operator-syntax-error-delete-unary-expression-base.js b/test/language/expressions/exponentiation/exp-operator-syntax-error-delete-unary-expression-base.js
index 0273775e6a..7fcc88e3bb 100644
--- a/test/language/expressions/exponentiation/exp-operator-syntax-error-delete-unary-expression-base.js
+++ b/test/language/expressions/exponentiation/exp-operator-syntax-error-delete-unary-expression-base.js
@@ -20,5 +20,5 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 delete o.p ** 2;
diff --git a/test/language/expressions/exponentiation/exp-operator-syntax-error-logical-not-unary-expression-base.js b/test/language/expressions/exponentiation/exp-operator-syntax-error-logical-not-unary-expression-base.js
index 44b683fdde..88ca18cbc3 100644
--- a/test/language/expressions/exponentiation/exp-operator-syntax-error-logical-not-unary-expression-base.js
+++ b/test/language/expressions/exponentiation/exp-operator-syntax-error-logical-not-unary-expression-base.js
@@ -20,5 +20,5 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 !1 ** 2;
diff --git a/test/language/expressions/exponentiation/exp-operator-syntax-error-negate-unary-expression-base.js b/test/language/expressions/exponentiation/exp-operator-syntax-error-negate-unary-expression-base.js
index 503001b5de..a166720ec3 100644
--- a/test/language/expressions/exponentiation/exp-operator-syntax-error-negate-unary-expression-base.js
+++ b/test/language/expressions/exponentiation/exp-operator-syntax-error-negate-unary-expression-base.js
@@ -20,5 +20,5 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 -3 ** 2;
diff --git a/test/language/expressions/exponentiation/exp-operator-syntax-error-plus-unary-expression-base.js b/test/language/expressions/exponentiation/exp-operator-syntax-error-plus-unary-expression-base.js
index 32d1ea4c95..a85459efac 100644
--- a/test/language/expressions/exponentiation/exp-operator-syntax-error-plus-unary-expression-base.js
+++ b/test/language/expressions/exponentiation/exp-operator-syntax-error-plus-unary-expression-base.js
@@ -20,5 +20,5 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 +1 ** 2;
diff --git a/test/language/expressions/exponentiation/exp-operator-syntax-error-typeof-unary-expression-base.js b/test/language/expressions/exponentiation/exp-operator-syntax-error-typeof-unary-expression-base.js
index 63bfed2df4..3e31b6f721 100644
--- a/test/language/expressions/exponentiation/exp-operator-syntax-error-typeof-unary-expression-base.js
+++ b/test/language/expressions/exponentiation/exp-operator-syntax-error-typeof-unary-expression-base.js
@@ -20,5 +20,5 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 typeof 1 ** 2;
diff --git a/test/language/expressions/exponentiation/exp-operator-syntax-error-void-unary-expression-base.js b/test/language/expressions/exponentiation/exp-operator-syntax-error-void-unary-expression-base.js
index 662c341c1f..7fc62b972d 100644
--- a/test/language/expressions/exponentiation/exp-operator-syntax-error-void-unary-expression-base.js
+++ b/test/language/expressions/exponentiation/exp-operator-syntax-error-void-unary-expression-base.js
@@ -20,5 +20,5 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 void 1 ** 2;
diff --git a/test/language/expressions/function/dflt-params-duplicates.js b/test/language/expressions/function/dflt-params-duplicates.js
index c074fad5be..81f9829dea 100644
--- a/test/language/expressions/function/dflt-params-duplicates.js
+++ b/test/language/expressions/function/dflt-params-duplicates.js
@@ -54,7 +54,7 @@ info: |
       elements.
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, function(x = 0, x) {
   
diff --git a/test/language/expressions/function/dflt-params-rest.js b/test/language/expressions/function/dflt-params-rest.js
index a64bcd3a0d..e6edbf74e6 100644
--- a/test/language/expressions/function/dflt-params-rest.js
+++ b/test/language/expressions/function/dflt-params-rest.js
@@ -58,7 +58,7 @@ info: |
       ...BindingPattern[?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, function(...x = []) {
   
diff --git a/test/language/expressions/function/dstr-ary-ptrn-rest-init-ary.js b/test/language/expressions/function/dstr-ary-ptrn-rest-init-ary.js
index 5db9592c3f..1fe91cf1b5 100644
--- a/test/language/expressions/function/dstr-ary-ptrn-rest-init-ary.js
+++ b/test/language/expressions/function/dstr-ary-ptrn-rest-init-ary.js
@@ -47,7 +47,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var f;
diff --git a/test/language/expressions/function/dstr-ary-ptrn-rest-init-id.js b/test/language/expressions/function/dstr-ary-ptrn-rest-init-id.js
index b1bc47c90d..4a5169c955 100644
--- a/test/language/expressions/function/dstr-ary-ptrn-rest-init-id.js
+++ b/test/language/expressions/function/dstr-ary-ptrn-rest-init-id.js
@@ -47,7 +47,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var f;
diff --git a/test/language/expressions/function/dstr-ary-ptrn-rest-init-obj.js b/test/language/expressions/function/dstr-ary-ptrn-rest-init-obj.js
index 40b483c945..2c9254fe19 100644
--- a/test/language/expressions/function/dstr-ary-ptrn-rest-init-obj.js
+++ b/test/language/expressions/function/dstr-ary-ptrn-rest-init-obj.js
@@ -47,7 +47,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var f;
diff --git a/test/language/expressions/function/dstr-ary-ptrn-rest-not-final-ary.js b/test/language/expressions/function/dstr-ary-ptrn-rest-not-final-ary.js
index dbb4079de3..9d9848ac5a 100644
--- a/test/language/expressions/function/dstr-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/expressions/function/dstr-ary-ptrn-rest-not-final-ary.js
@@ -47,7 +47,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var f;
diff --git a/test/language/expressions/function/dstr-ary-ptrn-rest-not-final-id.js b/test/language/expressions/function/dstr-ary-ptrn-rest-not-final-id.js
index 5176974cca..952aa1ddb6 100644
--- a/test/language/expressions/function/dstr-ary-ptrn-rest-not-final-id.js
+++ b/test/language/expressions/function/dstr-ary-ptrn-rest-not-final-id.js
@@ -47,7 +47,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var f;
diff --git a/test/language/expressions/function/dstr-ary-ptrn-rest-not-final-obj.js b/test/language/expressions/function/dstr-ary-ptrn-rest-not-final-obj.js
index 5171f66636..e442a714e0 100644
--- a/test/language/expressions/function/dstr-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/expressions/function/dstr-ary-ptrn-rest-not-final-obj.js
@@ -47,7 +47,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var f;
diff --git a/test/language/expressions/function/dstr-dflt-ary-ptrn-rest-init-ary.js b/test/language/expressions/function/dstr-dflt-ary-ptrn-rest-init-ary.js
index 1b5669e35d..1a1348ea8c 100644
--- a/test/language/expressions/function/dstr-dflt-ary-ptrn-rest-init-ary.js
+++ b/test/language/expressions/function/dstr-dflt-ary-ptrn-rest-init-ary.js
@@ -47,7 +47,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var f;
diff --git a/test/language/expressions/function/dstr-dflt-ary-ptrn-rest-init-id.js b/test/language/expressions/function/dstr-dflt-ary-ptrn-rest-init-id.js
index dc135c9b70..033463387d 100644
--- a/test/language/expressions/function/dstr-dflt-ary-ptrn-rest-init-id.js
+++ b/test/language/expressions/function/dstr-dflt-ary-ptrn-rest-init-id.js
@@ -47,7 +47,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var f;
diff --git a/test/language/expressions/function/dstr-dflt-ary-ptrn-rest-init-obj.js b/test/language/expressions/function/dstr-dflt-ary-ptrn-rest-init-obj.js
index efa3e93729..284c78cb65 100644
--- a/test/language/expressions/function/dstr-dflt-ary-ptrn-rest-init-obj.js
+++ b/test/language/expressions/function/dstr-dflt-ary-ptrn-rest-init-obj.js
@@ -47,7 +47,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var f;
diff --git a/test/language/expressions/function/dstr-dflt-ary-ptrn-rest-not-final-ary.js b/test/language/expressions/function/dstr-dflt-ary-ptrn-rest-not-final-ary.js
index d5c1e8eef1..c8a85302a8 100644
--- a/test/language/expressions/function/dstr-dflt-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/expressions/function/dstr-dflt-ary-ptrn-rest-not-final-ary.js
@@ -47,7 +47,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var f;
diff --git a/test/language/expressions/function/dstr-dflt-ary-ptrn-rest-not-final-id.js b/test/language/expressions/function/dstr-dflt-ary-ptrn-rest-not-final-id.js
index eeabe079eb..edd6536253 100644
--- a/test/language/expressions/function/dstr-dflt-ary-ptrn-rest-not-final-id.js
+++ b/test/language/expressions/function/dstr-dflt-ary-ptrn-rest-not-final-id.js
@@ -47,7 +47,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var f;
diff --git a/test/language/expressions/function/dstr-dflt-ary-ptrn-rest-not-final-obj.js b/test/language/expressions/function/dstr-dflt-ary-ptrn-rest-not-final-obj.js
index bc17fae194..0edb1730f7 100644
--- a/test/language/expressions/function/dstr-dflt-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/expressions/function/dstr-dflt-ary-ptrn-rest-not-final-obj.js
@@ -47,7 +47,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var f;
diff --git a/test/language/expressions/function/early-body-super-call.js b/test/language/expressions/function/early-body-super-call.js
index d0f2c9d844..ebbeea2309 100644
--- a/test/language/expressions/function/early-body-super-call.js
+++ b/test/language/expressions/function/early-body-super-call.js
@@ -11,7 +11,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, function() {
   super();
diff --git a/test/language/expressions/function/early-body-super-prop.js b/test/language/expressions/function/early-body-super-prop.js
index 95c44d5f06..ed03779e49 100644
--- a/test/language/expressions/function/early-body-super-prop.js
+++ b/test/language/expressions/function/early-body-super-prop.js
@@ -11,7 +11,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, function() {
   super.x;
diff --git a/test/language/expressions/function/early-params-super-call.js b/test/language/expressions/function/early-params-super-call.js
index 3ddf0f99bb..dcae4d9e1a 100644
--- a/test/language/expressions/function/early-params-super-call.js
+++ b/test/language/expressions/function/early-params-super-call.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, function(x = super()) {};
diff --git a/test/language/expressions/function/early-params-super-prop.js b/test/language/expressions/function/early-params-super-prop.js
index 6179152c34..58a1905feb 100644
--- a/test/language/expressions/function/early-params-super-prop.js
+++ b/test/language/expressions/function/early-params-super-prop.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, function(x = super.x) {};
diff --git a/test/language/expressions/function/name-arguments-strict-body.js b/test/language/expressions/function/name-arguments-strict-body.js
index 542026bf01..f765d76f0a 100644
--- a/test/language/expressions/function/name-arguments-strict-body.js
+++ b/test/language/expressions/function/name-arguments-strict-body.js
@@ -13,6 +13,6 @@ negative:
 flags: [noStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (function arguments() {'use strict';});
diff --git a/test/language/expressions/function/name-arguments-strict.js b/test/language/expressions/function/name-arguments-strict.js
index a88dd86db4..54be8f4556 100644
--- a/test/language/expressions/function/name-arguments-strict.js
+++ b/test/language/expressions/function/name-arguments-strict.js
@@ -12,6 +12,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (function arguments() {});
diff --git a/test/language/expressions/function/name-eval-strict-body.js b/test/language/expressions/function/name-eval-strict-body.js
index c373e46171..876b3541e6 100644
--- a/test/language/expressions/function/name-eval-strict-body.js
+++ b/test/language/expressions/function/name-eval-strict-body.js
@@ -13,6 +13,6 @@ negative:
 flags: [noStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (function eval() {'use strict';});
diff --git a/test/language/expressions/function/name-eval-strict.js b/test/language/expressions/function/name-eval-strict.js
index d1e81dd1c9..9d19fd2991 100644
--- a/test/language/expressions/function/name-eval-strict.js
+++ b/test/language/expressions/function/name-eval-strict.js
@@ -12,6 +12,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (function eval() {});
diff --git a/test/language/expressions/function/param-dflt-yield-strict.js b/test/language/expressions/function/param-dflt-yield-strict.js
index a1f4cc6dd6..dfe03c2ab5 100644
--- a/test/language/expressions/function/param-dflt-yield-strict.js
+++ b/test/language/expressions/function/param-dflt-yield-strict.js
@@ -16,7 +16,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function *g() {
   0, function(x = yield) {
diff --git a/test/language/expressions/function/param-duplicated-strict-1.js b/test/language/expressions/function/param-duplicated-strict-1.js
index a1233a6956..27bffc594b 100644
--- a/test/language/expressions/function/param-duplicated-strict-1.js
+++ b/test/language/expressions/function/param-duplicated-strict-1.js
@@ -3,7 +3,7 @@
 
 /*---
 info: |
-    Refer 13.1; 
+    Refer 13.1;
     It is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode
     FunctionDeclaration or FunctionExpression.
 es5id: 13.1-8-s
@@ -17,6 +17,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (function (param, param) { });
diff --git a/test/language/expressions/function/param-duplicated-strict-2.js b/test/language/expressions/function/param-duplicated-strict-2.js
index c4bd88ffc6..e6a4e3d4d2 100644
--- a/test/language/expressions/function/param-duplicated-strict-2.js
+++ b/test/language/expressions/function/param-duplicated-strict-2.js
@@ -3,7 +3,7 @@
 
 /*---
 info: |
-    Refer 13.1; 
+    Refer 13.1;
     It is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode
     FunctionDeclaration or FunctionExpression.
 es5id: 13.1-9-s
@@ -18,6 +18,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (function (param1, param2, param1) { });
diff --git a/test/language/expressions/function/param-duplicated-strict-3.js b/test/language/expressions/function/param-duplicated-strict-3.js
index 0f8b4df2e8..15460ae5fd 100644
--- a/test/language/expressions/function/param-duplicated-strict-3.js
+++ b/test/language/expressions/function/param-duplicated-strict-3.js
@@ -3,7 +3,7 @@
 
 /*---
 info: |
-    Refer 13.1; 
+    Refer 13.1;
     It is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode
     FunctionDeclaration or FunctionExpression.
 es5id: 13.1-10-s
@@ -17,6 +17,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (function (param, param, param) { });
diff --git a/test/language/expressions/function/param-duplicated-strict-body-1.js b/test/language/expressions/function/param-duplicated-strict-body-1.js
index 08c11c65c5..96c19162da 100644
--- a/test/language/expressions/function/param-duplicated-strict-body-1.js
+++ b/test/language/expressions/function/param-duplicated-strict-body-1.js
@@ -3,7 +3,7 @@
 
 /*---
 info: |
-    Refer 13.1; 
+    Refer 13.1;
     It is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode
     FunctionDeclaration or FunctionExpression.
 es5id: 13.1-30-s
@@ -17,6 +17,6 @@ negative:
 flags: [noStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (function (param, param) { 'use strict'; });
diff --git a/test/language/expressions/function/param-duplicated-strict-body-2.js b/test/language/expressions/function/param-duplicated-strict-body-2.js
index 5d286c9c7f..afe158b2d0 100644
--- a/test/language/expressions/function/param-duplicated-strict-body-2.js
+++ b/test/language/expressions/function/param-duplicated-strict-body-2.js
@@ -3,7 +3,7 @@
 
 /*---
 info: |
-    Refer 13.1; 
+    Refer 13.1;
     It is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode
     FunctionDeclaration or FunctionExpression.
 es5id: 13.1-32-s
@@ -18,6 +18,6 @@ negative:
 flags: [noStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (function (param1, param2, param1) { 'use strict'; });
diff --git a/test/language/expressions/function/param-duplicated-strict-body-3.js b/test/language/expressions/function/param-duplicated-strict-body-3.js
index 27807ffaf7..35e1493349 100644
--- a/test/language/expressions/function/param-duplicated-strict-body-3.js
+++ b/test/language/expressions/function/param-duplicated-strict-body-3.js
@@ -3,7 +3,7 @@
 
 /*---
 info: |
-    Refer 13.1; 
+    Refer 13.1;
     It is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode
     FunctionDeclaration or FunctionExpression.
 es5id: 13.1-34-s
@@ -16,6 +16,6 @@ negative:
 flags: [noStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (function (param, param, param) { 'use strict'; });
diff --git a/test/language/expressions/function/param-eval-strict-body.js b/test/language/expressions/function/param-eval-strict-body.js
index 8b237ad055..d6b3a20f53 100644
--- a/test/language/expressions/function/param-eval-strict-body.js
+++ b/test/language/expressions/function/param-eval-strict-body.js
@@ -3,7 +3,7 @@
 
 /*---
 info: |
-    Refer 13.1; 
+    Refer 13.1;
     It is a SyntaxError if the Identifier "eval" or the Identifier "arguments" occurs within a FormalParameterList
     of a strict mode FunctionDeclaration or FunctionExpression.
 es5id: 13.1-18-s
@@ -17,6 +17,6 @@ negative:
 flags: [noStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (function (eval) { 'use strict'; });
diff --git a/test/language/expressions/function/rest-params-trailing-comma-early-error.js b/test/language/expressions/function/rest-params-trailing-comma-early-error.js
index 2fa09dfb3a..2d84266e87 100644
--- a/test/language/expressions/function/rest-params-trailing-comma-early-error.js
+++ b/test/language/expressions/function/rest-params-trailing-comma-early-error.js
@@ -50,7 +50,7 @@ info: |
         FormalParameterList[?Yield, ?Await] ,
         FormalParameterList[?Yield, ?Await] , FunctionRestParameter[?Yield, ?Await]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, function(...a,) {
   
diff --git a/test/language/expressions/function/use-strict-with-non-simple-param.js b/test/language/expressions/function/use-strict-with-non-simple-param.js
index 9c49afb6ce..4ef97c3cf2 100644
--- a/test/language/expressions/function/use-strict-with-non-simple-param.js
+++ b/test/language/expressions/function/use-strict-with-non-simple-param.js
@@ -14,7 +14,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var f = function(a = 0) {
   "use strict";
diff --git a/test/language/expressions/generators/dflt-params-duplicates.js b/test/language/expressions/generators/dflt-params-duplicates.js
index ceda3236ea..9494b1aa8f 100644
--- a/test/language/expressions/generators/dflt-params-duplicates.js
+++ b/test/language/expressions/generators/dflt-params-duplicates.js
@@ -55,7 +55,7 @@ info: |
       elements.
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, function*(x = 0, x) {
   
diff --git a/test/language/expressions/generators/dflt-params-rest.js b/test/language/expressions/generators/dflt-params-rest.js
index 16459a1462..e33fc22993 100644
--- a/test/language/expressions/generators/dflt-params-rest.js
+++ b/test/language/expressions/generators/dflt-params-rest.js
@@ -59,7 +59,7 @@ info: |
       ...BindingPattern[?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, function*(...x = []) {
   
diff --git a/test/language/expressions/generators/dstr-ary-ptrn-rest-init-ary.js b/test/language/expressions/generators/dstr-ary-ptrn-rest-init-ary.js
index da32910457..bef4556872 100644
--- a/test/language/expressions/generators/dstr-ary-ptrn-rest-init-ary.js
+++ b/test/language/expressions/generators/dstr-ary-ptrn-rest-init-ary.js
@@ -47,7 +47,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var f;
diff --git a/test/language/expressions/generators/dstr-ary-ptrn-rest-init-id.js b/test/language/expressions/generators/dstr-ary-ptrn-rest-init-id.js
index 6083406623..daee44e335 100644
--- a/test/language/expressions/generators/dstr-ary-ptrn-rest-init-id.js
+++ b/test/language/expressions/generators/dstr-ary-ptrn-rest-init-id.js
@@ -47,7 +47,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var f;
diff --git a/test/language/expressions/generators/dstr-ary-ptrn-rest-init-obj.js b/test/language/expressions/generators/dstr-ary-ptrn-rest-init-obj.js
index 051bab0fc2..51abd6dbe1 100644
--- a/test/language/expressions/generators/dstr-ary-ptrn-rest-init-obj.js
+++ b/test/language/expressions/generators/dstr-ary-ptrn-rest-init-obj.js
@@ -47,7 +47,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var f;
diff --git a/test/language/expressions/generators/dstr-ary-ptrn-rest-not-final-ary.js b/test/language/expressions/generators/dstr-ary-ptrn-rest-not-final-ary.js
index 19a4aa5756..6d97b9750c 100644
--- a/test/language/expressions/generators/dstr-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/expressions/generators/dstr-ary-ptrn-rest-not-final-ary.js
@@ -47,7 +47,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var f;
diff --git a/test/language/expressions/generators/dstr-ary-ptrn-rest-not-final-id.js b/test/language/expressions/generators/dstr-ary-ptrn-rest-not-final-id.js
index ee5799c0f9..a7739124fa 100644
--- a/test/language/expressions/generators/dstr-ary-ptrn-rest-not-final-id.js
+++ b/test/language/expressions/generators/dstr-ary-ptrn-rest-not-final-id.js
@@ -47,7 +47,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var f;
diff --git a/test/language/expressions/generators/dstr-ary-ptrn-rest-not-final-obj.js b/test/language/expressions/generators/dstr-ary-ptrn-rest-not-final-obj.js
index a059649df2..d6c33ad17d 100644
--- a/test/language/expressions/generators/dstr-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/expressions/generators/dstr-ary-ptrn-rest-not-final-obj.js
@@ -47,7 +47,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var f;
diff --git a/test/language/expressions/generators/dstr-dflt-ary-ptrn-rest-init-ary.js b/test/language/expressions/generators/dstr-dflt-ary-ptrn-rest-init-ary.js
index 56911be1e7..29c36df074 100644
--- a/test/language/expressions/generators/dstr-dflt-ary-ptrn-rest-init-ary.js
+++ b/test/language/expressions/generators/dstr-dflt-ary-ptrn-rest-init-ary.js
@@ -47,7 +47,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var f;
diff --git a/test/language/expressions/generators/dstr-dflt-ary-ptrn-rest-init-id.js b/test/language/expressions/generators/dstr-dflt-ary-ptrn-rest-init-id.js
index 99d9e0366b..e08386ea56 100644
--- a/test/language/expressions/generators/dstr-dflt-ary-ptrn-rest-init-id.js
+++ b/test/language/expressions/generators/dstr-dflt-ary-ptrn-rest-init-id.js
@@ -47,7 +47,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var f;
diff --git a/test/language/expressions/generators/dstr-dflt-ary-ptrn-rest-init-obj.js b/test/language/expressions/generators/dstr-dflt-ary-ptrn-rest-init-obj.js
index 190d8a0409..65be27ba6f 100644
--- a/test/language/expressions/generators/dstr-dflt-ary-ptrn-rest-init-obj.js
+++ b/test/language/expressions/generators/dstr-dflt-ary-ptrn-rest-init-obj.js
@@ -47,7 +47,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var f;
diff --git a/test/language/expressions/generators/dstr-dflt-ary-ptrn-rest-not-final-ary.js b/test/language/expressions/generators/dstr-dflt-ary-ptrn-rest-not-final-ary.js
index e6d57256f9..7ca04efe70 100644
--- a/test/language/expressions/generators/dstr-dflt-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/expressions/generators/dstr-dflt-ary-ptrn-rest-not-final-ary.js
@@ -47,7 +47,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var f;
diff --git a/test/language/expressions/generators/dstr-dflt-ary-ptrn-rest-not-final-id.js b/test/language/expressions/generators/dstr-dflt-ary-ptrn-rest-not-final-id.js
index 17298d90d6..36f5279105 100644
--- a/test/language/expressions/generators/dstr-dflt-ary-ptrn-rest-not-final-id.js
+++ b/test/language/expressions/generators/dstr-dflt-ary-ptrn-rest-not-final-id.js
@@ -47,7 +47,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var f;
diff --git a/test/language/expressions/generators/dstr-dflt-ary-ptrn-rest-not-final-obj.js b/test/language/expressions/generators/dstr-dflt-ary-ptrn-rest-not-final-obj.js
index 6b62ad0656..b7173f46a7 100644
--- a/test/language/expressions/generators/dstr-dflt-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/expressions/generators/dstr-dflt-ary-ptrn-rest-not-final-obj.js
@@ -47,7 +47,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var f;
diff --git a/test/language/expressions/generators/named-yield-as-binding-identifier-escaped.js b/test/language/expressions/generators/named-yield-as-binding-identifier-escaped.js
index 6fb77c8474..836dabb919 100644
--- a/test/language/expressions/generators/named-yield-as-binding-identifier-escaped.js
+++ b/test/language/expressions/generators/named-yield-as-binding-identifier-escaped.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var gen = function *g() {
   var yi\u0065ld;
diff --git a/test/language/expressions/generators/named-yield-as-binding-identifier.js b/test/language/expressions/generators/named-yield-as-binding-identifier.js
index 2e338c9842..a81318f197 100644
--- a/test/language/expressions/generators/named-yield-as-binding-identifier.js
+++ b/test/language/expressions/generators/named-yield-as-binding-identifier.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var gen = function *g() {
   var yield;
diff --git a/test/language/expressions/generators/named-yield-as-identifier-reference-escaped.js b/test/language/expressions/generators/named-yield-as-identifier-reference-escaped.js
index 3eef2762ea..90a3b32cbd 100644
--- a/test/language/expressions/generators/named-yield-as-identifier-reference-escaped.js
+++ b/test/language/expressions/generators/named-yield-as-identifier-reference-escaped.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var gen = function *g() {
   void yi\u0065ld;
diff --git a/test/language/expressions/generators/named-yield-as-identifier-reference.js b/test/language/expressions/generators/named-yield-as-identifier-reference.js
index f7702ee8fe..497796fb1c 100644
--- a/test/language/expressions/generators/named-yield-as-identifier-reference.js
+++ b/test/language/expressions/generators/named-yield-as-identifier-reference.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var gen = function *g() {
   void yield;
diff --git a/test/language/expressions/generators/named-yield-as-label-identifier-escaped.js b/test/language/expressions/generators/named-yield-as-label-identifier-escaped.js
index 5fd5b87071..d4965e7b0c 100644
--- a/test/language/expressions/generators/named-yield-as-label-identifier-escaped.js
+++ b/test/language/expressions/generators/named-yield-as-label-identifier-escaped.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var gen = function *g() {
   yi\u0065ld: ;
diff --git a/test/language/expressions/generators/named-yield-as-label-identifier.js b/test/language/expressions/generators/named-yield-as-label-identifier.js
index 4d720bb174..72de6b39a0 100644
--- a/test/language/expressions/generators/named-yield-as-label-identifier.js
+++ b/test/language/expressions/generators/named-yield-as-label-identifier.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var gen = function *g() {
   yield: ;
diff --git a/test/language/expressions/generators/named-yield-identifier-spread-strict.js b/test/language/expressions/generators/named-yield-identifier-spread-strict.js
index c57b0ca019..d034037e8d 100644
--- a/test/language/expressions/generators/named-yield-identifier-spread-strict.js
+++ b/test/language/expressions/generators/named-yield-identifier-spread-strict.js
@@ -23,7 +23,7 @@ info: |
       ...AssignmentExpression[In, ?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 
diff --git a/test/language/expressions/generators/named-yield-identifier-strict.js b/test/language/expressions/generators/named-yield-identifier-strict.js
index 27bfcfd727..38f6fe784c 100644
--- a/test/language/expressions/generators/named-yield-identifier-strict.js
+++ b/test/language/expressions/generators/named-yield-identifier-strict.js
@@ -16,7 +16,7 @@ info: |
       function * BindingIdentifier opt ( FormalParameters ) { GeneratorBody }
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 
diff --git a/test/language/expressions/generators/param-dflt-yield.js b/test/language/expressions/generators/param-dflt-yield.js
index 7b07c1a745..3d3078c870 100644
--- a/test/language/expressions/generators/param-dflt-yield.js
+++ b/test/language/expressions/generators/param-dflt-yield.js
@@ -20,6 +20,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, function*(x = yield) {};
diff --git a/test/language/expressions/generators/rest-params-trailing-comma-early-error.js b/test/language/expressions/generators/rest-params-trailing-comma-early-error.js
index b94e377c03..db53203d1b 100644
--- a/test/language/expressions/generators/rest-params-trailing-comma-early-error.js
+++ b/test/language/expressions/generators/rest-params-trailing-comma-early-error.js
@@ -52,7 +52,7 @@ info: |
         FormalParameterList[?Yield, ?Await] ,
         FormalParameterList[?Yield, ?Await] , FunctionRestParameter[?Yield, ?Await]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, function*(...a,) {
   
diff --git a/test/language/expressions/generators/use-strict-with-non-simple-param.js b/test/language/expressions/generators/use-strict-with-non-simple-param.js
index 7737940323..a622e75f7d 100644
--- a/test/language/expressions/generators/use-strict-with-non-simple-param.js
+++ b/test/language/expressions/generators/use-strict-with-non-simple-param.js
@@ -15,7 +15,7 @@ negative:
 features: [generators]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var f = function*(a = 0) {
   "use strict";
diff --git a/test/language/expressions/generators/yield-as-binding-identifier-escaped.js b/test/language/expressions/generators/yield-as-binding-identifier-escaped.js
index 007f021b39..1d15d0fa52 100644
--- a/test/language/expressions/generators/yield-as-binding-identifier-escaped.js
+++ b/test/language/expressions/generators/yield-as-binding-identifier-escaped.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var gen = function *() {
   var yi\u0065ld;
diff --git a/test/language/expressions/generators/yield-as-binding-identifier.js b/test/language/expressions/generators/yield-as-binding-identifier.js
index d15122acf2..eefbae33ef 100644
--- a/test/language/expressions/generators/yield-as-binding-identifier.js
+++ b/test/language/expressions/generators/yield-as-binding-identifier.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var gen = function *() {
   var yield;
diff --git a/test/language/expressions/generators/yield-as-generator-expression-binding-identifier.js b/test/language/expressions/generators/yield-as-generator-expression-binding-identifier.js
index 8d8407e700..d738340794 100644
--- a/test/language/expressions/generators/yield-as-generator-expression-binding-identifier.js
+++ b/test/language/expressions/generators/yield-as-generator-expression-binding-identifier.js
@@ -12,6 +12,6 @@ negative:
 features: [generators]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var g = function* yield() {};
diff --git a/test/language/expressions/generators/yield-as-identifier-reference-escaped.js b/test/language/expressions/generators/yield-as-identifier-reference-escaped.js
index 1f3b21d397..93b5526f57 100644
--- a/test/language/expressions/generators/yield-as-identifier-reference-escaped.js
+++ b/test/language/expressions/generators/yield-as-identifier-reference-escaped.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var gen = function *() {
   void yi\u0065ld;
diff --git a/test/language/expressions/generators/yield-as-identifier-reference.js b/test/language/expressions/generators/yield-as-identifier-reference.js
index 4a58a72d86..5435cf9b1d 100644
--- a/test/language/expressions/generators/yield-as-identifier-reference.js
+++ b/test/language/expressions/generators/yield-as-identifier-reference.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var gen = function *() {
   void yield;
diff --git a/test/language/expressions/generators/yield-as-label-identifier-escaped.js b/test/language/expressions/generators/yield-as-label-identifier-escaped.js
index cc42f0d331..28b7997060 100644
--- a/test/language/expressions/generators/yield-as-label-identifier-escaped.js
+++ b/test/language/expressions/generators/yield-as-label-identifier-escaped.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var gen = function *() {
   yi\u0065ld: ;
diff --git a/test/language/expressions/generators/yield-as-label-identifier.js b/test/language/expressions/generators/yield-as-label-identifier.js
index 592d0bd771..b54fa24c2f 100644
--- a/test/language/expressions/generators/yield-as-label-identifier.js
+++ b/test/language/expressions/generators/yield-as-label-identifier.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var gen = function *() {
   yield: ;
diff --git a/test/language/expressions/generators/yield-as-logical-or-expression.js b/test/language/expressions/generators/yield-as-logical-or-expression.js
index 08d2daeb2b..4fa8c6547b 100644
--- a/test/language/expressions/generators/yield-as-logical-or-expression.js
+++ b/test/language/expressions/generators/yield-as-logical-or-expression.js
@@ -11,7 +11,7 @@ negative:
 features: [generators]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var g = function*() {
diff --git a/test/language/expressions/generators/yield-as-parameter.js b/test/language/expressions/generators/yield-as-parameter.js
index f5e138867d..d38884b658 100644
--- a/test/language/expressions/generators/yield-as-parameter.js
+++ b/test/language/expressions/generators/yield-as-parameter.js
@@ -12,6 +12,6 @@ negative:
 features: [generators]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var g = function*(yield) {};
diff --git a/test/language/expressions/generators/yield-identifier-spread-strict.js b/test/language/expressions/generators/yield-identifier-spread-strict.js
index 38d70d2018..020a031ab5 100644
--- a/test/language/expressions/generators/yield-identifier-spread-strict.js
+++ b/test/language/expressions/generators/yield-identifier-spread-strict.js
@@ -23,7 +23,7 @@ info: |
       ...AssignmentExpression[In, ?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 
diff --git a/test/language/expressions/generators/yield-identifier-strict.js b/test/language/expressions/generators/yield-identifier-strict.js
index 29942c3f0d..4da060d740 100644
--- a/test/language/expressions/generators/yield-identifier-strict.js
+++ b/test/language/expressions/generators/yield-identifier-strict.js
@@ -16,7 +16,7 @@ info: |
       function * BindingIdentifier opt ( FormalParameters ) { GeneratorBody }
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 
diff --git a/test/language/expressions/generators/yield-star-after-newline.js b/test/language/expressions/generators/yield-star-after-newline.js
index a7f1937db9..b65122ea78 100644
--- a/test/language/expressions/generators/yield-star-after-newline.js
+++ b/test/language/expressions/generators/yield-star-after-newline.js
@@ -11,7 +11,7 @@ negative:
 features: [generators]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var g = function*() {
   yield
diff --git a/test/language/expressions/generators/yield-weak-binding.js b/test/language/expressions/generators/yield-weak-binding.js
index 6200d4928a..19595571a6 100644
--- a/test/language/expressions/generators/yield-weak-binding.js
+++ b/test/language/expressions/generators/yield-weak-binding.js
@@ -11,6 +11,6 @@ negative:
 features: [generators]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var g = function*() { yield 3 + yield 4; };
diff --git a/test/language/expressions/new.target/escaped-new.js b/test/language/expressions/new.target/escaped-new.js
index 33034afbba..8b480256eb 100644
--- a/test/language/expressions/new.target/escaped-new.js
+++ b/test/language/expressions/new.target/escaped-new.js
@@ -18,7 +18,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function f() {
     n\u0065w.target;
diff --git a/test/language/expressions/new.target/escaped-target.js b/test/language/expressions/new.target/escaped-target.js
index 28ff3cf836..04c7e6b93c 100644
--- a/test/language/expressions/new.target/escaped-target.js
+++ b/test/language/expressions/new.target/escaped-target.js
@@ -18,7 +18,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function f() {
     new.t\u0061rget;
diff --git a/test/language/expressions/object/11.1.5-1gs.js b/test/language/expressions/object/11.1.5-1gs.js
index 0d89e6bd97..8972e5ba6f 100644
--- a/test/language/expressions/object/11.1.5-1gs.js
+++ b/test/language/expressions/object/11.1.5-1gs.js
@@ -13,6 +13,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var obj = { set _11_1_5_1_fun(eval) {}};
diff --git a/test/language/expressions/object/cover-initialized-name.js b/test/language/expressions/object/cover-initialized-name.js
index 23703dfe60..5c059dd05a 100644
--- a/test/language/expressions/object/cover-initialized-name.js
+++ b/test/language/expressions/object/cover-initialized-name.js
@@ -27,6 +27,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 ({ a = 1 });
diff --git a/test/language/expressions/object/dstr-async-gen-meth-ary-ptrn-rest-init-ary.js b/test/language/expressions/object/dstr-async-gen-meth-ary-ptrn-rest-init-ary.js
index e037ea61b8..9844a7448a 100644
--- a/test/language/expressions/object/dstr-async-gen-meth-ary-ptrn-rest-init-ary.js
+++ b/test/language/expressions/object/dstr-async-gen-meth-ary-ptrn-rest-init-ary.js
@@ -30,7 +30,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/object/dstr-async-gen-meth-ary-ptrn-rest-init-id.js b/test/language/expressions/object/dstr-async-gen-meth-ary-ptrn-rest-init-id.js
index 87d915e3f2..ff8e4979ba 100644
--- a/test/language/expressions/object/dstr-async-gen-meth-ary-ptrn-rest-init-id.js
+++ b/test/language/expressions/object/dstr-async-gen-meth-ary-ptrn-rest-init-id.js
@@ -30,7 +30,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/object/dstr-async-gen-meth-ary-ptrn-rest-init-obj.js b/test/language/expressions/object/dstr-async-gen-meth-ary-ptrn-rest-init-obj.js
index d9efc28e8f..2dddc5ad30 100644
--- a/test/language/expressions/object/dstr-async-gen-meth-ary-ptrn-rest-init-obj.js
+++ b/test/language/expressions/object/dstr-async-gen-meth-ary-ptrn-rest-init-obj.js
@@ -30,7 +30,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/object/dstr-async-gen-meth-ary-ptrn-rest-not-final-ary.js b/test/language/expressions/object/dstr-async-gen-meth-ary-ptrn-rest-not-final-ary.js
index 37e97eb7d1..f93cd87cc2 100644
--- a/test/language/expressions/object/dstr-async-gen-meth-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/expressions/object/dstr-async-gen-meth-ary-ptrn-rest-not-final-ary.js
@@ -30,7 +30,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/object/dstr-async-gen-meth-ary-ptrn-rest-not-final-id.js b/test/language/expressions/object/dstr-async-gen-meth-ary-ptrn-rest-not-final-id.js
index cb5613a477..4fe6a8323e 100644
--- a/test/language/expressions/object/dstr-async-gen-meth-ary-ptrn-rest-not-final-id.js
+++ b/test/language/expressions/object/dstr-async-gen-meth-ary-ptrn-rest-not-final-id.js
@@ -30,7 +30,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/object/dstr-async-gen-meth-ary-ptrn-rest-not-final-obj.js b/test/language/expressions/object/dstr-async-gen-meth-ary-ptrn-rest-not-final-obj.js
index 5245c15e0f..9a19a70e10 100644
--- a/test/language/expressions/object/dstr-async-gen-meth-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/expressions/object/dstr-async-gen-meth-ary-ptrn-rest-not-final-obj.js
@@ -30,7 +30,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/object/dstr-async-gen-meth-dflt-ary-ptrn-rest-init-ary.js b/test/language/expressions/object/dstr-async-gen-meth-dflt-ary-ptrn-rest-init-ary.js
index 3ed825634f..8fefb83cf1 100644
--- a/test/language/expressions/object/dstr-async-gen-meth-dflt-ary-ptrn-rest-init-ary.js
+++ b/test/language/expressions/object/dstr-async-gen-meth-dflt-ary-ptrn-rest-init-ary.js
@@ -30,7 +30,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/object/dstr-async-gen-meth-dflt-ary-ptrn-rest-init-id.js b/test/language/expressions/object/dstr-async-gen-meth-dflt-ary-ptrn-rest-init-id.js
index 828c6cd482..08b6c49f10 100644
--- a/test/language/expressions/object/dstr-async-gen-meth-dflt-ary-ptrn-rest-init-id.js
+++ b/test/language/expressions/object/dstr-async-gen-meth-dflt-ary-ptrn-rest-init-id.js
@@ -30,7 +30,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/object/dstr-async-gen-meth-dflt-ary-ptrn-rest-init-obj.js b/test/language/expressions/object/dstr-async-gen-meth-dflt-ary-ptrn-rest-init-obj.js
index ef69cdc576..ae79cd6707 100644
--- a/test/language/expressions/object/dstr-async-gen-meth-dflt-ary-ptrn-rest-init-obj.js
+++ b/test/language/expressions/object/dstr-async-gen-meth-dflt-ary-ptrn-rest-init-obj.js
@@ -30,7 +30,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/object/dstr-async-gen-meth-dflt-ary-ptrn-rest-not-final-ary.js b/test/language/expressions/object/dstr-async-gen-meth-dflt-ary-ptrn-rest-not-final-ary.js
index 35726d1c50..49a9252403 100644
--- a/test/language/expressions/object/dstr-async-gen-meth-dflt-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/expressions/object/dstr-async-gen-meth-dflt-ary-ptrn-rest-not-final-ary.js
@@ -30,7 +30,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/object/dstr-async-gen-meth-dflt-ary-ptrn-rest-not-final-id.js b/test/language/expressions/object/dstr-async-gen-meth-dflt-ary-ptrn-rest-not-final-id.js
index 76b3ac8a8b..c375b2a097 100644
--- a/test/language/expressions/object/dstr-async-gen-meth-dflt-ary-ptrn-rest-not-final-id.js
+++ b/test/language/expressions/object/dstr-async-gen-meth-dflt-ary-ptrn-rest-not-final-id.js
@@ -30,7 +30,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/object/dstr-async-gen-meth-dflt-ary-ptrn-rest-not-final-obj.js b/test/language/expressions/object/dstr-async-gen-meth-dflt-ary-ptrn-rest-not-final-obj.js
index 57203d354e..86719a95e2 100644
--- a/test/language/expressions/object/dstr-async-gen-meth-dflt-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/expressions/object/dstr-async-gen-meth-dflt-ary-ptrn-rest-not-final-obj.js
@@ -30,7 +30,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/expressions/object/dstr-gen-meth-ary-ptrn-rest-init-ary.js b/test/language/expressions/object/dstr-gen-meth-ary-ptrn-rest-init-ary.js
index 31656b82ac..acd6ad513e 100644
--- a/test/language/expressions/object/dstr-gen-meth-ary-ptrn-rest-init-ary.js
+++ b/test/language/expressions/object/dstr-gen-meth-ary-ptrn-rest-init-ary.js
@@ -52,7 +52,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var obj = {
diff --git a/test/language/expressions/object/dstr-gen-meth-ary-ptrn-rest-init-id.js b/test/language/expressions/object/dstr-gen-meth-ary-ptrn-rest-init-id.js
index 0139dbc609..674764a827 100644
--- a/test/language/expressions/object/dstr-gen-meth-ary-ptrn-rest-init-id.js
+++ b/test/language/expressions/object/dstr-gen-meth-ary-ptrn-rest-init-id.js
@@ -52,7 +52,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var obj = {
diff --git a/test/language/expressions/object/dstr-gen-meth-ary-ptrn-rest-init-obj.js b/test/language/expressions/object/dstr-gen-meth-ary-ptrn-rest-init-obj.js
index 2e71e00220..b52baef82a 100644
--- a/test/language/expressions/object/dstr-gen-meth-ary-ptrn-rest-init-obj.js
+++ b/test/language/expressions/object/dstr-gen-meth-ary-ptrn-rest-init-obj.js
@@ -52,7 +52,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var obj = {
diff --git a/test/language/expressions/object/dstr-gen-meth-ary-ptrn-rest-not-final-ary.js b/test/language/expressions/object/dstr-gen-meth-ary-ptrn-rest-not-final-ary.js
index cf488248d1..e326964c00 100644
--- a/test/language/expressions/object/dstr-gen-meth-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/expressions/object/dstr-gen-meth-ary-ptrn-rest-not-final-ary.js
@@ -52,7 +52,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var obj = {
diff --git a/test/language/expressions/object/dstr-gen-meth-ary-ptrn-rest-not-final-id.js b/test/language/expressions/object/dstr-gen-meth-ary-ptrn-rest-not-final-id.js
index 82253fcc77..2bfc8ae971 100644
--- a/test/language/expressions/object/dstr-gen-meth-ary-ptrn-rest-not-final-id.js
+++ b/test/language/expressions/object/dstr-gen-meth-ary-ptrn-rest-not-final-id.js
@@ -52,7 +52,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var obj = {
diff --git a/test/language/expressions/object/dstr-gen-meth-ary-ptrn-rest-not-final-obj.js b/test/language/expressions/object/dstr-gen-meth-ary-ptrn-rest-not-final-obj.js
index 4ba9239fff..febeea489a 100644
--- a/test/language/expressions/object/dstr-gen-meth-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/expressions/object/dstr-gen-meth-ary-ptrn-rest-not-final-obj.js
@@ -52,7 +52,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var obj = {
diff --git a/test/language/expressions/object/dstr-gen-meth-dflt-ary-ptrn-rest-init-ary.js b/test/language/expressions/object/dstr-gen-meth-dflt-ary-ptrn-rest-init-ary.js
index 58b0665487..ad849dceac 100644
--- a/test/language/expressions/object/dstr-gen-meth-dflt-ary-ptrn-rest-init-ary.js
+++ b/test/language/expressions/object/dstr-gen-meth-dflt-ary-ptrn-rest-init-ary.js
@@ -52,7 +52,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var obj = {
diff --git a/test/language/expressions/object/dstr-gen-meth-dflt-ary-ptrn-rest-init-id.js b/test/language/expressions/object/dstr-gen-meth-dflt-ary-ptrn-rest-init-id.js
index 3dcb7e13b6..a3599f0ee7 100644
--- a/test/language/expressions/object/dstr-gen-meth-dflt-ary-ptrn-rest-init-id.js
+++ b/test/language/expressions/object/dstr-gen-meth-dflt-ary-ptrn-rest-init-id.js
@@ -52,7 +52,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var obj = {
diff --git a/test/language/expressions/object/dstr-gen-meth-dflt-ary-ptrn-rest-init-obj.js b/test/language/expressions/object/dstr-gen-meth-dflt-ary-ptrn-rest-init-obj.js
index d2aa998062..4317e6474f 100644
--- a/test/language/expressions/object/dstr-gen-meth-dflt-ary-ptrn-rest-init-obj.js
+++ b/test/language/expressions/object/dstr-gen-meth-dflt-ary-ptrn-rest-init-obj.js
@@ -52,7 +52,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var obj = {
diff --git a/test/language/expressions/object/dstr-gen-meth-dflt-ary-ptrn-rest-not-final-ary.js b/test/language/expressions/object/dstr-gen-meth-dflt-ary-ptrn-rest-not-final-ary.js
index 891dee5290..920ad83087 100644
--- a/test/language/expressions/object/dstr-gen-meth-dflt-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/expressions/object/dstr-gen-meth-dflt-ary-ptrn-rest-not-final-ary.js
@@ -52,7 +52,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var obj = {
diff --git a/test/language/expressions/object/dstr-gen-meth-dflt-ary-ptrn-rest-not-final-id.js b/test/language/expressions/object/dstr-gen-meth-dflt-ary-ptrn-rest-not-final-id.js
index 8bd9fbb364..5fd9e3e818 100644
--- a/test/language/expressions/object/dstr-gen-meth-dflt-ary-ptrn-rest-not-final-id.js
+++ b/test/language/expressions/object/dstr-gen-meth-dflt-ary-ptrn-rest-not-final-id.js
@@ -52,7 +52,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var obj = {
diff --git a/test/language/expressions/object/dstr-gen-meth-dflt-ary-ptrn-rest-not-final-obj.js b/test/language/expressions/object/dstr-gen-meth-dflt-ary-ptrn-rest-not-final-obj.js
index 324f69cca0..09d8222eb3 100644
--- a/test/language/expressions/object/dstr-gen-meth-dflt-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/expressions/object/dstr-gen-meth-dflt-ary-ptrn-rest-not-final-obj.js
@@ -52,7 +52,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var obj = {
diff --git a/test/language/expressions/object/dstr-meth-ary-ptrn-rest-init-ary.js b/test/language/expressions/object/dstr-meth-ary-ptrn-rest-init-ary.js
index 8468d2c86e..1909aab8a6 100644
--- a/test/language/expressions/object/dstr-meth-ary-ptrn-rest-init-ary.js
+++ b/test/language/expressions/object/dstr-meth-ary-ptrn-rest-init-ary.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var obj = {
diff --git a/test/language/expressions/object/dstr-meth-ary-ptrn-rest-init-id.js b/test/language/expressions/object/dstr-meth-ary-ptrn-rest-init-id.js
index 6556964fdf..e1e3431390 100644
--- a/test/language/expressions/object/dstr-meth-ary-ptrn-rest-init-id.js
+++ b/test/language/expressions/object/dstr-meth-ary-ptrn-rest-init-id.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var obj = {
diff --git a/test/language/expressions/object/dstr-meth-ary-ptrn-rest-init-obj.js b/test/language/expressions/object/dstr-meth-ary-ptrn-rest-init-obj.js
index a805047dac..98a96f077a 100644
--- a/test/language/expressions/object/dstr-meth-ary-ptrn-rest-init-obj.js
+++ b/test/language/expressions/object/dstr-meth-ary-ptrn-rest-init-obj.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var obj = {
diff --git a/test/language/expressions/object/dstr-meth-ary-ptrn-rest-not-final-ary.js b/test/language/expressions/object/dstr-meth-ary-ptrn-rest-not-final-ary.js
index b432ad0637..31ef6cce46 100644
--- a/test/language/expressions/object/dstr-meth-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/expressions/object/dstr-meth-ary-ptrn-rest-not-final-ary.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var obj = {
diff --git a/test/language/expressions/object/dstr-meth-ary-ptrn-rest-not-final-id.js b/test/language/expressions/object/dstr-meth-ary-ptrn-rest-not-final-id.js
index 29bd650285..d8d82b6f7b 100644
--- a/test/language/expressions/object/dstr-meth-ary-ptrn-rest-not-final-id.js
+++ b/test/language/expressions/object/dstr-meth-ary-ptrn-rest-not-final-id.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var obj = {
diff --git a/test/language/expressions/object/dstr-meth-ary-ptrn-rest-not-final-obj.js b/test/language/expressions/object/dstr-meth-ary-ptrn-rest-not-final-obj.js
index 45eca1a34a..4d6bb67b03 100644
--- a/test/language/expressions/object/dstr-meth-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/expressions/object/dstr-meth-ary-ptrn-rest-not-final-obj.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var obj = {
diff --git a/test/language/expressions/object/dstr-meth-dflt-ary-ptrn-rest-init-ary.js b/test/language/expressions/object/dstr-meth-dflt-ary-ptrn-rest-init-ary.js
index 7bec549a2e..e4c386e436 100644
--- a/test/language/expressions/object/dstr-meth-dflt-ary-ptrn-rest-init-ary.js
+++ b/test/language/expressions/object/dstr-meth-dflt-ary-ptrn-rest-init-ary.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var obj = {
diff --git a/test/language/expressions/object/dstr-meth-dflt-ary-ptrn-rest-init-id.js b/test/language/expressions/object/dstr-meth-dflt-ary-ptrn-rest-init-id.js
index 7eaed4f39a..58a6d4e5dc 100644
--- a/test/language/expressions/object/dstr-meth-dflt-ary-ptrn-rest-init-id.js
+++ b/test/language/expressions/object/dstr-meth-dflt-ary-ptrn-rest-init-id.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var obj = {
diff --git a/test/language/expressions/object/dstr-meth-dflt-ary-ptrn-rest-init-obj.js b/test/language/expressions/object/dstr-meth-dflt-ary-ptrn-rest-init-obj.js
index 236bbd378f..e70e71f8ab 100644
--- a/test/language/expressions/object/dstr-meth-dflt-ary-ptrn-rest-init-obj.js
+++ b/test/language/expressions/object/dstr-meth-dflt-ary-ptrn-rest-init-obj.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var obj = {
diff --git a/test/language/expressions/object/dstr-meth-dflt-ary-ptrn-rest-not-final-ary.js b/test/language/expressions/object/dstr-meth-dflt-ary-ptrn-rest-not-final-ary.js
index 356e939650..0675eb59d3 100644
--- a/test/language/expressions/object/dstr-meth-dflt-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/expressions/object/dstr-meth-dflt-ary-ptrn-rest-not-final-ary.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var obj = {
diff --git a/test/language/expressions/object/dstr-meth-dflt-ary-ptrn-rest-not-final-id.js b/test/language/expressions/object/dstr-meth-dflt-ary-ptrn-rest-not-final-id.js
index eccbd43160..d8de9459c7 100644
--- a/test/language/expressions/object/dstr-meth-dflt-ary-ptrn-rest-not-final-id.js
+++ b/test/language/expressions/object/dstr-meth-dflt-ary-ptrn-rest-not-final-id.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var obj = {
diff --git a/test/language/expressions/object/dstr-meth-dflt-ary-ptrn-rest-not-final-obj.js b/test/language/expressions/object/dstr-meth-dflt-ary-ptrn-rest-not-final-obj.js
index 97f2236da3..85e6acf796 100644
--- a/test/language/expressions/object/dstr-meth-dflt-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/expressions/object/dstr-meth-dflt-ary-ptrn-rest-not-final-obj.js
@@ -49,7 +49,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 var obj = {
diff --git a/test/language/expressions/object/getter-body-strict-inside.js b/test/language/expressions/object/getter-body-strict-inside.js
index 279175dfd9..8b3545b8ef 100644
--- a/test/language/expressions/object/getter-body-strict-inside.js
+++ b/test/language/expressions/object/getter-body-strict-inside.js
@@ -12,7 +12,7 @@ negative:
 flags: [noStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 void {
   get x() {
diff --git a/test/language/expressions/object/getter-body-strict-outside.js b/test/language/expressions/object/getter-body-strict-outside.js
index aaf13120c0..708b2947b2 100644
--- a/test/language/expressions/object/getter-body-strict-outside.js
+++ b/test/language/expressions/object/getter-body-strict-outside.js
@@ -11,7 +11,7 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 void {
   get x() {
diff --git a/test/language/expressions/object/getter-param-dflt.js b/test/language/expressions/object/getter-param-dflt.js
index 3f9419b112..b7d67df037 100644
--- a/test/language/expressions/object/getter-param-dflt.js
+++ b/test/language/expressions/object/getter-param-dflt.js
@@ -18,6 +18,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, { get a(param = null) {} };
diff --git a/test/language/expressions/object/identifier-shorthand-invalid-computed-name.js b/test/language/expressions/object/identifier-shorthand-invalid-computed-name.js
index 9b36db402f..1e85f91357 100644
--- a/test/language/expressions/object/identifier-shorthand-invalid-computed-name.js
+++ b/test/language/expressions/object/identifier-shorthand-invalid-computed-name.js
@@ -24,6 +24,6 @@ negative:
 var x = "y";
 var y = 42;
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 ({[x]});
diff --git a/test/language/expressions/object/identifier-shorthand-invalid-zero.js b/test/language/expressions/object/identifier-shorthand-invalid-zero.js
index 0d0c5ea623..82265008a4 100644
--- a/test/language/expressions/object/identifier-shorthand-invalid-zero.js
+++ b/test/language/expressions/object/identifier-shorthand-invalid-zero.js
@@ -17,6 +17,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 ({0});
diff --git a/test/language/expressions/object/method-definition/async-await-as-binding-identifier-escaped.js b/test/language/expressions/object/method-definition/async-await-as-binding-identifier-escaped.js
index 96e90710d6..7109d354b2 100644
--- a/test/language/expressions/object/method-definition/async-await-as-binding-identifier-escaped.js
+++ b/test/language/expressions/object/method-definition/async-await-as-binding-identifier-escaped.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var obj = {
diff --git a/test/language/expressions/object/method-definition/async-await-as-binding-identifier.js b/test/language/expressions/object/method-definition/async-await-as-binding-identifier.js
index 8f392fe636..63c1d81ac8 100644
--- a/test/language/expressions/object/method-definition/async-await-as-binding-identifier.js
+++ b/test/language/expressions/object/method-definition/async-await-as-binding-identifier.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var obj = {
diff --git a/test/language/expressions/object/method-definition/async-await-as-identifier-reference-escaped.js b/test/language/expressions/object/method-definition/async-await-as-identifier-reference-escaped.js
index b5d602cc27..799dda00bd 100644
--- a/test/language/expressions/object/method-definition/async-await-as-identifier-reference-escaped.js
+++ b/test/language/expressions/object/method-definition/async-await-as-identifier-reference-escaped.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var obj = {
diff --git a/test/language/expressions/object/method-definition/async-await-as-identifier-reference.js b/test/language/expressions/object/method-definition/async-await-as-identifier-reference.js
index 309e7c04ed..24db88019c 100644
--- a/test/language/expressions/object/method-definition/async-await-as-identifier-reference.js
+++ b/test/language/expressions/object/method-definition/async-await-as-identifier-reference.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var obj = {
diff --git a/test/language/expressions/object/method-definition/async-await-as-label-identifier-escaped.js b/test/language/expressions/object/method-definition/async-await-as-label-identifier-escaped.js
index a4b0b90048..956e6d7193 100644
--- a/test/language/expressions/object/method-definition/async-await-as-label-identifier-escaped.js
+++ b/test/language/expressions/object/method-definition/async-await-as-label-identifier-escaped.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var obj = {
diff --git a/test/language/expressions/object/method-definition/async-await-as-label-identifier.js b/test/language/expressions/object/method-definition/async-await-as-label-identifier.js
index 8e62fdc98e..5ecfe4ee49 100644
--- a/test/language/expressions/object/method-definition/async-await-as-label-identifier.js
+++ b/test/language/expressions/object/method-definition/async-await-as-label-identifier.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var obj = {
diff --git a/test/language/expressions/object/method-definition/async-gen-await-as-binding-identifier-escaped.js b/test/language/expressions/object/method-definition/async-gen-await-as-binding-identifier-escaped.js
index df16d4f188..454c453b5e 100644
--- a/test/language/expressions/object/method-definition/async-gen-await-as-binding-identifier-escaped.js
+++ b/test/language/expressions/object/method-definition/async-gen-await-as-binding-identifier-escaped.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var obj = {
   async *method() {
diff --git a/test/language/expressions/object/method-definition/async-gen-await-as-binding-identifier.js b/test/language/expressions/object/method-definition/async-gen-await-as-binding-identifier.js
index ceb2b223ea..96b0339975 100644
--- a/test/language/expressions/object/method-definition/async-gen-await-as-binding-identifier.js
+++ b/test/language/expressions/object/method-definition/async-gen-await-as-binding-identifier.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var obj = {
   async *method() {
diff --git a/test/language/expressions/object/method-definition/async-gen-await-as-identifier-reference-escaped.js b/test/language/expressions/object/method-definition/async-gen-await-as-identifier-reference-escaped.js
index adea4b8554..290939a9fa 100644
--- a/test/language/expressions/object/method-definition/async-gen-await-as-identifier-reference-escaped.js
+++ b/test/language/expressions/object/method-definition/async-gen-await-as-identifier-reference-escaped.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var obj = {
   async *method() {
diff --git a/test/language/expressions/object/method-definition/async-gen-await-as-identifier-reference.js b/test/language/expressions/object/method-definition/async-gen-await-as-identifier-reference.js
index 81718d42cc..2b87d11a0d 100644
--- a/test/language/expressions/object/method-definition/async-gen-await-as-identifier-reference.js
+++ b/test/language/expressions/object/method-definition/async-gen-await-as-identifier-reference.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var obj = {
   async *method() {
diff --git a/test/language/expressions/object/method-definition/async-gen-await-as-label-identifier-escaped.js b/test/language/expressions/object/method-definition/async-gen-await-as-label-identifier-escaped.js
index 4d9aee6d84..c67efe8043 100644
--- a/test/language/expressions/object/method-definition/async-gen-await-as-label-identifier-escaped.js
+++ b/test/language/expressions/object/method-definition/async-gen-await-as-label-identifier-escaped.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var obj = {
   async *method() {
diff --git a/test/language/expressions/object/method-definition/async-gen-await-as-label-identifier.js b/test/language/expressions/object/method-definition/async-gen-await-as-label-identifier.js
index 888078fb39..14b9746c17 100644
--- a/test/language/expressions/object/method-definition/async-gen-await-as-label-identifier.js
+++ b/test/language/expressions/object/method-definition/async-gen-await-as-label-identifier.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var obj = {
   async *method() {
diff --git a/test/language/expressions/object/method-definition/async-gen-meth-dflt-params-duplicates.js b/test/language/expressions/object/method-definition/async-gen-meth-dflt-params-duplicates.js
index 131171eb28..6d74d64d4a 100644
--- a/test/language/expressions/object/method-definition/async-gen-meth-dflt-params-duplicates.js
+++ b/test/language/expressions/object/method-definition/async-gen-meth-dflt-params-duplicates.js
@@ -38,7 +38,7 @@ info: |
       elements.
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, {
   async *method(x = 0, x) {
diff --git a/test/language/expressions/object/method-definition/async-gen-meth-dflt-params-rest.js b/test/language/expressions/object/method-definition/async-gen-meth-dflt-params-rest.js
index 0f1c9766b8..b774ec1e3f 100644
--- a/test/language/expressions/object/method-definition/async-gen-meth-dflt-params-rest.js
+++ b/test/language/expressions/object/method-definition/async-gen-meth-dflt-params-rest.js
@@ -42,7 +42,7 @@ info: |
       ...BindingPattern[?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, {
   async *method(...x = []) {
diff --git a/test/language/expressions/object/method-definition/async-gen-meth-escaped-async.js b/test/language/expressions/object/method-definition/async-gen-meth-escaped-async.js
index 77a2082ea6..54e803f2ac 100644
--- a/test/language/expressions/object/method-definition/async-gen-meth-escaped-async.js
+++ b/test/language/expressions/object/method-definition/async-gen-meth-escaped-async.js
@@ -19,7 +19,7 @@ negative:
 features: [async-iteration]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 ({
     \u0061sync* m(){}
diff --git a/test/language/expressions/object/method-definition/async-gen-meth-rest-params-trailing-comma-early-error.js b/test/language/expressions/object/method-definition/async-gen-meth-rest-params-trailing-comma-early-error.js
index 3609993ca8..b15beb366c 100644
--- a/test/language/expressions/object/method-definition/async-gen-meth-rest-params-trailing-comma-early-error.js
+++ b/test/language/expressions/object/method-definition/async-gen-meth-rest-params-trailing-comma-early-error.js
@@ -35,7 +35,7 @@ info: |
         FormalParameterList[?Yield, ?Await] ,
         FormalParameterList[?Yield, ?Await] , FunctionRestParameter[?Yield, ?Await]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, {
   async *method(...a,) {
diff --git a/test/language/expressions/object/method-definition/async-gen-yield-as-binding-identifier-escaped.js b/test/language/expressions/object/method-definition/async-gen-yield-as-binding-identifier-escaped.js
index 4d83c6ae2b..0ed6225980 100644
--- a/test/language/expressions/object/method-definition/async-gen-yield-as-binding-identifier-escaped.js
+++ b/test/language/expressions/object/method-definition/async-gen-yield-as-binding-identifier-escaped.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var obj = {
   async *method() {
diff --git a/test/language/expressions/object/method-definition/async-gen-yield-as-binding-identifier.js b/test/language/expressions/object/method-definition/async-gen-yield-as-binding-identifier.js
index 3468c93265..a2825ee1a9 100644
--- a/test/language/expressions/object/method-definition/async-gen-yield-as-binding-identifier.js
+++ b/test/language/expressions/object/method-definition/async-gen-yield-as-binding-identifier.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var obj = {
   async *method() {
diff --git a/test/language/expressions/object/method-definition/async-gen-yield-as-identifier-reference-escaped.js b/test/language/expressions/object/method-definition/async-gen-yield-as-identifier-reference-escaped.js
index b7d8bdaa87..f6fba4870d 100644
--- a/test/language/expressions/object/method-definition/async-gen-yield-as-identifier-reference-escaped.js
+++ b/test/language/expressions/object/method-definition/async-gen-yield-as-identifier-reference-escaped.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var obj = {
   async *method() {
diff --git a/test/language/expressions/object/method-definition/async-gen-yield-as-identifier-reference.js b/test/language/expressions/object/method-definition/async-gen-yield-as-identifier-reference.js
index 6b90fe4b1b..9cf1aa9085 100644
--- a/test/language/expressions/object/method-definition/async-gen-yield-as-identifier-reference.js
+++ b/test/language/expressions/object/method-definition/async-gen-yield-as-identifier-reference.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var obj = {
   async *method() {
diff --git a/test/language/expressions/object/method-definition/async-gen-yield-as-label-identifier-escaped.js b/test/language/expressions/object/method-definition/async-gen-yield-as-label-identifier-escaped.js
index ac0b09875e..c48fc5154a 100644
--- a/test/language/expressions/object/method-definition/async-gen-yield-as-label-identifier-escaped.js
+++ b/test/language/expressions/object/method-definition/async-gen-yield-as-label-identifier-escaped.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var obj = {
   async *method() {
diff --git a/test/language/expressions/object/method-definition/async-gen-yield-as-label-identifier.js b/test/language/expressions/object/method-definition/async-gen-yield-as-label-identifier.js
index 3f032ef4d8..d98fdd4150 100644
--- a/test/language/expressions/object/method-definition/async-gen-yield-as-label-identifier.js
+++ b/test/language/expressions/object/method-definition/async-gen-yield-as-label-identifier.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var obj = {
   async *method() {
diff --git a/test/language/expressions/object/method-definition/async-gen-yield-identifier-spread-strict.js b/test/language/expressions/object/method-definition/async-gen-yield-identifier-spread-strict.js
index d08309a0df..fa5f001f81 100644
--- a/test/language/expressions/object/method-definition/async-gen-yield-identifier-spread-strict.js
+++ b/test/language/expressions/object/method-definition/async-gen-yield-identifier-spread-strict.js
@@ -23,7 +23,7 @@ info: |
       ...AssignmentExpression[In, ?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 
diff --git a/test/language/expressions/object/method-definition/async-gen-yield-identifier-strict.js b/test/language/expressions/object/method-definition/async-gen-yield-identifier-strict.js
index 774473bb1f..de7214d8a5 100644
--- a/test/language/expressions/object/method-definition/async-gen-yield-identifier-strict.js
+++ b/test/language/expressions/object/method-definition/async-gen-yield-identifier-strict.js
@@ -16,7 +16,7 @@ info: |
       async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody }
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 
diff --git a/test/language/expressions/object/method-definition/async-meth-dflt-params-duplicates.js b/test/language/expressions/object/method-definition/async-meth-dflt-params-duplicates.js
index aca0e50f07..f658f27f4c 100644
--- a/test/language/expressions/object/method-definition/async-meth-dflt-params-duplicates.js
+++ b/test/language/expressions/object/method-definition/async-meth-dflt-params-duplicates.js
@@ -30,7 +30,7 @@ info: |
       elements.
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 ({
diff --git a/test/language/expressions/object/method-definition/async-meth-dflt-params-rest.js b/test/language/expressions/object/method-definition/async-meth-dflt-params-rest.js
index a6d43ea791..4fa4ad46bd 100644
--- a/test/language/expressions/object/method-definition/async-meth-dflt-params-rest.js
+++ b/test/language/expressions/object/method-definition/async-meth-dflt-params-rest.js
@@ -34,7 +34,7 @@ info: |
       ...BindingPattern[?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 ({
diff --git a/test/language/expressions/object/method-definition/async-meth-escaped-async.js b/test/language/expressions/object/method-definition/async-meth-escaped-async.js
index d67def1488..cd0534858d 100644
--- a/test/language/expressions/object/method-definition/async-meth-escaped-async.js
+++ b/test/language/expressions/object/method-definition/async-meth-escaped-async.js
@@ -19,7 +19,7 @@ negative:
 features: [async-functions]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 ({
     \u0061sync m(){}
diff --git a/test/language/expressions/object/method-definition/async-meth-rest-params-trailing-comma-early-error.js b/test/language/expressions/object/method-definition/async-meth-rest-params-trailing-comma-early-error.js
index 1acfb3735a..ee1b1a4141 100644
--- a/test/language/expressions/object/method-definition/async-meth-rest-params-trailing-comma-early-error.js
+++ b/test/language/expressions/object/method-definition/async-meth-rest-params-trailing-comma-early-error.js
@@ -27,7 +27,7 @@ info: |
         FormalParameterList[?Yield, ?Await] ,
         FormalParameterList[?Yield, ?Await] , FunctionRestParameter[?Yield, ?Await]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 ({
diff --git a/test/language/expressions/object/method-definition/early-errors-object-method-NSPL-with-USD.js b/test/language/expressions/object/method-definition/early-errors-object-method-NSPL-with-USD.js
index 9d0da4574b..519e13c114 100644
--- a/test/language/expressions/object/method-definition/early-errors-object-method-NSPL-with-USD.js
+++ b/test/language/expressions/object/method-definition/early-errors-object-method-NSPL-with-USD.js
@@ -11,7 +11,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 ({
   foo(x = 1) {"use strict"}
 });
diff --git a/test/language/expressions/object/method-definition/early-errors-object-method-arguments-in-formal-parameters.js b/test/language/expressions/object/method-definition/early-errors-object-method-arguments-in-formal-parameters.js
index d278a540d2..6fe8ac0774 100644
--- a/test/language/expressions/object/method-definition/early-errors-object-method-arguments-in-formal-parameters.js
+++ b/test/language/expressions/object/method-definition/early-errors-object-method-arguments-in-formal-parameters.js
@@ -11,7 +11,7 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 ({
   async foo (arguments) { }
 })
diff --git a/test/language/expressions/object/method-definition/early-errors-object-method-async-lineterminator.js b/test/language/expressions/object/method-definition/early-errors-object-method-async-lineterminator.js
index 88368407e1..9d57661509 100644
--- a/test/language/expressions/object/method-definition/early-errors-object-method-async-lineterminator.js
+++ b/test/language/expressions/object/method-definition/early-errors-object-method-async-lineterminator.js
@@ -14,7 +14,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 ({
   async
diff --git a/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals-default.js b/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals-default.js
index cc993b43f7..fbdde90ff2 100644
--- a/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals-default.js
+++ b/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals-default.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 ({
   async foo (x = await) {  }
 })
diff --git a/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals.js b/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals.js
index 26e2713ec2..8e8c939fc8 100644
--- a/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals.js
+++ b/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 ({
   async foo (await) {  }
 })
diff --git a/test/language/expressions/object/method-definition/early-errors-object-method-body-contains-super-call.js b/test/language/expressions/object/method-definition/early-errors-object-method-body-contains-super-call.js
index 6c773a1898..4ed290b029 100644
--- a/test/language/expressions/object/method-definition/early-errors-object-method-body-contains-super-call.js
+++ b/test/language/expressions/object/method-definition/early-errors-object-method-body-contains-super-call.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 ({
   async foo () { super() }
 })
diff --git a/test/language/expressions/object/method-definition/early-errors-object-method-duplicate-parameters.js b/test/language/expressions/object/method-definition/early-errors-object-method-duplicate-parameters.js
index 87b7d478bb..5558f3e41f 100644
--- a/test/language/expressions/object/method-definition/early-errors-object-method-duplicate-parameters.js
+++ b/test/language/expressions/object/method-definition/early-errors-object-method-duplicate-parameters.js
@@ -11,7 +11,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 ({
   async foo(a, a) { }
 })
diff --git a/test/language/expressions/object/method-definition/early-errors-object-method-eval-in-formal-parameters.js b/test/language/expressions/object/method-definition/early-errors-object-method-eval-in-formal-parameters.js
index 92b0b1a12c..535513f6cb 100644
--- a/test/language/expressions/object/method-definition/early-errors-object-method-eval-in-formal-parameters.js
+++ b/test/language/expressions/object/method-definition/early-errors-object-method-eval-in-formal-parameters.js
@@ -11,7 +11,7 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 ({
   async foo(eval) { }
 })
diff --git a/test/language/expressions/object/method-definition/early-errors-object-method-formals-body-duplicate.js b/test/language/expressions/object/method-definition/early-errors-object-method-formals-body-duplicate.js
index 9b68698802..27a1a6c2b7 100644
--- a/test/language/expressions/object/method-definition/early-errors-object-method-formals-body-duplicate.js
+++ b/test/language/expressions/object/method-definition/early-errors-object-method-formals-body-duplicate.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 ({
   async function foo(bar) { let bar; }
diff --git a/test/language/expressions/object/method-definition/early-errors-object-method-formals-contains-super-call.js b/test/language/expressions/object/method-definition/early-errors-object-method-formals-contains-super-call.js
index 958fce8474..9960bc14fb 100644
--- a/test/language/expressions/object/method-definition/early-errors-object-method-formals-contains-super-call.js
+++ b/test/language/expressions/object/method-definition/early-errors-object-method-formals-contains-super-call.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 ({
   async foo(foo = super()) { }
 })
diff --git a/test/language/expressions/object/method-definition/escaped-get.js b/test/language/expressions/object/method-definition/escaped-get.js
index 283af4e1d1..153a7f1d0b 100644
--- a/test/language/expressions/object/method-definition/escaped-get.js
+++ b/test/language/expressions/object/method-definition/escaped-get.js
@@ -18,7 +18,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 ({
   g\u0065t m() {}
diff --git a/test/language/expressions/object/method-definition/escaped-set.js b/test/language/expressions/object/method-definition/escaped-set.js
index c764f47af6..31f640cd9e 100644
--- a/test/language/expressions/object/method-definition/escaped-set.js
+++ b/test/language/expressions/object/method-definition/escaped-set.js
@@ -18,7 +18,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 ({
   s\u0065t m(v) {}
diff --git a/test/language/expressions/object/method-definition/gen-meth-dflt-params-duplicates.js b/test/language/expressions/object/method-definition/gen-meth-dflt-params-duplicates.js
index d76840789c..d38b0166c3 100644
--- a/test/language/expressions/object/method-definition/gen-meth-dflt-params-duplicates.js
+++ b/test/language/expressions/object/method-definition/gen-meth-dflt-params-duplicates.js
@@ -60,7 +60,7 @@ info: |
       elements.
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, {
   *method(x = 0, x) {
diff --git a/test/language/expressions/object/method-definition/gen-meth-dflt-params-rest.js b/test/language/expressions/object/method-definition/gen-meth-dflt-params-rest.js
index 530709f7a1..e5e66a8702 100644
--- a/test/language/expressions/object/method-definition/gen-meth-dflt-params-rest.js
+++ b/test/language/expressions/object/method-definition/gen-meth-dflt-params-rest.js
@@ -64,7 +64,7 @@ info: |
       ...BindingPattern[?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, {
   *method(...x = []) {
diff --git a/test/language/expressions/object/method-definition/gen-meth-rest-params-trailing-comma-early-error.js b/test/language/expressions/object/method-definition/gen-meth-rest-params-trailing-comma-early-error.js
index 9cf8cafe75..b4ff9e82c0 100644
--- a/test/language/expressions/object/method-definition/gen-meth-rest-params-trailing-comma-early-error.js
+++ b/test/language/expressions/object/method-definition/gen-meth-rest-params-trailing-comma-early-error.js
@@ -57,7 +57,7 @@ info: |
         FormalParameterList[?Yield, ?Await] ,
         FormalParameterList[?Yield, ?Await] , FunctionRestParameter[?Yield, ?Await]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, {
   *method(...a,) {
diff --git a/test/language/expressions/object/method-definition/gen-yield-as-binding-identifier-escaped.js b/test/language/expressions/object/method-definition/gen-yield-as-binding-identifier-escaped.js
index cdf41c5fab..5bc0ac88be 100644
--- a/test/language/expressions/object/method-definition/gen-yield-as-binding-identifier-escaped.js
+++ b/test/language/expressions/object/method-definition/gen-yield-as-binding-identifier-escaped.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var obj = {
   *method() {
diff --git a/test/language/expressions/object/method-definition/gen-yield-as-binding-identifier.js b/test/language/expressions/object/method-definition/gen-yield-as-binding-identifier.js
index 3d0559ed37..7e4fd7b31b 100644
--- a/test/language/expressions/object/method-definition/gen-yield-as-binding-identifier.js
+++ b/test/language/expressions/object/method-definition/gen-yield-as-binding-identifier.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var obj = {
   *method() {
diff --git a/test/language/expressions/object/method-definition/gen-yield-as-identifier-reference-escaped.js b/test/language/expressions/object/method-definition/gen-yield-as-identifier-reference-escaped.js
index 0aa349ee42..8fc7ce139f 100644
--- a/test/language/expressions/object/method-definition/gen-yield-as-identifier-reference-escaped.js
+++ b/test/language/expressions/object/method-definition/gen-yield-as-identifier-reference-escaped.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var obj = {
   *method() {
diff --git a/test/language/expressions/object/method-definition/gen-yield-as-identifier-reference.js b/test/language/expressions/object/method-definition/gen-yield-as-identifier-reference.js
index 03517e0e54..0b1008c69f 100644
--- a/test/language/expressions/object/method-definition/gen-yield-as-identifier-reference.js
+++ b/test/language/expressions/object/method-definition/gen-yield-as-identifier-reference.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var obj = {
   *method() {
diff --git a/test/language/expressions/object/method-definition/gen-yield-as-label-identifier-escaped.js b/test/language/expressions/object/method-definition/gen-yield-as-label-identifier-escaped.js
index 6f822853a4..0e72d77596 100644
--- a/test/language/expressions/object/method-definition/gen-yield-as-label-identifier-escaped.js
+++ b/test/language/expressions/object/method-definition/gen-yield-as-label-identifier-escaped.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var obj = {
   *method() {
diff --git a/test/language/expressions/object/method-definition/gen-yield-as-label-identifier.js b/test/language/expressions/object/method-definition/gen-yield-as-label-identifier.js
index d500ddb1a0..e496903219 100644
--- a/test/language/expressions/object/method-definition/gen-yield-as-label-identifier.js
+++ b/test/language/expressions/object/method-definition/gen-yield-as-label-identifier.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var obj = {
   *method() {
diff --git a/test/language/expressions/object/method-definition/gen-yield-identifier-spread-strict.js b/test/language/expressions/object/method-definition/gen-yield-identifier-spread-strict.js
index 08e80baaa4..1f8535eea4 100644
--- a/test/language/expressions/object/method-definition/gen-yield-identifier-spread-strict.js
+++ b/test/language/expressions/object/method-definition/gen-yield-identifier-spread-strict.js
@@ -23,7 +23,7 @@ info: |
       ...AssignmentExpression[In, ?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 
diff --git a/test/language/expressions/object/method-definition/gen-yield-identifier-strict.js b/test/language/expressions/object/method-definition/gen-yield-identifier-strict.js
index 722db9647f..dda6fe5562 100644
--- a/test/language/expressions/object/method-definition/gen-yield-identifier-strict.js
+++ b/test/language/expressions/object/method-definition/gen-yield-identifier-strict.js
@@ -16,7 +16,7 @@ info: |
       * PropertyName[?Yield, ?Await] ( UniqueFormalParameters[+Yield, ~Await] ) { GeneratorBody }
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 
diff --git a/test/language/expressions/object/method-definition/generator-param-id-yield.js b/test/language/expressions/object/method-definition/generator-param-id-yield.js
index 8fb7d7fe95..7226a44bd2 100644
--- a/test/language/expressions/object/method-definition/generator-param-id-yield.js
+++ b/test/language/expressions/object/method-definition/generator-param-id-yield.js
@@ -13,7 +13,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 ({
   *method(yield) {}
diff --git a/test/language/expressions/object/method-definition/generator-param-init-yield.js b/test/language/expressions/object/method-definition/generator-param-init-yield.js
index 51856b7fe1..a63139eaf2 100644
--- a/test/language/expressions/object/method-definition/generator-param-init-yield.js
+++ b/test/language/expressions/object/method-definition/generator-param-init-yield.js
@@ -13,7 +13,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (function*() {
   ({
diff --git a/test/language/expressions/object/method-definition/generator-param-redecl-const.js b/test/language/expressions/object/method-definition/generator-param-redecl-const.js
index 5abe6e73be..b011721815 100644
--- a/test/language/expressions/object/method-definition/generator-param-redecl-const.js
+++ b/test/language/expressions/object/method-definition/generator-param-redecl-const.js
@@ -4,7 +4,7 @@
 /*---
 info: |
  GeneratorMethod early SyntaxError when lexical declaration
- inside generator shadows parameter name 
+ inside generator shadows parameter name
 features: [generators]
 es6id: 14.4.1
 author: Sam Mikes
@@ -14,7 +14,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var obj = {
     *foo(a) {
diff --git a/test/language/expressions/object/method-definition/generator-param-redecl-let.js b/test/language/expressions/object/method-definition/generator-param-redecl-let.js
index ca64cf6350..fab88ce203 100644
--- a/test/language/expressions/object/method-definition/generator-param-redecl-let.js
+++ b/test/language/expressions/object/method-definition/generator-param-redecl-let.js
@@ -4,7 +4,7 @@
 /*---
 info: |
  GeneratorMethod early SyntaxError when lexical declaration
- inside generator shadows parameter name 
+ inside generator shadows parameter name
 features: [generators]
 es6id: 14.4.1
 author: Sam Mikes
@@ -14,7 +14,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var obj = {
     *foo(a) {
diff --git a/test/language/expressions/object/method-definition/generator-super-call-body.js b/test/language/expressions/object/method-definition/generator-super-call-body.js
index f0031d0ecc..782a90275e 100644
--- a/test/language/expressions/object/method-definition/generator-super-call-body.js
+++ b/test/language/expressions/object/method-definition/generator-super-call-body.js
@@ -14,7 +14,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var obj = {
     *foo(a) {
diff --git a/test/language/expressions/object/method-definition/generator-super-call-param.js b/test/language/expressions/object/method-definition/generator-super-call-param.js
index 05ad7f0671..a54c41429c 100644
--- a/test/language/expressions/object/method-definition/generator-super-call-param.js
+++ b/test/language/expressions/object/method-definition/generator-super-call-param.js
@@ -3,7 +3,7 @@
 
 /*---
 info: |
- GeneratorMethod early SyntaxError when super is called 
+ GeneratorMethod early SyntaxError when super is called
  directly inside generator args
 features: [generators]
 es6id: 14.4.1
@@ -14,7 +14,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var obj = {
     *foo(a = super()) {
diff --git a/test/language/expressions/object/method-definition/generator-use-strict-with-non-simple-param.js b/test/language/expressions/object/method-definition/generator-use-strict-with-non-simple-param.js
index 71b983c964..493b0708a5 100644
--- a/test/language/expressions/object/method-definition/generator-use-strict-with-non-simple-param.js
+++ b/test/language/expressions/object/method-definition/generator-use-strict-with-non-simple-param.js
@@ -15,7 +15,7 @@ negative:
 features: [generators]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var o = {
   *m(a = 0) {
diff --git a/test/language/expressions/object/method-definition/meth-dflt-params-duplicates.js b/test/language/expressions/object/method-definition/meth-dflt-params-duplicates.js
index 513c022c1d..a370be1148 100644
--- a/test/language/expressions/object/method-definition/meth-dflt-params-duplicates.js
+++ b/test/language/expressions/object/method-definition/meth-dflt-params-duplicates.js
@@ -56,7 +56,7 @@ info: |
       elements.
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, {
   method(x = 0, x) {
diff --git a/test/language/expressions/object/method-definition/meth-dflt-params-rest.js b/test/language/expressions/object/method-definition/meth-dflt-params-rest.js
index 0216c4c683..446d40ccb4 100644
--- a/test/language/expressions/object/method-definition/meth-dflt-params-rest.js
+++ b/test/language/expressions/object/method-definition/meth-dflt-params-rest.js
@@ -60,7 +60,7 @@ info: |
       ...BindingPattern[?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, {
   method(...x = []) {
diff --git a/test/language/expressions/object/method-definition/meth-rest-params-trailing-comma-early-error.js b/test/language/expressions/object/method-definition/meth-rest-params-trailing-comma-early-error.js
index ec2cb08573..c634518b50 100644
--- a/test/language/expressions/object/method-definition/meth-rest-params-trailing-comma-early-error.js
+++ b/test/language/expressions/object/method-definition/meth-rest-params-trailing-comma-early-error.js
@@ -52,7 +52,7 @@ info: |
         FormalParameterList[?Yield, ?Await] ,
         FormalParameterList[?Yield, ?Await] , FunctionRestParameter[?Yield, ?Await]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0, {
   method(...a,) {
diff --git a/test/language/expressions/object/method-definition/name-param-redecl.js b/test/language/expressions/object/method-definition/name-param-redecl.js
index 2ca03c900b..e0a54b1208 100644
--- a/test/language/expressions/object/method-definition/name-param-redecl.js
+++ b/test/language/expressions/object/method-definition/name-param-redecl.js
@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var obj = {
   method(param) {
diff --git a/test/language/expressions/object/method-definition/name-super-call-body.js b/test/language/expressions/object/method-definition/name-super-call-body.js
index 36d1a9d9df..c33c42be01 100644
--- a/test/language/expressions/object/method-definition/name-super-call-body.js
+++ b/test/language/expressions/object/method-definition/name-super-call-body.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 ({
   method() {
diff --git a/test/language/expressions/object/method-definition/name-super-call-param.js b/test/language/expressions/object/method-definition/name-super-call-param.js
index bd28519f73..bafe1879f8 100644
--- a/test/language/expressions/object/method-definition/name-super-call-param.js
+++ b/test/language/expressions/object/method-definition/name-super-call-param.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 ({
   method(param = super) {}
diff --git a/test/language/expressions/object/method-definition/setter-use-strict-with-non-simple-param.js b/test/language/expressions/object/method-definition/setter-use-strict-with-non-simple-param.js
index 2d9fdec959..429da51c28 100644
--- a/test/language/expressions/object/method-definition/setter-use-strict-with-non-simple-param.js
+++ b/test/language/expressions/object/method-definition/setter-use-strict-with-non-simple-param.js
@@ -14,7 +14,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var o = {
   set m(a = 0) {
diff --git a/test/language/expressions/object/method-definition/use-strict-with-non-simple-param.js b/test/language/expressions/object/method-definition/use-strict-with-non-simple-param.js
index 826b2e4158..42f5c8ada9 100644
--- a/test/language/expressions/object/method-definition/use-strict-with-non-simple-param.js
+++ b/test/language/expressions/object/method-definition/use-strict-with-non-simple-param.js
@@ -14,7 +14,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var o = {
   m(a = 0) {
diff --git a/test/language/expressions/object/method-definition/yield-as-logical-or-expression.js b/test/language/expressions/object/method-definition/yield-as-logical-or-expression.js
index 59d798e91e..5203daa6eb 100644
--- a/test/language/expressions/object/method-definition/yield-as-logical-or-expression.js
+++ b/test/language/expressions/object/method-definition/yield-as-logical-or-expression.js
@@ -11,7 +11,7 @@
     type: SyntaxError
  ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var obj = {
   *g() {
diff --git a/test/language/expressions/object/method-definition/yield-as-parameter.js b/test/language/expressions/object/method-definition/yield-as-parameter.js
index 72e546f95d..2305b1c265 100644
--- a/test/language/expressions/object/method-definition/yield-as-parameter.js
+++ b/test/language/expressions/object/method-definition/yield-as-parameter.js
@@ -12,7 +12,7 @@
     type: SyntaxError
  ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var obj = {
   *g(yield) {}
diff --git a/test/language/expressions/object/method-definition/yield-star-after-newline.js b/test/language/expressions/object/method-definition/yield-star-after-newline.js
index 3e4fa5f980..469727f16b 100644
--- a/test/language/expressions/object/method-definition/yield-star-after-newline.js
+++ b/test/language/expressions/object/method-definition/yield-star-after-newline.js
@@ -11,7 +11,7 @@
     type: SyntaxError
  ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var obj = {
   *g() {
diff --git a/test/language/expressions/object/method-definition/yield-weak-binding.js b/test/language/expressions/object/method-definition/yield-weak-binding.js
index a790adb755..6670cc7849 100644
--- a/test/language/expressions/object/method-definition/yield-weak-binding.js
+++ b/test/language/expressions/object/method-definition/yield-weak-binding.js
@@ -11,7 +11,7 @@
     type: SyntaxError
  ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var obj = {
   *g() { yield 3 + yield 4; }
diff --git a/test/language/expressions/object/prop-def-invalid-async-prefix.js b/test/language/expressions/object/prop-def-invalid-async-prefix.js
index 802cac438f..f72ec27726 100644
--- a/test/language/expressions/object/prop-def-invalid-async-prefix.js
+++ b/test/language/expressions/object/prop-def-invalid-async-prefix.js
@@ -30,6 +30,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 ({async async});
diff --git a/test/language/expressions/object/setter-body-strict-inside.js b/test/language/expressions/object/setter-body-strict-inside.js
index 56e776a04f..6100bb9d58 100644
--- a/test/language/expressions/object/setter-body-strict-inside.js
+++ b/test/language/expressions/object/setter-body-strict-inside.js
@@ -12,7 +12,7 @@ negative:
 flags: [noStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 void {
   set x(value) {
diff --git a/test/language/expressions/object/setter-body-strict-outside.js b/test/language/expressions/object/setter-body-strict-outside.js
index 3587afb53c..da3cd978ab 100644
--- a/test/language/expressions/object/setter-body-strict-outside.js
+++ b/test/language/expressions/object/setter-body-strict-outside.js
@@ -11,7 +11,7 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 void {
   set x(value) {
diff --git a/test/language/expressions/object/setter-param-arguments-strict-inside.js b/test/language/expressions/object/setter-param-arguments-strict-inside.js
index d5a19e5c77..7ebae2e562 100644
--- a/test/language/expressions/object/setter-param-arguments-strict-inside.js
+++ b/test/language/expressions/object/setter-param-arguments-strict-inside.js
@@ -12,7 +12,7 @@ negative:
 flags: [noStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 void {
   set x(arguments) {
diff --git a/test/language/expressions/object/setter-param-arguments-strict-outside.js b/test/language/expressions/object/setter-param-arguments-strict-outside.js
index 1cf1d58c3b..74cef5cce7 100644
--- a/test/language/expressions/object/setter-param-arguments-strict-outside.js
+++ b/test/language/expressions/object/setter-param-arguments-strict-outside.js
@@ -12,7 +12,7 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 void {
   set x(arguments) {}
diff --git a/test/language/expressions/object/setter-param-eval-strict-inside.js b/test/language/expressions/object/setter-param-eval-strict-inside.js
index f666963945..143bbe732c 100644
--- a/test/language/expressions/object/setter-param-eval-strict-inside.js
+++ b/test/language/expressions/object/setter-param-eval-strict-inside.js
@@ -12,7 +12,7 @@ negative:
 flags: [noStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 void {
   set x(eval) {
diff --git a/test/language/expressions/object/setter-param-eval-strict-outside.js b/test/language/expressions/object/setter-param-eval-strict-outside.js
index d2643f55ba..8cc908afb2 100644
--- a/test/language/expressions/object/setter-param-eval-strict-outside.js
+++ b/test/language/expressions/object/setter-param-eval-strict-outside.js
@@ -12,7 +12,7 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 void {
   set x(eval) {}
diff --git a/test/language/expressions/postfix-decrement/arguments.js b/test/language/expressions/postfix-decrement/arguments.js
index a75b5cf45e..67910b3c11 100644
--- a/test/language/expressions/postfix-decrement/arguments.js
+++ b/test/language/expressions/postfix-decrement/arguments.js
@@ -13,6 +13,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 arguments--;
diff --git a/test/language/expressions/postfix-decrement/eval.js b/test/language/expressions/postfix-decrement/eval.js
index 56abf2077f..f406580ab2 100644
--- a/test/language/expressions/postfix-decrement/eval.js
+++ b/test/language/expressions/postfix-decrement/eval.js
@@ -13,6 +13,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 eval--;
diff --git a/test/language/expressions/postfix-decrement/line-terminator-carriage-return.js b/test/language/expressions/postfix-decrement/line-terminator-carriage-return.js
index e81dfe3832..3d21f70ef5 100644
--- a/test/language/expressions/postfix-decrement/line-terminator-carriage-return.js
+++ b/test/language/expressions/postfix-decrement/line-terminator-carriage-return.js
@@ -11,7 +11,8 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
-x
--;
+x
+--;
 // The preceding line contains an unprintable CARRIAGE RETURN character (U+000D)
diff --git a/test/language/expressions/postfix-decrement/line-terminator-line-feed.js b/test/language/expressions/postfix-decrement/line-terminator-line-feed.js
index a928d0770c..8af18a5024 100644
--- a/test/language/expressions/postfix-decrement/line-terminator-line-feed.js
+++ b/test/language/expressions/postfix-decrement/line-terminator-line-feed.js
@@ -11,7 +11,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 x
 --;
diff --git a/test/language/expressions/postfix-decrement/line-terminator-line-separator.js b/test/language/expressions/postfix-decrement/line-terminator-line-separator.js
index c934abb450..d1c479ea41 100644
--- a/test/language/expressions/postfix-decrement/line-terminator-line-separator.js
+++ b/test/language/expressions/postfix-decrement/line-terminator-line-separator.js
@@ -11,7 +11,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 x
--;
 // The preceding line contains an unprintable LINE SEPARATOR character (U+2028)
diff --git a/test/language/expressions/postfix-decrement/line-terminator-paragraph-separator.js b/test/language/expressions/postfix-decrement/line-terminator-paragraph-separator.js
index a7351a61ad..a384906f45 100644
--- a/test/language/expressions/postfix-decrement/line-terminator-paragraph-separator.js
+++ b/test/language/expressions/postfix-decrement/line-terminator-paragraph-separator.js
@@ -11,7 +11,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 x
--;
 // The preceding line contains an unprintable PARAGRAPH SEPARATOR character
diff --git a/test/language/expressions/postfix-decrement/non-simple.js b/test/language/expressions/postfix-decrement/non-simple.js
index 6dff60d9d6..6f90ac91c0 100644
--- a/test/language/expressions/postfix-decrement/non-simple.js
+++ b/test/language/expressions/postfix-decrement/non-simple.js
@@ -12,6 +12,6 @@ negative:
   type: ReferenceError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 1--;
diff --git a/test/language/expressions/postfix-decrement/target-cover-newtarget.js b/test/language/expressions/postfix-decrement/target-cover-newtarget.js
index f99504b159..0c0e48f989 100644
--- a/test/language/expressions/postfix-decrement/target-cover-newtarget.js
+++ b/test/language/expressions/postfix-decrement/target-cover-newtarget.js
@@ -25,7 +25,7 @@ negative:
 features: [new.target]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function f() {
   (new.target)--;
diff --git a/test/language/expressions/postfix-decrement/target-cover-yieldexpr.js b/test/language/expressions/postfix-decrement/target-cover-yieldexpr.js
index 78e633e952..3576226914 100644
--- a/test/language/expressions/postfix-decrement/target-cover-yieldexpr.js
+++ b/test/language/expressions/postfix-decrement/target-cover-yieldexpr.js
@@ -27,7 +27,7 @@ negative:
   type: ReferenceError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function* g() {
   (yield)--;
diff --git a/test/language/expressions/postfix-decrement/target-newtarget.js b/test/language/expressions/postfix-decrement/target-newtarget.js
index 8d3e98b407..7a039843b4 100644
--- a/test/language/expressions/postfix-decrement/target-newtarget.js
+++ b/test/language/expressions/postfix-decrement/target-newtarget.js
@@ -25,7 +25,7 @@ negative:
 features: [new.target]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function f() {
   new.target--;
diff --git a/test/language/expressions/postfix-increment/11.3.1-2-1gs.js b/test/language/expressions/postfix-increment/11.3.1-2-1gs.js
index 30785c298d..494022a711 100644
--- a/test/language/expressions/postfix-increment/11.3.1-2-1gs.js
+++ b/test/language/expressions/postfix-increment/11.3.1-2-1gs.js
@@ -12,6 +12,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 arguments++;
diff --git a/test/language/expressions/postfix-increment/arguments.js b/test/language/expressions/postfix-increment/arguments.js
index fc2a982cae..75a5a7603f 100644
--- a/test/language/expressions/postfix-increment/arguments.js
+++ b/test/language/expressions/postfix-increment/arguments.js
@@ -13,6 +13,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 arguments++;
diff --git a/test/language/expressions/postfix-increment/eval.js b/test/language/expressions/postfix-increment/eval.js
index c509cb5799..4493a9df63 100644
--- a/test/language/expressions/postfix-increment/eval.js
+++ b/test/language/expressions/postfix-increment/eval.js
@@ -13,6 +13,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 eval++;
diff --git a/test/language/expressions/postfix-increment/line-terminator-carriage-return.js b/test/language/expressions/postfix-increment/line-terminator-carriage-return.js
index dbed76b7db..4b9bc5f47c 100644
--- a/test/language/expressions/postfix-increment/line-terminator-carriage-return.js
+++ b/test/language/expressions/postfix-increment/line-terminator-carriage-return.js
@@ -11,7 +11,8 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
-x
++;
+x
+++;
 // The preceding line contains an unprintable CARRIAGE RETURN character (U+000D)
diff --git a/test/language/expressions/postfix-increment/line-terminator-line-feed.js b/test/language/expressions/postfix-increment/line-terminator-line-feed.js
index 01ed086acd..2bad0a2825 100644
--- a/test/language/expressions/postfix-increment/line-terminator-line-feed.js
+++ b/test/language/expressions/postfix-increment/line-terminator-line-feed.js
@@ -11,7 +11,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 x
 ++;
diff --git a/test/language/expressions/postfix-increment/line-terminator-line-separator.js b/test/language/expressions/postfix-increment/line-terminator-line-separator.js
index 1c971848f8..f3fe3a0a5b 100644
--- a/test/language/expressions/postfix-increment/line-terminator-line-separator.js
+++ b/test/language/expressions/postfix-increment/line-terminator-line-separator.js
@@ -11,7 +11,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 x
++;
 // The preceding line contains an unprintable LINE SEPARATOR character (U+2028)
diff --git a/test/language/expressions/postfix-increment/line-terminator-paragraph-separator.js b/test/language/expressions/postfix-increment/line-terminator-paragraph-separator.js
index 2ffe94af63..fe59704953 100644
--- a/test/language/expressions/postfix-increment/line-terminator-paragraph-separator.js
+++ b/test/language/expressions/postfix-increment/line-terminator-paragraph-separator.js
@@ -11,7 +11,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 x
++;
 // The preceding line contains an unprintable PARAGRAPH SEPARATOR character
diff --git a/test/language/expressions/postfix-increment/non-simple.js b/test/language/expressions/postfix-increment/non-simple.js
index 0044072092..7df3e6ee4d 100644
--- a/test/language/expressions/postfix-increment/non-simple.js
+++ b/test/language/expressions/postfix-increment/non-simple.js
@@ -12,6 +12,6 @@ negative:
   type: ReferenceError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 1++;
diff --git a/test/language/expressions/postfix-increment/target-cover-newtarget.js b/test/language/expressions/postfix-increment/target-cover-newtarget.js
index 84747a21b4..db73f89907 100644
--- a/test/language/expressions/postfix-increment/target-cover-newtarget.js
+++ b/test/language/expressions/postfix-increment/target-cover-newtarget.js
@@ -25,7 +25,7 @@ negative:
 features: [new.target]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function f() {
   (new.target)++;
diff --git a/test/language/expressions/postfix-increment/target-cover-yieldexpr.js b/test/language/expressions/postfix-increment/target-cover-yieldexpr.js
index 81336fe2d4..df76917ab4 100644
--- a/test/language/expressions/postfix-increment/target-cover-yieldexpr.js
+++ b/test/language/expressions/postfix-increment/target-cover-yieldexpr.js
@@ -27,7 +27,7 @@ negative:
   type: ReferenceError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function* g() {
   (yield)++;
diff --git a/test/language/expressions/postfix-increment/target-newtarget.js b/test/language/expressions/postfix-increment/target-newtarget.js
index 81db503c0d..793e57b2a4 100644
--- a/test/language/expressions/postfix-increment/target-newtarget.js
+++ b/test/language/expressions/postfix-increment/target-newtarget.js
@@ -25,7 +25,7 @@ negative:
 features: [new.target]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function f() {
   new.target++;
diff --git a/test/language/expressions/prefix-decrement/11.4.5-2-2gs.js b/test/language/expressions/prefix-decrement/11.4.5-2-2gs.js
index 5bc002c8c7..87e5eead0c 100644
--- a/test/language/expressions/prefix-decrement/11.4.5-2-2gs.js
+++ b/test/language/expressions/prefix-decrement/11.4.5-2-2gs.js
@@ -12,6 +12,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 --arguments;
diff --git a/test/language/expressions/prefix-decrement/arguments.js b/test/language/expressions/prefix-decrement/arguments.js
index 47fbb66e34..199710535c 100644
--- a/test/language/expressions/prefix-decrement/arguments.js
+++ b/test/language/expressions/prefix-decrement/arguments.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 --arguments;
diff --git a/test/language/expressions/prefix-decrement/eval.js b/test/language/expressions/prefix-decrement/eval.js
index 22998ad514..0345d73cc9 100644
--- a/test/language/expressions/prefix-decrement/eval.js
+++ b/test/language/expressions/prefix-decrement/eval.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 --eval;
diff --git a/test/language/expressions/prefix-decrement/non-simple.js b/test/language/expressions/prefix-decrement/non-simple.js
index 64b64df028..0b6206b4cb 100644
--- a/test/language/expressions/prefix-decrement/non-simple.js
+++ b/test/language/expressions/prefix-decrement/non-simple.js
@@ -12,6 +12,6 @@ negative:
   type: ReferenceError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 --1;
diff --git a/test/language/expressions/prefix-decrement/target-cover-newtarget.js b/test/language/expressions/prefix-decrement/target-cover-newtarget.js
index c67f787715..14bfdc795a 100644
--- a/test/language/expressions/prefix-decrement/target-cover-newtarget.js
+++ b/test/language/expressions/prefix-decrement/target-cover-newtarget.js
@@ -25,7 +25,7 @@ negative:
 features: [new.target]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function f() {
   --(new.target);
diff --git a/test/language/expressions/prefix-decrement/target-cover-yieldexpr.js b/test/language/expressions/prefix-decrement/target-cover-yieldexpr.js
index ab7bfd639e..5ad674a38a 100644
--- a/test/language/expressions/prefix-decrement/target-cover-yieldexpr.js
+++ b/test/language/expressions/prefix-decrement/target-cover-yieldexpr.js
@@ -27,7 +27,7 @@ negative:
   type: ReferenceError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function* g() {
   --(yield);
diff --git a/test/language/expressions/prefix-decrement/target-newtarget.js b/test/language/expressions/prefix-decrement/target-newtarget.js
index 4d1b8b06d6..706a85dabf 100644
--- a/test/language/expressions/prefix-decrement/target-newtarget.js
+++ b/test/language/expressions/prefix-decrement/target-newtarget.js
@@ -25,7 +25,7 @@ negative:
 features: [new.target]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function f() {
   --new.target;
diff --git a/test/language/expressions/prefix-increment/arguments.js b/test/language/expressions/prefix-increment/arguments.js
index 7775b81243..d073c815be 100644
--- a/test/language/expressions/prefix-increment/arguments.js
+++ b/test/language/expressions/prefix-increment/arguments.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 ++arguments;
diff --git a/test/language/expressions/prefix-increment/eval.js b/test/language/expressions/prefix-increment/eval.js
index 4770db3445..f3aa1d6245 100644
--- a/test/language/expressions/prefix-increment/eval.js
+++ b/test/language/expressions/prefix-increment/eval.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 ++eval;
diff --git a/test/language/expressions/prefix-increment/non-simple.js b/test/language/expressions/prefix-increment/non-simple.js
index b063eca0b0..c7b0cddec2 100644
--- a/test/language/expressions/prefix-increment/non-simple.js
+++ b/test/language/expressions/prefix-increment/non-simple.js
@@ -12,6 +12,6 @@ negative:
   type: ReferenceError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 ++1;
diff --git a/test/language/expressions/prefix-increment/target-cover-newtarget.js b/test/language/expressions/prefix-increment/target-cover-newtarget.js
index fc7295a5e6..353db43e0c 100644
--- a/test/language/expressions/prefix-increment/target-cover-newtarget.js
+++ b/test/language/expressions/prefix-increment/target-cover-newtarget.js
@@ -25,7 +25,7 @@ negative:
 features: [new.target]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function f() {
   ++(new.target);
diff --git a/test/language/expressions/prefix-increment/target-cover-yieldexpr.js b/test/language/expressions/prefix-increment/target-cover-yieldexpr.js
index d5d0343588..7357046915 100644
--- a/test/language/expressions/prefix-increment/target-cover-yieldexpr.js
+++ b/test/language/expressions/prefix-increment/target-cover-yieldexpr.js
@@ -27,7 +27,7 @@ negative:
   type: ReferenceError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function* g() {
   ++(yield);
diff --git a/test/language/expressions/prefix-increment/target-newtarget.js b/test/language/expressions/prefix-increment/target-newtarget.js
index 5bb720df9d..492e3c08f5 100644
--- a/test/language/expressions/prefix-increment/target-newtarget.js
+++ b/test/language/expressions/prefix-increment/target-newtarget.js
@@ -25,7 +25,7 @@ negative:
 features: [new.target]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function f() {
   ++new.target;
diff --git a/test/language/expressions/property-accessors/non-identifier-name.js b/test/language/expressions/property-accessors/non-identifier-name.js
index 7057341370..6b4121d326 100644
--- a/test/language/expressions/property-accessors/non-identifier-name.js
+++ b/test/language/expressions/property-accessors/non-identifier-name.js
@@ -15,6 +15,6 @@ negative:
   phase: parse
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 unresolvableReference."";
diff --git a/test/language/expressions/template-literal/invalid-hexidecimal-character-escape-sequence-truncated-1.js b/test/language/expressions/template-literal/invalid-hexidecimal-character-escape-sequence-truncated-1.js
index 2aa9092f84..640d341b2d 100644
--- a/test/language/expressions/template-literal/invalid-hexidecimal-character-escape-sequence-truncated-1.js
+++ b/test/language/expressions/template-literal/invalid-hexidecimal-character-escape-sequence-truncated-1.js
@@ -8,6 +8,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 `\x0`;
diff --git a/test/language/expressions/template-literal/invalid-hexidecimal-character-escape-sequence-truncated-2.js b/test/language/expressions/template-literal/invalid-hexidecimal-character-escape-sequence-truncated-2.js
index 0763439dc8..636319011e 100644
--- a/test/language/expressions/template-literal/invalid-hexidecimal-character-escape-sequence-truncated-2.js
+++ b/test/language/expressions/template-literal/invalid-hexidecimal-character-escape-sequence-truncated-2.js
@@ -8,6 +8,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 `\x0G`;
diff --git a/test/language/expressions/template-literal/invalid-hexidecimal-character-escape-sequence-truncated-3.js b/test/language/expressions/template-literal/invalid-hexidecimal-character-escape-sequence-truncated-3.js
index ef60b2aad3..c0f3ae6dd4 100644
--- a/test/language/expressions/template-literal/invalid-hexidecimal-character-escape-sequence-truncated-3.js
+++ b/test/language/expressions/template-literal/invalid-hexidecimal-character-escape-sequence-truncated-3.js
@@ -8,6 +8,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 `\xG`;
diff --git a/test/language/expressions/template-literal/invalid-legacy-octal-escape-sequence.js b/test/language/expressions/template-literal/invalid-legacy-octal-escape-sequence.js
index 85aa95bb9b..501ef3dfb1 100644
--- a/test/language/expressions/template-literal/invalid-legacy-octal-escape-sequence.js
+++ b/test/language/expressions/template-literal/invalid-legacy-octal-escape-sequence.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 `\00`;
diff --git a/test/language/expressions/template-literal/invalid-unicode-escape-sequence-1.js b/test/language/expressions/template-literal/invalid-unicode-escape-sequence-1.js
index b231752a4e..80b064d161 100644
--- a/test/language/expressions/template-literal/invalid-unicode-escape-sequence-1.js
+++ b/test/language/expressions/template-literal/invalid-unicode-escape-sequence-1.js
@@ -8,6 +8,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 `\u0`;
diff --git a/test/language/expressions/template-literal/invalid-unicode-escape-sequence-2.js b/test/language/expressions/template-literal/invalid-unicode-escape-sequence-2.js
index 4364cb7f4e..af1c703a18 100644
--- a/test/language/expressions/template-literal/invalid-unicode-escape-sequence-2.js
+++ b/test/language/expressions/template-literal/invalid-unicode-escape-sequence-2.js
@@ -8,6 +8,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 `\u0g`;
diff --git a/test/language/expressions/template-literal/invalid-unicode-escape-sequence-3.js b/test/language/expressions/template-literal/invalid-unicode-escape-sequence-3.js
index c04058a8a7..ddf076dc74 100644
--- a/test/language/expressions/template-literal/invalid-unicode-escape-sequence-3.js
+++ b/test/language/expressions/template-literal/invalid-unicode-escape-sequence-3.js
@@ -8,6 +8,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 `\u00g`;
diff --git a/test/language/expressions/template-literal/invalid-unicode-escape-sequence-4.js b/test/language/expressions/template-literal/invalid-unicode-escape-sequence-4.js
index e50a023895..5a6b4cae94 100644
--- a/test/language/expressions/template-literal/invalid-unicode-escape-sequence-4.js
+++ b/test/language/expressions/template-literal/invalid-unicode-escape-sequence-4.js
@@ -8,6 +8,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 `\u000g`;
diff --git a/test/language/expressions/template-literal/invalid-unicode-escape-sequence-5.js b/test/language/expressions/template-literal/invalid-unicode-escape-sequence-5.js
index 91bfe14f52..bb3e9ccff0 100644
--- a/test/language/expressions/template-literal/invalid-unicode-escape-sequence-5.js
+++ b/test/language/expressions/template-literal/invalid-unicode-escape-sequence-5.js
@@ -8,6 +8,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 `\u{g`;
diff --git a/test/language/expressions/template-literal/invalid-unicode-escape-sequence-6.js b/test/language/expressions/template-literal/invalid-unicode-escape-sequence-6.js
index 052898c67c..881ec89901 100644
--- a/test/language/expressions/template-literal/invalid-unicode-escape-sequence-6.js
+++ b/test/language/expressions/template-literal/invalid-unicode-escape-sequence-6.js
@@ -8,6 +8,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 `\u{0`;
diff --git a/test/language/expressions/template-literal/invalid-unicode-escape-sequence-7.js b/test/language/expressions/template-literal/invalid-unicode-escape-sequence-7.js
index 774e54a745..07b972a4f2 100644
--- a/test/language/expressions/template-literal/invalid-unicode-escape-sequence-7.js
+++ b/test/language/expressions/template-literal/invalid-unicode-escape-sequence-7.js
@@ -8,6 +8,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 `\u{10FFFFF}`;
diff --git a/test/language/expressions/template-literal/invalid-unicode-escape-sequence-8.js b/test/language/expressions/template-literal/invalid-unicode-escape-sequence-8.js
index 312778d26a..92d5996220 100644
--- a/test/language/expressions/template-literal/invalid-unicode-escape-sequence-8.js
+++ b/test/language/expressions/template-literal/invalid-unicode-escape-sequence-8.js
@@ -8,6 +8,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 `\u{10FFFFF}${'inner'}right`;
diff --git a/test/language/expressions/template-literal/unicode-escape-nls-err.js b/test/language/expressions/template-literal/unicode-escape-nls-err.js
index 64085f275d..50a81d474f 100644
--- a/test/language/expressions/template-literal/unicode-escape-nls-err.js
+++ b/test/language/expressions/template-literal/unicode-escape-nls-err.js
@@ -50,6 +50,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 `\u{1F_639}`;
diff --git a/test/language/expressions/this/S11.1.1_A1.js b/test/language/expressions/this/S11.1.1_A1.js
index be0a92058b..fe9d0bc995 100644
--- a/test/language/expressions/this/S11.1.1_A1.js
+++ b/test/language/expressions/this/S11.1.1_A1.js
@@ -10,6 +10,6 @@ negative:
   type: ReferenceError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 this = 1;
diff --git a/test/language/expressions/yield/in-iteration-stmt.js b/test/language/expressions/yield/in-iteration-stmt.js
index a6d2c9fc0c..7c8c990cf7 100644
--- a/test/language/expressions/yield/in-iteration-stmt.js
+++ b/test/language/expressions/yield/in-iteration-stmt.js
@@ -16,7 +16,7 @@ negative:
 features: [generators]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function* g() {
   for (yield '' in {}; ; ) ;
diff --git a/test/language/expressions/yield/invalid-left-hand-side.js b/test/language/expressions/yield/invalid-left-hand-side.js
index b30d7d112a..3f6ea6238c 100644
--- a/test/language/expressions/yield/invalid-left-hand-side.js
+++ b/test/language/expressions/yield/invalid-left-hand-side.js
@@ -21,7 +21,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function* g() {
   yield = 1;
diff --git a/test/language/expressions/yield/star-in-iteration-stmt.js b/test/language/expressions/yield/star-in-iteration-stmt.js
index 9bec241291..d4c12f0e03 100644
--- a/test/language/expressions/yield/star-in-iteration-stmt.js
+++ b/test/language/expressions/yield/star-in-iteration-stmt.js
@@ -16,7 +16,7 @@ negative:
 features: [generators]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function* g() {
   for (yield * '' in {}; ; ) ;
diff --git a/test/language/future-reserved-words/class.js b/test/language/future-reserved-words/class.js
index d21a2d24b4..f67136358a 100644
--- a/test/language/future-reserved-words/class.js
+++ b/test/language/future-reserved-words/class.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var class = 1;
diff --git a/test/language/future-reserved-words/const.js b/test/language/future-reserved-words/const.js
index d68eea1f6f..1a473c6fb5 100644
--- a/test/language/future-reserved-words/const.js
+++ b/test/language/future-reserved-words/const.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var const = 1;
diff --git a/test/language/future-reserved-words/debugger.js b/test/language/future-reserved-words/debugger.js
index fbfedb319f..f9773a0815 100644
--- a/test/language/future-reserved-words/debugger.js
+++ b/test/language/future-reserved-words/debugger.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var debugger = 1;
diff --git a/test/language/future-reserved-words/enum.js b/test/language/future-reserved-words/enum.js
index 7c9c466e58..1f4dda26e6 100644
--- a/test/language/future-reserved-words/enum.js
+++ b/test/language/future-reserved-words/enum.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var enum = 1;
diff --git a/test/language/future-reserved-words/export.js b/test/language/future-reserved-words/export.js
index 37554d8114..13710fa995 100644
--- a/test/language/future-reserved-words/export.js
+++ b/test/language/future-reserved-words/export.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var export = 1;
diff --git a/test/language/future-reserved-words/extends.js b/test/language/future-reserved-words/extends.js
index e80880549a..f5fd69dc34 100644
--- a/test/language/future-reserved-words/extends.js
+++ b/test/language/future-reserved-words/extends.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var extends = 1;
diff --git a/test/language/future-reserved-words/implements-strict-escaped.js b/test/language/future-reserved-words/implements-strict-escaped.js
index ea9238047e..0bb92d3d00 100644
--- a/test/language/future-reserved-words/implements-strict-escaped.js
+++ b/test/language/future-reserved-words/implements-strict-escaped.js
@@ -19,6 +19,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var \u0069mplements = 123;
diff --git a/test/language/future-reserved-words/implements-strict.js b/test/language/future-reserved-words/implements-strict.js
index 0953b49db6..3c675d85c6 100644
--- a/test/language/future-reserved-words/implements-strict.js
+++ b/test/language/future-reserved-words/implements-strict.js
@@ -18,6 +18,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var implements = 1;
diff --git a/test/language/future-reserved-words/import.js b/test/language/future-reserved-words/import.js
index 9bd02e9dcb..75ba14e43c 100644
--- a/test/language/future-reserved-words/import.js
+++ b/test/language/future-reserved-words/import.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var import = 1;
diff --git a/test/language/future-reserved-words/interface-strict-escaped.js b/test/language/future-reserved-words/interface-strict-escaped.js
index 86b0ff42df..ccc1b78600 100644
--- a/test/language/future-reserved-words/interface-strict-escaped.js
+++ b/test/language/future-reserved-words/interface-strict-escaped.js
@@ -19,6 +19,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var inte\u0072face = 123;
diff --git a/test/language/future-reserved-words/interface-strict.js b/test/language/future-reserved-words/interface-strict.js
index e179bde109..b45d4bddf1 100644
--- a/test/language/future-reserved-words/interface-strict.js
+++ b/test/language/future-reserved-words/interface-strict.js
@@ -18,6 +18,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var interface = 1;
diff --git a/test/language/future-reserved-words/let-strict-escaped.js b/test/language/future-reserved-words/let-strict-escaped.js
index 811b61603c..aeccdce014 100644
--- a/test/language/future-reserved-words/let-strict-escaped.js
+++ b/test/language/future-reserved-words/let-strict-escaped.js
@@ -19,6 +19,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var l\u0065t = 123;
diff --git a/test/language/future-reserved-words/let-strict.js b/test/language/future-reserved-words/let-strict.js
index 3ea4371ff5..6dd7cbb2dd 100644
--- a/test/language/future-reserved-words/let-strict.js
+++ b/test/language/future-reserved-words/let-strict.js
@@ -18,6 +18,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var let = 1;
diff --git a/test/language/future-reserved-words/package-strict-escaped.js b/test/language/future-reserved-words/package-strict-escaped.js
index 40d00ed548..d4bab9afd0 100644
--- a/test/language/future-reserved-words/package-strict-escaped.js
+++ b/test/language/future-reserved-words/package-strict-escaped.js
@@ -19,6 +19,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var packag\u0065 = 123;
diff --git a/test/language/future-reserved-words/package-strict.js b/test/language/future-reserved-words/package-strict.js
index 7413ee5a2c..d384facb54 100644
--- a/test/language/future-reserved-words/package-strict.js
+++ b/test/language/future-reserved-words/package-strict.js
@@ -18,6 +18,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var package = 1;
diff --git a/test/language/future-reserved-words/private-strict-escaped.js b/test/language/future-reserved-words/private-strict-escaped.js
index 7eed6c794f..d88908905a 100644
--- a/test/language/future-reserved-words/private-strict-escaped.js
+++ b/test/language/future-reserved-words/private-strict-escaped.js
@@ -19,6 +19,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var privat\u0065 = 123;
diff --git a/test/language/future-reserved-words/private-strict.js b/test/language/future-reserved-words/private-strict.js
index 67492293d5..0bc08b58c0 100644
--- a/test/language/future-reserved-words/private-strict.js
+++ b/test/language/future-reserved-words/private-strict.js
@@ -18,6 +18,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var private = 1;
diff --git a/test/language/future-reserved-words/protected-strict-escaped.js b/test/language/future-reserved-words/protected-strict-escaped.js
index 3668ea26a1..dbd08022ff 100644
--- a/test/language/future-reserved-words/protected-strict-escaped.js
+++ b/test/language/future-reserved-words/protected-strict-escaped.js
@@ -20,6 +20,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var \u0070\u0072\u006f\u0074\u0065\u0063\u0074\u0065\u0064 = 123;
diff --git a/test/language/future-reserved-words/protected-strict.js b/test/language/future-reserved-words/protected-strict.js
index d0c9943a72..a1bf25bb37 100644
--- a/test/language/future-reserved-words/protected-strict.js
+++ b/test/language/future-reserved-words/protected-strict.js
@@ -18,6 +18,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var protected = 1;
diff --git a/test/language/future-reserved-words/public-strict-escaped.js b/test/language/future-reserved-words/public-strict-escaped.js
index 8491f43fdd..685c1bc515 100644
--- a/test/language/future-reserved-words/public-strict-escaped.js
+++ b/test/language/future-reserved-words/public-strict-escaped.js
@@ -19,6 +19,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var \u0070\u0075\u0062\u006c\u0069\u0063 = 123;
diff --git a/test/language/future-reserved-words/public-strict.js b/test/language/future-reserved-words/public-strict.js
index a790a2ea6d..5b472110df 100644
--- a/test/language/future-reserved-words/public-strict.js
+++ b/test/language/future-reserved-words/public-strict.js
@@ -18,6 +18,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var public = 1;
diff --git a/test/language/future-reserved-words/static-strict-escaped.js b/test/language/future-reserved-words/static-strict-escaped.js
index 713a420177..e9b8f11783 100644
--- a/test/language/future-reserved-words/static-strict-escaped.js
+++ b/test/language/future-reserved-words/static-strict-escaped.js
@@ -19,6 +19,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var \u0073\u0074\u0061\u0074\u0069\u0063 = 123;
diff --git a/test/language/future-reserved-words/static-strict.js b/test/language/future-reserved-words/static-strict.js
index 231c41c78e..d8bed546d7 100644
--- a/test/language/future-reserved-words/static-strict.js
+++ b/test/language/future-reserved-words/static-strict.js
@@ -18,6 +18,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var static = 1;
diff --git a/test/language/future-reserved-words/super.js b/test/language/future-reserved-words/super.js
index 47cf9cf856..438d5645e2 100644
--- a/test/language/future-reserved-words/super.js
+++ b/test/language/future-reserved-words/super.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var super = 1;
diff --git a/test/language/future-reserved-words/yield-strict-escaped.js b/test/language/future-reserved-words/yield-strict-escaped.js
index a20ecf234b..898ebf3d9b 100644
--- a/test/language/future-reserved-words/yield-strict-escaped.js
+++ b/test/language/future-reserved-words/yield-strict-escaped.js
@@ -19,6 +19,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var \u0079ield = 123;
diff --git a/test/language/future-reserved-words/yield-strict.js b/test/language/future-reserved-words/yield-strict.js
index 3e938af0e2..f0ab6dae8e 100644
--- a/test/language/future-reserved-words/yield-strict.js
+++ b/test/language/future-reserved-words/yield-strict.js
@@ -17,6 +17,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var yield = 1;
diff --git a/test/language/global-code/export.js b/test/language/global-code/export.js
index 9011c77dc2..2368bd3643 100644
--- a/test/language/global-code/export.js
+++ b/test/language/global-code/export.js
@@ -16,6 +16,6 @@ info: |
          StatementList
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 export default null;
diff --git a/test/language/global-code/import.js b/test/language/global-code/import.js
index 26f80b3e52..708f246471 100644
--- a/test/language/global-code/import.js
+++ b/test/language/global-code/import.js
@@ -16,6 +16,6 @@ info: |
          StatementList
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 import v from './import.js';
diff --git a/test/language/global-code/new.target-arrow.js b/test/language/global-code/new.target-arrow.js
index a39139a6aa..6dd6f5289c 100644
--- a/test/language/global-code/new.target-arrow.js
+++ b/test/language/global-code/new.target-arrow.js
@@ -30,7 +30,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 () => {
   new.target;
diff --git a/test/language/global-code/new.target.js b/test/language/global-code/new.target.js
index 881c35a61e..b91e688d7a 100644
--- a/test/language/global-code/new.target.js
+++ b/test/language/global-code/new.target.js
@@ -9,12 +9,12 @@ info: |
     code containing NewTarget is eval code that is being processed by a direct
     eval that is contained in function code that is not the function code of an
     ArrowFunction.
-negative: 
+negative:
   phase: parse
   type: SyntaxError
 features: [new.target]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 new.target;
diff --git a/test/language/global-code/return.js b/test/language/global-code/return.js
index d98ef0fefd..db6e2bc888 100644
--- a/test/language/global-code/return.js
+++ b/test/language/global-code/return.js
@@ -17,6 +17,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 return;
diff --git a/test/language/global-code/super-call-arrow.js b/test/language/global-code/super-call-arrow.js
index 30a44d4fa2..a28581588d 100644
--- a/test/language/global-code/super-call-arrow.js
+++ b/test/language/global-code/super-call-arrow.js
@@ -30,7 +30,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 () => {
   super();
diff --git a/test/language/global-code/super-call.js b/test/language/global-code/super-call.js
index 5836a743cc..009cb5f83e 100644
--- a/test/language/global-code/super-call.js
+++ b/test/language/global-code/super-call.js
@@ -15,6 +15,6 @@ negative:
 features: [super]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 super();
diff --git a/test/language/global-code/super-prop-arrow.js b/test/language/global-code/super-prop-arrow.js
index ff733ce761..49206d5aa0 100644
--- a/test/language/global-code/super-prop-arrow.js
+++ b/test/language/global-code/super-prop-arrow.js
@@ -30,7 +30,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 () => {
   super.property;
diff --git a/test/language/global-code/super-prop.js b/test/language/global-code/super-prop.js
index a0da8eefe7..f289105887 100644
--- a/test/language/global-code/super-prop.js
+++ b/test/language/global-code/super-prop.js
@@ -15,6 +15,6 @@ negative:
 features: [super]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 super.property;
diff --git a/test/language/global-code/yield-strict.js b/test/language/global-code/yield-strict.js
index 16703a55a8..b49a82eb40 100644
--- a/test/language/global-code/yield-strict.js
+++ b/test/language/global-code/yield-strict.js
@@ -20,6 +20,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 yield;
diff --git a/test/language/identifiers/unicode-escape-nls-err.js b/test/language/identifiers/unicode-escape-nls-err.js
index 1fe553699f..3d9c51244f 100644
--- a/test/language/identifiers/unicode-escape-nls-err.js
+++ b/test/language/identifiers/unicode-escape-nls-err.js
@@ -43,6 +43,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var \u{00_76} = 1;
diff --git a/test/language/identifiers/val-break-via-escape-hex.js b/test/language/identifiers/val-break-via-escape-hex.js
index ce3d23c83c..019c08273d 100644
--- a/test/language/identifiers/val-break-via-escape-hex.js
+++ b/test/language/identifiers/val-break-via-escape-hex.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var \u{62}\u{72}\u{65}\u{61}\u{6b} = 123;;
diff --git a/test/language/identifiers/val-break-via-escape-hex4.js b/test/language/identifiers/val-break-via-escape-hex4.js
index 006c218e93..91a62357e4 100644
--- a/test/language/identifiers/val-break-via-escape-hex4.js
+++ b/test/language/identifiers/val-break-via-escape-hex4.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var \u0062\u0072\u0065\u0061\u006b = 123;;
diff --git a/test/language/identifiers/val-break.js b/test/language/identifiers/val-break.js
index 0c3d1de2ab..9cbeab2bf4 100644
--- a/test/language/identifiers/val-break.js
+++ b/test/language/identifiers/val-break.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var break = 123;;
diff --git a/test/language/identifiers/val-case-via-escape-hex.js b/test/language/identifiers/val-case-via-escape-hex.js
index 27c768238a..e4c734d329 100644
--- a/test/language/identifiers/val-case-via-escape-hex.js
+++ b/test/language/identifiers/val-case-via-escape-hex.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var \u{63}ase = 123;
diff --git a/test/language/identifiers/val-case-via-escape-hex4.js b/test/language/identifiers/val-case-via-escape-hex4.js
index 28c006ea53..3df4d94afb 100644
--- a/test/language/identifiers/val-case-via-escape-hex4.js
+++ b/test/language/identifiers/val-case-via-escape-hex4.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var \u0063ase = 123;
diff --git a/test/language/identifiers/val-case.js b/test/language/identifiers/val-case.js
index 7118d0b4ee..3bf3981071 100644
--- a/test/language/identifiers/val-case.js
+++ b/test/language/identifiers/val-case.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var case = 123;
diff --git a/test/language/identifiers/val-catch-via-escape-hex.js b/test/language/identifiers/val-catch-via-escape-hex.js
index 10c55e301a..aa249d1e50 100644
--- a/test/language/identifiers/val-catch-via-escape-hex.js
+++ b/test/language/identifiers/val-catch-via-escape-hex.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var \u{63}atch = 123;
diff --git a/test/language/identifiers/val-catch-via-escape-hex4.js b/test/language/identifiers/val-catch-via-escape-hex4.js
index 50351899ce..07e78017cb 100644
--- a/test/language/identifiers/val-catch-via-escape-hex4.js
+++ b/test/language/identifiers/val-catch-via-escape-hex4.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var \u0063atch = 123;
diff --git a/test/language/identifiers/val-catch.js b/test/language/identifiers/val-catch.js
index 8d18421188..8dc266b77f 100644
--- a/test/language/identifiers/val-catch.js
+++ b/test/language/identifiers/val-catch.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var catch = 123;
diff --git a/test/language/identifiers/val-class-via-escape-hex.js b/test/language/identifiers/val-class-via-escape-hex.js
index 9fecc99b5f..6bebe47b9d 100644
--- a/test/language/identifiers/val-class-via-escape-hex.js
+++ b/test/language/identifiers/val-class-via-escape-hex.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var cla\u{73}s = 123;
diff --git a/test/language/identifiers/val-class-via-escape-hex4.js b/test/language/identifiers/val-class-via-escape-hex4.js
index 0c55226797..1c0cac3b5e 100644
--- a/test/language/identifiers/val-class-via-escape-hex4.js
+++ b/test/language/identifiers/val-class-via-escape-hex4.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var cla\u0073s = 123;
diff --git a/test/language/identifiers/val-class.js b/test/language/identifiers/val-class.js
index a8046e0060..9350304727 100644
--- a/test/language/identifiers/val-class.js
+++ b/test/language/identifiers/val-class.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var class = 123;
diff --git a/test/language/identifiers/val-const-via-escape-hex.js b/test/language/identifiers/val-const-via-escape-hex.js
index 3f0b841896..86a0032b76 100644
--- a/test/language/identifiers/val-const-via-escape-hex.js
+++ b/test/language/identifiers/val-const-via-escape-hex.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var co\u{6e}st = 123;
diff --git a/test/language/identifiers/val-const-via-escape-hex4.js b/test/language/identifiers/val-const-via-escape-hex4.js
index d3ae0ab6e4..f4163a26c1 100644
--- a/test/language/identifiers/val-const-via-escape-hex4.js
+++ b/test/language/identifiers/val-const-via-escape-hex4.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var co\u006est = 123;
diff --git a/test/language/identifiers/val-const.js b/test/language/identifiers/val-const.js
index d1825fc974..aa904500fa 100644
--- a/test/language/identifiers/val-const.js
+++ b/test/language/identifiers/val-const.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var const = 123;
diff --git a/test/language/identifiers/val-continue-via-escape-hex.js b/test/language/identifiers/val-continue-via-escape-hex.js
index 0a3313cf65..46d43f064c 100644
--- a/test/language/identifiers/val-continue-via-escape-hex.js
+++ b/test/language/identifiers/val-continue-via-escape-hex.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var \u{63}ontinue = 123;
diff --git a/test/language/identifiers/val-continue-via-escape-hex4.js b/test/language/identifiers/val-continue-via-escape-hex4.js
index 4db6f11284..86eb6dd966 100644
--- a/test/language/identifiers/val-continue-via-escape-hex4.js
+++ b/test/language/identifiers/val-continue-via-escape-hex4.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var \u0063ontinue = 123;
diff --git a/test/language/identifiers/val-continue.js b/test/language/identifiers/val-continue.js
index f4fbdc4cd5..ebd9be96a4 100644
--- a/test/language/identifiers/val-continue.js
+++ b/test/language/identifiers/val-continue.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var continue = 123;
diff --git a/test/language/identifiers/val-debugger-via-escape-hex.js b/test/language/identifiers/val-debugger-via-escape-hex.js
index 63c9711e66..bda569098c 100644
--- a/test/language/identifiers/val-debugger-via-escape-hex.js
+++ b/test/language/identifiers/val-debugger-via-escape-hex.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var \u{64}ebugger = 123;
diff --git a/test/language/identifiers/val-debugger-via-escape-hex4.js b/test/language/identifiers/val-debugger-via-escape-hex4.js
index 7caae15c3d..3c78263082 100644
--- a/test/language/identifiers/val-debugger-via-escape-hex4.js
+++ b/test/language/identifiers/val-debugger-via-escape-hex4.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var \u0064ebugger = 123;
diff --git a/test/language/identifiers/val-debugger.js b/test/language/identifiers/val-debugger.js
index 49e77494a6..a38f06f0f7 100644
--- a/test/language/identifiers/val-debugger.js
+++ b/test/language/identifiers/val-debugger.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var debugger = 123;
diff --git a/test/language/identifiers/val-default-via-escape-hex.js b/test/language/identifiers/val-default-via-escape-hex.js
index 0b035e4622..f6fe580c36 100644
--- a/test/language/identifiers/val-default-via-escape-hex.js
+++ b/test/language/identifiers/val-default-via-escape-hex.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var def\u{61}ult = 123;
diff --git a/test/language/identifiers/val-default-via-escape-hex4.js b/test/language/identifiers/val-default-via-escape-hex4.js
index ba3e3be568..f613d8c28e 100644
--- a/test/language/identifiers/val-default-via-escape-hex4.js
+++ b/test/language/identifiers/val-default-via-escape-hex4.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var def\u0061ult = 123;
diff --git a/test/language/identifiers/val-default.js b/test/language/identifiers/val-default.js
index 2a955644f2..7fe8855dbe 100644
--- a/test/language/identifiers/val-default.js
+++ b/test/language/identifiers/val-default.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var default = 123;
diff --git a/test/language/identifiers/val-delete-via-escape-hex.js b/test/language/identifiers/val-delete-via-escape-hex.js
index 523891a2cf..0b321e4e93 100644
--- a/test/language/identifiers/val-delete-via-escape-hex.js
+++ b/test/language/identifiers/val-delete-via-escape-hex.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var \u{64}elete = 123;
diff --git a/test/language/identifiers/val-delete-via-escape-hex4.js b/test/language/identifiers/val-delete-via-escape-hex4.js
index 00392ba2db..953f22fd34 100644
--- a/test/language/identifiers/val-delete-via-escape-hex4.js
+++ b/test/language/identifiers/val-delete-via-escape-hex4.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var \u0064elete = 123;
diff --git a/test/language/identifiers/val-delete.js b/test/language/identifiers/val-delete.js
index c3d42fc967..1a2263a54d 100644
--- a/test/language/identifiers/val-delete.js
+++ b/test/language/identifiers/val-delete.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var delete = 123;
diff --git a/test/language/identifiers/val-do-via-escape-hex.js b/test/language/identifiers/val-do-via-escape-hex.js
index cda74cb0ad..98e2865ceb 100644
--- a/test/language/identifiers/val-do-via-escape-hex.js
+++ b/test/language/identifiers/val-do-via-escape-hex.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var \u{64}\u{6f} = 123;
diff --git a/test/language/identifiers/val-do-via-escape-hex4.js b/test/language/identifiers/val-do-via-escape-hex4.js
index e025f86201..7d347a6386 100644
--- a/test/language/identifiers/val-do-via-escape-hex4.js
+++ b/test/language/identifiers/val-do-via-escape-hex4.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var \u0064\u006f = 123;
diff --git a/test/language/identifiers/val-do.js b/test/language/identifiers/val-do.js
index 81d147f8d7..fbfba285d0 100644
--- a/test/language/identifiers/val-do.js
+++ b/test/language/identifiers/val-do.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var do = 123;
diff --git a/test/language/identifiers/val-else-via-escape-hex.js b/test/language/identifiers/val-else-via-escape-hex.js
index 74dfcbb515..f4433e753b 100644
--- a/test/language/identifiers/val-else-via-escape-hex.js
+++ b/test/language/identifiers/val-else-via-escape-hex.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var \u{65}lse = 123;
diff --git a/test/language/identifiers/val-else-via-escape-hex4.js b/test/language/identifiers/val-else-via-escape-hex4.js
index 0e520d8910..b80c40f1c3 100644
--- a/test/language/identifiers/val-else-via-escape-hex4.js
+++ b/test/language/identifiers/val-else-via-escape-hex4.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var \u0065lse = 123;
diff --git a/test/language/identifiers/val-else.js b/test/language/identifiers/val-else.js
index a8f225ac13..8a98ffeb3a 100644
--- a/test/language/identifiers/val-else.js
+++ b/test/language/identifiers/val-else.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var else = 123;
diff --git a/test/language/identifiers/val-enum-via-escape-hex.js b/test/language/identifiers/val-enum-via-escape-hex.js
index 93e0278abb..ea5455dce6 100644
--- a/test/language/identifiers/val-enum-via-escape-hex.js
+++ b/test/language/identifiers/val-enum-via-escape-hex.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var \u{65}\u{6e}\u{75}\u{6d} = 123;
diff --git a/test/language/identifiers/val-enum-via-escape-hex4.js b/test/language/identifiers/val-enum-via-escape-hex4.js
index 1c06217727..94d696a353 100644
--- a/test/language/identifiers/val-enum-via-escape-hex4.js
+++ b/test/language/identifiers/val-enum-via-escape-hex4.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var \u0065\u006e\u0075\u006d = 123;
diff --git a/test/language/identifiers/val-enum.js b/test/language/identifiers/val-enum.js
index 575b89778d..6a3a59a61a 100644
--- a/test/language/identifiers/val-enum.js
+++ b/test/language/identifiers/val-enum.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var enum = 123;
diff --git a/test/language/identifiers/val-export-via-escape-hex.js b/test/language/identifiers/val-export-via-escape-hex.js
index 98910fd976..0bdbfb995a 100644
--- a/test/language/identifiers/val-export-via-escape-hex.js
+++ b/test/language/identifiers/val-export-via-escape-hex.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var expor\u{74} = 123;
diff --git a/test/language/identifiers/val-export-via-escape-hex4.js b/test/language/identifiers/val-export-via-escape-hex4.js
index 1c1d351a3f..584df1e8ac 100644
--- a/test/language/identifiers/val-export-via-escape-hex4.js
+++ b/test/language/identifiers/val-export-via-escape-hex4.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var expor\u0074 = 123;
diff --git a/test/language/identifiers/val-export.js b/test/language/identifiers/val-export.js
index c1d98aa2a9..8088bf1049 100644
--- a/test/language/identifiers/val-export.js
+++ b/test/language/identifiers/val-export.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var export = 123;
diff --git a/test/language/identifiers/val-extends-via-escape-hex.js b/test/language/identifiers/val-extends-via-escape-hex.js
index d4846b814d..85a2242a25 100644
--- a/test/language/identifiers/val-extends-via-escape-hex.js
+++ b/test/language/identifiers/val-extends-via-escape-hex.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var extend\u{73} = 123;
diff --git a/test/language/identifiers/val-extends-via-escape-hex4.js b/test/language/identifiers/val-extends-via-escape-hex4.js
index 2113e85b80..22dc513875 100644
--- a/test/language/identifiers/val-extends-via-escape-hex4.js
+++ b/test/language/identifiers/val-extends-via-escape-hex4.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var extend\u0073 = 123;
diff --git a/test/language/identifiers/val-extends.js b/test/language/identifiers/val-extends.js
index 1b2aeb6284..ca24e6e0b5 100644
--- a/test/language/identifiers/val-extends.js
+++ b/test/language/identifiers/val-extends.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var extends = 123;
diff --git a/test/language/identifiers/val-false-via-escape-hex.js b/test/language/identifiers/val-false-via-escape-hex.js
index 16eb7f0db3..a9d280b471 100644
--- a/test/language/identifiers/val-false-via-escape-hex.js
+++ b/test/language/identifiers/val-false-via-escape-hex.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var fals\u{65} = 123;
diff --git a/test/language/identifiers/val-false-via-escape-hex4.js b/test/language/identifiers/val-false-via-escape-hex4.js
index 0d04db1721..0f5b811e09 100644
--- a/test/language/identifiers/val-false-via-escape-hex4.js
+++ b/test/language/identifiers/val-false-via-escape-hex4.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var fals\u0065 = 123;
diff --git a/test/language/identifiers/val-false.js b/test/language/identifiers/val-false.js
index fb0dc4a887..8696cba157 100644
--- a/test/language/identifiers/val-false.js
+++ b/test/language/identifiers/val-false.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var false = 123;
diff --git a/test/language/identifiers/val-finally-via-escape-hex.js b/test/language/identifiers/val-finally-via-escape-hex.js
index 050363667f..8fee6ab888 100644
--- a/test/language/identifiers/val-finally-via-escape-hex.js
+++ b/test/language/identifiers/val-finally-via-escape-hex.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var fina\u{6c}ly = 123;
diff --git a/test/language/identifiers/val-finally-via-escape-hex4.js b/test/language/identifiers/val-finally-via-escape-hex4.js
index 4aac520fe0..5c70e76593 100644
--- a/test/language/identifiers/val-finally-via-escape-hex4.js
+++ b/test/language/identifiers/val-finally-via-escape-hex4.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var fina\u006cly = 123;
diff --git a/test/language/identifiers/val-finally.js b/test/language/identifiers/val-finally.js
index d75361ef43..bbedcf4725 100644
--- a/test/language/identifiers/val-finally.js
+++ b/test/language/identifiers/val-finally.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var finally = 123;
diff --git a/test/language/identifiers/val-for-via-escape-hex.js b/test/language/identifiers/val-for-via-escape-hex.js
index 44e430458d..ff34ced5e1 100644
--- a/test/language/identifiers/val-for-via-escape-hex.js
+++ b/test/language/identifiers/val-for-via-escape-hex.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var f\u{6f}r = 123;
diff --git a/test/language/identifiers/val-for-via-escape-hex4.js b/test/language/identifiers/val-for-via-escape-hex4.js
index 4f412c90d7..ea27114e5d 100644
--- a/test/language/identifiers/val-for-via-escape-hex4.js
+++ b/test/language/identifiers/val-for-via-escape-hex4.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var f\u006fr = 123;
diff --git a/test/language/identifiers/val-for.js b/test/language/identifiers/val-for.js
index 32df090901..2817f03f31 100644
--- a/test/language/identifiers/val-for.js
+++ b/test/language/identifiers/val-for.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var for = 123;
diff --git a/test/language/identifiers/val-function-via-escape-hex.js b/test/language/identifiers/val-function-via-escape-hex.js
index 8d4e6d2fd1..cabef7300e 100644
--- a/test/language/identifiers/val-function-via-escape-hex.js
+++ b/test/language/identifiers/val-function-via-escape-hex.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var func\u{74}ion = 123;
diff --git a/test/language/identifiers/val-function-via-escape-hex4.js b/test/language/identifiers/val-function-via-escape-hex4.js
index 285fa91b07..7f1d7643b6 100644
--- a/test/language/identifiers/val-function-via-escape-hex4.js
+++ b/test/language/identifiers/val-function-via-escape-hex4.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var func\u0074ion = 123;
diff --git a/test/language/identifiers/val-function.js b/test/language/identifiers/val-function.js
index e322046653..6c621f894f 100644
--- a/test/language/identifiers/val-function.js
+++ b/test/language/identifiers/val-function.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var function = 123;
diff --git a/test/language/identifiers/val-if-via-escape-hex.js b/test/language/identifiers/val-if-via-escape-hex.js
index 5a46c6e66b..2d9b646787 100644
--- a/test/language/identifiers/val-if-via-escape-hex.js
+++ b/test/language/identifiers/val-if-via-escape-hex.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var \u{69}\u{66} = 123;
diff --git a/test/language/identifiers/val-if-via-escape-hex4.js b/test/language/identifiers/val-if-via-escape-hex4.js
index 1a08151480..e36a3bdc9a 100644
--- a/test/language/identifiers/val-if-via-escape-hex4.js
+++ b/test/language/identifiers/val-if-via-escape-hex4.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var \u0069\u0066 = 123;
diff --git a/test/language/identifiers/val-if.js b/test/language/identifiers/val-if.js
index 3786e63abd..d5f82f3780 100644
--- a/test/language/identifiers/val-if.js
+++ b/test/language/identifiers/val-if.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var if = 123;
diff --git a/test/language/identifiers/val-import-via-escape-hex.js b/test/language/identifiers/val-import-via-escape-hex.js
index 9501580f16..c0c58e0f47 100644
--- a/test/language/identifiers/val-import-via-escape-hex.js
+++ b/test/language/identifiers/val-import-via-escape-hex.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var \u{69}\u{6d}\u{70}\u{6f}\u{72}\u{74} = 123;
diff --git a/test/language/identifiers/val-import-via-escape-hex4.js b/test/language/identifiers/val-import-via-escape-hex4.js
index 43701907e9..3f6f6eb709 100644
--- a/test/language/identifiers/val-import-via-escape-hex4.js
+++ b/test/language/identifiers/val-import-via-escape-hex4.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var \u0069\u006d\u0070\u006f\u0072\u0074 = 123;
diff --git a/test/language/identifiers/val-import.js b/test/language/identifiers/val-import.js
index 377ec13305..992285733e 100644
--- a/test/language/identifiers/val-import.js
+++ b/test/language/identifiers/val-import.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var import = 123;
diff --git a/test/language/identifiers/val-in-via-escape-hex.js b/test/language/identifiers/val-in-via-escape-hex.js
index 93ce4a1f78..57e5642474 100644
--- a/test/language/identifiers/val-in-via-escape-hex.js
+++ b/test/language/identifiers/val-in-via-escape-hex.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var \u{69}\u{6e} = 123;
diff --git a/test/language/identifiers/val-in-via-escape-hex4.js b/test/language/identifiers/val-in-via-escape-hex4.js
index cab295d205..8e1c27a2b7 100644
--- a/test/language/identifiers/val-in-via-escape-hex4.js
+++ b/test/language/identifiers/val-in-via-escape-hex4.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var \u0069\u006e = 123;
diff --git a/test/language/identifiers/val-in.js b/test/language/identifiers/val-in.js
index 7ecfdcf52b..b0c29c7a43 100644
--- a/test/language/identifiers/val-in.js
+++ b/test/language/identifiers/val-in.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var in = 123;
diff --git a/test/language/identifiers/val-instanceof-via-escape-hex.js b/test/language/identifiers/val-instanceof-via-escape-hex.js
index 1278c46bb5..7237ac3129 100644
--- a/test/language/identifiers/val-instanceof-via-escape-hex.js
+++ b/test/language/identifiers/val-instanceof-via-escape-hex.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var insta\u{6e}ceof = 123;
diff --git a/test/language/identifiers/val-instanceof-via-escape-hex4.js b/test/language/identifiers/val-instanceof-via-escape-hex4.js
index 70eb05828b..fa8a75810a 100644
--- a/test/language/identifiers/val-instanceof-via-escape-hex4.js
+++ b/test/language/identifiers/val-instanceof-via-escape-hex4.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var insta\u006eceof = 123;
diff --git a/test/language/identifiers/val-instanceof.js b/test/language/identifiers/val-instanceof.js
index 3a14ffdd93..79403c0691 100644
--- a/test/language/identifiers/val-instanceof.js
+++ b/test/language/identifiers/val-instanceof.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var instanceof = 123;
diff --git a/test/language/identifiers/val-new-via-escape-hex.js b/test/language/identifiers/val-new-via-escape-hex.js
index 1d9125f233..a9cc63146f 100644
--- a/test/language/identifiers/val-new-via-escape-hex.js
+++ b/test/language/identifiers/val-new-via-escape-hex.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var n\u{65}w = 123;
diff --git a/test/language/identifiers/val-new-via-escape-hex4.js b/test/language/identifiers/val-new-via-escape-hex4.js
index 952dee65e2..1024e8dbb2 100644
--- a/test/language/identifiers/val-new-via-escape-hex4.js
+++ b/test/language/identifiers/val-new-via-escape-hex4.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var n\u0065w = 123;
diff --git a/test/language/identifiers/val-new.js b/test/language/identifiers/val-new.js
index cfd2d555a9..74e423a9af 100644
--- a/test/language/identifiers/val-new.js
+++ b/test/language/identifiers/val-new.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var new = 123;
diff --git a/test/language/identifiers/val-null-via-escape-hex.js b/test/language/identifiers/val-null-via-escape-hex.js
index ff4c8adab5..3834fd0eae 100644
--- a/test/language/identifiers/val-null-via-escape-hex.js
+++ b/test/language/identifiers/val-null-via-escape-hex.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var \u{6e}ull = 123;
diff --git a/test/language/identifiers/val-null-via-escape-hex4.js b/test/language/identifiers/val-null-via-escape-hex4.js
index c6b3dde4fb..65f7e740c1 100644
--- a/test/language/identifiers/val-null-via-escape-hex4.js
+++ b/test/language/identifiers/val-null-via-escape-hex4.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var \u006eull = 123;
diff --git a/test/language/identifiers/val-null.js b/test/language/identifiers/val-null.js
index 1fd3abeb9b..7a57c42f18 100644
--- a/test/language/identifiers/val-null.js
+++ b/test/language/identifiers/val-null.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var null = 123;
diff --git a/test/language/identifiers/val-return-via-escape-hex.js b/test/language/identifiers/val-return-via-escape-hex.js
index 92b7a90183..39ced05524 100644
--- a/test/language/identifiers/val-return-via-escape-hex.js
+++ b/test/language/identifiers/val-return-via-escape-hex.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var retur\u{6e} = 123;
diff --git a/test/language/identifiers/val-return-via-escape-hex4.js b/test/language/identifiers/val-return-via-escape-hex4.js
index f1b8910380..2afa3ab23b 100644
--- a/test/language/identifiers/val-return-via-escape-hex4.js
+++ b/test/language/identifiers/val-return-via-escape-hex4.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var retur\u006e = 123;
diff --git a/test/language/identifiers/val-return.js b/test/language/identifiers/val-return.js
index 4b59b2058f..4662671705 100644
--- a/test/language/identifiers/val-return.js
+++ b/test/language/identifiers/val-return.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var return = 123;
diff --git a/test/language/identifiers/val-super-via-escape-hex.js b/test/language/identifiers/val-super-via-escape-hex.js
index 6a5b84fdcc..08b28a32ee 100644
--- a/test/language/identifiers/val-super-via-escape-hex.js
+++ b/test/language/identifiers/val-super-via-escape-hex.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var \u{73}uper = 123;
diff --git a/test/language/identifiers/val-super-via-escape-hex4.js b/test/language/identifiers/val-super-via-escape-hex4.js
index ff524b0ad7..bdd9625489 100644
--- a/test/language/identifiers/val-super-via-escape-hex4.js
+++ b/test/language/identifiers/val-super-via-escape-hex4.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var \u0073uper = 123;
diff --git a/test/language/identifiers/val-super.js b/test/language/identifiers/val-super.js
index f890061cc5..e86c23dd5b 100644
--- a/test/language/identifiers/val-super.js
+++ b/test/language/identifiers/val-super.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var super = 123;
diff --git a/test/language/identifiers/val-switch-via-escape-hex.js b/test/language/identifiers/val-switch-via-escape-hex.js
index f24e10e02e..9df92f00b1 100644
--- a/test/language/identifiers/val-switch-via-escape-hex.js
+++ b/test/language/identifiers/val-switch-via-escape-hex.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var switc\u{68} = 123;
diff --git a/test/language/identifiers/val-switch-via-escape-hex4.js b/test/language/identifiers/val-switch-via-escape-hex4.js
index a03c70c5ba..eefd0364e6 100644
--- a/test/language/identifiers/val-switch-via-escape-hex4.js
+++ b/test/language/identifiers/val-switch-via-escape-hex4.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var switc\u0068 = 123;
diff --git a/test/language/identifiers/val-switch.js b/test/language/identifiers/val-switch.js
index 1ff15d6180..8b9c70ff1b 100644
--- a/test/language/identifiers/val-switch.js
+++ b/test/language/identifiers/val-switch.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var switch = 123;
diff --git a/test/language/identifiers/val-this-via-escape-hex.js b/test/language/identifiers/val-this-via-escape-hex.js
index 13a56d55de..6d1078a320 100644
--- a/test/language/identifiers/val-this-via-escape-hex.js
+++ b/test/language/identifiers/val-this-via-escape-hex.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var thi\u{73} = 123;
diff --git a/test/language/identifiers/val-this-via-escape-hex4.js b/test/language/identifiers/val-this-via-escape-hex4.js
index 4e6fb9e084..ca5c49515f 100644
--- a/test/language/identifiers/val-this-via-escape-hex4.js
+++ b/test/language/identifiers/val-this-via-escape-hex4.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var thi\u0073 = 123;
diff --git a/test/language/identifiers/val-this.js b/test/language/identifiers/val-this.js
index 6f1921fd84..2a9d0ea8ac 100644
--- a/test/language/identifiers/val-this.js
+++ b/test/language/identifiers/val-this.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var this = 123;
diff --git a/test/language/identifiers/val-throw-via-escape-hex.js b/test/language/identifiers/val-throw-via-escape-hex.js
index 21d4643732..6c0ad92459 100644
--- a/test/language/identifiers/val-throw-via-escape-hex.js
+++ b/test/language/identifiers/val-throw-via-escape-hex.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var thro\u{77} = 123;
diff --git a/test/language/identifiers/val-throw-via-escape-hex4.js b/test/language/identifiers/val-throw-via-escape-hex4.js
index 1b399949de..43ca0d620c 100644
--- a/test/language/identifiers/val-throw-via-escape-hex4.js
+++ b/test/language/identifiers/val-throw-via-escape-hex4.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var thro\u0077 = 123;
diff --git a/test/language/identifiers/val-throw.js b/test/language/identifiers/val-throw.js
index 9a653aec84..6b2650c36c 100644
--- a/test/language/identifiers/val-throw.js
+++ b/test/language/identifiers/val-throw.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var throw = 123;
diff --git a/test/language/identifiers/val-true-via-escape-hex.js b/test/language/identifiers/val-true-via-escape-hex.js
index 717678a0d4..0a7bd882b2 100644
--- a/test/language/identifiers/val-true-via-escape-hex.js
+++ b/test/language/identifiers/val-true-via-escape-hex.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var tr\u{75}e = 123;
diff --git a/test/language/identifiers/val-true-via-escape-hex4.js b/test/language/identifiers/val-true-via-escape-hex4.js
index 4cdf6b1950..023012f186 100644
--- a/test/language/identifiers/val-true-via-escape-hex4.js
+++ b/test/language/identifiers/val-true-via-escape-hex4.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var tr\u0075e = 123;
diff --git a/test/language/identifiers/val-true.js b/test/language/identifiers/val-true.js
index 760d895792..fce988ed72 100644
--- a/test/language/identifiers/val-true.js
+++ b/test/language/identifiers/val-true.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var true = 123;
diff --git a/test/language/identifiers/val-try-via-escape-hex.js b/test/language/identifiers/val-try-via-escape-hex.js
index 90e709ad87..9c9fce6cbf 100644
--- a/test/language/identifiers/val-try-via-escape-hex.js
+++ b/test/language/identifiers/val-try-via-escape-hex.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var \u{74}\u{72}\u{79} = 123;
diff --git a/test/language/identifiers/val-try-via-escape-hex4.js b/test/language/identifiers/val-try-via-escape-hex4.js
index 5c35c12e12..9905f5d759 100644
--- a/test/language/identifiers/val-try-via-escape-hex4.js
+++ b/test/language/identifiers/val-try-via-escape-hex4.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var \u0074\u0072\u0079 = 123;
diff --git a/test/language/identifiers/val-try.js b/test/language/identifiers/val-try.js
index 641ed44087..0c1350995c 100644
--- a/test/language/identifiers/val-try.js
+++ b/test/language/identifiers/val-try.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var try = 123;
diff --git a/test/language/identifiers/val-typeof-via-escape-hex.js b/test/language/identifiers/val-typeof-via-escape-hex.js
index 61b39cb5fe..60c0f9476e 100644
--- a/test/language/identifiers/val-typeof-via-escape-hex.js
+++ b/test/language/identifiers/val-typeof-via-escape-hex.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var typeo\u{66} = 123;
diff --git a/test/language/identifiers/val-typeof-via-escape-hex4.js b/test/language/identifiers/val-typeof-via-escape-hex4.js
index 0da3fb49f5..ecadf0fa04 100644
--- a/test/language/identifiers/val-typeof-via-escape-hex4.js
+++ b/test/language/identifiers/val-typeof-via-escape-hex4.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var typeo\u0066 = 123;
diff --git a/test/language/identifiers/val-typeof.js b/test/language/identifiers/val-typeof.js
index b64a422bf0..5766bed7cd 100644
--- a/test/language/identifiers/val-typeof.js
+++ b/test/language/identifiers/val-typeof.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var typeof = 123;
diff --git a/test/language/identifiers/val-var-via-escape-hex.js b/test/language/identifiers/val-var-via-escape-hex.js
index 1fa56f105c..b9051f3db5 100644
--- a/test/language/identifiers/val-var-via-escape-hex.js
+++ b/test/language/identifiers/val-var-via-escape-hex.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var va\u{72} = 123;
diff --git a/test/language/identifiers/val-var-via-escape-hex4.js b/test/language/identifiers/val-var-via-escape-hex4.js
index d66b1de976..9db63b7147 100644
--- a/test/language/identifiers/val-var-via-escape-hex4.js
+++ b/test/language/identifiers/val-var-via-escape-hex4.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var va\u0072 = 123;
diff --git a/test/language/identifiers/val-var.js b/test/language/identifiers/val-var.js
index 5e5a571bbb..e1b95778ec 100644
--- a/test/language/identifiers/val-var.js
+++ b/test/language/identifiers/val-var.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var var = 123;
diff --git a/test/language/identifiers/val-void-via-escape-hex.js b/test/language/identifiers/val-void-via-escape-hex.js
index 70ba22df0b..c1c244cd04 100644
--- a/test/language/identifiers/val-void-via-escape-hex.js
+++ b/test/language/identifiers/val-void-via-escape-hex.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var \u{76}\u{6f}\u{69}\u{64} = 123;
diff --git a/test/language/identifiers/val-void-via-escape-hex4.js b/test/language/identifiers/val-void-via-escape-hex4.js
index c16bdc7e2f..3485b6e73e 100644
--- a/test/language/identifiers/val-void-via-escape-hex4.js
+++ b/test/language/identifiers/val-void-via-escape-hex4.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var \u0076\u006f\u0069\u0064 = 123;
diff --git a/test/language/identifiers/val-void.js b/test/language/identifiers/val-void.js
index 34ef5c4b79..ca2049119f 100644
--- a/test/language/identifiers/val-void.js
+++ b/test/language/identifiers/val-void.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var void = 123;
diff --git a/test/language/identifiers/val-while-via-escape-hex.js b/test/language/identifiers/val-while-via-escape-hex.js
index 5139700177..fc8192be98 100644
--- a/test/language/identifiers/val-while-via-escape-hex.js
+++ b/test/language/identifiers/val-while-via-escape-hex.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var \u{77}\u{68}\u{69}\u{6c}\u{65} = 123;
diff --git a/test/language/identifiers/val-while-via-escape-hex4.js b/test/language/identifiers/val-while-via-escape-hex4.js
index b3d4fbf80a..9c3c751103 100644
--- a/test/language/identifiers/val-while-via-escape-hex4.js
+++ b/test/language/identifiers/val-while-via-escape-hex4.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var \u0077\u0068\u0069\u006c\u0065 = 123;
diff --git a/test/language/identifiers/val-while.js b/test/language/identifiers/val-while.js
index 36b28b67cb..da2dc11989 100644
--- a/test/language/identifiers/val-while.js
+++ b/test/language/identifiers/val-while.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var while = 123;
diff --git a/test/language/identifiers/val-with-via-escape-hex.js b/test/language/identifiers/val-with-via-escape-hex.js
index 9bcb9af369..39c6024f83 100644
--- a/test/language/identifiers/val-with-via-escape-hex.js
+++ b/test/language/identifiers/val-with-via-escape-hex.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var \u{77}ith = 123;
diff --git a/test/language/identifiers/val-with-via-escape-hex4.js b/test/language/identifiers/val-with-via-escape-hex4.js
index 5306cb65a8..eaeb3ff29c 100644
--- a/test/language/identifiers/val-with-via-escape-hex4.js
+++ b/test/language/identifiers/val-with-via-escape-hex4.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var \u0077ith = 123;
diff --git a/test/language/identifiers/val-with.js b/test/language/identifiers/val-with.js
index 1248912006..b0c14f52c8 100644
--- a/test/language/identifiers/val-with.js
+++ b/test/language/identifiers/val-with.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var with = 123;
diff --git a/test/language/identifiers/val-yield-strict.js b/test/language/identifiers/val-yield-strict.js
index 4ec4141380..a069650dd8 100644
--- a/test/language/identifiers/val-yield-strict.js
+++ b/test/language/identifiers/val-yield-strict.js
@@ -12,6 +12,6 @@ negative:
 flags: [onlyStrict]
  ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var yield = 13;
diff --git a/test/language/identifiers/vertical-tilde-continue-escaped.js b/test/language/identifiers/vertical-tilde-continue-escaped.js
index 989f3ad1a4..d17090dee0 100644
--- a/test/language/identifiers/vertical-tilde-continue-escaped.js
+++ b/test/language/identifiers/vertical-tilde-continue-escaped.js
@@ -11,6 +11,6 @@ negative:
   phase: parse
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var a\u2E2F;
diff --git a/test/language/identifiers/vertical-tilde-continue.js b/test/language/identifiers/vertical-tilde-continue.js
index 287a342deb..f248768d16 100644
--- a/test/language/identifiers/vertical-tilde-continue.js
+++ b/test/language/identifiers/vertical-tilde-continue.js
@@ -11,6 +11,6 @@ negative:
   phase: parse
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var aⸯ; // U+2E2F
diff --git a/test/language/identifiers/vertical-tilde-start-escaped.js b/test/language/identifiers/vertical-tilde-start-escaped.js
index 78fe1fbc65..f3cfbc5725 100644
--- a/test/language/identifiers/vertical-tilde-start-escaped.js
+++ b/test/language/identifiers/vertical-tilde-start-escaped.js
@@ -11,6 +11,6 @@ negative:
   phase: parse
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var \u2E2F;
diff --git a/test/language/identifiers/vertical-tilde-start.js b/test/language/identifiers/vertical-tilde-start.js
index 58a8d9a0b4..d10cde8b13 100644
--- a/test/language/identifiers/vertical-tilde-start.js
+++ b/test/language/identifiers/vertical-tilde-start.js
@@ -11,6 +11,6 @@ negative:
   phase: parse
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var ⸯ; // U+2E2F
diff --git a/test/language/import/dup-bound-names.js b/test/language/import/dup-bound-names.js
index b3c52a16d7..49dcc8123e 100644
--- a/test/language/import/dup-bound-names.js
+++ b/test/language/import/dup-bound-names.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 import { x, y as x } from 'z';
diff --git a/test/language/import/escaped-as-import-specifier.js b/test/language/import/escaped-as-import-specifier.js
index 88912d3a7b..5e5e455aa0 100644
--- a/test/language/import/escaped-as-import-specifier.js
+++ b/test/language/import/escaped-as-import-specifier.js
@@ -19,7 +19,7 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 export var a = 0;
 
diff --git a/test/language/import/escaped-as-namespace-import.js b/test/language/import/escaped-as-namespace-import.js
index bb1e30aae2..1059f7242a 100644
--- a/test/language/import/escaped-as-namespace-import.js
+++ b/test/language/import/escaped-as-namespace-import.js
@@ -19,6 +19,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 import* \u0061s self from "./escaped-as-namespace-import.js";
diff --git a/test/language/import/escaped-from.js b/test/language/import/escaped-from.js
index 1a0435495a..7b50e7a302 100644
--- a/test/language/import/escaped-from.js
+++ b/test/language/import/escaped-from.js
@@ -19,6 +19,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 import {} \u0066rom "./escaped-from.js";
diff --git a/test/language/keywords/ident-ref-break.js b/test/language/keywords/ident-ref-break.js
index aac96156d7..69984152d4 100644
--- a/test/language/keywords/ident-ref-break.js
+++ b/test/language/keywords/ident-ref-break.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 break = 1;
diff --git a/test/language/keywords/ident-ref-case.js b/test/language/keywords/ident-ref-case.js
index 688658c973..642b4391fc 100644
--- a/test/language/keywords/ident-ref-case.js
+++ b/test/language/keywords/ident-ref-case.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 case = 1;
diff --git a/test/language/keywords/ident-ref-catch.js b/test/language/keywords/ident-ref-catch.js
index 6187e44563..1c65ed5383 100644
--- a/test/language/keywords/ident-ref-catch.js
+++ b/test/language/keywords/ident-ref-catch.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 catch = 1;
diff --git a/test/language/keywords/ident-ref-continue.js b/test/language/keywords/ident-ref-continue.js
index ad1149a47d..d090dcd2d9 100644
--- a/test/language/keywords/ident-ref-continue.js
+++ b/test/language/keywords/ident-ref-continue.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 continue = 1;
diff --git a/test/language/keywords/ident-ref-default.js b/test/language/keywords/ident-ref-default.js
index 33b6134fbe..d4be204b80 100644
--- a/test/language/keywords/ident-ref-default.js
+++ b/test/language/keywords/ident-ref-default.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 default = 1;
diff --git a/test/language/keywords/ident-ref-delete.js b/test/language/keywords/ident-ref-delete.js
index 88a6ae5fc2..fb32124ace 100644
--- a/test/language/keywords/ident-ref-delete.js
+++ b/test/language/keywords/ident-ref-delete.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 delete = 1;
diff --git a/test/language/keywords/ident-ref-do.js b/test/language/keywords/ident-ref-do.js
index 690214837b..a47cfda93a 100644
--- a/test/language/keywords/ident-ref-do.js
+++ b/test/language/keywords/ident-ref-do.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 do = 1;
diff --git a/test/language/keywords/ident-ref-else.js b/test/language/keywords/ident-ref-else.js
index 7e0a6da092..1b18eded71 100644
--- a/test/language/keywords/ident-ref-else.js
+++ b/test/language/keywords/ident-ref-else.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 else = 1;
diff --git a/test/language/keywords/ident-ref-finally.js b/test/language/keywords/ident-ref-finally.js
index 1bf403acb2..b8666f24ac 100644
--- a/test/language/keywords/ident-ref-finally.js
+++ b/test/language/keywords/ident-ref-finally.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 finally = 1;
diff --git a/test/language/keywords/ident-ref-for.js b/test/language/keywords/ident-ref-for.js
index 56cb27727e..13b07379ec 100644
--- a/test/language/keywords/ident-ref-for.js
+++ b/test/language/keywords/ident-ref-for.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for = 1;
diff --git a/test/language/keywords/ident-ref-function.js b/test/language/keywords/ident-ref-function.js
index c3c3aed088..b00e2b12c6 100644
--- a/test/language/keywords/ident-ref-function.js
+++ b/test/language/keywords/ident-ref-function.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function = 1;
diff --git a/test/language/keywords/ident-ref-if.js b/test/language/keywords/ident-ref-if.js
index 49d8306a77..9232342e54 100644
--- a/test/language/keywords/ident-ref-if.js
+++ b/test/language/keywords/ident-ref-if.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 if = 1;
diff --git a/test/language/keywords/ident-ref-in.js b/test/language/keywords/ident-ref-in.js
index 7fe5ff5330..2fea6e63d8 100644
--- a/test/language/keywords/ident-ref-in.js
+++ b/test/language/keywords/ident-ref-in.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 in = 1;
diff --git a/test/language/keywords/ident-ref-instanceof.js b/test/language/keywords/ident-ref-instanceof.js
index 1af047a506..da48271842 100644
--- a/test/language/keywords/ident-ref-instanceof.js
+++ b/test/language/keywords/ident-ref-instanceof.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 instanceof = 1;
diff --git a/test/language/keywords/ident-ref-new.js b/test/language/keywords/ident-ref-new.js
index bb668d2524..c4cc8d8593 100644
--- a/test/language/keywords/ident-ref-new.js
+++ b/test/language/keywords/ident-ref-new.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 new = 1;
diff --git a/test/language/keywords/ident-ref-return.js b/test/language/keywords/ident-ref-return.js
index d671c4b0d5..b14bce2234 100644
--- a/test/language/keywords/ident-ref-return.js
+++ b/test/language/keywords/ident-ref-return.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 return = 1;
diff --git a/test/language/keywords/ident-ref-switch.js b/test/language/keywords/ident-ref-switch.js
index 2f94d82935..0ac9c702dc 100644
--- a/test/language/keywords/ident-ref-switch.js
+++ b/test/language/keywords/ident-ref-switch.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch = 1;
diff --git a/test/language/keywords/ident-ref-this.js b/test/language/keywords/ident-ref-this.js
index 7d27a2aa3f..5d9c16db31 100644
--- a/test/language/keywords/ident-ref-this.js
+++ b/test/language/keywords/ident-ref-this.js
@@ -15,7 +15,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 // It's tempting to write `this = 0`, but that'd be a test to validate `this`
 // is not a valid simple assignment target, cf. tests in language/expressions/assignment.
diff --git a/test/language/keywords/ident-ref-throw.js b/test/language/keywords/ident-ref-throw.js
index e24d083547..6ba0099f71 100644
--- a/test/language/keywords/ident-ref-throw.js
+++ b/test/language/keywords/ident-ref-throw.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 throw = 1;
diff --git a/test/language/keywords/ident-ref-try.js b/test/language/keywords/ident-ref-try.js
index 76022da2c0..48809d8d62 100644
--- a/test/language/keywords/ident-ref-try.js
+++ b/test/language/keywords/ident-ref-try.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 try = 1;
diff --git a/test/language/keywords/ident-ref-typeof.js b/test/language/keywords/ident-ref-typeof.js
index fc480883b7..121e0f8436 100644
--- a/test/language/keywords/ident-ref-typeof.js
+++ b/test/language/keywords/ident-ref-typeof.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 typeof = 1;
diff --git a/test/language/keywords/ident-ref-var.js b/test/language/keywords/ident-ref-var.js
index 46fb8d8f48..996dabe633 100644
--- a/test/language/keywords/ident-ref-var.js
+++ b/test/language/keywords/ident-ref-var.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var = 1;
diff --git a/test/language/keywords/ident-ref-void.js b/test/language/keywords/ident-ref-void.js
index cfd8a97cfb..fab3bfe5fc 100644
--- a/test/language/keywords/ident-ref-void.js
+++ b/test/language/keywords/ident-ref-void.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 void = 1;
diff --git a/test/language/keywords/ident-ref-while.js b/test/language/keywords/ident-ref-while.js
index d2d1a9489d..93a2afd6ff 100644
--- a/test/language/keywords/ident-ref-while.js
+++ b/test/language/keywords/ident-ref-while.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 while = 1;
diff --git a/test/language/keywords/ident-ref-with.js b/test/language/keywords/ident-ref-with.js
index 52a67b9c14..5b1a11430f 100644
--- a/test/language/keywords/ident-ref-with.js
+++ b/test/language/keywords/ident-ref-with.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 with = 1;
diff --git a/test/language/line-terminators/S7.3_A2.1_T2.js b/test/language/line-terminators/S7.3_A2.1_T2.js
index 1a1a69e796..dd248d7be7 100644
--- a/test/language/line-terminators/S7.3_A2.1_T2.js
+++ b/test/language/line-terminators/S7.3_A2.1_T2.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
 "
diff --git a/test/language/line-terminators/S7.3_A2.2_T2.js b/test/language/line-terminators/S7.3_A2.2_T2.js
index 555b32644a..2ec27a238a 100644
--- a/test/language/line-terminators/S7.3_A2.2_T2.js
+++ b/test/language/line-terminators/S7.3_A2.2_T2.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
 "
diff --git a/test/language/line-terminators/S7.3_A3.1_T3.js b/test/language/line-terminators/S7.3_A3.1_T3.js
index ba6d33ea63..62bd6d5ca6 100644
--- a/test/language/line-terminators/S7.3_A3.1_T3.js
+++ b/test/language/line-terminators/S7.3_A3.1_T3.js
@@ -10,8 +10,8 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 // CHECK#1
-//single 
+//single
 line comment
diff --git a/test/language/line-terminators/S7.3_A3.2_T1.js b/test/language/line-terminators/S7.3_A3.2_T1.js
index e044976f51..9c8afe4615 100644
--- a/test/language/line-terminators/S7.3_A3.2_T1.js
+++ b/test/language/line-terminators/S7.3_A3.2_T1.js
@@ -10,6 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
-// single line comment 
 ??? (invalid)
+// single line comment
+ ??? (invalid)
diff --git a/test/language/line-terminators/S7.3_A3.2_T3.js b/test/language/line-terminators/S7.3_A3.2_T3.js
index 69f253500c..7f8cd70303 100644
--- a/test/language/line-terminators/S7.3_A3.2_T3.js
+++ b/test/language/line-terminators/S7.3_A3.2_T3.js
@@ -10,8 +10,8 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 // CHECK#1
-//single 
+//single
 line comment
diff --git a/test/language/line-terminators/S7.3_A3.3_T1.js b/test/language/line-terminators/S7.3_A3.3_T1.js
index aa555175da..0df9f13f21 100644
--- a/test/language/line-terminators/S7.3_A3.3_T1.js
+++ b/test/language/line-terminators/S7.3_A3.3_T1.js
@@ -12,6 +12,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 // single line LS>
??? (invalid)
diff --git a/test/language/line-terminators/S7.3_A3.4_T1.js b/test/language/line-terminators/S7.3_A3.4_T1.js
index 613df5ee3b..0b93b55202 100644
--- a/test/language/line-terminators/S7.3_A3.4_T1.js
+++ b/test/language/line-terminators/S7.3_A3.4_T1.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 // single line PS>
??? (invalid)
diff --git a/test/language/line-terminators/S7.3_A6_T1.js b/test/language/line-terminators/S7.3_A6_T1.js
index eeb6e89075..991ed519f3 100644
--- a/test/language/line-terminators/S7.3_A6_T1.js
+++ b/test/language/line-terminators/S7.3_A6_T1.js
@@ -12,6 +12,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var\u000Ax;
diff --git a/test/language/line-terminators/S7.3_A6_T2.js b/test/language/line-terminators/S7.3_A6_T2.js
index 967b0ae600..20ebaa51e3 100644
--- a/test/language/line-terminators/S7.3_A6_T2.js
+++ b/test/language/line-terminators/S7.3_A6_T2.js
@@ -12,6 +12,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var\u000Dx;
diff --git a/test/language/line-terminators/S7.3_A6_T3.js b/test/language/line-terminators/S7.3_A6_T3.js
index 45723010f2..2e91f0c68f 100644
--- a/test/language/line-terminators/S7.3_A6_T3.js
+++ b/test/language/line-terminators/S7.3_A6_T3.js
@@ -12,6 +12,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var\u2028x;
diff --git a/test/language/line-terminators/S7.3_A6_T4.js b/test/language/line-terminators/S7.3_A6_T4.js
index 7a17121833..11bb40c5d8 100644
--- a/test/language/line-terminators/S7.3_A6_T4.js
+++ b/test/language/line-terminators/S7.3_A6_T4.js
@@ -12,6 +12,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var\u2029x;
diff --git a/test/language/literals/bigint/binary-invalid-digit.js b/test/language/literals/bigint/binary-invalid-digit.js
index e8107d9cf1..bee669c49e 100644
--- a/test/language/literals/bigint/binary-invalid-digit.js
+++ b/test/language/literals/bigint/binary-invalid-digit.js
@@ -21,6 +21,6 @@ negative:
 features: [BigInt]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0b2n;
diff --git a/test/language/literals/bigint/exponent-part.js b/test/language/literals/bigint/exponent-part.js
index 03491b05a1..3bc0c649d4 100644
--- a/test/language/literals/bigint/exponent-part.js
+++ b/test/language/literals/bigint/exponent-part.js
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-description: > 
+description: >
   It is a Syntax Error if the NumericLiteralBase contains an ExponentPart.
 esid: sec-numeric-literal-static-semantics-early-errors
 features: [BigInt]
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0e0n;
diff --git a/test/language/literals/bigint/hexadecimal-invalid-digit.js b/test/language/literals/bigint/hexadecimal-invalid-digit.js
index d338f725fe..745652ad28 100644
--- a/test/language/literals/bigint/hexadecimal-invalid-digit.js
+++ b/test/language/literals/bigint/hexadecimal-invalid-digit.js
@@ -21,6 +21,6 @@ negative:
 features: [BigInt]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0xgn;
diff --git a/test/language/literals/bigint/mv-is-not-integer-dil-dot-dds.js b/test/language/literals/bigint/mv-is-not-integer-dil-dot-dds.js
index d7db7438dc..19a30be8fd 100644
--- a/test/language/literals/bigint/mv-is-not-integer-dil-dot-dds.js
+++ b/test/language/literals/bigint/mv-is-not-integer-dil-dot-dds.js
@@ -3,7 +3,7 @@
 
 /*---
 esid: sec-numeric-literal-static-semantics-early-errors
-description: > 
+description: >
   It is a Syntax Error if the MV is not an integer. (decimalIntegerLiteral dot decimalDigits)
 info: |
   Static Semantics: BigInt Value
@@ -22,6 +22,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 2017.8n;
diff --git a/test/language/literals/bigint/mv-is-not-integer-dot-dds.js b/test/language/literals/bigint/mv-is-not-integer-dot-dds.js
index 5ea408095c..8d3aced697 100644
--- a/test/language/literals/bigint/mv-is-not-integer-dot-dds.js
+++ b/test/language/literals/bigint/mv-is-not-integer-dot-dds.js
@@ -3,7 +3,7 @@
 
 /*---
 esid: sec-numeric-literal-static-semantics-early-errors
-description: > 
+description: >
   It is a Syntax Error if the MV is not an integer. (dot decimalDigits)
 info: |
   Static Semantics: BigInt Value
@@ -22,6 +22,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 .0000000001n;
diff --git a/test/language/literals/bigint/octal-invalid-digit.js b/test/language/literals/bigint/octal-invalid-digit.js
index 9059455e47..7aa0e8c5e2 100644
--- a/test/language/literals/bigint/octal-invalid-digit.js
+++ b/test/language/literals/bigint/octal-invalid-digit.js
@@ -21,6 +21,6 @@ negative:
 features: [BigInt]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0o9n;
diff --git a/test/language/literals/numeric/7.8.3-1gs.js b/test/language/literals/numeric/7.8.3-1gs.js
index be91c3370a..d86f76ba09 100644
--- a/test/language/literals/numeric/7.8.3-1gs.js
+++ b/test/language/literals/numeric/7.8.3-1gs.js
@@ -10,6 +10,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var y = 010;
diff --git a/test/language/literals/numeric/7.8.3-2gs.js b/test/language/literals/numeric/7.8.3-2gs.js
index 2b0ec0bf21..24c61d3ca1 100644
--- a/test/language/literals/numeric/7.8.3-2gs.js
+++ b/test/language/literals/numeric/7.8.3-2gs.js
@@ -12,8 +12,8 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
-var a;
-a = 0x1;
+var a;
+a = 0x1;
 a = 01;
diff --git a/test/language/literals/numeric/S7.8.3_A6.1_T1.js b/test/language/literals/numeric/S7.8.3_A6.1_T1.js
index b1bc5b95dd..459f413e38 100644
--- a/test/language/literals/numeric/S7.8.3_A6.1_T1.js
+++ b/test/language/literals/numeric/S7.8.3_A6.1_T1.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
 0x
diff --git a/test/language/literals/numeric/S7.8.3_A6.1_T2.js b/test/language/literals/numeric/S7.8.3_A6.1_T2.js
index 42204fada2..dee1be38d7 100644
--- a/test/language/literals/numeric/S7.8.3_A6.1_T2.js
+++ b/test/language/literals/numeric/S7.8.3_A6.1_T2.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
 0X
diff --git a/test/language/literals/numeric/S7.8.3_A6.2_T1.js b/test/language/literals/numeric/S7.8.3_A6.2_T1.js
index 19458eda83..e31a159cd2 100644
--- a/test/language/literals/numeric/S7.8.3_A6.2_T1.js
+++ b/test/language/literals/numeric/S7.8.3_A6.2_T1.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
 0xG
diff --git a/test/language/literals/numeric/S7.8.3_A6.2_T2.js b/test/language/literals/numeric/S7.8.3_A6.2_T2.js
index d12f322890..49ef360539 100644
--- a/test/language/literals/numeric/S7.8.3_A6.2_T2.js
+++ b/test/language/literals/numeric/S7.8.3_A6.2_T2.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
 0xg
diff --git a/test/language/literals/numeric/binary-invalid-digit.js b/test/language/literals/numeric/binary-invalid-digit.js
index 94c810ee33..328c0ae824 100644
--- a/test/language/literals/numeric/binary-invalid-digit.js
+++ b/test/language/literals/numeric/binary-invalid-digit.js
@@ -18,6 +18,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0b2;
diff --git a/test/language/literals/numeric/binary-invalid-leading.js b/test/language/literals/numeric/binary-invalid-leading.js
index 450f4e48c5..9bcfa9321c 100644
--- a/test/language/literals/numeric/binary-invalid-leading.js
+++ b/test/language/literals/numeric/binary-invalid-leading.js
@@ -18,6 +18,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 00b0;
diff --git a/test/language/literals/numeric/binary-invalid-truncated.js b/test/language/literals/numeric/binary-invalid-truncated.js
index 9d07cca328..40201e5e73 100644
--- a/test/language/literals/numeric/binary-invalid-truncated.js
+++ b/test/language/literals/numeric/binary-invalid-truncated.js
@@ -18,6 +18,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0b;
diff --git a/test/language/literals/numeric/binary-invalid-unicode.js b/test/language/literals/numeric/binary-invalid-unicode.js
index c6ca514e70..ef69034f3a 100644
--- a/test/language/literals/numeric/binary-invalid-unicode.js
+++ b/test/language/literals/numeric/binary-invalid-unicode.js
@@ -18,6 +18,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0\u00620;
diff --git a/test/language/literals/numeric/legacy-octal-integer-strict.js b/test/language/literals/numeric/legacy-octal-integer-strict.js
index 250cfb987d..0b30e37643 100644
--- a/test/language/literals/numeric/legacy-octal-integer-strict.js
+++ b/test/language/literals/numeric/legacy-octal-integer-strict.js
@@ -20,6 +20,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 00;
diff --git a/test/language/literals/numeric/non-octal-decimal-integer-strict.js b/test/language/literals/numeric/non-octal-decimal-integer-strict.js
index d24c4c9b85..844ba1a9fa 100644
--- a/test/language/literals/numeric/non-octal-decimal-integer-strict.js
+++ b/test/language/literals/numeric/non-octal-decimal-integer-strict.js
@@ -26,6 +26,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 08;
diff --git a/test/language/literals/numeric/numeric-followed-by-ident.js b/test/language/literals/numeric/numeric-followed-by-ident.js
index d15babcd46..08e9006db5 100644
--- a/test/language/literals/numeric/numeric-followed-by-ident.js
+++ b/test/language/literals/numeric/numeric-followed-by-ident.js
@@ -13,6 +13,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 3in []
diff --git a/test/language/literals/numeric/numeric-separator-literal-bil-bd-nsl-bd-err.js b/test/language/literals/numeric/numeric-separator-literal-bil-bd-nsl-bd-err.js
index 4b6be75742..5aa40df034 100644
--- a/test/language/literals/numeric/numeric-separator-literal-bil-bd-nsl-bd-err.js
+++ b/test/language/literals/numeric/numeric-separator-literal-bil-bd-nsl-bd-err.js
@@ -29,6 +29,6 @@ negative:
 features: [numeric-separator-literal]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0b_1
diff --git a/test/language/literals/numeric/numeric-separator-literal-bil-nsl-bd-dunder-err.js b/test/language/literals/numeric/numeric-separator-literal-bil-nsl-bd-dunder-err.js
index ff49a3f5e5..b57a731fd9 100644
--- a/test/language/literals/numeric/numeric-separator-literal-bil-nsl-bd-dunder-err.js
+++ b/test/language/literals/numeric/numeric-separator-literal-bil-nsl-bd-dunder-err.js
@@ -29,6 +29,6 @@ negative:
 features: [numeric-separator-literal]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0b0__0
diff --git a/test/language/literals/numeric/numeric-separator-literal-bil-nsl-bd-err.js b/test/language/literals/numeric/numeric-separator-literal-bil-nsl-bd-err.js
index 5cf9c3e9cf..82b842e129 100644
--- a/test/language/literals/numeric/numeric-separator-literal-bil-nsl-bd-err.js
+++ b/test/language/literals/numeric/numeric-separator-literal-bil-nsl-bd-err.js
@@ -29,6 +29,6 @@ negative:
 features: [numeric-separator-literal]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0b0_
diff --git a/test/language/literals/numeric/numeric-separator-literal-dd-nsl-dds-dunder-err.js b/test/language/literals/numeric/numeric-separator-literal-dd-nsl-dds-dunder-err.js
index dfe393fe24..fddfd2f1a6 100644
--- a/test/language/literals/numeric/numeric-separator-literal-dd-nsl-dds-dunder-err.js
+++ b/test/language/literals/numeric/numeric-separator-literal-dd-nsl-dds-dunder-err.js
@@ -21,6 +21,6 @@ negative:
 features: [numeric-separator-literal]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 1__0123456789
diff --git a/test/language/literals/numeric/numeric-separator-literal-dd-nsl-err.js b/test/language/literals/numeric/numeric-separator-literal-dd-nsl-err.js
index 0498b4b677..571ef347e1 100644
--- a/test/language/literals/numeric/numeric-separator-literal-dd-nsl-err.js
+++ b/test/language/literals/numeric/numeric-separator-literal-dd-nsl-err.js
@@ -23,6 +23,6 @@ negative:
 features: [numeric-separator-literal]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 1_
diff --git a/test/language/literals/numeric/numeric-separator-literal-dds-nsl-dds-dunder-err.js b/test/language/literals/numeric/numeric-separator-literal-dds-nsl-dds-dunder-err.js
index a778ca87a8..c4f722a7e2 100644
--- a/test/language/literals/numeric/numeric-separator-literal-dds-nsl-dds-dunder-err.js
+++ b/test/language/literals/numeric/numeric-separator-literal-dds-nsl-dds-dunder-err.js
@@ -21,6 +21,6 @@ negative:
 features: [numeric-separator-literal]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 10__0123456789
diff --git a/test/language/literals/numeric/numeric-separator-literal-dds-nsl-err.js b/test/language/literals/numeric/numeric-separator-literal-dds-nsl-err.js
index cb768cbfb0..a277e2e5c4 100644
--- a/test/language/literals/numeric/numeric-separator-literal-dds-nsl-err.js
+++ b/test/language/literals/numeric/numeric-separator-literal-dds-nsl-err.js
@@ -24,6 +24,6 @@ negative:
 features: [numeric-separator-literal]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 10_
diff --git a/test/language/literals/numeric/numeric-separator-literal-dil-dot-dds-nsl-ep-dd-err.js b/test/language/literals/numeric/numeric-separator-literal-dil-dot-dds-nsl-ep-dd-err.js
index 0d122bb464..167377281a 100644
--- a/test/language/literals/numeric/numeric-separator-literal-dil-dot-dds-nsl-ep-dd-err.js
+++ b/test/language/literals/numeric/numeric-separator-literal-dil-dot-dds-nsl-ep-dd-err.js
@@ -23,6 +23,6 @@ negative:
 features: [numeric-separator-literal]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 10.0_e1
diff --git a/test/language/literals/numeric/numeric-separator-literal-dil-dot-nsl-ep-err.js b/test/language/literals/numeric/numeric-separator-literal-dil-dot-nsl-ep-err.js
index 5e7ca1485e..82feb241f9 100644
--- a/test/language/literals/numeric/numeric-separator-literal-dil-dot-nsl-ep-err.js
+++ b/test/language/literals/numeric/numeric-separator-literal-dil-dot-nsl-ep-err.js
@@ -26,6 +26,6 @@ negative:
 features: [numeric-separator-literal]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 10._e1
diff --git a/test/language/literals/numeric/numeric-separator-literal-dil-dot-nsl-err.js b/test/language/literals/numeric/numeric-separator-literal-dil-dot-nsl-err.js
index e98a1611b1..73d4729cbd 100644
--- a/test/language/literals/numeric/numeric-separator-literal-dil-dot-nsl-err.js
+++ b/test/language/literals/numeric/numeric-separator-literal-dil-dot-nsl-err.js
@@ -24,6 +24,6 @@ negative:
 features: [numeric-separator-literal]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 10._
diff --git a/test/language/literals/numeric/numeric-separator-literal-dot-dds-nsl-ep-err.js b/test/language/literals/numeric/numeric-separator-literal-dot-dds-nsl-ep-err.js
index 3f387fc2c8..6761ff4390 100644
--- a/test/language/literals/numeric/numeric-separator-literal-dot-dds-nsl-ep-err.js
+++ b/test/language/literals/numeric/numeric-separator-literal-dot-dds-nsl-ep-err.js
@@ -25,6 +25,6 @@ negative:
 features: [numeric-separator-literal]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 .0_e1
diff --git a/test/language/literals/numeric/numeric-separator-literal-dot-nsl-ep-err.js b/test/language/literals/numeric/numeric-separator-literal-dot-nsl-ep-err.js
index 2935344910..9ce2291ba8 100644
--- a/test/language/literals/numeric/numeric-separator-literal-dot-nsl-ep-err.js
+++ b/test/language/literals/numeric/numeric-separator-literal-dot-nsl-ep-err.js
@@ -26,6 +26,6 @@ negative:
 features: [numeric-separator-literal]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 ._e1
diff --git a/test/language/literals/numeric/numeric-separator-literal-dot-nsl-err.js b/test/language/literals/numeric/numeric-separator-literal-dot-nsl-err.js
index 695972dc23..3061bfccab 100644
--- a/test/language/literals/numeric/numeric-separator-literal-dot-nsl-err.js
+++ b/test/language/literals/numeric/numeric-separator-literal-dot-nsl-err.js
@@ -24,6 +24,6 @@ negative:
 features: [numeric-separator-literal]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 ._
diff --git a/test/language/literals/numeric/numeric-separator-literal-hil-hd-nsl-hd-err.js b/test/language/literals/numeric/numeric-separator-literal-hil-hd-nsl-hd-err.js
index 7b9fbcbabd..3312362053 100644
--- a/test/language/literals/numeric/numeric-separator-literal-hil-hd-nsl-hd-err.js
+++ b/test/language/literals/numeric/numeric-separator-literal-hil-hd-nsl-hd-err.js
@@ -29,6 +29,6 @@ negative:
 features: [numeric-separator-literal]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0x_1
diff --git a/test/language/literals/numeric/numeric-separator-literal-hil-nsl-hd-dunder-err.js b/test/language/literals/numeric/numeric-separator-literal-hil-nsl-hd-dunder-err.js
index a9bf6dee81..0aa1b183b0 100644
--- a/test/language/literals/numeric/numeric-separator-literal-hil-nsl-hd-dunder-err.js
+++ b/test/language/literals/numeric/numeric-separator-literal-hil-nsl-hd-dunder-err.js
@@ -29,6 +29,6 @@ negative:
 features: [numeric-separator-literal]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0x0__0
diff --git a/test/language/literals/numeric/numeric-separator-literal-hil-nsl-hd-err.js b/test/language/literals/numeric/numeric-separator-literal-hil-nsl-hd-err.js
index 94648f37bc..8eea5e08d9 100644
--- a/test/language/literals/numeric/numeric-separator-literal-hil-nsl-hd-err.js
+++ b/test/language/literals/numeric/numeric-separator-literal-hil-nsl-hd-err.js
@@ -29,6 +29,6 @@ negative:
 features: [numeric-separator-literal]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0x0_
diff --git a/test/language/literals/numeric/numeric-separator-literal-nzd-nsl-dds-dunder-err.js b/test/language/literals/numeric/numeric-separator-literal-nzd-nsl-dds-dunder-err.js
index 55fcbb11da..f8b29b2b7a 100644
--- a/test/language/literals/numeric/numeric-separator-literal-nzd-nsl-dds-dunder-err.js
+++ b/test/language/literals/numeric/numeric-separator-literal-nzd-nsl-dds-dunder-err.js
@@ -24,6 +24,6 @@ negative:
 features: [numeric-separator-literal]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0__0123456789
diff --git a/test/language/literals/numeric/numeric-separator-literal-nzd-nsl-dds-leading-zero-err.js b/test/language/literals/numeric/numeric-separator-literal-nzd-nsl-dds-leading-zero-err.js
index ca8a669082..2d8b534c6d 100644
--- a/test/language/literals/numeric/numeric-separator-literal-nzd-nsl-dds-leading-zero-err.js
+++ b/test/language/literals/numeric/numeric-separator-literal-nzd-nsl-dds-leading-zero-err.js
@@ -22,6 +22,6 @@ negative:
 features: [numeric-separator-literal]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0_0123456789
diff --git a/test/language/literals/numeric/numeric-separator-literal-oil-nsl-od-dunder-err.js b/test/language/literals/numeric/numeric-separator-literal-oil-nsl-od-dunder-err.js
index d60e5f7be7..1cd25b256b 100644
--- a/test/language/literals/numeric/numeric-separator-literal-oil-nsl-od-dunder-err.js
+++ b/test/language/literals/numeric/numeric-separator-literal-oil-nsl-od-dunder-err.js
@@ -29,6 +29,6 @@ negative:
 features: [numeric-separator-literal]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0o0__0
diff --git a/test/language/literals/numeric/numeric-separator-literal-oil-nsl-od-err.js b/test/language/literals/numeric/numeric-separator-literal-oil-nsl-od-err.js
index 7c53a7c39f..d0a4ab85d0 100644
--- a/test/language/literals/numeric/numeric-separator-literal-oil-nsl-od-err.js
+++ b/test/language/literals/numeric/numeric-separator-literal-oil-nsl-od-err.js
@@ -29,6 +29,6 @@ negative:
 features: [numeric-separator-literal]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0o0_
diff --git a/test/language/literals/numeric/numeric-separator-literal-oil-od-nsl-od-err.js b/test/language/literals/numeric/numeric-separator-literal-oil-od-nsl-od-err.js
index ad04fcb4f5..142ce21238 100644
--- a/test/language/literals/numeric/numeric-separator-literal-oil-od-nsl-od-err.js
+++ b/test/language/literals/numeric/numeric-separator-literal-oil-od-nsl-od-err.js
@@ -29,6 +29,6 @@ negative:
 features: [numeric-separator-literal]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0o_1
diff --git a/test/language/literals/numeric/numeric-separator-literal-unicode-err.js b/test/language/literals/numeric/numeric-separator-literal-unicode-err.js
index b8ce1f9d50..30296d3647 100644
--- a/test/language/literals/numeric/numeric-separator-literal-unicode-err.js
+++ b/test/language/literals/numeric/numeric-separator-literal-unicode-err.js
@@ -21,6 +21,6 @@ negative:
 features: [numeric-separator-literal]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 1\u005F0123456789
diff --git a/test/language/literals/numeric/octal-invalid-digit.js b/test/language/literals/numeric/octal-invalid-digit.js
index f9685d9df5..02451db8c4 100644
--- a/test/language/literals/numeric/octal-invalid-digit.js
+++ b/test/language/literals/numeric/octal-invalid-digit.js
@@ -18,6 +18,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0o8;
diff --git a/test/language/literals/numeric/octal-invalid-leading.js b/test/language/literals/numeric/octal-invalid-leading.js
index 8a87dbd3d6..d35e722f63 100644
--- a/test/language/literals/numeric/octal-invalid-leading.js
+++ b/test/language/literals/numeric/octal-invalid-leading.js
@@ -18,6 +18,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 00o0;
diff --git a/test/language/literals/numeric/octal-invalid-truncated.js b/test/language/literals/numeric/octal-invalid-truncated.js
index dc4c74b0c8..6e51e27e01 100644
--- a/test/language/literals/numeric/octal-invalid-truncated.js
+++ b/test/language/literals/numeric/octal-invalid-truncated.js
@@ -18,6 +18,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0o;
diff --git a/test/language/literals/numeric/octal-invalid-unicode.js b/test/language/literals/numeric/octal-invalid-unicode.js
index 5aaebc4338..9d9e0cd8f2 100644
--- a/test/language/literals/numeric/octal-invalid-unicode.js
+++ b/test/language/literals/numeric/octal-invalid-unicode.js
@@ -18,6 +18,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 0\u006f0;
diff --git a/test/language/literals/regexp/S7.8.5_A1.2_T1.js b/test/language/literals/regexp/S7.8.5_A1.2_T1.js
index 9191a99502..dd78a7c179 100644
--- a/test/language/literals/regexp/S7.8.5_A1.2_T1.js
+++ b/test/language/literals/regexp/S7.8.5_A1.2_T1.js
@@ -18,6 +18,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /*/
diff --git a/test/language/literals/regexp/S7.8.5_A1.2_T2.js b/test/language/literals/regexp/S7.8.5_A1.2_T2.js
index f535e9e982..14007808e1 100644
--- a/test/language/literals/regexp/S7.8.5_A1.2_T2.js
+++ b/test/language/literals/regexp/S7.8.5_A1.2_T2.js
@@ -21,6 +21,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\/
diff --git a/test/language/literals/regexp/S7.8.5_A1.2_T3.js b/test/language/literals/regexp/S7.8.5_A1.2_T3.js
index 2cf135fd92..07f8d7fe9e 100644
--- a/test/language/literals/regexp/S7.8.5_A1.2_T3.js
+++ b/test/language/literals/regexp/S7.8.5_A1.2_T3.js
@@ -21,7 +21,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 ///
 .source;
diff --git a/test/language/literals/regexp/S7.8.5_A1.2_T4.js b/test/language/literals/regexp/S7.8.5_A1.2_T4.js
index a123c3ab57..7c27113b16 100644
--- a/test/language/literals/regexp/S7.8.5_A1.2_T4.js
+++ b/test/language/literals/regexp/S7.8.5_A1.2_T4.js
@@ -21,7 +21,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //
 .source;
diff --git a/test/language/literals/regexp/S7.8.5_A1.3_T1.js b/test/language/literals/regexp/S7.8.5_A1.3_T1.js
index b51945387a..bad11e91f7 100644
--- a/test/language/literals/regexp/S7.8.5_A1.3_T1.js
+++ b/test/language/literals/regexp/S7.8.5_A1.3_T1.js
@@ -24,7 +24,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /
 /
diff --git a/test/language/literals/regexp/S7.8.5_A1.3_T3.js b/test/language/literals/regexp/S7.8.5_A1.3_T3.js
index 2158169de3..9cdd2f14ba 100644
--- a/test/language/literals/regexp/S7.8.5_A1.3_T3.js
+++ b/test/language/literals/regexp/S7.8.5_A1.3_T3.js
@@ -24,7 +24,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /
 /
diff --git a/test/language/literals/regexp/S7.8.5_A1.5_T1.js b/test/language/literals/regexp/S7.8.5_A1.5_T1.js
index 926cdb5277..4eb092792f 100644
--- a/test/language/literals/regexp/S7.8.5_A1.5_T1.js
+++ b/test/language/literals/regexp/S7.8.5_A1.5_T1.js
@@ -18,7 +18,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\
 /
diff --git a/test/language/literals/regexp/S7.8.5_A1.5_T3.js b/test/language/literals/regexp/S7.8.5_A1.5_T3.js
index fb71108222..850c45d59e 100644
--- a/test/language/literals/regexp/S7.8.5_A1.5_T3.js
+++ b/test/language/literals/regexp/S7.8.5_A1.5_T3.js
@@ -17,7 +17,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\
 /
diff --git a/test/language/literals/regexp/S7.8.5_A2.2_T1.js b/test/language/literals/regexp/S7.8.5_A2.2_T1.js
index eba3dc10cd..2ea4e0f67a 100644
--- a/test/language/literals/regexp/S7.8.5_A2.2_T1.js
+++ b/test/language/literals/regexp/S7.8.5_A2.2_T1.js
@@ -18,6 +18,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /a\/
diff --git a/test/language/literals/regexp/S7.8.5_A2.2_T2.js b/test/language/literals/regexp/S7.8.5_A2.2_T2.js
index b0226a84d9..2ee28b0116 100644
--- a/test/language/literals/regexp/S7.8.5_A2.2_T2.js
+++ b/test/language/literals/regexp/S7.8.5_A2.2_T2.js
@@ -18,6 +18,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /a//.source;
diff --git a/test/language/literals/regexp/S7.8.5_A2.3_T1.js b/test/language/literals/regexp/S7.8.5_A2.3_T1.js
index 60a68c75c4..de5e9cb879 100644
--- a/test/language/literals/regexp/S7.8.5_A2.3_T1.js
+++ b/test/language/literals/regexp/S7.8.5_A2.3_T1.js
@@ -27,7 +27,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /a
 /
diff --git a/test/language/literals/regexp/S7.8.5_A2.3_T3.js b/test/language/literals/regexp/S7.8.5_A2.3_T3.js
index 2efa33a572..15742bfe19 100644
--- a/test/language/literals/regexp/S7.8.5_A2.3_T3.js
+++ b/test/language/literals/regexp/S7.8.5_A2.3_T3.js
@@ -28,7 +28,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /a
 /
diff --git a/test/language/literals/regexp/S7.8.5_A2.5_T1.js b/test/language/literals/regexp/S7.8.5_A2.5_T1.js
index bfed0ececb..df1e39375c 100644
--- a/test/language/literals/regexp/S7.8.5_A2.5_T1.js
+++ b/test/language/literals/regexp/S7.8.5_A2.5_T1.js
@@ -23,7 +23,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /a\
 /
diff --git a/test/language/literals/regexp/S7.8.5_A2.5_T3.js b/test/language/literals/regexp/S7.8.5_A2.5_T3.js
index 1ae760fc46..48b7662961 100644
--- a/test/language/literals/regexp/S7.8.5_A2.5_T3.js
+++ b/test/language/literals/regexp/S7.8.5_A2.5_T3.js
@@ -23,7 +23,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /a\
 /
diff --git a/test/language/literals/regexp/early-err-bad-flag.js b/test/language/literals/regexp/early-err-bad-flag.js
index 304816abb9..1e0b07834a 100644
--- a/test/language/literals/regexp/early-err-bad-flag.js
+++ b/test/language/literals/regexp/early-err-bad-flag.js
@@ -13,6 +13,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /./G;
diff --git a/test/language/literals/regexp/early-err-dup-flag.js b/test/language/literals/regexp/early-err-dup-flag.js
index 97fd83d4ed..64113a80b9 100644
--- a/test/language/literals/regexp/early-err-dup-flag.js
+++ b/test/language/literals/regexp/early-err-dup-flag.js
@@ -13,6 +13,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /./gig;
diff --git a/test/language/literals/regexp/early-err-flags-unicode-escape.js b/test/language/literals/regexp/early-err-flags-unicode-escape.js
index e3411450c5..f8ccf2dfcb 100644
--- a/test/language/literals/regexp/early-err-flags-unicode-escape.js
+++ b/test/language/literals/regexp/early-err-flags-unicode-escape.js
@@ -13,6 +13,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /./\u0067;
diff --git a/test/language/literals/regexp/early-err-pattern.js b/test/language/literals/regexp/early-err-pattern.js
index d618b2fd41..8ec9b77dcc 100644
--- a/test/language/literals/regexp/early-err-pattern.js
+++ b/test/language/literals/regexp/early-err-pattern.js
@@ -12,6 +12,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /?/;
diff --git a/test/language/literals/regexp/invalid-braced-quantifier-exact.js b/test/language/literals/regexp/invalid-braced-quantifier-exact.js
index b957a0d03f..d3bedeeacc 100644
--- a/test/language/literals/regexp/invalid-braced-quantifier-exact.js
+++ b/test/language/literals/regexp/invalid-braced-quantifier-exact.js
@@ -20,6 +20,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /{2}/;
diff --git a/test/language/literals/regexp/invalid-braced-quantifier-lower.js b/test/language/literals/regexp/invalid-braced-quantifier-lower.js
index 7b6c39d858..31ceca2264 100644
--- a/test/language/literals/regexp/invalid-braced-quantifier-lower.js
+++ b/test/language/literals/regexp/invalid-braced-quantifier-lower.js
@@ -20,6 +20,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /{2,}/;
diff --git a/test/language/literals/regexp/invalid-braced-quantifier-range.js b/test/language/literals/regexp/invalid-braced-quantifier-range.js
index 5c43af8563..2327d2421e 100644
--- a/test/language/literals/regexp/invalid-braced-quantifier-range.js
+++ b/test/language/literals/regexp/invalid-braced-quantifier-range.js
@@ -20,6 +20,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /{2,3}/;
diff --git a/test/language/literals/regexp/invalid-optional-lookbehind.js b/test/language/literals/regexp/invalid-optional-lookbehind.js
index 0e46d6b251..e3a4a213b1 100644
--- a/test/language/literals/regexp/invalid-optional-lookbehind.js
+++ b/test/language/literals/regexp/invalid-optional-lookbehind.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /.(?<=.)?/;
diff --git a/test/language/literals/regexp/invalid-optional-negative-lookbehind.js b/test/language/literals/regexp/invalid-optional-negative-lookbehind.js
index b972bc6764..6b62b74df5 100644
--- a/test/language/literals/regexp/invalid-optional-negative-lookbehind.js
+++ b/test/language/literals/regexp/invalid-optional-negative-lookbehind.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /.(?<!.)?/;
diff --git a/test/language/literals/regexp/invalid-range-lookbehind.js b/test/language/literals/regexp/invalid-range-lookbehind.js
index 2019433e82..fd58c9cf7e 100644
--- a/test/language/literals/regexp/invalid-range-lookbehind.js
+++ b/test/language/literals/regexp/invalid-range-lookbehind.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /.(?<=.){2,3}/;
diff --git a/test/language/literals/regexp/invalid-range-negative-lookbehind.js b/test/language/literals/regexp/invalid-range-negative-lookbehind.js
index c02122bbb1..c10e2b7924 100644
--- a/test/language/literals/regexp/invalid-range-negative-lookbehind.js
+++ b/test/language/literals/regexp/invalid-range-negative-lookbehind.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /.(?<!.){2,3}/;
diff --git a/test/language/literals/regexp/regexp-first-char-no-line-separator.js b/test/language/literals/regexp/regexp-first-char-no-line-separator.js
index 804cc6e0e2..bb8db8e94b 100644
--- a/test/language/literals/regexp/regexp-first-char-no-line-separator.js
+++ b/test/language/literals/regexp/regexp-first-char-no-line-separator.js
@@ -24,7 +24,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /
/
 
diff --git a/test/language/literals/regexp/regexp-first-char-no-paragraph-separator.js b/test/language/literals/regexp/regexp-first-char-no-paragraph-separator.js
index 05bf3ebe6b..16197c37e0 100644
--- a/test/language/literals/regexp/regexp-first-char-no-paragraph-separator.js
+++ b/test/language/literals/regexp/regexp-first-char-no-paragraph-separator.js
@@ -24,7 +24,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /
/
 
diff --git a/test/language/literals/regexp/regexp-source-char-no-line-separator.js b/test/language/literals/regexp/regexp-source-char-no-line-separator.js
index 7a8ef5b89c..2b983a0702 100644
--- a/test/language/literals/regexp/regexp-source-char-no-line-separator.js
+++ b/test/language/literals/regexp/regexp-source-char-no-line-separator.js
@@ -23,7 +23,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /a\\
/
 
diff --git a/test/language/literals/regexp/regexp-source-char-no-paragraph-separator.js b/test/language/literals/regexp/regexp-source-char-no-paragraph-separator.js
index 37b34928c7..8b08e0560c 100644
--- a/test/language/literals/regexp/regexp-source-char-no-paragraph-separator.js
+++ b/test/language/literals/regexp/regexp-source-char-no-paragraph-separator.js
@@ -24,7 +24,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /a\\

/
 
diff --git a/test/language/literals/regexp/u-dec-esc.js b/test/language/literals/regexp/u-dec-esc.js
index f6a17d3c65..faa200f48f 100644
--- a/test/language/literals/regexp/u-dec-esc.js
+++ b/test/language/literals/regexp/u-dec-esc.js
@@ -12,6 +12,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\1/u;
diff --git a/test/language/literals/regexp/u-invalid-class-escape.js b/test/language/literals/regexp/u-invalid-class-escape.js
index 8df0a615bd..6d50ce4762 100644
--- a/test/language/literals/regexp/u-invalid-class-escape.js
+++ b/test/language/literals/regexp/u-invalid-class-escape.js
@@ -18,6 +18,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\c0/u;
diff --git a/test/language/literals/regexp/u-invalid-extended-pattern-char.js b/test/language/literals/regexp/u-invalid-extended-pattern-char.js
index 8463f9efb8..8745e38dd0 100644
--- a/test/language/literals/regexp/u-invalid-extended-pattern-char.js
+++ b/test/language/literals/regexp/u-invalid-extended-pattern-char.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /{/u;
diff --git a/test/language/literals/regexp/u-invalid-identity-escape.js b/test/language/literals/regexp/u-invalid-identity-escape.js
index 96beb7b34e..2e614c7a48 100644
--- a/test/language/literals/regexp/u-invalid-identity-escape.js
+++ b/test/language/literals/regexp/u-invalid-identity-escape.js
@@ -17,6 +17,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\M/u;
diff --git a/test/language/literals/regexp/u-invalid-legacy-octal-escape.js b/test/language/literals/regexp/u-invalid-legacy-octal-escape.js
index 71394008b2..ca83e19cfa 100644
--- a/test/language/literals/regexp/u-invalid-legacy-octal-escape.js
+++ b/test/language/literals/regexp/u-invalid-legacy-octal-escape.js
@@ -20,6 +20,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\1/u;
diff --git a/test/language/literals/regexp/u-invalid-non-empty-class-ranges-no-dash-a.js b/test/language/literals/regexp/u-invalid-non-empty-class-ranges-no-dash-a.js
index 29150a73e2..80871b19cf 100644
--- a/test/language/literals/regexp/u-invalid-non-empty-class-ranges-no-dash-a.js
+++ b/test/language/literals/regexp/u-invalid-non-empty-class-ranges-no-dash-a.js
@@ -27,6 +27,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /[\d-a]/u;
diff --git a/test/language/literals/regexp/u-invalid-non-empty-class-ranges-no-dash-ab.js b/test/language/literals/regexp/u-invalid-non-empty-class-ranges-no-dash-ab.js
index 4e76229a1b..8a8a302c27 100644
--- a/test/language/literals/regexp/u-invalid-non-empty-class-ranges-no-dash-ab.js
+++ b/test/language/literals/regexp/u-invalid-non-empty-class-ranges-no-dash-ab.js
@@ -27,6 +27,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /[\s-\d]/u;
diff --git a/test/language/literals/regexp/u-invalid-non-empty-class-ranges-no-dash-b.js b/test/language/literals/regexp/u-invalid-non-empty-class-ranges-no-dash-b.js
index 1546bccea4..55922b5c0e 100644
--- a/test/language/literals/regexp/u-invalid-non-empty-class-ranges-no-dash-b.js
+++ b/test/language/literals/regexp/u-invalid-non-empty-class-ranges-no-dash-b.js
@@ -27,6 +27,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /[%-\d]/u;
diff --git a/test/language/literals/regexp/u-invalid-non-empty-class-ranges.js b/test/language/literals/regexp/u-invalid-non-empty-class-ranges.js
index ca43f93f67..15873d6b25 100644
--- a/test/language/literals/regexp/u-invalid-non-empty-class-ranges.js
+++ b/test/language/literals/regexp/u-invalid-non-empty-class-ranges.js
@@ -26,6 +26,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /[--\d]/u;
diff --git a/test/language/literals/regexp/u-invalid-oob-decimal-escape.js b/test/language/literals/regexp/u-invalid-oob-decimal-escape.js
index eb3d2a64a3..06d6ca1160 100644
--- a/test/language/literals/regexp/u-invalid-oob-decimal-escape.js
+++ b/test/language/literals/regexp/u-invalid-oob-decimal-escape.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\8/u;
diff --git a/test/language/literals/regexp/u-invalid-optional-lookahead.js b/test/language/literals/regexp/u-invalid-optional-lookahead.js
index c1d64c2c70..21c8dee70f 100644
--- a/test/language/literals/regexp/u-invalid-optional-lookahead.js
+++ b/test/language/literals/regexp/u-invalid-optional-lookahead.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /.(?=.)?/u;
diff --git a/test/language/literals/regexp/u-invalid-optional-lookbehind.js b/test/language/literals/regexp/u-invalid-optional-lookbehind.js
index d36b4e0c9d..7e2596d8f2 100644
--- a/test/language/literals/regexp/u-invalid-optional-lookbehind.js
+++ b/test/language/literals/regexp/u-invalid-optional-lookbehind.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /.(?<=.)?/u;
diff --git a/test/language/literals/regexp/u-invalid-optional-negative-lookahead.js b/test/language/literals/regexp/u-invalid-optional-negative-lookahead.js
index e12dcae6e6..aaf25231be 100644
--- a/test/language/literals/regexp/u-invalid-optional-negative-lookahead.js
+++ b/test/language/literals/regexp/u-invalid-optional-negative-lookahead.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /.(?!.)?/u;
diff --git a/test/language/literals/regexp/u-invalid-optional-negative-lookbehind.js b/test/language/literals/regexp/u-invalid-optional-negative-lookbehind.js
index 6697fa05fa..b66aa7858a 100644
--- a/test/language/literals/regexp/u-invalid-optional-negative-lookbehind.js
+++ b/test/language/literals/regexp/u-invalid-optional-negative-lookbehind.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /.(?<!.)?/u;
diff --git a/test/language/literals/regexp/u-invalid-range-lookahead.js b/test/language/literals/regexp/u-invalid-range-lookahead.js
index 1c6efb12c7..fd1f13dd53 100644
--- a/test/language/literals/regexp/u-invalid-range-lookahead.js
+++ b/test/language/literals/regexp/u-invalid-range-lookahead.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /.(?=.){2,3}/u;
diff --git a/test/language/literals/regexp/u-invalid-range-lookbehind.js b/test/language/literals/regexp/u-invalid-range-lookbehind.js
index a690848698..ac85a6ce15 100644
--- a/test/language/literals/regexp/u-invalid-range-lookbehind.js
+++ b/test/language/literals/regexp/u-invalid-range-lookbehind.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /.(?<=.){2,3}/u;
diff --git a/test/language/literals/regexp/u-invalid-range-negative-lookahead.js b/test/language/literals/regexp/u-invalid-range-negative-lookahead.js
index 18d3c1b126..f322311414 100644
--- a/test/language/literals/regexp/u-invalid-range-negative-lookahead.js
+++ b/test/language/literals/regexp/u-invalid-range-negative-lookahead.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /.(?!.){2,3}/u;
diff --git a/test/language/literals/regexp/u-invalid-range-negative-lookbehind.js b/test/language/literals/regexp/u-invalid-range-negative-lookbehind.js
index 7bb80a2499..3c46cd33ca 100644
--- a/test/language/literals/regexp/u-invalid-range-negative-lookbehind.js
+++ b/test/language/literals/regexp/u-invalid-range-negative-lookbehind.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /.(?<!.){2,3}/u;
diff --git a/test/language/literals/regexp/u-unicode-esc-bounds.js b/test/language/literals/regexp/u-unicode-esc-bounds.js
index 4934b4ddd1..e6cee72923 100644
--- a/test/language/literals/regexp/u-unicode-esc-bounds.js
+++ b/test/language/literals/regexp/u-unicode-esc-bounds.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\u{110000}/u;
diff --git a/test/language/literals/regexp/u-unicode-esc-non-hex.js b/test/language/literals/regexp/u-unicode-esc-non-hex.js
index c8fdc3613a..e425b8b1d8 100644
--- a/test/language/literals/regexp/u-unicode-esc-non-hex.js
+++ b/test/language/literals/regexp/u-unicode-esc-non-hex.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\u{1,}/u;
diff --git a/test/language/literals/regexp/unicode-escape-nls-err.js b/test/language/literals/regexp/unicode-escape-nls-err.js
index 24b4ad5d67..97692902dd 100644
--- a/test/language/literals/regexp/unicode-escape-nls-err.js
+++ b/test/language/literals/regexp/unicode-escape-nls-err.js
@@ -68,6 +68,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /\u{1F_639}/u;
diff --git a/test/language/literals/string/S7.8.4_A1.1_T1.js b/test/language/literals/string/S7.8.4_A1.1_T1.js
index 1e724dbc52..4f8a99994d 100644
--- a/test/language/literals/string/S7.8.4_A1.1_T1.js
+++ b/test/language/literals/string/S7.8.4_A1.1_T1.js
@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
 """
diff --git a/test/language/literals/string/S7.8.4_A1.1_T2.js b/test/language/literals/string/S7.8.4_A1.1_T2.js
index e26c5f0723..1238b39823 100644
--- a/test/language/literals/string/S7.8.4_A1.1_T2.js
+++ b/test/language/literals/string/S7.8.4_A1.1_T2.js
@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
 "
diff --git a/test/language/literals/string/S7.8.4_A1.2_T1.js b/test/language/literals/string/S7.8.4_A1.2_T1.js
index 582c65553e..ee99a92bf9 100644
--- a/test/language/literals/string/S7.8.4_A1.2_T1.js
+++ b/test/language/literals/string/S7.8.4_A1.2_T1.js
@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
 '''
diff --git a/test/language/literals/string/S7.8.4_A1.2_T2.js b/test/language/literals/string/S7.8.4_A1.2_T2.js
index df26aa59a9..ed3c52e457 100644
--- a/test/language/literals/string/S7.8.4_A1.2_T2.js
+++ b/test/language/literals/string/S7.8.4_A1.2_T2.js
@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
 '
diff --git a/test/language/literals/string/S7.8.4_A3.1_T1.js b/test/language/literals/string/S7.8.4_A3.1_T1.js
index 136591e7b0..014a2ee6dd 100644
--- a/test/language/literals/string/S7.8.4_A3.1_T1.js
+++ b/test/language/literals/string/S7.8.4_A3.1_T1.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
 "\"
diff --git a/test/language/literals/string/S7.8.4_A3.1_T2.js b/test/language/literals/string/S7.8.4_A3.1_T2.js
index fd41fb60e7..fc9da21e05 100644
--- a/test/language/literals/string/S7.8.4_A3.1_T2.js
+++ b/test/language/literals/string/S7.8.4_A3.1_T2.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
 '\'
diff --git a/test/language/literals/string/S7.8.4_A3.2_T1.js b/test/language/literals/string/S7.8.4_A3.2_T1.js
index c683cc6e93..cde0a103e8 100644
--- a/test/language/literals/string/S7.8.4_A3.2_T1.js
+++ b/test/language/literals/string/S7.8.4_A3.2_T1.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
 "\\\"
diff --git a/test/language/literals/string/S7.8.4_A3.2_T2.js b/test/language/literals/string/S7.8.4_A3.2_T2.js
index 8c1951d7f8..33fd00da8a 100644
--- a/test/language/literals/string/S7.8.4_A3.2_T2.js
+++ b/test/language/literals/string/S7.8.4_A3.2_T2.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
 '\\\'
diff --git a/test/language/literals/string/S7.8.4_A4.3_T1.js b/test/language/literals/string/S7.8.4_A4.3_T1.js
index 4cc00380b3..d3c8266243 100644
--- a/test/language/literals/string/S7.8.4_A4.3_T1.js
+++ b/test/language/literals/string/S7.8.4_A4.3_T1.js
@@ -11,6 +11,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 "\1"
diff --git a/test/language/literals/string/S7.8.4_A4.3_T2.js b/test/language/literals/string/S7.8.4_A4.3_T2.js
index def1cdb057..05552ca049 100644
--- a/test/language/literals/string/S7.8.4_A4.3_T2.js
+++ b/test/language/literals/string/S7.8.4_A4.3_T2.js
@@ -11,6 +11,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 "\7"
diff --git a/test/language/literals/string/S7.8.4_A7.1_T4.js b/test/language/literals/string/S7.8.4_A7.1_T4.js
index a1002e5547..7a3efc281d 100644
--- a/test/language/literals/string/S7.8.4_A7.1_T4.js
+++ b/test/language/literals/string/S7.8.4_A7.1_T4.js
@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#
 "\u000G"
diff --git a/test/language/literals/string/S7.8.4_A7.2_T1.js b/test/language/literals/string/S7.8.4_A7.2_T1.js
index 2f122a5f71..8b7ba99a1f 100644
--- a/test/language/literals/string/S7.8.4_A7.2_T1.js
+++ b/test/language/literals/string/S7.8.4_A7.2_T1.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
 "\u1"
diff --git a/test/language/literals/string/S7.8.4_A7.2_T2.js b/test/language/literals/string/S7.8.4_A7.2_T2.js
index be6588d7e1..b64439cb8a 100644
--- a/test/language/literals/string/S7.8.4_A7.2_T2.js
+++ b/test/language/literals/string/S7.8.4_A7.2_T2.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
 "\uA"
diff --git a/test/language/literals/string/S7.8.4_A7.2_T3.js b/test/language/literals/string/S7.8.4_A7.2_T3.js
index a06d44fe4e..6a0b313928 100644
--- a/test/language/literals/string/S7.8.4_A7.2_T3.js
+++ b/test/language/literals/string/S7.8.4_A7.2_T3.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
 "\u11"
diff --git a/test/language/literals/string/S7.8.4_A7.2_T4.js b/test/language/literals/string/S7.8.4_A7.2_T4.js
index 83bf6097a8..d5ffc0e5b4 100644
--- a/test/language/literals/string/S7.8.4_A7.2_T4.js
+++ b/test/language/literals/string/S7.8.4_A7.2_T4.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
 "\uAA"
diff --git a/test/language/literals/string/S7.8.4_A7.2_T5.js b/test/language/literals/string/S7.8.4_A7.2_T5.js
index a4d09167aa..aa53b20fd3 100644
--- a/test/language/literals/string/S7.8.4_A7.2_T5.js
+++ b/test/language/literals/string/S7.8.4_A7.2_T5.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
 "\u111"
diff --git a/test/language/literals/string/S7.8.4_A7.2_T6.js b/test/language/literals/string/S7.8.4_A7.2_T6.js
index b75c821a2b..27e51dc885 100644
--- a/test/language/literals/string/S7.8.4_A7.2_T6.js
+++ b/test/language/literals/string/S7.8.4_A7.2_T6.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //CHECK#1
 "\uAAA"
diff --git a/test/language/literals/string/legacy-non-octal-escape-sequence-strict.js b/test/language/literals/string/legacy-non-octal-escape-sequence-strict.js
index e555c94f51..6203f9f8e6 100644
--- a/test/language/literals/string/legacy-non-octal-escape-sequence-strict.js
+++ b/test/language/literals/string/legacy-non-octal-escape-sequence-strict.js
@@ -33,6 +33,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 '\08';
diff --git a/test/language/literals/string/legacy-octal-escape-sequence-prologue-strict.js b/test/language/literals/string/legacy-octal-escape-sequence-prologue-strict.js
index 0887991869..fd2ad26f2c 100644
--- a/test/language/literals/string/legacy-octal-escape-sequence-prologue-strict.js
+++ b/test/language/literals/string/legacy-octal-escape-sequence-prologue-strict.js
@@ -11,7 +11,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (function() {
   "asterisk: \052";
diff --git a/test/language/literals/string/legacy-octal-escape-sequence-strict.js b/test/language/literals/string/legacy-octal-escape-sequence-strict.js
index a0abf565cd..fdc57f4f4c 100644
--- a/test/language/literals/string/legacy-octal-escape-sequence-strict.js
+++ b/test/language/literals/string/legacy-octal-escape-sequence-strict.js
@@ -33,6 +33,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 '\1';
diff --git a/test/language/literals/string/unicode-escape-nls-err-double.js b/test/language/literals/string/unicode-escape-nls-err-double.js
index d33d4f95f2..d3ac10266c 100644
--- a/test/language/literals/string/unicode-escape-nls-err-double.js
+++ b/test/language/literals/string/unicode-escape-nls-err-double.js
@@ -44,6 +44,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 "\u{1F_639}"
diff --git a/test/language/literals/string/unicode-escape-nls-err-single.js b/test/language/literals/string/unicode-escape-nls-err-single.js
index a2d7c559b0..959feae347 100644
--- a/test/language/literals/string/unicode-escape-nls-err-single.js
+++ b/test/language/literals/string/unicode-escape-nls-err-single.js
@@ -44,6 +44,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 '\u{1F_639}';
diff --git a/test/language/module-code/comment-multi-line-html-close.js b/test/language/module-code/comment-multi-line-html-close.js
index 2d83e3c9a4..5eab1de435 100644
--- a/test/language/module-code/comment-multi-line-html-close.js
+++ b/test/language/module-code/comment-multi-line-html-close.js
@@ -11,7 +11,7 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 /*
 */-->
diff --git a/test/language/module-code/comment-single-line-html-close.js b/test/language/module-code/comment-single-line-html-close.js
index 794c8eca57..7c1ad3e88e 100644
--- a/test/language/module-code/comment-single-line-html-close.js
+++ b/test/language/module-code/comment-single-line-html-close.js
@@ -11,6 +11,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 -->
diff --git a/test/language/module-code/comment-single-line-html-open.js b/test/language/module-code/comment-single-line-html-open.js
index cc70b9a494..a75b9e0da2 100644
--- a/test/language/module-code/comment-single-line-html-open.js
+++ b/test/language/module-code/comment-single-line-html-open.js
@@ -11,6 +11,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 <!--
diff --git a/test/language/module-code/early-dup-export-as-star-as.js b/test/language/module-code/early-dup-export-as-star-as.js
index 22786d18af..30add317e3 100644
--- a/test/language/module-code/early-dup-export-as-star-as.js
+++ b/test/language/module-code/early-dup-export-as-star-as.js
@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var x;
 export { x as z };
diff --git a/test/language/module-code/early-dup-export-decl.js b/test/language/module-code/early-dup-export-decl.js
index 9e0fcec6c2..a70dd7185e 100644
--- a/test/language/module-code/early-dup-export-decl.js
+++ b/test/language/module-code/early-dup-export-decl.js
@@ -12,7 +12,7 @@ negative:
 features: [generators]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 export function f() {}
 export function *f() {}
diff --git a/test/language/module-code/early-dup-export-dflt-id.js b/test/language/module-code/early-dup-export-dflt-id.js
index c6fec8d006..d47ebdd646 100644
--- a/test/language/module-code/early-dup-export-dflt-id.js
+++ b/test/language/module-code/early-dup-export-dflt-id.js
@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var x, y;
 export default x;
diff --git a/test/language/module-code/early-dup-export-dflt.js b/test/language/module-code/early-dup-export-dflt.js
index 7c2f1269da..9ddecb6dda 100644
--- a/test/language/module-code/early-dup-export-dflt.js
+++ b/test/language/module-code/early-dup-export-dflt.js
@@ -11,7 +11,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 export default var x = null;
 export default var x = null;
diff --git a/test/language/module-code/early-dup-export-id-as.js b/test/language/module-code/early-dup-export-id-as.js
index 49b2834b9b..03220bdc5a 100644
--- a/test/language/module-code/early-dup-export-id-as.js
+++ b/test/language/module-code/early-dup-export-id-as.js
@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var x, y;
 export { x as z };
diff --git a/test/language/module-code/early-dup-export-id.js b/test/language/module-code/early-dup-export-id.js
index 554992628f..e11009a2ef 100644
--- a/test/language/module-code/early-dup-export-id.js
+++ b/test/language/module-code/early-dup-export-id.js
@@ -11,7 +11,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var x;
 export { x };
diff --git a/test/language/module-code/early-dup-export-star-as-dflt.js b/test/language/module-code/early-dup-export-star-as-dflt.js
index 79f0b18500..2fe0ceda58 100644
--- a/test/language/module-code/early-dup-export-star-as-dflt.js
+++ b/test/language/module-code/early-dup-export-star-as-dflt.js
@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var x;
 export default x;
diff --git a/test/language/module-code/early-dup-lables.js b/test/language/module-code/early-dup-lables.js
index 502e14b3b8..e5e2575d21 100644
--- a/test/language/module-code/early-dup-lables.js
+++ b/test/language/module-code/early-dup-lables.js
@@ -11,7 +11,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 label: {
   label: 0;
diff --git a/test/language/module-code/early-dup-lex.js b/test/language/module-code/early-dup-lex.js
index 8ae5f80c9d..20174b5aba 100644
--- a/test/language/module-code/early-dup-lex.js
+++ b/test/language/module-code/early-dup-lex.js
@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 let x;
 const x;
diff --git a/test/language/module-code/early-export-global.js b/test/language/module-code/early-export-global.js
index db81e9a464..d8cf880e52 100644
--- a/test/language/module-code/early-export-global.js
+++ b/test/language/module-code/early-export-global.js
@@ -14,6 +14,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 export { Number };
diff --git a/test/language/module-code/early-export-unresolvable.js b/test/language/module-code/early-export-unresolvable.js
index abd3dda620..40d88db5d2 100644
--- a/test/language/module-code/early-export-unresolvable.js
+++ b/test/language/module-code/early-export-unresolvable.js
@@ -12,6 +12,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 export { unresolvable };
diff --git a/test/language/module-code/early-import-arguments.js b/test/language/module-code/early-import-arguments.js
index cf4c01bc9e..d17da4e774 100644
--- a/test/language/module-code/early-import-arguments.js
+++ b/test/language/module-code/early-import-arguments.js
@@ -24,7 +24,7 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 // Create an appropriately-named ExportEntry in order to avoid false positives
 // (e.g. cases where the implementation does not generate the expected early
diff --git a/test/language/module-code/early-import-as-arguments.js b/test/language/module-code/early-import-as-arguments.js
index 981dcccfcc..2672eaaa7c 100644
--- a/test/language/module-code/early-import-as-arguments.js
+++ b/test/language/module-code/early-import-as-arguments.js
@@ -24,7 +24,7 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 // Create an appropriately-named ExportEntry in order to avoid false positives
 // (e.g. cases where the implementation does not generate the expected early
diff --git a/test/language/module-code/early-import-as-eval.js b/test/language/module-code/early-import-as-eval.js
index ad15ad476b..d52570f9a0 100644
--- a/test/language/module-code/early-import-as-eval.js
+++ b/test/language/module-code/early-import-as-eval.js
@@ -24,7 +24,7 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 // Create an appropriately-named ExportEntry in order to avoid false positives
 // (e.g. cases where the implementation does not generate the expected early
diff --git a/test/language/module-code/early-import-eval.js b/test/language/module-code/early-import-eval.js
index ec771b4d9b..80b74e77db 100644
--- a/test/language/module-code/early-import-eval.js
+++ b/test/language/module-code/early-import-eval.js
@@ -24,7 +24,7 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 // Create an appropriately-named ExportEntry in order to avoid false positives
 // (e.g. cases where the implementation does not generate the expected early
diff --git a/test/language/module-code/early-lex-and-var.js b/test/language/module-code/early-lex-and-var.js
index cba69d9ce0..d311d1f87e 100644
--- a/test/language/module-code/early-lex-and-var.js
+++ b/test/language/module-code/early-lex-and-var.js
@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 let x;
 var x;
diff --git a/test/language/module-code/early-new-target.js b/test/language/module-code/early-new-target.js
index 9acafb7fdc..32dc345281 100644
--- a/test/language/module-code/early-new-target.js
+++ b/test/language/module-code/early-new-target.js
@@ -11,6 +11,6 @@ negative:
 features: [new.target]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 new.target;
diff --git a/test/language/module-code/early-strict-mode.js b/test/language/module-code/early-strict-mode.js
index d06a404080..73e875709b 100644
--- a/test/language/module-code/early-strict-mode.js
+++ b/test/language/module-code/early-strict-mode.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var public;
diff --git a/test/language/module-code/early-super.js b/test/language/module-code/early-super.js
index bd34f9fe0f..51209eb24f 100644
--- a/test/language/module-code/early-super.js
+++ b/test/language/module-code/early-super.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 super;
diff --git a/test/language/module-code/early-undef-break.js b/test/language/module-code/early-undef-break.js
index 4a6414bed0..7df3b9147a 100644
--- a/test/language/module-code/early-undef-break.js
+++ b/test/language/module-code/early-undef-break.js
@@ -11,7 +11,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 while (false) {
   break undef;
diff --git a/test/language/module-code/early-undef-continue.js b/test/language/module-code/early-undef-continue.js
index 0bac3eacbb..b4bef515d8 100644
--- a/test/language/module-code/early-undef-continue.js
+++ b/test/language/module-code/early-undef-continue.js
@@ -11,7 +11,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 while (false) {
   continue undef;
diff --git a/test/language/module-code/instn-resolve-empty-export.js b/test/language/module-code/instn-resolve-empty-export.js
index a03f5de672..4d29ee6273 100644
--- a/test/language/module-code/instn-resolve-empty-export.js
+++ b/test/language/module-code/instn-resolve-empty-export.js
@@ -35,6 +35,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 export {} from './instn-resolve-empty-export_FIXTURE.js';
diff --git a/test/language/module-code/instn-resolve-empty-import.js b/test/language/module-code/instn-resolve-empty-import.js
index 3a5b07f4ea..b025ce1e28 100644
--- a/test/language/module-code/instn-resolve-empty-import.js
+++ b/test/language/module-code/instn-resolve-empty-import.js
@@ -41,6 +41,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 import {} from './instn-resolve-empty-import_FIXTURE.js';
diff --git a/test/language/module-code/instn-resolve-err-reference.js b/test/language/module-code/instn-resolve-err-reference.js
index 1e6126f577..a9fe79dc09 100644
--- a/test/language/module-code/instn-resolve-err-reference.js
+++ b/test/language/module-code/instn-resolve-err-reference.js
@@ -16,6 +16,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 import './instn-resolve-err-reference_FIXTURE.js';
diff --git a/test/language/module-code/instn-resolve-err-syntax.js b/test/language/module-code/instn-resolve-err-syntax.js
index e26e5e9de7..816ffe9bd8 100644
--- a/test/language/module-code/instn-resolve-err-syntax.js
+++ b/test/language/module-code/instn-resolve-err-syntax.js
@@ -16,6 +16,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 import './instn-resolve-err-syntax_FIXTURE.js';
diff --git a/test/language/module-code/instn-resolve-order-depth.js b/test/language/module-code/instn-resolve-order-depth.js
index ae889b5a60..0015422d92 100644
--- a/test/language/module-code/instn-resolve-order-depth.js
+++ b/test/language/module-code/instn-resolve-order-depth.js
@@ -9,7 +9,7 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 import './instn-resolve-order-depth-child_FIXTURE.js';
 import './instn-resolve-order-depth-syntax_FIXTURE.js';
diff --git a/test/language/module-code/instn-resolve-order-src.js b/test/language/module-code/instn-resolve-order-src.js
index 31bcbfdb9b..755914a8bf 100644
--- a/test/language/module-code/instn-resolve-order-src.js
+++ b/test/language/module-code/instn-resolve-order-src.js
@@ -9,7 +9,7 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 import './instn-resolve-order-src-valid_FIXTURE.js';
 import './instn-resolve-order-src-reference_FIXTURE.js';
diff --git a/test/language/module-code/parse-err-decl-pos-export-arrow-function.js b/test/language/module-code/parse-err-decl-pos-export-arrow-function.js
index 2eef27bc1a..35278adc2a 100644
--- a/test/language/module-code/parse-err-decl-pos-export-arrow-function.js
+++ b/test/language/module-code/parse-err-decl-pos-export-arrow-function.js
@@ -9,6 +9,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 () => { export default null; };
diff --git a/test/language/module-code/parse-err-decl-pos-export-block-stmt-list.js b/test/language/module-code/parse-err-decl-pos-export-block-stmt-list.js
index cdbedc8a3f..dcb868ab96 100644
--- a/test/language/module-code/parse-err-decl-pos-export-block-stmt-list.js
+++ b/test/language/module-code/parse-err-decl-pos-export-block-stmt-list.js
@@ -9,6 +9,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { void 0; export default null; }
diff --git a/test/language/module-code/parse-err-decl-pos-export-block-stmt.js b/test/language/module-code/parse-err-decl-pos-export-block-stmt.js
index c608e19781..a5f650c7e4 100644
--- a/test/language/module-code/parse-err-decl-pos-export-block-stmt.js
+++ b/test/language/module-code/parse-err-decl-pos-export-block-stmt.js
@@ -9,6 +9,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { export default null; }
diff --git a/test/language/module-code/parse-err-decl-pos-export-class-decl-meth-static.js b/test/language/module-code/parse-err-decl-pos-export-class-decl-meth-static.js
index ddd33bee67..38cf46ba31 100644
--- a/test/language/module-code/parse-err-decl-pos-export-class-decl-meth-static.js
+++ b/test/language/module-code/parse-err-decl-pos-export-class-decl-meth-static.js
@@ -9,6 +9,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C { static method() { export default null; } }
diff --git a/test/language/module-code/parse-err-decl-pos-export-class-decl-meth.js b/test/language/module-code/parse-err-decl-pos-export-class-decl-meth.js
index f5d26d1c32..de6c62ece1 100644
--- a/test/language/module-code/parse-err-decl-pos-export-class-decl-meth.js
+++ b/test/language/module-code/parse-err-decl-pos-export-class-decl-meth.js
@@ -9,6 +9,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C { method() { export default null; } }
diff --git a/test/language/module-code/parse-err-decl-pos-export-class-decl-method-gen-static.js b/test/language/module-code/parse-err-decl-pos-export-class-decl-method-gen-static.js
index 67b4c30d62..095948797b 100644
--- a/test/language/module-code/parse-err-decl-pos-export-class-decl-method-gen-static.js
+++ b/test/language/module-code/parse-err-decl-pos-export-class-decl-method-gen-static.js
@@ -10,6 +10,6 @@ flags: [module]
 features: [generators]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C { static *method() { export default null; } }
diff --git a/test/language/module-code/parse-err-decl-pos-export-class-decl-method-gen.js b/test/language/module-code/parse-err-decl-pos-export-class-decl-method-gen.js
index b804b62d57..6c24a4ef04 100644
--- a/test/language/module-code/parse-err-decl-pos-export-class-decl-method-gen.js
+++ b/test/language/module-code/parse-err-decl-pos-export-class-decl-method-gen.js
@@ -10,6 +10,6 @@ flags: [module]
 features: [generators]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C { *method() { export default null; } }
diff --git a/test/language/module-code/parse-err-decl-pos-export-class-expr-meth-gen-static.js b/test/language/module-code/parse-err-decl-pos-export-class-expr-meth-gen-static.js
index b4ddb47173..6f5acb1b4d 100644
--- a/test/language/module-code/parse-err-decl-pos-export-class-expr-meth-gen-static.js
+++ b/test/language/module-code/parse-err-decl-pos-export-class-expr-meth-gen-static.js
@@ -10,6 +10,6 @@ flags: [module]
 features: [generators]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (class { static *method() { export default null; } });
diff --git a/test/language/module-code/parse-err-decl-pos-export-class-expr-meth-gen.js b/test/language/module-code/parse-err-decl-pos-export-class-expr-meth-gen.js
index edf2acbcd2..0a84c20378 100644
--- a/test/language/module-code/parse-err-decl-pos-export-class-expr-meth-gen.js
+++ b/test/language/module-code/parse-err-decl-pos-export-class-expr-meth-gen.js
@@ -10,6 +10,6 @@ flags: [module]
 features: [generators]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (class { *method() { export default null; } });
diff --git a/test/language/module-code/parse-err-decl-pos-export-class-expr-meth-static.js b/test/language/module-code/parse-err-decl-pos-export-class-expr-meth-static.js
index 8100ef95ee..c82723c4a4 100644
--- a/test/language/module-code/parse-err-decl-pos-export-class-expr-meth-static.js
+++ b/test/language/module-code/parse-err-decl-pos-export-class-expr-meth-static.js
@@ -9,6 +9,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (class { static method() { export default null; } });
diff --git a/test/language/module-code/parse-err-decl-pos-export-class-expr-meth.js b/test/language/module-code/parse-err-decl-pos-export-class-expr-meth.js
index 3a70071239..a1d9a0e0a7 100644
--- a/test/language/module-code/parse-err-decl-pos-export-class-expr-meth.js
+++ b/test/language/module-code/parse-err-decl-pos-export-class-expr-meth.js
@@ -9,6 +9,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (class { method() { export default null; } });
diff --git a/test/language/module-code/parse-err-decl-pos-export-do-while.js b/test/language/module-code/parse-err-decl-pos-export-do-while.js
index 483885d3bd..61b33bf741 100644
--- a/test/language/module-code/parse-err-decl-pos-export-do-while.js
+++ b/test/language/module-code/parse-err-decl-pos-export-do-while.js
@@ -9,6 +9,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 do export default null; while (false)
diff --git a/test/language/module-code/parse-err-decl-pos-export-for-const.js b/test/language/module-code/parse-err-decl-pos-export-for-const.js
index 34567d3a0a..d15154ec7c 100644
--- a/test/language/module-code/parse-err-decl-pos-export-for-const.js
+++ b/test/language/module-code/parse-err-decl-pos-export-for-const.js
@@ -9,7 +9,7 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (const x = 0; false;)
   export default null;
diff --git a/test/language/module-code/parse-err-decl-pos-export-for-in-const.js b/test/language/module-code/parse-err-decl-pos-export-for-in-const.js
index 0ff9926f0e..2299a67675 100644
--- a/test/language/module-code/parse-err-decl-pos-export-for-in-const.js
+++ b/test/language/module-code/parse-err-decl-pos-export-for-in-const.js
@@ -9,7 +9,7 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (const y in [])
   export default null;
diff --git a/test/language/module-code/parse-err-decl-pos-export-for-in-let.js b/test/language/module-code/parse-err-decl-pos-export-for-in-let.js
index af14bdf1cb..ed9c548e6c 100644
--- a/test/language/module-code/parse-err-decl-pos-export-for-in-let.js
+++ b/test/language/module-code/parse-err-decl-pos-export-for-in-let.js
@@ -9,7 +9,7 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (let y in [])
   export default null;
diff --git a/test/language/module-code/parse-err-decl-pos-export-for-in-lhs.js b/test/language/module-code/parse-err-decl-pos-export-for-in-lhs.js
index c54475faf0..78fb3f2701 100644
--- a/test/language/module-code/parse-err-decl-pos-export-for-in-lhs.js
+++ b/test/language/module-code/parse-err-decl-pos-export-for-in-lhs.js
@@ -9,7 +9,7 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (y in [])
   export default null;
diff --git a/test/language/module-code/parse-err-decl-pos-export-for-in-var.js b/test/language/module-code/parse-err-decl-pos-export-for-in-var.js
index 9d89ee2eed..70b49603d6 100644
--- a/test/language/module-code/parse-err-decl-pos-export-for-in-var.js
+++ b/test/language/module-code/parse-err-decl-pos-export-for-in-var.js
@@ -9,7 +9,7 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (var y in [])
   export default null;
diff --git a/test/language/module-code/parse-err-decl-pos-export-for-let.js b/test/language/module-code/parse-err-decl-pos-export-for-let.js
index 6a863ae70a..eb99f40f0f 100644
--- a/test/language/module-code/parse-err-decl-pos-export-for-let.js
+++ b/test/language/module-code/parse-err-decl-pos-export-for-let.js
@@ -9,7 +9,7 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (let x = 0; false;)
   export default null;
diff --git a/test/language/module-code/parse-err-decl-pos-export-for-lhs.js b/test/language/module-code/parse-err-decl-pos-export-for-lhs.js
index 34a183c80a..7d72cd3c4e 100644
--- a/test/language/module-code/parse-err-decl-pos-export-for-lhs.js
+++ b/test/language/module-code/parse-err-decl-pos-export-for-lhs.js
@@ -9,7 +9,7 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (x = 0; false;)
   export default null;
diff --git a/test/language/module-code/parse-err-decl-pos-export-for-of-const.js b/test/language/module-code/parse-err-decl-pos-export-for-of-const.js
index 202ad2af8e..1e2052ebbd 100644
--- a/test/language/module-code/parse-err-decl-pos-export-for-of-const.js
+++ b/test/language/module-code/parse-err-decl-pos-export-for-of-const.js
@@ -9,7 +9,7 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (const y of [])
   export default null;
diff --git a/test/language/module-code/parse-err-decl-pos-export-for-of-let.js b/test/language/module-code/parse-err-decl-pos-export-for-of-let.js
index fd30fc3200..08878e7050 100644
--- a/test/language/module-code/parse-err-decl-pos-export-for-of-let.js
+++ b/test/language/module-code/parse-err-decl-pos-export-for-of-let.js
@@ -9,7 +9,7 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (let y of [])
   export default null;
diff --git a/test/language/module-code/parse-err-decl-pos-export-for-of-lhs.js b/test/language/module-code/parse-err-decl-pos-export-for-of-lhs.js
index 5c3db81bb3..f8d970fdf9 100644
--- a/test/language/module-code/parse-err-decl-pos-export-for-of-lhs.js
+++ b/test/language/module-code/parse-err-decl-pos-export-for-of-lhs.js
@@ -9,7 +9,7 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (y of [])
   export default null;
diff --git a/test/language/module-code/parse-err-decl-pos-export-for-of-var.js b/test/language/module-code/parse-err-decl-pos-export-for-of-var.js
index 7fd015233b..ff309697dc 100644
--- a/test/language/module-code/parse-err-decl-pos-export-for-of-var.js
+++ b/test/language/module-code/parse-err-decl-pos-export-for-of-var.js
@@ -9,7 +9,7 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (var y of [])
   export default null;
diff --git a/test/language/module-code/parse-err-decl-pos-export-for-var.js b/test/language/module-code/parse-err-decl-pos-export-for-var.js
index 5cf98f5ab7..9972370df3 100644
--- a/test/language/module-code/parse-err-decl-pos-export-for-var.js
+++ b/test/language/module-code/parse-err-decl-pos-export-for-var.js
@@ -9,7 +9,7 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (var x = 0; false;)
   export default null;
diff --git a/test/language/module-code/parse-err-decl-pos-export-function-decl.js b/test/language/module-code/parse-err-decl-pos-export-function-decl.js
index 48d2b1a14b..aadf99678e 100644
--- a/test/language/module-code/parse-err-decl-pos-export-function-decl.js
+++ b/test/language/module-code/parse-err-decl-pos-export-function-decl.js
@@ -9,6 +9,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function f() { export default null; }
diff --git a/test/language/module-code/parse-err-decl-pos-export-function-expr.js b/test/language/module-code/parse-err-decl-pos-export-function-expr.js
index 463d6f544e..5f5ef9f7d7 100644
--- a/test/language/module-code/parse-err-decl-pos-export-function-expr.js
+++ b/test/language/module-code/parse-err-decl-pos-export-function-expr.js
@@ -9,6 +9,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (function() { export default null; });
diff --git a/test/language/module-code/parse-err-decl-pos-export-generator-decl.js b/test/language/module-code/parse-err-decl-pos-export-generator-decl.js
index f464772fce..41f5bb871e 100644
--- a/test/language/module-code/parse-err-decl-pos-export-generator-decl.js
+++ b/test/language/module-code/parse-err-decl-pos-export-generator-decl.js
@@ -10,6 +10,6 @@ flags: [module]
 features: [generators]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function* g() { export default null; }
diff --git a/test/language/module-code/parse-err-decl-pos-export-generator-expr.js b/test/language/module-code/parse-err-decl-pos-export-generator-expr.js
index 5a4bb27ade..96e27cac05 100644
--- a/test/language/module-code/parse-err-decl-pos-export-generator-expr.js
+++ b/test/language/module-code/parse-err-decl-pos-export-generator-expr.js
@@ -9,6 +9,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (function*() { export default null; });
diff --git a/test/language/module-code/parse-err-decl-pos-export-if-else.js b/test/language/module-code/parse-err-decl-pos-export-if-else.js
index 394574db4e..a52c06c065 100644
--- a/test/language/module-code/parse-err-decl-pos-export-if-else.js
+++ b/test/language/module-code/parse-err-decl-pos-export-if-else.js
@@ -9,6 +9,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 if (true) { } else export default null;
diff --git a/test/language/module-code/parse-err-decl-pos-export-if-if.js b/test/language/module-code/parse-err-decl-pos-export-if-if.js
index da9ecb8674..ffe586505b 100644
--- a/test/language/module-code/parse-err-decl-pos-export-if-if.js
+++ b/test/language/module-code/parse-err-decl-pos-export-if-if.js
@@ -9,6 +9,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 if (false) export default null;
diff --git a/test/language/module-code/parse-err-decl-pos-export-labeled.js b/test/language/module-code/parse-err-decl-pos-export-labeled.js
index b85a7d223b..4bce4876a5 100644
--- a/test/language/module-code/parse-err-decl-pos-export-labeled.js
+++ b/test/language/module-code/parse-err-decl-pos-export-labeled.js
@@ -9,6 +9,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 test262: export default null;
diff --git a/test/language/module-code/parse-err-decl-pos-export-object-gen-method.js b/test/language/module-code/parse-err-decl-pos-export-object-gen-method.js
index 6b2ab3b554..b2e895dbc1 100644
--- a/test/language/module-code/parse-err-decl-pos-export-object-gen-method.js
+++ b/test/language/module-code/parse-err-decl-pos-export-object-gen-method.js
@@ -10,6 +10,6 @@ flags: [module]
 features: [generators]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 ({ *m() { export default null; } });
diff --git a/test/language/module-code/parse-err-decl-pos-export-object-getter.js b/test/language/module-code/parse-err-decl-pos-export-object-getter.js
index d9178f5d7f..39c60e364a 100644
--- a/test/language/module-code/parse-err-decl-pos-export-object-getter.js
+++ b/test/language/module-code/parse-err-decl-pos-export-object-getter.js
@@ -9,6 +9,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 ({ get m() { export default null; } });
diff --git a/test/language/module-code/parse-err-decl-pos-export-object-method.js b/test/language/module-code/parse-err-decl-pos-export-object-method.js
index daf34380f8..44a6058743 100644
--- a/test/language/module-code/parse-err-decl-pos-export-object-method.js
+++ b/test/language/module-code/parse-err-decl-pos-export-object-method.js
@@ -9,6 +9,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 ({ m() { export default null; } });
diff --git a/test/language/module-code/parse-err-decl-pos-export-object-setter.js b/test/language/module-code/parse-err-decl-pos-export-object-setter.js
index 3f234d4502..6631ac8fad 100644
--- a/test/language/module-code/parse-err-decl-pos-export-object-setter.js
+++ b/test/language/module-code/parse-err-decl-pos-export-object-setter.js
@@ -9,6 +9,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 ({ set m(x) { export default null; } });
diff --git a/test/language/module-code/parse-err-decl-pos-export-switch-case-dflt.js b/test/language/module-code/parse-err-decl-pos-export-switch-case-dflt.js
index 9dfeaa7347..42c05faff4 100644
--- a/test/language/module-code/parse-err-decl-pos-export-switch-case-dflt.js
+++ b/test/language/module-code/parse-err-decl-pos-export-switch-case-dflt.js
@@ -9,6 +9,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch(0) { case 1: export default null; default: }
diff --git a/test/language/module-code/parse-err-decl-pos-export-switch-case.js b/test/language/module-code/parse-err-decl-pos-export-switch-case.js
index a9678e0f9e..0397a35aa7 100644
--- a/test/language/module-code/parse-err-decl-pos-export-switch-case.js
+++ b/test/language/module-code/parse-err-decl-pos-export-switch-case.js
@@ -9,6 +9,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch(0) { case 1: export default null; }
diff --git a/test/language/module-code/parse-err-decl-pos-export-switch-dftl.js b/test/language/module-code/parse-err-decl-pos-export-switch-dftl.js
index af9f4c01d2..b5346327e5 100644
--- a/test/language/module-code/parse-err-decl-pos-export-switch-dftl.js
+++ b/test/language/module-code/parse-err-decl-pos-export-switch-dftl.js
@@ -9,6 +9,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch(0) { default: export default null; }
diff --git a/test/language/module-code/parse-err-decl-pos-export-try-catch-finally.js b/test/language/module-code/parse-err-decl-pos-export-try-catch-finally.js
index a63add0e7c..053cee3a4d 100644
--- a/test/language/module-code/parse-err-decl-pos-export-try-catch-finally.js
+++ b/test/language/module-code/parse-err-decl-pos-export-try-catch-finally.js
@@ -9,7 +9,7 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 try { } catch (err) { } finally {
   export default null;
diff --git a/test/language/module-code/parse-err-decl-pos-export-try-catch.js b/test/language/module-code/parse-err-decl-pos-export-try-catch.js
index b9a897bef6..92f050b866 100644
--- a/test/language/module-code/parse-err-decl-pos-export-try-catch.js
+++ b/test/language/module-code/parse-err-decl-pos-export-try-catch.js
@@ -9,7 +9,7 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 try { } catch (err) {
   export default null;
diff --git a/test/language/module-code/parse-err-decl-pos-export-try-finally.js b/test/language/module-code/parse-err-decl-pos-export-try-finally.js
index 86b1092e5f..4e0f6ac3fc 100644
--- a/test/language/module-code/parse-err-decl-pos-export-try-finally.js
+++ b/test/language/module-code/parse-err-decl-pos-export-try-finally.js
@@ -9,7 +9,7 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 try { } finally {
   export default null;
diff --git a/test/language/module-code/parse-err-decl-pos-export-try-try.js b/test/language/module-code/parse-err-decl-pos-export-try-try.js
index e7c96ceb1d..04330bbf14 100644
--- a/test/language/module-code/parse-err-decl-pos-export-try-try.js
+++ b/test/language/module-code/parse-err-decl-pos-export-try-try.js
@@ -9,7 +9,7 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 try {
   export default null;
diff --git a/test/language/module-code/parse-err-decl-pos-export-while.js b/test/language/module-code/parse-err-decl-pos-export-while.js
index 2fdb60b731..d4ed2bee81 100644
--- a/test/language/module-code/parse-err-decl-pos-export-while.js
+++ b/test/language/module-code/parse-err-decl-pos-export-while.js
@@ -9,6 +9,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 while (false) export default null;
diff --git a/test/language/module-code/parse-err-decl-pos-import-arrow-function.js b/test/language/module-code/parse-err-decl-pos-import-arrow-function.js
index 5eef3d6ec4..99af5ede01 100644
--- a/test/language/module-code/parse-err-decl-pos-import-arrow-function.js
+++ b/test/language/module-code/parse-err-decl-pos-import-arrow-function.js
@@ -9,6 +9,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 () => { import v from './decl-pos-import-arrow-function.js'; };
diff --git a/test/language/module-code/parse-err-decl-pos-import-block-stmt-list.js b/test/language/module-code/parse-err-decl-pos-import-block-stmt-list.js
index 1d42d9ce4b..557dd8315c 100644
--- a/test/language/module-code/parse-err-decl-pos-import-block-stmt-list.js
+++ b/test/language/module-code/parse-err-decl-pos-import-block-stmt-list.js
@@ -9,6 +9,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { void 0; import v from './decl-pos-import-block-stmt-list.js'; }
diff --git a/test/language/module-code/parse-err-decl-pos-import-block-stmt.js b/test/language/module-code/parse-err-decl-pos-import-block-stmt.js
index 5a31999623..78e15efaf6 100644
--- a/test/language/module-code/parse-err-decl-pos-import-block-stmt.js
+++ b/test/language/module-code/parse-err-decl-pos-import-block-stmt.js
@@ -9,6 +9,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 { import v from './decl-pos-import-block-stmt.js'; }
diff --git a/test/language/module-code/parse-err-decl-pos-import-class-decl-meth-static.js b/test/language/module-code/parse-err-decl-pos-import-class-decl-meth-static.js
index 1ff3d9c31e..ccc1cf9070 100644
--- a/test/language/module-code/parse-err-decl-pos-import-class-decl-meth-static.js
+++ b/test/language/module-code/parse-err-decl-pos-import-class-decl-meth-static.js
@@ -9,6 +9,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C { static method() { import v from './decl-pos-import-class-decl-meth-static.js'; } }
diff --git a/test/language/module-code/parse-err-decl-pos-import-class-decl-meth.js b/test/language/module-code/parse-err-decl-pos-import-class-decl-meth.js
index 50ada62287..c7e8b144f1 100644
--- a/test/language/module-code/parse-err-decl-pos-import-class-decl-meth.js
+++ b/test/language/module-code/parse-err-decl-pos-import-class-decl-meth.js
@@ -9,6 +9,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C { method() { import v from './decl-pos-import-class-decl-meth.js'; } }
diff --git a/test/language/module-code/parse-err-decl-pos-import-class-decl-method-gen-static.js b/test/language/module-code/parse-err-decl-pos-import-class-decl-method-gen-static.js
index 631aff386b..ba9d91f4f2 100644
--- a/test/language/module-code/parse-err-decl-pos-import-class-decl-method-gen-static.js
+++ b/test/language/module-code/parse-err-decl-pos-import-class-decl-method-gen-static.js
@@ -10,6 +10,6 @@ flags: [module]
 features: [generators]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C { static *method() { import v from './decl-pos-import-class-decl-method-gen-static.js'; } }
diff --git a/test/language/module-code/parse-err-decl-pos-import-class-decl-method-gen.js b/test/language/module-code/parse-err-decl-pos-import-class-decl-method-gen.js
index 25e1d62d3f..13ea5f5dd0 100644
--- a/test/language/module-code/parse-err-decl-pos-import-class-decl-method-gen.js
+++ b/test/language/module-code/parse-err-decl-pos-import-class-decl-method-gen.js
@@ -10,6 +10,6 @@ flags: [module]
 features: [generators]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C { *method() { import v from './decl-pos-import-class-decl-method-gen.js'; } }
diff --git a/test/language/module-code/parse-err-decl-pos-import-class-expr-meth-gen-static.js b/test/language/module-code/parse-err-decl-pos-import-class-expr-meth-gen-static.js
index 2b3d60dcb0..995bbb4295 100644
--- a/test/language/module-code/parse-err-decl-pos-import-class-expr-meth-gen-static.js
+++ b/test/language/module-code/parse-err-decl-pos-import-class-expr-meth-gen-static.js
@@ -10,6 +10,6 @@ flags: [module]
 features: [generators]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (class { static *method() { import v from './decl-pos-import-class-expr-meth-gen-static.js'; } });
diff --git a/test/language/module-code/parse-err-decl-pos-import-class-expr-meth-gen.js b/test/language/module-code/parse-err-decl-pos-import-class-expr-meth-gen.js
index d0239959e9..c464189aba 100644
--- a/test/language/module-code/parse-err-decl-pos-import-class-expr-meth-gen.js
+++ b/test/language/module-code/parse-err-decl-pos-import-class-expr-meth-gen.js
@@ -10,6 +10,6 @@ flags: [module]
 features: [generators]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (class { *method() { import v from './decl-pos-import-class-expr-meth-gen.js'; } });
diff --git a/test/language/module-code/parse-err-decl-pos-import-class-expr-meth-static.js b/test/language/module-code/parse-err-decl-pos-import-class-expr-meth-static.js
index e806abc604..02b90222ed 100644
--- a/test/language/module-code/parse-err-decl-pos-import-class-expr-meth-static.js
+++ b/test/language/module-code/parse-err-decl-pos-import-class-expr-meth-static.js
@@ -9,6 +9,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (class { static method() { import v from './decl-pos-import-class-expr-meth-static.js'; } });
diff --git a/test/language/module-code/parse-err-decl-pos-import-class-expr-meth.js b/test/language/module-code/parse-err-decl-pos-import-class-expr-meth.js
index 4d5f018175..f0be78b82d 100644
--- a/test/language/module-code/parse-err-decl-pos-import-class-expr-meth.js
+++ b/test/language/module-code/parse-err-decl-pos-import-class-expr-meth.js
@@ -9,6 +9,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (class { method() { import v from './decl-pos-import-class-expr-meth.js'; } });
diff --git a/test/language/module-code/parse-err-decl-pos-import-do-while.js b/test/language/module-code/parse-err-decl-pos-import-do-while.js
index 5a0325efcf..9960942531 100644
--- a/test/language/module-code/parse-err-decl-pos-import-do-while.js
+++ b/test/language/module-code/parse-err-decl-pos-import-do-while.js
@@ -9,6 +9,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 do import v from './decl-pos-import-do-while.js'; while (false)
diff --git a/test/language/module-code/parse-err-decl-pos-import-for-const.js b/test/language/module-code/parse-err-decl-pos-import-for-const.js
index 79921b55a5..9d3a8a5d19 100644
--- a/test/language/module-code/parse-err-decl-pos-import-for-const.js
+++ b/test/language/module-code/parse-err-decl-pos-import-for-const.js
@@ -9,7 +9,7 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (const x = 0; false;)
   import v from './decl-pos-import-for-const.js';
diff --git a/test/language/module-code/parse-err-decl-pos-import-for-in-const.js b/test/language/module-code/parse-err-decl-pos-import-for-in-const.js
index 49cd9a2787..b4a0c2c4c2 100644
--- a/test/language/module-code/parse-err-decl-pos-import-for-in-const.js
+++ b/test/language/module-code/parse-err-decl-pos-import-for-in-const.js
@@ -9,7 +9,7 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (const y in [])
   import v from './decl-pos-import-for-in-const.js';
diff --git a/test/language/module-code/parse-err-decl-pos-import-for-in-let.js b/test/language/module-code/parse-err-decl-pos-import-for-in-let.js
index 2261415003..ff6a09416b 100644
--- a/test/language/module-code/parse-err-decl-pos-import-for-in-let.js
+++ b/test/language/module-code/parse-err-decl-pos-import-for-in-let.js
@@ -9,7 +9,7 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (let y in [])
   import v from './decl-pos-import-for-in-let.js';
diff --git a/test/language/module-code/parse-err-decl-pos-import-for-in-lhs.js b/test/language/module-code/parse-err-decl-pos-import-for-in-lhs.js
index 04590ccd43..b7ef6bc2ba 100644
--- a/test/language/module-code/parse-err-decl-pos-import-for-in-lhs.js
+++ b/test/language/module-code/parse-err-decl-pos-import-for-in-lhs.js
@@ -9,7 +9,7 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (y in [])
   import v from './decl-pos-import-for-in-lhs.js';
diff --git a/test/language/module-code/parse-err-decl-pos-import-for-in-var.js b/test/language/module-code/parse-err-decl-pos-import-for-in-var.js
index d60c592515..6217cd4caa 100644
--- a/test/language/module-code/parse-err-decl-pos-import-for-in-var.js
+++ b/test/language/module-code/parse-err-decl-pos-import-for-in-var.js
@@ -9,7 +9,7 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (var y in [])
   import v from './decl-pos-import-for-in-var.js';
diff --git a/test/language/module-code/parse-err-decl-pos-import-for-let.js b/test/language/module-code/parse-err-decl-pos-import-for-let.js
index 7b540cd61a..939b4ae29d 100644
--- a/test/language/module-code/parse-err-decl-pos-import-for-let.js
+++ b/test/language/module-code/parse-err-decl-pos-import-for-let.js
@@ -9,7 +9,7 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (let x = 0; false;)
   import v from './decl-pos-import-for-let.js';
diff --git a/test/language/module-code/parse-err-decl-pos-import-for-lhs.js b/test/language/module-code/parse-err-decl-pos-import-for-lhs.js
index 98df8c7e70..d751b8f024 100644
--- a/test/language/module-code/parse-err-decl-pos-import-for-lhs.js
+++ b/test/language/module-code/parse-err-decl-pos-import-for-lhs.js
@@ -9,7 +9,7 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (x = 0; false;)
   import v from './decl-pos-import-for-lhs.js';
diff --git a/test/language/module-code/parse-err-decl-pos-import-for-of-const.js b/test/language/module-code/parse-err-decl-pos-import-for-of-const.js
index c0f983a148..65cde252c2 100644
--- a/test/language/module-code/parse-err-decl-pos-import-for-of-const.js
+++ b/test/language/module-code/parse-err-decl-pos-import-for-of-const.js
@@ -9,7 +9,7 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (const y of [])
   import v from './decl-pos-import-for-of-const.js';
diff --git a/test/language/module-code/parse-err-decl-pos-import-for-of-let.js b/test/language/module-code/parse-err-decl-pos-import-for-of-let.js
index cc7c9f10ad..9d227d2e1a 100644
--- a/test/language/module-code/parse-err-decl-pos-import-for-of-let.js
+++ b/test/language/module-code/parse-err-decl-pos-import-for-of-let.js
@@ -9,7 +9,7 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (let y of [])
   import v from './decl-pos-import-for-of-let.js';
diff --git a/test/language/module-code/parse-err-decl-pos-import-for-of-lhs.js b/test/language/module-code/parse-err-decl-pos-import-for-of-lhs.js
index 415752e9ed..9c3d35ede0 100644
--- a/test/language/module-code/parse-err-decl-pos-import-for-of-lhs.js
+++ b/test/language/module-code/parse-err-decl-pos-import-for-of-lhs.js
@@ -9,7 +9,7 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (y of [])
   import v from './decl-pos-import-for-of-lhs.js';
diff --git a/test/language/module-code/parse-err-decl-pos-import-for-of-var.js b/test/language/module-code/parse-err-decl-pos-import-for-of-var.js
index 32a57216b4..8871cd02ea 100644
--- a/test/language/module-code/parse-err-decl-pos-import-for-of-var.js
+++ b/test/language/module-code/parse-err-decl-pos-import-for-of-var.js
@@ -9,7 +9,7 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (var y of [])
   import v from './decl-pos-import-for-of-var.js';
diff --git a/test/language/module-code/parse-err-decl-pos-import-for-var.js b/test/language/module-code/parse-err-decl-pos-import-for-var.js
index ba661f7a95..49d0457a21 100644
--- a/test/language/module-code/parse-err-decl-pos-import-for-var.js
+++ b/test/language/module-code/parse-err-decl-pos-import-for-var.js
@@ -9,7 +9,7 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (var x = 0; false;)
   import v from './decl-pos-import-for-var.js';
diff --git a/test/language/module-code/parse-err-decl-pos-import-function-decl.js b/test/language/module-code/parse-err-decl-pos-import-function-decl.js
index be4c7d3689..d3ab5c23ab 100644
--- a/test/language/module-code/parse-err-decl-pos-import-function-decl.js
+++ b/test/language/module-code/parse-err-decl-pos-import-function-decl.js
@@ -9,6 +9,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function f() { import v from './decl-pos-import-function-decl.js'; }
diff --git a/test/language/module-code/parse-err-decl-pos-import-function-expr.js b/test/language/module-code/parse-err-decl-pos-import-function-expr.js
index 258999293b..f2a94911e4 100644
--- a/test/language/module-code/parse-err-decl-pos-import-function-expr.js
+++ b/test/language/module-code/parse-err-decl-pos-import-function-expr.js
@@ -9,6 +9,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (function() { import v from './decl-pos-import-function-expr.js'; });
diff --git a/test/language/module-code/parse-err-decl-pos-import-generator-decl.js b/test/language/module-code/parse-err-decl-pos-import-generator-decl.js
index d5cba764da..5235e7f0e6 100644
--- a/test/language/module-code/parse-err-decl-pos-import-generator-decl.js
+++ b/test/language/module-code/parse-err-decl-pos-import-generator-decl.js
@@ -10,6 +10,6 @@ flags: [module]
 features: [generators]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function* g() { import v from './decl-pos-import-generator-decl.js'; }
diff --git a/test/language/module-code/parse-err-decl-pos-import-generator-expr.js b/test/language/module-code/parse-err-decl-pos-import-generator-expr.js
index 16610c90e7..5bcd02343a 100644
--- a/test/language/module-code/parse-err-decl-pos-import-generator-expr.js
+++ b/test/language/module-code/parse-err-decl-pos-import-generator-expr.js
@@ -9,6 +9,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (function*() { import v from './decl-pos-import-generator-expr.js'; });
diff --git a/test/language/module-code/parse-err-decl-pos-import-if-else.js b/test/language/module-code/parse-err-decl-pos-import-if-else.js
index f669714db7..6fb44ecbaa 100644
--- a/test/language/module-code/parse-err-decl-pos-import-if-else.js
+++ b/test/language/module-code/parse-err-decl-pos-import-if-else.js
@@ -9,6 +9,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 if (true) { } else import v from './decl-pos-import-if-else.js';
diff --git a/test/language/module-code/parse-err-decl-pos-import-if-if.js b/test/language/module-code/parse-err-decl-pos-import-if-if.js
index 822b535874..0d79d778ad 100644
--- a/test/language/module-code/parse-err-decl-pos-import-if-if.js
+++ b/test/language/module-code/parse-err-decl-pos-import-if-if.js
@@ -9,6 +9,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 if (false) import v from './decl-pos-import-if-if.js';
diff --git a/test/language/module-code/parse-err-decl-pos-import-labeled.js b/test/language/module-code/parse-err-decl-pos-import-labeled.js
index a56c7b1709..6a66406878 100644
--- a/test/language/module-code/parse-err-decl-pos-import-labeled.js
+++ b/test/language/module-code/parse-err-decl-pos-import-labeled.js
@@ -9,6 +9,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 test262: import v from './decl-pos-import-labeled.js';
diff --git a/test/language/module-code/parse-err-decl-pos-import-object-gen-method.js b/test/language/module-code/parse-err-decl-pos-import-object-gen-method.js
index 1e461a8248..86a2a862fb 100644
--- a/test/language/module-code/parse-err-decl-pos-import-object-gen-method.js
+++ b/test/language/module-code/parse-err-decl-pos-import-object-gen-method.js
@@ -10,6 +10,6 @@ flags: [module]
 features: [generators]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 ({ *m() { import v from './decl-pos-import-object-gen-method.js'; } });
diff --git a/test/language/module-code/parse-err-decl-pos-import-object-getter.js b/test/language/module-code/parse-err-decl-pos-import-object-getter.js
index 183f0125f5..7e5f1b1c4c 100644
--- a/test/language/module-code/parse-err-decl-pos-import-object-getter.js
+++ b/test/language/module-code/parse-err-decl-pos-import-object-getter.js
@@ -9,6 +9,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 ({ get m() { import v from './decl-pos-import-object-getter.js'; } });
diff --git a/test/language/module-code/parse-err-decl-pos-import-object-method.js b/test/language/module-code/parse-err-decl-pos-import-object-method.js
index db90265154..8ab05f5513 100644
--- a/test/language/module-code/parse-err-decl-pos-import-object-method.js
+++ b/test/language/module-code/parse-err-decl-pos-import-object-method.js
@@ -9,6 +9,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 ({ m() { import v from './decl-pos-import-object-method.js'; } });
diff --git a/test/language/module-code/parse-err-decl-pos-import-object-setter.js b/test/language/module-code/parse-err-decl-pos-import-object-setter.js
index 9ae12ae24d..c4b51545bd 100644
--- a/test/language/module-code/parse-err-decl-pos-import-object-setter.js
+++ b/test/language/module-code/parse-err-decl-pos-import-object-setter.js
@@ -9,6 +9,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 ({ set m(x) { import v from './decl-pos-import-object-setter.js'; } });
diff --git a/test/language/module-code/parse-err-decl-pos-import-switch-case-dflt.js b/test/language/module-code/parse-err-decl-pos-import-switch-case-dflt.js
index eba73eee45..10591842e4 100644
--- a/test/language/module-code/parse-err-decl-pos-import-switch-case-dflt.js
+++ b/test/language/module-code/parse-err-decl-pos-import-switch-case-dflt.js
@@ -9,6 +9,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch(0) { case 1: import v from './decl-pos-import-switch-case-dflt.js'; default: }
diff --git a/test/language/module-code/parse-err-decl-pos-import-switch-case.js b/test/language/module-code/parse-err-decl-pos-import-switch-case.js
index a84a9382b0..b2473d8e2d 100644
--- a/test/language/module-code/parse-err-decl-pos-import-switch-case.js
+++ b/test/language/module-code/parse-err-decl-pos-import-switch-case.js
@@ -9,6 +9,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch(0) { case 1: import v from './decl-pos-import-switch-case.js'; }
diff --git a/test/language/module-code/parse-err-decl-pos-import-switch-dftl.js b/test/language/module-code/parse-err-decl-pos-import-switch-dftl.js
index 89c0d99176..24c9dbd06c 100644
--- a/test/language/module-code/parse-err-decl-pos-import-switch-dftl.js
+++ b/test/language/module-code/parse-err-decl-pos-import-switch-dftl.js
@@ -9,6 +9,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch(0) { default: import v from './decl-pos-import-switch-dftl.js'; }
diff --git a/test/language/module-code/parse-err-decl-pos-import-try-catch-finally.js b/test/language/module-code/parse-err-decl-pos-import-try-catch-finally.js
index b51a49d7ac..45fed1f9e4 100644
--- a/test/language/module-code/parse-err-decl-pos-import-try-catch-finally.js
+++ b/test/language/module-code/parse-err-decl-pos-import-try-catch-finally.js
@@ -9,7 +9,7 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 try { } catch (err) { } finally {
   import v from './decl-pos-import-try-catch-finally.js';
diff --git a/test/language/module-code/parse-err-decl-pos-import-try-catch.js b/test/language/module-code/parse-err-decl-pos-import-try-catch.js
index 9694b7e40b..1b0e69d678 100644
--- a/test/language/module-code/parse-err-decl-pos-import-try-catch.js
+++ b/test/language/module-code/parse-err-decl-pos-import-try-catch.js
@@ -9,7 +9,7 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 try { } catch (err) {
   import v from './decl-pos-import-try-catch.js';
diff --git a/test/language/module-code/parse-err-decl-pos-import-try-finally.js b/test/language/module-code/parse-err-decl-pos-import-try-finally.js
index b400d44d97..339ee8ea58 100644
--- a/test/language/module-code/parse-err-decl-pos-import-try-finally.js
+++ b/test/language/module-code/parse-err-decl-pos-import-try-finally.js
@@ -9,7 +9,7 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 try { } finally {
   import v from './decl-pos-import-try-finally.js';
diff --git a/test/language/module-code/parse-err-decl-pos-import-try-try.js b/test/language/module-code/parse-err-decl-pos-import-try-try.js
index 69d99effca..5b629ea167 100644
--- a/test/language/module-code/parse-err-decl-pos-import-try-try.js
+++ b/test/language/module-code/parse-err-decl-pos-import-try-try.js
@@ -9,7 +9,7 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 try {
   import v from './decl-pos-import-try-try.js';
diff --git a/test/language/module-code/parse-err-decl-pos-import-while.js b/test/language/module-code/parse-err-decl-pos-import-while.js
index 30292564b2..39084d617b 100644
--- a/test/language/module-code/parse-err-decl-pos-import-while.js
+++ b/test/language/module-code/parse-err-decl-pos-import-while.js
@@ -9,6 +9,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 while (false) import v from './decl-pos-import-while.js';
diff --git a/test/language/module-code/parse-err-export-dflt-const.js b/test/language/module-code/parse-err-export-dflt-const.js
index edd092a901..e46d3e432f 100644
--- a/test/language/module-code/parse-err-export-dflt-const.js
+++ b/test/language/module-code/parse-err-export-dflt-const.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 export default const x = null;
diff --git a/test/language/module-code/parse-err-export-dflt-expr.js b/test/language/module-code/parse-err-export-dflt-expr.js
index e1c8afb774..d952f3c3f6 100644
--- a/test/language/module-code/parse-err-export-dflt-expr.js
+++ b/test/language/module-code/parse-err-export-dflt-expr.js
@@ -21,6 +21,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 export default null, null;
diff --git a/test/language/module-code/parse-err-export-dflt-let.js b/test/language/module-code/parse-err-export-dflt-let.js
index cd76d13a8c..a7261aae00 100644
--- a/test/language/module-code/parse-err-export-dflt-let.js
+++ b/test/language/module-code/parse-err-export-dflt-let.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 export default let x;
diff --git a/test/language/module-code/parse-err-export-dflt-var.js b/test/language/module-code/parse-err-export-dflt-var.js
index 9383506fa8..57ee63aab1 100644
--- a/test/language/module-code/parse-err-export-dflt-var.js
+++ b/test/language/module-code/parse-err-export-dflt-var.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 export default var x;
diff --git a/test/language/module-code/parse-err-hoist-lex-fun.js b/test/language/module-code/parse-err-hoist-lex-fun.js
index 4a59e6c22a..68d92e2510 100644
--- a/test/language/module-code/parse-err-hoist-lex-fun.js
+++ b/test/language/module-code/parse-err-hoist-lex-fun.js
@@ -19,7 +19,7 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var f;
 function f() {}
diff --git a/test/language/module-code/parse-err-hoist-lex-gen.js b/test/language/module-code/parse-err-hoist-lex-gen.js
index e41ea80f90..4b5158e029 100644
--- a/test/language/module-code/parse-err-hoist-lex-gen.js
+++ b/test/language/module-code/parse-err-hoist-lex-gen.js
@@ -21,7 +21,7 @@ flags: [module]
 features: [generators]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var g;
 function* g() {}
diff --git a/test/language/module-code/parse-err-invoke-anon-fun-decl.js b/test/language/module-code/parse-err-invoke-anon-fun-decl.js
index eef23aaabe..06cd1ce0b5 100644
--- a/test/language/module-code/parse-err-invoke-anon-fun-decl.js
+++ b/test/language/module-code/parse-err-invoke-anon-fun-decl.js
@@ -21,6 +21,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 export default function() {}();
diff --git a/test/language/module-code/parse-err-invoke-anon-gen-decl.js b/test/language/module-code/parse-err-invoke-anon-gen-decl.js
index 7e4c33d216..ba4303576f 100644
--- a/test/language/module-code/parse-err-invoke-anon-gen-decl.js
+++ b/test/language/module-code/parse-err-invoke-anon-gen-decl.js
@@ -23,6 +23,6 @@ flags: [module]
 features: [generators]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 export default function* () {}();
diff --git a/test/language/module-code/parse-err-reference.js b/test/language/module-code/parse-err-reference.js
index b046fd027b..32f1ad4144 100644
--- a/test/language/module-code/parse-err-reference.js
+++ b/test/language/module-code/parse-err-reference.js
@@ -17,6 +17,6 @@ info: |
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 1++;
diff --git a/test/language/module-code/parse-err-return.js b/test/language/module-code/parse-err-return.js
index 2f89345978..84be4c4538 100644
--- a/test/language/module-code/parse-err-return.js
+++ b/test/language/module-code/parse-err-return.js
@@ -27,6 +27,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 return;
diff --git a/test/language/module-code/parse-err-semi-dflt-expr.js b/test/language/module-code/parse-err-semi-dflt-expr.js
index d2f1e59cfc..52807357aa 100644
--- a/test/language/module-code/parse-err-semi-dflt-expr.js
+++ b/test/language/module-code/parse-err-semi-dflt-expr.js
@@ -22,6 +22,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 export default null null;
diff --git a/test/language/module-code/parse-err-semi-export-star.js b/test/language/module-code/parse-err-semi-export-star.js
index 201d990c35..5fe050f20a 100644
--- a/test/language/module-code/parse-err-semi-export-star.js
+++ b/test/language/module-code/parse-err-semi-export-star.js
@@ -22,6 +22,6 @@ flags: [module]
 features: [export-star-as-namespace-from-module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 export * from './parse-err-semi-export-star.js' null;
diff --git a/test/language/module-code/parse-err-semi-name-space-export.js b/test/language/module-code/parse-err-semi-name-space-export.js
index 7712075593..5261e2f1bc 100644
--- a/test/language/module-code/parse-err-semi-name-space-export.js
+++ b/test/language/module-code/parse-err-semi-name-space-export.js
@@ -23,6 +23,6 @@ flags: [module]
 features: [export-star-as-namespace-from-module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 export * as namespace from './parse-err-semi-name-space-export.js' null;
diff --git a/test/language/module-code/parse-err-semi-named-export-from.js b/test/language/module-code/parse-err-semi-named-export-from.js
index 54a145af66..c95acc6651 100644
--- a/test/language/module-code/parse-err-semi-named-export-from.js
+++ b/test/language/module-code/parse-err-semi-named-export-from.js
@@ -22,6 +22,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 export {} from './parse-err-semi-export-clause-from.js' null;
diff --git a/test/language/module-code/parse-err-semi-named-export.js b/test/language/module-code/parse-err-semi-named-export.js
index 501682440d..8f60433fd9 100644
--- a/test/language/module-code/parse-err-semi-named-export.js
+++ b/test/language/module-code/parse-err-semi-named-export.js
@@ -22,6 +22,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 export {} null;
diff --git a/test/language/module-code/parse-err-syntax.js b/test/language/module-code/parse-err-syntax.js
index 8197717652..7043d35cfe 100644
--- a/test/language/module-code/parse-err-syntax.js
+++ b/test/language/module-code/parse-err-syntax.js
@@ -17,6 +17,6 @@ info: |
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 ?
diff --git a/test/language/module-code/parse-err-yield.js b/test/language/module-code/parse-err-yield.js
index aea5a2a920..fce8877a57 100644
--- a/test/language/module-code/parse-err-yield.js
+++ b/test/language/module-code/parse-err-yield.js
@@ -27,6 +27,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 yield;
diff --git a/test/language/module-code/privatename-not-valid-earlyerr-module-1.js b/test/language/module-code/privatename-not-valid-earlyerr-module-1.js
index 9c5c740143..d117e581d9 100644
--- a/test/language/module-code/privatename-not-valid-earlyerr-module-1.js
+++ b/test/language/module-code/privatename-not-valid-earlyerr-module-1.js
@@ -14,7 +14,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   constructor() {
diff --git a/test/language/module-code/privatename-not-valid-earlyerr-module-2.js b/test/language/module-code/privatename-not-valid-earlyerr-module-2.js
index b1f69d21a4..34f8218e28 100644
--- a/test/language/module-code/privatename-not-valid-earlyerr-module-2.js
+++ b/test/language/module-code/privatename-not-valid-earlyerr-module-2.js
@@ -14,7 +14,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   f() {
diff --git a/test/language/module-code/privatename-not-valid-earlyerr-module-3.js b/test/language/module-code/privatename-not-valid-earlyerr-module-3.js
index 71a8091db8..d3678e9d75 100644
--- a/test/language/module-code/privatename-not-valid-earlyerr-module-3.js
+++ b/test/language/module-code/privatename-not-valid-earlyerr-module-3.js
@@ -14,7 +14,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   y = this.#x;
diff --git a/test/language/module-code/privatename-not-valid-earlyerr-module-4.js b/test/language/module-code/privatename-not-valid-earlyerr-module-4.js
index 030a214651..bd3f29633d 100644
--- a/test/language/module-code/privatename-not-valid-earlyerr-module-4.js
+++ b/test/language/module-code/privatename-not-valid-earlyerr-module-4.js
@@ -15,7 +15,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   f() {
diff --git a/test/language/module-code/privatename-not-valid-earlyerr-module-5.js b/test/language/module-code/privatename-not-valid-earlyerr-module-5.js
index aa8cb83e3f..4c20970c24 100644
--- a/test/language/module-code/privatename-not-valid-earlyerr-module-5.js
+++ b/test/language/module-code/privatename-not-valid-earlyerr-module-5.js
@@ -14,7 +14,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/module-code/privatename-not-valid-earlyerr-module-6.js b/test/language/module-code/privatename-not-valid-earlyerr-module-6.js
index 7e2fd2b200..ead329a1c2 100644
--- a/test/language/module-code/privatename-not-valid-earlyerr-module-6.js
+++ b/test/language/module-code/privatename-not-valid-earlyerr-module-6.js
@@ -14,7 +14,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {}
 
diff --git a/test/language/module-code/privatename-not-valid-earlyerr-module-7.js b/test/language/module-code/privatename-not-valid-earlyerr-module-7.js
index 5175bc010c..fb0f571b6f 100644
--- a/test/language/module-code/privatename-not-valid-earlyerr-module-7.js
+++ b/test/language/module-code/privatename-not-valid-earlyerr-module-7.js
@@ -14,7 +14,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 obj = {};
 
diff --git a/test/language/module-code/privatename-not-valid-earlyerr-module-8.js b/test/language/module-code/privatename-not-valid-earlyerr-module-8.js
index 100860a4ed..090e4cfeeb 100644
--- a/test/language/module-code/privatename-not-valid-earlyerr-module-8.js
+++ b/test/language/module-code/privatename-not-valid-earlyerr-module-8.js
@@ -14,7 +14,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function f() {
   this.#x;
diff --git a/test/language/punctuators/S7.7_A2_T1.js b/test/language/punctuators/S7.7_A2_T1.js
index c329ad303a..a7b5978d23 100644
--- a/test/language/punctuators/S7.7_A2_T1.js
+++ b/test/language/punctuators/S7.7_A2_T1.js
@@ -12,6 +12,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 \u007B\u007D;
diff --git a/test/language/punctuators/S7.7_A2_T10.js b/test/language/punctuators/S7.7_A2_T10.js
index e486e6d7d3..8147742d29 100644
--- a/test/language/punctuators/S7.7_A2_T10.js
+++ b/test/language/punctuators/S7.7_A2_T10.js
@@ -12,6 +12,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 1\u002F2;
diff --git a/test/language/punctuators/S7.7_A2_T2.js b/test/language/punctuators/S7.7_A2_T2.js
index 252553afac..ce7ec5c779 100644
--- a/test/language/punctuators/S7.7_A2_T2.js
+++ b/test/language/punctuators/S7.7_A2_T2.js
@@ -12,6 +12,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 \u00281\u0029;
diff --git a/test/language/punctuators/S7.7_A2_T3.js b/test/language/punctuators/S7.7_A2_T3.js
index 9034b9ed59..5dc0e915e6 100644
--- a/test/language/punctuators/S7.7_A2_T3.js
+++ b/test/language/punctuators/S7.7_A2_T3.js
@@ -12,6 +12,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 \u005B\u005D;
diff --git a/test/language/punctuators/S7.7_A2_T4.js b/test/language/punctuators/S7.7_A2_T4.js
index cc41d9662d..0e396dcca2 100644
--- a/test/language/punctuators/S7.7_A2_T4.js
+++ b/test/language/punctuators/S7.7_A2_T4.js
@@ -12,6 +12,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 \u003B;
diff --git a/test/language/punctuators/S7.7_A2_T5.js b/test/language/punctuators/S7.7_A2_T5.js
index ce5f157703..1b63cbbd9b 100644
--- a/test/language/punctuators/S7.7_A2_T5.js
+++ b/test/language/punctuators/S7.7_A2_T5.js
@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 x = 1;
 this\u002Ex;
diff --git a/test/language/punctuators/S7.7_A2_T6.js b/test/language/punctuators/S7.7_A2_T6.js
index 31648bcdeb..2388c48ddc 100644
--- a/test/language/punctuators/S7.7_A2_T6.js
+++ b/test/language/punctuators/S7.7_A2_T6.js
@@ -12,6 +12,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 1\u002C2;
diff --git a/test/language/punctuators/S7.7_A2_T7.js b/test/language/punctuators/S7.7_A2_T7.js
index 73c1d0281f..d903f95f4c 100644
--- a/test/language/punctuators/S7.7_A2_T7.js
+++ b/test/language/punctuators/S7.7_A2_T7.js
@@ -12,6 +12,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 1\u002B2;
diff --git a/test/language/punctuators/S7.7_A2_T8.js b/test/language/punctuators/S7.7_A2_T8.js
index 33888d2861..8a5b86e562 100644
--- a/test/language/punctuators/S7.7_A2_T8.js
+++ b/test/language/punctuators/S7.7_A2_T8.js
@@ -12,6 +12,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 1\u002D2;
diff --git a/test/language/punctuators/S7.7_A2_T9.js b/test/language/punctuators/S7.7_A2_T9.js
index 5784920a48..1f42f38bee 100644
--- a/test/language/punctuators/S7.7_A2_T9.js
+++ b/test/language/punctuators/S7.7_A2_T9.js
@@ -12,6 +12,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 1\u002A2;
diff --git a/test/language/reserved-words/await-module.js b/test/language/reserved-words/await-module.js
index d8e142b453..1243ec9f06 100644
--- a/test/language/reserved-words/await-module.js
+++ b/test/language/reserved-words/await-module.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var await;
diff --git a/test/language/reserved-words/ident-reference-false-escaped.js b/test/language/reserved-words/ident-reference-false-escaped.js
index 253a4b32c0..3d75bad40e 100644
--- a/test/language/reserved-words/ident-reference-false-escaped.js
+++ b/test/language/reserved-words/ident-reference-false-escaped.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 f\u0061lse = 0;
diff --git a/test/language/reserved-words/ident-reference-false.js b/test/language/reserved-words/ident-reference-false.js
index dd3d3017cd..9709c36984 100644
--- a/test/language/reserved-words/ident-reference-false.js
+++ b/test/language/reserved-words/ident-reference-false.js
@@ -15,7 +15,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 // It's tempting to write `false = 0`, but that'd be a test to validate `false`
 // is not a valid simple assignment target, cf. tests in language/expressions/assignment.
diff --git a/test/language/reserved-words/ident-reference-null-escaped.js b/test/language/reserved-words/ident-reference-null-escaped.js
index 890b066568..66f39b2c57 100644
--- a/test/language/reserved-words/ident-reference-null-escaped.js
+++ b/test/language/reserved-words/ident-reference-null-escaped.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 nul\u006c = 0;
diff --git a/test/language/reserved-words/ident-reference-null.js b/test/language/reserved-words/ident-reference-null.js
index c482f7b03a..b01c92bedc 100644
--- a/test/language/reserved-words/ident-reference-null.js
+++ b/test/language/reserved-words/ident-reference-null.js
@@ -15,7 +15,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 // It's tempting to write `null = 0`, but that'd be a test to validate `null`
 // is not a valid simple assignment target, cf. tests in language/expressions/assignment.
diff --git a/test/language/reserved-words/ident-reference-true-escaped.js b/test/language/reserved-words/ident-reference-true-escaped.js
index 4249fb8896..48b72dfc2d 100644
--- a/test/language/reserved-words/ident-reference-true-escaped.js
+++ b/test/language/reserved-words/ident-reference-true-escaped.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 tru\u0065 = 0;
diff --git a/test/language/reserved-words/ident-reference-true.js b/test/language/reserved-words/ident-reference-true.js
index 1fcd159d93..8870d07135 100644
--- a/test/language/reserved-words/ident-reference-true.js
+++ b/test/language/reserved-words/ident-reference-true.js
@@ -15,7 +15,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 // It's tempting to write `true = 0`, but that'd be a test to validate `true`
 // is not a valid simple assignment target, cf. tests in language/expressions/assignment.
diff --git a/test/language/reserved-words/label-ident-false-escaped.js b/test/language/reserved-words/label-ident-false-escaped.js
index 0e12f2440f..8bd94be9c2 100644
--- a/test/language/reserved-words/label-ident-false-escaped.js
+++ b/test/language/reserved-words/label-ident-false-escaped.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 f\u0061lse: ;
diff --git a/test/language/reserved-words/label-ident-false.js b/test/language/reserved-words/label-ident-false.js
index 2abd4a8bff..9dfbfe9aa1 100644
--- a/test/language/reserved-words/label-ident-false.js
+++ b/test/language/reserved-words/label-ident-false.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 false: ;
diff --git a/test/language/reserved-words/label-ident-null-escaped.js b/test/language/reserved-words/label-ident-null-escaped.js
index 65cb5eec3a..911f5c08bb 100644
--- a/test/language/reserved-words/label-ident-null-escaped.js
+++ b/test/language/reserved-words/label-ident-null-escaped.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 nul\u006c: ;
diff --git a/test/language/reserved-words/label-ident-null.js b/test/language/reserved-words/label-ident-null.js
index a808dfc1bb..e958e92b96 100644
--- a/test/language/reserved-words/label-ident-null.js
+++ b/test/language/reserved-words/label-ident-null.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 null: ;
diff --git a/test/language/reserved-words/label-ident-true-escaped.js b/test/language/reserved-words/label-ident-true-escaped.js
index 5d043e59e4..5be2b2c2dd 100644
--- a/test/language/reserved-words/label-ident-true-escaped.js
+++ b/test/language/reserved-words/label-ident-true-escaped.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 tru\u0065: ;
diff --git a/test/language/reserved-words/label-ident-true.js b/test/language/reserved-words/label-ident-true.js
index 2eee0e33b4..9dbd89b49d 100644
--- a/test/language/reserved-words/label-ident-true.js
+++ b/test/language/reserved-words/label-ident-true.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 true: ;
diff --git a/test/language/rest-parameters/position-invalid.js b/test/language/rest-parameters/position-invalid.js
index bcb66f5a54..2bd25d8569 100644
--- a/test/language/rest-parameters/position-invalid.js
+++ b/test/language/rest-parameters/position-invalid.js
@@ -9,5 +9,5 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 function f(a, ...b, c) {}
diff --git a/test/language/statements/async-function/await-as-binding-identifier-escaped.js b/test/language/statements/async-function/await-as-binding-identifier-escaped.js
index 7d6c9ccd96..ecad1ae934 100644
--- a/test/language/statements/async-function/await-as-binding-identifier-escaped.js
+++ b/test/language/statements/async-function/await-as-binding-identifier-escaped.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 async function fn() {
diff --git a/test/language/statements/async-function/await-as-binding-identifier.js b/test/language/statements/async-function/await-as-binding-identifier.js
index d330dd19ab..c822b41bff 100644
--- a/test/language/statements/async-function/await-as-binding-identifier.js
+++ b/test/language/statements/async-function/await-as-binding-identifier.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 async function fn() {
diff --git a/test/language/statements/async-function/await-as-identifier-reference-escaped.js b/test/language/statements/async-function/await-as-identifier-reference-escaped.js
index 17f6f14a9b..d23c08f60e 100644
--- a/test/language/statements/async-function/await-as-identifier-reference-escaped.js
+++ b/test/language/statements/async-function/await-as-identifier-reference-escaped.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 async function fn() {
diff --git a/test/language/statements/async-function/await-as-identifier-reference.js b/test/language/statements/async-function/await-as-identifier-reference.js
index c23cb33a30..6958d0837c 100644
--- a/test/language/statements/async-function/await-as-identifier-reference.js
+++ b/test/language/statements/async-function/await-as-identifier-reference.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 async function fn() {
diff --git a/test/language/statements/async-function/await-as-label-identifier-escaped.js b/test/language/statements/async-function/await-as-label-identifier-escaped.js
index db47b89b2f..4559089887 100644
--- a/test/language/statements/async-function/await-as-label-identifier-escaped.js
+++ b/test/language/statements/async-function/await-as-label-identifier-escaped.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 async function fn() {
diff --git a/test/language/statements/async-function/await-as-label-identifier.js b/test/language/statements/async-function/await-as-label-identifier.js
index a64d8ef0c5..71594893a5 100644
--- a/test/language/statements/async-function/await-as-label-identifier.js
+++ b/test/language/statements/async-function/await-as-label-identifier.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 async function fn() {
diff --git a/test/language/statements/async-function/dflt-params-duplicates.js b/test/language/statements/async-function/dflt-params-duplicates.js
index fffc4c4c04..9937c6a912 100644
--- a/test/language/statements/async-function/dflt-params-duplicates.js
+++ b/test/language/statements/async-function/dflt-params-duplicates.js
@@ -30,7 +30,7 @@ info: |
       elements.
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 async function f(x = 0, x) {
diff --git a/test/language/statements/async-function/dflt-params-rest.js b/test/language/statements/async-function/dflt-params-rest.js
index dccd916c90..6517d9787b 100644
--- a/test/language/statements/async-function/dflt-params-rest.js
+++ b/test/language/statements/async-function/dflt-params-rest.js
@@ -34,7 +34,7 @@ info: |
       ...BindingPattern[?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 async function f(...x = []) {
diff --git a/test/language/statements/async-function/early-errors-declaration-NSPL-with-USD.js b/test/language/statements/async-function/early-errors-declaration-NSPL-with-USD.js
index 183ebce424..9ee0445f20 100644
--- a/test/language/statements/async-function/early-errors-declaration-NSPL-with-USD.js
+++ b/test/language/statements/async-function/early-errors-declaration-NSPL-with-USD.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 async function foo(x = 1){"use strict"}
diff --git a/test/language/statements/async-function/early-errors-declaration-arguments-in-formal-parameters.js b/test/language/statements/async-function/early-errors-declaration-arguments-in-formal-parameters.js
index 14bb0a0951..6fe735329d 100644
--- a/test/language/statements/async-function/early-errors-declaration-arguments-in-formal-parameters.js
+++ b/test/language/statements/async-function/early-errors-declaration-arguments-in-formal-parameters.js
@@ -11,7 +11,7 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 async function foo (arguments) {  }
 
diff --git a/test/language/statements/async-function/early-errors-declaration-await-in-formals-default.js b/test/language/statements/async-function/early-errors-declaration-await-in-formals-default.js
index eeedb62dd8..6e1450df3a 100644
--- a/test/language/statements/async-function/early-errors-declaration-await-in-formals-default.js
+++ b/test/language/statements/async-function/early-errors-declaration-await-in-formals-default.js
@@ -10,5 +10,5 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 async function foo (x = await) {  }
diff --git a/test/language/statements/async-function/early-errors-declaration-await-in-formals.js b/test/language/statements/async-function/early-errors-declaration-await-in-formals.js
index a1cde40d0e..02962a2450 100644
--- a/test/language/statements/async-function/early-errors-declaration-await-in-formals.js
+++ b/test/language/statements/async-function/early-errors-declaration-await-in-formals.js
@@ -10,5 +10,5 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 async function foo (await) {  }
diff --git a/test/language/statements/async-function/early-errors-declaration-binding-identifier-arguments.js b/test/language/statements/async-function/early-errors-declaration-binding-identifier-arguments.js
index 4194b95295..faa24174a5 100644
--- a/test/language/statements/async-function/early-errors-declaration-binding-identifier-arguments.js
+++ b/test/language/statements/async-function/early-errors-declaration-binding-identifier-arguments.js
@@ -5,13 +5,13 @@
 author: Brian Terlson <brian.terlson@microsoft.com>
 esid: pending
 description: >
-  If the source code matching this production is strict code, it is a Syntax Error if BindingIdentifier is the IdentifierName arguments. 
+  If the source code matching this production is strict code, it is a Syntax Error if BindingIdentifier is the IdentifierName arguments.
 negative:
   phase: parse
   type: SyntaxError
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 async function arguments () {  }
 
diff --git a/test/language/statements/async-function/early-errors-declaration-binding-identifier-eval.js b/test/language/statements/async-function/early-errors-declaration-binding-identifier-eval.js
index 41e20afabc..5ef37c5c4b 100644
--- a/test/language/statements/async-function/early-errors-declaration-binding-identifier-eval.js
+++ b/test/language/statements/async-function/early-errors-declaration-binding-identifier-eval.js
@@ -5,12 +5,12 @@
 author: Brian Terlson <brian.terlson@microsoft.com>
 esid: pending
 description: >
-  If the source code matching this production is strict code, it is a Syntax Error if BindingIdentifier is the IdentifierName eval. 
+  If the source code matching this production is strict code, it is a Syntax Error if BindingIdentifier is the IdentifierName eval.
 negative:
   phase: parse
   type: SyntaxError
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 async function eval () {  }
diff --git a/test/language/statements/async-function/early-errors-declaration-body-contains-super-call.js b/test/language/statements/async-function/early-errors-declaration-body-contains-super-call.js
index 12f29db168..c579542594 100644
--- a/test/language/statements/async-function/early-errors-declaration-body-contains-super-call.js
+++ b/test/language/statements/async-function/early-errors-declaration-body-contains-super-call.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 async function foo (foo) { super() };
diff --git a/test/language/statements/async-function/early-errors-declaration-body-contains-super-property.js b/test/language/statements/async-function/early-errors-declaration-body-contains-super-property.js
index beab6e1e84..6742ed0db3 100644
--- a/test/language/statements/async-function/early-errors-declaration-body-contains-super-property.js
+++ b/test/language/statements/async-function/early-errors-declaration-body-contains-super-property.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 async function foo (foo) { super.prop };
diff --git a/test/language/statements/async-function/early-errors-declaration-duplicate-parameters.js b/test/language/statements/async-function/early-errors-declaration-duplicate-parameters.js
index 00aab91df0..5a14900ff1 100644
--- a/test/language/statements/async-function/early-errors-declaration-duplicate-parameters.js
+++ b/test/language/statements/async-function/early-errors-declaration-duplicate-parameters.js
@@ -12,6 +12,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 async function foo(a, a) { }
diff --git a/test/language/statements/async-function/early-errors-declaration-eval-in-formal-parameters.js b/test/language/statements/async-function/early-errors-declaration-eval-in-formal-parameters.js
index 6e677f4db6..03b4d0d31e 100644
--- a/test/language/statements/async-function/early-errors-declaration-eval-in-formal-parameters.js
+++ b/test/language/statements/async-function/early-errors-declaration-eval-in-formal-parameters.js
@@ -11,6 +11,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 async function foo (eval) {  }
diff --git a/test/language/statements/async-function/early-errors-declaration-formals-body-duplicate.js b/test/language/statements/async-function/early-errors-declaration-formals-body-duplicate.js
index e24c73545f..767e9523a6 100644
--- a/test/language/statements/async-function/early-errors-declaration-formals-body-duplicate.js
+++ b/test/language/statements/async-function/early-errors-declaration-formals-body-duplicate.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 async function foo (bar) { let bar; }
diff --git a/test/language/statements/async-function/early-errors-declaration-formals-contains-super-call.js b/test/language/statements/async-function/early-errors-declaration-formals-contains-super-call.js
index bc2eadda6f..7cd2677036 100644
--- a/test/language/statements/async-function/early-errors-declaration-formals-contains-super-call.js
+++ b/test/language/statements/async-function/early-errors-declaration-formals-contains-super-call.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 async function foo (foo = super()) { let bar; }
diff --git a/test/language/statements/async-function/early-errors-declaration-formals-contains-super-property.js b/test/language/statements/async-function/early-errors-declaration-formals-contains-super-property.js
index 370c7af30a..3898921fb5 100644
--- a/test/language/statements/async-function/early-errors-declaration-formals-contains-super-property.js
+++ b/test/language/statements/async-function/early-errors-declaration-formals-contains-super-property.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 async function foo (foo = super.foo) { let bar; }
diff --git a/test/language/statements/async-function/escaped-async.js b/test/language/statements/async-function/escaped-async.js
index 2bc8bf6d6a..ce0c6229a1 100644
--- a/test/language/statements/async-function/escaped-async.js
+++ b/test/language/statements/async-function/escaped-async.js
@@ -19,6 +19,6 @@ negative:
 features: [async-functions]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 \u0061sync function f(){}
diff --git a/test/language/statements/async-function/let-newline-await-in-async-function.js b/test/language/statements/async-function/let-newline-await-in-async-function.js
index 26bb8008d6..c8e6792101 100644
--- a/test/language/statements/async-function/let-newline-await-in-async-function.js
+++ b/test/language/statements/async-function/let-newline-await-in-async-function.js
@@ -16,7 +16,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 async function f() {
     let
diff --git a/test/language/statements/async-function/rest-params-trailing-comma-early-error.js b/test/language/statements/async-function/rest-params-trailing-comma-early-error.js
index c29555f316..75df79f287 100644
--- a/test/language/statements/async-function/rest-params-trailing-comma-early-error.js
+++ b/test/language/statements/async-function/rest-params-trailing-comma-early-error.js
@@ -27,7 +27,7 @@ info: |
         FormalParameterList[?Yield, ?Await] ,
         FormalParameterList[?Yield, ?Await] , FunctionRestParameter[?Yield, ?Await]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 async function f(...a,) {
diff --git a/test/language/statements/async-generator/await-as-binding-identifier-escaped.js b/test/language/statements/async-generator/await-as-binding-identifier-escaped.js
index 508787a8be..605ad068a7 100644
--- a/test/language/statements/async-generator/await-as-binding-identifier-escaped.js
+++ b/test/language/statements/async-generator/await-as-binding-identifier-escaped.js
@@ -23,7 +23,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 async function *gen() {
diff --git a/test/language/statements/async-generator/await-as-binding-identifier.js b/test/language/statements/async-generator/await-as-binding-identifier.js
index 2900e9f492..7b148ec30c 100644
--- a/test/language/statements/async-generator/await-as-binding-identifier.js
+++ b/test/language/statements/async-generator/await-as-binding-identifier.js
@@ -23,7 +23,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 async function *gen() {
diff --git a/test/language/statements/async-generator/await-as-identifier-reference-escaped.js b/test/language/statements/async-generator/await-as-identifier-reference-escaped.js
index 63e32732d9..3cd1e596c5 100644
--- a/test/language/statements/async-generator/await-as-identifier-reference-escaped.js
+++ b/test/language/statements/async-generator/await-as-identifier-reference-escaped.js
@@ -23,7 +23,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 async function *gen() {
diff --git a/test/language/statements/async-generator/await-as-identifier-reference.js b/test/language/statements/async-generator/await-as-identifier-reference.js
index 15223e7d17..cb8d1dc4dd 100644
--- a/test/language/statements/async-generator/await-as-identifier-reference.js
+++ b/test/language/statements/async-generator/await-as-identifier-reference.js
@@ -23,7 +23,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 async function *gen() {
diff --git a/test/language/statements/async-generator/await-as-label-identifier-escaped.js b/test/language/statements/async-generator/await-as-label-identifier-escaped.js
index f43d073149..74b11f8802 100644
--- a/test/language/statements/async-generator/await-as-label-identifier-escaped.js
+++ b/test/language/statements/async-generator/await-as-label-identifier-escaped.js
@@ -23,7 +23,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 async function *gen() {
diff --git a/test/language/statements/async-generator/await-as-label-identifier.js b/test/language/statements/async-generator/await-as-label-identifier.js
index c7fb67aa96..020b1cd15a 100644
--- a/test/language/statements/async-generator/await-as-label-identifier.js
+++ b/test/language/statements/async-generator/await-as-label-identifier.js
@@ -23,7 +23,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 async function *gen() {
diff --git a/test/language/statements/async-generator/dflt-params-duplicates.js b/test/language/statements/async-generator/dflt-params-duplicates.js
index 20304ca1ce..aaaa142544 100644
--- a/test/language/statements/async-generator/dflt-params-duplicates.js
+++ b/test/language/statements/async-generator/dflt-params-duplicates.js
@@ -33,7 +33,7 @@ info: |
       elements.
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 async function* f(x = 0, x) {
diff --git a/test/language/statements/async-generator/dflt-params-rest.js b/test/language/statements/async-generator/dflt-params-rest.js
index 85d64ff97f..f93fcff4e7 100644
--- a/test/language/statements/async-generator/dflt-params-rest.js
+++ b/test/language/statements/async-generator/dflt-params-rest.js
@@ -37,7 +37,7 @@ info: |
       ...BindingPattern[?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 async function* f(...x = []) {
diff --git a/test/language/statements/async-generator/dstr-ary-ptrn-rest-init-ary.js b/test/language/statements/async-generator/dstr-ary-ptrn-rest-init-ary.js
index 153a6e03aa..b17ef3a01d 100644
--- a/test/language/statements/async-generator/dstr-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/async-generator/dstr-ary-ptrn-rest-init-ary.js
@@ -25,7 +25,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/async-generator/dstr-ary-ptrn-rest-init-id.js b/test/language/statements/async-generator/dstr-ary-ptrn-rest-init-id.js
index 5d9a72f6da..234ca32fd6 100644
--- a/test/language/statements/async-generator/dstr-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/async-generator/dstr-ary-ptrn-rest-init-id.js
@@ -25,7 +25,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/async-generator/dstr-ary-ptrn-rest-init-obj.js b/test/language/statements/async-generator/dstr-ary-ptrn-rest-init-obj.js
index b91b228331..c75b5813d7 100644
--- a/test/language/statements/async-generator/dstr-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/async-generator/dstr-ary-ptrn-rest-init-obj.js
@@ -25,7 +25,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/async-generator/dstr-ary-ptrn-rest-not-final-ary.js b/test/language/statements/async-generator/dstr-ary-ptrn-rest-not-final-ary.js
index ba050cbe63..5737f58b77 100644
--- a/test/language/statements/async-generator/dstr-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/async-generator/dstr-ary-ptrn-rest-not-final-ary.js
@@ -25,7 +25,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/async-generator/dstr-ary-ptrn-rest-not-final-id.js b/test/language/statements/async-generator/dstr-ary-ptrn-rest-not-final-id.js
index bd726590f0..8448589982 100644
--- a/test/language/statements/async-generator/dstr-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/async-generator/dstr-ary-ptrn-rest-not-final-id.js
@@ -25,7 +25,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/async-generator/dstr-ary-ptrn-rest-not-final-obj.js b/test/language/statements/async-generator/dstr-ary-ptrn-rest-not-final-obj.js
index 05dd133a62..06811794d5 100644
--- a/test/language/statements/async-generator/dstr-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/async-generator/dstr-ary-ptrn-rest-not-final-obj.js
@@ -25,7 +25,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/async-generator/dstr-dflt-ary-ptrn-rest-init-ary.js b/test/language/statements/async-generator/dstr-dflt-ary-ptrn-rest-init-ary.js
index f6bace7172..675c095938 100644
--- a/test/language/statements/async-generator/dstr-dflt-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/async-generator/dstr-dflt-ary-ptrn-rest-init-ary.js
@@ -25,7 +25,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/async-generator/dstr-dflt-ary-ptrn-rest-init-id.js b/test/language/statements/async-generator/dstr-dflt-ary-ptrn-rest-init-id.js
index 3e4fb08ae7..3d5816aa1d 100644
--- a/test/language/statements/async-generator/dstr-dflt-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/async-generator/dstr-dflt-ary-ptrn-rest-init-id.js
@@ -25,7 +25,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/async-generator/dstr-dflt-ary-ptrn-rest-init-obj.js b/test/language/statements/async-generator/dstr-dflt-ary-ptrn-rest-init-obj.js
index 70f18cae75..233c086c6c 100644
--- a/test/language/statements/async-generator/dstr-dflt-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/async-generator/dstr-dflt-ary-ptrn-rest-init-obj.js
@@ -25,7 +25,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/async-generator/dstr-dflt-ary-ptrn-rest-not-final-ary.js b/test/language/statements/async-generator/dstr-dflt-ary-ptrn-rest-not-final-ary.js
index 6c971c9dfb..dc31417e4c 100644
--- a/test/language/statements/async-generator/dstr-dflt-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/async-generator/dstr-dflt-ary-ptrn-rest-not-final-ary.js
@@ -25,7 +25,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/async-generator/dstr-dflt-ary-ptrn-rest-not-final-id.js b/test/language/statements/async-generator/dstr-dflt-ary-ptrn-rest-not-final-id.js
index dd5b075e32..bab834d6bc 100644
--- a/test/language/statements/async-generator/dstr-dflt-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/async-generator/dstr-dflt-ary-ptrn-rest-not-final-id.js
@@ -25,7 +25,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/async-generator/dstr-dflt-ary-ptrn-rest-not-final-obj.js b/test/language/statements/async-generator/dstr-dflt-ary-ptrn-rest-not-final-obj.js
index 174b996bb9..ed2fa43ce3 100644
--- a/test/language/statements/async-generator/dstr-dflt-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/async-generator/dstr-dflt-ary-ptrn-rest-not-final-obj.js
@@ -25,7 +25,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/async-generator/escaped-async.js b/test/language/statements/async-generator/escaped-async.js
index 2ec4edcd0c..7a35a2df3d 100644
--- a/test/language/statements/async-generator/escaped-async.js
+++ b/test/language/statements/async-generator/escaped-async.js
@@ -19,6 +19,6 @@ negative:
 features: [async-iteration]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 \u0061sync function* f(){}
diff --git a/test/language/statements/async-generator/rest-params-trailing-comma-early-error.js b/test/language/statements/async-generator/rest-params-trailing-comma-early-error.js
index dfb4f48171..7714510607 100644
--- a/test/language/statements/async-generator/rest-params-trailing-comma-early-error.js
+++ b/test/language/statements/async-generator/rest-params-trailing-comma-early-error.js
@@ -30,7 +30,7 @@ info: |
         FormalParameterList[?Yield, ?Await] ,
         FormalParameterList[?Yield, ?Await] , FunctionRestParameter[?Yield, ?Await]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 async function* f(...a,) {
diff --git a/test/language/statements/async-generator/yield-as-binding-identifier-escaped.js b/test/language/statements/async-generator/yield-as-binding-identifier-escaped.js
index 167f182c32..bc82211e65 100644
--- a/test/language/statements/async-generator/yield-as-binding-identifier-escaped.js
+++ b/test/language/statements/async-generator/yield-as-binding-identifier-escaped.js
@@ -23,7 +23,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 async function *gen() {
diff --git a/test/language/statements/async-generator/yield-as-binding-identifier.js b/test/language/statements/async-generator/yield-as-binding-identifier.js
index e1b56410a1..8a71d75000 100644
--- a/test/language/statements/async-generator/yield-as-binding-identifier.js
+++ b/test/language/statements/async-generator/yield-as-binding-identifier.js
@@ -23,7 +23,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 async function *gen() {
diff --git a/test/language/statements/async-generator/yield-as-identifier-reference-escaped.js b/test/language/statements/async-generator/yield-as-identifier-reference-escaped.js
index bb10d9328f..b73578bfcd 100644
--- a/test/language/statements/async-generator/yield-as-identifier-reference-escaped.js
+++ b/test/language/statements/async-generator/yield-as-identifier-reference-escaped.js
@@ -23,7 +23,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 async function *gen() {
diff --git a/test/language/statements/async-generator/yield-as-identifier-reference.js b/test/language/statements/async-generator/yield-as-identifier-reference.js
index 706febc1fb..fe749abd3e 100644
--- a/test/language/statements/async-generator/yield-as-identifier-reference.js
+++ b/test/language/statements/async-generator/yield-as-identifier-reference.js
@@ -23,7 +23,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 async function *gen() {
diff --git a/test/language/statements/async-generator/yield-as-label-identifier-escaped.js b/test/language/statements/async-generator/yield-as-label-identifier-escaped.js
index d8236d6791..ac67a13a38 100644
--- a/test/language/statements/async-generator/yield-as-label-identifier-escaped.js
+++ b/test/language/statements/async-generator/yield-as-label-identifier-escaped.js
@@ -23,7 +23,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 async function *gen() {
diff --git a/test/language/statements/async-generator/yield-as-label-identifier.js b/test/language/statements/async-generator/yield-as-label-identifier.js
index f93e9b9c18..96d1707e12 100644
--- a/test/language/statements/async-generator/yield-as-label-identifier.js
+++ b/test/language/statements/async-generator/yield-as-label-identifier.js
@@ -23,7 +23,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 async function *gen() {
diff --git a/test/language/statements/async-generator/yield-identifier-spread-strict.js b/test/language/statements/async-generator/yield-identifier-spread-strict.js
index 12b917e820..c0e8b956f8 100644
--- a/test/language/statements/async-generator/yield-identifier-spread-strict.js
+++ b/test/language/statements/async-generator/yield-identifier-spread-strict.js
@@ -24,7 +24,7 @@ info: |
       ...AssignmentExpression[In, ?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/async-generator/yield-identifier-strict.js b/test/language/statements/async-generator/yield-identifier-strict.js
index b53080353b..5a1556c608 100644
--- a/test/language/statements/async-generator/yield-identifier-strict.js
+++ b/test/language/statements/async-generator/yield-identifier-strict.js
@@ -17,7 +17,7 @@ info: |
         AsyncGeneratorBody }
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/block/S12.1_A4_T1.js b/test/language/statements/block/S12.1_A4_T1.js
index 34773af779..e6fe0e3b9b 100644
--- a/test/language/statements/block/S12.1_A4_T1.js
+++ b/test/language/statements/block/S12.1_A4_T1.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function __func(){};
 
diff --git a/test/language/statements/block/S12.1_A4_T2.js b/test/language/statements/block/S12.1_A4_T2.js
index db8cf5fb79..ed4936cf4a 100644
--- a/test/language/statements/block/S12.1_A4_T2.js
+++ b/test/language/statements/block/S12.1_A4_T2.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 x=1;
 
diff --git a/test/language/statements/break/S12.8_A1_T1.js b/test/language/statements/break/S12.8_A1_T1.js
index a15d2c55b3..3278f18610 100644
--- a/test/language/statements/break/S12.8_A1_T1.js
+++ b/test/language/statements/break/S12.8_A1_T1.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //////////////////////////////////////////////////////////////////////////////
 //CHECK#1
diff --git a/test/language/statements/break/S12.8_A1_T2.js b/test/language/statements/break/S12.8_A1_T2.js
index 65d185a8b1..0abd100db5 100644
--- a/test/language/statements/break/S12.8_A1_T2.js
+++ b/test/language/statements/break/S12.8_A1_T2.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 LABEL : x=3.14;
 
diff --git a/test/language/statements/break/S12.8_A1_T3.js b/test/language/statements/break/S12.8_A1_T3.js
index b265cd02fc..ba924de047 100644
--- a/test/language/statements/break/S12.8_A1_T3.js
+++ b/test/language/statements/break/S12.8_A1_T3.js
@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //////////////////////////////////////////////////////////////////////////////
 //CHECK#1
diff --git a/test/language/statements/break/S12.8_A1_T4.js b/test/language/statements/break/S12.8_A1_T4.js
index 081fdff3ee..5f808e09db 100644
--- a/test/language/statements/break/S12.8_A1_T4.js
+++ b/test/language/statements/break/S12.8_A1_T4.js
@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 LABEL : x=3.14;
 
diff --git a/test/language/statements/break/S12.8_A5_T1.js b/test/language/statements/break/S12.8_A5_T1.js
index 243ce7a00e..33f039ca93 100644
--- a/test/language/statements/break/S12.8_A5_T1.js
+++ b/test/language/statements/break/S12.8_A5_T1.js
@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (function(){
     LABEL_OUT : var x=0, y=0;
@@ -24,10 +24,10 @@ throw "Test262: This statement should not be evaluated.";
         LABEL_IN_2 : y++;
         function IN_DO_FUNC(){}
     } while(0);
-    
+
     LABEL_ANOTHER_LOOP : do {
         ;
     } while(0);
-    
+
     function OUT_FUNC(){}
 })();
diff --git a/test/language/statements/break/S12.8_A5_T2.js b/test/language/statements/break/S12.8_A5_T2.js
index cd2f327390..f2757476a1 100644
--- a/test/language/statements/break/S12.8_A5_T2.js
+++ b/test/language/statements/break/S12.8_A5_T2.js
@@ -14,7 +14,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (function(){
     LABEL_OUT : var x=0, y=0;
@@ -26,10 +26,10 @@ throw "Test262: This statement should not be evaluated.";
         LABEL_IN_2 : y++;
         function IN_DO_FUNC(){}
     } while(0);
-    
+
     LABEL_ANOTHER_LOOP : do {
         ;
     } while(0);
-    
+
     function OUT_FUNC(){}
 })();
diff --git a/test/language/statements/break/S12.8_A5_T3.js b/test/language/statements/break/S12.8_A5_T3.js
index fdee1fbf9c..094f7bba95 100644
--- a/test/language/statements/break/S12.8_A5_T3.js
+++ b/test/language/statements/break/S12.8_A5_T3.js
@@ -14,7 +14,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (function(){
     LABEL_OUT : var x=0, y=0;
@@ -26,13 +26,13 @@ throw "Test262: This statement should not be evaluated.";
         LABEL_IN_2 : y++;
 
         function IN_DO_FUNC(){}
-        
+
     } while(0);
-    
+
     LABEL_ANOTHER_LOOP : do {
         ;
     } while(0);
-    
+
     function OUT_FUNC(){}
-    
+
 })();
diff --git a/test/language/statements/break/S12.8_A6.js b/test/language/statements/break/S12.8_A6.js
index a995b75175..dda34c0878 100644
--- a/test/language/statements/break/S12.8_A6.js
+++ b/test/language/statements/break/S12.8_A6.js
@@ -14,7 +14,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var x=0,y=0;
 
diff --git a/test/language/statements/break/S12.8_A8_T1.js b/test/language/statements/break/S12.8_A8_T1.js
index 5691a0427a..50edd4968a 100644
--- a/test/language/statements/break/S12.8_A8_T1.js
+++ b/test/language/statements/break/S12.8_A8_T1.js
@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 try{
 } catch(e){
diff --git a/test/language/statements/break/S12.8_A8_T2.js b/test/language/statements/break/S12.8_A8_T2.js
index 4a9aa5e902..3bf515ed91 100644
--- a/test/language/statements/break/S12.8_A8_T2.js
+++ b/test/language/statements/break/S12.8_A8_T2.js
@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 try{
 } catch(e){
diff --git a/test/language/statements/class/async-gen-meth-dflt-params-duplicates.js b/test/language/statements/class/async-gen-meth-dflt-params-duplicates.js
index aad2cf3b0f..3dae89f9a7 100644
--- a/test/language/statements/class/async-gen-meth-dflt-params-duplicates.js
+++ b/test/language/statements/class/async-gen-meth-dflt-params-duplicates.js
@@ -56,7 +56,7 @@ info: |
       elements.
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   async *method(x = 0, x) {
diff --git a/test/language/statements/class/async-gen-meth-dflt-params-rest.js b/test/language/statements/class/async-gen-meth-dflt-params-rest.js
index 13bfda43ef..b5d6d0b6db 100644
--- a/test/language/statements/class/async-gen-meth-dflt-params-rest.js
+++ b/test/language/statements/class/async-gen-meth-dflt-params-rest.js
@@ -60,7 +60,7 @@ info: |
       ...BindingPattern[?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   async *method(...x = []) {
diff --git a/test/language/statements/class/async-gen-meth-escaped-async.js b/test/language/statements/class/async-gen-meth-escaped-async.js
index 459ddd2027..b88ca38931 100644
--- a/test/language/statements/class/async-gen-meth-escaped-async.js
+++ b/test/language/statements/class/async-gen-meth-escaped-async.js
@@ -19,7 +19,7 @@ negative:
 features: [async-iteration]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
     \u0061sync* m(){}
diff --git a/test/language/statements/class/async-gen-meth-rest-params-trailing-comma-early-error.js b/test/language/statements/class/async-gen-meth-rest-params-trailing-comma-early-error.js
index e90b98d482..fdf3d0fc0d 100644
--- a/test/language/statements/class/async-gen-meth-rest-params-trailing-comma-early-error.js
+++ b/test/language/statements/class/async-gen-meth-rest-params-trailing-comma-early-error.js
@@ -53,7 +53,7 @@ info: |
         FormalParameterList[?Yield, ?Await] ,
         FormalParameterList[?Yield, ?Await] , FunctionRestParameter[?Yield, ?Await]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   async *method(...a,) {
diff --git a/test/language/statements/class/async-gen-meth-static-dflt-params-duplicates.js b/test/language/statements/class/async-gen-meth-static-dflt-params-duplicates.js
index 2d0ade2ac7..f7c04c50c4 100644
--- a/test/language/statements/class/async-gen-meth-static-dflt-params-duplicates.js
+++ b/test/language/statements/class/async-gen-meth-static-dflt-params-duplicates.js
@@ -56,7 +56,7 @@ info: |
       elements.
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C {
diff --git a/test/language/statements/class/async-gen-meth-static-dflt-params-rest.js b/test/language/statements/class/async-gen-meth-static-dflt-params-rest.js
index 381f7589d6..dcb69769d4 100644
--- a/test/language/statements/class/async-gen-meth-static-dflt-params-rest.js
+++ b/test/language/statements/class/async-gen-meth-static-dflt-params-rest.js
@@ -60,7 +60,7 @@ info: |
       ...BindingPattern[?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C {
diff --git a/test/language/statements/class/async-gen-meth-static-rest-params-trailing-comma-early-error.js b/test/language/statements/class/async-gen-meth-static-rest-params-trailing-comma-early-error.js
index 197f900a93..ea56c04a14 100644
--- a/test/language/statements/class/async-gen-meth-static-rest-params-trailing-comma-early-error.js
+++ b/test/language/statements/class/async-gen-meth-static-rest-params-trailing-comma-early-error.js
@@ -53,7 +53,7 @@ info: |
         FormalParameterList[?Yield, ?Await] ,
         FormalParameterList[?Yield, ?Await] , FunctionRestParameter[?Yield, ?Await]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C {
diff --git a/test/language/statements/class/async-gen-method-await-as-binding-identifier-escaped.js b/test/language/statements/class/async-gen-method-await-as-binding-identifier-escaped.js
index d9064cc33e..b3b93fcc34 100644
--- a/test/language/statements/class/async-gen-method-await-as-binding-identifier-escaped.js
+++ b/test/language/statements/class/async-gen-method-await-as-binding-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { async *gen() {
diff --git a/test/language/statements/class/async-gen-method-await-as-binding-identifier.js b/test/language/statements/class/async-gen-method-await-as-binding-identifier.js
index 9277721d92..9338cb2dd9 100644
--- a/test/language/statements/class/async-gen-method-await-as-binding-identifier.js
+++ b/test/language/statements/class/async-gen-method-await-as-binding-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { async *gen() {
diff --git a/test/language/statements/class/async-gen-method-await-as-identifier-reference-escaped.js b/test/language/statements/class/async-gen-method-await-as-identifier-reference-escaped.js
index e1d22947d4..1aef25a159 100644
--- a/test/language/statements/class/async-gen-method-await-as-identifier-reference-escaped.js
+++ b/test/language/statements/class/async-gen-method-await-as-identifier-reference-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { async *gen() {
diff --git a/test/language/statements/class/async-gen-method-await-as-identifier-reference.js b/test/language/statements/class/async-gen-method-await-as-identifier-reference.js
index f28c13d39e..f1e80f03f5 100644
--- a/test/language/statements/class/async-gen-method-await-as-identifier-reference.js
+++ b/test/language/statements/class/async-gen-method-await-as-identifier-reference.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { async *gen() {
diff --git a/test/language/statements/class/async-gen-method-await-as-label-identifier-escaped.js b/test/language/statements/class/async-gen-method-await-as-label-identifier-escaped.js
index 24486c3818..c220ceddfa 100644
--- a/test/language/statements/class/async-gen-method-await-as-label-identifier-escaped.js
+++ b/test/language/statements/class/async-gen-method-await-as-label-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { async *gen() {
diff --git a/test/language/statements/class/async-gen-method-await-as-label-identifier.js b/test/language/statements/class/async-gen-method-await-as-label-identifier.js
index 2d27e391d9..1907672020 100644
--- a/test/language/statements/class/async-gen-method-await-as-label-identifier.js
+++ b/test/language/statements/class/async-gen-method-await-as-label-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { async *gen() {
diff --git a/test/language/statements/class/async-gen-method-static-await-as-binding-identifier-escaped.js b/test/language/statements/class/async-gen-method-static-await-as-binding-identifier-escaped.js
index afdb9072cf..da272c6185 100644
--- a/test/language/statements/class/async-gen-method-static-await-as-binding-identifier-escaped.js
+++ b/test/language/statements/class/async-gen-method-static-await-as-binding-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { static async *gen() {
diff --git a/test/language/statements/class/async-gen-method-static-await-as-binding-identifier.js b/test/language/statements/class/async-gen-method-static-await-as-binding-identifier.js
index 1252d82263..5e51aa8afa 100644
--- a/test/language/statements/class/async-gen-method-static-await-as-binding-identifier.js
+++ b/test/language/statements/class/async-gen-method-static-await-as-binding-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { static async *gen() {
diff --git a/test/language/statements/class/async-gen-method-static-await-as-identifier-reference-escaped.js b/test/language/statements/class/async-gen-method-static-await-as-identifier-reference-escaped.js
index e96fc38860..15bc94c3dd 100644
--- a/test/language/statements/class/async-gen-method-static-await-as-identifier-reference-escaped.js
+++ b/test/language/statements/class/async-gen-method-static-await-as-identifier-reference-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { static async *gen() {
diff --git a/test/language/statements/class/async-gen-method-static-await-as-identifier-reference.js b/test/language/statements/class/async-gen-method-static-await-as-identifier-reference.js
index 67dce599ef..1e99ee7cb8 100644
--- a/test/language/statements/class/async-gen-method-static-await-as-identifier-reference.js
+++ b/test/language/statements/class/async-gen-method-static-await-as-identifier-reference.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { static async *gen() {
diff --git a/test/language/statements/class/async-gen-method-static-await-as-label-identifier-escaped.js b/test/language/statements/class/async-gen-method-static-await-as-label-identifier-escaped.js
index f8c3d6fc9f..856f915f44 100644
--- a/test/language/statements/class/async-gen-method-static-await-as-label-identifier-escaped.js
+++ b/test/language/statements/class/async-gen-method-static-await-as-label-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { static async *gen() {
diff --git a/test/language/statements/class/async-gen-method-static-await-as-label-identifier.js b/test/language/statements/class/async-gen-method-static-await-as-label-identifier.js
index 1fcbb1cda5..3eab7b12e3 100644
--- a/test/language/statements/class/async-gen-method-static-await-as-label-identifier.js
+++ b/test/language/statements/class/async-gen-method-static-await-as-label-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { static async *gen() {
diff --git a/test/language/statements/class/async-gen-method-static-yield-as-binding-identifier-escaped.js b/test/language/statements/class/async-gen-method-static-yield-as-binding-identifier-escaped.js
index d3f9cdfe66..a2dc05dfb1 100644
--- a/test/language/statements/class/async-gen-method-static-yield-as-binding-identifier-escaped.js
+++ b/test/language/statements/class/async-gen-method-static-yield-as-binding-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { static async *gen() {
diff --git a/test/language/statements/class/async-gen-method-static-yield-as-binding-identifier.js b/test/language/statements/class/async-gen-method-static-yield-as-binding-identifier.js
index a488d90089..4d2efa394d 100644
--- a/test/language/statements/class/async-gen-method-static-yield-as-binding-identifier.js
+++ b/test/language/statements/class/async-gen-method-static-yield-as-binding-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { static async *gen() {
diff --git a/test/language/statements/class/async-gen-method-static-yield-as-identifier-reference-escaped.js b/test/language/statements/class/async-gen-method-static-yield-as-identifier-reference-escaped.js
index 0031e60bf0..989211de96 100644
--- a/test/language/statements/class/async-gen-method-static-yield-as-identifier-reference-escaped.js
+++ b/test/language/statements/class/async-gen-method-static-yield-as-identifier-reference-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { static async *gen() {
diff --git a/test/language/statements/class/async-gen-method-static-yield-as-identifier-reference.js b/test/language/statements/class/async-gen-method-static-yield-as-identifier-reference.js
index 56ccb26657..08a500e925 100644
--- a/test/language/statements/class/async-gen-method-static-yield-as-identifier-reference.js
+++ b/test/language/statements/class/async-gen-method-static-yield-as-identifier-reference.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { static async *gen() {
diff --git a/test/language/statements/class/async-gen-method-static-yield-as-label-identifier-escaped.js b/test/language/statements/class/async-gen-method-static-yield-as-label-identifier-escaped.js
index f584b4a4dd..3fb879b5db 100644
--- a/test/language/statements/class/async-gen-method-static-yield-as-label-identifier-escaped.js
+++ b/test/language/statements/class/async-gen-method-static-yield-as-label-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { static async *gen() {
diff --git a/test/language/statements/class/async-gen-method-static-yield-as-label-identifier.js b/test/language/statements/class/async-gen-method-static-yield-as-label-identifier.js
index 187929c649..6ab526d5d4 100644
--- a/test/language/statements/class/async-gen-method-static-yield-as-label-identifier.js
+++ b/test/language/statements/class/async-gen-method-static-yield-as-label-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { static async *gen() {
diff --git a/test/language/statements/class/async-gen-method-static-yield-identifier-spread-strict.js b/test/language/statements/class/async-gen-method-static-yield-identifier-spread-strict.js
index 5a18a2976e..49c4fc2f1a 100644
--- a/test/language/statements/class/async-gen-method-static-yield-identifier-spread-strict.js
+++ b/test/language/statements/class/async-gen-method-static-yield-identifier-spread-strict.js
@@ -29,7 +29,7 @@ info: |
       ...AssignmentExpression[In, ?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/async-gen-method-static-yield-identifier-strict.js b/test/language/statements/class/async-gen-method-static-yield-identifier-strict.js
index 3fdd99adb0..3daa313dcf 100644
--- a/test/language/statements/class/async-gen-method-static-yield-identifier-strict.js
+++ b/test/language/statements/class/async-gen-method-static-yield-identifier-strict.js
@@ -22,7 +22,7 @@ info: |
       async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody }
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/async-gen-method-yield-as-binding-identifier-escaped.js b/test/language/statements/class/async-gen-method-yield-as-binding-identifier-escaped.js
index 21f28ba6ce..6a71bbbabb 100644
--- a/test/language/statements/class/async-gen-method-yield-as-binding-identifier-escaped.js
+++ b/test/language/statements/class/async-gen-method-yield-as-binding-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { async *gen() {
diff --git a/test/language/statements/class/async-gen-method-yield-as-binding-identifier.js b/test/language/statements/class/async-gen-method-yield-as-binding-identifier.js
index f912dff910..c52634380d 100644
--- a/test/language/statements/class/async-gen-method-yield-as-binding-identifier.js
+++ b/test/language/statements/class/async-gen-method-yield-as-binding-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { async *gen() {
diff --git a/test/language/statements/class/async-gen-method-yield-as-identifier-reference-escaped.js b/test/language/statements/class/async-gen-method-yield-as-identifier-reference-escaped.js
index cd127ecb2b..38b319e95c 100644
--- a/test/language/statements/class/async-gen-method-yield-as-identifier-reference-escaped.js
+++ b/test/language/statements/class/async-gen-method-yield-as-identifier-reference-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { async *gen() {
diff --git a/test/language/statements/class/async-gen-method-yield-as-identifier-reference.js b/test/language/statements/class/async-gen-method-yield-as-identifier-reference.js
index 69fc0183c2..3c5a48801e 100644
--- a/test/language/statements/class/async-gen-method-yield-as-identifier-reference.js
+++ b/test/language/statements/class/async-gen-method-yield-as-identifier-reference.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { async *gen() {
diff --git a/test/language/statements/class/async-gen-method-yield-as-label-identifier-escaped.js b/test/language/statements/class/async-gen-method-yield-as-label-identifier-escaped.js
index a4653c98ff..4365d886f4 100644
--- a/test/language/statements/class/async-gen-method-yield-as-label-identifier-escaped.js
+++ b/test/language/statements/class/async-gen-method-yield-as-label-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { async *gen() {
diff --git a/test/language/statements/class/async-gen-method-yield-as-label-identifier.js b/test/language/statements/class/async-gen-method-yield-as-label-identifier.js
index af71ce9d47..36f9d02086 100644
--- a/test/language/statements/class/async-gen-method-yield-as-label-identifier.js
+++ b/test/language/statements/class/async-gen-method-yield-as-label-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { async *gen() {
diff --git a/test/language/statements/class/async-gen-method-yield-identifier-spread-strict.js b/test/language/statements/class/async-gen-method-yield-identifier-spread-strict.js
index ebcb805801..dd82bf66a0 100644
--- a/test/language/statements/class/async-gen-method-yield-identifier-spread-strict.js
+++ b/test/language/statements/class/async-gen-method-yield-identifier-spread-strict.js
@@ -29,7 +29,7 @@ info: |
       ...AssignmentExpression[In, ?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/async-gen-method-yield-identifier-strict.js b/test/language/statements/class/async-gen-method-yield-identifier-strict.js
index acd7614c01..158942f7cd 100644
--- a/test/language/statements/class/async-gen-method-yield-identifier-strict.js
+++ b/test/language/statements/class/async-gen-method-yield-identifier-strict.js
@@ -22,7 +22,7 @@ info: |
       async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody }
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/async-gen-private-method-await-as-binding-identifier-escaped.js b/test/language/statements/class/async-gen-private-method-await-as-binding-identifier-escaped.js
index a8d3265daa..9a59c2247b 100644
--- a/test/language/statements/class/async-gen-private-method-await-as-binding-identifier-escaped.js
+++ b/test/language/statements/class/async-gen-private-method-await-as-binding-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { async *#gen() {
diff --git a/test/language/statements/class/async-gen-private-method-await-as-binding-identifier.js b/test/language/statements/class/async-gen-private-method-await-as-binding-identifier.js
index 62a36bed7f..066fe0f564 100644
--- a/test/language/statements/class/async-gen-private-method-await-as-binding-identifier.js
+++ b/test/language/statements/class/async-gen-private-method-await-as-binding-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { async *#gen() {
diff --git a/test/language/statements/class/async-gen-private-method-await-as-identifier-reference-escaped.js b/test/language/statements/class/async-gen-private-method-await-as-identifier-reference-escaped.js
index 5c6ed7c7aa..028f02df78 100644
--- a/test/language/statements/class/async-gen-private-method-await-as-identifier-reference-escaped.js
+++ b/test/language/statements/class/async-gen-private-method-await-as-identifier-reference-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { async *#gen() {
diff --git a/test/language/statements/class/async-gen-private-method-await-as-identifier-reference.js b/test/language/statements/class/async-gen-private-method-await-as-identifier-reference.js
index a128bd8052..618477c53b 100644
--- a/test/language/statements/class/async-gen-private-method-await-as-identifier-reference.js
+++ b/test/language/statements/class/async-gen-private-method-await-as-identifier-reference.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { async *#gen() {
diff --git a/test/language/statements/class/async-gen-private-method-await-as-label-identifier-escaped.js b/test/language/statements/class/async-gen-private-method-await-as-label-identifier-escaped.js
index 4b388a514a..4cb5748af1 100644
--- a/test/language/statements/class/async-gen-private-method-await-as-label-identifier-escaped.js
+++ b/test/language/statements/class/async-gen-private-method-await-as-label-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { async *#gen() {
diff --git a/test/language/statements/class/async-gen-private-method-await-as-label-identifier.js b/test/language/statements/class/async-gen-private-method-await-as-label-identifier.js
index e00273f3e1..1197671793 100644
--- a/test/language/statements/class/async-gen-private-method-await-as-label-identifier.js
+++ b/test/language/statements/class/async-gen-private-method-await-as-label-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { async *#gen() {
diff --git a/test/language/statements/class/async-gen-private-method-static-await-as-binding-identifier-escaped.js b/test/language/statements/class/async-gen-private-method-static-await-as-binding-identifier-escaped.js
index 7b97e191c2..ce494f7c6c 100644
--- a/test/language/statements/class/async-gen-private-method-static-await-as-binding-identifier-escaped.js
+++ b/test/language/statements/class/async-gen-private-method-static-await-as-binding-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { static async *#gen() {
diff --git a/test/language/statements/class/async-gen-private-method-static-await-as-binding-identifier.js b/test/language/statements/class/async-gen-private-method-static-await-as-binding-identifier.js
index ea1768a13a..88589e3886 100644
--- a/test/language/statements/class/async-gen-private-method-static-await-as-binding-identifier.js
+++ b/test/language/statements/class/async-gen-private-method-static-await-as-binding-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { static async *#gen() {
diff --git a/test/language/statements/class/async-gen-private-method-static-await-as-identifier-reference-escaped.js b/test/language/statements/class/async-gen-private-method-static-await-as-identifier-reference-escaped.js
index 00a2ff7ef9..66b216b576 100644
--- a/test/language/statements/class/async-gen-private-method-static-await-as-identifier-reference-escaped.js
+++ b/test/language/statements/class/async-gen-private-method-static-await-as-identifier-reference-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { static async *#gen() {
diff --git a/test/language/statements/class/async-gen-private-method-static-await-as-identifier-reference.js b/test/language/statements/class/async-gen-private-method-static-await-as-identifier-reference.js
index c2b10fff8d..6dc1720f4e 100644
--- a/test/language/statements/class/async-gen-private-method-static-await-as-identifier-reference.js
+++ b/test/language/statements/class/async-gen-private-method-static-await-as-identifier-reference.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { static async *#gen() {
diff --git a/test/language/statements/class/async-gen-private-method-static-await-as-label-identifier-escaped.js b/test/language/statements/class/async-gen-private-method-static-await-as-label-identifier-escaped.js
index e28610afad..8f6f8b740f 100644
--- a/test/language/statements/class/async-gen-private-method-static-await-as-label-identifier-escaped.js
+++ b/test/language/statements/class/async-gen-private-method-static-await-as-label-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { static async *#gen() {
diff --git a/test/language/statements/class/async-gen-private-method-static-await-as-label-identifier.js b/test/language/statements/class/async-gen-private-method-static-await-as-label-identifier.js
index 5c933328a5..28840fb4b6 100644
--- a/test/language/statements/class/async-gen-private-method-static-await-as-label-identifier.js
+++ b/test/language/statements/class/async-gen-private-method-static-await-as-label-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { static async *#gen() {
diff --git a/test/language/statements/class/async-gen-private-method-static-yield-as-binding-identifier-escaped.js b/test/language/statements/class/async-gen-private-method-static-yield-as-binding-identifier-escaped.js
index 545228f4d0..e21a3974e3 100644
--- a/test/language/statements/class/async-gen-private-method-static-yield-as-binding-identifier-escaped.js
+++ b/test/language/statements/class/async-gen-private-method-static-yield-as-binding-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { static async *#gen() {
diff --git a/test/language/statements/class/async-gen-private-method-static-yield-as-binding-identifier.js b/test/language/statements/class/async-gen-private-method-static-yield-as-binding-identifier.js
index 6f05b86df5..a7ed1bdde6 100644
--- a/test/language/statements/class/async-gen-private-method-static-yield-as-binding-identifier.js
+++ b/test/language/statements/class/async-gen-private-method-static-yield-as-binding-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { static async *#gen() {
diff --git a/test/language/statements/class/async-gen-private-method-static-yield-as-identifier-reference-escaped.js b/test/language/statements/class/async-gen-private-method-static-yield-as-identifier-reference-escaped.js
index a87d5c1858..46f65f71e2 100644
--- a/test/language/statements/class/async-gen-private-method-static-yield-as-identifier-reference-escaped.js
+++ b/test/language/statements/class/async-gen-private-method-static-yield-as-identifier-reference-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { static async *#gen() {
diff --git a/test/language/statements/class/async-gen-private-method-static-yield-as-identifier-reference.js b/test/language/statements/class/async-gen-private-method-static-yield-as-identifier-reference.js
index 9bf632c6ca..bb6337e032 100644
--- a/test/language/statements/class/async-gen-private-method-static-yield-as-identifier-reference.js
+++ b/test/language/statements/class/async-gen-private-method-static-yield-as-identifier-reference.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { static async *#gen() {
diff --git a/test/language/statements/class/async-gen-private-method-static-yield-as-label-identifier-escaped.js b/test/language/statements/class/async-gen-private-method-static-yield-as-label-identifier-escaped.js
index 675a0f37df..41509b462a 100644
--- a/test/language/statements/class/async-gen-private-method-static-yield-as-label-identifier-escaped.js
+++ b/test/language/statements/class/async-gen-private-method-static-yield-as-label-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { static async *#gen() {
diff --git a/test/language/statements/class/async-gen-private-method-static-yield-as-label-identifier.js b/test/language/statements/class/async-gen-private-method-static-yield-as-label-identifier.js
index 8a6a818ca7..fce8f96228 100644
--- a/test/language/statements/class/async-gen-private-method-static-yield-as-label-identifier.js
+++ b/test/language/statements/class/async-gen-private-method-static-yield-as-label-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { static async *#gen() {
diff --git a/test/language/statements/class/async-gen-private-method-static-yield-identifier-spread-strict.js b/test/language/statements/class/async-gen-private-method-static-yield-identifier-spread-strict.js
index f7bc16e8c3..0a140ade57 100644
--- a/test/language/statements/class/async-gen-private-method-static-yield-identifier-spread-strict.js
+++ b/test/language/statements/class/async-gen-private-method-static-yield-identifier-spread-strict.js
@@ -29,7 +29,7 @@ info: |
       ...AssignmentExpression[In, ?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/async-gen-private-method-static-yield-identifier-strict.js b/test/language/statements/class/async-gen-private-method-static-yield-identifier-strict.js
index b0aa9aba2f..d9f7a12b15 100644
--- a/test/language/statements/class/async-gen-private-method-static-yield-identifier-strict.js
+++ b/test/language/statements/class/async-gen-private-method-static-yield-identifier-strict.js
@@ -22,7 +22,7 @@ info: |
       async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody }
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/async-gen-private-method-yield-as-binding-identifier-escaped.js b/test/language/statements/class/async-gen-private-method-yield-as-binding-identifier-escaped.js
index 0ab8b943db..6080545e16 100644
--- a/test/language/statements/class/async-gen-private-method-yield-as-binding-identifier-escaped.js
+++ b/test/language/statements/class/async-gen-private-method-yield-as-binding-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { async *#gen() {
diff --git a/test/language/statements/class/async-gen-private-method-yield-as-binding-identifier.js b/test/language/statements/class/async-gen-private-method-yield-as-binding-identifier.js
index dd54f5cbc6..5c638e84ae 100644
--- a/test/language/statements/class/async-gen-private-method-yield-as-binding-identifier.js
+++ b/test/language/statements/class/async-gen-private-method-yield-as-binding-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { async *#gen() {
diff --git a/test/language/statements/class/async-gen-private-method-yield-as-identifier-reference-escaped.js b/test/language/statements/class/async-gen-private-method-yield-as-identifier-reference-escaped.js
index 734eaee519..b4ca742df1 100644
--- a/test/language/statements/class/async-gen-private-method-yield-as-identifier-reference-escaped.js
+++ b/test/language/statements/class/async-gen-private-method-yield-as-identifier-reference-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { async *#gen() {
diff --git a/test/language/statements/class/async-gen-private-method-yield-as-identifier-reference.js b/test/language/statements/class/async-gen-private-method-yield-as-identifier-reference.js
index 5d58620285..858378d153 100644
--- a/test/language/statements/class/async-gen-private-method-yield-as-identifier-reference.js
+++ b/test/language/statements/class/async-gen-private-method-yield-as-identifier-reference.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { async *#gen() {
diff --git a/test/language/statements/class/async-gen-private-method-yield-as-label-identifier-escaped.js b/test/language/statements/class/async-gen-private-method-yield-as-label-identifier-escaped.js
index 4118dd4ee8..b951d3a20d 100644
--- a/test/language/statements/class/async-gen-private-method-yield-as-label-identifier-escaped.js
+++ b/test/language/statements/class/async-gen-private-method-yield-as-label-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { async *#gen() {
diff --git a/test/language/statements/class/async-gen-private-method-yield-as-label-identifier.js b/test/language/statements/class/async-gen-private-method-yield-as-label-identifier.js
index 1df5909bd0..2b761f675d 100644
--- a/test/language/statements/class/async-gen-private-method-yield-as-label-identifier.js
+++ b/test/language/statements/class/async-gen-private-method-yield-as-label-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { async *#gen() {
diff --git a/test/language/statements/class/async-gen-private-method-yield-identifier-spread-strict.js b/test/language/statements/class/async-gen-private-method-yield-identifier-spread-strict.js
index 756d8f60eb..d25d9c4d39 100644
--- a/test/language/statements/class/async-gen-private-method-yield-identifier-spread-strict.js
+++ b/test/language/statements/class/async-gen-private-method-yield-identifier-spread-strict.js
@@ -29,7 +29,7 @@ info: |
       ...AssignmentExpression[In, ?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/async-gen-private-method-yield-identifier-strict.js b/test/language/statements/class/async-gen-private-method-yield-identifier-strict.js
index 7a355b0acd..2c0528686b 100644
--- a/test/language/statements/class/async-gen-private-method-yield-identifier-strict.js
+++ b/test/language/statements/class/async-gen-private-method-yield-identifier-strict.js
@@ -22,7 +22,7 @@ info: |
       async [no LineTerminator here] * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody }
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/async-meth-dflt-params-duplicates.js b/test/language/statements/class/async-meth-dflt-params-duplicates.js
index 7fb41df7ad..143350984c 100644
--- a/test/language/statements/class/async-meth-dflt-params-duplicates.js
+++ b/test/language/statements/class/async-meth-dflt-params-duplicates.js
@@ -54,7 +54,7 @@ info: |
       elements.
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C {
diff --git a/test/language/statements/class/async-meth-dflt-params-rest.js b/test/language/statements/class/async-meth-dflt-params-rest.js
index e193d220b4..954a7cc1ea 100644
--- a/test/language/statements/class/async-meth-dflt-params-rest.js
+++ b/test/language/statements/class/async-meth-dflt-params-rest.js
@@ -58,7 +58,7 @@ info: |
       ...BindingPattern[?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C {
diff --git a/test/language/statements/class/async-meth-escaped-async.js b/test/language/statements/class/async-meth-escaped-async.js
index 679acf517c..f14a43a024 100644
--- a/test/language/statements/class/async-meth-escaped-async.js
+++ b/test/language/statements/class/async-meth-escaped-async.js
@@ -19,7 +19,7 @@ negative:
 features: [async-functions]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
     \u0061sync m(){}
diff --git a/test/language/statements/class/async-meth-rest-params-trailing-comma-early-error.js b/test/language/statements/class/async-meth-rest-params-trailing-comma-early-error.js
index ad0de7e87a..d37fe3c402 100644
--- a/test/language/statements/class/async-meth-rest-params-trailing-comma-early-error.js
+++ b/test/language/statements/class/async-meth-rest-params-trailing-comma-early-error.js
@@ -50,7 +50,7 @@ info: |
         FormalParameterList[?Yield, ?Await] ,
         FormalParameterList[?Yield, ?Await] , FunctionRestParameter[?Yield, ?Await]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C {
diff --git a/test/language/statements/class/async-meth-static-dflt-params-duplicates.js b/test/language/statements/class/async-meth-static-dflt-params-duplicates.js
index 3062afcb79..27d2b26b0b 100644
--- a/test/language/statements/class/async-meth-static-dflt-params-duplicates.js
+++ b/test/language/statements/class/async-meth-static-dflt-params-duplicates.js
@@ -53,7 +53,7 @@ info: |
       elements.
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C {
diff --git a/test/language/statements/class/async-meth-static-dflt-params-rest.js b/test/language/statements/class/async-meth-static-dflt-params-rest.js
index 3edc1b53d2..e91aa731c6 100644
--- a/test/language/statements/class/async-meth-static-dflt-params-rest.js
+++ b/test/language/statements/class/async-meth-static-dflt-params-rest.js
@@ -57,7 +57,7 @@ info: |
       ...BindingPattern[?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C {
diff --git a/test/language/statements/class/async-meth-static-rest-params-trailing-comma-early-error.js b/test/language/statements/class/async-meth-static-rest-params-trailing-comma-early-error.js
index 2b7a8a13f6..0b46f99982 100644
--- a/test/language/statements/class/async-meth-static-rest-params-trailing-comma-early-error.js
+++ b/test/language/statements/class/async-meth-static-rest-params-trailing-comma-early-error.js
@@ -49,7 +49,7 @@ info: |
         FormalParameterList[?Yield, ?Await] ,
         FormalParameterList[?Yield, ?Await] , FunctionRestParameter[?Yield, ?Await]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C {
diff --git a/test/language/statements/class/async-method-await-as-binding-identifier-escaped.js b/test/language/statements/class/async-method-await-as-binding-identifier-escaped.js
index 1864ce5248..5542a1649e 100644
--- a/test/language/statements/class/async-method-await-as-binding-identifier-escaped.js
+++ b/test/language/statements/class/async-method-await-as-binding-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { async method() {
diff --git a/test/language/statements/class/async-method-await-as-binding-identifier.js b/test/language/statements/class/async-method-await-as-binding-identifier.js
index bebc6ebe96..27d98bfb6d 100644
--- a/test/language/statements/class/async-method-await-as-binding-identifier.js
+++ b/test/language/statements/class/async-method-await-as-binding-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { async method() {
diff --git a/test/language/statements/class/async-method-await-as-identifier-reference-escaped.js b/test/language/statements/class/async-method-await-as-identifier-reference-escaped.js
index b26d5a7c1c..eb8186647a 100644
--- a/test/language/statements/class/async-method-await-as-identifier-reference-escaped.js
+++ b/test/language/statements/class/async-method-await-as-identifier-reference-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { async method() {
diff --git a/test/language/statements/class/async-method-await-as-identifier-reference.js b/test/language/statements/class/async-method-await-as-identifier-reference.js
index a4c17e567b..5e6926a283 100644
--- a/test/language/statements/class/async-method-await-as-identifier-reference.js
+++ b/test/language/statements/class/async-method-await-as-identifier-reference.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { async method() {
diff --git a/test/language/statements/class/async-method-await-as-label-identifier-escaped.js b/test/language/statements/class/async-method-await-as-label-identifier-escaped.js
index 9bb8ece503..654b183ce7 100644
--- a/test/language/statements/class/async-method-await-as-label-identifier-escaped.js
+++ b/test/language/statements/class/async-method-await-as-label-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { async method() {
diff --git a/test/language/statements/class/async-method-await-as-label-identifier.js b/test/language/statements/class/async-method-await-as-label-identifier.js
index 2c13856ac9..ab3a0b32c1 100644
--- a/test/language/statements/class/async-method-await-as-label-identifier.js
+++ b/test/language/statements/class/async-method-await-as-label-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { async method() {
diff --git a/test/language/statements/class/async-method-static-await-as-binding-identifier-escaped.js b/test/language/statements/class/async-method-static-await-as-binding-identifier-escaped.js
index 776462925d..3eafe99fea 100644
--- a/test/language/statements/class/async-method-static-await-as-binding-identifier-escaped.js
+++ b/test/language/statements/class/async-method-static-await-as-binding-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { static async method() {
diff --git a/test/language/statements/class/async-method-static-await-as-binding-identifier.js b/test/language/statements/class/async-method-static-await-as-binding-identifier.js
index 8fd8fe53c0..ad65c02f60 100644
--- a/test/language/statements/class/async-method-static-await-as-binding-identifier.js
+++ b/test/language/statements/class/async-method-static-await-as-binding-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { static async method() {
diff --git a/test/language/statements/class/async-method-static-await-as-identifier-reference-escaped.js b/test/language/statements/class/async-method-static-await-as-identifier-reference-escaped.js
index 457fc232fb..f47204f83b 100644
--- a/test/language/statements/class/async-method-static-await-as-identifier-reference-escaped.js
+++ b/test/language/statements/class/async-method-static-await-as-identifier-reference-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { static async method() {
diff --git a/test/language/statements/class/async-method-static-await-as-identifier-reference.js b/test/language/statements/class/async-method-static-await-as-identifier-reference.js
index 5c7f823277..4013a35951 100644
--- a/test/language/statements/class/async-method-static-await-as-identifier-reference.js
+++ b/test/language/statements/class/async-method-static-await-as-identifier-reference.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { static async method() {
diff --git a/test/language/statements/class/async-method-static-await-as-label-identifier-escaped.js b/test/language/statements/class/async-method-static-await-as-label-identifier-escaped.js
index 44dac6085d..75b81f9f39 100644
--- a/test/language/statements/class/async-method-static-await-as-label-identifier-escaped.js
+++ b/test/language/statements/class/async-method-static-await-as-label-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { static async method() {
diff --git a/test/language/statements/class/async-method-static-await-as-label-identifier.js b/test/language/statements/class/async-method-static-await-as-label-identifier.js
index f97338c9d3..be628b1449 100644
--- a/test/language/statements/class/async-method-static-await-as-label-identifier.js
+++ b/test/language/statements/class/async-method-static-await-as-label-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { static async method() {
diff --git a/test/language/statements/class/async-private-method-await-as-binding-identifier-escaped.js b/test/language/statements/class/async-private-method-await-as-binding-identifier-escaped.js
index 07e0d484d5..2be243c897 100644
--- a/test/language/statements/class/async-private-method-await-as-binding-identifier-escaped.js
+++ b/test/language/statements/class/async-private-method-await-as-binding-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { async #method() {
diff --git a/test/language/statements/class/async-private-method-await-as-binding-identifier.js b/test/language/statements/class/async-private-method-await-as-binding-identifier.js
index 00964e33d7..3a62a0019c 100644
--- a/test/language/statements/class/async-private-method-await-as-binding-identifier.js
+++ b/test/language/statements/class/async-private-method-await-as-binding-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { async #method() {
diff --git a/test/language/statements/class/async-private-method-await-as-identifier-reference-escaped.js b/test/language/statements/class/async-private-method-await-as-identifier-reference-escaped.js
index 0770c691d4..edd259fed1 100644
--- a/test/language/statements/class/async-private-method-await-as-identifier-reference-escaped.js
+++ b/test/language/statements/class/async-private-method-await-as-identifier-reference-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { async #method() {
diff --git a/test/language/statements/class/async-private-method-await-as-identifier-reference.js b/test/language/statements/class/async-private-method-await-as-identifier-reference.js
index 61a5506e15..1bfa76d821 100644
--- a/test/language/statements/class/async-private-method-await-as-identifier-reference.js
+++ b/test/language/statements/class/async-private-method-await-as-identifier-reference.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { async #method() {
diff --git a/test/language/statements/class/async-private-method-await-as-label-identifier-escaped.js b/test/language/statements/class/async-private-method-await-as-label-identifier-escaped.js
index d685ae6b22..abb011bfb4 100644
--- a/test/language/statements/class/async-private-method-await-as-label-identifier-escaped.js
+++ b/test/language/statements/class/async-private-method-await-as-label-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { async #method() {
diff --git a/test/language/statements/class/async-private-method-await-as-label-identifier.js b/test/language/statements/class/async-private-method-await-as-label-identifier.js
index 0dd1200900..27a7deb59e 100644
--- a/test/language/statements/class/async-private-method-await-as-label-identifier.js
+++ b/test/language/statements/class/async-private-method-await-as-label-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { async #method() {
diff --git a/test/language/statements/class/async-private-method-static-await-as-binding-identifier-escaped.js b/test/language/statements/class/async-private-method-static-await-as-binding-identifier-escaped.js
index baa630e65f..093ff9c3a2 100644
--- a/test/language/statements/class/async-private-method-static-await-as-binding-identifier-escaped.js
+++ b/test/language/statements/class/async-private-method-static-await-as-binding-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { static async #method() {
diff --git a/test/language/statements/class/async-private-method-static-await-as-binding-identifier.js b/test/language/statements/class/async-private-method-static-await-as-binding-identifier.js
index cff0e24402..a6628fb527 100644
--- a/test/language/statements/class/async-private-method-static-await-as-binding-identifier.js
+++ b/test/language/statements/class/async-private-method-static-await-as-binding-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { static async #method() {
diff --git a/test/language/statements/class/async-private-method-static-await-as-identifier-reference-escaped.js b/test/language/statements/class/async-private-method-static-await-as-identifier-reference-escaped.js
index e8ff8d02c8..4e5f1c375b 100644
--- a/test/language/statements/class/async-private-method-static-await-as-identifier-reference-escaped.js
+++ b/test/language/statements/class/async-private-method-static-await-as-identifier-reference-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { static async #method() {
diff --git a/test/language/statements/class/async-private-method-static-await-as-identifier-reference.js b/test/language/statements/class/async-private-method-static-await-as-identifier-reference.js
index 6de3d74913..f6b58621d2 100644
--- a/test/language/statements/class/async-private-method-static-await-as-identifier-reference.js
+++ b/test/language/statements/class/async-private-method-static-await-as-identifier-reference.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { static async #method() {
diff --git a/test/language/statements/class/async-private-method-static-await-as-label-identifier-escaped.js b/test/language/statements/class/async-private-method-static-await-as-label-identifier-escaped.js
index 2eae7d949d..fb8bf6d56c 100644
--- a/test/language/statements/class/async-private-method-static-await-as-label-identifier-escaped.js
+++ b/test/language/statements/class/async-private-method-static-await-as-label-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { static async #method() {
diff --git a/test/language/statements/class/async-private-method-static-await-as-label-identifier.js b/test/language/statements/class/async-private-method-static-await-as-label-identifier.js
index c90b33963a..146e5a2655 100644
--- a/test/language/statements/class/async-private-method-static-await-as-label-identifier.js
+++ b/test/language/statements/class/async-private-method-static-await-as-label-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "await".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 class C { static async #method() {
diff --git a/test/language/statements/class/class-name-ident-await-escaped-module.js b/test/language/statements/class/class-name-ident-await-escaped-module.js
index 5c1eb1c465..de5fbc3994 100644
--- a/test/language/statements/class/class-name-ident-await-escaped-module.js
+++ b/test/language/statements/class/class-name-ident-await-escaped-module.js
@@ -18,6 +18,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class aw\u0061it {}
diff --git a/test/language/statements/class/class-name-ident-await-module.js b/test/language/statements/class/class-name-ident-await-module.js
index ec6af342ee..bf5fec7215 100644
--- a/test/language/statements/class/class-name-ident-await-module.js
+++ b/test/language/statements/class/class-name-ident-await-module.js
@@ -17,6 +17,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class await {}
diff --git a/test/language/statements/class/class-name-ident-let-escaped.js b/test/language/statements/class/class-name-ident-let-escaped.js
index eb54d47529..5b8200c743 100644
--- a/test/language/statements/class/class-name-ident-let-escaped.js
+++ b/test/language/statements/class/class-name-ident-let-escaped.js
@@ -22,6 +22,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class l\u0065t {}
diff --git a/test/language/statements/class/class-name-ident-let.js b/test/language/statements/class/class-name-ident-let.js
index 62da2542af..b5df0b08c9 100644
--- a/test/language/statements/class/class-name-ident-let.js
+++ b/test/language/statements/class/class-name-ident-let.js
@@ -22,6 +22,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class let {}
diff --git a/test/language/statements/class/class-name-ident-static-escaped.js b/test/language/statements/class/class-name-ident-static-escaped.js
index fe1e1e7960..7f32c743fe 100644
--- a/test/language/statements/class/class-name-ident-static-escaped.js
+++ b/test/language/statements/class/class-name-ident-static-escaped.js
@@ -22,6 +22,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class st\u0061tic {}
diff --git a/test/language/statements/class/class-name-ident-static.js b/test/language/statements/class/class-name-ident-static.js
index 43b7c9ca9b..f15c2be10b 100644
--- a/test/language/statements/class/class-name-ident-static.js
+++ b/test/language/statements/class/class-name-ident-static.js
@@ -22,6 +22,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class static {}
diff --git a/test/language/statements/class/class-name-ident-yield-escaped.js b/test/language/statements/class/class-name-ident-yield-escaped.js
index e2992b51d3..f286b729ec 100644
--- a/test/language/statements/class/class-name-ident-yield-escaped.js
+++ b/test/language/statements/class/class-name-ident-yield-escaped.js
@@ -22,6 +22,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class yi\u0065ld {}
diff --git a/test/language/statements/class/class-name-ident-yield.js b/test/language/statements/class/class-name-ident-yield.js
index 6ef5165992..6617221d51 100644
--- a/test/language/statements/class/class-name-ident-yield.js
+++ b/test/language/statements/class/class-name-ident-yield.js
@@ -20,6 +20,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class yield {}
diff --git a/test/language/statements/class/definition/early-errors-class-method-NSPL-with-USD.js b/test/language/statements/class/definition/early-errors-class-method-NSPL-with-USD.js
index 93849cec47..04fde72047 100644
--- a/test/language/statements/class/definition/early-errors-class-method-NSPL-with-USD.js
+++ b/test/language/statements/class/definition/early-errors-class-method-NSPL-with-USD.js
@@ -11,7 +11,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 class Foo {
   async bar(x = 1) {"use strict"}
 }
diff --git a/test/language/statements/class/definition/early-errors-class-method-arguments-in-formal-parameters.js b/test/language/statements/class/definition/early-errors-class-method-arguments-in-formal-parameters.js
index 1c2d3765fc..ac26114536 100644
--- a/test/language/statements/class/definition/early-errors-class-method-arguments-in-formal-parameters.js
+++ b/test/language/statements/class/definition/early-errors-class-method-arguments-in-formal-parameters.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 class Foo {
   async foo (arguments) { }
 }
diff --git a/test/language/statements/class/definition/early-errors-class-method-await-in-formals-default.js b/test/language/statements/class/definition/early-errors-class-method-await-in-formals-default.js
index 38076789a4..71fb66a11e 100644
--- a/test/language/statements/class/definition/early-errors-class-method-await-in-formals-default.js
+++ b/test/language/statements/class/definition/early-errors-class-method-await-in-formals-default.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 class Foo {
   async foo (x = await) {  }
 }
diff --git a/test/language/statements/class/definition/early-errors-class-method-await-in-formals.js b/test/language/statements/class/definition/early-errors-class-method-await-in-formals.js
index a9b15a3279..6f14e0a062 100644
--- a/test/language/statements/class/definition/early-errors-class-method-await-in-formals.js
+++ b/test/language/statements/class/definition/early-errors-class-method-await-in-formals.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 class Foo {
   async foo (await) {  }
 }
diff --git a/test/language/statements/class/definition/early-errors-class-method-body-contains-super-call.js b/test/language/statements/class/definition/early-errors-class-method-body-contains-super-call.js
index abe020e567..0af69879e2 100644
--- a/test/language/statements/class/definition/early-errors-class-method-body-contains-super-call.js
+++ b/test/language/statements/class/definition/early-errors-class-method-body-contains-super-call.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 class Foo {
   async foo () { super() }
 }
diff --git a/test/language/statements/class/definition/early-errors-class-method-duplicate-parameters.js b/test/language/statements/class/definition/early-errors-class-method-duplicate-parameters.js
index 26ff040a1a..022f873123 100644
--- a/test/language/statements/class/definition/early-errors-class-method-duplicate-parameters.js
+++ b/test/language/statements/class/definition/early-errors-class-method-duplicate-parameters.js
@@ -11,7 +11,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class Foo {
   async foo(a, a) { }
diff --git a/test/language/statements/class/definition/early-errors-class-method-eval-in-formal-parameters.js b/test/language/statements/class/definition/early-errors-class-method-eval-in-formal-parameters.js
index 1acf168c06..cd876c60fb 100644
--- a/test/language/statements/class/definition/early-errors-class-method-eval-in-formal-parameters.js
+++ b/test/language/statements/class/definition/early-errors-class-method-eval-in-formal-parameters.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 class Foo {
   async foo(eval) { }
 }
diff --git a/test/language/statements/class/definition/early-errors-class-method-formals-body-duplicate.js b/test/language/statements/class/definition/early-errors-class-method-formals-body-duplicate.js
index 656fd0972f..037ae975f6 100644
--- a/test/language/statements/class/definition/early-errors-class-method-formals-body-duplicate.js
+++ b/test/language/statements/class/definition/early-errors-class-method-formals-body-duplicate.js
@@ -11,7 +11,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class Foo {
   async function foo(bar) { let bar; }
diff --git a/test/language/statements/class/definition/early-errors-class-method-formals-contains-super-call.js b/test/language/statements/class/definition/early-errors-class-method-formals-contains-super-call.js
index d709c994f4..1b27562083 100644
--- a/test/language/statements/class/definition/early-errors-class-method-formals-contains-super-call.js
+++ b/test/language/statements/class/definition/early-errors-class-method-formals-contains-super-call.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 class Foo {
   async foo(foo = super()) { }
 }
diff --git a/test/language/statements/class/definition/methods-gen-yield-as-function-expression-binding-identifier.js b/test/language/statements/class/definition/methods-gen-yield-as-function-expression-binding-identifier.js
index 18f8c0b786..a7a9f190e8 100644
--- a/test/language/statements/class/definition/methods-gen-yield-as-function-expression-binding-identifier.js
+++ b/test/language/statements/class/definition/methods-gen-yield-as-function-expression-binding-identifier.js
@@ -12,7 +12,7 @@
     type: SyntaxError
  ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class A {
   *g() {
diff --git a/test/language/statements/class/definition/methods-gen-yield-as-identifier-in-nested-function.js b/test/language/statements/class/definition/methods-gen-yield-as-identifier-in-nested-function.js
index bad15fd70b..2674102084 100644
--- a/test/language/statements/class/definition/methods-gen-yield-as-identifier-in-nested-function.js
+++ b/test/language/statements/class/definition/methods-gen-yield-as-identifier-in-nested-function.js
@@ -12,7 +12,7 @@
     type: SyntaxError
  ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class A {
   *g() {
diff --git a/test/language/statements/class/definition/methods-gen-yield-as-logical-or-expression.js b/test/language/statements/class/definition/methods-gen-yield-as-logical-or-expression.js
index a7552ff5b0..8cb91c2642 100644
--- a/test/language/statements/class/definition/methods-gen-yield-as-logical-or-expression.js
+++ b/test/language/statements/class/definition/methods-gen-yield-as-logical-or-expression.js
@@ -11,7 +11,7 @@
     type: SyntaxError
  ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class A {
   *g() {
diff --git a/test/language/statements/class/definition/methods-gen-yield-as-parameter.js b/test/language/statements/class/definition/methods-gen-yield-as-parameter.js
index d6cc828c02..8d05b54aa9 100644
--- a/test/language/statements/class/definition/methods-gen-yield-as-parameter.js
+++ b/test/language/statements/class/definition/methods-gen-yield-as-parameter.js
@@ -12,7 +12,7 @@
     type: SyntaxError
  ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class A {
   *g(yield) {}
diff --git a/test/language/statements/class/definition/methods-gen-yield-star-after-newline.js b/test/language/statements/class/definition/methods-gen-yield-star-after-newline.js
index b84230a8e1..9ceccbf013 100644
--- a/test/language/statements/class/definition/methods-gen-yield-star-after-newline.js
+++ b/test/language/statements/class/definition/methods-gen-yield-star-after-newline.js
@@ -11,7 +11,7 @@
     type: SyntaxError
  ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class A {
   *g() {
diff --git a/test/language/statements/class/definition/methods-gen-yield-weak-binding.js b/test/language/statements/class/definition/methods-gen-yield-weak-binding.js
index 20fd353999..9718fabb96 100644
--- a/test/language/statements/class/definition/methods-gen-yield-weak-binding.js
+++ b/test/language/statements/class/definition/methods-gen-yield-weak-binding.js
@@ -11,7 +11,7 @@
     type: SyntaxError
  ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class A {
   *g() { yield 3 + yield 4; }
diff --git a/test/language/statements/class/dstr-async-gen-meth-ary-ptrn-rest-init-ary.js b/test/language/statements/class/dstr-async-gen-meth-ary-ptrn-rest-init-ary.js
index 5840d6d573..87af46c2a3 100644
--- a/test/language/statements/class/dstr-async-gen-meth-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/class/dstr-async-gen-meth-ary-ptrn-rest-init-ary.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/dstr-async-gen-meth-ary-ptrn-rest-init-id.js b/test/language/statements/class/dstr-async-gen-meth-ary-ptrn-rest-init-id.js
index 1cabe42110..ca8a76b67c 100644
--- a/test/language/statements/class/dstr-async-gen-meth-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/class/dstr-async-gen-meth-ary-ptrn-rest-init-id.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/dstr-async-gen-meth-ary-ptrn-rest-init-obj.js b/test/language/statements/class/dstr-async-gen-meth-ary-ptrn-rest-init-obj.js
index 7252881c4c..594bb08c9e 100644
--- a/test/language/statements/class/dstr-async-gen-meth-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/class/dstr-async-gen-meth-ary-ptrn-rest-init-obj.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/dstr-async-gen-meth-ary-ptrn-rest-not-final-ary.js b/test/language/statements/class/dstr-async-gen-meth-ary-ptrn-rest-not-final-ary.js
index 0c4c7bf4b5..fad6f2f493 100644
--- a/test/language/statements/class/dstr-async-gen-meth-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/class/dstr-async-gen-meth-ary-ptrn-rest-not-final-ary.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/dstr-async-gen-meth-ary-ptrn-rest-not-final-id.js b/test/language/statements/class/dstr-async-gen-meth-ary-ptrn-rest-not-final-id.js
index 93a87461b4..06e6327dee 100644
--- a/test/language/statements/class/dstr-async-gen-meth-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/class/dstr-async-gen-meth-ary-ptrn-rest-not-final-id.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/dstr-async-gen-meth-ary-ptrn-rest-not-final-obj.js b/test/language/statements/class/dstr-async-gen-meth-ary-ptrn-rest-not-final-obj.js
index aafa907135..e498ee291b 100644
--- a/test/language/statements/class/dstr-async-gen-meth-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/class/dstr-async-gen-meth-ary-ptrn-rest-not-final-obj.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/dstr-async-gen-meth-dflt-ary-ptrn-rest-init-ary.js b/test/language/statements/class/dstr-async-gen-meth-dflt-ary-ptrn-rest-init-ary.js
index 5a0acd3fba..69122b654e 100644
--- a/test/language/statements/class/dstr-async-gen-meth-dflt-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/class/dstr-async-gen-meth-dflt-ary-ptrn-rest-init-ary.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/dstr-async-gen-meth-dflt-ary-ptrn-rest-init-id.js b/test/language/statements/class/dstr-async-gen-meth-dflt-ary-ptrn-rest-init-id.js
index 92a18bb332..29be4d85b4 100644
--- a/test/language/statements/class/dstr-async-gen-meth-dflt-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/class/dstr-async-gen-meth-dflt-ary-ptrn-rest-init-id.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/dstr-async-gen-meth-dflt-ary-ptrn-rest-init-obj.js b/test/language/statements/class/dstr-async-gen-meth-dflt-ary-ptrn-rest-init-obj.js
index 09fc18a133..5b9cee64e6 100644
--- a/test/language/statements/class/dstr-async-gen-meth-dflt-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/class/dstr-async-gen-meth-dflt-ary-ptrn-rest-init-obj.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/dstr-async-gen-meth-dflt-ary-ptrn-rest-not-final-ary.js b/test/language/statements/class/dstr-async-gen-meth-dflt-ary-ptrn-rest-not-final-ary.js
index 5a77aeeb60..1804eacca8 100644
--- a/test/language/statements/class/dstr-async-gen-meth-dflt-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/class/dstr-async-gen-meth-dflt-ary-ptrn-rest-not-final-ary.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/dstr-async-gen-meth-dflt-ary-ptrn-rest-not-final-id.js b/test/language/statements/class/dstr-async-gen-meth-dflt-ary-ptrn-rest-not-final-id.js
index a33f683052..f2ad9fa735 100644
--- a/test/language/statements/class/dstr-async-gen-meth-dflt-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/class/dstr-async-gen-meth-dflt-ary-ptrn-rest-not-final-id.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/dstr-async-gen-meth-dflt-ary-ptrn-rest-not-final-obj.js b/test/language/statements/class/dstr-async-gen-meth-dflt-ary-ptrn-rest-not-final-obj.js
index 1522101441..303b62103e 100644
--- a/test/language/statements/class/dstr-async-gen-meth-dflt-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/class/dstr-async-gen-meth-dflt-ary-ptrn-rest-not-final-obj.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/dstr-async-gen-meth-static-ary-ptrn-rest-init-ary.js b/test/language/statements/class/dstr-async-gen-meth-static-ary-ptrn-rest-init-ary.js
index 99c7a0797d..348fa2eba0 100644
--- a/test/language/statements/class/dstr-async-gen-meth-static-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/class/dstr-async-gen-meth-static-ary-ptrn-rest-init-ary.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/dstr-async-gen-meth-static-ary-ptrn-rest-init-id.js b/test/language/statements/class/dstr-async-gen-meth-static-ary-ptrn-rest-init-id.js
index 9deb4a2192..b61ba72a7e 100644
--- a/test/language/statements/class/dstr-async-gen-meth-static-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/class/dstr-async-gen-meth-static-ary-ptrn-rest-init-id.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/dstr-async-gen-meth-static-ary-ptrn-rest-init-obj.js b/test/language/statements/class/dstr-async-gen-meth-static-ary-ptrn-rest-init-obj.js
index 6900d1906e..88895c3719 100644
--- a/test/language/statements/class/dstr-async-gen-meth-static-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/class/dstr-async-gen-meth-static-ary-ptrn-rest-init-obj.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/dstr-async-gen-meth-static-ary-ptrn-rest-not-final-ary.js b/test/language/statements/class/dstr-async-gen-meth-static-ary-ptrn-rest-not-final-ary.js
index dc6ce0edd3..4170f0e1fb 100644
--- a/test/language/statements/class/dstr-async-gen-meth-static-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/class/dstr-async-gen-meth-static-ary-ptrn-rest-not-final-ary.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/dstr-async-gen-meth-static-ary-ptrn-rest-not-final-id.js b/test/language/statements/class/dstr-async-gen-meth-static-ary-ptrn-rest-not-final-id.js
index 6f60f07474..29c283814b 100644
--- a/test/language/statements/class/dstr-async-gen-meth-static-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/class/dstr-async-gen-meth-static-ary-ptrn-rest-not-final-id.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/dstr-async-gen-meth-static-ary-ptrn-rest-not-final-obj.js b/test/language/statements/class/dstr-async-gen-meth-static-ary-ptrn-rest-not-final-obj.js
index 9fe80e7da9..758a5c66fb 100644
--- a/test/language/statements/class/dstr-async-gen-meth-static-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/class/dstr-async-gen-meth-static-ary-ptrn-rest-not-final-obj.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/dstr-async-gen-meth-static-dflt-ary-ptrn-rest-init-ary.js b/test/language/statements/class/dstr-async-gen-meth-static-dflt-ary-ptrn-rest-init-ary.js
index 8ccaddb12a..8866c9ec8e 100644
--- a/test/language/statements/class/dstr-async-gen-meth-static-dflt-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/class/dstr-async-gen-meth-static-dflt-ary-ptrn-rest-init-ary.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/dstr-async-gen-meth-static-dflt-ary-ptrn-rest-init-id.js b/test/language/statements/class/dstr-async-gen-meth-static-dflt-ary-ptrn-rest-init-id.js
index ba25efdfa5..4751a69619 100644
--- a/test/language/statements/class/dstr-async-gen-meth-static-dflt-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/class/dstr-async-gen-meth-static-dflt-ary-ptrn-rest-init-id.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/dstr-async-gen-meth-static-dflt-ary-ptrn-rest-init-obj.js b/test/language/statements/class/dstr-async-gen-meth-static-dflt-ary-ptrn-rest-init-obj.js
index e3313ffb6c..e80852df9c 100644
--- a/test/language/statements/class/dstr-async-gen-meth-static-dflt-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/class/dstr-async-gen-meth-static-dflt-ary-ptrn-rest-init-obj.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/dstr-async-gen-meth-static-dflt-ary-ptrn-rest-not-final-ary.js b/test/language/statements/class/dstr-async-gen-meth-static-dflt-ary-ptrn-rest-not-final-ary.js
index 6b8d219720..a421645d2e 100644
--- a/test/language/statements/class/dstr-async-gen-meth-static-dflt-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/class/dstr-async-gen-meth-static-dflt-ary-ptrn-rest-not-final-ary.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/dstr-async-gen-meth-static-dflt-ary-ptrn-rest-not-final-id.js b/test/language/statements/class/dstr-async-gen-meth-static-dflt-ary-ptrn-rest-not-final-id.js
index 0a16db4710..6223158ecb 100644
--- a/test/language/statements/class/dstr-async-gen-meth-static-dflt-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/class/dstr-async-gen-meth-static-dflt-ary-ptrn-rest-not-final-id.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/dstr-async-gen-meth-static-dflt-ary-ptrn-rest-not-final-obj.js b/test/language/statements/class/dstr-async-gen-meth-static-dflt-ary-ptrn-rest-not-final-obj.js
index 11cc9fa20b..8f3213bfaf 100644
--- a/test/language/statements/class/dstr-async-gen-meth-static-dflt-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/class/dstr-async-gen-meth-static-dflt-ary-ptrn-rest-not-final-obj.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/dstr-async-private-gen-meth-ary-ptrn-rest-init-ary.js b/test/language/statements/class/dstr-async-private-gen-meth-ary-ptrn-rest-init-ary.js
index aaa0938c60..1d987b2739 100644
--- a/test/language/statements/class/dstr-async-private-gen-meth-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/class/dstr-async-private-gen-meth-ary-ptrn-rest-init-ary.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/dstr-async-private-gen-meth-ary-ptrn-rest-init-id.js b/test/language/statements/class/dstr-async-private-gen-meth-ary-ptrn-rest-init-id.js
index 6d33f21bdf..a90b6d51a1 100644
--- a/test/language/statements/class/dstr-async-private-gen-meth-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/class/dstr-async-private-gen-meth-ary-ptrn-rest-init-id.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/dstr-async-private-gen-meth-ary-ptrn-rest-init-obj.js b/test/language/statements/class/dstr-async-private-gen-meth-ary-ptrn-rest-init-obj.js
index ddedf1efa3..8427951e5a 100644
--- a/test/language/statements/class/dstr-async-private-gen-meth-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/class/dstr-async-private-gen-meth-ary-ptrn-rest-init-obj.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/dstr-async-private-gen-meth-ary-ptrn-rest-not-final-ary.js b/test/language/statements/class/dstr-async-private-gen-meth-ary-ptrn-rest-not-final-ary.js
index bbea6b008b..20ab3f25ff 100644
--- a/test/language/statements/class/dstr-async-private-gen-meth-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/class/dstr-async-private-gen-meth-ary-ptrn-rest-not-final-ary.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/dstr-async-private-gen-meth-ary-ptrn-rest-not-final-id.js b/test/language/statements/class/dstr-async-private-gen-meth-ary-ptrn-rest-not-final-id.js
index 212e873e42..9ae8ddbe98 100644
--- a/test/language/statements/class/dstr-async-private-gen-meth-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/class/dstr-async-private-gen-meth-ary-ptrn-rest-not-final-id.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/dstr-async-private-gen-meth-ary-ptrn-rest-not-final-obj.js b/test/language/statements/class/dstr-async-private-gen-meth-ary-ptrn-rest-not-final-obj.js
index 766de4c342..da15408611 100644
--- a/test/language/statements/class/dstr-async-private-gen-meth-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/class/dstr-async-private-gen-meth-ary-ptrn-rest-not-final-obj.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/dstr-async-private-gen-meth-dflt-ary-ptrn-rest-init-ary.js b/test/language/statements/class/dstr-async-private-gen-meth-dflt-ary-ptrn-rest-init-ary.js
index 1d8edfd7a5..f5fd0e7715 100644
--- a/test/language/statements/class/dstr-async-private-gen-meth-dflt-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/class/dstr-async-private-gen-meth-dflt-ary-ptrn-rest-init-ary.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/dstr-async-private-gen-meth-dflt-ary-ptrn-rest-init-id.js b/test/language/statements/class/dstr-async-private-gen-meth-dflt-ary-ptrn-rest-init-id.js
index f9f8fef21f..831574426a 100644
--- a/test/language/statements/class/dstr-async-private-gen-meth-dflt-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/class/dstr-async-private-gen-meth-dflt-ary-ptrn-rest-init-id.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/dstr-async-private-gen-meth-dflt-ary-ptrn-rest-init-obj.js b/test/language/statements/class/dstr-async-private-gen-meth-dflt-ary-ptrn-rest-init-obj.js
index 4bab08805d..20dc97714d 100644
--- a/test/language/statements/class/dstr-async-private-gen-meth-dflt-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/class/dstr-async-private-gen-meth-dflt-ary-ptrn-rest-init-obj.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/dstr-async-private-gen-meth-dflt-ary-ptrn-rest-not-final-ary.js b/test/language/statements/class/dstr-async-private-gen-meth-dflt-ary-ptrn-rest-not-final-ary.js
index be5af3e1d1..d56837d123 100644
--- a/test/language/statements/class/dstr-async-private-gen-meth-dflt-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/class/dstr-async-private-gen-meth-dflt-ary-ptrn-rest-not-final-ary.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/dstr-async-private-gen-meth-dflt-ary-ptrn-rest-not-final-id.js b/test/language/statements/class/dstr-async-private-gen-meth-dflt-ary-ptrn-rest-not-final-id.js
index ff33eb7f51..9fefdda25b 100644
--- a/test/language/statements/class/dstr-async-private-gen-meth-dflt-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/class/dstr-async-private-gen-meth-dflt-ary-ptrn-rest-not-final-id.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/dstr-async-private-gen-meth-dflt-ary-ptrn-rest-not-final-obj.js b/test/language/statements/class/dstr-async-private-gen-meth-dflt-ary-ptrn-rest-not-final-obj.js
index 98e473dbcb..ff3c13bd7e 100644
--- a/test/language/statements/class/dstr-async-private-gen-meth-dflt-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/class/dstr-async-private-gen-meth-dflt-ary-ptrn-rest-not-final-obj.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/dstr-async-private-gen-meth-static-ary-ptrn-rest-init-ary.js b/test/language/statements/class/dstr-async-private-gen-meth-static-ary-ptrn-rest-init-ary.js
index 6aaeb90f9e..f7e2cf5107 100644
--- a/test/language/statements/class/dstr-async-private-gen-meth-static-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/class/dstr-async-private-gen-meth-static-ary-ptrn-rest-init-ary.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/dstr-async-private-gen-meth-static-ary-ptrn-rest-init-id.js b/test/language/statements/class/dstr-async-private-gen-meth-static-ary-ptrn-rest-init-id.js
index 271a900b17..f4720c982e 100644
--- a/test/language/statements/class/dstr-async-private-gen-meth-static-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/class/dstr-async-private-gen-meth-static-ary-ptrn-rest-init-id.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/dstr-async-private-gen-meth-static-ary-ptrn-rest-init-obj.js b/test/language/statements/class/dstr-async-private-gen-meth-static-ary-ptrn-rest-init-obj.js
index 0867fadd14..170f8c6fcb 100644
--- a/test/language/statements/class/dstr-async-private-gen-meth-static-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/class/dstr-async-private-gen-meth-static-ary-ptrn-rest-init-obj.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/dstr-async-private-gen-meth-static-ary-ptrn-rest-not-final-ary.js b/test/language/statements/class/dstr-async-private-gen-meth-static-ary-ptrn-rest-not-final-ary.js
index 951c1b6459..8962a5b97d 100644
--- a/test/language/statements/class/dstr-async-private-gen-meth-static-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/class/dstr-async-private-gen-meth-static-ary-ptrn-rest-not-final-ary.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/dstr-async-private-gen-meth-static-ary-ptrn-rest-not-final-id.js b/test/language/statements/class/dstr-async-private-gen-meth-static-ary-ptrn-rest-not-final-id.js
index aeb4787dbf..b1f32ca59f 100644
--- a/test/language/statements/class/dstr-async-private-gen-meth-static-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/class/dstr-async-private-gen-meth-static-ary-ptrn-rest-not-final-id.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/dstr-async-private-gen-meth-static-ary-ptrn-rest-not-final-obj.js b/test/language/statements/class/dstr-async-private-gen-meth-static-ary-ptrn-rest-not-final-obj.js
index 9de9dffa60..f4216774bc 100644
--- a/test/language/statements/class/dstr-async-private-gen-meth-static-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/class/dstr-async-private-gen-meth-static-ary-ptrn-rest-not-final-obj.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/dstr-async-private-gen-meth-static-dflt-ary-ptrn-rest-init-ary.js b/test/language/statements/class/dstr-async-private-gen-meth-static-dflt-ary-ptrn-rest-init-ary.js
index 1b94546c90..a163fcd1cc 100644
--- a/test/language/statements/class/dstr-async-private-gen-meth-static-dflt-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/class/dstr-async-private-gen-meth-static-dflt-ary-ptrn-rest-init-ary.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/dstr-async-private-gen-meth-static-dflt-ary-ptrn-rest-init-id.js b/test/language/statements/class/dstr-async-private-gen-meth-static-dflt-ary-ptrn-rest-init-id.js
index c3bbe8e9ad..0efaf5ca2a 100644
--- a/test/language/statements/class/dstr-async-private-gen-meth-static-dflt-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/class/dstr-async-private-gen-meth-static-dflt-ary-ptrn-rest-init-id.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/dstr-async-private-gen-meth-static-dflt-ary-ptrn-rest-init-obj.js b/test/language/statements/class/dstr-async-private-gen-meth-static-dflt-ary-ptrn-rest-init-obj.js
index b9c65922fb..cd8649acbd 100644
--- a/test/language/statements/class/dstr-async-private-gen-meth-static-dflt-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/class/dstr-async-private-gen-meth-static-dflt-ary-ptrn-rest-init-obj.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/dstr-async-private-gen-meth-static-dflt-ary-ptrn-rest-not-final-ary.js b/test/language/statements/class/dstr-async-private-gen-meth-static-dflt-ary-ptrn-rest-not-final-ary.js
index c338aab3d5..b2fe5ee81d 100644
--- a/test/language/statements/class/dstr-async-private-gen-meth-static-dflt-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/class/dstr-async-private-gen-meth-static-dflt-ary-ptrn-rest-not-final-ary.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/dstr-async-private-gen-meth-static-dflt-ary-ptrn-rest-not-final-id.js b/test/language/statements/class/dstr-async-private-gen-meth-static-dflt-ary-ptrn-rest-not-final-id.js
index 5a64a56766..fa9f6d7011 100644
--- a/test/language/statements/class/dstr-async-private-gen-meth-static-dflt-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/class/dstr-async-private-gen-meth-static-dflt-ary-ptrn-rest-not-final-id.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/dstr-async-private-gen-meth-static-dflt-ary-ptrn-rest-not-final-obj.js b/test/language/statements/class/dstr-async-private-gen-meth-static-dflt-ary-ptrn-rest-not-final-obj.js
index 72b59a47ea..a874317486 100644
--- a/test/language/statements/class/dstr-async-private-gen-meth-static-dflt-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/class/dstr-async-private-gen-meth-static-dflt-ary-ptrn-rest-not-final-obj.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 var callCount = 0;
diff --git a/test/language/statements/class/dstr-gen-meth-ary-ptrn-rest-init-ary.js b/test/language/statements/class/dstr-gen-meth-ary-ptrn-rest-init-ary.js
index d0bc667eb2..9e653041dd 100644
--- a/test/language/statements/class/dstr-gen-meth-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/class/dstr-gen-meth-ary-ptrn-rest-init-ary.js
@@ -68,7 +68,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-gen-meth-ary-ptrn-rest-init-id.js b/test/language/statements/class/dstr-gen-meth-ary-ptrn-rest-init-id.js
index a207368936..6be76be8e6 100644
--- a/test/language/statements/class/dstr-gen-meth-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/class/dstr-gen-meth-ary-ptrn-rest-init-id.js
@@ -68,7 +68,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-gen-meth-ary-ptrn-rest-init-obj.js b/test/language/statements/class/dstr-gen-meth-ary-ptrn-rest-init-obj.js
index c8e4975ff6..1b9dfb117d 100644
--- a/test/language/statements/class/dstr-gen-meth-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/class/dstr-gen-meth-ary-ptrn-rest-init-obj.js
@@ -68,7 +68,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-gen-meth-ary-ptrn-rest-not-final-ary.js b/test/language/statements/class/dstr-gen-meth-ary-ptrn-rest-not-final-ary.js
index 5e558a882e..16e4cee0e3 100644
--- a/test/language/statements/class/dstr-gen-meth-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/class/dstr-gen-meth-ary-ptrn-rest-not-final-ary.js
@@ -68,7 +68,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-gen-meth-ary-ptrn-rest-not-final-id.js b/test/language/statements/class/dstr-gen-meth-ary-ptrn-rest-not-final-id.js
index 6129e0c498..fa0634a5c3 100644
--- a/test/language/statements/class/dstr-gen-meth-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/class/dstr-gen-meth-ary-ptrn-rest-not-final-id.js
@@ -68,7 +68,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-gen-meth-ary-ptrn-rest-not-final-obj.js b/test/language/statements/class/dstr-gen-meth-ary-ptrn-rest-not-final-obj.js
index 588f44a878..49eaaf1c29 100644
--- a/test/language/statements/class/dstr-gen-meth-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/class/dstr-gen-meth-ary-ptrn-rest-not-final-obj.js
@@ -68,7 +68,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-gen-meth-dflt-ary-ptrn-rest-init-ary.js b/test/language/statements/class/dstr-gen-meth-dflt-ary-ptrn-rest-init-ary.js
index af72d02140..07776cfe9e 100644
--- a/test/language/statements/class/dstr-gen-meth-dflt-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/class/dstr-gen-meth-dflt-ary-ptrn-rest-init-ary.js
@@ -68,7 +68,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-gen-meth-dflt-ary-ptrn-rest-init-id.js b/test/language/statements/class/dstr-gen-meth-dflt-ary-ptrn-rest-init-id.js
index f90a0558e9..c77e2e9a89 100644
--- a/test/language/statements/class/dstr-gen-meth-dflt-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/class/dstr-gen-meth-dflt-ary-ptrn-rest-init-id.js
@@ -68,7 +68,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-gen-meth-dflt-ary-ptrn-rest-init-obj.js b/test/language/statements/class/dstr-gen-meth-dflt-ary-ptrn-rest-init-obj.js
index 47c6728d73..868cf5ffe2 100644
--- a/test/language/statements/class/dstr-gen-meth-dflt-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/class/dstr-gen-meth-dflt-ary-ptrn-rest-init-obj.js
@@ -68,7 +68,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-gen-meth-dflt-ary-ptrn-rest-not-final-ary.js b/test/language/statements/class/dstr-gen-meth-dflt-ary-ptrn-rest-not-final-ary.js
index 6e059ce32c..d4b2982345 100644
--- a/test/language/statements/class/dstr-gen-meth-dflt-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/class/dstr-gen-meth-dflt-ary-ptrn-rest-not-final-ary.js
@@ -68,7 +68,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-gen-meth-dflt-ary-ptrn-rest-not-final-id.js b/test/language/statements/class/dstr-gen-meth-dflt-ary-ptrn-rest-not-final-id.js
index 29cc0d5808..e628cf563f 100644
--- a/test/language/statements/class/dstr-gen-meth-dflt-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/class/dstr-gen-meth-dflt-ary-ptrn-rest-not-final-id.js
@@ -68,7 +68,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-gen-meth-dflt-ary-ptrn-rest-not-final-obj.js b/test/language/statements/class/dstr-gen-meth-dflt-ary-ptrn-rest-not-final-obj.js
index 68c1ea0fd3..0cf43096af 100644
--- a/test/language/statements/class/dstr-gen-meth-dflt-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/class/dstr-gen-meth-dflt-ary-ptrn-rest-not-final-obj.js
@@ -68,7 +68,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-gen-meth-static-ary-ptrn-rest-init-ary.js b/test/language/statements/class/dstr-gen-meth-static-ary-ptrn-rest-init-ary.js
index 0d64df79a9..dca90da53c 100644
--- a/test/language/statements/class/dstr-gen-meth-static-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/class/dstr-gen-meth-static-ary-ptrn-rest-init-ary.js
@@ -68,7 +68,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-gen-meth-static-ary-ptrn-rest-init-id.js b/test/language/statements/class/dstr-gen-meth-static-ary-ptrn-rest-init-id.js
index 3bb56165d8..354f33c8f8 100644
--- a/test/language/statements/class/dstr-gen-meth-static-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/class/dstr-gen-meth-static-ary-ptrn-rest-init-id.js
@@ -68,7 +68,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-gen-meth-static-ary-ptrn-rest-init-obj.js b/test/language/statements/class/dstr-gen-meth-static-ary-ptrn-rest-init-obj.js
index 33845fab08..2b1f39f7e0 100644
--- a/test/language/statements/class/dstr-gen-meth-static-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/class/dstr-gen-meth-static-ary-ptrn-rest-init-obj.js
@@ -68,7 +68,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-gen-meth-static-ary-ptrn-rest-not-final-ary.js b/test/language/statements/class/dstr-gen-meth-static-ary-ptrn-rest-not-final-ary.js
index 9745359d6f..5669c1c27c 100644
--- a/test/language/statements/class/dstr-gen-meth-static-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/class/dstr-gen-meth-static-ary-ptrn-rest-not-final-ary.js
@@ -68,7 +68,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-gen-meth-static-ary-ptrn-rest-not-final-id.js b/test/language/statements/class/dstr-gen-meth-static-ary-ptrn-rest-not-final-id.js
index 8e8dcd2b99..4043469048 100644
--- a/test/language/statements/class/dstr-gen-meth-static-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/class/dstr-gen-meth-static-ary-ptrn-rest-not-final-id.js
@@ -68,7 +68,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-gen-meth-static-ary-ptrn-rest-not-final-obj.js b/test/language/statements/class/dstr-gen-meth-static-ary-ptrn-rest-not-final-obj.js
index d8a4bf1438..d1aead4950 100644
--- a/test/language/statements/class/dstr-gen-meth-static-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/class/dstr-gen-meth-static-ary-ptrn-rest-not-final-obj.js
@@ -68,7 +68,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-init-ary.js b/test/language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-init-ary.js
index 775dd5c2d0..6f85a12ef9 100644
--- a/test/language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-init-ary.js
@@ -68,7 +68,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-init-id.js b/test/language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-init-id.js
index 04cc0bdb5d..1f0666192d 100644
--- a/test/language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-init-id.js
@@ -68,7 +68,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-init-obj.js b/test/language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-init-obj.js
index 89fa8eba32..942b724f4e 100644
--- a/test/language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-init-obj.js
@@ -68,7 +68,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-not-final-ary.js b/test/language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-not-final-ary.js
index 865bc3d036..66bccac42e 100644
--- a/test/language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-not-final-ary.js
@@ -68,7 +68,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-not-final-id.js b/test/language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-not-final-id.js
index 657948cb2e..1a62b6d777 100644
--- a/test/language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-not-final-id.js
@@ -68,7 +68,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-not-final-obj.js b/test/language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-not-final-obj.js
index 02b105fa1c..b86e7558b6 100644
--- a/test/language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/class/dstr-gen-meth-static-dflt-ary-ptrn-rest-not-final-obj.js
@@ -68,7 +68,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-meth-ary-ptrn-rest-init-ary.js b/test/language/statements/class/dstr-meth-ary-ptrn-rest-init-ary.js
index c12b3a5927..2e5f2649c0 100644
--- a/test/language/statements/class/dstr-meth-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/class/dstr-meth-ary-ptrn-rest-init-ary.js
@@ -66,7 +66,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-meth-ary-ptrn-rest-init-id.js b/test/language/statements/class/dstr-meth-ary-ptrn-rest-init-id.js
index ef5d8e8d0c..b981702b7c 100644
--- a/test/language/statements/class/dstr-meth-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/class/dstr-meth-ary-ptrn-rest-init-id.js
@@ -66,7 +66,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-meth-ary-ptrn-rest-init-obj.js b/test/language/statements/class/dstr-meth-ary-ptrn-rest-init-obj.js
index 0b94af4feb..cf92982fd6 100644
--- a/test/language/statements/class/dstr-meth-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/class/dstr-meth-ary-ptrn-rest-init-obj.js
@@ -66,7 +66,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-meth-ary-ptrn-rest-not-final-ary.js b/test/language/statements/class/dstr-meth-ary-ptrn-rest-not-final-ary.js
index e2b70efd25..9b21cab758 100644
--- a/test/language/statements/class/dstr-meth-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/class/dstr-meth-ary-ptrn-rest-not-final-ary.js
@@ -66,7 +66,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-meth-ary-ptrn-rest-not-final-id.js b/test/language/statements/class/dstr-meth-ary-ptrn-rest-not-final-id.js
index d259787681..7a5d641671 100644
--- a/test/language/statements/class/dstr-meth-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/class/dstr-meth-ary-ptrn-rest-not-final-id.js
@@ -66,7 +66,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-meth-ary-ptrn-rest-not-final-obj.js b/test/language/statements/class/dstr-meth-ary-ptrn-rest-not-final-obj.js
index 04d77b605f..1827993df6 100644
--- a/test/language/statements/class/dstr-meth-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/class/dstr-meth-ary-ptrn-rest-not-final-obj.js
@@ -66,7 +66,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-meth-dflt-ary-ptrn-rest-init-ary.js b/test/language/statements/class/dstr-meth-dflt-ary-ptrn-rest-init-ary.js
index 778bc506f0..552fe363ad 100644
--- a/test/language/statements/class/dstr-meth-dflt-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/class/dstr-meth-dflt-ary-ptrn-rest-init-ary.js
@@ -66,7 +66,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-meth-dflt-ary-ptrn-rest-init-id.js b/test/language/statements/class/dstr-meth-dflt-ary-ptrn-rest-init-id.js
index 20d9ebe372..ea30a988b3 100644
--- a/test/language/statements/class/dstr-meth-dflt-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/class/dstr-meth-dflt-ary-ptrn-rest-init-id.js
@@ -66,7 +66,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-meth-dflt-ary-ptrn-rest-init-obj.js b/test/language/statements/class/dstr-meth-dflt-ary-ptrn-rest-init-obj.js
index 8825c07119..a223e1543c 100644
--- a/test/language/statements/class/dstr-meth-dflt-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/class/dstr-meth-dflt-ary-ptrn-rest-init-obj.js
@@ -66,7 +66,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-meth-dflt-ary-ptrn-rest-not-final-ary.js b/test/language/statements/class/dstr-meth-dflt-ary-ptrn-rest-not-final-ary.js
index 4534881eaa..6eb495d566 100644
--- a/test/language/statements/class/dstr-meth-dflt-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/class/dstr-meth-dflt-ary-ptrn-rest-not-final-ary.js
@@ -66,7 +66,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-meth-dflt-ary-ptrn-rest-not-final-id.js b/test/language/statements/class/dstr-meth-dflt-ary-ptrn-rest-not-final-id.js
index 5e81a63e0b..29e7fa0fc6 100644
--- a/test/language/statements/class/dstr-meth-dflt-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/class/dstr-meth-dflt-ary-ptrn-rest-not-final-id.js
@@ -66,7 +66,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-meth-dflt-ary-ptrn-rest-not-final-obj.js b/test/language/statements/class/dstr-meth-dflt-ary-ptrn-rest-not-final-obj.js
index 94fc90566f..007970d151 100644
--- a/test/language/statements/class/dstr-meth-dflt-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/class/dstr-meth-dflt-ary-ptrn-rest-not-final-obj.js
@@ -66,7 +66,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-meth-static-ary-ptrn-rest-init-ary.js b/test/language/statements/class/dstr-meth-static-ary-ptrn-rest-init-ary.js
index 8a761b0047..2000590367 100644
--- a/test/language/statements/class/dstr-meth-static-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/class/dstr-meth-static-ary-ptrn-rest-init-ary.js
@@ -66,7 +66,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-meth-static-ary-ptrn-rest-init-id.js b/test/language/statements/class/dstr-meth-static-ary-ptrn-rest-init-id.js
index ec5127ef91..c1ff228509 100644
--- a/test/language/statements/class/dstr-meth-static-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/class/dstr-meth-static-ary-ptrn-rest-init-id.js
@@ -66,7 +66,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-meth-static-ary-ptrn-rest-init-obj.js b/test/language/statements/class/dstr-meth-static-ary-ptrn-rest-init-obj.js
index 3f0d2eae3f..7a680744b1 100644
--- a/test/language/statements/class/dstr-meth-static-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/class/dstr-meth-static-ary-ptrn-rest-init-obj.js
@@ -66,7 +66,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-meth-static-ary-ptrn-rest-not-final-ary.js b/test/language/statements/class/dstr-meth-static-ary-ptrn-rest-not-final-ary.js
index 5f16f5a2c4..a221902a30 100644
--- a/test/language/statements/class/dstr-meth-static-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/class/dstr-meth-static-ary-ptrn-rest-not-final-ary.js
@@ -66,7 +66,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-meth-static-ary-ptrn-rest-not-final-id.js b/test/language/statements/class/dstr-meth-static-ary-ptrn-rest-not-final-id.js
index bf41c5821d..dbac9d9074 100644
--- a/test/language/statements/class/dstr-meth-static-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/class/dstr-meth-static-ary-ptrn-rest-not-final-id.js
@@ -66,7 +66,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-meth-static-ary-ptrn-rest-not-final-obj.js b/test/language/statements/class/dstr-meth-static-ary-ptrn-rest-not-final-obj.js
index bcfbef4f0c..4fb507ea38 100644
--- a/test/language/statements/class/dstr-meth-static-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/class/dstr-meth-static-ary-ptrn-rest-not-final-obj.js
@@ -66,7 +66,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-meth-static-dflt-ary-ptrn-rest-init-ary.js b/test/language/statements/class/dstr-meth-static-dflt-ary-ptrn-rest-init-ary.js
index 68cf47a52d..8228677a8d 100644
--- a/test/language/statements/class/dstr-meth-static-dflt-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/class/dstr-meth-static-dflt-ary-ptrn-rest-init-ary.js
@@ -66,7 +66,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-meth-static-dflt-ary-ptrn-rest-init-id.js b/test/language/statements/class/dstr-meth-static-dflt-ary-ptrn-rest-init-id.js
index 7402ebeeca..ddd75cbfd0 100644
--- a/test/language/statements/class/dstr-meth-static-dflt-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/class/dstr-meth-static-dflt-ary-ptrn-rest-init-id.js
@@ -66,7 +66,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-meth-static-dflt-ary-ptrn-rest-init-obj.js b/test/language/statements/class/dstr-meth-static-dflt-ary-ptrn-rest-init-obj.js
index 45609fe76a..0b7f70a187 100644
--- a/test/language/statements/class/dstr-meth-static-dflt-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/class/dstr-meth-static-dflt-ary-ptrn-rest-init-obj.js
@@ -66,7 +66,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-meth-static-dflt-ary-ptrn-rest-not-final-ary.js b/test/language/statements/class/dstr-meth-static-dflt-ary-ptrn-rest-not-final-ary.js
index e7266370d7..f32a4dc65f 100644
--- a/test/language/statements/class/dstr-meth-static-dflt-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/class/dstr-meth-static-dflt-ary-ptrn-rest-not-final-ary.js
@@ -66,7 +66,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-meth-static-dflt-ary-ptrn-rest-not-final-id.js b/test/language/statements/class/dstr-meth-static-dflt-ary-ptrn-rest-not-final-id.js
index a0954f51d0..b2548b236e 100644
--- a/test/language/statements/class/dstr-meth-static-dflt-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/class/dstr-meth-static-dflt-ary-ptrn-rest-not-final-id.js
@@ -66,7 +66,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-meth-static-dflt-ary-ptrn-rest-not-final-obj.js b/test/language/statements/class/dstr-meth-static-dflt-ary-ptrn-rest-not-final-obj.js
index 3f372bf2da..0a0da912b1 100644
--- a/test/language/statements/class/dstr-meth-static-dflt-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/class/dstr-meth-static-dflt-ary-ptrn-rest-not-final-obj.js
@@ -66,7 +66,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-private-gen-meth-ary-ptrn-rest-init-ary.js b/test/language/statements/class/dstr-private-gen-meth-ary-ptrn-rest-init-ary.js
index 224cc702c0..1eb3d411ee 100644
--- a/test/language/statements/class/dstr-private-gen-meth-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/class/dstr-private-gen-meth-ary-ptrn-rest-init-ary.js
@@ -67,7 +67,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-private-gen-meth-ary-ptrn-rest-init-id.js b/test/language/statements/class/dstr-private-gen-meth-ary-ptrn-rest-init-id.js
index c1d9725f46..d711557ead 100644
--- a/test/language/statements/class/dstr-private-gen-meth-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/class/dstr-private-gen-meth-ary-ptrn-rest-init-id.js
@@ -67,7 +67,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-private-gen-meth-ary-ptrn-rest-init-obj.js b/test/language/statements/class/dstr-private-gen-meth-ary-ptrn-rest-init-obj.js
index 64ed07285f..40722171ea 100644
--- a/test/language/statements/class/dstr-private-gen-meth-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/class/dstr-private-gen-meth-ary-ptrn-rest-init-obj.js
@@ -67,7 +67,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-private-gen-meth-ary-ptrn-rest-not-final-ary.js b/test/language/statements/class/dstr-private-gen-meth-ary-ptrn-rest-not-final-ary.js
index f0ef604e45..f16e30b702 100644
--- a/test/language/statements/class/dstr-private-gen-meth-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/class/dstr-private-gen-meth-ary-ptrn-rest-not-final-ary.js
@@ -67,7 +67,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-private-gen-meth-ary-ptrn-rest-not-final-id.js b/test/language/statements/class/dstr-private-gen-meth-ary-ptrn-rest-not-final-id.js
index 2847086c52..92554df2d6 100644
--- a/test/language/statements/class/dstr-private-gen-meth-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/class/dstr-private-gen-meth-ary-ptrn-rest-not-final-id.js
@@ -67,7 +67,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-private-gen-meth-ary-ptrn-rest-not-final-obj.js b/test/language/statements/class/dstr-private-gen-meth-ary-ptrn-rest-not-final-obj.js
index aa58dd31b3..1708097692 100644
--- a/test/language/statements/class/dstr-private-gen-meth-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/class/dstr-private-gen-meth-ary-ptrn-rest-not-final-obj.js
@@ -67,7 +67,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-private-gen-meth-dflt-ary-ptrn-rest-init-ary.js b/test/language/statements/class/dstr-private-gen-meth-dflt-ary-ptrn-rest-init-ary.js
index e8cd49b0af..bff9df4074 100644
--- a/test/language/statements/class/dstr-private-gen-meth-dflt-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/class/dstr-private-gen-meth-dflt-ary-ptrn-rest-init-ary.js
@@ -67,7 +67,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-private-gen-meth-dflt-ary-ptrn-rest-init-id.js b/test/language/statements/class/dstr-private-gen-meth-dflt-ary-ptrn-rest-init-id.js
index 52fa4cee83..6008f25cfc 100644
--- a/test/language/statements/class/dstr-private-gen-meth-dflt-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/class/dstr-private-gen-meth-dflt-ary-ptrn-rest-init-id.js
@@ -67,7 +67,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-private-gen-meth-dflt-ary-ptrn-rest-init-obj.js b/test/language/statements/class/dstr-private-gen-meth-dflt-ary-ptrn-rest-init-obj.js
index 3552888c9c..53863c1bdd 100644
--- a/test/language/statements/class/dstr-private-gen-meth-dflt-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/class/dstr-private-gen-meth-dflt-ary-ptrn-rest-init-obj.js
@@ -67,7 +67,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-private-gen-meth-dflt-ary-ptrn-rest-not-final-ary.js b/test/language/statements/class/dstr-private-gen-meth-dflt-ary-ptrn-rest-not-final-ary.js
index 0bd8acd51d..2681c8b1bc 100644
--- a/test/language/statements/class/dstr-private-gen-meth-dflt-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/class/dstr-private-gen-meth-dflt-ary-ptrn-rest-not-final-ary.js
@@ -67,7 +67,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-private-gen-meth-dflt-ary-ptrn-rest-not-final-id.js b/test/language/statements/class/dstr-private-gen-meth-dflt-ary-ptrn-rest-not-final-id.js
index d6af55a931..a070ab1258 100644
--- a/test/language/statements/class/dstr-private-gen-meth-dflt-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/class/dstr-private-gen-meth-dflt-ary-ptrn-rest-not-final-id.js
@@ -67,7 +67,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-private-gen-meth-dflt-ary-ptrn-rest-not-final-obj.js b/test/language/statements/class/dstr-private-gen-meth-dflt-ary-ptrn-rest-not-final-obj.js
index 2111a65cf5..8fa403eb01 100644
--- a/test/language/statements/class/dstr-private-gen-meth-dflt-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/class/dstr-private-gen-meth-dflt-ary-ptrn-rest-not-final-obj.js
@@ -67,7 +67,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-private-gen-meth-static-ary-ptrn-rest-init-ary.js b/test/language/statements/class/dstr-private-gen-meth-static-ary-ptrn-rest-init-ary.js
index 1acb5cbd08..c52faa52ce 100644
--- a/test/language/statements/class/dstr-private-gen-meth-static-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/class/dstr-private-gen-meth-static-ary-ptrn-rest-init-ary.js
@@ -67,7 +67,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-private-gen-meth-static-ary-ptrn-rest-init-id.js b/test/language/statements/class/dstr-private-gen-meth-static-ary-ptrn-rest-init-id.js
index 0d63c5e171..b578f1ffb5 100644
--- a/test/language/statements/class/dstr-private-gen-meth-static-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/class/dstr-private-gen-meth-static-ary-ptrn-rest-init-id.js
@@ -67,7 +67,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-private-gen-meth-static-ary-ptrn-rest-init-obj.js b/test/language/statements/class/dstr-private-gen-meth-static-ary-ptrn-rest-init-obj.js
index e20f799bb3..2c9f63f6dc 100644
--- a/test/language/statements/class/dstr-private-gen-meth-static-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/class/dstr-private-gen-meth-static-ary-ptrn-rest-init-obj.js
@@ -67,7 +67,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-private-gen-meth-static-ary-ptrn-rest-not-final-ary.js b/test/language/statements/class/dstr-private-gen-meth-static-ary-ptrn-rest-not-final-ary.js
index 26cda426a5..33d0e8eaf3 100644
--- a/test/language/statements/class/dstr-private-gen-meth-static-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/class/dstr-private-gen-meth-static-ary-ptrn-rest-not-final-ary.js
@@ -67,7 +67,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-private-gen-meth-static-ary-ptrn-rest-not-final-id.js b/test/language/statements/class/dstr-private-gen-meth-static-ary-ptrn-rest-not-final-id.js
index 89e01f6fa6..07052b7b3f 100644
--- a/test/language/statements/class/dstr-private-gen-meth-static-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/class/dstr-private-gen-meth-static-ary-ptrn-rest-not-final-id.js
@@ -67,7 +67,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-private-gen-meth-static-ary-ptrn-rest-not-final-obj.js b/test/language/statements/class/dstr-private-gen-meth-static-ary-ptrn-rest-not-final-obj.js
index 368405517c..7d90383aad 100644
--- a/test/language/statements/class/dstr-private-gen-meth-static-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/class/dstr-private-gen-meth-static-ary-ptrn-rest-not-final-obj.js
@@ -67,7 +67,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-private-gen-meth-static-dflt-ary-ptrn-rest-init-ary.js b/test/language/statements/class/dstr-private-gen-meth-static-dflt-ary-ptrn-rest-init-ary.js
index fa7aa20110..200cf3b260 100644
--- a/test/language/statements/class/dstr-private-gen-meth-static-dflt-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/class/dstr-private-gen-meth-static-dflt-ary-ptrn-rest-init-ary.js
@@ -67,7 +67,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-private-gen-meth-static-dflt-ary-ptrn-rest-init-id.js b/test/language/statements/class/dstr-private-gen-meth-static-dflt-ary-ptrn-rest-init-id.js
index 1b3fcdf90e..9d87fa6802 100644
--- a/test/language/statements/class/dstr-private-gen-meth-static-dflt-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/class/dstr-private-gen-meth-static-dflt-ary-ptrn-rest-init-id.js
@@ -67,7 +67,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-private-gen-meth-static-dflt-ary-ptrn-rest-init-obj.js b/test/language/statements/class/dstr-private-gen-meth-static-dflt-ary-ptrn-rest-init-obj.js
index b2413bb156..1454a47465 100644
--- a/test/language/statements/class/dstr-private-gen-meth-static-dflt-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/class/dstr-private-gen-meth-static-dflt-ary-ptrn-rest-init-obj.js
@@ -67,7 +67,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-private-gen-meth-static-dflt-ary-ptrn-rest-not-final-ary.js b/test/language/statements/class/dstr-private-gen-meth-static-dflt-ary-ptrn-rest-not-final-ary.js
index 23773e21cb..8bb3268e5c 100644
--- a/test/language/statements/class/dstr-private-gen-meth-static-dflt-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/class/dstr-private-gen-meth-static-dflt-ary-ptrn-rest-not-final-ary.js
@@ -67,7 +67,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-private-gen-meth-static-dflt-ary-ptrn-rest-not-final-id.js b/test/language/statements/class/dstr-private-gen-meth-static-dflt-ary-ptrn-rest-not-final-id.js
index 0f49728d1c..2104f06d0d 100644
--- a/test/language/statements/class/dstr-private-gen-meth-static-dflt-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/class/dstr-private-gen-meth-static-dflt-ary-ptrn-rest-not-final-id.js
@@ -67,7 +67,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-private-gen-meth-static-dflt-ary-ptrn-rest-not-final-obj.js b/test/language/statements/class/dstr-private-gen-meth-static-dflt-ary-ptrn-rest-not-final-obj.js
index 5cf58d8216..188225be93 100644
--- a/test/language/statements/class/dstr-private-gen-meth-static-dflt-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/class/dstr-private-gen-meth-static-dflt-ary-ptrn-rest-not-final-obj.js
@@ -67,7 +67,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-private-meth-ary-ptrn-rest-init-ary.js b/test/language/statements/class/dstr-private-meth-ary-ptrn-rest-init-ary.js
index d22ee7f06c..a1891e50b8 100644
--- a/test/language/statements/class/dstr-private-meth-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/class/dstr-private-meth-ary-ptrn-rest-init-ary.js
@@ -65,7 +65,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-private-meth-ary-ptrn-rest-init-id.js b/test/language/statements/class/dstr-private-meth-ary-ptrn-rest-init-id.js
index 3273c1d42b..f599a621fc 100644
--- a/test/language/statements/class/dstr-private-meth-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/class/dstr-private-meth-ary-ptrn-rest-init-id.js
@@ -65,7 +65,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-private-meth-ary-ptrn-rest-init-obj.js b/test/language/statements/class/dstr-private-meth-ary-ptrn-rest-init-obj.js
index 32331f3f9c..2bf7f9b9d5 100644
--- a/test/language/statements/class/dstr-private-meth-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/class/dstr-private-meth-ary-ptrn-rest-init-obj.js
@@ -65,7 +65,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-private-meth-ary-ptrn-rest-not-final-ary.js b/test/language/statements/class/dstr-private-meth-ary-ptrn-rest-not-final-ary.js
index 82367eaebf..0a437a0a62 100644
--- a/test/language/statements/class/dstr-private-meth-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/class/dstr-private-meth-ary-ptrn-rest-not-final-ary.js
@@ -65,7 +65,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-private-meth-ary-ptrn-rest-not-final-id.js b/test/language/statements/class/dstr-private-meth-ary-ptrn-rest-not-final-id.js
index 7fc0ed9b69..b2e7562d58 100644
--- a/test/language/statements/class/dstr-private-meth-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/class/dstr-private-meth-ary-ptrn-rest-not-final-id.js
@@ -65,7 +65,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-private-meth-ary-ptrn-rest-not-final-obj.js b/test/language/statements/class/dstr-private-meth-ary-ptrn-rest-not-final-obj.js
index 472175ba98..d268392f15 100644
--- a/test/language/statements/class/dstr-private-meth-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/class/dstr-private-meth-ary-ptrn-rest-not-final-obj.js
@@ -65,7 +65,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-private-meth-dflt-ary-ptrn-rest-init-ary.js b/test/language/statements/class/dstr-private-meth-dflt-ary-ptrn-rest-init-ary.js
index 8221d2a439..ad8cbba85d 100644
--- a/test/language/statements/class/dstr-private-meth-dflt-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/class/dstr-private-meth-dflt-ary-ptrn-rest-init-ary.js
@@ -65,7 +65,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-private-meth-dflt-ary-ptrn-rest-init-id.js b/test/language/statements/class/dstr-private-meth-dflt-ary-ptrn-rest-init-id.js
index 49af2fbbeb..48d552cc4a 100644
--- a/test/language/statements/class/dstr-private-meth-dflt-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/class/dstr-private-meth-dflt-ary-ptrn-rest-init-id.js
@@ -65,7 +65,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-private-meth-dflt-ary-ptrn-rest-init-obj.js b/test/language/statements/class/dstr-private-meth-dflt-ary-ptrn-rest-init-obj.js
index 633bf1e4e5..0259cdccef 100644
--- a/test/language/statements/class/dstr-private-meth-dflt-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/class/dstr-private-meth-dflt-ary-ptrn-rest-init-obj.js
@@ -65,7 +65,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-private-meth-dflt-ary-ptrn-rest-not-final-ary.js b/test/language/statements/class/dstr-private-meth-dflt-ary-ptrn-rest-not-final-ary.js
index a40def72a4..1132016839 100644
--- a/test/language/statements/class/dstr-private-meth-dflt-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/class/dstr-private-meth-dflt-ary-ptrn-rest-not-final-ary.js
@@ -65,7 +65,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-private-meth-dflt-ary-ptrn-rest-not-final-id.js b/test/language/statements/class/dstr-private-meth-dflt-ary-ptrn-rest-not-final-id.js
index 0fc634aa48..c301cd4205 100644
--- a/test/language/statements/class/dstr-private-meth-dflt-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/class/dstr-private-meth-dflt-ary-ptrn-rest-not-final-id.js
@@ -65,7 +65,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-private-meth-dflt-ary-ptrn-rest-not-final-obj.js b/test/language/statements/class/dstr-private-meth-dflt-ary-ptrn-rest-not-final-obj.js
index f43052c7d4..0600c094b6 100644
--- a/test/language/statements/class/dstr-private-meth-dflt-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/class/dstr-private-meth-dflt-ary-ptrn-rest-not-final-obj.js
@@ -65,7 +65,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-private-meth-static-ary-ptrn-rest-init-ary.js b/test/language/statements/class/dstr-private-meth-static-ary-ptrn-rest-init-ary.js
index 659834ab18..34f18a4cd5 100644
--- a/test/language/statements/class/dstr-private-meth-static-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/class/dstr-private-meth-static-ary-ptrn-rest-init-ary.js
@@ -65,7 +65,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-private-meth-static-ary-ptrn-rest-init-id.js b/test/language/statements/class/dstr-private-meth-static-ary-ptrn-rest-init-id.js
index 308358ff57..616fb81b0b 100644
--- a/test/language/statements/class/dstr-private-meth-static-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/class/dstr-private-meth-static-ary-ptrn-rest-init-id.js
@@ -65,7 +65,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-private-meth-static-ary-ptrn-rest-init-obj.js b/test/language/statements/class/dstr-private-meth-static-ary-ptrn-rest-init-obj.js
index ecbfe35de9..0e8599f2ea 100644
--- a/test/language/statements/class/dstr-private-meth-static-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/class/dstr-private-meth-static-ary-ptrn-rest-init-obj.js
@@ -65,7 +65,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-private-meth-static-ary-ptrn-rest-not-final-ary.js b/test/language/statements/class/dstr-private-meth-static-ary-ptrn-rest-not-final-ary.js
index b01c0d3093..53a5a0d671 100644
--- a/test/language/statements/class/dstr-private-meth-static-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/class/dstr-private-meth-static-ary-ptrn-rest-not-final-ary.js
@@ -65,7 +65,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-private-meth-static-ary-ptrn-rest-not-final-id.js b/test/language/statements/class/dstr-private-meth-static-ary-ptrn-rest-not-final-id.js
index e7d90d5ab5..f6be8a5d6c 100644
--- a/test/language/statements/class/dstr-private-meth-static-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/class/dstr-private-meth-static-ary-ptrn-rest-not-final-id.js
@@ -65,7 +65,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-private-meth-static-ary-ptrn-rest-not-final-obj.js b/test/language/statements/class/dstr-private-meth-static-ary-ptrn-rest-not-final-obj.js
index f78cb00bfe..6e0bdc0958 100644
--- a/test/language/statements/class/dstr-private-meth-static-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/class/dstr-private-meth-static-ary-ptrn-rest-not-final-obj.js
@@ -65,7 +65,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-private-meth-static-dflt-ary-ptrn-rest-init-ary.js b/test/language/statements/class/dstr-private-meth-static-dflt-ary-ptrn-rest-init-ary.js
index 2b001fd375..b8a543c4c0 100644
--- a/test/language/statements/class/dstr-private-meth-static-dflt-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/class/dstr-private-meth-static-dflt-ary-ptrn-rest-init-ary.js
@@ -65,7 +65,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-private-meth-static-dflt-ary-ptrn-rest-init-id.js b/test/language/statements/class/dstr-private-meth-static-dflt-ary-ptrn-rest-init-id.js
index ec69f34d9f..2975796516 100644
--- a/test/language/statements/class/dstr-private-meth-static-dflt-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/class/dstr-private-meth-static-dflt-ary-ptrn-rest-init-id.js
@@ -65,7 +65,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-private-meth-static-dflt-ary-ptrn-rest-init-obj.js b/test/language/statements/class/dstr-private-meth-static-dflt-ary-ptrn-rest-init-obj.js
index 9af5441e66..bd342f6005 100644
--- a/test/language/statements/class/dstr-private-meth-static-dflt-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/class/dstr-private-meth-static-dflt-ary-ptrn-rest-init-obj.js
@@ -65,7 +65,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-private-meth-static-dflt-ary-ptrn-rest-not-final-ary.js b/test/language/statements/class/dstr-private-meth-static-dflt-ary-ptrn-rest-not-final-ary.js
index 1f71aee841..5d63d66028 100644
--- a/test/language/statements/class/dstr-private-meth-static-dflt-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/class/dstr-private-meth-static-dflt-ary-ptrn-rest-not-final-ary.js
@@ -65,7 +65,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-private-meth-static-dflt-ary-ptrn-rest-not-final-id.js b/test/language/statements/class/dstr-private-meth-static-dflt-ary-ptrn-rest-not-final-id.js
index 6926c35c42..e8ae10ea9d 100644
--- a/test/language/statements/class/dstr-private-meth-static-dflt-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/class/dstr-private-meth-static-dflt-ary-ptrn-rest-not-final-id.js
@@ -65,7 +65,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/dstr-private-meth-static-dflt-ary-ptrn-rest-not-final-obj.js b/test/language/statements/class/dstr-private-meth-static-dflt-ary-ptrn-rest-not-final-obj.js
index 0e46f696ff..9ed360e27b 100644
--- a/test/language/statements/class/dstr-private-meth-static-dflt-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/class/dstr-private-meth-static-dflt-ary-ptrn-rest-not-final-obj.js
@@ -65,7 +65,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 class C {
diff --git a/test/language/statements/class/err-field-delete-covered-err-delete-call-expression-private-method-async-gen.js b/test/language/statements/class/err-field-delete-covered-err-delete-call-expression-private-method-async-gen.js
index dc41395c8b..8a6b407bbd 100644
--- a/test/language/statements/class/err-field-delete-covered-err-delete-call-expression-private-method-async-gen.js
+++ b/test/language/statements/class/err-field-delete-covered-err-delete-call-expression-private-method-async-gen.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-field-delete-covered-err-delete-call-expression-private-method-async.js b/test/language/statements/class/err-field-delete-covered-err-delete-call-expression-private-method-async.js
index 84a5677abb..e1ed6237be 100644
--- a/test/language/statements/class/err-field-delete-covered-err-delete-call-expression-private-method-async.js
+++ b/test/language/statements/class/err-field-delete-covered-err-delete-call-expression-private-method-async.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-field-delete-covered-err-delete-call-expression-private-method-gen.js b/test/language/statements/class/err-field-delete-covered-err-delete-call-expression-private-method-gen.js
index 9f67675420..2c86256e17 100644
--- a/test/language/statements/class/err-field-delete-covered-err-delete-call-expression-private-method-gen.js
+++ b/test/language/statements/class/err-field-delete-covered-err-delete-call-expression-private-method-gen.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-field-delete-covered-err-delete-call-expression-private-method.js b/test/language/statements/class/err-field-delete-covered-err-delete-call-expression-private-method.js
index 507fb4bccd..dfbf4227bd 100644
--- a/test/language/statements/class/err-field-delete-covered-err-delete-call-expression-private-method.js
+++ b/test/language/statements/class/err-field-delete-covered-err-delete-call-expression-private-method.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-field-delete-covered-err-delete-call-expression-privatename.js b/test/language/statements/class/err-field-delete-covered-err-delete-call-expression-privatename.js
index 527bd983ee..507208c23a 100644
--- a/test/language/statements/class/err-field-delete-covered-err-delete-call-expression-privatename.js
+++ b/test/language/statements/class/err-field-delete-covered-err-delete-call-expression-privatename.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-field-delete-covered-err-delete-member-expression-private-method-async-gen.js b/test/language/statements/class/err-field-delete-covered-err-delete-member-expression-private-method-async-gen.js
index 92bd8fb324..b22fe17b6b 100644
--- a/test/language/statements/class/err-field-delete-covered-err-delete-member-expression-private-method-async-gen.js
+++ b/test/language/statements/class/err-field-delete-covered-err-delete-member-expression-private-method-async-gen.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-field-delete-covered-err-delete-member-expression-private-method-async.js b/test/language/statements/class/err-field-delete-covered-err-delete-member-expression-private-method-async.js
index 7706ee76aa..c823c64e07 100644
--- a/test/language/statements/class/err-field-delete-covered-err-delete-member-expression-private-method-async.js
+++ b/test/language/statements/class/err-field-delete-covered-err-delete-member-expression-private-method-async.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-field-delete-covered-err-delete-member-expression-private-method-gen.js b/test/language/statements/class/err-field-delete-covered-err-delete-member-expression-private-method-gen.js
index 75470c8324..023dd6b2eb 100644
--- a/test/language/statements/class/err-field-delete-covered-err-delete-member-expression-private-method-gen.js
+++ b/test/language/statements/class/err-field-delete-covered-err-delete-member-expression-private-method-gen.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-field-delete-covered-err-delete-member-expression-private-method.js b/test/language/statements/class/err-field-delete-covered-err-delete-member-expression-private-method.js
index 4a6f0ea927..dad2869b84 100644
--- a/test/language/statements/class/err-field-delete-covered-err-delete-member-expression-private-method.js
+++ b/test/language/statements/class/err-field-delete-covered-err-delete-member-expression-private-method.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-field-delete-covered-err-delete-member-expression-privatename.js b/test/language/statements/class/err-field-delete-covered-err-delete-member-expression-privatename.js
index 87598e0898..350edd3d69 100644
--- a/test/language/statements/class/err-field-delete-covered-err-delete-member-expression-privatename.js
+++ b/test/language/statements/class/err-field-delete-covered-err-delete-member-expression-privatename.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-field-delete-err-delete-call-expression-private-method-async-gen.js b/test/language/statements/class/err-field-delete-err-delete-call-expression-private-method-async-gen.js
index 65dfa3a196..b40ccdfa61 100644
--- a/test/language/statements/class/err-field-delete-err-delete-call-expression-private-method-async-gen.js
+++ b/test/language/statements/class/err-field-delete-err-delete-call-expression-private-method-async-gen.js
@@ -23,7 +23,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-field-delete-err-delete-call-expression-private-method-async.js b/test/language/statements/class/err-field-delete-err-delete-call-expression-private-method-async.js
index eaff833586..ef0f88632d 100644
--- a/test/language/statements/class/err-field-delete-err-delete-call-expression-private-method-async.js
+++ b/test/language/statements/class/err-field-delete-err-delete-call-expression-private-method-async.js
@@ -23,7 +23,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-field-delete-err-delete-call-expression-private-method-gen.js b/test/language/statements/class/err-field-delete-err-delete-call-expression-private-method-gen.js
index c91489364a..9f4f322864 100644
--- a/test/language/statements/class/err-field-delete-err-delete-call-expression-private-method-gen.js
+++ b/test/language/statements/class/err-field-delete-err-delete-call-expression-private-method-gen.js
@@ -23,7 +23,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-field-delete-err-delete-call-expression-private-method.js b/test/language/statements/class/err-field-delete-err-delete-call-expression-private-method.js
index 59970b651f..213f683e13 100644
--- a/test/language/statements/class/err-field-delete-err-delete-call-expression-private-method.js
+++ b/test/language/statements/class/err-field-delete-err-delete-call-expression-private-method.js
@@ -23,7 +23,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-field-delete-err-delete-call-expression-privatename.js b/test/language/statements/class/err-field-delete-err-delete-call-expression-privatename.js
index 1fb46f0584..e1e169779c 100644
--- a/test/language/statements/class/err-field-delete-err-delete-call-expression-privatename.js
+++ b/test/language/statements/class/err-field-delete-err-delete-call-expression-privatename.js
@@ -23,7 +23,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-field-delete-err-delete-member-expression-private-method-async-gen.js b/test/language/statements/class/err-field-delete-err-delete-member-expression-private-method-async-gen.js
index 233b8eb4ae..21a065eae1 100644
--- a/test/language/statements/class/err-field-delete-err-delete-member-expression-private-method-async-gen.js
+++ b/test/language/statements/class/err-field-delete-err-delete-member-expression-private-method-async-gen.js
@@ -23,7 +23,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-field-delete-err-delete-member-expression-private-method-async.js b/test/language/statements/class/err-field-delete-err-delete-member-expression-private-method-async.js
index f7f114f098..dbe1543221 100644
--- a/test/language/statements/class/err-field-delete-err-delete-member-expression-private-method-async.js
+++ b/test/language/statements/class/err-field-delete-err-delete-member-expression-private-method-async.js
@@ -23,7 +23,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-field-delete-err-delete-member-expression-private-method-gen.js b/test/language/statements/class/err-field-delete-err-delete-member-expression-private-method-gen.js
index c707ace238..bce497d152 100644
--- a/test/language/statements/class/err-field-delete-err-delete-member-expression-private-method-gen.js
+++ b/test/language/statements/class/err-field-delete-err-delete-member-expression-private-method-gen.js
@@ -23,7 +23,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-field-delete-err-delete-member-expression-private-method.js b/test/language/statements/class/err-field-delete-err-delete-member-expression-private-method.js
index c3980c9bf7..f82018f6ff 100644
--- a/test/language/statements/class/err-field-delete-err-delete-member-expression-private-method.js
+++ b/test/language/statements/class/err-field-delete-err-delete-member-expression-private-method.js
@@ -23,7 +23,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-field-delete-err-delete-member-expression-privatename.js b/test/language/statements/class/err-field-delete-err-delete-member-expression-privatename.js
index b141545b42..2ac9dfa4d5 100644
--- a/test/language/statements/class/err-field-delete-err-delete-member-expression-privatename.js
+++ b/test/language/statements/class/err-field-delete-err-delete-member-expression-privatename.js
@@ -23,7 +23,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-field-delete-twice-covered-err-delete-call-expression-private-method-async-gen.js b/test/language/statements/class/err-field-delete-twice-covered-err-delete-call-expression-private-method-async-gen.js
index 8871ce46a0..487ffc6394 100644
--- a/test/language/statements/class/err-field-delete-twice-covered-err-delete-call-expression-private-method-async-gen.js
+++ b/test/language/statements/class/err-field-delete-twice-covered-err-delete-call-expression-private-method-async-gen.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-field-delete-twice-covered-err-delete-call-expression-private-method-async.js b/test/language/statements/class/err-field-delete-twice-covered-err-delete-call-expression-private-method-async.js
index 13f15a1407..4c68a30fec 100644
--- a/test/language/statements/class/err-field-delete-twice-covered-err-delete-call-expression-private-method-async.js
+++ b/test/language/statements/class/err-field-delete-twice-covered-err-delete-call-expression-private-method-async.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-field-delete-twice-covered-err-delete-call-expression-private-method-gen.js b/test/language/statements/class/err-field-delete-twice-covered-err-delete-call-expression-private-method-gen.js
index 186528c21b..ac44170786 100644
--- a/test/language/statements/class/err-field-delete-twice-covered-err-delete-call-expression-private-method-gen.js
+++ b/test/language/statements/class/err-field-delete-twice-covered-err-delete-call-expression-private-method-gen.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-field-delete-twice-covered-err-delete-call-expression-private-method.js b/test/language/statements/class/err-field-delete-twice-covered-err-delete-call-expression-private-method.js
index 50b84c0f91..6c27f833e1 100644
--- a/test/language/statements/class/err-field-delete-twice-covered-err-delete-call-expression-private-method.js
+++ b/test/language/statements/class/err-field-delete-twice-covered-err-delete-call-expression-private-method.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-field-delete-twice-covered-err-delete-call-expression-privatename.js b/test/language/statements/class/err-field-delete-twice-covered-err-delete-call-expression-privatename.js
index 04af0074f1..05c99a150a 100644
--- a/test/language/statements/class/err-field-delete-twice-covered-err-delete-call-expression-privatename.js
+++ b/test/language/statements/class/err-field-delete-twice-covered-err-delete-call-expression-privatename.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-field-delete-twice-covered-err-delete-member-expression-private-method-async-gen.js b/test/language/statements/class/err-field-delete-twice-covered-err-delete-member-expression-private-method-async-gen.js
index 1ed22bbf44..5d210439cb 100644
--- a/test/language/statements/class/err-field-delete-twice-covered-err-delete-member-expression-private-method-async-gen.js
+++ b/test/language/statements/class/err-field-delete-twice-covered-err-delete-member-expression-private-method-async-gen.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-field-delete-twice-covered-err-delete-member-expression-private-method-async.js b/test/language/statements/class/err-field-delete-twice-covered-err-delete-member-expression-private-method-async.js
index a5bf66a854..9afdccbbf5 100644
--- a/test/language/statements/class/err-field-delete-twice-covered-err-delete-member-expression-private-method-async.js
+++ b/test/language/statements/class/err-field-delete-twice-covered-err-delete-member-expression-private-method-async.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-field-delete-twice-covered-err-delete-member-expression-private-method-gen.js b/test/language/statements/class/err-field-delete-twice-covered-err-delete-member-expression-private-method-gen.js
index 7b85917b38..aa7b522686 100644
--- a/test/language/statements/class/err-field-delete-twice-covered-err-delete-member-expression-private-method-gen.js
+++ b/test/language/statements/class/err-field-delete-twice-covered-err-delete-member-expression-private-method-gen.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-field-delete-twice-covered-err-delete-member-expression-private-method.js b/test/language/statements/class/err-field-delete-twice-covered-err-delete-member-expression-private-method.js
index 174eacf25f..b89f624458 100644
--- a/test/language/statements/class/err-field-delete-twice-covered-err-delete-member-expression-private-method.js
+++ b/test/language/statements/class/err-field-delete-twice-covered-err-delete-member-expression-private-method.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-field-delete-twice-covered-err-delete-member-expression-privatename.js b/test/language/statements/class/err-field-delete-twice-covered-err-delete-member-expression-privatename.js
index 0aeafc533a..fe0198bca5 100644
--- a/test/language/statements/class/err-field-delete-twice-covered-err-delete-member-expression-privatename.js
+++ b/test/language/statements/class/err-field-delete-twice-covered-err-delete-member-expression-privatename.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-method-delete-covered-err-delete-call-expression-private-method-async-gen.js b/test/language/statements/class/err-method-delete-covered-err-delete-call-expression-private-method-async-gen.js
index e4e4914e9f..94ff844ac4 100644
--- a/test/language/statements/class/err-method-delete-covered-err-delete-call-expression-private-method-async-gen.js
+++ b/test/language/statements/class/err-method-delete-covered-err-delete-call-expression-private-method-async-gen.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-method-delete-covered-err-delete-call-expression-private-method-async.js b/test/language/statements/class/err-method-delete-covered-err-delete-call-expression-private-method-async.js
index b4317e1678..7c8a8c7bde 100644
--- a/test/language/statements/class/err-method-delete-covered-err-delete-call-expression-private-method-async.js
+++ b/test/language/statements/class/err-method-delete-covered-err-delete-call-expression-private-method-async.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-method-delete-covered-err-delete-call-expression-private-method-gen.js b/test/language/statements/class/err-method-delete-covered-err-delete-call-expression-private-method-gen.js
index 489cd25cb1..193778fab3 100644
--- a/test/language/statements/class/err-method-delete-covered-err-delete-call-expression-private-method-gen.js
+++ b/test/language/statements/class/err-method-delete-covered-err-delete-call-expression-private-method-gen.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-method-delete-covered-err-delete-call-expression-private-method.js b/test/language/statements/class/err-method-delete-covered-err-delete-call-expression-private-method.js
index c1c56d3923..0dbabe9e36 100644
--- a/test/language/statements/class/err-method-delete-covered-err-delete-call-expression-private-method.js
+++ b/test/language/statements/class/err-method-delete-covered-err-delete-call-expression-private-method.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-method-delete-covered-err-delete-call-expression-privatename.js b/test/language/statements/class/err-method-delete-covered-err-delete-call-expression-privatename.js
index 083d02edf1..75020c1f8b 100644
--- a/test/language/statements/class/err-method-delete-covered-err-delete-call-expression-privatename.js
+++ b/test/language/statements/class/err-method-delete-covered-err-delete-call-expression-privatename.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-method-delete-covered-err-delete-member-expression-private-method-async-gen.js b/test/language/statements/class/err-method-delete-covered-err-delete-member-expression-private-method-async-gen.js
index d3c617c9a2..7feb0395c7 100644
--- a/test/language/statements/class/err-method-delete-covered-err-delete-member-expression-private-method-async-gen.js
+++ b/test/language/statements/class/err-method-delete-covered-err-delete-member-expression-private-method-async-gen.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-method-delete-covered-err-delete-member-expression-private-method-async.js b/test/language/statements/class/err-method-delete-covered-err-delete-member-expression-private-method-async.js
index 80d81b2fec..2320769bd5 100644
--- a/test/language/statements/class/err-method-delete-covered-err-delete-member-expression-private-method-async.js
+++ b/test/language/statements/class/err-method-delete-covered-err-delete-member-expression-private-method-async.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-method-delete-covered-err-delete-member-expression-private-method-gen.js b/test/language/statements/class/err-method-delete-covered-err-delete-member-expression-private-method-gen.js
index f79318e282..3fa4fed0a2 100644
--- a/test/language/statements/class/err-method-delete-covered-err-delete-member-expression-private-method-gen.js
+++ b/test/language/statements/class/err-method-delete-covered-err-delete-member-expression-private-method-gen.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-method-delete-covered-err-delete-member-expression-private-method.js b/test/language/statements/class/err-method-delete-covered-err-delete-member-expression-private-method.js
index 2d17acb3f0..1e9f71756f 100644
--- a/test/language/statements/class/err-method-delete-covered-err-delete-member-expression-private-method.js
+++ b/test/language/statements/class/err-method-delete-covered-err-delete-member-expression-private-method.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-method-delete-covered-err-delete-member-expression-privatename.js b/test/language/statements/class/err-method-delete-covered-err-delete-member-expression-privatename.js
index 7bc210d933..ea5d1fdfce 100644
--- a/test/language/statements/class/err-method-delete-covered-err-delete-member-expression-privatename.js
+++ b/test/language/statements/class/err-method-delete-covered-err-delete-member-expression-privatename.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-method-delete-err-delete-call-expression-private-method-async-gen.js b/test/language/statements/class/err-method-delete-err-delete-call-expression-private-method-async-gen.js
index 1ab0d9ec14..514e3b6dd2 100644
--- a/test/language/statements/class/err-method-delete-err-delete-call-expression-private-method-async-gen.js
+++ b/test/language/statements/class/err-method-delete-err-delete-call-expression-private-method-async-gen.js
@@ -23,7 +23,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-method-delete-err-delete-call-expression-private-method-async.js b/test/language/statements/class/err-method-delete-err-delete-call-expression-private-method-async.js
index 8be5dabcd9..51640775c0 100644
--- a/test/language/statements/class/err-method-delete-err-delete-call-expression-private-method-async.js
+++ b/test/language/statements/class/err-method-delete-err-delete-call-expression-private-method-async.js
@@ -23,7 +23,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-method-delete-err-delete-call-expression-private-method-gen.js b/test/language/statements/class/err-method-delete-err-delete-call-expression-private-method-gen.js
index 55b4d53587..79a94ae590 100644
--- a/test/language/statements/class/err-method-delete-err-delete-call-expression-private-method-gen.js
+++ b/test/language/statements/class/err-method-delete-err-delete-call-expression-private-method-gen.js
@@ -23,7 +23,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-method-delete-err-delete-call-expression-private-method.js b/test/language/statements/class/err-method-delete-err-delete-call-expression-private-method.js
index ecc7f9b202..a96a853e2b 100644
--- a/test/language/statements/class/err-method-delete-err-delete-call-expression-private-method.js
+++ b/test/language/statements/class/err-method-delete-err-delete-call-expression-private-method.js
@@ -23,7 +23,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-method-delete-err-delete-call-expression-privatename.js b/test/language/statements/class/err-method-delete-err-delete-call-expression-privatename.js
index b421f815ed..00be4aac34 100644
--- a/test/language/statements/class/err-method-delete-err-delete-call-expression-privatename.js
+++ b/test/language/statements/class/err-method-delete-err-delete-call-expression-privatename.js
@@ -23,7 +23,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-method-delete-err-delete-member-expression-private-method-async-gen.js b/test/language/statements/class/err-method-delete-err-delete-member-expression-private-method-async-gen.js
index 5134a0f20f..feb953f991 100644
--- a/test/language/statements/class/err-method-delete-err-delete-member-expression-private-method-async-gen.js
+++ b/test/language/statements/class/err-method-delete-err-delete-member-expression-private-method-async-gen.js
@@ -23,7 +23,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-method-delete-err-delete-member-expression-private-method-async.js b/test/language/statements/class/err-method-delete-err-delete-member-expression-private-method-async.js
index 93ee42b635..8add12ce8f 100644
--- a/test/language/statements/class/err-method-delete-err-delete-member-expression-private-method-async.js
+++ b/test/language/statements/class/err-method-delete-err-delete-member-expression-private-method-async.js
@@ -23,7 +23,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-method-delete-err-delete-member-expression-private-method-gen.js b/test/language/statements/class/err-method-delete-err-delete-member-expression-private-method-gen.js
index 89778cdb82..5a927e666e 100644
--- a/test/language/statements/class/err-method-delete-err-delete-member-expression-private-method-gen.js
+++ b/test/language/statements/class/err-method-delete-err-delete-member-expression-private-method-gen.js
@@ -23,7 +23,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-method-delete-err-delete-member-expression-private-method.js b/test/language/statements/class/err-method-delete-err-delete-member-expression-private-method.js
index fb80c5dab0..aedb170ba0 100644
--- a/test/language/statements/class/err-method-delete-err-delete-member-expression-private-method.js
+++ b/test/language/statements/class/err-method-delete-err-delete-member-expression-private-method.js
@@ -23,7 +23,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-method-delete-err-delete-member-expression-privatename.js b/test/language/statements/class/err-method-delete-err-delete-member-expression-privatename.js
index be5718eea8..5aa4c92f05 100644
--- a/test/language/statements/class/err-method-delete-err-delete-member-expression-privatename.js
+++ b/test/language/statements/class/err-method-delete-err-delete-member-expression-privatename.js
@@ -23,7 +23,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-method-delete-twice-covered-err-delete-call-expression-private-method-async-gen.js b/test/language/statements/class/err-method-delete-twice-covered-err-delete-call-expression-private-method-async-gen.js
index 40395fc2e4..48eb225744 100644
--- a/test/language/statements/class/err-method-delete-twice-covered-err-delete-call-expression-private-method-async-gen.js
+++ b/test/language/statements/class/err-method-delete-twice-covered-err-delete-call-expression-private-method-async-gen.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-method-delete-twice-covered-err-delete-call-expression-private-method-async.js b/test/language/statements/class/err-method-delete-twice-covered-err-delete-call-expression-private-method-async.js
index aa05660900..660db0de92 100644
--- a/test/language/statements/class/err-method-delete-twice-covered-err-delete-call-expression-private-method-async.js
+++ b/test/language/statements/class/err-method-delete-twice-covered-err-delete-call-expression-private-method-async.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-method-delete-twice-covered-err-delete-call-expression-private-method-gen.js b/test/language/statements/class/err-method-delete-twice-covered-err-delete-call-expression-private-method-gen.js
index 90b4f748ce..e76c2b1a53 100644
--- a/test/language/statements/class/err-method-delete-twice-covered-err-delete-call-expression-private-method-gen.js
+++ b/test/language/statements/class/err-method-delete-twice-covered-err-delete-call-expression-private-method-gen.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-method-delete-twice-covered-err-delete-call-expression-private-method.js b/test/language/statements/class/err-method-delete-twice-covered-err-delete-call-expression-private-method.js
index be245a2f20..4bd6e21b2a 100644
--- a/test/language/statements/class/err-method-delete-twice-covered-err-delete-call-expression-private-method.js
+++ b/test/language/statements/class/err-method-delete-twice-covered-err-delete-call-expression-private-method.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-method-delete-twice-covered-err-delete-call-expression-privatename.js b/test/language/statements/class/err-method-delete-twice-covered-err-delete-call-expression-privatename.js
index 2c5dfccc53..c88e90108e 100644
--- a/test/language/statements/class/err-method-delete-twice-covered-err-delete-call-expression-privatename.js
+++ b/test/language/statements/class/err-method-delete-twice-covered-err-delete-call-expression-privatename.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-method-delete-twice-covered-err-delete-member-expression-private-method-async-gen.js b/test/language/statements/class/err-method-delete-twice-covered-err-delete-member-expression-private-method-async-gen.js
index acf546aeb2..7f04ddf3aa 100644
--- a/test/language/statements/class/err-method-delete-twice-covered-err-delete-member-expression-private-method-async-gen.js
+++ b/test/language/statements/class/err-method-delete-twice-covered-err-delete-member-expression-private-method-async-gen.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-method-delete-twice-covered-err-delete-member-expression-private-method-async.js b/test/language/statements/class/err-method-delete-twice-covered-err-delete-member-expression-private-method-async.js
index 14cb0d8dad..e11fc81f79 100644
--- a/test/language/statements/class/err-method-delete-twice-covered-err-delete-member-expression-private-method-async.js
+++ b/test/language/statements/class/err-method-delete-twice-covered-err-delete-member-expression-private-method-async.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-method-delete-twice-covered-err-delete-member-expression-private-method-gen.js b/test/language/statements/class/err-method-delete-twice-covered-err-delete-member-expression-private-method-gen.js
index 31d38e2a13..3b9677a45d 100644
--- a/test/language/statements/class/err-method-delete-twice-covered-err-delete-member-expression-private-method-gen.js
+++ b/test/language/statements/class/err-method-delete-twice-covered-err-delete-member-expression-private-method-gen.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-method-delete-twice-covered-err-delete-member-expression-private-method.js b/test/language/statements/class/err-method-delete-twice-covered-err-delete-member-expression-private-method.js
index 9434bec4e0..3901c7e900 100644
--- a/test/language/statements/class/err-method-delete-twice-covered-err-delete-member-expression-private-method.js
+++ b/test/language/statements/class/err-method-delete-twice-covered-err-delete-member-expression-private-method.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/err-method-delete-twice-covered-err-delete-member-expression-privatename.js b/test/language/statements/class/err-method-delete-twice-covered-err-delete-member-expression-privatename.js
index 4d4678d440..7a0e9ec5b4 100644
--- a/test/language/statements/class/err-method-delete-twice-covered-err-delete-member-expression-privatename.js
+++ b/test/language/statements/class/err-method-delete-twice-covered-err-delete-member-expression-privatename.js
@@ -29,7 +29,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/fields-arrow-fnc-init-err-contains-arguments.js b/test/language/statements/class/fields-arrow-fnc-init-err-contains-arguments.js
index 596e2fffc2..de0ff209ca 100644
--- a/test/language/statements/class/fields-arrow-fnc-init-err-contains-arguments.js
+++ b/test/language/statements/class/fields-arrow-fnc-init-err-contains-arguments.js
@@ -27,7 +27,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   x = () => arguments;
diff --git a/test/language/statements/class/fields-arrow-fnc-init-err-contains-super.js b/test/language/statements/class/fields-arrow-fnc-init-err-contains-super.js
index 5f9f4c6a16..53d7013741 100644
--- a/test/language/statements/class/fields-arrow-fnc-init-err-contains-super.js
+++ b/test/language/statements/class/fields-arrow-fnc-init-err-contains-super.js
@@ -20,7 +20,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   x = () => super();
diff --git a/test/language/statements/class/fields-asi-3.js b/test/language/statements/class/fields-asi-3.js
index 0def090403..6202db3971 100644
--- a/test/language/statements/class/fields-asi-3.js
+++ b/test/language/statements/class/fields-asi-3.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   x = "string"
diff --git a/test/language/statements/class/fields-asi-4.js b/test/language/statements/class/fields-asi-4.js
index f651e5c9ad..9580823c39 100644
--- a/test/language/statements/class/fields-asi-4.js
+++ b/test/language/statements/class/fields-asi-4.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   x = 42
diff --git a/test/language/statements/class/fields-comp-name-init-err-contains-arguments.js b/test/language/statements/class/fields-comp-name-init-err-contains-arguments.js
index 0e5db40e15..44e048c54d 100644
--- a/test/language/statements/class/fields-comp-name-init-err-contains-arguments.js
+++ b/test/language/statements/class/fields-comp-name-init-err-contains-arguments.js
@@ -27,7 +27,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var x = "string";
 class C {
diff --git a/test/language/statements/class/fields-comp-name-init-err-contains-super.js b/test/language/statements/class/fields-comp-name-init-err-contains-super.js
index 41fc109410..08f87a2f7d 100644
--- a/test/language/statements/class/fields-comp-name-init-err-contains-super.js
+++ b/test/language/statements/class/fields-comp-name-init-err-contains-super.js
@@ -20,7 +20,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var x = "string";
 class C {
diff --git a/test/language/statements/class/fields-duplicate-privatenames.js b/test/language/statements/class/fields-duplicate-privatenames.js
index f6eef928a4..f11b917e19 100644
--- a/test/language/statements/class/fields-duplicate-privatenames.js
+++ b/test/language/statements/class/fields-duplicate-privatenames.js
@@ -16,7 +16,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/fields-equality-init-err-contains-arguments.js b/test/language/statements/class/fields-equality-init-err-contains-arguments.js
index dbc3b15fd6..c67c8f549d 100644
--- a/test/language/statements/class/fields-equality-init-err-contains-arguments.js
+++ b/test/language/statements/class/fields-equality-init-err-contains-arguments.js
@@ -27,7 +27,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   x = {} == arguments;
diff --git a/test/language/statements/class/fields-equality-init-err-contains-super.js b/test/language/statements/class/fields-equality-init-err-contains-super.js
index af75c29dfa..a54a5f6b7c 100644
--- a/test/language/statements/class/fields-equality-init-err-contains-super.js
+++ b/test/language/statements/class/fields-equality-init-err-contains-super.js
@@ -20,7 +20,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   x = {} == super();
diff --git a/test/language/statements/class/fields-literal-name-init-err-contains-arguments.js b/test/language/statements/class/fields-literal-name-init-err-contains-arguments.js
index 7e3dee4b83..ac99fcf317 100644
--- a/test/language/statements/class/fields-literal-name-init-err-contains-arguments.js
+++ b/test/language/statements/class/fields-literal-name-init-err-contains-arguments.js
@@ -27,7 +27,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   x = arguments;
diff --git a/test/language/statements/class/fields-literal-name-init-err-contains-super.js b/test/language/statements/class/fields-literal-name-init-err-contains-super.js
index 5d1b1d5424..3fe2478729 100644
--- a/test/language/statements/class/fields-literal-name-init-err-contains-super.js
+++ b/test/language/statements/class/fields-literal-name-init-err-contains-super.js
@@ -20,7 +20,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   x = super();
diff --git a/test/language/statements/class/fields-literal-name-propname-constructor.js b/test/language/statements/class/fields-literal-name-propname-constructor.js
index 6145242373..0444f0320a 100644
--- a/test/language/statements/class/fields-literal-name-propname-constructor.js
+++ b/test/language/statements/class/fields-literal-name-propname-constructor.js
@@ -22,7 +22,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   constructor;
diff --git a/test/language/statements/class/fields-literal-name-static-propname-constructor.js b/test/language/statements/class/fields-literal-name-static-propname-constructor.js
index bb27a99d4e..567974edbb 100644
--- a/test/language/statements/class/fields-literal-name-static-propname-constructor.js
+++ b/test/language/statements/class/fields-literal-name-static-propname-constructor.js
@@ -22,7 +22,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   static constructor;
diff --git a/test/language/statements/class/fields-literal-name-static-propname-prototype.js b/test/language/statements/class/fields-literal-name-static-propname-prototype.js
index 9d18ad1e5a..3dc0065a76 100644
--- a/test/language/statements/class/fields-literal-name-static-propname-prototype.js
+++ b/test/language/statements/class/fields-literal-name-static-propname-prototype.js
@@ -22,7 +22,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   static prototype;
diff --git a/test/language/statements/class/fields-private-arrow-fnc-init-err-contains-arguments.js b/test/language/statements/class/fields-private-arrow-fnc-init-err-contains-arguments.js
index 815d4914bb..561821ccde 100644
--- a/test/language/statements/class/fields-private-arrow-fnc-init-err-contains-arguments.js
+++ b/test/language/statements/class/fields-private-arrow-fnc-init-err-contains-arguments.js
@@ -27,7 +27,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x = () => arguments;
diff --git a/test/language/statements/class/fields-private-arrow-fnc-init-err-contains-super.js b/test/language/statements/class/fields-private-arrow-fnc-init-err-contains-super.js
index 54a8938aa5..28497ddf37 100644
--- a/test/language/statements/class/fields-private-arrow-fnc-init-err-contains-super.js
+++ b/test/language/statements/class/fields-private-arrow-fnc-init-err-contains-super.js
@@ -20,7 +20,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x = () => super();
diff --git a/test/language/statements/class/fields-private-literal-name-init-err-contains-arguments.js b/test/language/statements/class/fields-private-literal-name-init-err-contains-arguments.js
index 277e630bb0..92f4e36759 100644
--- a/test/language/statements/class/fields-private-literal-name-init-err-contains-arguments.js
+++ b/test/language/statements/class/fields-private-literal-name-init-err-contains-arguments.js
@@ -27,7 +27,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x = arguments;
diff --git a/test/language/statements/class/fields-private-literal-name-init-err-contains-super.js b/test/language/statements/class/fields-private-literal-name-init-err-contains-super.js
index 847bb2919f..198e10a91c 100644
--- a/test/language/statements/class/fields-private-literal-name-init-err-contains-super.js
+++ b/test/language/statements/class/fields-private-literal-name-init-err-contains-super.js
@@ -20,7 +20,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x = super();
diff --git a/test/language/statements/class/fields-private-ternary-init-err-contains-arguments.js b/test/language/statements/class/fields-private-ternary-init-err-contains-arguments.js
index a1d241f71d..f607fffc48 100644
--- a/test/language/statements/class/fields-private-ternary-init-err-contains-arguments.js
+++ b/test/language/statements/class/fields-private-ternary-init-err-contains-arguments.js
@@ -27,7 +27,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x = false ? {} : arguments;
diff --git a/test/language/statements/class/fields-private-ternary-init-err-contains-super.js b/test/language/statements/class/fields-private-ternary-init-err-contains-super.js
index ad86658e8c..9804cee83a 100644
--- a/test/language/statements/class/fields-private-ternary-init-err-contains-super.js
+++ b/test/language/statements/class/fields-private-ternary-init-err-contains-super.js
@@ -20,7 +20,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x = false ? {} : super();
diff --git a/test/language/statements/class/fields-private-typeof-init-err-contains-arguments.js b/test/language/statements/class/fields-private-typeof-init-err-contains-arguments.js
index 42bc0c2424..ed44a615b3 100644
--- a/test/language/statements/class/fields-private-typeof-init-err-contains-arguments.js
+++ b/test/language/statements/class/fields-private-typeof-init-err-contains-arguments.js
@@ -27,7 +27,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x = typeof arguments;
diff --git a/test/language/statements/class/fields-private-typeof-init-err-contains-super.js b/test/language/statements/class/fields-private-typeof-init-err-contains-super.js
index 53a137bc1e..bf04170208 100644
--- a/test/language/statements/class/fields-private-typeof-init-err-contains-super.js
+++ b/test/language/statements/class/fields-private-typeof-init-err-contains-super.js
@@ -20,7 +20,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x = typeof super();
diff --git a/test/language/statements/class/fields-static-comp-name-init-err-contains-arguments.js b/test/language/statements/class/fields-static-comp-name-init-err-contains-arguments.js
index f62311c130..145338bcb9 100644
--- a/test/language/statements/class/fields-static-comp-name-init-err-contains-arguments.js
+++ b/test/language/statements/class/fields-static-comp-name-init-err-contains-arguments.js
@@ -27,7 +27,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var x = "string";
 class C {
diff --git a/test/language/statements/class/fields-static-comp-name-init-err-contains-super.js b/test/language/statements/class/fields-static-comp-name-init-err-contains-super.js
index c947f05d51..41398aae9d 100644
--- a/test/language/statements/class/fields-static-comp-name-init-err-contains-super.js
+++ b/test/language/statements/class/fields-static-comp-name-init-err-contains-super.js
@@ -20,7 +20,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var x = "string";
 class C {
diff --git a/test/language/statements/class/fields-static-literal-init-err-contains-arguments.js b/test/language/statements/class/fields-static-literal-init-err-contains-arguments.js
index 2491ad7117..727648cbc1 100644
--- a/test/language/statements/class/fields-static-literal-init-err-contains-arguments.js
+++ b/test/language/statements/class/fields-static-literal-init-err-contains-arguments.js
@@ -27,7 +27,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   static x = arguments;
diff --git a/test/language/statements/class/fields-static-literal-init-err-contains-super.js b/test/language/statements/class/fields-static-literal-init-err-contains-super.js
index 671e9541b3..ba59cfd1ad 100644
--- a/test/language/statements/class/fields-static-literal-init-err-contains-super.js
+++ b/test/language/statements/class/fields-static-literal-init-err-contains-super.js
@@ -20,7 +20,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   static x = super();
diff --git a/test/language/statements/class/fields-static-private-init-err-contains-arguments.js b/test/language/statements/class/fields-static-private-init-err-contains-arguments.js
index 07f574014d..b58178c03e 100644
--- a/test/language/statements/class/fields-static-private-init-err-contains-arguments.js
+++ b/test/language/statements/class/fields-static-private-init-err-contains-arguments.js
@@ -27,7 +27,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   static #x = arguments;
diff --git a/test/language/statements/class/fields-static-private-init-err-contains-super.js b/test/language/statements/class/fields-static-private-init-err-contains-super.js
index 268029a5b9..af8d7e99c0 100644
--- a/test/language/statements/class/fields-static-private-init-err-contains-super.js
+++ b/test/language/statements/class/fields-static-private-init-err-contains-super.js
@@ -20,7 +20,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   static #x = super();
diff --git a/test/language/statements/class/fields-static-string-literal-name-init-err-contains-arguments.js b/test/language/statements/class/fields-static-string-literal-name-init-err-contains-arguments.js
index 40e08034b8..134b38f256 100644
--- a/test/language/statements/class/fields-static-string-literal-name-init-err-contains-arguments.js
+++ b/test/language/statements/class/fields-static-string-literal-name-init-err-contains-arguments.js
@@ -27,7 +27,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   static 'x' = arguments;
diff --git a/test/language/statements/class/fields-static-string-literal-name-init-err-contains-super.js b/test/language/statements/class/fields-static-string-literal-name-init-err-contains-super.js
index 6af3676735..5cf1963ff7 100644
--- a/test/language/statements/class/fields-static-string-literal-name-init-err-contains-super.js
+++ b/test/language/statements/class/fields-static-string-literal-name-init-err-contains-super.js
@@ -20,7 +20,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   static 'x' = super();
diff --git a/test/language/statements/class/fields-string-literal-name-init-err-contains-arguments.js b/test/language/statements/class/fields-string-literal-name-init-err-contains-arguments.js
index 7ca4f8313a..149c2e3f50 100644
--- a/test/language/statements/class/fields-string-literal-name-init-err-contains-arguments.js
+++ b/test/language/statements/class/fields-string-literal-name-init-err-contains-arguments.js
@@ -27,7 +27,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   'x' = arguments;
diff --git a/test/language/statements/class/fields-string-literal-name-init-err-contains-super.js b/test/language/statements/class/fields-string-literal-name-init-err-contains-super.js
index d46940a02c..1bf053181c 100644
--- a/test/language/statements/class/fields-string-literal-name-init-err-contains-super.js
+++ b/test/language/statements/class/fields-string-literal-name-init-err-contains-super.js
@@ -20,7 +20,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   'x' = super();
diff --git a/test/language/statements/class/fields-string-name-propname-constructor.js b/test/language/statements/class/fields-string-name-propname-constructor.js
index 114b17b405..3ee5366bfa 100644
--- a/test/language/statements/class/fields-string-name-propname-constructor.js
+++ b/test/language/statements/class/fields-string-name-propname-constructor.js
@@ -23,7 +23,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   'constructor';
diff --git a/test/language/statements/class/fields-string-name-static-propname-constructor.js b/test/language/statements/class/fields-string-name-static-propname-constructor.js
index 59349a8ad9..180a470787 100644
--- a/test/language/statements/class/fields-string-name-static-propname-constructor.js
+++ b/test/language/statements/class/fields-string-name-static-propname-constructor.js
@@ -23,7 +23,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   static 'constructor';
diff --git a/test/language/statements/class/fields-string-name-static-propname-prototype.js b/test/language/statements/class/fields-string-name-static-propname-prototype.js
index aa56e8688a..0762500d4a 100644
--- a/test/language/statements/class/fields-string-name-static-propname-prototype.js
+++ b/test/language/statements/class/fields-string-name-static-propname-prototype.js
@@ -23,7 +23,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   static 'prototype';
diff --git a/test/language/statements/class/fields-ternary-init-err-contains-arguments.js b/test/language/statements/class/fields-ternary-init-err-contains-arguments.js
index ea7bb91e47..fbdf2ffd07 100644
--- a/test/language/statements/class/fields-ternary-init-err-contains-arguments.js
+++ b/test/language/statements/class/fields-ternary-init-err-contains-arguments.js
@@ -27,7 +27,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   x = false ? {} : arguments;
diff --git a/test/language/statements/class/fields-ternary-init-err-contains-super.js b/test/language/statements/class/fields-ternary-init-err-contains-super.js
index 0f9f647410..f82522e69f 100644
--- a/test/language/statements/class/fields-ternary-init-err-contains-super.js
+++ b/test/language/statements/class/fields-ternary-init-err-contains-super.js
@@ -20,7 +20,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   x = false ? {} : super();
diff --git a/test/language/statements/class/fields-typeof-init-err-contains-arguments.js b/test/language/statements/class/fields-typeof-init-err-contains-arguments.js
index b32f69a633..ddbaa283a0 100644
--- a/test/language/statements/class/fields-typeof-init-err-contains-arguments.js
+++ b/test/language/statements/class/fields-typeof-init-err-contains-arguments.js
@@ -27,7 +27,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   x = typeof arguments;
diff --git a/test/language/statements/class/fields-typeof-init-err-contains-super.js b/test/language/statements/class/fields-typeof-init-err-contains-super.js
index 9385ddef06..cc30095958 100644
--- a/test/language/statements/class/fields-typeof-init-err-contains-super.js
+++ b/test/language/statements/class/fields-typeof-init-err-contains-super.js
@@ -20,7 +20,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   x = typeof super();
diff --git a/test/language/statements/class/gen-meth-dflt-params-duplicates.js b/test/language/statements/class/gen-meth-dflt-params-duplicates.js
index 8c00f65109..9f41bc0526 100644
--- a/test/language/statements/class/gen-meth-dflt-params-duplicates.js
+++ b/test/language/statements/class/gen-meth-dflt-params-duplicates.js
@@ -76,7 +76,7 @@ info: |
       elements.
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   *method(x = 0, x) {
diff --git a/test/language/statements/class/gen-meth-dflt-params-rest.js b/test/language/statements/class/gen-meth-dflt-params-rest.js
index e96678aaed..f2a770a4f4 100644
--- a/test/language/statements/class/gen-meth-dflt-params-rest.js
+++ b/test/language/statements/class/gen-meth-dflt-params-rest.js
@@ -80,7 +80,7 @@ info: |
       ...BindingPattern[?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   *method(...x = []) {
diff --git a/test/language/statements/class/gen-meth-rest-params-trailing-comma-early-error.js b/test/language/statements/class/gen-meth-rest-params-trailing-comma-early-error.js
index ae2edc2df4..298f05b1f0 100644
--- a/test/language/statements/class/gen-meth-rest-params-trailing-comma-early-error.js
+++ b/test/language/statements/class/gen-meth-rest-params-trailing-comma-early-error.js
@@ -73,7 +73,7 @@ info: |
         FormalParameterList[?Yield, ?Await] ,
         FormalParameterList[?Yield, ?Await] , FunctionRestParameter[?Yield, ?Await]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   *method(...a,) {
diff --git a/test/language/statements/class/gen-meth-static-dflt-params-duplicates.js b/test/language/statements/class/gen-meth-static-dflt-params-duplicates.js
index 71d53923f9..b43da3b4cd 100644
--- a/test/language/statements/class/gen-meth-static-dflt-params-duplicates.js
+++ b/test/language/statements/class/gen-meth-static-dflt-params-duplicates.js
@@ -76,7 +76,7 @@ info: |
       elements.
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   static *method(x = 0, x) {
diff --git a/test/language/statements/class/gen-meth-static-dflt-params-rest.js b/test/language/statements/class/gen-meth-static-dflt-params-rest.js
index 99f9f72b81..c052573269 100644
--- a/test/language/statements/class/gen-meth-static-dflt-params-rest.js
+++ b/test/language/statements/class/gen-meth-static-dflt-params-rest.js
@@ -80,7 +80,7 @@ info: |
       ...BindingPattern[?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   static *method(...x = []) {
diff --git a/test/language/statements/class/gen-meth-static-rest-params-trailing-comma-early-error.js b/test/language/statements/class/gen-meth-static-rest-params-trailing-comma-early-error.js
index 88e6e2c8d0..95c054e52a 100644
--- a/test/language/statements/class/gen-meth-static-rest-params-trailing-comma-early-error.js
+++ b/test/language/statements/class/gen-meth-static-rest-params-trailing-comma-early-error.js
@@ -73,7 +73,7 @@ info: |
         FormalParameterList[?Yield, ?Await] ,
         FormalParameterList[?Yield, ?Await] , FunctionRestParameter[?Yield, ?Await]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   static *method(...a,) {
diff --git a/test/language/statements/class/gen-method-param-dflt-yield.js b/test/language/statements/class/gen-method-param-dflt-yield.js
index 3366454ca0..dfb543578d 100644
--- a/test/language/statements/class/gen-method-param-dflt-yield.js
+++ b/test/language/statements/class/gen-method-param-dflt-yield.js
@@ -20,7 +20,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   *g(x = yield) {}
diff --git a/test/language/statements/class/gen-method-static-yield-as-binding-identifier-escaped.js b/test/language/statements/class/gen-method-static-yield-as-binding-identifier-escaped.js
index ecc8e94476..c6eede6b26 100644
--- a/test/language/statements/class/gen-method-static-yield-as-binding-identifier-escaped.js
+++ b/test/language/statements/class/gen-method-static-yield-as-binding-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {static *gen() {
     var yi\u0065ld;
diff --git a/test/language/statements/class/gen-method-static-yield-as-binding-identifier.js b/test/language/statements/class/gen-method-static-yield-as-binding-identifier.js
index cba646ffe0..7e482b305c 100644
--- a/test/language/statements/class/gen-method-static-yield-as-binding-identifier.js
+++ b/test/language/statements/class/gen-method-static-yield-as-binding-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {static *gen() {
     var yield;
diff --git a/test/language/statements/class/gen-method-static-yield-as-identifier-reference-escaped.js b/test/language/statements/class/gen-method-static-yield-as-identifier-reference-escaped.js
index 7e79cff28b..59f717b15c 100644
--- a/test/language/statements/class/gen-method-static-yield-as-identifier-reference-escaped.js
+++ b/test/language/statements/class/gen-method-static-yield-as-identifier-reference-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {static *gen() {
     void yi\u0065ld;
diff --git a/test/language/statements/class/gen-method-static-yield-as-identifier-reference.js b/test/language/statements/class/gen-method-static-yield-as-identifier-reference.js
index f7e8692a50..72da5e23f5 100644
--- a/test/language/statements/class/gen-method-static-yield-as-identifier-reference.js
+++ b/test/language/statements/class/gen-method-static-yield-as-identifier-reference.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {static *gen() {
     void yield;
diff --git a/test/language/statements/class/gen-method-static-yield-as-label-identifier-escaped.js b/test/language/statements/class/gen-method-static-yield-as-label-identifier-escaped.js
index 3e2600e252..37fb0bfb64 100644
--- a/test/language/statements/class/gen-method-static-yield-as-label-identifier-escaped.js
+++ b/test/language/statements/class/gen-method-static-yield-as-label-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {static *gen() {
     yi\u0065ld: ;
diff --git a/test/language/statements/class/gen-method-static-yield-as-label-identifier.js b/test/language/statements/class/gen-method-static-yield-as-label-identifier.js
index 5dcafd818c..fd75ee7159 100644
--- a/test/language/statements/class/gen-method-static-yield-as-label-identifier.js
+++ b/test/language/statements/class/gen-method-static-yield-as-label-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {static *gen() {
     yield: ;
diff --git a/test/language/statements/class/gen-method-static-yield-identifier-spread-strict.js b/test/language/statements/class/gen-method-static-yield-identifier-spread-strict.js
index 80d1c6ba5e..2203feeb3d 100644
--- a/test/language/statements/class/gen-method-static-yield-identifier-spread-strict.js
+++ b/test/language/statements/class/gen-method-static-yield-identifier-spread-strict.js
@@ -29,7 +29,7 @@ info: |
       ...AssignmentExpression[In, ?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 
diff --git a/test/language/statements/class/gen-method-static-yield-identifier-strict.js b/test/language/statements/class/gen-method-static-yield-identifier-strict.js
index bfc303141e..ddb5f40ad2 100644
--- a/test/language/statements/class/gen-method-static-yield-identifier-strict.js
+++ b/test/language/statements/class/gen-method-static-yield-identifier-strict.js
@@ -22,7 +22,7 @@ info: |
       * PropertyName ( UniqueFormalParameters ) { GeneratorBody }
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 
diff --git a/test/language/statements/class/gen-method-yield-as-binding-identifier-escaped.js b/test/language/statements/class/gen-method-yield-as-binding-identifier-escaped.js
index d3b1bbf78b..42b6805914 100644
--- a/test/language/statements/class/gen-method-yield-as-binding-identifier-escaped.js
+++ b/test/language/statements/class/gen-method-yield-as-binding-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C { *gen() {
     var yi\u0065ld;
diff --git a/test/language/statements/class/gen-method-yield-as-binding-identifier.js b/test/language/statements/class/gen-method-yield-as-binding-identifier.js
index d6e0b0d7fe..8d8cfdedd3 100644
--- a/test/language/statements/class/gen-method-yield-as-binding-identifier.js
+++ b/test/language/statements/class/gen-method-yield-as-binding-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C { *gen() {
     var yield;
diff --git a/test/language/statements/class/gen-method-yield-as-identifier-reference-escaped.js b/test/language/statements/class/gen-method-yield-as-identifier-reference-escaped.js
index ec37fd956e..1f4671d6d3 100644
--- a/test/language/statements/class/gen-method-yield-as-identifier-reference-escaped.js
+++ b/test/language/statements/class/gen-method-yield-as-identifier-reference-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C { *gen() {
     void yi\u0065ld;
diff --git a/test/language/statements/class/gen-method-yield-as-identifier-reference.js b/test/language/statements/class/gen-method-yield-as-identifier-reference.js
index 7150b0d4d0..3c77eb5ea4 100644
--- a/test/language/statements/class/gen-method-yield-as-identifier-reference.js
+++ b/test/language/statements/class/gen-method-yield-as-identifier-reference.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C { *gen() {
     void yield;
diff --git a/test/language/statements/class/gen-method-yield-as-label-identifier-escaped.js b/test/language/statements/class/gen-method-yield-as-label-identifier-escaped.js
index 87792808b1..0d4cf302d2 100644
--- a/test/language/statements/class/gen-method-yield-as-label-identifier-escaped.js
+++ b/test/language/statements/class/gen-method-yield-as-label-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C { *gen() {
     yi\u0065ld: ;
diff --git a/test/language/statements/class/gen-method-yield-as-label-identifier.js b/test/language/statements/class/gen-method-yield-as-label-identifier.js
index f69aabf135..de704cb37f 100644
--- a/test/language/statements/class/gen-method-yield-as-label-identifier.js
+++ b/test/language/statements/class/gen-method-yield-as-label-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C { *gen() {
     yield: ;
diff --git a/test/language/statements/class/gen-method-yield-identifier-spread-strict.js b/test/language/statements/class/gen-method-yield-identifier-spread-strict.js
index 3e136b5622..39daaabc69 100644
--- a/test/language/statements/class/gen-method-yield-identifier-spread-strict.js
+++ b/test/language/statements/class/gen-method-yield-identifier-spread-strict.js
@@ -29,7 +29,7 @@ info: |
       ...AssignmentExpression[In, ?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 
diff --git a/test/language/statements/class/gen-method-yield-identifier-strict.js b/test/language/statements/class/gen-method-yield-identifier-strict.js
index ff6e459b95..6463f9d395 100644
--- a/test/language/statements/class/gen-method-yield-identifier-strict.js
+++ b/test/language/statements/class/gen-method-yield-identifier-strict.js
@@ -22,7 +22,7 @@ info: |
       * PropertyName ( UniqueFormalParameters ) { GeneratorBody }
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 
diff --git a/test/language/statements/class/gen-private-method-static-yield-as-binding-identifier-escaped.js b/test/language/statements/class/gen-private-method-static-yield-as-binding-identifier-escaped.js
index e5da74e871..b83baa3279 100644
--- a/test/language/statements/class/gen-private-method-static-yield-as-binding-identifier-escaped.js
+++ b/test/language/statements/class/gen-private-method-static-yield-as-binding-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {static *#gen() {
     var yi\u0065ld;
diff --git a/test/language/statements/class/gen-private-method-static-yield-as-binding-identifier.js b/test/language/statements/class/gen-private-method-static-yield-as-binding-identifier.js
index 9d08e191b8..c0f3b95d0c 100644
--- a/test/language/statements/class/gen-private-method-static-yield-as-binding-identifier.js
+++ b/test/language/statements/class/gen-private-method-static-yield-as-binding-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {static *#gen() {
     var yield;
diff --git a/test/language/statements/class/gen-private-method-static-yield-as-identifier-reference-escaped.js b/test/language/statements/class/gen-private-method-static-yield-as-identifier-reference-escaped.js
index 271ca3a4f7..fca84cfda8 100644
--- a/test/language/statements/class/gen-private-method-static-yield-as-identifier-reference-escaped.js
+++ b/test/language/statements/class/gen-private-method-static-yield-as-identifier-reference-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {static *#gen() {
     void yi\u0065ld;
diff --git a/test/language/statements/class/gen-private-method-static-yield-as-identifier-reference.js b/test/language/statements/class/gen-private-method-static-yield-as-identifier-reference.js
index 349b6bae3c..81aadc554e 100644
--- a/test/language/statements/class/gen-private-method-static-yield-as-identifier-reference.js
+++ b/test/language/statements/class/gen-private-method-static-yield-as-identifier-reference.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {static *#gen() {
     void yield;
diff --git a/test/language/statements/class/gen-private-method-static-yield-as-label-identifier-escaped.js b/test/language/statements/class/gen-private-method-static-yield-as-label-identifier-escaped.js
index b7d8e31040..5f7aa8595a 100644
--- a/test/language/statements/class/gen-private-method-static-yield-as-label-identifier-escaped.js
+++ b/test/language/statements/class/gen-private-method-static-yield-as-label-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {static *#gen() {
     yi\u0065ld: ;
diff --git a/test/language/statements/class/gen-private-method-static-yield-as-label-identifier.js b/test/language/statements/class/gen-private-method-static-yield-as-label-identifier.js
index 4921370252..9fabc993c9 100644
--- a/test/language/statements/class/gen-private-method-static-yield-as-label-identifier.js
+++ b/test/language/statements/class/gen-private-method-static-yield-as-label-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {static *#gen() {
     yield: ;
diff --git a/test/language/statements/class/gen-private-method-static-yield-identifier-spread-strict.js b/test/language/statements/class/gen-private-method-static-yield-identifier-spread-strict.js
index a6001d19ec..7f7f9ac7cd 100644
--- a/test/language/statements/class/gen-private-method-static-yield-identifier-spread-strict.js
+++ b/test/language/statements/class/gen-private-method-static-yield-identifier-spread-strict.js
@@ -29,7 +29,7 @@ info: |
       ...AssignmentExpression[In, ?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 
diff --git a/test/language/statements/class/gen-private-method-static-yield-identifier-strict.js b/test/language/statements/class/gen-private-method-static-yield-identifier-strict.js
index fe63c8a453..058e56cb2a 100644
--- a/test/language/statements/class/gen-private-method-static-yield-identifier-strict.js
+++ b/test/language/statements/class/gen-private-method-static-yield-identifier-strict.js
@@ -22,7 +22,7 @@ info: |
       * PropertyName ( UniqueFormalParameters ) { GeneratorBody }
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 
diff --git a/test/language/statements/class/gen-private-method-yield-as-binding-identifier-escaped.js b/test/language/statements/class/gen-private-method-yield-as-binding-identifier-escaped.js
index cd751f6232..133e8cb786 100644
--- a/test/language/statements/class/gen-private-method-yield-as-binding-identifier-escaped.js
+++ b/test/language/statements/class/gen-private-method-yield-as-binding-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C { *#gen() {
     var yi\u0065ld;
diff --git a/test/language/statements/class/gen-private-method-yield-as-binding-identifier.js b/test/language/statements/class/gen-private-method-yield-as-binding-identifier.js
index 00ae3247b2..6c74085389 100644
--- a/test/language/statements/class/gen-private-method-yield-as-binding-identifier.js
+++ b/test/language/statements/class/gen-private-method-yield-as-binding-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C { *#gen() {
     var yield;
diff --git a/test/language/statements/class/gen-private-method-yield-as-identifier-reference-escaped.js b/test/language/statements/class/gen-private-method-yield-as-identifier-reference-escaped.js
index e6123cf404..7ad7f3efd9 100644
--- a/test/language/statements/class/gen-private-method-yield-as-identifier-reference-escaped.js
+++ b/test/language/statements/class/gen-private-method-yield-as-identifier-reference-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C { *#gen() {
     void yi\u0065ld;
diff --git a/test/language/statements/class/gen-private-method-yield-as-identifier-reference.js b/test/language/statements/class/gen-private-method-yield-as-identifier-reference.js
index 63b3d73ade..3696b4e090 100644
--- a/test/language/statements/class/gen-private-method-yield-as-identifier-reference.js
+++ b/test/language/statements/class/gen-private-method-yield-as-identifier-reference.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C { *#gen() {
     void yield;
diff --git a/test/language/statements/class/gen-private-method-yield-as-label-identifier-escaped.js b/test/language/statements/class/gen-private-method-yield-as-label-identifier-escaped.js
index fe4fa8049f..04624607f6 100644
--- a/test/language/statements/class/gen-private-method-yield-as-label-identifier-escaped.js
+++ b/test/language/statements/class/gen-private-method-yield-as-label-identifier-escaped.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C { *#gen() {
     yi\u0065ld: ;
diff --git a/test/language/statements/class/gen-private-method-yield-as-label-identifier.js b/test/language/statements/class/gen-private-method-yield-as-label-identifier.js
index 32321d68f1..fc5882a031 100644
--- a/test/language/statements/class/gen-private-method-yield-as-label-identifier.js
+++ b/test/language/statements/class/gen-private-method-yield-as-label-identifier.js
@@ -28,7 +28,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C { *#gen() {
     yield: ;
diff --git a/test/language/statements/class/gen-private-method-yield-identifier-spread-strict.js b/test/language/statements/class/gen-private-method-yield-identifier-spread-strict.js
index 594be88f44..f02de26683 100644
--- a/test/language/statements/class/gen-private-method-yield-identifier-spread-strict.js
+++ b/test/language/statements/class/gen-private-method-yield-identifier-spread-strict.js
@@ -29,7 +29,7 @@ info: |
       ...AssignmentExpression[In, ?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 
diff --git a/test/language/statements/class/gen-private-method-yield-identifier-strict.js b/test/language/statements/class/gen-private-method-yield-identifier-strict.js
index 95ab5b4149..be941e5d79 100644
--- a/test/language/statements/class/gen-private-method-yield-identifier-strict.js
+++ b/test/language/statements/class/gen-private-method-yield-identifier-strict.js
@@ -22,7 +22,7 @@ info: |
       * PropertyName ( UniqueFormalParameters ) { GeneratorBody }
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 
diff --git a/test/language/statements/class/getter-param-dflt.js b/test/language/statements/class/getter-param-dflt.js
index 0429832805..8f620611a6 100644
--- a/test/language/statements/class/getter-param-dflt.js
+++ b/test/language/statements/class/getter-param-dflt.js
@@ -18,6 +18,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C { get a(param = null) {} }
diff --git a/test/language/statements/class/meth-dflt-params-duplicates.js b/test/language/statements/class/meth-dflt-params-duplicates.js
index 005fe2a21e..00aa22e295 100644
--- a/test/language/statements/class/meth-dflt-params-duplicates.js
+++ b/test/language/statements/class/meth-dflt-params-duplicates.js
@@ -73,7 +73,7 @@ info: |
       elements.
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   method(x = 0, x) {
diff --git a/test/language/statements/class/meth-dflt-params-rest.js b/test/language/statements/class/meth-dflt-params-rest.js
index 37f67c0519..667bec8370 100644
--- a/test/language/statements/class/meth-dflt-params-rest.js
+++ b/test/language/statements/class/meth-dflt-params-rest.js
@@ -77,7 +77,7 @@ info: |
       ...BindingPattern[?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   method(...x = []) {
diff --git a/test/language/statements/class/meth-rest-params-trailing-comma-early-error.js b/test/language/statements/class/meth-rest-params-trailing-comma-early-error.js
index 00d50872da..a3dc745a5b 100644
--- a/test/language/statements/class/meth-rest-params-trailing-comma-early-error.js
+++ b/test/language/statements/class/meth-rest-params-trailing-comma-early-error.js
@@ -69,7 +69,7 @@ info: |
         FormalParameterList[?Yield, ?Await] ,
         FormalParameterList[?Yield, ?Await] , FunctionRestParameter[?Yield, ?Await]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   method(...a,) {
diff --git a/test/language/statements/class/meth-static-dflt-params-duplicates.js b/test/language/statements/class/meth-static-dflt-params-duplicates.js
index d6d7b623d7..8e23c65ae9 100644
--- a/test/language/statements/class/meth-static-dflt-params-duplicates.js
+++ b/test/language/statements/class/meth-static-dflt-params-duplicates.js
@@ -73,7 +73,7 @@ info: |
       elements.
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   static method(x = 0, x) {
diff --git a/test/language/statements/class/meth-static-dflt-params-rest.js b/test/language/statements/class/meth-static-dflt-params-rest.js
index 892607ccf7..d81f9d6bd4 100644
--- a/test/language/statements/class/meth-static-dflt-params-rest.js
+++ b/test/language/statements/class/meth-static-dflt-params-rest.js
@@ -77,7 +77,7 @@ info: |
       ...BindingPattern[?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   static method(...x = []) {
diff --git a/test/language/statements/class/meth-static-rest-params-trailing-comma-early-error.js b/test/language/statements/class/meth-static-rest-params-trailing-comma-early-error.js
index 484df2b573..ffcdde7f1d 100644
--- a/test/language/statements/class/meth-static-rest-params-trailing-comma-early-error.js
+++ b/test/language/statements/class/meth-static-rest-params-trailing-comma-early-error.js
@@ -69,7 +69,7 @@ info: |
         FormalParameterList[?Yield, ?Await] ,
         FormalParameterList[?Yield, ?Await] , FunctionRestParameter[?Yield, ?Await]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   static method(...a,) {
diff --git a/test/language/statements/class/method-param-yield.js b/test/language/statements/class/method-param-yield.js
index 7f7cb52c2b..a0f2a0bb81 100644
--- a/test/language/statements/class/method-param-yield.js
+++ b/test/language/statements/class/method-param-yield.js
@@ -15,7 +15,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   m(x = yield) {}
diff --git a/test/language/statements/class/privatename-not-valid-earlyerr-script-1.js b/test/language/statements/class/privatename-not-valid-earlyerr-script-1.js
index f1cb3d47c6..0cf870c660 100644
--- a/test/language/statements/class/privatename-not-valid-earlyerr-script-1.js
+++ b/test/language/statements/class/privatename-not-valid-earlyerr-script-1.js
@@ -15,7 +15,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   constructor() {
diff --git a/test/language/statements/class/privatename-not-valid-earlyerr-script-2.js b/test/language/statements/class/privatename-not-valid-earlyerr-script-2.js
index 5a4b1c125f..d7b520143b 100644
--- a/test/language/statements/class/privatename-not-valid-earlyerr-script-2.js
+++ b/test/language/statements/class/privatename-not-valid-earlyerr-script-2.js
@@ -15,7 +15,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   f() {
diff --git a/test/language/statements/class/privatename-not-valid-earlyerr-script-3.js b/test/language/statements/class/privatename-not-valid-earlyerr-script-3.js
index 67f7aaf50e..d6b67b3323 100644
--- a/test/language/statements/class/privatename-not-valid-earlyerr-script-3.js
+++ b/test/language/statements/class/privatename-not-valid-earlyerr-script-3.js
@@ -15,7 +15,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   y = this.#x;
diff --git a/test/language/statements/class/privatename-not-valid-earlyerr-script-4.js b/test/language/statements/class/privatename-not-valid-earlyerr-script-4.js
index 1c7553efa3..5514db3a55 100644
--- a/test/language/statements/class/privatename-not-valid-earlyerr-script-4.js
+++ b/test/language/statements/class/privatename-not-valid-earlyerr-script-4.js
@@ -15,7 +15,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   f() {
diff --git a/test/language/statements/class/privatename-not-valid-earlyerr-script-5.js b/test/language/statements/class/privatename-not-valid-earlyerr-script-5.js
index f9a9bd414c..c5ecd15a75 100644
--- a/test/language/statements/class/privatename-not-valid-earlyerr-script-5.js
+++ b/test/language/statements/class/privatename-not-valid-earlyerr-script-5.js
@@ -15,7 +15,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/privatename-not-valid-earlyerr-script-6.js b/test/language/statements/class/privatename-not-valid-earlyerr-script-6.js
index f1a4f8ca86..ba766384b4 100644
--- a/test/language/statements/class/privatename-not-valid-earlyerr-script-6.js
+++ b/test/language/statements/class/privatename-not-valid-earlyerr-script-6.js
@@ -15,7 +15,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {}
 
diff --git a/test/language/statements/class/privatename-not-valid-earlyerr-script-7.js b/test/language/statements/class/privatename-not-valid-earlyerr-script-7.js
index bfff8da44e..20782464d6 100644
--- a/test/language/statements/class/privatename-not-valid-earlyerr-script-7.js
+++ b/test/language/statements/class/privatename-not-valid-earlyerr-script-7.js
@@ -15,7 +15,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 obj = {};
 
diff --git a/test/language/statements/class/privatename-not-valid-earlyerr-script-8.js b/test/language/statements/class/privatename-not-valid-earlyerr-script-8.js
index 467b5ed045..53d66afa9e 100644
--- a/test/language/statements/class/privatename-not-valid-earlyerr-script-8.js
+++ b/test/language/statements/class/privatename-not-valid-earlyerr-script-8.js
@@ -15,7 +15,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function f() {
   this.#x;
diff --git a/test/language/statements/class/static-gen-method-param-dflt-yield.js b/test/language/statements/class/static-gen-method-param-dflt-yield.js
index 59bbaa1db9..278a34549c 100644
--- a/test/language/statements/class/static-gen-method-param-dflt-yield.js
+++ b/test/language/statements/class/static-gen-method-param-dflt-yield.js
@@ -20,7 +20,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   static *g(x = yield) {}
diff --git a/test/language/statements/class/static-method-param-yield.js b/test/language/statements/class/static-method-param-yield.js
index dc6e6a3a65..a09044b8c6 100644
--- a/test/language/statements/class/static-method-param-yield.js
+++ b/test/language/statements/class/static-method-param-yield.js
@@ -15,7 +15,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   static m(x = yield) {}
diff --git a/test/language/statements/class/strict-mode/with.js b/test/language/statements/class/strict-mode/with.js
index f385de755b..b37ee9cf79 100644
--- a/test/language/statements/class/strict-mode/with.js
+++ b/test/language/statements/class/strict-mode/with.js
@@ -9,7 +9,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C extends (function B() { with ({}); return B; }()) {}
 
diff --git a/test/language/statements/class/syntax/early-errors/class-definition-evaluation-block-duplicate-binding.js b/test/language/statements/class/syntax/early-errors/class-definition-evaluation-block-duplicate-binding.js
index 3dc55e34f2..ad9ec7d0e9 100644
--- a/test/language/statements/class/syntax/early-errors/class-definition-evaluation-block-duplicate-binding.js
+++ b/test/language/statements/class/syntax/early-errors/class-definition-evaluation-block-duplicate-binding.js
@@ -11,7 +11,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 {
   class A {}
   class A {}
diff --git a/test/language/statements/class/syntax/early-errors/class-definition-evaluation-scriptbody-duplicate-binding.js b/test/language/statements/class/syntax/early-errors/class-definition-evaluation-scriptbody-duplicate-binding.js
index 32a6a05423..570ba862c8 100644
--- a/test/language/statements/class/syntax/early-errors/class-definition-evaluation-scriptbody-duplicate-binding.js
+++ b/test/language/statements/class/syntax/early-errors/class-definition-evaluation-scriptbody-duplicate-binding.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 class A {}
 class A {}
diff --git a/test/language/statements/class/syntax/early-errors/grammar-class-body-ctor-duplicate.js b/test/language/statements/class/syntax/early-errors/grammar-class-body-ctor-duplicate.js
index f57cd6265d..574e7b9a66 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-class-body-ctor-duplicate.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-class-body-ctor-duplicate.js
@@ -17,7 +17,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   constructor() {}
diff --git a/test/language/statements/class/syntax/early-errors/grammar-ctor-super-no-heritage.js b/test/language/statements/class/syntax/early-errors/grammar-ctor-super-no-heritage.js
index c200b9031f..e7584c9a60 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-ctor-super-no-heritage.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-ctor-super-no-heritage.js
@@ -20,7 +20,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   constructor() {
diff --git a/test/language/statements/class/syntax/early-errors/grammar-field-identifier-invalid-ues-error.js b/test/language/statements/class/syntax/early-errors/grammar-field-identifier-invalid-ues-error.js
index 4ca9ef03ad..62a9f44d99 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-field-identifier-invalid-ues-error.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-field-identifier-invalid-ues-error.js
@@ -64,7 +64,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   \u0000;
diff --git a/test/language/statements/class/syntax/early-errors/grammar-field-identifier-invalid-zwj-error.js b/test/language/statements/class/syntax/early-errors/grammar-field-identifier-invalid-zwj-error.js
index d0a013f390..6b34317554 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-field-identifier-invalid-zwj-error.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-field-identifier-invalid-zwj-error.js
@@ -64,7 +64,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   \u200D_ZWJ;
diff --git a/test/language/statements/class/syntax/early-errors/grammar-field-identifier-invalid-zwnj-error.js b/test/language/statements/class/syntax/early-errors/grammar-field-identifier-invalid-zwnj-error.js
index a4d59de108..eeb17eb099 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-field-identifier-invalid-zwnj-error.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-field-identifier-invalid-zwnj-error.js
@@ -64,7 +64,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   \u200C_ZWNJ;
diff --git a/test/language/statements/class/syntax/early-errors/grammar-fields-same-line-error.js b/test/language/statements/class/syntax/early-errors/grammar-fields-same-line-error.js
index 34f11300ee..37e8ee7ebb 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-fields-same-line-error.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-fields-same-line-error.js
@@ -27,7 +27,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   x y
diff --git a/test/language/statements/class/syntax/early-errors/grammar-privatemeth-duplicate-get-field.js b/test/language/statements/class/syntax/early-errors/grammar-privatemeth-duplicate-get-field.js
index d1c5145cad..e8e6374483 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-privatemeth-duplicate-get-field.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-privatemeth-duplicate-get-field.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #m;
diff --git a/test/language/statements/class/syntax/early-errors/grammar-privatemeth-duplicate-get-get.js b/test/language/statements/class/syntax/early-errors/grammar-privatemeth-duplicate-get-get.js
index 3699c12065..7b7f065f7e 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-privatemeth-duplicate-get-get.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-privatemeth-duplicate-get-get.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   get #m() {}
diff --git a/test/language/statements/class/syntax/early-errors/grammar-privatemeth-duplicate-meth-field.js b/test/language/statements/class/syntax/early-errors/grammar-privatemeth-duplicate-meth-field.js
index 1fe787bcb9..84f933e6d9 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-privatemeth-duplicate-meth-field.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-privatemeth-duplicate-meth-field.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #m;
diff --git a/test/language/statements/class/syntax/early-errors/grammar-privatemeth-duplicate-meth-get.js b/test/language/statements/class/syntax/early-errors/grammar-privatemeth-duplicate-meth-get.js
index 55d3bf1d61..4d26cd2559 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-privatemeth-duplicate-meth-get.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-privatemeth-duplicate-meth-get.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   get #m() {}
diff --git a/test/language/statements/class/syntax/early-errors/grammar-privatemeth-duplicate-meth-meth.js b/test/language/statements/class/syntax/early-errors/grammar-privatemeth-duplicate-meth-meth.js
index 80d292663f..1c656f170b 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-privatemeth-duplicate-meth-meth.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-privatemeth-duplicate-meth-meth.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #m() {}
diff --git a/test/language/statements/class/syntax/early-errors/grammar-privatemeth-duplicate-meth-set.js b/test/language/statements/class/syntax/early-errors/grammar-privatemeth-duplicate-meth-set.js
index bdac36f203..35f9d2ce9d 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-privatemeth-duplicate-meth-set.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-privatemeth-duplicate-meth-set.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   set #m(_) {}
diff --git a/test/language/statements/class/syntax/early-errors/grammar-privatemeth-duplicate-meth-staticfield.js b/test/language/statements/class/syntax/early-errors/grammar-privatemeth-duplicate-meth-staticfield.js
index 8a37a3f55c..2afc1ab11f 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-privatemeth-duplicate-meth-staticfield.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-privatemeth-duplicate-meth-staticfield.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   static #m;
diff --git a/test/language/statements/class/syntax/early-errors/grammar-privatemeth-duplicate-meth-staticmeth.js b/test/language/statements/class/syntax/early-errors/grammar-privatemeth-duplicate-meth-staticmeth.js
index a57c63f1bb..a9a7a04749 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-privatemeth-duplicate-meth-staticmeth.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-privatemeth-duplicate-meth-staticmeth.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   static #m() {}
diff --git a/test/language/statements/class/syntax/early-errors/grammar-privatemeth-duplicate-set-field.js b/test/language/statements/class/syntax/early-errors/grammar-privatemeth-duplicate-set-field.js
index b0d23620d1..bc268b1cdc 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-privatemeth-duplicate-set-field.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-privatemeth-duplicate-set-field.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #m;
diff --git a/test/language/statements/class/syntax/early-errors/grammar-privatemeth-duplicate-set-set.js b/test/language/statements/class/syntax/early-errors/grammar-privatemeth-duplicate-set-set.js
index 27be0e806e..66f075e908 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-privatemeth-duplicate-set-set.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-privatemeth-duplicate-set-set.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   set #m(_) {}
diff --git a/test/language/statements/class/syntax/early-errors/grammar-privatename-constructor.js b/test/language/statements/class/syntax/early-errors/grammar-privatename-constructor.js
index 3fc6476b12..fcc5505835 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-privatename-constructor.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-privatename-constructor.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #constructor
diff --git a/test/language/statements/class/syntax/early-errors/grammar-privatename-error.js b/test/language/statements/class/syntax/early-errors/grammar-privatename-error.js
index 20967816eb..a1dca39601 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-privatename-error.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-privatename-error.js
@@ -30,7 +30,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   # x
diff --git a/test/language/statements/class/syntax/early-errors/grammar-privatename-identifier-invalid-ues.js b/test/language/statements/class/syntax/early-errors/grammar-privatename-identifier-invalid-ues.js
index f580b23162..b1ff6cbc5a 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-privatename-identifier-invalid-ues.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-privatename-identifier-invalid-ues.js
@@ -58,7 +58,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #\u0000;
diff --git a/test/language/statements/class/syntax/early-errors/grammar-privatename-identifier-invalid-zwj-error.js b/test/language/statements/class/syntax/early-errors/grammar-privatename-identifier-invalid-zwj-error.js
index a9dd885516..540a3f4dda 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-privatename-identifier-invalid-zwj-error.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-privatename-identifier-invalid-zwj-error.js
@@ -58,7 +58,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #\u200D_ZWJ;
diff --git a/test/language/statements/class/syntax/early-errors/grammar-privatename-identifier-invalid-zwnj-error.js b/test/language/statements/class/syntax/early-errors/grammar-privatename-identifier-invalid-zwnj-error.js
index 9581f89301..0c1ccc4e9c 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-privatename-identifier-invalid-zwnj-error.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-privatename-identifier-invalid-zwnj-error.js
@@ -58,7 +58,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #\u200C_ZWNJ;
diff --git a/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-accessor-get-meth.js b/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-accessor-get-meth.js
index a382483164..4a785dfa2b 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-accessor-get-meth.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-accessor-get-meth.js
@@ -22,7 +22,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   get # m() {}
diff --git a/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-accessor-set-meth.js b/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-accessor-set-meth.js
index 7622026546..15ed1ea93b 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-accessor-set-meth.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-accessor-set-meth.js
@@ -22,7 +22,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   set # m(_) {}
diff --git a/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-async-gen-meth.js b/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-async-gen-meth.js
index 3a2482d23d..989be63258 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-async-gen-meth.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-async-gen-meth.js
@@ -22,7 +22,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   async * # m() {}
diff --git a/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-async-meth.js b/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-async-meth.js
index cb164f91bc..0ac6d51f66 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-async-meth.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-async-meth.js
@@ -22,7 +22,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   async # m() {}
diff --git a/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-call-expr.js b/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-call-expr.js
index 72ca4a44bd..36c35e30f8 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-call-expr.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-call-expr.js
@@ -24,7 +24,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-field-init.js b/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-field-init.js
index 8ccdf37c07..401dbd34a3 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-field-init.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-field-init.js
@@ -22,7 +22,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   # x = 1;
diff --git a/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-field.js b/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-field.js
index f0f3b55a64..8205fd0e3d 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-field.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-field.js
@@ -22,7 +22,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   # x;
diff --git a/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-gen-meth.js b/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-gen-meth.js
index 45931eaff3..5174d76aff 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-gen-meth.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-gen-meth.js
@@ -22,7 +22,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   * # m() {}
diff --git a/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-member-expr.js b/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-member-expr.js
index 042d0a3dcf..848c0b00cd 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-member-expr.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-member-expr.js
@@ -24,7 +24,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x;
diff --git a/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-meth.case.js b/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-meth.case.js
index 7144a87b5b..3affb82d81 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-meth.case.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-meth.case.js
@@ -22,7 +22,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   # m() {}
diff --git a/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-static-accessor-get-meth.js b/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-static-accessor-get-meth.js
index 1c269ef34d..8c087e002a 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-static-accessor-get-meth.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-static-accessor-get-meth.js
@@ -22,7 +22,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   static get # m() {}
diff --git a/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-static-accessor-set-meth.js b/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-static-accessor-set-meth.js
index 93420492b8..3fa8a034b8 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-static-accessor-set-meth.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-static-accessor-set-meth.js
@@ -22,7 +22,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   static set # m(_) {}
diff --git a/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-static-async-gen-meth.js b/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-static-async-gen-meth.js
index 085f6d294b..ff03c518f9 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-static-async-gen-meth.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-static-async-gen-meth.js
@@ -22,7 +22,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   static async * # m() {}
diff --git a/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-static-async-meth.js b/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-static-async-meth.js
index b6944764bc..b489fadd42 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-static-async-meth.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-static-async-meth.js
@@ -22,7 +22,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   static async # m() {}
diff --git a/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-static-field-init.js b/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-static-field-init.js
index 906706e4ff..afa44200ab 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-static-field-init.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-static-field-init.js
@@ -22,7 +22,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   static # x = 1;
diff --git a/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-static-field.js b/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-static-field.js
index c2105bc3f8..f8a6cd6e5a 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-static-field.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-static-field.js
@@ -22,7 +22,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   static # x;
diff --git a/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-static-gen-meth.js b/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-static-gen-meth.js
index b37e016cf0..18b07e8fb8 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-static-gen-meth.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-static-gen-meth.js
@@ -22,7 +22,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   static * # m() {}
diff --git a/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-static-meth.js b/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-static-meth.js
index 9fb520ddf2..f115427940 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-static-meth.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-privatename-whitespace-error-static-meth.js
@@ -22,7 +22,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   static # m() {}
diff --git a/test/language/statements/class/syntax/early-errors/grammar-privatenames-same-line-error.js b/test/language/statements/class/syntax/early-errors/grammar-privatenames-same-line-error.js
index 806c938035..4b581a0149 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-privatenames-same-line-error.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-privatenames-same-line-error.js
@@ -30,7 +30,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   #x #y
diff --git a/test/language/statements/class/syntax/early-errors/grammar-special-meth-contains-super-async-gen.js b/test/language/statements/class/syntax/early-errors/grammar-special-meth-contains-super-async-gen.js
index 4184018c22..28540bf4d5 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-special-meth-contains-super-async-gen.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-special-meth-contains-super-async-gen.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C extends Function{
   async * method() {
diff --git a/test/language/statements/class/syntax/early-errors/grammar-special-meth-contains-super-async.js b/test/language/statements/class/syntax/early-errors/grammar-special-meth-contains-super-async.js
index a06cb230d7..8a1587c3e9 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-special-meth-contains-super-async.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-special-meth-contains-super-async.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C extends Function{
   async method() {
diff --git a/test/language/statements/class/syntax/early-errors/grammar-special-meth-contains-super-gen.js b/test/language/statements/class/syntax/early-errors/grammar-special-meth-contains-super-gen.js
index c4adcfa5fa..7db45fad67 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-special-meth-contains-super-gen.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-special-meth-contains-super-gen.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C extends Function{
   * method() {
diff --git a/test/language/statements/class/syntax/early-errors/grammar-special-meth-contains-super-get.js b/test/language/statements/class/syntax/early-errors/grammar-special-meth-contains-super-get.js
index 50b2bbce4b..8e31b50376 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-special-meth-contains-super-get.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-special-meth-contains-super-get.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C extends Function{
   get method() {
diff --git a/test/language/statements/class/syntax/early-errors/grammar-special-meth-contains-super-method.js b/test/language/statements/class/syntax/early-errors/grammar-special-meth-contains-super-method.js
index ae807ac87a..3907cba888 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-special-meth-contains-super-method.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-special-meth-contains-super-method.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C extends Function{
   method() {
diff --git a/test/language/statements/class/syntax/early-errors/grammar-special-meth-contains-super-private-async-gen.js b/test/language/statements/class/syntax/early-errors/grammar-special-meth-contains-super-private-async-gen.js
index 704e942f17..f764d787ad 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-special-meth-contains-super-private-async-gen.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-special-meth-contains-super-private-async-gen.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C extends Function{
   async * #method() {
diff --git a/test/language/statements/class/syntax/early-errors/grammar-special-meth-contains-super-private-async.js b/test/language/statements/class/syntax/early-errors/grammar-special-meth-contains-super-private-async.js
index cc5efd50bc..f6a8b94ca2 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-special-meth-contains-super-private-async.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-special-meth-contains-super-private-async.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C extends Function{
   async #method() {
diff --git a/test/language/statements/class/syntax/early-errors/grammar-special-meth-contains-super-private-gen.js b/test/language/statements/class/syntax/early-errors/grammar-special-meth-contains-super-private-gen.js
index 8ecdfadfb3..c4dfa99cd0 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-special-meth-contains-super-private-gen.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-special-meth-contains-super-private-gen.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C extends Function{
   * #method() {
diff --git a/test/language/statements/class/syntax/early-errors/grammar-special-meth-contains-super-private-method.js b/test/language/statements/class/syntax/early-errors/grammar-special-meth-contains-super-private-method.js
index 9e8ce77507..66276bc481 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-special-meth-contains-super-private-method.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-special-meth-contains-super-private-method.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C extends Function{
   #method() {
diff --git a/test/language/statements/class/syntax/early-errors/grammar-special-meth-contains-super-set.js b/test/language/statements/class/syntax/early-errors/grammar-special-meth-contains-super-set.js
index ad768a6ff4..24b3e3e344 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-special-meth-contains-super-set.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-special-meth-contains-super-set.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C extends Function{
   set method(_) {
diff --git a/test/language/statements/class/syntax/early-errors/grammar-special-meth-ctor-async-gen.js b/test/language/statements/class/syntax/early-errors/grammar-special-meth-ctor-async-gen.js
index b3b743ecde..a5c15026f5 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-special-meth-ctor-async-gen.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-special-meth-ctor-async-gen.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   async * constructor() {}
diff --git a/test/language/statements/class/syntax/early-errors/grammar-special-meth-ctor-async-meth.js b/test/language/statements/class/syntax/early-errors/grammar-special-meth-ctor-async-meth.js
index 71d9eb5f14..67cdbe9d1a 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-special-meth-ctor-async-meth.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-special-meth-ctor-async-meth.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   async constructor() {}
diff --git a/test/language/statements/class/syntax/early-errors/grammar-special-meth-ctor-gen.js b/test/language/statements/class/syntax/early-errors/grammar-special-meth-ctor-gen.js
index fd2c71a042..adb6818c0e 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-special-meth-ctor-gen.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-special-meth-ctor-gen.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   * constructor() {}
diff --git a/test/language/statements/class/syntax/early-errors/grammar-special-meth-ctor-get.js b/test/language/statements/class/syntax/early-errors/grammar-special-meth-ctor-get.js
index 47b83a1de7..bfbb5f28da 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-special-meth-ctor-get.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-special-meth-ctor-get.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   get constructor() {}
diff --git a/test/language/statements/class/syntax/early-errors/grammar-special-meth-ctor-set.js b/test/language/statements/class/syntax/early-errors/grammar-special-meth-ctor-set.js
index 7567981c19..c03ba24d83 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-special-meth-ctor-set.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-special-meth-ctor-set.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   set constructor(_) {}
diff --git a/test/language/statements/class/syntax/early-errors/grammar-static-async-gen-meth-prototype.js b/test/language/statements/class/syntax/early-errors/grammar-static-async-gen-meth-prototype.js
index d7f677c87e..fc7a232a2a 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-static-async-gen-meth-prototype.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-static-async-gen-meth-prototype.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   static async * prototype() {}
diff --git a/test/language/statements/class/syntax/early-errors/grammar-static-async-gen-meth-super.js b/test/language/statements/class/syntax/early-errors/grammar-static-async-gen-meth-super.js
index d39b10646d..1c2c4bdbaf 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-static-async-gen-meth-super.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-static-async-gen-meth-super.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C extends Function{
   static async * method() {
diff --git a/test/language/statements/class/syntax/early-errors/grammar-static-async-meth-prototype.js b/test/language/statements/class/syntax/early-errors/grammar-static-async-meth-prototype.js
index f642d0afd6..88e4b95f21 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-static-async-meth-prototype.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-static-async-meth-prototype.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   static async prototype() {}
diff --git a/test/language/statements/class/syntax/early-errors/grammar-static-async-meth-super.js b/test/language/statements/class/syntax/early-errors/grammar-static-async-meth-super.js
index 29b525e042..a197726c35 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-static-async-meth-super.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-static-async-meth-super.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C extends Function{
   static async method() {
diff --git a/test/language/statements/class/syntax/early-errors/grammar-static-gen-meth-prototype.js b/test/language/statements/class/syntax/early-errors/grammar-static-gen-meth-prototype.js
index 986f7f00f9..c5c5529e4f 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-static-gen-meth-prototype.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-static-gen-meth-prototype.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   static * prototype() {}
diff --git a/test/language/statements/class/syntax/early-errors/grammar-static-gen-meth-super.js b/test/language/statements/class/syntax/early-errors/grammar-static-gen-meth-super.js
index 2592471dcc..3e69a7a449 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-static-gen-meth-super.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-static-gen-meth-super.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C extends Function{
   static * method() {
diff --git a/test/language/statements/class/syntax/early-errors/grammar-static-get-meth-prototype.js b/test/language/statements/class/syntax/early-errors/grammar-static-get-meth-prototype.js
index 6f24c3418d..962994e0da 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-static-get-meth-prototype.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-static-get-meth-prototype.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   static get prototype() {}
diff --git a/test/language/statements/class/syntax/early-errors/grammar-static-get-meth-super.js b/test/language/statements/class/syntax/early-errors/grammar-static-get-meth-super.js
index 6e912a1080..a72499191f 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-static-get-meth-super.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-static-get-meth-super.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C extends Function{
   static get method() {
diff --git a/test/language/statements/class/syntax/early-errors/grammar-static-meth-prototype.js b/test/language/statements/class/syntax/early-errors/grammar-static-meth-prototype.js
index 92ab353af5..f869215429 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-static-meth-prototype.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-static-meth-prototype.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   static prototype() {}
diff --git a/test/language/statements/class/syntax/early-errors/grammar-static-meth-super.js b/test/language/statements/class/syntax/early-errors/grammar-static-meth-super.js
index d3e3d83f68..8ca8799d49 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-static-meth-super.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-static-meth-super.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C extends Function{
   static method() {
diff --git a/test/language/statements/class/syntax/early-errors/grammar-static-private-async-gen-meth-constructor.js b/test/language/statements/class/syntax/early-errors/grammar-static-private-async-gen-meth-constructor.js
index 7ec4a4851e..44037825e0 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-static-private-async-gen-meth-constructor.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-static-private-async-gen-meth-constructor.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   static async * #constructor() {}
diff --git a/test/language/statements/class/syntax/early-errors/grammar-static-private-async-gen-meth-super.js b/test/language/statements/class/syntax/early-errors/grammar-static-private-async-gen-meth-super.js
index d680045a80..9fc2361c31 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-static-private-async-gen-meth-super.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-static-private-async-gen-meth-super.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C extends Function{
   static async * #method() {
diff --git a/test/language/statements/class/syntax/early-errors/grammar-static-private-async-meth-constructor.js b/test/language/statements/class/syntax/early-errors/grammar-static-private-async-meth-constructor.js
index 61c1a01286..1291fc8082 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-static-private-async-meth-constructor.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-static-private-async-meth-constructor.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   static async #constructor() {}
diff --git a/test/language/statements/class/syntax/early-errors/grammar-static-private-async-meth-super.js b/test/language/statements/class/syntax/early-errors/grammar-static-private-async-meth-super.js
index 5376dd23bc..d40db23a92 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-static-private-async-meth-super.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-static-private-async-meth-super.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C extends Function{
   static async #method() {
diff --git a/test/language/statements/class/syntax/early-errors/grammar-static-private-gen-meth-constructor.js b/test/language/statements/class/syntax/early-errors/grammar-static-private-gen-meth-constructor.js
index 75f7fe27d6..6e4703bebb 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-static-private-gen-meth-constructor.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-static-private-gen-meth-constructor.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   static * #constructor() {}
diff --git a/test/language/statements/class/syntax/early-errors/grammar-static-private-gen-meth-super.js b/test/language/statements/class/syntax/early-errors/grammar-static-private-gen-meth-super.js
index 93545e4f06..cdca4fbb3c 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-static-private-gen-meth-super.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-static-private-gen-meth-super.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C extends Function{
   static * #method() {
diff --git a/test/language/statements/class/syntax/early-errors/grammar-static-private-meth-constructor.js b/test/language/statements/class/syntax/early-errors/grammar-static-private-meth-constructor.js
index 6327d3022c..407293481f 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-static-private-meth-constructor.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-static-private-meth-constructor.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   static #constructor() {}
diff --git a/test/language/statements/class/syntax/early-errors/grammar-static-private-meth-super.js b/test/language/statements/class/syntax/early-errors/grammar-static-private-meth-super.js
index 85cccd5fd3..dec213feed 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-static-private-meth-super.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-static-private-meth-super.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C extends Function{
   static #method() {
diff --git a/test/language/statements/class/syntax/early-errors/grammar-static-privatename-constructor.js b/test/language/statements/class/syntax/early-errors/grammar-static-privatename-constructor.js
index ac9b448bc3..d5700bb03b 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-static-privatename-constructor.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-static-privatename-constructor.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   static #constructor
diff --git a/test/language/statements/class/syntax/early-errors/grammar-static-set-meth-prototype.js b/test/language/statements/class/syntax/early-errors/grammar-static-set-meth-prototype.js
index 222486686e..4c3829b62d 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-static-set-meth-prototype.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-static-set-meth-prototype.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   static set prototype(_) {}
diff --git a/test/language/statements/class/syntax/early-errors/grammar-static-set-meth-super.js b/test/language/statements/class/syntax/early-errors/grammar-static-set-meth-super.js
index 1e80966207..fe836d7975 100644
--- a/test/language/statements/class/syntax/early-errors/grammar-static-set-meth-super.js
+++ b/test/language/statements/class/syntax/early-errors/grammar-static-set-meth-super.js
@@ -18,7 +18,7 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C extends Function{
   static set method(_) {
diff --git a/test/language/statements/class/syntax/escaped-static.js b/test/language/statements/class/syntax/escaped-static.js
index 142e1947e5..1be53dc661 100644
--- a/test/language/statements/class/syntax/escaped-static.js
+++ b/test/language/statements/class/syntax/escaped-static.js
@@ -18,7 +18,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 class C {
   st\u0061tic m() {}
diff --git a/test/language/statements/const/dstr-ary-ptrn-rest-init-ary.js b/test/language/statements/const/dstr-ary-ptrn-rest-init-ary.js
index 03fb036a04..d8924e9d00 100644
--- a/test/language/statements/const/dstr-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/const/dstr-ary-ptrn-rest-init-ary.js
@@ -26,7 +26,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 const [...[ x ] = []] = [];
 
diff --git a/test/language/statements/const/dstr-ary-ptrn-rest-init-id.js b/test/language/statements/const/dstr-ary-ptrn-rest-init-id.js
index 6d3a0576c0..4dccb13f67 100644
--- a/test/language/statements/const/dstr-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/const/dstr-ary-ptrn-rest-init-id.js
@@ -26,7 +26,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 const [...x = []] = [];
 
diff --git a/test/language/statements/const/dstr-ary-ptrn-rest-init-obj.js b/test/language/statements/const/dstr-ary-ptrn-rest-init-obj.js
index 7acb169a40..078b460240 100644
--- a/test/language/statements/const/dstr-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/const/dstr-ary-ptrn-rest-init-obj.js
@@ -26,7 +26,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 const [...{ x } = []] = [];
 
diff --git a/test/language/statements/const/dstr-ary-ptrn-rest-not-final-ary.js b/test/language/statements/const/dstr-ary-ptrn-rest-not-final-ary.js
index d30b89db77..49c02b41a8 100644
--- a/test/language/statements/const/dstr-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/const/dstr-ary-ptrn-rest-not-final-ary.js
@@ -26,7 +26,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 const [...[x], y] = [1, 2, 3];
 
diff --git a/test/language/statements/const/dstr-ary-ptrn-rest-not-final-id.js b/test/language/statements/const/dstr-ary-ptrn-rest-not-final-id.js
index ae1a87706e..ac0ed26da8 100644
--- a/test/language/statements/const/dstr-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/const/dstr-ary-ptrn-rest-not-final-id.js
@@ -26,7 +26,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 const [...x, y] = [1, 2, 3];
 
diff --git a/test/language/statements/const/dstr-ary-ptrn-rest-not-final-obj.js b/test/language/statements/const/dstr-ary-ptrn-rest-not-final-obj.js
index 6b5c8e74b6..e425654566 100644
--- a/test/language/statements/const/dstr-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/const/dstr-ary-ptrn-rest-not-final-obj.js
@@ -26,7 +26,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 const [...{ x }, y] = [1, 2, 3];
 
diff --git a/test/language/statements/const/redeclaration-error-from-within-strict-mode-function-const.js b/test/language/statements/const/redeclaration-error-from-within-strict-mode-function-const.js
index 13f5a10a22..a8e61b00cd 100644
--- a/test/language/statements/const/redeclaration-error-from-within-strict-mode-function-const.js
+++ b/test/language/statements/const/redeclaration-error-from-within-strict-mode-function-const.js
@@ -10,6 +10,6 @@ negative:
 flags: [noStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 (function() { 'use strict'; { const f = 1; var f; } })
 
diff --git a/test/language/statements/const/syntax/block-scope-syntax-const-declarations-mixed-with-without-initialiser.js b/test/language/statements/const/syntax/block-scope-syntax-const-declarations-mixed-with-without-initialiser.js
index b393808c64..1e8be114c4 100644
--- a/test/language/statements/const/syntax/block-scope-syntax-const-declarations-mixed-with-without-initialiser.js
+++ b/test/language/statements/const/syntax/block-scope-syntax-const-declarations-mixed-with-without-initialiser.js
@@ -9,6 +9,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 const x = 1, y;
 
diff --git a/test/language/statements/const/syntax/block-scope-syntax-const-declarations-mixed-without-with-initialiser.js b/test/language/statements/const/syntax/block-scope-syntax-const-declarations-mixed-without-with-initialiser.js
index 3a1594cb2c..0dbc2f3003 100644
--- a/test/language/statements/const/syntax/block-scope-syntax-const-declarations-mixed-without-with-initialiser.js
+++ b/test/language/statements/const/syntax/block-scope-syntax-const-declarations-mixed-without-with-initialiser.js
@@ -9,6 +9,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 const x, y = 1;
 
diff --git a/test/language/statements/const/syntax/block-scope-syntax-const-declarations-without-initialiser.js b/test/language/statements/const/syntax/block-scope-syntax-const-declarations-without-initialiser.js
index 7fb2a10858..e1dcde49b3 100644
--- a/test/language/statements/const/syntax/block-scope-syntax-const-declarations-without-initialiser.js
+++ b/test/language/statements/const/syntax/block-scope-syntax-const-declarations-without-initialiser.js
@@ -9,6 +9,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 const x;
 
diff --git a/test/language/statements/const/syntax/const-declaring-let-split-across-two-lines.js b/test/language/statements/const/syntax/const-declaring-let-split-across-two-lines.js
index bccd7ee6f3..e9282284b6 100644
--- a/test/language/statements/const/syntax/const-declaring-let-split-across-two-lines.js
+++ b/test/language/statements/const/syntax/const-declaring-let-split-across-two-lines.js
@@ -13,7 +13,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 const
 let = "irrelevant initializer";
diff --git a/test/language/statements/const/syntax/with-initializer-do-statement-while-expression.js b/test/language/statements/const/syntax/with-initializer-do-statement-while-expression.js
index a534392f24..abf0980373 100644
--- a/test/language/statements/const/syntax/with-initializer-do-statement-while-expression.js
+++ b/test/language/statements/const/syntax/with-initializer-do-statement-while-expression.js
@@ -3,12 +3,12 @@
 /*---
 es6id: 13.1
 description: >
-    const declarations with initialisers in statement positions: 
+    const declarations with initialisers in statement positions:
     do Statement while ( Expression )
 negative:
   phase: parse
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 do const x = 1; while (false)
diff --git a/test/language/statements/const/syntax/with-initializer-for-statement.js b/test/language/statements/const/syntax/with-initializer-for-statement.js
index 4b8f16c91a..eecd4c23fd 100644
--- a/test/language/statements/const/syntax/with-initializer-for-statement.js
+++ b/test/language/statements/const/syntax/with-initializer-for-statement.js
@@ -3,12 +3,12 @@
 /*---
 es6id: 13.1
 description: >
-    const declarations with initialisers in statement positions: 
+    const declarations with initialisers in statement positions:
     for ( ;;) Statement
 negative:
   phase: parse
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 for (;false;) const x = 1;
diff --git a/test/language/statements/const/syntax/with-initializer-if-expression-statement-else-statement.js b/test/language/statements/const/syntax/with-initializer-if-expression-statement-else-statement.js
index c57efc8a88..53e691353f 100644
--- a/test/language/statements/const/syntax/with-initializer-if-expression-statement-else-statement.js
+++ b/test/language/statements/const/syntax/with-initializer-if-expression-statement-else-statement.js
@@ -3,12 +3,12 @@
 /*---
 es6id: 13.1
 description: >
-    const declarations with initialisers in statement positions: 
+    const declarations with initialisers in statement positions:
     if ( Expression ) Statement else Statement
 negative:
   phase: parse
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 if (true) {} else const x = 1;
diff --git a/test/language/statements/const/syntax/with-initializer-if-expression-statement.js b/test/language/statements/const/syntax/with-initializer-if-expression-statement.js
index 07ecebd231..090ee620b8 100644
--- a/test/language/statements/const/syntax/with-initializer-if-expression-statement.js
+++ b/test/language/statements/const/syntax/with-initializer-if-expression-statement.js
@@ -3,12 +3,12 @@
 /*---
 es6id: 13.1
 description: >
-    const declarations with initialisers in statement positions: 
+    const declarations with initialisers in statement positions:
     if ( Expression ) Statement
 negative:
   phase: parse
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 if (true) const x = 1;
diff --git a/test/language/statements/const/syntax/with-initializer-label-statement.js b/test/language/statements/const/syntax/with-initializer-label-statement.js
index 85cbbf13d8..a1e2162fee 100644
--- a/test/language/statements/const/syntax/with-initializer-label-statement.js
+++ b/test/language/statements/const/syntax/with-initializer-label-statement.js
@@ -3,12 +3,12 @@
 /*---
 es6id: 13.1
 description: >
-    const declarations with initialisers in statement positions: 
+    const declarations with initialisers in statement positions:
     label: Statement
 negative:
   phase: parse
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 label: const x = 1;
diff --git a/test/language/statements/const/syntax/with-initializer-while-expression-statement.js b/test/language/statements/const/syntax/with-initializer-while-expression-statement.js
index a2a69ceccf..d4af176951 100644
--- a/test/language/statements/const/syntax/with-initializer-while-expression-statement.js
+++ b/test/language/statements/const/syntax/with-initializer-while-expression-statement.js
@@ -3,12 +3,12 @@
 /*---
 es6id: 13.1
 description: >
-    const declarations with initialisers in statement positions: 
+    const declarations with initialisers in statement positions:
     while ( Expression ) Statement
 negative:
   phase: parse
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 while (false) const x = 1;
diff --git a/test/language/statements/const/syntax/without-initializer-case-expression-statement-list.js b/test/language/statements/const/syntax/without-initializer-case-expression-statement-list.js
index 371743f0a6..31f99364a5 100644
--- a/test/language/statements/const/syntax/without-initializer-case-expression-statement-list.js
+++ b/test/language/statements/const/syntax/without-initializer-case-expression-statement-list.js
@@ -3,12 +3,12 @@
 /*---
 es6id: 13.1
 description: >
-    const declarations without initialisers in statement positions: 
+    const declarations without initialisers in statement positions:
     case Expression : StatementList
 negative:
   phase: parse
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 switch (true) { case true: const x; }
diff --git a/test/language/statements/const/syntax/without-initializer-default-statement-list.js b/test/language/statements/const/syntax/without-initializer-default-statement-list.js
index 1c420a67e9..b456656f28 100644
--- a/test/language/statements/const/syntax/without-initializer-default-statement-list.js
+++ b/test/language/statements/const/syntax/without-initializer-default-statement-list.js
@@ -3,12 +3,12 @@
 /*---
 es6id: 13.1
 description: >
-    const declarations without initialisers in statement positions: 
+    const declarations without initialisers in statement positions:
     default : StatementList
 negative:
   phase: parse
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 switch (true) { default: const x; }
diff --git a/test/language/statements/const/syntax/without-initializer-do-statement-while-expression.js b/test/language/statements/const/syntax/without-initializer-do-statement-while-expression.js
index 554b1591e1..7deb43ac94 100644
--- a/test/language/statements/const/syntax/without-initializer-do-statement-while-expression.js
+++ b/test/language/statements/const/syntax/without-initializer-do-statement-while-expression.js
@@ -3,12 +3,12 @@
 /*---
 es6id: 13.1
 description: >
-    const declarations without initialisers in statement positions: 
+    const declarations without initialisers in statement positions:
     do Statement while ( Expression )
 negative:
   phase: parse
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 do const x; while (false)
diff --git a/test/language/statements/const/syntax/without-initializer-for-statement.js b/test/language/statements/const/syntax/without-initializer-for-statement.js
index 87f6abb4c1..75f0829379 100644
--- a/test/language/statements/const/syntax/without-initializer-for-statement.js
+++ b/test/language/statements/const/syntax/without-initializer-for-statement.js
@@ -3,12 +3,12 @@
 /*---
 es6id: 13.1
 description: >
-    const declarations without initialisers in statement positions: 
+    const declarations without initialisers in statement positions:
     for ( ;;) Statement
 negative:
   phase: parse
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 for (;false;) const x;
diff --git a/test/language/statements/const/syntax/without-initializer-if-expression-statement-else-statement.js b/test/language/statements/const/syntax/without-initializer-if-expression-statement-else-statement.js
index 5cb77242e7..c016156a47 100644
--- a/test/language/statements/const/syntax/without-initializer-if-expression-statement-else-statement.js
+++ b/test/language/statements/const/syntax/without-initializer-if-expression-statement-else-statement.js
@@ -3,12 +3,12 @@
 /*---
 es6id: 13.1
 description: >
-    const declarations without initialisers in statement positions: 
+    const declarations without initialisers in statement positions:
     if ( Expression ) Statement else Statement
 negative:
   phase: parse
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 if (true) {} else const x;
diff --git a/test/language/statements/const/syntax/without-initializer-if-expression-statement.js b/test/language/statements/const/syntax/without-initializer-if-expression-statement.js
index bd9e1eb05c..b6904d05cf 100644
--- a/test/language/statements/const/syntax/without-initializer-if-expression-statement.js
+++ b/test/language/statements/const/syntax/without-initializer-if-expression-statement.js
@@ -3,12 +3,12 @@
 /*---
 es6id: 13.1
 description: >
-    const declarations without initialisers in statement positions: 
+    const declarations without initialisers in statement positions:
     if ( Expression ) Statement
 negative:
   phase: parse
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 if (true) const x;
diff --git a/test/language/statements/const/syntax/without-initializer-label-statement.js b/test/language/statements/const/syntax/without-initializer-label-statement.js
index 0a18834ff6..95fc49c565 100644
--- a/test/language/statements/const/syntax/without-initializer-label-statement.js
+++ b/test/language/statements/const/syntax/without-initializer-label-statement.js
@@ -3,12 +3,12 @@
 /*---
 es6id: 13.1
 description: >
-    const declarations without initialisers in statement positions: 
+    const declarations without initialisers in statement positions:
     label: Statement
 negative:
   phase: parse
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 label: const x;
diff --git a/test/language/statements/const/syntax/without-initializer-while-expression-statement.js b/test/language/statements/const/syntax/without-initializer-while-expression-statement.js
index 269a8d950c..2790903631 100644
--- a/test/language/statements/const/syntax/without-initializer-while-expression-statement.js
+++ b/test/language/statements/const/syntax/without-initializer-while-expression-statement.js
@@ -3,12 +3,12 @@
 /*---
 es6id: 13.1
 description: >
-    const declarations without initialisers in statement positions: 
+    const declarations without initialisers in statement positions:
     while ( Expression ) Statement
 negative:
   phase: parse
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 while (false) const x;
diff --git a/test/language/statements/continue/S12.7_A1_T1.js b/test/language/statements/continue/S12.7_A1_T1.js
index b0976cbb1b..82355d5cc3 100644
--- a/test/language/statements/continue/S12.7_A1_T1.js
+++ b/test/language/statements/continue/S12.7_A1_T1.js
@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //////////////////////////////////////////////////////////////////////////////
 //CHECK#1
diff --git a/test/language/statements/continue/S12.7_A1_T2.js b/test/language/statements/continue/S12.7_A1_T2.js
index 2746876926..d20790b9c7 100644
--- a/test/language/statements/continue/S12.7_A1_T2.js
+++ b/test/language/statements/continue/S12.7_A1_T2.js
@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 LABEL : x=3.14;
 
diff --git a/test/language/statements/continue/S12.7_A1_T3.js b/test/language/statements/continue/S12.7_A1_T3.js
index 26152c8098..a7a805c3c7 100644
--- a/test/language/statements/continue/S12.7_A1_T3.js
+++ b/test/language/statements/continue/S12.7_A1_T3.js
@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 LABEL : x=3.14;
 
diff --git a/test/language/statements/continue/S12.7_A1_T4.js b/test/language/statements/continue/S12.7_A1_T4.js
index 68da0df0a9..081c838581 100644
--- a/test/language/statements/continue/S12.7_A1_T4.js
+++ b/test/language/statements/continue/S12.7_A1_T4.js
@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //////////////////////////////////////////////////////////////////////////////
 //CHECK#1
diff --git a/test/language/statements/continue/S12.7_A5_T1.js b/test/language/statements/continue/S12.7_A5_T1.js
index a5a2864ba4..58950345ce 100644
--- a/test/language/statements/continue/S12.7_A5_T1.js
+++ b/test/language/statements/continue/S12.7_A5_T1.js
@@ -13,7 +13,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 LABEL_OUT : var x=0, y=0;
 LABEL_DO_LOOP : do {
diff --git a/test/language/statements/continue/S12.7_A5_T2.js b/test/language/statements/continue/S12.7_A5_T2.js
index b3a94b0bfb..199f73b944 100644
--- a/test/language/statements/continue/S12.7_A5_T2.js
+++ b/test/language/statements/continue/S12.7_A5_T2.js
@@ -13,7 +13,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 LABEL_OUT : var x=0, y=0;
 LABEL_DO_LOOP : do {
diff --git a/test/language/statements/continue/S12.7_A5_T3.js b/test/language/statements/continue/S12.7_A5_T3.js
index 57cc2ba770..75376f9985 100644
--- a/test/language/statements/continue/S12.7_A5_T3.js
+++ b/test/language/statements/continue/S12.7_A5_T3.js
@@ -13,7 +13,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 LABEL_OUT : var x=0, y=0;
 
diff --git a/test/language/statements/continue/S12.7_A6.js b/test/language/statements/continue/S12.7_A6.js
index 2f37cf23d3..93608856a5 100644
--- a/test/language/statements/continue/S12.7_A6.js
+++ b/test/language/statements/continue/S12.7_A6.js
@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var x=0,y=0;
 
diff --git a/test/language/statements/continue/S12.7_A8_T1.js b/test/language/statements/continue/S12.7_A8_T1.js
index 3e79fc9610..fe7f646fb0 100644
--- a/test/language/statements/continue/S12.7_A8_T1.js
+++ b/test/language/statements/continue/S12.7_A8_T1.js
@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 try{
 } catch(e){
diff --git a/test/language/statements/continue/S12.7_A8_T2.js b/test/language/statements/continue/S12.7_A8_T2.js
index 2141f33c29..f0d1bc5255 100644
--- a/test/language/statements/continue/S12.7_A8_T2.js
+++ b/test/language/statements/continue/S12.7_A8_T2.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 try{
 } catch(e){
diff --git a/test/language/statements/debugger/expression.js b/test/language/statements/debugger/expression.js
index eebfe1cd5d..82e42c9b02 100644
--- a/test/language/statements/debugger/expression.js
+++ b/test/language/statements/debugger/expression.js
@@ -9,6 +9,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 (debugger);
diff --git a/test/language/statements/do-while/S12.6.1_A12.js b/test/language/statements/do-while/S12.6.1_A12.js
index 6258c2e971..14501821f2 100644
--- a/test/language/statements/do-while/S12.6.1_A12.js
+++ b/test/language/statements/do-while/S12.6.1_A12.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //////////////////////////////////////////////////////////////////////////////
 //CHECK#1
diff --git a/test/language/statements/do-while/S12.6.1_A15.js b/test/language/statements/do-while/S12.6.1_A15.js
index aa94992604..0e3287d3b4 100644
--- a/test/language/statements/do-while/S12.6.1_A15.js
+++ b/test/language/statements/do-while/S12.6.1_A15.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //////////////////////////////////////////////////////////////////////////////
 //CHECK#
diff --git a/test/language/statements/do-while/S12.6.1_A6_T1.js b/test/language/statements/do-while/S12.6.1_A6_T1.js
index 85fbaa5e20..dfc2bc2932 100644
--- a/test/language/statements/do-while/S12.6.1_A6_T1.js
+++ b/test/language/statements/do-while/S12.6.1_A6_T1.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //////////////////////////////////////////////////////////////////////////////
 //CHECK#1
diff --git a/test/language/statements/do-while/S12.6.1_A6_T2.js b/test/language/statements/do-while/S12.6.1_A6_T2.js
index 2f7295bc33..4c1eb4675b 100644
--- a/test/language/statements/do-while/S12.6.1_A6_T2.js
+++ b/test/language/statements/do-while/S12.6.1_A6_T2.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //////////////////////////////////////////////////////////////////////////////
 //CHECK#1
diff --git a/test/language/statements/do-while/S12.6.1_A6_T3.js b/test/language/statements/do-while/S12.6.1_A6_T3.js
index 3c5eec48a1..52754aa6df 100644
--- a/test/language/statements/do-while/S12.6.1_A6_T3.js
+++ b/test/language/statements/do-while/S12.6.1_A6_T3.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //////////////////////////////////////////////////////////////////////////////
 //CHECK#1
diff --git a/test/language/statements/do-while/S12.6.1_A6_T4.js b/test/language/statements/do-while/S12.6.1_A6_T4.js
index a07dc924e9..603e92d6ad 100644
--- a/test/language/statements/do-while/S12.6.1_A6_T4.js
+++ b/test/language/statements/do-while/S12.6.1_A6_T4.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //////////////////////////////////////////////////////////////////////////////
 //CHECK#1
diff --git a/test/language/statements/do-while/S12.6.1_A6_T5.js b/test/language/statements/do-while/S12.6.1_A6_T5.js
index 0ba82a7b3f..a3ada5eff3 100644
--- a/test/language/statements/do-while/S12.6.1_A6_T5.js
+++ b/test/language/statements/do-while/S12.6.1_A6_T5.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //////////////////////////////////////////////////////////////////////////////
 //CHECK#1
diff --git a/test/language/statements/do-while/S12.6.1_A6_T6.js b/test/language/statements/do-while/S12.6.1_A6_T6.js
index 74582b03fc..087102def6 100644
--- a/test/language/statements/do-while/S12.6.1_A6_T6.js
+++ b/test/language/statements/do-while/S12.6.1_A6_T6.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //////////////////////////////////////////////////////////////////////////////
 //CHECK#1
diff --git a/test/language/statements/do-while/decl-async-fun.js b/test/language/statements/do-while/decl-async-fun.js
index 8d9977b6ba..07e259a7f8 100644
--- a/test/language/statements/do-while/decl-async-fun.js
+++ b/test/language/statements/do-while/decl-async-fun.js
@@ -15,6 +15,6 @@ negative:
 features: [async-functions]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 do async function f() {} while (false)
diff --git a/test/language/statements/do-while/decl-async-gen.js b/test/language/statements/do-while/decl-async-gen.js
index b14569e9f1..74bea4dd6a 100644
--- a/test/language/statements/do-while/decl-async-gen.js
+++ b/test/language/statements/do-while/decl-async-gen.js
@@ -15,6 +15,6 @@ negative:
 features: [async-iteration]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 do async function* g() {} while (false)
diff --git a/test/language/statements/do-while/decl-cls.js b/test/language/statements/do-while/decl-cls.js
index 06373f8192..68eb69c5f4 100644
--- a/test/language/statements/do-while/decl-cls.js
+++ b/test/language/statements/do-while/decl-cls.js
@@ -9,6 +9,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 do class C {} while (false)
diff --git a/test/language/statements/do-while/decl-const.js b/test/language/statements/do-while/decl-const.js
index 244bab060e..0100622c9b 100644
--- a/test/language/statements/do-while/decl-const.js
+++ b/test/language/statements/do-while/decl-const.js
@@ -9,6 +9,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 do const x = null; while (false)
diff --git a/test/language/statements/do-while/decl-fun.js b/test/language/statements/do-while/decl-fun.js
index 0c7c902590..0536ed73a4 100644
--- a/test/language/statements/do-while/decl-fun.js
+++ b/test/language/statements/do-while/decl-fun.js
@@ -9,6 +9,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 do function f() {} while (false)
diff --git a/test/language/statements/do-while/decl-gen.js b/test/language/statements/do-while/decl-gen.js
index 9d78cd5429..19fb049d93 100644
--- a/test/language/statements/do-while/decl-gen.js
+++ b/test/language/statements/do-while/decl-gen.js
@@ -10,6 +10,6 @@ negative:
 features: [generators]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 do function* g() {} while (false)
diff --git a/test/language/statements/do-while/decl-let.js b/test/language/statements/do-while/decl-let.js
index 48eb1ec598..b0124e5f0a 100644
--- a/test/language/statements/do-while/decl-let.js
+++ b/test/language/statements/do-while/decl-let.js
@@ -9,6 +9,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 do let x; while (false)
diff --git a/test/language/statements/do-while/labelled-fn-stmt.js b/test/language/statements/do-while/labelled-fn-stmt.js
index 9699844cb1..6a81e27f42 100644
--- a/test/language/statements/do-while/labelled-fn-stmt.js
+++ b/test/language/statements/do-while/labelled-fn-stmt.js
@@ -13,6 +13,6 @@ info: |
     of the language mode.
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 do label1: label2: function f() {} while (false)
diff --git a/test/language/statements/do-while/let-array-with-newline.js b/test/language/statements/do-while/let-array-with-newline.js
index 75b48eab96..2826b89934 100644
--- a/test/language/statements/do-while/let-array-with-newline.js
+++ b/test/language/statements/do-while/let-array-with-newline.js
@@ -15,7 +15,7 @@ negative:
 flags: [noStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 do let
 [x] = 0
diff --git a/test/language/statements/expression/S12.4_A1.js b/test/language/statements/expression/S12.4_A1.js
index 42be8d96d0..126ded2822 100644
--- a/test/language/statements/expression/S12.4_A1.js
+++ b/test/language/statements/expression/S12.4_A1.js
@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //////////////////////////////////////////////////////////////////////////////
 //CHECK#1
diff --git a/test/language/statements/for-await-of/async-func-decl-dstr-array-elem-init-yield-ident-invalid.js b/test/language/statements/for-await-of/async-func-decl-dstr-array-elem-init-yield-ident-invalid.js
index f617de7f9c..dd7258924b 100644
--- a/test/language/statements/for-await-of/async-func-decl-dstr-array-elem-init-yield-ident-invalid.js
+++ b/test/language/statements/for-await-of/async-func-decl-dstr-array-elem-init-yield-ident-invalid.js
@@ -27,7 +27,7 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 async function fn() {
   for await ([ x = yield ] of [[]])
diff --git a/test/language/statements/for-await-of/async-func-decl-dstr-array-elem-nested-array-invalid.js b/test/language/statements/for-await-of/async-func-decl-dstr-array-elem-nested-array-invalid.js
index e8fb99e204..3e83fe6ad6 100644
--- a/test/language/statements/for-await-of/async-func-decl-dstr-array-elem-nested-array-invalid.js
+++ b/test/language/statements/for-await-of/async-func-decl-dstr-array-elem-nested-array-invalid.js
@@ -27,7 +27,7 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 async function fn() {
   for await ([[(x, y)]] of [[[]]])
diff --git a/test/language/statements/for-await-of/async-func-decl-dstr-array-elem-nested-array-yield-ident-invalid.js b/test/language/statements/for-await-of/async-func-decl-dstr-array-elem-nested-array-yield-ident-invalid.js
index 01096e9f63..67d4fcb0a1 100644
--- a/test/language/statements/for-await-of/async-func-decl-dstr-array-elem-nested-array-yield-ident-invalid.js
+++ b/test/language/statements/for-await-of/async-func-decl-dstr-array-elem-nested-array-yield-ident-invalid.js
@@ -27,7 +27,7 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 async function fn() {
   for await ([[x[yield]]] of [[[]]])
diff --git a/test/language/statements/for-await-of/async-func-decl-dstr-array-elem-nested-obj-invalid.js b/test/language/statements/for-await-of/async-func-decl-dstr-array-elem-nested-obj-invalid.js
index be0fc39c1d..5df076db73 100644
--- a/test/language/statements/for-await-of/async-func-decl-dstr-array-elem-nested-obj-invalid.js
+++ b/test/language/statements/for-await-of/async-func-decl-dstr-array-elem-nested-obj-invalid.js
@@ -27,7 +27,7 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 async function fn() {
   for await ([{ get x() {} }] of [[{}]])
diff --git a/test/language/statements/for-await-of/async-func-decl-dstr-array-elem-nested-obj-yield-ident-invalid.js b/test/language/statements/for-await-of/async-func-decl-dstr-array-elem-nested-obj-yield-ident-invalid.js
index bd9edf9999..98b5cac32d 100644
--- a/test/language/statements/for-await-of/async-func-decl-dstr-array-elem-nested-obj-yield-ident-invalid.js
+++ b/test/language/statements/for-await-of/async-func-decl-dstr-array-elem-nested-obj-yield-ident-invalid.js
@@ -27,7 +27,7 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 async function fn() {
   for await ([{ x = yield }] of [[{}]])
diff --git a/test/language/statements/for-await-of/async-func-decl-dstr-array-elem-target-simple-strict.js b/test/language/statements/for-await-of/async-func-decl-dstr-array-elem-target-simple-strict.js
index f03895aebc..a1f6ff24b7 100644
--- a/test/language/statements/for-await-of/async-func-decl-dstr-array-elem-target-simple-strict.js
+++ b/test/language/statements/for-await-of/async-func-decl-dstr-array-elem-target-simple-strict.js
@@ -27,7 +27,7 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 async function fn() {
   for await ([arguments] of [[]])
diff --git a/test/language/statements/for-await-of/async-func-decl-dstr-array-elem-target-yield-invalid.js b/test/language/statements/for-await-of/async-func-decl-dstr-array-elem-target-yield-invalid.js
index a8c17f1481..074b2f892d 100644
--- a/test/language/statements/for-await-of/async-func-decl-dstr-array-elem-target-yield-invalid.js
+++ b/test/language/statements/for-await-of/async-func-decl-dstr-array-elem-target-yield-invalid.js
@@ -27,7 +27,7 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 async function fn() {
   for await ([ x[yield] ] of [[]])
diff --git a/test/language/statements/for-await-of/async-func-dstr-const-ary-ptrn-rest-init-ary.js b/test/language/statements/for-await-of/async-func-dstr-const-ary-ptrn-rest-init-ary.js
index 8285accd92..887108475b 100644
--- a/test/language/statements/for-await-of/async-func-dstr-const-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/for-await-of/async-func-dstr-const-ary-ptrn-rest-init-ary.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-await-of/async-func-dstr-const-ary-ptrn-rest-init-id.js b/test/language/statements/for-await-of/async-func-dstr-const-ary-ptrn-rest-init-id.js
index 9c5ecca8fd..294d76d88a 100644
--- a/test/language/statements/for-await-of/async-func-dstr-const-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/for-await-of/async-func-dstr-const-ary-ptrn-rest-init-id.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-await-of/async-func-dstr-const-ary-ptrn-rest-init-obj.js b/test/language/statements/for-await-of/async-func-dstr-const-ary-ptrn-rest-init-obj.js
index ec57e41084..fcd0e46e70 100644
--- a/test/language/statements/for-await-of/async-func-dstr-const-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/for-await-of/async-func-dstr-const-ary-ptrn-rest-init-obj.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-await-of/async-func-dstr-const-ary-ptrn-rest-not-final-ary.js b/test/language/statements/for-await-of/async-func-dstr-const-ary-ptrn-rest-not-final-ary.js
index 9ad7a5c74e..d7b50d9bcb 100644
--- a/test/language/statements/for-await-of/async-func-dstr-const-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/for-await-of/async-func-dstr-const-ary-ptrn-rest-not-final-ary.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-await-of/async-func-dstr-const-ary-ptrn-rest-not-final-id.js b/test/language/statements/for-await-of/async-func-dstr-const-ary-ptrn-rest-not-final-id.js
index 2beeb20365..3964cc8f55 100644
--- a/test/language/statements/for-await-of/async-func-dstr-const-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/for-await-of/async-func-dstr-const-ary-ptrn-rest-not-final-id.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-await-of/async-func-dstr-const-ary-ptrn-rest-not-final-obj.js b/test/language/statements/for-await-of/async-func-dstr-const-ary-ptrn-rest-not-final-obj.js
index 8ca1d35ecd..c0d8ddcc8c 100644
--- a/test/language/statements/for-await-of/async-func-dstr-const-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/for-await-of/async-func-dstr-const-ary-ptrn-rest-not-final-obj.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-await-of/async-func-dstr-const-async-ary-ptrn-rest-init-ary.js b/test/language/statements/for-await-of/async-func-dstr-const-async-ary-ptrn-rest-init-ary.js
index f04a6bd918..d2413b42ee 100644
--- a/test/language/statements/for-await-of/async-func-dstr-const-async-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/for-await-of/async-func-dstr-const-async-ary-ptrn-rest-init-ary.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 var asyncIter = (async function*() {
diff --git a/test/language/statements/for-await-of/async-func-dstr-const-async-ary-ptrn-rest-init-id.js b/test/language/statements/for-await-of/async-func-dstr-const-async-ary-ptrn-rest-init-id.js
index f94b1ceb43..d73647499f 100644
--- a/test/language/statements/for-await-of/async-func-dstr-const-async-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/for-await-of/async-func-dstr-const-async-ary-ptrn-rest-init-id.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 var asyncIter = (async function*() {
diff --git a/test/language/statements/for-await-of/async-func-dstr-const-async-ary-ptrn-rest-init-obj.js b/test/language/statements/for-await-of/async-func-dstr-const-async-ary-ptrn-rest-init-obj.js
index b2d62d77b1..a6e0f66659 100644
--- a/test/language/statements/for-await-of/async-func-dstr-const-async-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/for-await-of/async-func-dstr-const-async-ary-ptrn-rest-init-obj.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 var asyncIter = (async function*() {
diff --git a/test/language/statements/for-await-of/async-func-dstr-const-async-ary-ptrn-rest-not-final-ary.js b/test/language/statements/for-await-of/async-func-dstr-const-async-ary-ptrn-rest-not-final-ary.js
index 43a452009e..75212c8b41 100644
--- a/test/language/statements/for-await-of/async-func-dstr-const-async-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/for-await-of/async-func-dstr-const-async-ary-ptrn-rest-not-final-ary.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 var asyncIter = (async function*() {
diff --git a/test/language/statements/for-await-of/async-func-dstr-const-async-ary-ptrn-rest-not-final-id.js b/test/language/statements/for-await-of/async-func-dstr-const-async-ary-ptrn-rest-not-final-id.js
index 60a04fe622..ce93f216bf 100644
--- a/test/language/statements/for-await-of/async-func-dstr-const-async-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/for-await-of/async-func-dstr-const-async-ary-ptrn-rest-not-final-id.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 var asyncIter = (async function*() {
diff --git a/test/language/statements/for-await-of/async-func-dstr-const-async-ary-ptrn-rest-not-final-obj.js b/test/language/statements/for-await-of/async-func-dstr-const-async-ary-ptrn-rest-not-final-obj.js
index e48370368a..5df6cb18d5 100644
--- a/test/language/statements/for-await-of/async-func-dstr-const-async-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/for-await-of/async-func-dstr-const-async-ary-ptrn-rest-not-final-obj.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 var asyncIter = (async function*() {
diff --git a/test/language/statements/for-await-of/async-func-dstr-let-ary-ptrn-rest-init-ary.js b/test/language/statements/for-await-of/async-func-dstr-let-ary-ptrn-rest-init-ary.js
index 04118c4ab5..8601a6134f 100644
--- a/test/language/statements/for-await-of/async-func-dstr-let-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/for-await-of/async-func-dstr-let-ary-ptrn-rest-init-ary.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-await-of/async-func-dstr-let-ary-ptrn-rest-init-id.js b/test/language/statements/for-await-of/async-func-dstr-let-ary-ptrn-rest-init-id.js
index adddd8753b..01ff9e144c 100644
--- a/test/language/statements/for-await-of/async-func-dstr-let-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/for-await-of/async-func-dstr-let-ary-ptrn-rest-init-id.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-await-of/async-func-dstr-let-ary-ptrn-rest-init-obj.js b/test/language/statements/for-await-of/async-func-dstr-let-ary-ptrn-rest-init-obj.js
index 93832994d5..e930f89b1e 100644
--- a/test/language/statements/for-await-of/async-func-dstr-let-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/for-await-of/async-func-dstr-let-ary-ptrn-rest-init-obj.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-await-of/async-func-dstr-let-ary-ptrn-rest-not-final-ary.js b/test/language/statements/for-await-of/async-func-dstr-let-ary-ptrn-rest-not-final-ary.js
index 8b254da563..4e79b5fc27 100644
--- a/test/language/statements/for-await-of/async-func-dstr-let-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/for-await-of/async-func-dstr-let-ary-ptrn-rest-not-final-ary.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-await-of/async-func-dstr-let-ary-ptrn-rest-not-final-id.js b/test/language/statements/for-await-of/async-func-dstr-let-ary-ptrn-rest-not-final-id.js
index c95fc7ea73..f4899c45d5 100644
--- a/test/language/statements/for-await-of/async-func-dstr-let-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/for-await-of/async-func-dstr-let-ary-ptrn-rest-not-final-id.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-await-of/async-func-dstr-let-ary-ptrn-rest-not-final-obj.js b/test/language/statements/for-await-of/async-func-dstr-let-ary-ptrn-rest-not-final-obj.js
index f6b15fa198..3193faa588 100644
--- a/test/language/statements/for-await-of/async-func-dstr-let-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/for-await-of/async-func-dstr-let-ary-ptrn-rest-not-final-obj.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-await-of/async-func-dstr-let-async-ary-ptrn-rest-init-ary.js b/test/language/statements/for-await-of/async-func-dstr-let-async-ary-ptrn-rest-init-ary.js
index 1d71fca96c..6b2964b07c 100644
--- a/test/language/statements/for-await-of/async-func-dstr-let-async-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/for-await-of/async-func-dstr-let-async-ary-ptrn-rest-init-ary.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 var asyncIter = (async function*() {
diff --git a/test/language/statements/for-await-of/async-func-dstr-let-async-ary-ptrn-rest-init-id.js b/test/language/statements/for-await-of/async-func-dstr-let-async-ary-ptrn-rest-init-id.js
index 9cb5794db5..7a2b533608 100644
--- a/test/language/statements/for-await-of/async-func-dstr-let-async-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/for-await-of/async-func-dstr-let-async-ary-ptrn-rest-init-id.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 var asyncIter = (async function*() {
diff --git a/test/language/statements/for-await-of/async-func-dstr-let-async-ary-ptrn-rest-init-obj.js b/test/language/statements/for-await-of/async-func-dstr-let-async-ary-ptrn-rest-init-obj.js
index 6c2738b3c6..78231c4359 100644
--- a/test/language/statements/for-await-of/async-func-dstr-let-async-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/for-await-of/async-func-dstr-let-async-ary-ptrn-rest-init-obj.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 var asyncIter = (async function*() {
diff --git a/test/language/statements/for-await-of/async-func-dstr-let-async-ary-ptrn-rest-not-final-ary.js b/test/language/statements/for-await-of/async-func-dstr-let-async-ary-ptrn-rest-not-final-ary.js
index 93093a3f52..67c082f806 100644
--- a/test/language/statements/for-await-of/async-func-dstr-let-async-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/for-await-of/async-func-dstr-let-async-ary-ptrn-rest-not-final-ary.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 var asyncIter = (async function*() {
diff --git a/test/language/statements/for-await-of/async-func-dstr-let-async-ary-ptrn-rest-not-final-id.js b/test/language/statements/for-await-of/async-func-dstr-let-async-ary-ptrn-rest-not-final-id.js
index a73750fedf..1cdd83bfce 100644
--- a/test/language/statements/for-await-of/async-func-dstr-let-async-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/for-await-of/async-func-dstr-let-async-ary-ptrn-rest-not-final-id.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 var asyncIter = (async function*() {
diff --git a/test/language/statements/for-await-of/async-func-dstr-let-async-ary-ptrn-rest-not-final-obj.js b/test/language/statements/for-await-of/async-func-dstr-let-async-ary-ptrn-rest-not-final-obj.js
index 0b3301e40d..28f77a6e4f 100644
--- a/test/language/statements/for-await-of/async-func-dstr-let-async-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/for-await-of/async-func-dstr-let-async-ary-ptrn-rest-not-final-obj.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 var asyncIter = (async function*() {
diff --git a/test/language/statements/for-await-of/async-func-dstr-var-ary-ptrn-rest-init-ary.js b/test/language/statements/for-await-of/async-func-dstr-var-ary-ptrn-rest-init-ary.js
index 55bf9eec93..f86fc312ad 100644
--- a/test/language/statements/for-await-of/async-func-dstr-var-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/for-await-of/async-func-dstr-var-ary-ptrn-rest-init-ary.js
@@ -41,7 +41,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-await-of/async-func-dstr-var-ary-ptrn-rest-init-id.js b/test/language/statements/for-await-of/async-func-dstr-var-ary-ptrn-rest-init-id.js
index 799da9c50b..a6ec71cb1f 100644
--- a/test/language/statements/for-await-of/async-func-dstr-var-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/for-await-of/async-func-dstr-var-ary-ptrn-rest-init-id.js
@@ -41,7 +41,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-await-of/async-func-dstr-var-ary-ptrn-rest-init-obj.js b/test/language/statements/for-await-of/async-func-dstr-var-ary-ptrn-rest-init-obj.js
index 53faa9e3c1..f4d6b22b46 100644
--- a/test/language/statements/for-await-of/async-func-dstr-var-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/for-await-of/async-func-dstr-var-ary-ptrn-rest-init-obj.js
@@ -41,7 +41,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-await-of/async-func-dstr-var-ary-ptrn-rest-not-final-ary.js b/test/language/statements/for-await-of/async-func-dstr-var-ary-ptrn-rest-not-final-ary.js
index 89596eace3..44887c4b2f 100644
--- a/test/language/statements/for-await-of/async-func-dstr-var-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/for-await-of/async-func-dstr-var-ary-ptrn-rest-not-final-ary.js
@@ -41,7 +41,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-await-of/async-func-dstr-var-ary-ptrn-rest-not-final-id.js b/test/language/statements/for-await-of/async-func-dstr-var-ary-ptrn-rest-not-final-id.js
index f12d5f3281..914b48daff 100644
--- a/test/language/statements/for-await-of/async-func-dstr-var-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/for-await-of/async-func-dstr-var-ary-ptrn-rest-not-final-id.js
@@ -41,7 +41,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-await-of/async-func-dstr-var-ary-ptrn-rest-not-final-obj.js b/test/language/statements/for-await-of/async-func-dstr-var-ary-ptrn-rest-not-final-obj.js
index a3a8f493a8..36cf847b03 100644
--- a/test/language/statements/for-await-of/async-func-dstr-var-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/for-await-of/async-func-dstr-var-ary-ptrn-rest-not-final-obj.js
@@ -41,7 +41,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-await-of/async-func-dstr-var-async-ary-ptrn-rest-init-ary.js b/test/language/statements/for-await-of/async-func-dstr-var-async-ary-ptrn-rest-init-ary.js
index 0ebd7a674b..8133d8e39d 100644
--- a/test/language/statements/for-await-of/async-func-dstr-var-async-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/for-await-of/async-func-dstr-var-async-ary-ptrn-rest-init-ary.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 var asyncIter = (async function*() {
diff --git a/test/language/statements/for-await-of/async-func-dstr-var-async-ary-ptrn-rest-init-id.js b/test/language/statements/for-await-of/async-func-dstr-var-async-ary-ptrn-rest-init-id.js
index fdeda8c307..e4d6041a81 100644
--- a/test/language/statements/for-await-of/async-func-dstr-var-async-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/for-await-of/async-func-dstr-var-async-ary-ptrn-rest-init-id.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 var asyncIter = (async function*() {
diff --git a/test/language/statements/for-await-of/async-func-dstr-var-async-ary-ptrn-rest-init-obj.js b/test/language/statements/for-await-of/async-func-dstr-var-async-ary-ptrn-rest-init-obj.js
index 6607afd3b6..0eb38d758c 100644
--- a/test/language/statements/for-await-of/async-func-dstr-var-async-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/for-await-of/async-func-dstr-var-async-ary-ptrn-rest-init-obj.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 var asyncIter = (async function*() {
diff --git a/test/language/statements/for-await-of/async-func-dstr-var-async-ary-ptrn-rest-not-final-ary.js b/test/language/statements/for-await-of/async-func-dstr-var-async-ary-ptrn-rest-not-final-ary.js
index 99a38c0a27..64577e743e 100644
--- a/test/language/statements/for-await-of/async-func-dstr-var-async-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/for-await-of/async-func-dstr-var-async-ary-ptrn-rest-not-final-ary.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 var asyncIter = (async function*() {
diff --git a/test/language/statements/for-await-of/async-func-dstr-var-async-ary-ptrn-rest-not-final-id.js b/test/language/statements/for-await-of/async-func-dstr-var-async-ary-ptrn-rest-not-final-id.js
index edaf69a5b5..4c0cbb95f4 100644
--- a/test/language/statements/for-await-of/async-func-dstr-var-async-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/for-await-of/async-func-dstr-var-async-ary-ptrn-rest-not-final-id.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 var asyncIter = (async function*() {
diff --git a/test/language/statements/for-await-of/async-func-dstr-var-async-ary-ptrn-rest-not-final-obj.js b/test/language/statements/for-await-of/async-func-dstr-var-async-ary-ptrn-rest-not-final-obj.js
index 1ed37b24b3..dae70c5c58 100644
--- a/test/language/statements/for-await-of/async-func-dstr-var-async-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/for-await-of/async-func-dstr-var-async-ary-ptrn-rest-not-final-obj.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 var asyncIter = (async function*() {
diff --git a/test/language/statements/for-await-of/async-gen-dstr-const-ary-ptrn-rest-init-ary.js b/test/language/statements/for-await-of/async-gen-dstr-const-ary-ptrn-rest-init-ary.js
index eca9f81578..61d2e61465 100644
--- a/test/language/statements/for-await-of/async-gen-dstr-const-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/for-await-of/async-gen-dstr-const-ary-ptrn-rest-init-ary.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-await-of/async-gen-dstr-const-ary-ptrn-rest-init-id.js b/test/language/statements/for-await-of/async-gen-dstr-const-ary-ptrn-rest-init-id.js
index f447775689..2b3801ee3d 100644
--- a/test/language/statements/for-await-of/async-gen-dstr-const-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/for-await-of/async-gen-dstr-const-ary-ptrn-rest-init-id.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-await-of/async-gen-dstr-const-ary-ptrn-rest-init-obj.js b/test/language/statements/for-await-of/async-gen-dstr-const-ary-ptrn-rest-init-obj.js
index d0852c6a53..f64451b23f 100644
--- a/test/language/statements/for-await-of/async-gen-dstr-const-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/for-await-of/async-gen-dstr-const-ary-ptrn-rest-init-obj.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-await-of/async-gen-dstr-const-ary-ptrn-rest-not-final-ary.js b/test/language/statements/for-await-of/async-gen-dstr-const-ary-ptrn-rest-not-final-ary.js
index 4f8819a7d6..1c8803c934 100644
--- a/test/language/statements/for-await-of/async-gen-dstr-const-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/for-await-of/async-gen-dstr-const-ary-ptrn-rest-not-final-ary.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-await-of/async-gen-dstr-const-ary-ptrn-rest-not-final-id.js b/test/language/statements/for-await-of/async-gen-dstr-const-ary-ptrn-rest-not-final-id.js
index 2d9f67c95a..ac341f0013 100644
--- a/test/language/statements/for-await-of/async-gen-dstr-const-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/for-await-of/async-gen-dstr-const-ary-ptrn-rest-not-final-id.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-await-of/async-gen-dstr-const-ary-ptrn-rest-not-final-obj.js b/test/language/statements/for-await-of/async-gen-dstr-const-ary-ptrn-rest-not-final-obj.js
index a588b4e8de..d0e611b286 100644
--- a/test/language/statements/for-await-of/async-gen-dstr-const-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/for-await-of/async-gen-dstr-const-ary-ptrn-rest-not-final-obj.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-await-of/async-gen-dstr-const-async-ary-ptrn-rest-init-ary.js b/test/language/statements/for-await-of/async-gen-dstr-const-async-ary-ptrn-rest-init-ary.js
index afe1833c18..bf3dbd3446 100644
--- a/test/language/statements/for-await-of/async-gen-dstr-const-async-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/for-await-of/async-gen-dstr-const-async-ary-ptrn-rest-init-ary.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 var asyncIter = (async function*() {
diff --git a/test/language/statements/for-await-of/async-gen-dstr-const-async-ary-ptrn-rest-init-id.js b/test/language/statements/for-await-of/async-gen-dstr-const-async-ary-ptrn-rest-init-id.js
index 803261746e..f3275c00d4 100644
--- a/test/language/statements/for-await-of/async-gen-dstr-const-async-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/for-await-of/async-gen-dstr-const-async-ary-ptrn-rest-init-id.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 var asyncIter = (async function*() {
diff --git a/test/language/statements/for-await-of/async-gen-dstr-const-async-ary-ptrn-rest-init-obj.js b/test/language/statements/for-await-of/async-gen-dstr-const-async-ary-ptrn-rest-init-obj.js
index abde3fa392..d34d54a1bc 100644
--- a/test/language/statements/for-await-of/async-gen-dstr-const-async-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/for-await-of/async-gen-dstr-const-async-ary-ptrn-rest-init-obj.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 var asyncIter = (async function*() {
diff --git a/test/language/statements/for-await-of/async-gen-dstr-const-async-ary-ptrn-rest-not-final-ary.js b/test/language/statements/for-await-of/async-gen-dstr-const-async-ary-ptrn-rest-not-final-ary.js
index 7d0fc3eddf..c9aaa4dacb 100644
--- a/test/language/statements/for-await-of/async-gen-dstr-const-async-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/for-await-of/async-gen-dstr-const-async-ary-ptrn-rest-not-final-ary.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 var asyncIter = (async function*() {
diff --git a/test/language/statements/for-await-of/async-gen-dstr-const-async-ary-ptrn-rest-not-final-id.js b/test/language/statements/for-await-of/async-gen-dstr-const-async-ary-ptrn-rest-not-final-id.js
index 083a1799ac..924a803426 100644
--- a/test/language/statements/for-await-of/async-gen-dstr-const-async-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/for-await-of/async-gen-dstr-const-async-ary-ptrn-rest-not-final-id.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 var asyncIter = (async function*() {
diff --git a/test/language/statements/for-await-of/async-gen-dstr-const-async-ary-ptrn-rest-not-final-obj.js b/test/language/statements/for-await-of/async-gen-dstr-const-async-ary-ptrn-rest-not-final-obj.js
index 0ccdda59e5..9b51cd78b1 100644
--- a/test/language/statements/for-await-of/async-gen-dstr-const-async-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/for-await-of/async-gen-dstr-const-async-ary-ptrn-rest-not-final-obj.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 var asyncIter = (async function*() {
diff --git a/test/language/statements/for-await-of/async-gen-dstr-let-ary-ptrn-rest-init-ary.js b/test/language/statements/for-await-of/async-gen-dstr-let-ary-ptrn-rest-init-ary.js
index 0d5d3a58e3..08f86d495b 100644
--- a/test/language/statements/for-await-of/async-gen-dstr-let-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/for-await-of/async-gen-dstr-let-ary-ptrn-rest-init-ary.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-await-of/async-gen-dstr-let-ary-ptrn-rest-init-id.js b/test/language/statements/for-await-of/async-gen-dstr-let-ary-ptrn-rest-init-id.js
index af442aea12..2c4b8807ce 100644
--- a/test/language/statements/for-await-of/async-gen-dstr-let-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/for-await-of/async-gen-dstr-let-ary-ptrn-rest-init-id.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-await-of/async-gen-dstr-let-ary-ptrn-rest-init-obj.js b/test/language/statements/for-await-of/async-gen-dstr-let-ary-ptrn-rest-init-obj.js
index b8647e95f7..35cc132d3f 100644
--- a/test/language/statements/for-await-of/async-gen-dstr-let-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/for-await-of/async-gen-dstr-let-ary-ptrn-rest-init-obj.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-await-of/async-gen-dstr-let-ary-ptrn-rest-not-final-ary.js b/test/language/statements/for-await-of/async-gen-dstr-let-ary-ptrn-rest-not-final-ary.js
index 1e9acd7cf8..7d201d9dc6 100644
--- a/test/language/statements/for-await-of/async-gen-dstr-let-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/for-await-of/async-gen-dstr-let-ary-ptrn-rest-not-final-ary.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-await-of/async-gen-dstr-let-ary-ptrn-rest-not-final-id.js b/test/language/statements/for-await-of/async-gen-dstr-let-ary-ptrn-rest-not-final-id.js
index 109d3384e2..172aa43ba3 100644
--- a/test/language/statements/for-await-of/async-gen-dstr-let-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/for-await-of/async-gen-dstr-let-ary-ptrn-rest-not-final-id.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-await-of/async-gen-dstr-let-ary-ptrn-rest-not-final-obj.js b/test/language/statements/for-await-of/async-gen-dstr-let-ary-ptrn-rest-not-final-obj.js
index 3cfe2926ac..baeefd0292 100644
--- a/test/language/statements/for-await-of/async-gen-dstr-let-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/for-await-of/async-gen-dstr-let-ary-ptrn-rest-not-final-obj.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-await-of/async-gen-dstr-let-async-ary-ptrn-rest-init-ary.js b/test/language/statements/for-await-of/async-gen-dstr-let-async-ary-ptrn-rest-init-ary.js
index dea4946224..9a6f133ec9 100644
--- a/test/language/statements/for-await-of/async-gen-dstr-let-async-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/for-await-of/async-gen-dstr-let-async-ary-ptrn-rest-init-ary.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 var asyncIter = (async function*() {
diff --git a/test/language/statements/for-await-of/async-gen-dstr-let-async-ary-ptrn-rest-init-id.js b/test/language/statements/for-await-of/async-gen-dstr-let-async-ary-ptrn-rest-init-id.js
index 1d3793790d..62a53d2c80 100644
--- a/test/language/statements/for-await-of/async-gen-dstr-let-async-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/for-await-of/async-gen-dstr-let-async-ary-ptrn-rest-init-id.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 var asyncIter = (async function*() {
diff --git a/test/language/statements/for-await-of/async-gen-dstr-let-async-ary-ptrn-rest-init-obj.js b/test/language/statements/for-await-of/async-gen-dstr-let-async-ary-ptrn-rest-init-obj.js
index fb309cbf1a..f5f2f36df1 100644
--- a/test/language/statements/for-await-of/async-gen-dstr-let-async-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/for-await-of/async-gen-dstr-let-async-ary-ptrn-rest-init-obj.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 var asyncIter = (async function*() {
diff --git a/test/language/statements/for-await-of/async-gen-dstr-let-async-ary-ptrn-rest-not-final-ary.js b/test/language/statements/for-await-of/async-gen-dstr-let-async-ary-ptrn-rest-not-final-ary.js
index 9d16424153..646a1eed1e 100644
--- a/test/language/statements/for-await-of/async-gen-dstr-let-async-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/for-await-of/async-gen-dstr-let-async-ary-ptrn-rest-not-final-ary.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 var asyncIter = (async function*() {
diff --git a/test/language/statements/for-await-of/async-gen-dstr-let-async-ary-ptrn-rest-not-final-id.js b/test/language/statements/for-await-of/async-gen-dstr-let-async-ary-ptrn-rest-not-final-id.js
index 61fea61437..037370d919 100644
--- a/test/language/statements/for-await-of/async-gen-dstr-let-async-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/for-await-of/async-gen-dstr-let-async-ary-ptrn-rest-not-final-id.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 var asyncIter = (async function*() {
diff --git a/test/language/statements/for-await-of/async-gen-dstr-let-async-ary-ptrn-rest-not-final-obj.js b/test/language/statements/for-await-of/async-gen-dstr-let-async-ary-ptrn-rest-not-final-obj.js
index 79a96ac36a..61da2dbb39 100644
--- a/test/language/statements/for-await-of/async-gen-dstr-let-async-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/for-await-of/async-gen-dstr-let-async-ary-ptrn-rest-not-final-obj.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 var asyncIter = (async function*() {
diff --git a/test/language/statements/for-await-of/async-gen-dstr-var-ary-ptrn-rest-init-ary.js b/test/language/statements/for-await-of/async-gen-dstr-var-ary-ptrn-rest-init-ary.js
index e825282739..e386c28655 100644
--- a/test/language/statements/for-await-of/async-gen-dstr-var-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/for-await-of/async-gen-dstr-var-ary-ptrn-rest-init-ary.js
@@ -41,7 +41,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-await-of/async-gen-dstr-var-ary-ptrn-rest-init-id.js b/test/language/statements/for-await-of/async-gen-dstr-var-ary-ptrn-rest-init-id.js
index 454e6d72fd..0efa418321 100644
--- a/test/language/statements/for-await-of/async-gen-dstr-var-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/for-await-of/async-gen-dstr-var-ary-ptrn-rest-init-id.js
@@ -41,7 +41,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-await-of/async-gen-dstr-var-ary-ptrn-rest-init-obj.js b/test/language/statements/for-await-of/async-gen-dstr-var-ary-ptrn-rest-init-obj.js
index 0590871fab..312337362d 100644
--- a/test/language/statements/for-await-of/async-gen-dstr-var-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/for-await-of/async-gen-dstr-var-ary-ptrn-rest-init-obj.js
@@ -41,7 +41,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-await-of/async-gen-dstr-var-ary-ptrn-rest-not-final-ary.js b/test/language/statements/for-await-of/async-gen-dstr-var-ary-ptrn-rest-not-final-ary.js
index 7338e9e244..51cc031d5c 100644
--- a/test/language/statements/for-await-of/async-gen-dstr-var-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/for-await-of/async-gen-dstr-var-ary-ptrn-rest-not-final-ary.js
@@ -41,7 +41,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-await-of/async-gen-dstr-var-ary-ptrn-rest-not-final-id.js b/test/language/statements/for-await-of/async-gen-dstr-var-ary-ptrn-rest-not-final-id.js
index 0fa9460749..84b27c29f0 100644
--- a/test/language/statements/for-await-of/async-gen-dstr-var-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/for-await-of/async-gen-dstr-var-ary-ptrn-rest-not-final-id.js
@@ -41,7 +41,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-await-of/async-gen-dstr-var-ary-ptrn-rest-not-final-obj.js b/test/language/statements/for-await-of/async-gen-dstr-var-ary-ptrn-rest-not-final-obj.js
index d5aee2841c..b58c4eba56 100644
--- a/test/language/statements/for-await-of/async-gen-dstr-var-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/for-await-of/async-gen-dstr-var-ary-ptrn-rest-not-final-obj.js
@@ -41,7 +41,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-await-of/async-gen-dstr-var-async-ary-ptrn-rest-init-ary.js b/test/language/statements/for-await-of/async-gen-dstr-var-async-ary-ptrn-rest-init-ary.js
index 8b927ecd16..84527c94e5 100644
--- a/test/language/statements/for-await-of/async-gen-dstr-var-async-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/for-await-of/async-gen-dstr-var-async-ary-ptrn-rest-init-ary.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 var asyncIter = (async function*() {
diff --git a/test/language/statements/for-await-of/async-gen-dstr-var-async-ary-ptrn-rest-init-id.js b/test/language/statements/for-await-of/async-gen-dstr-var-async-ary-ptrn-rest-init-id.js
index 364bdb7eea..6dcac3c1c0 100644
--- a/test/language/statements/for-await-of/async-gen-dstr-var-async-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/for-await-of/async-gen-dstr-var-async-ary-ptrn-rest-init-id.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 var asyncIter = (async function*() {
diff --git a/test/language/statements/for-await-of/async-gen-dstr-var-async-ary-ptrn-rest-init-obj.js b/test/language/statements/for-await-of/async-gen-dstr-var-async-ary-ptrn-rest-init-obj.js
index ae2250d356..439c83785d 100644
--- a/test/language/statements/for-await-of/async-gen-dstr-var-async-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/for-await-of/async-gen-dstr-var-async-ary-ptrn-rest-init-obj.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 var asyncIter = (async function*() {
diff --git a/test/language/statements/for-await-of/async-gen-dstr-var-async-ary-ptrn-rest-not-final-ary.js b/test/language/statements/for-await-of/async-gen-dstr-var-async-ary-ptrn-rest-not-final-ary.js
index e3d489a02a..b131bf299c 100644
--- a/test/language/statements/for-await-of/async-gen-dstr-var-async-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/for-await-of/async-gen-dstr-var-async-ary-ptrn-rest-not-final-ary.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 var asyncIter = (async function*() {
diff --git a/test/language/statements/for-await-of/async-gen-dstr-var-async-ary-ptrn-rest-not-final-id.js b/test/language/statements/for-await-of/async-gen-dstr-var-async-ary-ptrn-rest-not-final-id.js
index 2da95950d9..c4d1686964 100644
--- a/test/language/statements/for-await-of/async-gen-dstr-var-async-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/for-await-of/async-gen-dstr-var-async-ary-ptrn-rest-not-final-id.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 var asyncIter = (async function*() {
diff --git a/test/language/statements/for-await-of/async-gen-dstr-var-async-ary-ptrn-rest-not-final-obj.js b/test/language/statements/for-await-of/async-gen-dstr-var-async-ary-ptrn-rest-not-final-obj.js
index c05984a35e..af9909917b 100644
--- a/test/language/statements/for-await-of/async-gen-dstr-var-async-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/for-await-of/async-gen-dstr-var-async-ary-ptrn-rest-not-final-obj.js
@@ -44,7 +44,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 var asyncIter = (async function*() {
diff --git a/test/language/statements/for-await-of/escaped-of.js b/test/language/statements/for-await-of/escaped-of.js
index 593fe39f5d..9df70e1dfb 100644
--- a/test/language/statements/for-await-of/escaped-of.js
+++ b/test/language/statements/for-await-of/escaped-of.js
@@ -19,7 +19,7 @@ negative:
 features: [async-iteration]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 async function* f() {
   for await (var x o\u0066 []) ;
diff --git a/test/language/statements/for-await-of/let-array-with-newline.js b/test/language/statements/for-await-of/let-array-with-newline.js
index 98bfe49ed4..e0e8eff233 100644
--- a/test/language/statements/for-await-of/let-array-with-newline.js
+++ b/test/language/statements/for-await-of/let-array-with-newline.js
@@ -16,7 +16,7 @@ flags: [noStrict]
 features: [async-iteration]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 async function* f() {
   for await (var x of []) let
diff --git a/test/language/statements/for-in/S12.6.4_A15.js b/test/language/statements/for-in/S12.6.4_A15.js
index ffc886d14f..db314778e1 100644
--- a/test/language/statements/for-in/S12.6.4_A15.js
+++ b/test/language/statements/for-in/S12.6.4_A15.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var __arr=[1,2,3];
 
diff --git a/test/language/statements/for-in/decl-async-fun.js b/test/language/statements/for-in/decl-async-fun.js
index bb729b35db..5ffed9822b 100644
--- a/test/language/statements/for-in/decl-async-fun.js
+++ b/test/language/statements/for-in/decl-async-fun.js
@@ -15,6 +15,6 @@ negative:
 features: [async-functions]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (var x in {}) async function f() {}
diff --git a/test/language/statements/for-in/decl-async-gen.js b/test/language/statements/for-in/decl-async-gen.js
index 8a4775e56a..815353f2bf 100644
--- a/test/language/statements/for-in/decl-async-gen.js
+++ b/test/language/statements/for-in/decl-async-gen.js
@@ -15,6 +15,6 @@ negative:
 features: [async-iteration]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (var x in {}) async function* g() {}
diff --git a/test/language/statements/for-in/decl-cls.js b/test/language/statements/for-in/decl-cls.js
index 5601cc9fb3..158c1c57fe 100644
--- a/test/language/statements/for-in/decl-cls.js
+++ b/test/language/statements/for-in/decl-cls.js
@@ -9,6 +9,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (var x in {}) class C {}
diff --git a/test/language/statements/for-in/decl-const.js b/test/language/statements/for-in/decl-const.js
index d3e001c2da..afb4cb70bf 100644
--- a/test/language/statements/for-in/decl-const.js
+++ b/test/language/statements/for-in/decl-const.js
@@ -9,6 +9,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (var x in {}) const y = null;
diff --git a/test/language/statements/for-in/decl-fun.js b/test/language/statements/for-in/decl-fun.js
index 0851d7d933..eac4cdfa28 100644
--- a/test/language/statements/for-in/decl-fun.js
+++ b/test/language/statements/for-in/decl-fun.js
@@ -9,6 +9,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (var x in {}) function f() {}
diff --git a/test/language/statements/for-in/decl-gen.js b/test/language/statements/for-in/decl-gen.js
index 0dce4dfa55..d00f25653d 100644
--- a/test/language/statements/for-in/decl-gen.js
+++ b/test/language/statements/for-in/decl-gen.js
@@ -10,6 +10,6 @@ negative:
 features: [generators]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (var x in {}) function* g() {}
diff --git a/test/language/statements/for-in/decl-let.js b/test/language/statements/for-in/decl-let.js
index 876df55847..0b20688c35 100644
--- a/test/language/statements/for-in/decl-let.js
+++ b/test/language/statements/for-in/decl-let.js
@@ -9,6 +9,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (var x in {}) let y;
diff --git a/test/language/statements/for-in/dstr-array-elem-init-yield-ident-invalid.js b/test/language/statements/for-in/dstr-array-elem-init-yield-ident-invalid.js
index 9c2f8490ca..e6c592df3c 100644
--- a/test/language/statements/for-in/dstr-array-elem-init-yield-ident-invalid.js
+++ b/test/language/statements/for-in/dstr-array-elem-init-yield-ident-invalid.js
@@ -28,6 +28,6 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ([ x = yield ] in [[]]) ;
diff --git a/test/language/statements/for-in/dstr-array-elem-nested-array-invalid.js b/test/language/statements/for-in/dstr-array-elem-nested-array-invalid.js
index 04134447ae..9d22594ad4 100644
--- a/test/language/statements/for-in/dstr-array-elem-nested-array-invalid.js
+++ b/test/language/statements/for-in/dstr-array-elem-nested-array-invalid.js
@@ -28,6 +28,6 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ([[(x, y)]] in [[[]]]) ;
diff --git a/test/language/statements/for-in/dstr-array-elem-nested-array-yield-ident-invalid.js b/test/language/statements/for-in/dstr-array-elem-nested-array-yield-ident-invalid.js
index 8e574a7e06..d45d2558fe 100644
--- a/test/language/statements/for-in/dstr-array-elem-nested-array-yield-ident-invalid.js
+++ b/test/language/statements/for-in/dstr-array-elem-nested-array-yield-ident-invalid.js
@@ -28,6 +28,6 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ([[x[yield]]] in [[[]]]) ;
diff --git a/test/language/statements/for-in/dstr-array-elem-nested-obj-invalid.js b/test/language/statements/for-in/dstr-array-elem-nested-obj-invalid.js
index ce6be7fb19..8162507948 100644
--- a/test/language/statements/for-in/dstr-array-elem-nested-obj-invalid.js
+++ b/test/language/statements/for-in/dstr-array-elem-nested-obj-invalid.js
@@ -28,6 +28,6 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ([{ get x() {} }] in [[{}]]) ;
diff --git a/test/language/statements/for-in/dstr-array-elem-nested-obj-yield-ident-invalid.js b/test/language/statements/for-in/dstr-array-elem-nested-obj-yield-ident-invalid.js
index 17714a1e8d..28b1068936 100644
--- a/test/language/statements/for-in/dstr-array-elem-nested-obj-yield-ident-invalid.js
+++ b/test/language/statements/for-in/dstr-array-elem-nested-obj-yield-ident-invalid.js
@@ -28,6 +28,6 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ([{ x = yield }] in [[{}]]) ;
diff --git a/test/language/statements/for-in/dstr-array-elem-target-simple-strict.js b/test/language/statements/for-in/dstr-array-elem-target-simple-strict.js
index c6bcc37c28..6176fca9cc 100644
--- a/test/language/statements/for-in/dstr-array-elem-target-simple-strict.js
+++ b/test/language/statements/for-in/dstr-array-elem-target-simple-strict.js
@@ -28,6 +28,6 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ([arguments] in [[]]) ;
diff --git a/test/language/statements/for-in/dstr-array-elem-target-yield-invalid.js b/test/language/statements/for-in/dstr-array-elem-target-yield-invalid.js
index 27a4f783b0..c7c34804bc 100644
--- a/test/language/statements/for-in/dstr-array-elem-target-yield-invalid.js
+++ b/test/language/statements/for-in/dstr-array-elem-target-yield-invalid.js
@@ -28,6 +28,6 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ([ x[yield] ] in [[]]) ;
diff --git a/test/language/statements/for-in/dstr-array-rest-before-element.js b/test/language/statements/for-in/dstr-array-rest-before-element.js
index 9dda6aa60b..5753169cfb 100644
--- a/test/language/statements/for-in/dstr-array-rest-before-element.js
+++ b/test/language/statements/for-in/dstr-array-rest-before-element.js
@@ -28,6 +28,6 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ([...x, y] in [[]]) ;
diff --git a/test/language/statements/for-in/dstr-array-rest-before-elision.js b/test/language/statements/for-in/dstr-array-rest-before-elision.js
index 543cb23a84..8cb1e1c85a 100644
--- a/test/language/statements/for-in/dstr-array-rest-before-elision.js
+++ b/test/language/statements/for-in/dstr-array-rest-before-elision.js
@@ -28,6 +28,6 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ([...x,] in [[]]) ;
diff --git a/test/language/statements/for-in/dstr-array-rest-before-rest.js b/test/language/statements/for-in/dstr-array-rest-before-rest.js
index 8fe7e382d7..5f76d919c0 100644
--- a/test/language/statements/for-in/dstr-array-rest-before-rest.js
+++ b/test/language/statements/for-in/dstr-array-rest-before-rest.js
@@ -28,6 +28,6 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ([...x, ...y] in [[]]) ;
diff --git a/test/language/statements/for-in/dstr-array-rest-elision-invalid.js b/test/language/statements/for-in/dstr-array-rest-elision-invalid.js
index 682cd85967..89ab8487c1 100644
--- a/test/language/statements/for-in/dstr-array-rest-elision-invalid.js
+++ b/test/language/statements/for-in/dstr-array-rest-elision-invalid.js
@@ -28,6 +28,6 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ([...x,] in [[]]) ;
diff --git a/test/language/statements/for-in/dstr-array-rest-init.js b/test/language/statements/for-in/dstr-array-rest-init.js
index acba41ef19..bd92abe07b 100644
--- a/test/language/statements/for-in/dstr-array-rest-init.js
+++ b/test/language/statements/for-in/dstr-array-rest-init.js
@@ -28,7 +28,7 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 var x;
 
 for ([...x = 1] in [[]]) ;
diff --git a/test/language/statements/for-in/dstr-array-rest-nested-array-invalid.js b/test/language/statements/for-in/dstr-array-rest-nested-array-invalid.js
index 24a69e88ff..9ee0f4cee3 100644
--- a/test/language/statements/for-in/dstr-array-rest-nested-array-invalid.js
+++ b/test/language/statements/for-in/dstr-array-rest-nested-array-invalid.js
@@ -28,6 +28,6 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ([...[(x, y)]] in [[[]]]) ;
diff --git a/test/language/statements/for-in/dstr-array-rest-nested-array-yield-ident-invalid.js b/test/language/statements/for-in/dstr-array-rest-nested-array-yield-ident-invalid.js
index 64e1e0e01f..a53bd413cf 100644
--- a/test/language/statements/for-in/dstr-array-rest-nested-array-yield-ident-invalid.js
+++ b/test/language/statements/for-in/dstr-array-rest-nested-array-yield-ident-invalid.js
@@ -28,6 +28,6 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ([...[x[yield]]] in [[]]) ;
diff --git a/test/language/statements/for-in/dstr-array-rest-nested-obj-invalid.js b/test/language/statements/for-in/dstr-array-rest-nested-obj-invalid.js
index 1c58efaa18..6028f044e5 100644
--- a/test/language/statements/for-in/dstr-array-rest-nested-obj-invalid.js
+++ b/test/language/statements/for-in/dstr-array-rest-nested-obj-invalid.js
@@ -28,6 +28,6 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ([...{ get x() {} }] in [[[]]]) ;
diff --git a/test/language/statements/for-in/dstr-array-rest-nested-obj-yield-ident-invalid.js b/test/language/statements/for-in/dstr-array-rest-nested-obj-yield-ident-invalid.js
index cb6d1c202a..136ba81066 100644
--- a/test/language/statements/for-in/dstr-array-rest-nested-obj-yield-ident-invalid.js
+++ b/test/language/statements/for-in/dstr-array-rest-nested-obj-yield-ident-invalid.js
@@ -28,6 +28,6 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ([...{ x = yield }] in [[{}]]) ;
diff --git a/test/language/statements/for-in/dstr-array-rest-yield-ident-invalid.js b/test/language/statements/for-in/dstr-array-rest-yield-ident-invalid.js
index b0d024a16f..694859390e 100644
--- a/test/language/statements/for-in/dstr-array-rest-yield-ident-invalid.js
+++ b/test/language/statements/for-in/dstr-array-rest-yield-ident-invalid.js
@@ -28,7 +28,7 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 var x = {};
 
 for ([...x[yield]] in [[]]) ;
diff --git a/test/language/statements/for-in/dstr-obj-id-identifier-yield-expr.js b/test/language/statements/for-in/dstr-obj-id-identifier-yield-expr.js
index eefedff9ff..cc045989d6 100644
--- a/test/language/statements/for-in/dstr-obj-id-identifier-yield-expr.js
+++ b/test/language/statements/for-in/dstr-obj-id-identifier-yield-expr.js
@@ -28,7 +28,7 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 (function*() {
 
 for ({ yield } in [{}]) ;
diff --git a/test/language/statements/for-in/dstr-obj-id-identifier-yield-ident-invalid.js b/test/language/statements/for-in/dstr-obj-id-identifier-yield-ident-invalid.js
index ac5a4bff01..859487c6f6 100644
--- a/test/language/statements/for-in/dstr-obj-id-identifier-yield-ident-invalid.js
+++ b/test/language/statements/for-in/dstr-obj-id-identifier-yield-ident-invalid.js
@@ -28,6 +28,6 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ({ yield } in [{}]) ;
diff --git a/test/language/statements/for-in/dstr-obj-id-init-simple-strict.js b/test/language/statements/for-in/dstr-obj-id-init-simple-strict.js
index 54d77178ff..620b3c7441 100644
--- a/test/language/statements/for-in/dstr-obj-id-init-simple-strict.js
+++ b/test/language/statements/for-in/dstr-obj-id-init-simple-strict.js
@@ -28,6 +28,6 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ({ eval = 0 } in [{}]) ;
diff --git a/test/language/statements/for-in/dstr-obj-id-init-yield-ident-invalid.js b/test/language/statements/for-in/dstr-obj-id-init-yield-ident-invalid.js
index e0f8648584..f492ecb301 100644
--- a/test/language/statements/for-in/dstr-obj-id-init-yield-ident-invalid.js
+++ b/test/language/statements/for-in/dstr-obj-id-init-yield-ident-invalid.js
@@ -28,6 +28,6 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ({ x = yield } in [{}]) ;
diff --git a/test/language/statements/for-in/dstr-obj-id-simple-strict.js b/test/language/statements/for-in/dstr-obj-id-simple-strict.js
index 96403a9837..33ec80ed96 100644
--- a/test/language/statements/for-in/dstr-obj-id-simple-strict.js
+++ b/test/language/statements/for-in/dstr-obj-id-simple-strict.js
@@ -28,6 +28,6 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ({ eval } in [{}]) ;
diff --git a/test/language/statements/for-in/dstr-obj-prop-elem-init-yield-ident-invalid.js b/test/language/statements/for-in/dstr-obj-prop-elem-init-yield-ident-invalid.js
index 9ecb31eed7..292a84cda7 100644
--- a/test/language/statements/for-in/dstr-obj-prop-elem-init-yield-ident-invalid.js
+++ b/test/language/statements/for-in/dstr-obj-prop-elem-init-yield-ident-invalid.js
@@ -28,6 +28,6 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ({ x: x = yield } in [{}]) ;
diff --git a/test/language/statements/for-in/dstr-obj-prop-elem-target-yield-ident-invalid.js b/test/language/statements/for-in/dstr-obj-prop-elem-target-yield-ident-invalid.js
index 0f7cc7463e..a3975cf967 100644
--- a/test/language/statements/for-in/dstr-obj-prop-elem-target-yield-ident-invalid.js
+++ b/test/language/statements/for-in/dstr-obj-prop-elem-target-yield-ident-invalid.js
@@ -28,6 +28,6 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ({ x: x[yield] } in [{}]) ;
diff --git a/test/language/statements/for-in/dstr-obj-prop-nested-array-invalid.js b/test/language/statements/for-in/dstr-obj-prop-nested-array-invalid.js
index 362ff51bc5..f0d28851ee 100644
--- a/test/language/statements/for-in/dstr-obj-prop-nested-array-invalid.js
+++ b/test/language/statements/for-in/dstr-obj-prop-nested-array-invalid.js
@@ -28,6 +28,6 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ({ x: [(x, y)] } in [{ x: [] }]) ;
diff --git a/test/language/statements/for-in/dstr-obj-prop-nested-array-yield-ident-invalid.js b/test/language/statements/for-in/dstr-obj-prop-nested-array-yield-ident-invalid.js
index 2a15b13c4f..7c790a0253 100644
--- a/test/language/statements/for-in/dstr-obj-prop-nested-array-yield-ident-invalid.js
+++ b/test/language/statements/for-in/dstr-obj-prop-nested-array-yield-ident-invalid.js
@@ -28,6 +28,6 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ({ x: [x = yield] } in [{ x: [] }]) ;
diff --git a/test/language/statements/for-in/dstr-obj-prop-nested-obj-invalid.js b/test/language/statements/for-in/dstr-obj-prop-nested-obj-invalid.js
index f29abdae2b..586225f547 100644
--- a/test/language/statements/for-in/dstr-obj-prop-nested-obj-invalid.js
+++ b/test/language/statements/for-in/dstr-obj-prop-nested-obj-invalid.js
@@ -28,6 +28,6 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ({ x: { get x() {} } } in [{ x: {} }]) ;
diff --git a/test/language/statements/for-in/dstr-obj-prop-nested-obj-yield-ident-invalid.js b/test/language/statements/for-in/dstr-obj-prop-nested-obj-yield-ident-invalid.js
index 1ef3879888..320dd00adb 100644
--- a/test/language/statements/for-in/dstr-obj-prop-nested-obj-yield-ident-invalid.js
+++ b/test/language/statements/for-in/dstr-obj-prop-nested-obj-yield-ident-invalid.js
@@ -28,6 +28,6 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ({ x: { x = yield } } in [{ x: {} }]) ;
diff --git a/test/language/statements/for-in/dstr-obj-rest-not-last-element-invalid.js b/test/language/statements/for-in/dstr-obj-rest-not-last-element-invalid.js
index 3129efb651..cd7fc557ea 100644
--- a/test/language/statements/for-in/dstr-obj-rest-not-last-element-invalid.js
+++ b/test/language/statements/for-in/dstr-obj-rest-not-last-element-invalid.js
@@ -28,7 +28,7 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 var rest, b;
 
 for ({...rest, b} in [{}
diff --git a/test/language/statements/for-in/head-const-bound-names-dup.js b/test/language/statements/for-in/head-const-bound-names-dup.js
index 4eaffb71a7..9d379d9167 100644
--- a/test/language/statements/for-in/head-const-bound-names-dup.js
+++ b/test/language/statements/for-in/head-const-bound-names-dup.js
@@ -12,6 +12,6 @@ esid: sec-for-in-and-for-of-statements
 es6id: 13.7.5
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (const [x, x] in {}) {}
diff --git a/test/language/statements/for-in/head-const-bound-names-in-stmt.js b/test/language/statements/for-in/head-const-bound-names-in-stmt.js
index 950bbc314d..f999a28be2 100644
--- a/test/language/statements/for-in/head-const-bound-names-in-stmt.js
+++ b/test/language/statements/for-in/head-const-bound-names-in-stmt.js
@@ -12,7 +12,7 @@ esid: sec-for-in-and-for-of-statements
 es6id: 13.7.5
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (const x in {}) {
   var x;
diff --git a/test/language/statements/for-in/head-const-bound-names-let.js b/test/language/statements/for-in/head-const-bound-names-let.js
index 1dcfb37874..49e0f2104d 100644
--- a/test/language/statements/for-in/head-const-bound-names-let.js
+++ b/test/language/statements/for-in/head-const-bound-names-let.js
@@ -12,6 +12,6 @@ es6id: 13.7.5
 flags: [noStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (const let in {}) {}
diff --git a/test/language/statements/for-in/head-let-bound-names-dup.js b/test/language/statements/for-in/head-let-bound-names-dup.js
index 9f85999ada..bff9cff8d4 100644
--- a/test/language/statements/for-in/head-let-bound-names-dup.js
+++ b/test/language/statements/for-in/head-let-bound-names-dup.js
@@ -12,6 +12,6 @@ esid: sec-for-in-and-for-of-statements-static-semantics-early-errors
 es6id: 13.7.5
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (let [x, x] in {}) {}
diff --git a/test/language/statements/for-in/head-let-bound-names-in-stmt.js b/test/language/statements/for-in/head-let-bound-names-in-stmt.js
index 5427750cf5..35a3f6b32d 100644
--- a/test/language/statements/for-in/head-let-bound-names-in-stmt.js
+++ b/test/language/statements/for-in/head-let-bound-names-in-stmt.js
@@ -12,7 +12,7 @@ esid: sec-for-in-and-for-of-statements-static-semantics-early-errors
 es6id: 13.7.5
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (let x in {}) {
   var x;
diff --git a/test/language/statements/for-in/head-let-bound-names-let.js b/test/language/statements/for-in/head-let-bound-names-let.js
index 262ce7ba7b..be597fb10f 100644
--- a/test/language/statements/for-in/head-let-bound-names-let.js
+++ b/test/language/statements/for-in/head-let-bound-names-let.js
@@ -12,6 +12,6 @@ esid: sec-for-in-and-for-of-statements
 es6id: 13.7.5
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (let let in {}) {}
diff --git a/test/language/statements/for-in/head-lhs-cover-non-asnmt-trgt.js b/test/language/statements/for-in/head-lhs-cover-non-asnmt-trgt.js
index 907582abc0..ff458a03e3 100644
--- a/test/language/statements/for-in/head-lhs-cover-non-asnmt-trgt.js
+++ b/test/language/statements/for-in/head-lhs-cover-non-asnmt-trgt.js
@@ -19,6 +19,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ((this) in {}) {}
diff --git a/test/language/statements/for-in/head-lhs-invalid-asnmt-ptrn-ary.js b/test/language/statements/for-in/head-lhs-invalid-asnmt-ptrn-ary.js
index 6b8f27738e..e64bb0df72 100644
--- a/test/language/statements/for-in/head-lhs-invalid-asnmt-ptrn-ary.js
+++ b/test/language/statements/for-in/head-lhs-invalid-asnmt-ptrn-ary.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ([(x, y)] in {}) {}
diff --git a/test/language/statements/for-in/head-lhs-invalid-asnmt-ptrn-obj.js b/test/language/statements/for-in/head-lhs-invalid-asnmt-ptrn-obj.js
index 7a59b54e59..fd74393971 100644
--- a/test/language/statements/for-in/head-lhs-invalid-asnmt-ptrn-obj.js
+++ b/test/language/statements/for-in/head-lhs-invalid-asnmt-ptrn-obj.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ({ m() {} } in {}) {}
diff --git a/test/language/statements/for-in/head-lhs-non-asnmt-trgt.js b/test/language/statements/for-in/head-lhs-non-asnmt-trgt.js
index e95da2132a..badf8bdd52 100644
--- a/test/language/statements/for-in/head-lhs-non-asnmt-trgt.js
+++ b/test/language/statements/for-in/head-lhs-non-asnmt-trgt.js
@@ -13,6 +13,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (this in {}) {}
diff --git a/test/language/statements/for-in/labelled-fn-stmt-const.js b/test/language/statements/for-in/labelled-fn-stmt-const.js
index 8ca1f38c79..a3c1f8334f 100644
--- a/test/language/statements/for-in/labelled-fn-stmt-const.js
+++ b/test/language/statements/for-in/labelled-fn-stmt-const.js
@@ -13,6 +13,6 @@ info: |
     of the language mode.
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (const x in {}) label1: label2: function f() {}
diff --git a/test/language/statements/for-in/labelled-fn-stmt-let.js b/test/language/statements/for-in/labelled-fn-stmt-let.js
index 69a67f78c9..d08bf29bd6 100644
--- a/test/language/statements/for-in/labelled-fn-stmt-let.js
+++ b/test/language/statements/for-in/labelled-fn-stmt-let.js
@@ -13,6 +13,6 @@ info: |
     of the language mode.
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (let x in {}) label1: label2: function f() {}
diff --git a/test/language/statements/for-in/labelled-fn-stmt-lhs.js b/test/language/statements/for-in/labelled-fn-stmt-lhs.js
index 227b513c86..aafce8c5b0 100644
--- a/test/language/statements/for-in/labelled-fn-stmt-lhs.js
+++ b/test/language/statements/for-in/labelled-fn-stmt-lhs.js
@@ -13,6 +13,6 @@ info: |
     of the language mode.
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (x in {}) label1: label2: function f() {}
diff --git a/test/language/statements/for-in/labelled-fn-stmt-var.js b/test/language/statements/for-in/labelled-fn-stmt-var.js
index 6a82217eec..57edeb1c92 100644
--- a/test/language/statements/for-in/labelled-fn-stmt-var.js
+++ b/test/language/statements/for-in/labelled-fn-stmt-var.js
@@ -13,6 +13,6 @@ info: |
     of the language mode.
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (var x in {}) label1: label2: function f() {}
diff --git a/test/language/statements/for-in/let-array-with-newline.js b/test/language/statements/for-in/let-array-with-newline.js
index cd396011aa..2e75b06dee 100644
--- a/test/language/statements/for-in/let-array-with-newline.js
+++ b/test/language/statements/for-in/let-array-with-newline.js
@@ -15,7 +15,7 @@ negative:
 flags: [noStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (var x in null) let
 [a] = 0;
diff --git a/test/language/statements/for-of/decl-async-fun.js b/test/language/statements/for-of/decl-async-fun.js
index 50169efcad..ffa9c5e408 100644
--- a/test/language/statements/for-of/decl-async-fun.js
+++ b/test/language/statements/for-of/decl-async-fun.js
@@ -15,6 +15,6 @@ negative:
 features: [async-functions]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (var x of []) async function f() {}
diff --git a/test/language/statements/for-of/decl-async-gen.js b/test/language/statements/for-of/decl-async-gen.js
index 1cf29f55f4..54d556726a 100644
--- a/test/language/statements/for-of/decl-async-gen.js
+++ b/test/language/statements/for-of/decl-async-gen.js
@@ -15,6 +15,6 @@ negative:
 features: [async-iteration]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (var x of []) async function* g() {}
diff --git a/test/language/statements/for-of/decl-cls.js b/test/language/statements/for-of/decl-cls.js
index 90631efdb8..b46f4c8d11 100644
--- a/test/language/statements/for-of/decl-cls.js
+++ b/test/language/statements/for-of/decl-cls.js
@@ -9,6 +9,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (var x of []) class C {}
diff --git a/test/language/statements/for-of/decl-const.js b/test/language/statements/for-of/decl-const.js
index a411919757..879020ac75 100644
--- a/test/language/statements/for-of/decl-const.js
+++ b/test/language/statements/for-of/decl-const.js
@@ -9,6 +9,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (var x of []) const y = null;
diff --git a/test/language/statements/for-of/decl-fun.js b/test/language/statements/for-of/decl-fun.js
index 6eb333df66..488889370e 100644
--- a/test/language/statements/for-of/decl-fun.js
+++ b/test/language/statements/for-of/decl-fun.js
@@ -9,6 +9,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (var x of []) function f() {}
diff --git a/test/language/statements/for-of/decl-gen.js b/test/language/statements/for-of/decl-gen.js
index 45bcd9fe47..c5eb2acaf5 100644
--- a/test/language/statements/for-of/decl-gen.js
+++ b/test/language/statements/for-of/decl-gen.js
@@ -10,6 +10,6 @@ negative:
 features: [generators]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (var x of []) function* g() {}
diff --git a/test/language/statements/for-of/decl-let.js b/test/language/statements/for-of/decl-let.js
index 2035b7e600..75645e2f10 100644
--- a/test/language/statements/for-of/decl-let.js
+++ b/test/language/statements/for-of/decl-let.js
@@ -9,6 +9,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (var x of []) let y;
diff --git a/test/language/statements/for-of/dstr-array-elem-init-yield-ident-invalid.js b/test/language/statements/for-of/dstr-array-elem-init-yield-ident-invalid.js
index f53b53131b..6ce0605096 100644
--- a/test/language/statements/for-of/dstr-array-elem-init-yield-ident-invalid.js
+++ b/test/language/statements/for-of/dstr-array-elem-init-yield-ident-invalid.js
@@ -28,6 +28,6 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ([ x = yield ] of [[]]) ;
diff --git a/test/language/statements/for-of/dstr-array-elem-nested-array-invalid.js b/test/language/statements/for-of/dstr-array-elem-nested-array-invalid.js
index d898a5184d..3ff3d1682b 100644
--- a/test/language/statements/for-of/dstr-array-elem-nested-array-invalid.js
+++ b/test/language/statements/for-of/dstr-array-elem-nested-array-invalid.js
@@ -28,6 +28,6 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ([[(x, y)]] of [[[]]]) ;
diff --git a/test/language/statements/for-of/dstr-array-elem-nested-array-yield-ident-invalid.js b/test/language/statements/for-of/dstr-array-elem-nested-array-yield-ident-invalid.js
index 1fba2895dd..ed286f2ca9 100644
--- a/test/language/statements/for-of/dstr-array-elem-nested-array-yield-ident-invalid.js
+++ b/test/language/statements/for-of/dstr-array-elem-nested-array-yield-ident-invalid.js
@@ -28,6 +28,6 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ([[x[yield]]] of [[[]]]) ;
diff --git a/test/language/statements/for-of/dstr-array-elem-nested-obj-invalid.js b/test/language/statements/for-of/dstr-array-elem-nested-obj-invalid.js
index ac0da73bef..f187d5a38a 100644
--- a/test/language/statements/for-of/dstr-array-elem-nested-obj-invalid.js
+++ b/test/language/statements/for-of/dstr-array-elem-nested-obj-invalid.js
@@ -28,6 +28,6 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ([{ get x() {} }] of [[{}]]) ;
diff --git a/test/language/statements/for-of/dstr-array-elem-nested-obj-yield-ident-invalid.js b/test/language/statements/for-of/dstr-array-elem-nested-obj-yield-ident-invalid.js
index 1a77fb9fe6..05ae33f51c 100644
--- a/test/language/statements/for-of/dstr-array-elem-nested-obj-yield-ident-invalid.js
+++ b/test/language/statements/for-of/dstr-array-elem-nested-obj-yield-ident-invalid.js
@@ -28,6 +28,6 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ([{ x = yield }] of [[{}]]) ;
diff --git a/test/language/statements/for-of/dstr-array-elem-target-simple-strict.js b/test/language/statements/for-of/dstr-array-elem-target-simple-strict.js
index a8852bcbad..74b33dbf55 100644
--- a/test/language/statements/for-of/dstr-array-elem-target-simple-strict.js
+++ b/test/language/statements/for-of/dstr-array-elem-target-simple-strict.js
@@ -28,6 +28,6 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ([arguments] of [[]]) ;
diff --git a/test/language/statements/for-of/dstr-array-elem-target-yield-invalid.js b/test/language/statements/for-of/dstr-array-elem-target-yield-invalid.js
index b7d27eca32..83d4e90978 100644
--- a/test/language/statements/for-of/dstr-array-elem-target-yield-invalid.js
+++ b/test/language/statements/for-of/dstr-array-elem-target-yield-invalid.js
@@ -28,6 +28,6 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ([ x[yield] ] of [[]]) ;
diff --git a/test/language/statements/for-of/dstr-array-rest-before-element.js b/test/language/statements/for-of/dstr-array-rest-before-element.js
index 8f153b2f2f..4c29d2ad06 100644
--- a/test/language/statements/for-of/dstr-array-rest-before-element.js
+++ b/test/language/statements/for-of/dstr-array-rest-before-element.js
@@ -28,6 +28,6 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ([...x, y] of [[]]) ;
diff --git a/test/language/statements/for-of/dstr-array-rest-before-elision.js b/test/language/statements/for-of/dstr-array-rest-before-elision.js
index 53a31a54e6..6d805f6358 100644
--- a/test/language/statements/for-of/dstr-array-rest-before-elision.js
+++ b/test/language/statements/for-of/dstr-array-rest-before-elision.js
@@ -28,6 +28,6 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ([...x,] of [[]]) ;
diff --git a/test/language/statements/for-of/dstr-array-rest-before-rest.js b/test/language/statements/for-of/dstr-array-rest-before-rest.js
index 2158163a69..8c68e2e571 100644
--- a/test/language/statements/for-of/dstr-array-rest-before-rest.js
+++ b/test/language/statements/for-of/dstr-array-rest-before-rest.js
@@ -28,6 +28,6 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ([...x, ...y] of [[]]) ;
diff --git a/test/language/statements/for-of/dstr-array-rest-elision-invalid.js b/test/language/statements/for-of/dstr-array-rest-elision-invalid.js
index 41929735cc..3b6212fda9 100644
--- a/test/language/statements/for-of/dstr-array-rest-elision-invalid.js
+++ b/test/language/statements/for-of/dstr-array-rest-elision-invalid.js
@@ -28,6 +28,6 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ([...x,] of [[]]) ;
diff --git a/test/language/statements/for-of/dstr-array-rest-init.js b/test/language/statements/for-of/dstr-array-rest-init.js
index e790acf538..1d41c9ad7d 100644
--- a/test/language/statements/for-of/dstr-array-rest-init.js
+++ b/test/language/statements/for-of/dstr-array-rest-init.js
@@ -28,7 +28,7 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 var x;
 
 for ([...x = 1] of [[]]) ;
diff --git a/test/language/statements/for-of/dstr-array-rest-nested-array-invalid.js b/test/language/statements/for-of/dstr-array-rest-nested-array-invalid.js
index f99ed0753b..7e2b16bfa5 100644
--- a/test/language/statements/for-of/dstr-array-rest-nested-array-invalid.js
+++ b/test/language/statements/for-of/dstr-array-rest-nested-array-invalid.js
@@ -28,6 +28,6 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ([...[(x, y)]] of [[[]]]) ;
diff --git a/test/language/statements/for-of/dstr-array-rest-nested-array-yield-ident-invalid.js b/test/language/statements/for-of/dstr-array-rest-nested-array-yield-ident-invalid.js
index 90c85ac91a..e6ed5632d6 100644
--- a/test/language/statements/for-of/dstr-array-rest-nested-array-yield-ident-invalid.js
+++ b/test/language/statements/for-of/dstr-array-rest-nested-array-yield-ident-invalid.js
@@ -28,6 +28,6 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ([...[x[yield]]] of [[]]) ;
diff --git a/test/language/statements/for-of/dstr-array-rest-nested-obj-invalid.js b/test/language/statements/for-of/dstr-array-rest-nested-obj-invalid.js
index e0045b809f..b413731431 100644
--- a/test/language/statements/for-of/dstr-array-rest-nested-obj-invalid.js
+++ b/test/language/statements/for-of/dstr-array-rest-nested-obj-invalid.js
@@ -28,6 +28,6 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ([...{ get x() {} }] of [[[]]]) ;
diff --git a/test/language/statements/for-of/dstr-array-rest-nested-obj-yield-ident-invalid.js b/test/language/statements/for-of/dstr-array-rest-nested-obj-yield-ident-invalid.js
index b9e0ad8448..d36023afb5 100644
--- a/test/language/statements/for-of/dstr-array-rest-nested-obj-yield-ident-invalid.js
+++ b/test/language/statements/for-of/dstr-array-rest-nested-obj-yield-ident-invalid.js
@@ -28,6 +28,6 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ([...{ x = yield }] of [[{}]]) ;
diff --git a/test/language/statements/for-of/dstr-array-rest-yield-ident-invalid.js b/test/language/statements/for-of/dstr-array-rest-yield-ident-invalid.js
index 3e2ec92916..c0b8149c8c 100644
--- a/test/language/statements/for-of/dstr-array-rest-yield-ident-invalid.js
+++ b/test/language/statements/for-of/dstr-array-rest-yield-ident-invalid.js
@@ -28,7 +28,7 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 var x = {};
 
 for ([...x[yield]] of [[]]) ;
diff --git a/test/language/statements/for-of/dstr-const-ary-ptrn-rest-init-ary.js b/test/language/statements/for-of/dstr-const-ary-ptrn-rest-init-ary.js
index 3fddf6846c..62084ee87b 100644
--- a/test/language/statements/for-of/dstr-const-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/for-of/dstr-const-ary-ptrn-rest-init-ary.js
@@ -45,7 +45,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-of/dstr-const-ary-ptrn-rest-init-id.js b/test/language/statements/for-of/dstr-const-ary-ptrn-rest-init-id.js
index 1b4aa0825a..6b9cf85216 100644
--- a/test/language/statements/for-of/dstr-const-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/for-of/dstr-const-ary-ptrn-rest-init-id.js
@@ -45,7 +45,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-of/dstr-const-ary-ptrn-rest-init-obj.js b/test/language/statements/for-of/dstr-const-ary-ptrn-rest-init-obj.js
index a31aa3abab..64c52d98c5 100644
--- a/test/language/statements/for-of/dstr-const-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/for-of/dstr-const-ary-ptrn-rest-init-obj.js
@@ -45,7 +45,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-of/dstr-const-ary-ptrn-rest-not-final-ary.js b/test/language/statements/for-of/dstr-const-ary-ptrn-rest-not-final-ary.js
index fa831b3ba7..0866cad6cd 100644
--- a/test/language/statements/for-of/dstr-const-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/for-of/dstr-const-ary-ptrn-rest-not-final-ary.js
@@ -45,7 +45,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-of/dstr-const-ary-ptrn-rest-not-final-id.js b/test/language/statements/for-of/dstr-const-ary-ptrn-rest-not-final-id.js
index f01433b5b7..602e64a1cb 100644
--- a/test/language/statements/for-of/dstr-const-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/for-of/dstr-const-ary-ptrn-rest-not-final-id.js
@@ -45,7 +45,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-of/dstr-const-ary-ptrn-rest-not-final-obj.js b/test/language/statements/for-of/dstr-const-ary-ptrn-rest-not-final-obj.js
index ccfa7650ce..bc14a5f681 100644
--- a/test/language/statements/for-of/dstr-const-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/for-of/dstr-const-ary-ptrn-rest-not-final-obj.js
@@ -45,7 +45,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-of/dstr-let-ary-ptrn-rest-init-ary.js b/test/language/statements/for-of/dstr-let-ary-ptrn-rest-init-ary.js
index 309facbc51..bfdb0b7127 100644
--- a/test/language/statements/for-of/dstr-let-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/for-of/dstr-let-ary-ptrn-rest-init-ary.js
@@ -45,7 +45,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-of/dstr-let-ary-ptrn-rest-init-id.js b/test/language/statements/for-of/dstr-let-ary-ptrn-rest-init-id.js
index fb85c19503..5513e662b6 100644
--- a/test/language/statements/for-of/dstr-let-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/for-of/dstr-let-ary-ptrn-rest-init-id.js
@@ -45,7 +45,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-of/dstr-let-ary-ptrn-rest-init-obj.js b/test/language/statements/for-of/dstr-let-ary-ptrn-rest-init-obj.js
index f81f7a7669..6b31432864 100644
--- a/test/language/statements/for-of/dstr-let-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/for-of/dstr-let-ary-ptrn-rest-init-obj.js
@@ -45,7 +45,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-of/dstr-let-ary-ptrn-rest-not-final-ary.js b/test/language/statements/for-of/dstr-let-ary-ptrn-rest-not-final-ary.js
index 91f783a42e..7567d7cf7d 100644
--- a/test/language/statements/for-of/dstr-let-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/for-of/dstr-let-ary-ptrn-rest-not-final-ary.js
@@ -45,7 +45,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-of/dstr-let-ary-ptrn-rest-not-final-id.js b/test/language/statements/for-of/dstr-let-ary-ptrn-rest-not-final-id.js
index dcf5b39249..dcd0d137a6 100644
--- a/test/language/statements/for-of/dstr-let-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/for-of/dstr-let-ary-ptrn-rest-not-final-id.js
@@ -45,7 +45,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-of/dstr-let-ary-ptrn-rest-not-final-obj.js b/test/language/statements/for-of/dstr-let-ary-ptrn-rest-not-final-obj.js
index 459f4e32a5..117e8608ee 100644
--- a/test/language/statements/for-of/dstr-let-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/for-of/dstr-let-ary-ptrn-rest-not-final-obj.js
@@ -45,7 +45,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-of/dstr-obj-id-identifier-yield-expr.js b/test/language/statements/for-of/dstr-obj-id-identifier-yield-expr.js
index 1857cfab93..e98e4e4235 100644
--- a/test/language/statements/for-of/dstr-obj-id-identifier-yield-expr.js
+++ b/test/language/statements/for-of/dstr-obj-id-identifier-yield-expr.js
@@ -28,7 +28,7 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 (function*() {
 
 for ({ yield } of [{}]) ;
diff --git a/test/language/statements/for-of/dstr-obj-id-identifier-yield-ident-invalid.js b/test/language/statements/for-of/dstr-obj-id-identifier-yield-ident-invalid.js
index 902a0033b7..7e86135b59 100644
--- a/test/language/statements/for-of/dstr-obj-id-identifier-yield-ident-invalid.js
+++ b/test/language/statements/for-of/dstr-obj-id-identifier-yield-ident-invalid.js
@@ -28,6 +28,6 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ({ yield } of [{}]) ;
diff --git a/test/language/statements/for-of/dstr-obj-id-init-simple-strict.js b/test/language/statements/for-of/dstr-obj-id-init-simple-strict.js
index b7d56d816e..3e1638726c 100644
--- a/test/language/statements/for-of/dstr-obj-id-init-simple-strict.js
+++ b/test/language/statements/for-of/dstr-obj-id-init-simple-strict.js
@@ -28,6 +28,6 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ({ eval = 0 } of [{}]) ;
diff --git a/test/language/statements/for-of/dstr-obj-id-init-yield-ident-invalid.js b/test/language/statements/for-of/dstr-obj-id-init-yield-ident-invalid.js
index 9e343f7356..88c554d36e 100644
--- a/test/language/statements/for-of/dstr-obj-id-init-yield-ident-invalid.js
+++ b/test/language/statements/for-of/dstr-obj-id-init-yield-ident-invalid.js
@@ -28,6 +28,6 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ({ x = yield } of [{}]) ;
diff --git a/test/language/statements/for-of/dstr-obj-id-simple-strict.js b/test/language/statements/for-of/dstr-obj-id-simple-strict.js
index d1e6f66ed0..5c4a9fa50f 100644
--- a/test/language/statements/for-of/dstr-obj-id-simple-strict.js
+++ b/test/language/statements/for-of/dstr-obj-id-simple-strict.js
@@ -28,6 +28,6 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ({ eval } of [{}]) ;
diff --git a/test/language/statements/for-of/dstr-obj-prop-elem-init-yield-ident-invalid.js b/test/language/statements/for-of/dstr-obj-prop-elem-init-yield-ident-invalid.js
index d160391c0d..d72df9b985 100644
--- a/test/language/statements/for-of/dstr-obj-prop-elem-init-yield-ident-invalid.js
+++ b/test/language/statements/for-of/dstr-obj-prop-elem-init-yield-ident-invalid.js
@@ -28,6 +28,6 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ({ x: x = yield } of [{}]) ;
diff --git a/test/language/statements/for-of/dstr-obj-prop-elem-target-yield-ident-invalid.js b/test/language/statements/for-of/dstr-obj-prop-elem-target-yield-ident-invalid.js
index 9ac3407afc..f2db3211cf 100644
--- a/test/language/statements/for-of/dstr-obj-prop-elem-target-yield-ident-invalid.js
+++ b/test/language/statements/for-of/dstr-obj-prop-elem-target-yield-ident-invalid.js
@@ -28,6 +28,6 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ({ x: x[yield] } of [{}]) ;
diff --git a/test/language/statements/for-of/dstr-obj-prop-nested-array-invalid.js b/test/language/statements/for-of/dstr-obj-prop-nested-array-invalid.js
index c3e7ad888e..9e7711994b 100644
--- a/test/language/statements/for-of/dstr-obj-prop-nested-array-invalid.js
+++ b/test/language/statements/for-of/dstr-obj-prop-nested-array-invalid.js
@@ -28,6 +28,6 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ({ x: [(x, y)] } of [{ x: [] }]) ;
diff --git a/test/language/statements/for-of/dstr-obj-prop-nested-array-yield-ident-invalid.js b/test/language/statements/for-of/dstr-obj-prop-nested-array-yield-ident-invalid.js
index aad64f5068..5e02aa7772 100644
--- a/test/language/statements/for-of/dstr-obj-prop-nested-array-yield-ident-invalid.js
+++ b/test/language/statements/for-of/dstr-obj-prop-nested-array-yield-ident-invalid.js
@@ -28,6 +28,6 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ({ x: [x = yield] } of [{ x: [] }]) ;
diff --git a/test/language/statements/for-of/dstr-obj-prop-nested-obj-invalid.js b/test/language/statements/for-of/dstr-obj-prop-nested-obj-invalid.js
index 7ccc6c146b..abb38eae37 100644
--- a/test/language/statements/for-of/dstr-obj-prop-nested-obj-invalid.js
+++ b/test/language/statements/for-of/dstr-obj-prop-nested-obj-invalid.js
@@ -28,6 +28,6 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ({ x: { get x() {} } } of [{ x: {} }]) ;
diff --git a/test/language/statements/for-of/dstr-obj-prop-nested-obj-yield-ident-invalid.js b/test/language/statements/for-of/dstr-obj-prop-nested-obj-yield-ident-invalid.js
index 2f33b001d9..9c0560f469 100644
--- a/test/language/statements/for-of/dstr-obj-prop-nested-obj-yield-ident-invalid.js
+++ b/test/language/statements/for-of/dstr-obj-prop-nested-obj-yield-ident-invalid.js
@@ -28,6 +28,6 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ({ x: { x = yield } } of [{ x: {} }]) ;
diff --git a/test/language/statements/for-of/dstr-obj-rest-not-last-element-invalid.js b/test/language/statements/for-of/dstr-obj-rest-not-last-element-invalid.js
index ba9866f2ba..4b3fbd502e 100644
--- a/test/language/statements/for-of/dstr-obj-rest-not-last-element-invalid.js
+++ b/test/language/statements/for-of/dstr-obj-rest-not-last-element-invalid.js
@@ -28,7 +28,7 @@ info: |
           lhs using AssignmentPattern as the goal symbol.
     [...]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 var rest, b;
 
 for ({...rest, b} of [{}
diff --git a/test/language/statements/for-of/dstr-var-ary-ptrn-rest-init-ary.js b/test/language/statements/for-of/dstr-var-ary-ptrn-rest-init-ary.js
index 94e30b8558..0685d73009 100644
--- a/test/language/statements/for-of/dstr-var-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/for-of/dstr-var-ary-ptrn-rest-init-ary.js
@@ -42,7 +42,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-of/dstr-var-ary-ptrn-rest-init-id.js b/test/language/statements/for-of/dstr-var-ary-ptrn-rest-init-id.js
index f93eadc365..f56070e585 100644
--- a/test/language/statements/for-of/dstr-var-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/for-of/dstr-var-ary-ptrn-rest-init-id.js
@@ -42,7 +42,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-of/dstr-var-ary-ptrn-rest-init-obj.js b/test/language/statements/for-of/dstr-var-ary-ptrn-rest-init-obj.js
index cabf7a2243..41585fa772 100644
--- a/test/language/statements/for-of/dstr-var-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/for-of/dstr-var-ary-ptrn-rest-init-obj.js
@@ -42,7 +42,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-of/dstr-var-ary-ptrn-rest-not-final-ary.js b/test/language/statements/for-of/dstr-var-ary-ptrn-rest-not-final-ary.js
index 15fb38538e..d0ec0f3ee1 100644
--- a/test/language/statements/for-of/dstr-var-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/for-of/dstr-var-ary-ptrn-rest-not-final-ary.js
@@ -42,7 +42,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-of/dstr-var-ary-ptrn-rest-not-final-id.js b/test/language/statements/for-of/dstr-var-ary-ptrn-rest-not-final-id.js
index e01da045fe..711fb7fe9a 100644
--- a/test/language/statements/for-of/dstr-var-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/for-of/dstr-var-ary-ptrn-rest-not-final-id.js
@@ -42,7 +42,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-of/dstr-var-ary-ptrn-rest-not-final-obj.js b/test/language/statements/for-of/dstr-var-ary-ptrn-rest-not-final-obj.js
index ef24eb0077..781193f1fc 100644
--- a/test/language/statements/for-of/dstr-var-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/for-of/dstr-var-ary-ptrn-rest-not-final-obj.js
@@ -42,7 +42,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for-of/escaped-of.js b/test/language/statements/for-of/escaped-of.js
index efe191fbeb..a3262f4c5f 100644
--- a/test/language/statements/for-of/escaped-of.js
+++ b/test/language/statements/for-of/escaped-of.js
@@ -18,6 +18,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (var x o\u0066 []) ;
diff --git a/test/language/statements/for-of/head-const-bound-names-dup.js b/test/language/statements/for-of/head-const-bound-names-dup.js
index 59390aabf7..e6c94dafa7 100644
--- a/test/language/statements/for-of/head-const-bound-names-dup.js
+++ b/test/language/statements/for-of/head-const-bound-names-dup.js
@@ -12,6 +12,6 @@ esid: sec-for-in-and-for-of-statements
 es6id: 13.7.5
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (const [x, x] of []) {}
diff --git a/test/language/statements/for-of/head-const-bound-names-in-stmt.js b/test/language/statements/for-of/head-const-bound-names-in-stmt.js
index ec4b57ade9..6c693965e4 100644
--- a/test/language/statements/for-of/head-const-bound-names-in-stmt.js
+++ b/test/language/statements/for-of/head-const-bound-names-in-stmt.js
@@ -12,7 +12,7 @@ esid: sec-for-in-and-for-of-statements
 es6id: 13.7.5
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (const x of []) {
   var x;
diff --git a/test/language/statements/for-of/head-const-bound-names-let.js b/test/language/statements/for-of/head-const-bound-names-let.js
index a31ff3e920..c45389ee7f 100644
--- a/test/language/statements/for-of/head-const-bound-names-let.js
+++ b/test/language/statements/for-of/head-const-bound-names-let.js
@@ -12,6 +12,6 @@ es6id: 13.7.5
 flags: [noStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (const let of []) {}
diff --git a/test/language/statements/for-of/head-decl-no-expr.js b/test/language/statements/for-of/head-decl-no-expr.js
index 4af30b1f3b..5f3742e467 100644
--- a/test/language/statements/for-of/head-decl-no-expr.js
+++ b/test/language/statements/for-of/head-decl-no-expr.js
@@ -12,6 +12,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (let x of [], []) {}
diff --git a/test/language/statements/for-of/head-expr-no-expr.js b/test/language/statements/for-of/head-expr-no-expr.js
index a9960242e1..2535e639f7 100644
--- a/test/language/statements/for-of/head-expr-no-expr.js
+++ b/test/language/statements/for-of/head-expr-no-expr.js
@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var x;
 for (x of [], []) {}
diff --git a/test/language/statements/for-of/head-let-bound-names-dup.js b/test/language/statements/for-of/head-let-bound-names-dup.js
index 2d823b92d0..728d069f4e 100644
--- a/test/language/statements/for-of/head-let-bound-names-dup.js
+++ b/test/language/statements/for-of/head-let-bound-names-dup.js
@@ -12,6 +12,6 @@ esid: sec-for-in-and-for-of-statements-static-semantics-early-errors
 es6id: 13.7.5
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (let [x, x] of []) {}
diff --git a/test/language/statements/for-of/head-let-bound-names-in-stmt.js b/test/language/statements/for-of/head-let-bound-names-in-stmt.js
index 6274812259..6a02a2df2f 100644
--- a/test/language/statements/for-of/head-let-bound-names-in-stmt.js
+++ b/test/language/statements/for-of/head-let-bound-names-in-stmt.js
@@ -12,7 +12,7 @@ esid: sec-for-in-and-for-of-statements-static-semantics-early-errors
 es6id: 13.7.5
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (let x of []) {
   var x;
diff --git a/test/language/statements/for-of/head-let-bound-names-let.js b/test/language/statements/for-of/head-let-bound-names-let.js
index 2a4b5d2aae..0893a622d2 100644
--- a/test/language/statements/for-of/head-let-bound-names-let.js
+++ b/test/language/statements/for-of/head-let-bound-names-let.js
@@ -12,6 +12,6 @@ esid: sec-for-in-and-for-of-statements
 es6id: 13.7.5
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (let let of []) {}
diff --git a/test/language/statements/for-of/head-lhs-cover-non-asnmt-trgt.js b/test/language/statements/for-of/head-lhs-cover-non-asnmt-trgt.js
index 866bec3383..850de1c4a4 100644
--- a/test/language/statements/for-of/head-lhs-cover-non-asnmt-trgt.js
+++ b/test/language/statements/for-of/head-lhs-cover-non-asnmt-trgt.js
@@ -19,6 +19,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ((this) of []) {}
diff --git a/test/language/statements/for-of/head-lhs-invalid-asnmt-ptrn-ary.js b/test/language/statements/for-of/head-lhs-invalid-asnmt-ptrn-ary.js
index 6d0d6d050d..0f7b745c91 100644
--- a/test/language/statements/for-of/head-lhs-invalid-asnmt-ptrn-ary.js
+++ b/test/language/statements/for-of/head-lhs-invalid-asnmt-ptrn-ary.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ([(x, y)] of []) {}
diff --git a/test/language/statements/for-of/head-lhs-invalid-asnmt-ptrn-obj.js b/test/language/statements/for-of/head-lhs-invalid-asnmt-ptrn-obj.js
index b72766bda1..c8f14de2ce 100644
--- a/test/language/statements/for-of/head-lhs-invalid-asnmt-ptrn-obj.js
+++ b/test/language/statements/for-of/head-lhs-invalid-asnmt-ptrn-obj.js
@@ -15,6 +15,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ({ m() {} } of []) {}
diff --git a/test/language/statements/for-of/head-lhs-let.js b/test/language/statements/for-of/head-lhs-let.js
index 43a6f6dcbd..48be778ab2 100644
--- a/test/language/statements/for-of/head-lhs-let.js
+++ b/test/language/statements/for-of/head-lhs-let.js
@@ -20,6 +20,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ( let of [] ) ;
diff --git a/test/language/statements/for-of/head-lhs-non-asnmt-trgt.js b/test/language/statements/for-of/head-lhs-non-asnmt-trgt.js
index d00958ae6a..26e60429c9 100644
--- a/test/language/statements/for-of/head-lhs-non-asnmt-trgt.js
+++ b/test/language/statements/for-of/head-lhs-non-asnmt-trgt.js
@@ -13,6 +13,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (this of []) {}
diff --git a/test/language/statements/for-of/head-var-no-expr.js b/test/language/statements/for-of/head-var-no-expr.js
index 12f194afb9..92dc93e6b9 100644
--- a/test/language/statements/for-of/head-var-no-expr.js
+++ b/test/language/statements/for-of/head-var-no-expr.js
@@ -12,6 +12,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (var x of [], []) {}
diff --git a/test/language/statements/for-of/labelled-fn-stmt-const.js b/test/language/statements/for-of/labelled-fn-stmt-const.js
index a121b6e580..a440034484 100644
--- a/test/language/statements/for-of/labelled-fn-stmt-const.js
+++ b/test/language/statements/for-of/labelled-fn-stmt-const.js
@@ -13,6 +13,6 @@ info: |
     of the language mode.
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (const x of []) label1: label2: function f() {}
diff --git a/test/language/statements/for-of/labelled-fn-stmt-let.js b/test/language/statements/for-of/labelled-fn-stmt-let.js
index 47a1f00c66..fedc0fcde9 100644
--- a/test/language/statements/for-of/labelled-fn-stmt-let.js
+++ b/test/language/statements/for-of/labelled-fn-stmt-let.js
@@ -13,6 +13,6 @@ info: |
     of the language mode.
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (let x of []) label1: label2: function f() {}
diff --git a/test/language/statements/for-of/labelled-fn-stmt-lhs.js b/test/language/statements/for-of/labelled-fn-stmt-lhs.js
index 533ebb6bc9..81fbdeb816 100644
--- a/test/language/statements/for-of/labelled-fn-stmt-lhs.js
+++ b/test/language/statements/for-of/labelled-fn-stmt-lhs.js
@@ -13,6 +13,6 @@ info: |
     of the language mode.
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (x of []) label1: label2: function f() {}
diff --git a/test/language/statements/for-of/labelled-fn-stmt-var.js b/test/language/statements/for-of/labelled-fn-stmt-var.js
index b7913580fd..ceff114da4 100644
--- a/test/language/statements/for-of/labelled-fn-stmt-var.js
+++ b/test/language/statements/for-of/labelled-fn-stmt-var.js
@@ -13,6 +13,6 @@ info: |
     of the language mode.
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (var x of []) label1: label2: function f() {}
diff --git a/test/language/statements/for-of/let-array-with-newline.js b/test/language/statements/for-of/let-array-with-newline.js
index 978740e82d..139ea7cc1c 100644
--- a/test/language/statements/for-of/let-array-with-newline.js
+++ b/test/language/statements/for-of/let-array-with-newline.js
@@ -15,7 +15,7 @@ negative:
 flags: [noStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (var x of []) let
 [a] = 0;
diff --git a/test/language/statements/for/S12.6.3_A11.1_T3.js b/test/language/statements/for/S12.6.3_A11.1_T3.js
index 4c959d4219..7581d9bc3a 100644
--- a/test/language/statements/for/S12.6.3_A11.1_T3.js
+++ b/test/language/statements/for/S12.6.3_A11.1_T3.js
@@ -13,7 +13,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 __str="";
 
diff --git a/test/language/statements/for/S12.6.3_A11_T3.js b/test/language/statements/for/S12.6.3_A11_T3.js
index 3bff20a5c0..b52fe0537e 100644
--- a/test/language/statements/for/S12.6.3_A11_T3.js
+++ b/test/language/statements/for/S12.6.3_A11_T3.js
@@ -13,7 +13,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 __str="";
 
diff --git a/test/language/statements/for/S12.6.3_A12.1_T3.js b/test/language/statements/for/S12.6.3_A12.1_T3.js
index aeb5fa9ca1..1a3fdd2d1e 100644
--- a/test/language/statements/for/S12.6.3_A12.1_T3.js
+++ b/test/language/statements/for/S12.6.3_A12.1_T3.js
@@ -13,7 +13,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 __str="";
 
diff --git a/test/language/statements/for/S12.6.3_A12_T3.js b/test/language/statements/for/S12.6.3_A12_T3.js
index fdf52e173c..f39f7dcacd 100644
--- a/test/language/statements/for/S12.6.3_A12_T3.js
+++ b/test/language/statements/for/S12.6.3_A12_T3.js
@@ -13,7 +13,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 __str="";
 
diff --git a/test/language/statements/for/S12.6.3_A4.1.js b/test/language/statements/for/S12.6.3_A4.1.js
index a502b9a968..0e23c1d1a4 100644
--- a/test/language/statements/for/S12.6.3_A4.1.js
+++ b/test/language/statements/for/S12.6.3_A4.1.js
@@ -13,7 +13,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 arr = [1,2,3,4,5];
 
diff --git a/test/language/statements/for/S12.6.3_A4_T1.js b/test/language/statements/for/S12.6.3_A4_T1.js
index 7fab74a937..50392787cc 100644
--- a/test/language/statements/for/S12.6.3_A4_T1.js
+++ b/test/language/statements/for/S12.6.3_A4_T1.js
@@ -13,7 +13,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 arr = [1,2,3,4,5];
 
diff --git a/test/language/statements/for/S12.6.3_A4_T2.js b/test/language/statements/for/S12.6.3_A4_T2.js
index 4b9166c5b9..2e04d6ef13 100644
--- a/test/language/statements/for/S12.6.3_A4_T2.js
+++ b/test/language/statements/for/S12.6.3_A4_T2.js
@@ -13,7 +13,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 arr = [1,2,3,4,5];
 
diff --git a/test/language/statements/for/S12.6.3_A7.1_T1.js b/test/language/statements/for/S12.6.3_A7.1_T1.js
index ea799c7ea6..17c4048ce6 100644
--- a/test/language/statements/for/S12.6.3_A7.1_T1.js
+++ b/test/language/statements/for/S12.6.3_A7.1_T1.js
@@ -14,7 +14,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //////////////////////////////////////////////////////////////////////////////
 //CHECK#1
diff --git a/test/language/statements/for/S12.6.3_A7.1_T2.js b/test/language/statements/for/S12.6.3_A7.1_T2.js
index ed95b9a0d8..7afa0c508c 100644
--- a/test/language/statements/for/S12.6.3_A7.1_T2.js
+++ b/test/language/statements/for/S12.6.3_A7.1_T2.js
@@ -14,7 +14,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //////////////////////////////////////////////////////////////////////////////
 //CHECK#1
diff --git a/test/language/statements/for/S12.6.3_A7_T1.js b/test/language/statements/for/S12.6.3_A7_T1.js
index 56c4e6952b..51bb5dc286 100644
--- a/test/language/statements/for/S12.6.3_A7_T1.js
+++ b/test/language/statements/for/S12.6.3_A7_T1.js
@@ -14,7 +14,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //////////////////////////////////////////////////////////////////////////////
 //CHECK#1
diff --git a/test/language/statements/for/S12.6.3_A7_T2.js b/test/language/statements/for/S12.6.3_A7_T2.js
index 8f6ad93154..67b9745a0b 100644
--- a/test/language/statements/for/S12.6.3_A7_T2.js
+++ b/test/language/statements/for/S12.6.3_A7_T2.js
@@ -14,7 +14,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //////////////////////////////////////////////////////////////////////////////
 //CHECK#1
diff --git a/test/language/statements/for/S12.6.3_A8.1_T1.js b/test/language/statements/for/S12.6.3_A8.1_T1.js
index 517ce3f7df..149077b229 100644
--- a/test/language/statements/for/S12.6.3_A8.1_T1.js
+++ b/test/language/statements/for/S12.6.3_A8.1_T1.js
@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var arr = [];
 
diff --git a/test/language/statements/for/S12.6.3_A8.1_T2.js b/test/language/statements/for/S12.6.3_A8.1_T2.js
index f60cb148ae..0953e42969 100644
--- a/test/language/statements/for/S12.6.3_A8.1_T2.js
+++ b/test/language/statements/for/S12.6.3_A8.1_T2.js
@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var arr = [];
 
diff --git a/test/language/statements/for/S12.6.3_A8.1_T3.js b/test/language/statements/for/S12.6.3_A8.1_T3.js
index 2827672521..20e7cf043a 100644
--- a/test/language/statements/for/S12.6.3_A8.1_T3.js
+++ b/test/language/statements/for/S12.6.3_A8.1_T3.js
@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var arr = [];
 
diff --git a/test/language/statements/for/S12.6.3_A8_T1.js b/test/language/statements/for/S12.6.3_A8_T1.js
index 00c61e86a9..88b0f82302 100644
--- a/test/language/statements/for/S12.6.3_A8_T1.js
+++ b/test/language/statements/for/S12.6.3_A8_T1.js
@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var arr = [];
 
diff --git a/test/language/statements/for/S12.6.3_A8_T2.js b/test/language/statements/for/S12.6.3_A8_T2.js
index de49a23091..70a80a947d 100644
--- a/test/language/statements/for/S12.6.3_A8_T2.js
+++ b/test/language/statements/for/S12.6.3_A8_T2.js
@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var arr = [];
 
diff --git a/test/language/statements/for/S12.6.3_A8_T3.js b/test/language/statements/for/S12.6.3_A8_T3.js
index 6e5ba19a69..8782eb8843 100644
--- a/test/language/statements/for/S12.6.3_A8_T3.js
+++ b/test/language/statements/for/S12.6.3_A8_T3.js
@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var arr = [];
 
diff --git a/test/language/statements/for/decl-async-fun.js b/test/language/statements/for/decl-async-fun.js
index 775783633a..3e35186b4f 100644
--- a/test/language/statements/for/decl-async-fun.js
+++ b/test/language/statements/for/decl-async-fun.js
@@ -15,6 +15,6 @@ negative:
 features: [async-functions]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ( ; false; ) async function f() {}
diff --git a/test/language/statements/for/decl-async-gen.js b/test/language/statements/for/decl-async-gen.js
index 07383c4d3c..1f2eacbb44 100644
--- a/test/language/statements/for/decl-async-gen.js
+++ b/test/language/statements/for/decl-async-gen.js
@@ -15,6 +15,6 @@ negative:
 features: [async-iteration]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ( ; false; ) async function* g() {}
diff --git a/test/language/statements/for/decl-cls.js b/test/language/statements/for/decl-cls.js
index 81861122a3..14b9f3dfcf 100644
--- a/test/language/statements/for/decl-cls.js
+++ b/test/language/statements/for/decl-cls.js
@@ -9,6 +9,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ( ; false; ) class C {}
diff --git a/test/language/statements/for/decl-const.js b/test/language/statements/for/decl-const.js
index 2c6b227be2..0a9caf3a42 100644
--- a/test/language/statements/for/decl-const.js
+++ b/test/language/statements/for/decl-const.js
@@ -9,6 +9,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ( ; false; ) const x = null;
diff --git a/test/language/statements/for/decl-fun.js b/test/language/statements/for/decl-fun.js
index 3f3b1115c6..b0f33565ed 100644
--- a/test/language/statements/for/decl-fun.js
+++ b/test/language/statements/for/decl-fun.js
@@ -9,6 +9,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ( ; false; ) function f() {}
diff --git a/test/language/statements/for/decl-gen.js b/test/language/statements/for/decl-gen.js
index 2bf88fe5d0..2ded16a953 100644
--- a/test/language/statements/for/decl-gen.js
+++ b/test/language/statements/for/decl-gen.js
@@ -10,6 +10,6 @@ negative:
 features: [generators]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ( ; false; ) function* g() {}
diff --git a/test/language/statements/for/decl-let.js b/test/language/statements/for/decl-let.js
index 1cfac96e92..c9df4e7342 100644
--- a/test/language/statements/for/decl-let.js
+++ b/test/language/statements/for/decl-let.js
@@ -9,6 +9,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ( ; false; ) let x;
diff --git a/test/language/statements/for/dstr-const-ary-ptrn-rest-init-ary.js b/test/language/statements/for/dstr-const-ary-ptrn-rest-init-ary.js
index 69364066a4..d52c93971e 100644
--- a/test/language/statements/for/dstr-const-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/for/dstr-const-ary-ptrn-rest-init-ary.js
@@ -45,7 +45,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for/dstr-const-ary-ptrn-rest-init-id.js b/test/language/statements/for/dstr-const-ary-ptrn-rest-init-id.js
index 6b95cfef5e..1950ca7d31 100644
--- a/test/language/statements/for/dstr-const-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/for/dstr-const-ary-ptrn-rest-init-id.js
@@ -45,7 +45,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for/dstr-const-ary-ptrn-rest-init-obj.js b/test/language/statements/for/dstr-const-ary-ptrn-rest-init-obj.js
index 75b0c6a657..af680c4e2c 100644
--- a/test/language/statements/for/dstr-const-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/for/dstr-const-ary-ptrn-rest-init-obj.js
@@ -45,7 +45,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for/dstr-const-ary-ptrn-rest-not-final-ary.js b/test/language/statements/for/dstr-const-ary-ptrn-rest-not-final-ary.js
index c1aec157c8..3bb95dc25f 100644
--- a/test/language/statements/for/dstr-const-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/for/dstr-const-ary-ptrn-rest-not-final-ary.js
@@ -45,7 +45,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for/dstr-const-ary-ptrn-rest-not-final-id.js b/test/language/statements/for/dstr-const-ary-ptrn-rest-not-final-id.js
index 819955940f..07d39602fe 100644
--- a/test/language/statements/for/dstr-const-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/for/dstr-const-ary-ptrn-rest-not-final-id.js
@@ -45,7 +45,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for/dstr-const-ary-ptrn-rest-not-final-obj.js b/test/language/statements/for/dstr-const-ary-ptrn-rest-not-final-obj.js
index 65eb521bd0..0b0b652007 100644
--- a/test/language/statements/for/dstr-const-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/for/dstr-const-ary-ptrn-rest-not-final-obj.js
@@ -45,7 +45,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for/dstr-let-ary-ptrn-rest-init-ary.js b/test/language/statements/for/dstr-let-ary-ptrn-rest-init-ary.js
index 7735b7931e..64b8b970af 100644
--- a/test/language/statements/for/dstr-let-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/for/dstr-let-ary-ptrn-rest-init-ary.js
@@ -45,7 +45,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for/dstr-let-ary-ptrn-rest-init-id.js b/test/language/statements/for/dstr-let-ary-ptrn-rest-init-id.js
index 9f88cf1c6d..99cacbbc56 100644
--- a/test/language/statements/for/dstr-let-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/for/dstr-let-ary-ptrn-rest-init-id.js
@@ -45,7 +45,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for/dstr-let-ary-ptrn-rest-init-obj.js b/test/language/statements/for/dstr-let-ary-ptrn-rest-init-obj.js
index 116b810bab..5202a59ef8 100644
--- a/test/language/statements/for/dstr-let-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/for/dstr-let-ary-ptrn-rest-init-obj.js
@@ -45,7 +45,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for/dstr-let-ary-ptrn-rest-not-final-ary.js b/test/language/statements/for/dstr-let-ary-ptrn-rest-not-final-ary.js
index bd13bb5141..ea65ad76c0 100644
--- a/test/language/statements/for/dstr-let-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/for/dstr-let-ary-ptrn-rest-not-final-ary.js
@@ -45,7 +45,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for/dstr-let-ary-ptrn-rest-not-final-id.js b/test/language/statements/for/dstr-let-ary-ptrn-rest-not-final-id.js
index 0c8d8910ea..ff72509fbb 100644
--- a/test/language/statements/for/dstr-let-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/for/dstr-let-ary-ptrn-rest-not-final-id.js
@@ -45,7 +45,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for/dstr-let-ary-ptrn-rest-not-final-obj.js b/test/language/statements/for/dstr-let-ary-ptrn-rest-not-final-obj.js
index 6e8bfc47f8..9e6e344d35 100644
--- a/test/language/statements/for/dstr-let-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/for/dstr-let-ary-ptrn-rest-not-final-obj.js
@@ -45,7 +45,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for/dstr-var-ary-ptrn-rest-init-ary.js b/test/language/statements/for/dstr-var-ary-ptrn-rest-init-ary.js
index 00d0e08d04..922aa0f449 100644
--- a/test/language/statements/for/dstr-var-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/for/dstr-var-ary-ptrn-rest-init-ary.js
@@ -39,7 +39,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for/dstr-var-ary-ptrn-rest-init-id.js b/test/language/statements/for/dstr-var-ary-ptrn-rest-init-id.js
index 3f5e25366f..ee267deb92 100644
--- a/test/language/statements/for/dstr-var-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/for/dstr-var-ary-ptrn-rest-init-id.js
@@ -39,7 +39,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for/dstr-var-ary-ptrn-rest-init-obj.js b/test/language/statements/for/dstr-var-ary-ptrn-rest-init-obj.js
index 165a1e0616..23a46cc17a 100644
--- a/test/language/statements/for/dstr-var-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/for/dstr-var-ary-ptrn-rest-init-obj.js
@@ -39,7 +39,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for/dstr-var-ary-ptrn-rest-not-final-ary.js b/test/language/statements/for/dstr-var-ary-ptrn-rest-not-final-ary.js
index 5ca516288d..6cef49c2c0 100644
--- a/test/language/statements/for/dstr-var-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/for/dstr-var-ary-ptrn-rest-not-final-ary.js
@@ -39,7 +39,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for/dstr-var-ary-ptrn-rest-not-final-id.js b/test/language/statements/for/dstr-var-ary-ptrn-rest-not-final-id.js
index f17a9fc231..98f839f9e2 100644
--- a/test/language/statements/for/dstr-var-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/for/dstr-var-ary-ptrn-rest-not-final-id.js
@@ -39,7 +39,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for/dstr-var-ary-ptrn-rest-not-final-obj.js b/test/language/statements/for/dstr-var-ary-ptrn-rest-not-final-obj.js
index 8ac44b5b7d..4ba8469faf 100644
--- a/test/language/statements/for/dstr-var-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/for/dstr-var-ary-ptrn-rest-not-final-obj.js
@@ -39,7 +39,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var iterCount = 0;
 
diff --git a/test/language/statements/for/head-const-bound-names-in-stmt.js b/test/language/statements/for/head-const-bound-names-in-stmt.js
index 660a114bc3..5bb62ad234 100644
--- a/test/language/statements/for/head-const-bound-names-in-stmt.js
+++ b/test/language/statements/for/head-const-bound-names-in-stmt.js
@@ -15,7 +15,7 @@ esid: sec-for-statement
 es6id: 13.7.4
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (const x; false; ) {
   var x;
diff --git a/test/language/statements/for/head-let-bound-names-in-stmt.js b/test/language/statements/for/head-let-bound-names-in-stmt.js
index ea4bd4e4dd..479a48d361 100644
--- a/test/language/statements/for/head-let-bound-names-in-stmt.js
+++ b/test/language/statements/for/head-let-bound-names-in-stmt.js
@@ -15,7 +15,7 @@ esid: sec-for-statement
 es6id: 13.7.4
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (let x; false; ) {
   var x;
diff --git a/test/language/statements/for/labelled-fn-stmt-const.js b/test/language/statements/for/labelled-fn-stmt-const.js
index 5cc93b6db0..76125bf2bc 100644
--- a/test/language/statements/for/labelled-fn-stmt-const.js
+++ b/test/language/statements/for/labelled-fn-stmt-const.js
@@ -13,6 +13,6 @@ info: |
     of the language mode.
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (const x; false; ) label1: label2: function f() {}
diff --git a/test/language/statements/for/labelled-fn-stmt-expr.js b/test/language/statements/for/labelled-fn-stmt-expr.js
index 23aa547609..fa1b37e789 100644
--- a/test/language/statements/for/labelled-fn-stmt-expr.js
+++ b/test/language/statements/for/labelled-fn-stmt-expr.js
@@ -13,6 +13,6 @@ info: |
     of the language mode.
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for ( ; false; ) label1: label2: function f() {}
diff --git a/test/language/statements/for/labelled-fn-stmt-let.js b/test/language/statements/for/labelled-fn-stmt-let.js
index d38669cfb9..c3ec3bf2cf 100644
--- a/test/language/statements/for/labelled-fn-stmt-let.js
+++ b/test/language/statements/for/labelled-fn-stmt-let.js
@@ -13,6 +13,6 @@ info: |
     of the language mode.
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (let x; false; ) label1: label2: function f() {}
diff --git a/test/language/statements/for/labelled-fn-stmt-var.js b/test/language/statements/for/labelled-fn-stmt-var.js
index 5cf9605447..ebac05bb96 100644
--- a/test/language/statements/for/labelled-fn-stmt-var.js
+++ b/test/language/statements/for/labelled-fn-stmt-var.js
@@ -13,6 +13,6 @@ info: |
     of the language mode.
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (var x; false; ) label1: label2: function f() {}
diff --git a/test/language/statements/for/let-array-with-newline.js b/test/language/statements/for/let-array-with-newline.js
index fc48491dbb..cc37370289 100644
--- a/test/language/statements/for/let-array-with-newline.js
+++ b/test/language/statements/for/let-array-with-newline.js
@@ -15,7 +15,7 @@ negative:
 flags: [noStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (; false; ) let
 [a] = 0;
diff --git a/test/language/statements/function/13.0_4-5gs.js b/test/language/statements/function/13.0_4-5gs.js
index 345c133cf5..552363beb9 100644
--- a/test/language/statements/function/13.0_4-5gs.js
+++ b/test/language/statements/function/13.0_4-5gs.js
@@ -12,6 +12,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function _13_0_4_5_fun() { eval = 42; };
diff --git a/test/language/statements/function/13.1-13gs.js b/test/language/statements/function/13.1-13gs.js
index b719d2d5ec..aa8f21747d 100644
--- a/test/language/statements/function/13.1-13gs.js
+++ b/test/language/statements/function/13.1-13gs.js
@@ -12,6 +12,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function arguments() { };
diff --git a/test/language/statements/function/13.1-1gs.js b/test/language/statements/function/13.1-1gs.js
index 406193241c..b86f22e797 100644
--- a/test/language/statements/function/13.1-1gs.js
+++ b/test/language/statements/function/13.1-1gs.js
@@ -13,6 +13,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function _13_1_1_fun(eval) { }
diff --git a/test/language/statements/function/13.1-4gs.js b/test/language/statements/function/13.1-4gs.js
index 3232e63150..3e09ef329a 100644
--- a/test/language/statements/function/13.1-4gs.js
+++ b/test/language/statements/function/13.1-4gs.js
@@ -13,6 +13,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var _13_1_4_fun = function (arguments) { };
diff --git a/test/language/statements/function/13.1-5gs.js b/test/language/statements/function/13.1-5gs.js
index 2ff22b1df3..b1d12af6be 100644
--- a/test/language/statements/function/13.1-5gs.js
+++ b/test/language/statements/function/13.1-5gs.js
@@ -12,6 +12,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function _13_1_5_fun(param, param) { }
diff --git a/test/language/statements/function/13.1-8gs.js b/test/language/statements/function/13.1-8gs.js
index a4b3562518..1a838d9ed6 100644
--- a/test/language/statements/function/13.1-8gs.js
+++ b/test/language/statements/function/13.1-8gs.js
@@ -12,6 +12,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var _13_1_8_fun = function (param, param) { };
diff --git a/test/language/statements/function/S13_A7_T3.js b/test/language/statements/function/S13_A7_T3.js
index 88434959af..832b065c5e 100644
--- a/test/language/statements/function/S13_A7_T3.js
+++ b/test/language/statements/function/S13_A7_T3.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function __func(){\A\B\C};
diff --git a/test/language/statements/function/dflt-params-duplicates.js b/test/language/statements/function/dflt-params-duplicates.js
index f2ee95c879..cac4130362 100644
--- a/test/language/statements/function/dflt-params-duplicates.js
+++ b/test/language/statements/function/dflt-params-duplicates.js
@@ -55,7 +55,7 @@ info: |
       elements.
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function f(x = 0, x) {
   
diff --git a/test/language/statements/function/dflt-params-rest.js b/test/language/statements/function/dflt-params-rest.js
index 47673ea917..87b23e3c28 100644
--- a/test/language/statements/function/dflt-params-rest.js
+++ b/test/language/statements/function/dflt-params-rest.js
@@ -59,7 +59,7 @@ info: |
       ...BindingPattern[?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function f(...x = []) {
   
diff --git a/test/language/statements/function/dstr-ary-ptrn-rest-init-ary.js b/test/language/statements/function/dstr-ary-ptrn-rest-init-ary.js
index ce0846e780..65904cc347 100644
--- a/test/language/statements/function/dstr-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/function/dstr-ary-ptrn-rest-init-ary.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 function f([...[ x ] = []]) {
diff --git a/test/language/statements/function/dstr-ary-ptrn-rest-init-id.js b/test/language/statements/function/dstr-ary-ptrn-rest-init-id.js
index 479d327f80..ff1879275d 100644
--- a/test/language/statements/function/dstr-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/function/dstr-ary-ptrn-rest-init-id.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 function f([...x = []]) {
diff --git a/test/language/statements/function/dstr-ary-ptrn-rest-init-obj.js b/test/language/statements/function/dstr-ary-ptrn-rest-init-obj.js
index 76a9f2d6c6..b948b87b22 100644
--- a/test/language/statements/function/dstr-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/function/dstr-ary-ptrn-rest-init-obj.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 function f([...{ x } = []]) {
diff --git a/test/language/statements/function/dstr-ary-ptrn-rest-not-final-ary.js b/test/language/statements/function/dstr-ary-ptrn-rest-not-final-ary.js
index 84ddffc9c6..fe66bc5f29 100644
--- a/test/language/statements/function/dstr-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/function/dstr-ary-ptrn-rest-not-final-ary.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 function f([...[x], y]) {
diff --git a/test/language/statements/function/dstr-ary-ptrn-rest-not-final-id.js b/test/language/statements/function/dstr-ary-ptrn-rest-not-final-id.js
index e14862deb0..b1a13ed002 100644
--- a/test/language/statements/function/dstr-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/function/dstr-ary-ptrn-rest-not-final-id.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 function f([...x, y]) {
diff --git a/test/language/statements/function/dstr-ary-ptrn-rest-not-final-obj.js b/test/language/statements/function/dstr-ary-ptrn-rest-not-final-obj.js
index 2861187e60..be0f956530 100644
--- a/test/language/statements/function/dstr-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/function/dstr-ary-ptrn-rest-not-final-obj.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 function f([...{ x }, y]) {
diff --git a/test/language/statements/function/dstr-dflt-ary-ptrn-rest-init-ary.js b/test/language/statements/function/dstr-dflt-ary-ptrn-rest-init-ary.js
index cf6a00ae31..9d049b17ab 100644
--- a/test/language/statements/function/dstr-dflt-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/function/dstr-dflt-ary-ptrn-rest-init-ary.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 function f([...[ x ] = []] = []) {
diff --git a/test/language/statements/function/dstr-dflt-ary-ptrn-rest-init-id.js b/test/language/statements/function/dstr-dflt-ary-ptrn-rest-init-id.js
index b1ee775062..e2e9b864ee 100644
--- a/test/language/statements/function/dstr-dflt-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/function/dstr-dflt-ary-ptrn-rest-init-id.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 function f([...x = []] = []) {
diff --git a/test/language/statements/function/dstr-dflt-ary-ptrn-rest-init-obj.js b/test/language/statements/function/dstr-dflt-ary-ptrn-rest-init-obj.js
index 1af2cf5cb0..e400296651 100644
--- a/test/language/statements/function/dstr-dflt-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/function/dstr-dflt-ary-ptrn-rest-init-obj.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 function f([...{ x } = []] = []) {
diff --git a/test/language/statements/function/dstr-dflt-ary-ptrn-rest-not-final-ary.js b/test/language/statements/function/dstr-dflt-ary-ptrn-rest-not-final-ary.js
index 4075bce161..784330faf3 100644
--- a/test/language/statements/function/dstr-dflt-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/function/dstr-dflt-ary-ptrn-rest-not-final-ary.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 function f([...[x], y] = [1, 2, 3]) {
diff --git a/test/language/statements/function/dstr-dflt-ary-ptrn-rest-not-final-id.js b/test/language/statements/function/dstr-dflt-ary-ptrn-rest-not-final-id.js
index 4b80fa4526..d79dfcdb72 100644
--- a/test/language/statements/function/dstr-dflt-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/function/dstr-dflt-ary-ptrn-rest-not-final-id.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 function f([...x, y] = [1, 2, 3]) {
diff --git a/test/language/statements/function/dstr-dflt-ary-ptrn-rest-not-final-obj.js b/test/language/statements/function/dstr-dflt-ary-ptrn-rest-not-final-obj.js
index b6556fb3c7..3b7e7f6da4 100644
--- a/test/language/statements/function/dstr-dflt-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/function/dstr-dflt-ary-ptrn-rest-not-final-obj.js
@@ -48,7 +48,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 function f([...{ x }, y] = [1, 2, 3]) {
diff --git a/test/language/statements/function/early-body-super-call.js b/test/language/statements/function/early-body-super-call.js
index e8ca04d347..e46930cbb0 100644
--- a/test/language/statements/function/early-body-super-call.js
+++ b/test/language/statements/function/early-body-super-call.js
@@ -11,7 +11,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function f() {
   super();
diff --git a/test/language/statements/function/early-body-super-prop.js b/test/language/statements/function/early-body-super-prop.js
index b78fdaa12c..241f750083 100644
--- a/test/language/statements/function/early-body-super-prop.js
+++ b/test/language/statements/function/early-body-super-prop.js
@@ -11,7 +11,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function f() {
   super.x;
diff --git a/test/language/statements/function/early-params-super-call.js b/test/language/statements/function/early-params-super-call.js
index 8b4034735f..3bac87f460 100644
--- a/test/language/statements/function/early-params-super-call.js
+++ b/test/language/statements/function/early-params-super-call.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function f(x = super()) {}
diff --git a/test/language/statements/function/early-params-super-prop.js b/test/language/statements/function/early-params-super-prop.js
index 885fd1b92e..2652d0c71e 100644
--- a/test/language/statements/function/early-params-super-prop.js
+++ b/test/language/statements/function/early-params-super-prop.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function f(x = super.x) {}
diff --git a/test/language/statements/function/enable-strict-via-body.js b/test/language/statements/function/enable-strict-via-body.js
index 5a7a830be2..477ff0c2e7 100644
--- a/test/language/statements/function/enable-strict-via-body.js
+++ b/test/language/statements/function/enable-strict-via-body.js
@@ -3,7 +3,7 @@
 
 /*---
 info: |
-    Refer 13; 
+    Refer 13;
     The production FunctionBody : SourceElementsopt is evaluated as follows:
 es5id: 13.0-10-s
 description: >
@@ -16,7 +16,7 @@ negative:
 flags: [noStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function _13_0_10_fun() {
     function _13_0_10_inner() {
diff --git a/test/language/statements/function/enable-strict-via-outer-body.js b/test/language/statements/function/enable-strict-via-outer-body.js
index efd168aa46..c4faa4a363 100644
--- a/test/language/statements/function/enable-strict-via-outer-body.js
+++ b/test/language/statements/function/enable-strict-via-outer-body.js
@@ -3,7 +3,7 @@
 
 /*---
 info: |
-    Refer 13; 
+    Refer 13;
     The production FunctionBody : SourceElementsopt is evaluated as follows:
 es5id: 13.0-11-s
 description: >
@@ -16,7 +16,7 @@ negative:
 flags: [noStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function _13_0_11_fun() {
     "use strict";
diff --git a/test/language/statements/function/enable-strict-via-outer-script.js b/test/language/statements/function/enable-strict-via-outer-script.js
index f2f01d1e29..78b889a034 100644
--- a/test/language/statements/function/enable-strict-via-outer-script.js
+++ b/test/language/statements/function/enable-strict-via-outer-script.js
@@ -3,7 +3,7 @@
 
 /*---
 info: |
-    Refer 13; 
+    Refer 13;
     The production FunctionBody : SourceElementsopt is evaluated as follows:
 es5id: 13.0-9-s
 description: >
@@ -16,7 +16,7 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var _13_0_9_fun = function () {
     function _13_0_9_inner() {
diff --git a/test/language/statements/function/invalid-2-names.js b/test/language/statements/function/invalid-2-names.js
index f7af44a721..c37152636b 100644
--- a/test/language/statements/function/invalid-2-names.js
+++ b/test/language/statements/function/invalid-2-names.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function x, y() {}
diff --git a/test/language/statements/function/invalid-3-names.js b/test/language/statements/function/invalid-3-names.js
index 4d19df15de..252d9aedb1 100644
--- a/test/language/statements/function/invalid-3-names.js
+++ b/test/language/statements/function/invalid-3-names.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function x,y,z(){}
diff --git a/test/language/statements/function/invalid-function-body-1.js b/test/language/statements/function/invalid-function-body-1.js
index 9888d4d8f5..2af16dda33 100644
--- a/test/language/statements/function/invalid-function-body-1.js
+++ b/test/language/statements/function/invalid-function-body-1.js
@@ -12,6 +12,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function __func(){/ ABC}
diff --git a/test/language/statements/function/invalid-function-body-2.js b/test/language/statements/function/invalid-function-body-2.js
index bbd8c93ec8..9b3a65d0fd 100644
--- a/test/language/statements/function/invalid-function-body-2.js
+++ b/test/language/statements/function/invalid-function-body-2.js
@@ -12,6 +12,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function __func(){&1}
diff --git a/test/language/statements/function/invalid-function-body-3.js b/test/language/statements/function/invalid-function-body-3.js
index 6087c3ac0d..d7f3d28bbe 100644
--- a/test/language/statements/function/invalid-function-body-3.js
+++ b/test/language/statements/function/invalid-function-body-3.js
@@ -12,6 +12,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function __func(){# ABC}
diff --git a/test/language/statements/function/invalid-name-dot.js b/test/language/statements/function/invalid-name-dot.js
index 7fa20cd00f..8c95ba994a 100644
--- a/test/language/statements/function/invalid-name-dot.js
+++ b/test/language/statements/function/invalid-name-dot.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function obj.tt() {}
diff --git a/test/language/statements/function/invalid-name-two-dots.js b/test/language/statements/function/invalid-name-two-dots.js
index b8b9eb62c9..64b1e01905 100644
--- a/test/language/statements/function/invalid-name-two-dots.js
+++ b/test/language/statements/function/invalid-name-two-dots.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function obj.tt.ss() {}
diff --git a/test/language/statements/function/name-arguments-strict-body.js b/test/language/statements/function/name-arguments-strict-body.js
index 9b13ce5cc4..df3e2a5a1d 100644
--- a/test/language/statements/function/name-arguments-strict-body.js
+++ b/test/language/statements/function/name-arguments-strict-body.js
@@ -13,6 +13,6 @@ negative:
 flags: [noStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function arguments() { 'use strict'; }
diff --git a/test/language/statements/function/name-arguments-strict.js b/test/language/statements/function/name-arguments-strict.js
index 7b6f9bd5af..0602c93293 100644
--- a/test/language/statements/function/name-arguments-strict.js
+++ b/test/language/statements/function/name-arguments-strict.js
@@ -12,6 +12,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function arguments() { }
diff --git a/test/language/statements/function/name-eval-strict-body.js b/test/language/statements/function/name-eval-strict-body.js
index a11eea2256..5586f74a9c 100644
--- a/test/language/statements/function/name-eval-strict-body.js
+++ b/test/language/statements/function/name-eval-strict-body.js
@@ -13,6 +13,6 @@ negative:
 flags: [noStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function eval() { 'use strict'; }
diff --git a/test/language/statements/function/name-eval-strict.js b/test/language/statements/function/name-eval-strict.js
index a490c39ea0..dfc67f1b18 100644
--- a/test/language/statements/function/name-eval-strict.js
+++ b/test/language/statements/function/name-eval-strict.js
@@ -12,6 +12,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function eval() { }
diff --git a/test/language/statements/function/param-arguments-strict-body.js b/test/language/statements/function/param-arguments-strict-body.js
index 5b9d2a1b07..aa839a1d98 100644
--- a/test/language/statements/function/param-arguments-strict-body.js
+++ b/test/language/statements/function/param-arguments-strict-body.js
@@ -3,7 +3,7 @@
 
 /*---
 info: |
-    Refer 13.1; 
+    Refer 13.1;
     It is a SyntaxError if the Identifier "eval" or the Identifier "arguments" occurs within a FormalParameterList
     of a strict mode FunctionDeclaration or FunctionExpression.
 es5id: 13.1-20-s
@@ -17,6 +17,6 @@ negative:
 flags: [noStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function _13_1_20_fun(arguments) { 'use strict'; }
diff --git a/test/language/statements/function/param-arguments-strict.js b/test/language/statements/function/param-arguments-strict.js
index 4d37b8e877..7d00ecf8d3 100644
--- a/test/language/statements/function/param-arguments-strict.js
+++ b/test/language/statements/function/param-arguments-strict.js
@@ -3,7 +3,7 @@
 
 /*---
 info: |
-    Refer 13.1; 
+    Refer 13.1;
     It is a SyntaxError if the Identifier "eval" or the Identifier "arguments" occurs within a FormalParameterList
     of a strict mode FunctionDeclaration or FunctionExpression.
 es5id: 13.1-3-s
@@ -17,6 +17,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function _13_1_3_fun(arguments) { }
diff --git a/test/language/statements/function/param-dflt-yield-strict.js b/test/language/statements/function/param-dflt-yield-strict.js
index e1c1c22479..a310c6b9c1 100644
--- a/test/language/statements/function/param-dflt-yield-strict.js
+++ b/test/language/statements/function/param-dflt-yield-strict.js
@@ -16,7 +16,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function *g() {
   function f(x = yield) {
diff --git a/test/language/statements/function/param-duplicated-strict-1.js b/test/language/statements/function/param-duplicated-strict-1.js
index b133910ed8..ddc8a5046c 100644
--- a/test/language/statements/function/param-duplicated-strict-1.js
+++ b/test/language/statements/function/param-duplicated-strict-1.js
@@ -3,7 +3,7 @@
 
 /*---
 info: |
-    Refer 13.1; 
+    Refer 13.1;
     It is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode
     FunctionDeclaration or FunctionExpression.
 es5id: 13.1-5-s
@@ -17,6 +17,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function _13_1_5_fun(param, param) { }
diff --git a/test/language/statements/function/param-duplicated-strict-2.js b/test/language/statements/function/param-duplicated-strict-2.js
index 3abd84005b..f606d255a2 100644
--- a/test/language/statements/function/param-duplicated-strict-2.js
+++ b/test/language/statements/function/param-duplicated-strict-2.js
@@ -3,7 +3,7 @@
 
 /*---
 info: |
-    Refer 13.1; 
+    Refer 13.1;
     It is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode
     FunctionDeclaration or FunctionExpression.
 es5id: 13.1-6-s
@@ -18,6 +18,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function _13_1_6_fun(param1, param2, param1) { }
diff --git a/test/language/statements/function/param-duplicated-strict-3.js b/test/language/statements/function/param-duplicated-strict-3.js
index bbde6fb5d7..9404faeee6 100644
--- a/test/language/statements/function/param-duplicated-strict-3.js
+++ b/test/language/statements/function/param-duplicated-strict-3.js
@@ -3,7 +3,7 @@
 
 /*---
 info: |
-    Refer 13.1; 
+    Refer 13.1;
     It is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode
     FunctionDeclaration or FunctionExpression.
 es5id: 13.1-7-s
@@ -17,6 +17,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function _13_1_7_fun(param, param, param) { }
diff --git a/test/language/statements/function/param-duplicated-strict-body-1.js b/test/language/statements/function/param-duplicated-strict-body-1.js
index fcbba06103..555780408b 100644
--- a/test/language/statements/function/param-duplicated-strict-body-1.js
+++ b/test/language/statements/function/param-duplicated-strict-body-1.js
@@ -3,7 +3,7 @@
 
 /*---
 info: |
-    Refer 13.1; 
+    Refer 13.1;
     It is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode
     FunctionDeclaration or FunctionExpression.
 es5id: 13.1-24-s
@@ -17,6 +17,6 @@ negative:
 flags: [noStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function _13_1_24_fun(param, param) { 'use strict'; }
diff --git a/test/language/statements/function/param-duplicated-strict-body-2.js b/test/language/statements/function/param-duplicated-strict-body-2.js
index 5266d30aa9..a5ab552c39 100644
--- a/test/language/statements/function/param-duplicated-strict-body-2.js
+++ b/test/language/statements/function/param-duplicated-strict-body-2.js
@@ -3,7 +3,7 @@
 
 /*---
 info: |
-    Refer 13.1; 
+    Refer 13.1;
     It is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode
     FunctionDeclaration or FunctionExpression.
 es5id: 13.1-26-s
@@ -18,6 +18,6 @@ negative:
 flags: [noStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function _13_1_26_fun(param1, param2, param1) { 'use strict'; }
diff --git a/test/language/statements/function/param-duplicated-strict-body-3.js b/test/language/statements/function/param-duplicated-strict-body-3.js
index 6783272a15..072499dffe 100644
--- a/test/language/statements/function/param-duplicated-strict-body-3.js
+++ b/test/language/statements/function/param-duplicated-strict-body-3.js
@@ -3,7 +3,7 @@
 
 /*---
 info: |
-    Refer 13.1; 
+    Refer 13.1;
     It is a SyntaxError if any Identifier value occurs more than once within a FormalParameterList of a strict mode
     FunctionDeclaration or FunctionExpression.
 es5id: 13.1-28-s
@@ -17,6 +17,6 @@ negative:
 flags: [noStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function _13_1_28_fun(param, param, param) { 'use strict'; }
diff --git a/test/language/statements/function/param-eval-strict-body.js b/test/language/statements/function/param-eval-strict-body.js
index c47006eda9..51cff13c5f 100644
--- a/test/language/statements/function/param-eval-strict-body.js
+++ b/test/language/statements/function/param-eval-strict-body.js
@@ -3,7 +3,7 @@
 
 /*---
 info: |
-    Refer 13.1; 
+    Refer 13.1;
     It is a SyntaxError if the Identifier "eval" or the Identifier "arguments" occurs within a FormalParameterList
     of a strict mode FunctionDeclaration or FunctionExpression.
 es5id: 13.1-16-s
@@ -17,6 +17,6 @@ negative:
 flags: [noStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function _13_1_16_fun(eval) { 'use strict'; }
diff --git a/test/language/statements/function/param-eval-strict.js b/test/language/statements/function/param-eval-strict.js
index f3e115f57a..c2ff694254 100644
--- a/test/language/statements/function/param-eval-strict.js
+++ b/test/language/statements/function/param-eval-strict.js
@@ -3,7 +3,7 @@
 
 /*---
 info: |
-    Refer 13.1; 
+    Refer 13.1;
     It is a SyntaxError if the Identifier "eval" or the Identifier "arguments" occurs within a FormalParameterList
     of a strict mode FunctionDeclaration or FunctionExpression.
 es5id: 13.1-1-s
@@ -17,6 +17,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function _13_1_1_fun(eval) { }
diff --git a/test/language/statements/function/rest-params-trailing-comma-early-error.js b/test/language/statements/function/rest-params-trailing-comma-early-error.js
index ac73e093bc..a03ea03e5a 100644
--- a/test/language/statements/function/rest-params-trailing-comma-early-error.js
+++ b/test/language/statements/function/rest-params-trailing-comma-early-error.js
@@ -51,7 +51,7 @@ info: |
         FormalParameterList[?Yield, ?Await] ,
         FormalParameterList[?Yield, ?Await] , FunctionRestParameter[?Yield, ?Await]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function f(...a,) {
   
diff --git a/test/language/statements/function/use-strict-with-non-simple-param.js b/test/language/statements/function/use-strict-with-non-simple-param.js
index 222287f20b..eb7162a5cd 100644
--- a/test/language/statements/function/use-strict-with-non-simple-param.js
+++ b/test/language/statements/function/use-strict-with-non-simple-param.js
@@ -14,7 +14,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function f(a = 0) {
   "use strict";
diff --git a/test/language/statements/generators/dflt-params-duplicates.js b/test/language/statements/generators/dflt-params-duplicates.js
index 4731d4e97a..be04cd5bb9 100644
--- a/test/language/statements/generators/dflt-params-duplicates.js
+++ b/test/language/statements/generators/dflt-params-duplicates.js
@@ -55,7 +55,7 @@ info: |
       elements.
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function* f(x = 0, x) {
   
diff --git a/test/language/statements/generators/dflt-params-rest.js b/test/language/statements/generators/dflt-params-rest.js
index 810cbcbaa9..1c67f52f85 100644
--- a/test/language/statements/generators/dflt-params-rest.js
+++ b/test/language/statements/generators/dflt-params-rest.js
@@ -59,7 +59,7 @@ info: |
       ...BindingPattern[?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function* f(...x = []) {
   
diff --git a/test/language/statements/generators/dstr-ary-ptrn-rest-init-ary.js b/test/language/statements/generators/dstr-ary-ptrn-rest-init-ary.js
index 4b03d61f8e..eb5a453f60 100644
--- a/test/language/statements/generators/dstr-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/generators/dstr-ary-ptrn-rest-init-ary.js
@@ -47,7 +47,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 function* f([...[ x ] = []]) {
diff --git a/test/language/statements/generators/dstr-ary-ptrn-rest-init-id.js b/test/language/statements/generators/dstr-ary-ptrn-rest-init-id.js
index 7cd3eb57ed..9d7ea55f5c 100644
--- a/test/language/statements/generators/dstr-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/generators/dstr-ary-ptrn-rest-init-id.js
@@ -47,7 +47,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 function* f([...x = []]) {
diff --git a/test/language/statements/generators/dstr-ary-ptrn-rest-init-obj.js b/test/language/statements/generators/dstr-ary-ptrn-rest-init-obj.js
index 11e4174b58..cfd0cfa029 100644
--- a/test/language/statements/generators/dstr-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/generators/dstr-ary-ptrn-rest-init-obj.js
@@ -47,7 +47,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 function* f([...{ x } = []]) {
diff --git a/test/language/statements/generators/dstr-ary-ptrn-rest-not-final-ary.js b/test/language/statements/generators/dstr-ary-ptrn-rest-not-final-ary.js
index ec27cd5a77..d5d27cf71f 100644
--- a/test/language/statements/generators/dstr-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/generators/dstr-ary-ptrn-rest-not-final-ary.js
@@ -47,7 +47,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 function* f([...[x], y]) {
diff --git a/test/language/statements/generators/dstr-ary-ptrn-rest-not-final-id.js b/test/language/statements/generators/dstr-ary-ptrn-rest-not-final-id.js
index 95eb9941a1..b73d0de843 100644
--- a/test/language/statements/generators/dstr-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/generators/dstr-ary-ptrn-rest-not-final-id.js
@@ -47,7 +47,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 function* f([...x, y]) {
diff --git a/test/language/statements/generators/dstr-ary-ptrn-rest-not-final-obj.js b/test/language/statements/generators/dstr-ary-ptrn-rest-not-final-obj.js
index f2641a8dc5..3dff8839cf 100644
--- a/test/language/statements/generators/dstr-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/generators/dstr-ary-ptrn-rest-not-final-obj.js
@@ -47,7 +47,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 function* f([...{ x }, y]) {
diff --git a/test/language/statements/generators/dstr-dflt-ary-ptrn-rest-init-ary.js b/test/language/statements/generators/dstr-dflt-ary-ptrn-rest-init-ary.js
index 6d9243f075..caa94db564 100644
--- a/test/language/statements/generators/dstr-dflt-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/generators/dstr-dflt-ary-ptrn-rest-init-ary.js
@@ -47,7 +47,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 function* f([...[ x ] = []] = []) {
diff --git a/test/language/statements/generators/dstr-dflt-ary-ptrn-rest-init-id.js b/test/language/statements/generators/dstr-dflt-ary-ptrn-rest-init-id.js
index 6f29935e90..2be605a7d2 100644
--- a/test/language/statements/generators/dstr-dflt-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/generators/dstr-dflt-ary-ptrn-rest-init-id.js
@@ -47,7 +47,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 function* f([...x = []] = []) {
diff --git a/test/language/statements/generators/dstr-dflt-ary-ptrn-rest-init-obj.js b/test/language/statements/generators/dstr-dflt-ary-ptrn-rest-init-obj.js
index 62ded8b379..5f81ffe88d 100644
--- a/test/language/statements/generators/dstr-dflt-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/generators/dstr-dflt-ary-ptrn-rest-init-obj.js
@@ -47,7 +47,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 function* f([...{ x } = []] = []) {
diff --git a/test/language/statements/generators/dstr-dflt-ary-ptrn-rest-not-final-ary.js b/test/language/statements/generators/dstr-dflt-ary-ptrn-rest-not-final-ary.js
index 6cf93bac51..9dd55e8480 100644
--- a/test/language/statements/generators/dstr-dflt-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/generators/dstr-dflt-ary-ptrn-rest-not-final-ary.js
@@ -47,7 +47,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 function* f([...[x], y] = [1, 2, 3]) {
diff --git a/test/language/statements/generators/dstr-dflt-ary-ptrn-rest-not-final-id.js b/test/language/statements/generators/dstr-dflt-ary-ptrn-rest-not-final-id.js
index 950af2d10f..2d3835a2a3 100644
--- a/test/language/statements/generators/dstr-dflt-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/generators/dstr-dflt-ary-ptrn-rest-not-final-id.js
@@ -47,7 +47,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 function* f([...x, y] = [1, 2, 3]) {
diff --git a/test/language/statements/generators/dstr-dflt-ary-ptrn-rest-not-final-obj.js b/test/language/statements/generators/dstr-dflt-ary-ptrn-rest-not-final-obj.js
index db28523a15..f545490223 100644
--- a/test/language/statements/generators/dstr-dflt-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/generators/dstr-dflt-ary-ptrn-rest-not-final-obj.js
@@ -47,7 +47,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 function* f([...{ x }, y] = [1, 2, 3]) {
diff --git a/test/language/statements/generators/param-dflt-yield.js b/test/language/statements/generators/param-dflt-yield.js
index a4f42368f8..f316ce0ee2 100644
--- a/test/language/statements/generators/param-dflt-yield.js
+++ b/test/language/statements/generators/param-dflt-yield.js
@@ -19,6 +19,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function* g(x = yield) {}
diff --git a/test/language/statements/generators/rest-params-trailing-comma-early-error.js b/test/language/statements/generators/rest-params-trailing-comma-early-error.js
index 40ca52baf1..bf07db08dd 100644
--- a/test/language/statements/generators/rest-params-trailing-comma-early-error.js
+++ b/test/language/statements/generators/rest-params-trailing-comma-early-error.js
@@ -52,7 +52,7 @@ info: |
         FormalParameterList[?Yield, ?Await] ,
         FormalParameterList[?Yield, ?Await] , FunctionRestParameter[?Yield, ?Await]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function* f(...a,) {
   
diff --git a/test/language/statements/generators/use-strict-with-non-simple-param.js b/test/language/statements/generators/use-strict-with-non-simple-param.js
index 8b10275d5f..9a4c39cc50 100644
--- a/test/language/statements/generators/use-strict-with-non-simple-param.js
+++ b/test/language/statements/generators/use-strict-with-non-simple-param.js
@@ -15,7 +15,7 @@ negative:
 features: [generators]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function* f(a = 0) {
   "use strict";
diff --git a/test/language/statements/generators/yield-as-binding-identifier-escaped.js b/test/language/statements/generators/yield-as-binding-identifier-escaped.js
index abb09c6200..8dba014a0d 100644
--- a/test/language/statements/generators/yield-as-binding-identifier-escaped.js
+++ b/test/language/statements/generators/yield-as-binding-identifier-escaped.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function *gen() {
   var yi\u0065ld;
diff --git a/test/language/statements/generators/yield-as-binding-identifier.js b/test/language/statements/generators/yield-as-binding-identifier.js
index e94e660c3c..9b2ad53d80 100644
--- a/test/language/statements/generators/yield-as-binding-identifier.js
+++ b/test/language/statements/generators/yield-as-binding-identifier.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function *gen() {
   var yield;
diff --git a/test/language/statements/generators/yield-as-identifier-reference-escaped.js b/test/language/statements/generators/yield-as-identifier-reference-escaped.js
index 17a2f742c9..a63fbd0081 100644
--- a/test/language/statements/generators/yield-as-identifier-reference-escaped.js
+++ b/test/language/statements/generators/yield-as-identifier-reference-escaped.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function *gen() {
   void yi\u0065ld;
diff --git a/test/language/statements/generators/yield-as-identifier-reference.js b/test/language/statements/generators/yield-as-identifier-reference.js
index d9e848c191..46352b3099 100644
--- a/test/language/statements/generators/yield-as-identifier-reference.js
+++ b/test/language/statements/generators/yield-as-identifier-reference.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function *gen() {
   void yield;
diff --git a/test/language/statements/generators/yield-as-label-identifier-escaped.js b/test/language/statements/generators/yield-as-label-identifier-escaped.js
index 0b02ff9bf6..668f10a029 100644
--- a/test/language/statements/generators/yield-as-label-identifier-escaped.js
+++ b/test/language/statements/generators/yield-as-label-identifier-escaped.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function *gen() {
   yi\u0065ld: ;
diff --git a/test/language/statements/generators/yield-as-label-identifier.js b/test/language/statements/generators/yield-as-label-identifier.js
index 1918d3b105..26e7580039 100644
--- a/test/language/statements/generators/yield-as-label-identifier.js
+++ b/test/language/statements/generators/yield-as-label-identifier.js
@@ -22,7 +22,7 @@ info: |
     StringValue of Identifier is "yield".
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function *gen() {
   yield: ;
diff --git a/test/language/statements/generators/yield-as-logical-or-expression.js b/test/language/statements/generators/yield-as-logical-or-expression.js
index d5193fe4dc..f72916619e 100644
--- a/test/language/statements/generators/yield-as-logical-or-expression.js
+++ b/test/language/statements/generators/yield-as-logical-or-expression.js
@@ -11,7 +11,7 @@ negative:
 features: [generators]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 
 function* g() {
diff --git a/test/language/statements/generators/yield-as-parameter.js b/test/language/statements/generators/yield-as-parameter.js
index 378738a7b7..1f37d66580 100644
--- a/test/language/statements/generators/yield-as-parameter.js
+++ b/test/language/statements/generators/yield-as-parameter.js
@@ -12,6 +12,6 @@ negative:
 features: [generators]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function* g(yield) {}
diff --git a/test/language/statements/generators/yield-identifier-spread-strict.js b/test/language/statements/generators/yield-identifier-spread-strict.js
index abc4b148b0..eee4022544 100644
--- a/test/language/statements/generators/yield-identifier-spread-strict.js
+++ b/test/language/statements/generators/yield-identifier-spread-strict.js
@@ -23,7 +23,7 @@ info: |
       ...AssignmentExpression[In, ?Yield]
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 
diff --git a/test/language/statements/generators/yield-identifier-strict.js b/test/language/statements/generators/yield-identifier-strict.js
index d624ea9aa0..3fd66b965f 100644
--- a/test/language/statements/generators/yield-identifier-strict.js
+++ b/test/language/statements/generators/yield-identifier-strict.js
@@ -16,7 +16,7 @@ info: |
       function * BindingIdentifier ( FormalParameters ) { GeneratorBody }
 
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var callCount = 0;
 
diff --git a/test/language/statements/generators/yield-star-after-newline.js b/test/language/statements/generators/yield-star-after-newline.js
index 3793974935..606f3b4476 100644
--- a/test/language/statements/generators/yield-star-after-newline.js
+++ b/test/language/statements/generators/yield-star-after-newline.js
@@ -11,7 +11,7 @@ negative:
 features: [generators]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function* g() {
   yield
diff --git a/test/language/statements/generators/yield-weak-binding.js b/test/language/statements/generators/yield-weak-binding.js
index 7d00da0a7b..5e3b8bd2d9 100644
--- a/test/language/statements/generators/yield-weak-binding.js
+++ b/test/language/statements/generators/yield-weak-binding.js
@@ -11,6 +11,6 @@ negative:
 features: [generators]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function* g() { yield 3 + yield 4; }
diff --git a/test/language/statements/if/S12.5_A11.js b/test/language/statements/if/S12.5_A11.js
index bb133d9374..7b35dd6ce8 100644
--- a/test/language/statements/if/S12.5_A11.js
+++ b/test/language/statements/if/S12.5_A11.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //////////////////////////////////////////////////////////////////////////////
 //CHECK#
diff --git a/test/language/statements/if/S12.5_A6_T1.js b/test/language/statements/if/S12.5_A6_T1.js
index b84c6c9c21..2babe750fb 100644
--- a/test/language/statements/if/S12.5_A6_T1.js
+++ b/test/language/statements/if/S12.5_A6_T1.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //////////////////////////////////////////////////////////////////////////////
 //CHECK#1
diff --git a/test/language/statements/if/S12.5_A6_T2.js b/test/language/statements/if/S12.5_A6_T2.js
index 86fcbd4f61..0a41bacb82 100644
--- a/test/language/statements/if/S12.5_A6_T2.js
+++ b/test/language/statements/if/S12.5_A6_T2.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //////////////////////////////////////////////////////////////////////////////
 //CHECK#2
diff --git a/test/language/statements/if/S12.5_A8.js b/test/language/statements/if/S12.5_A8.js
index ad6da67d18..dc472d4923 100644
--- a/test/language/statements/if/S12.5_A8.js
+++ b/test/language/statements/if/S12.5_A8.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //////////////////////////////////////////////////////////////////////////////
 //CHECK#1
diff --git a/test/language/statements/if/if-async-fun-else-async-fun.js b/test/language/statements/if/if-async-fun-else-async-fun.js
index 1f8e02ac0e..a2ff660bc7 100644
--- a/test/language/statements/if/if-async-fun-else-async-fun.js
+++ b/test/language/statements/if/if-async-fun-else-async-fun.js
@@ -15,6 +15,6 @@ negative:
 features: [async-functions]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 if (true) async function f() {  } else async function _f() {}
diff --git a/test/language/statements/if/if-async-fun-else-stmt.js b/test/language/statements/if/if-async-fun-else-stmt.js
index bf7cc3c59f..f72287ba35 100644
--- a/test/language/statements/if/if-async-fun-else-stmt.js
+++ b/test/language/statements/if/if-async-fun-else-stmt.js
@@ -15,6 +15,6 @@ negative:
 features: [async-functions]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 if (true) async function f() {  } else ;
diff --git a/test/language/statements/if/if-async-fun-no-else.js b/test/language/statements/if/if-async-fun-no-else.js
index ad9c5607ac..c6657e9467 100644
--- a/test/language/statements/if/if-async-fun-no-else.js
+++ b/test/language/statements/if/if-async-fun-no-else.js
@@ -15,6 +15,6 @@ negative:
 features: [async-functions]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 if (true) async function f() {  }
diff --git a/test/language/statements/if/if-async-gen-else-async-gen.js b/test/language/statements/if/if-async-gen-else-async-gen.js
index e70375f12d..d41a087ab8 100644
--- a/test/language/statements/if/if-async-gen-else-async-gen.js
+++ b/test/language/statements/if/if-async-gen-else-async-gen.js
@@ -15,6 +15,6 @@ negative:
 features: [async-iteration]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 if (true) async function* f() {  } else async function* _f() {}
diff --git a/test/language/statements/if/if-async-gen-else-stmt.js b/test/language/statements/if/if-async-gen-else-stmt.js
index e27bcef903..7ec5364314 100644
--- a/test/language/statements/if/if-async-gen-else-stmt.js
+++ b/test/language/statements/if/if-async-gen-else-stmt.js
@@ -15,6 +15,6 @@ negative:
 features: [async-iteration]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 if (true) async function* f() {  } else ;
diff --git a/test/language/statements/if/if-async-gen-no-else.js b/test/language/statements/if/if-async-gen-no-else.js
index 4691272ca7..70ff7f2e90 100644
--- a/test/language/statements/if/if-async-gen-no-else.js
+++ b/test/language/statements/if/if-async-gen-no-else.js
@@ -15,6 +15,6 @@ negative:
 features: [async-iteration]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 if (true) async function* f() {  }
diff --git a/test/language/statements/if/if-cls-else-cls.js b/test/language/statements/if/if-cls-else-cls.js
index b20acde60f..bab29115fc 100644
--- a/test/language/statements/if/if-cls-else-cls.js
+++ b/test/language/statements/if/if-cls-else-cls.js
@@ -9,6 +9,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 if (true) class C {} else class D {}
diff --git a/test/language/statements/if/if-cls-else-stmt.js b/test/language/statements/if/if-cls-else-stmt.js
index 59d5887981..f54231fe6b 100644
--- a/test/language/statements/if/if-cls-else-stmt.js
+++ b/test/language/statements/if/if-cls-else-stmt.js
@@ -9,6 +9,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 if (true) class C {} else ;
diff --git a/test/language/statements/if/if-cls-no-else.js b/test/language/statements/if/if-cls-no-else.js
index fc71ba33e7..a83627d5f0 100644
--- a/test/language/statements/if/if-cls-no-else.js
+++ b/test/language/statements/if/if-cls-no-else.js
@@ -9,6 +9,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 if (true) class C {}
diff --git a/test/language/statements/if/if-const-else-const.js b/test/language/statements/if/if-const-else-const.js
index 2ae8fe94a9..6e482bbfdd 100644
--- a/test/language/statements/if/if-const-else-const.js
+++ b/test/language/statements/if/if-const-else-const.js
@@ -9,6 +9,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 if (true) const x = null; else const y = null;
diff --git a/test/language/statements/if/if-const-else-stmt.js b/test/language/statements/if/if-const-else-stmt.js
index 36ad8f2d94..3ba92839c8 100644
--- a/test/language/statements/if/if-const-else-stmt.js
+++ b/test/language/statements/if/if-const-else-stmt.js
@@ -9,6 +9,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 if (true) const x = null; else ;
diff --git a/test/language/statements/if/if-const-no-else.js b/test/language/statements/if/if-const-no-else.js
index 5a9ba27913..1c8a226140 100644
--- a/test/language/statements/if/if-const-no-else.js
+++ b/test/language/statements/if/if-const-no-else.js
@@ -9,6 +9,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 if (true) const x = null;
diff --git a/test/language/statements/if/if-decl-else-decl-strict.js b/test/language/statements/if/if-decl-else-decl-strict.js
index 0dc9789f09..87969f4371 100644
--- a/test/language/statements/if/if-decl-else-decl-strict.js
+++ b/test/language/statements/if/if-decl-else-decl-strict.js
@@ -9,7 +9,7 @@ negative:
   type: SyntaxError
 info: |
     The following rules for IfStatement augment those in 13.6:
-    
+
     IfStatement[Yield, Return]:
         if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield] else Statement[?Yield, ?Return]
         if ( Expression[In, ?Yield] ) Statement[?Yield, ?Return] else FunctionDeclaration[?Yield]
@@ -19,6 +19,6 @@ info: |
     The above rules are only applied when parsing code that is not strict mode code.
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 if (true) function f() {  } else function _f() {}
diff --git a/test/language/statements/if/if-decl-else-stmt-strict.js b/test/language/statements/if/if-decl-else-stmt-strict.js
index 18c8ec9887..d233ea22d5 100644
--- a/test/language/statements/if/if-decl-else-stmt-strict.js
+++ b/test/language/statements/if/if-decl-else-stmt-strict.js
@@ -9,7 +9,7 @@ negative:
   type: SyntaxError
 info: |
     The following rules for IfStatement augment those in 13.6:
-    
+
     IfStatement[Yield, Return]:
         if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield] else Statement[?Yield, ?Return]
         if ( Expression[In, ?Yield] ) Statement[?Yield, ?Return] else FunctionDeclaration[?Yield]
@@ -19,6 +19,6 @@ info: |
     The above rules are only applied when parsing code that is not strict mode code.
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 if (true) function f() {  } else ;
diff --git a/test/language/statements/if/if-decl-no-else-strict.js b/test/language/statements/if/if-decl-no-else-strict.js
index a53dab3de6..44bdb7345c 100644
--- a/test/language/statements/if/if-decl-no-else-strict.js
+++ b/test/language/statements/if/if-decl-no-else-strict.js
@@ -9,7 +9,7 @@ negative:
   type: SyntaxError
 info: |
     The following rules for IfStatement augment those in 13.6:
-    
+
     IfStatement[Yield, Return]:
         if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield] else Statement[?Yield, ?Return]
         if ( Expression[In, ?Yield] ) Statement[?Yield, ?Return] else FunctionDeclaration[?Yield]
@@ -19,6 +19,6 @@ info: |
     The above rules are only applied when parsing code that is not strict mode code.
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 if (true) function f() {  }
diff --git a/test/language/statements/if/if-fun-else-fun-strict.js b/test/language/statements/if/if-fun-else-fun-strict.js
index 30d06d5071..b8e60c12d1 100644
--- a/test/language/statements/if/if-fun-else-fun-strict.js
+++ b/test/language/statements/if/if-fun-else-fun-strict.js
@@ -20,6 +20,6 @@ info: |
     The above rules are only applied when parsing code that is not strict mode code.
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 if (true) function f() {} else function _f() {}
diff --git a/test/language/statements/if/if-fun-else-stmt-strict.js b/test/language/statements/if/if-fun-else-stmt-strict.js
index 758be6d215..9f970787a0 100644
--- a/test/language/statements/if/if-fun-else-stmt-strict.js
+++ b/test/language/statements/if/if-fun-else-stmt-strict.js
@@ -20,6 +20,6 @@ info: |
     The above rules are only applied when parsing code that is not strict mode code.
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 if (true) function f() {} else ;
diff --git a/test/language/statements/if/if-fun-no-else-strict.js b/test/language/statements/if/if-fun-no-else-strict.js
index 9d1e29d30d..8aec4ecca6 100644
--- a/test/language/statements/if/if-fun-no-else-strict.js
+++ b/test/language/statements/if/if-fun-no-else-strict.js
@@ -20,6 +20,6 @@ info: |
     The above rules are only applied when parsing code that is not strict mode code.
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 if (true) function f() {}
diff --git a/test/language/statements/if/if-gen-else-gen.js b/test/language/statements/if/if-gen-else-gen.js
index ef4693fb55..d722edced8 100644
--- a/test/language/statements/if/if-gen-else-gen.js
+++ b/test/language/statements/if/if-gen-else-gen.js
@@ -10,6 +10,6 @@ negative:
 features: [generators]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 if (true) function* g() {  } else function* _g() {}
diff --git a/test/language/statements/if/if-gen-else-stmt.js b/test/language/statements/if/if-gen-else-stmt.js
index 340b9c46b7..27e61e71a1 100644
--- a/test/language/statements/if/if-gen-else-stmt.js
+++ b/test/language/statements/if/if-gen-else-stmt.js
@@ -10,6 +10,6 @@ negative:
 features: [generators]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 if (true) function* g() {  } else ;
diff --git a/test/language/statements/if/if-gen-no-else.js b/test/language/statements/if/if-gen-no-else.js
index 79d08cbb42..719070a614 100644
--- a/test/language/statements/if/if-gen-no-else.js
+++ b/test/language/statements/if/if-gen-no-else.js
@@ -10,6 +10,6 @@ negative:
 features: [generators]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 if (true) function* g() {  }
diff --git a/test/language/statements/if/if-let-else-let.js b/test/language/statements/if/if-let-else-let.js
index 0be8e8a7c9..b54a83a3c0 100644
--- a/test/language/statements/if/if-let-else-let.js
+++ b/test/language/statements/if/if-let-else-let.js
@@ -9,6 +9,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 if (true) let x; else let y;
diff --git a/test/language/statements/if/if-let-else-stmt.js b/test/language/statements/if/if-let-else-stmt.js
index 9f9198cdb0..7a7de86d1b 100644
--- a/test/language/statements/if/if-let-else-stmt.js
+++ b/test/language/statements/if/if-let-else-stmt.js
@@ -9,6 +9,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 if (true) let x; else ;
diff --git a/test/language/statements/if/if-let-no-else.js b/test/language/statements/if/if-let-no-else.js
index 695a9da0bf..77fc0ec080 100644
--- a/test/language/statements/if/if-let-no-else.js
+++ b/test/language/statements/if/if-let-no-else.js
@@ -9,6 +9,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 if (true) let x;
diff --git a/test/language/statements/if/if-stmt-else-async-fun.js b/test/language/statements/if/if-stmt-else-async-fun.js
index ae7215185b..e9ce26137d 100644
--- a/test/language/statements/if/if-stmt-else-async-fun.js
+++ b/test/language/statements/if/if-stmt-else-async-fun.js
@@ -15,6 +15,6 @@ negative:
 features: [async-functions]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 if (false) ; else async function f() {  }
diff --git a/test/language/statements/if/if-stmt-else-async-gen.js b/test/language/statements/if/if-stmt-else-async-gen.js
index 928b4a71f1..0472f7ea36 100644
--- a/test/language/statements/if/if-stmt-else-async-gen.js
+++ b/test/language/statements/if/if-stmt-else-async-gen.js
@@ -15,6 +15,6 @@ negative:
 features: [async-iteration]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 if (false) ; else async function* f() {  }
diff --git a/test/language/statements/if/if-stmt-else-cls.js b/test/language/statements/if/if-stmt-else-cls.js
index ba21674e11..0e92afaf67 100644
--- a/test/language/statements/if/if-stmt-else-cls.js
+++ b/test/language/statements/if/if-stmt-else-cls.js
@@ -9,6 +9,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 if (false) ; else class C {}
diff --git a/test/language/statements/if/if-stmt-else-const.js b/test/language/statements/if/if-stmt-else-const.js
index c51e2ce6a4..c96f954b2b 100644
--- a/test/language/statements/if/if-stmt-else-const.js
+++ b/test/language/statements/if/if-stmt-else-const.js
@@ -9,6 +9,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 if (false) ; else const x = null;
diff --git a/test/language/statements/if/if-stmt-else-decl-strict.js b/test/language/statements/if/if-stmt-else-decl-strict.js
index 9c77a3c4d0..94eab02d69 100644
--- a/test/language/statements/if/if-stmt-else-decl-strict.js
+++ b/test/language/statements/if/if-stmt-else-decl-strict.js
@@ -9,7 +9,7 @@ negative:
   type: SyntaxError
 info: |
     The following rules for IfStatement augment those in 13.6:
-    
+
     IfStatement[Yield, Return]:
         if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield] else Statement[?Yield, ?Return]
         if ( Expression[In, ?Yield] ) Statement[?Yield, ?Return] else FunctionDeclaration[?Yield]
@@ -17,12 +17,12 @@ info: |
         if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield]
 
     B.3.3.2 Changes to GlobalDeclarationInstantiation
-    
+
     1. 1. Let strict be IsStrict of script
     2. If strict is *false*, then
        [...]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 if (false) ; else function f() {  }
diff --git a/test/language/statements/if/if-stmt-else-fun-strict.js b/test/language/statements/if/if-stmt-else-fun-strict.js
index 6f1d6d0dac..118e0f209a 100644
--- a/test/language/statements/if/if-stmt-else-fun-strict.js
+++ b/test/language/statements/if/if-stmt-else-fun-strict.js
@@ -18,12 +18,12 @@ info: |
         if ( Expression[In, ?Yield] ) FunctionDeclaration[?Yield]
 
     B.3.3.2 Changes to GlobalDeclarationInstantiation
-    
+
     1. 1. Let strict be IsStrict of script
     2. If strict is *false*, then
        [...]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 if (false) ; else function f() {}
diff --git a/test/language/statements/if/if-stmt-else-gen.js b/test/language/statements/if/if-stmt-else-gen.js
index 60127207fc..02fb8b7fed 100644
--- a/test/language/statements/if/if-stmt-else-gen.js
+++ b/test/language/statements/if/if-stmt-else-gen.js
@@ -10,6 +10,6 @@ negative:
 features: [generators]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 if (false) ; else function* g() {  }
diff --git a/test/language/statements/if/if-stmt-else-let.js b/test/language/statements/if/if-stmt-else-let.js
index 438901ca1e..cd0a91c914 100644
--- a/test/language/statements/if/if-stmt-else-let.js
+++ b/test/language/statements/if/if-stmt-else-let.js
@@ -9,6 +9,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 if (false) ; else let x;
diff --git a/test/language/statements/if/labelled-fn-stmt-first.js b/test/language/statements/if/labelled-fn-stmt-first.js
index c762538131..a538450d92 100644
--- a/test/language/statements/if/labelled-fn-stmt-first.js
+++ b/test/language/statements/if/labelled-fn-stmt-first.js
@@ -24,6 +24,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 if (false) label1: label2: function test262() {} else ;
diff --git a/test/language/statements/if/labelled-fn-stmt-lone.js b/test/language/statements/if/labelled-fn-stmt-lone.js
index d2a8e00871..3ba5012c98 100644
--- a/test/language/statements/if/labelled-fn-stmt-lone.js
+++ b/test/language/statements/if/labelled-fn-stmt-lone.js
@@ -24,6 +24,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 if (false) label1: label2: function test262() {}
diff --git a/test/language/statements/if/labelled-fn-stmt-second.js b/test/language/statements/if/labelled-fn-stmt-second.js
index 4d425fcf6d..8542af05bc 100644
--- a/test/language/statements/if/labelled-fn-stmt-second.js
+++ b/test/language/statements/if/labelled-fn-stmt-second.js
@@ -24,6 +24,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 if (true) ; else label1: label2: function test262() {}
diff --git a/test/language/statements/if/let-array-with-newline.js b/test/language/statements/if/let-array-with-newline.js
index 0466ed198f..4e6d913254 100644
--- a/test/language/statements/if/let-array-with-newline.js
+++ b/test/language/statements/if/let-array-with-newline.js
@@ -15,7 +15,7 @@ negative:
 flags: [noStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 if (false) let
 [a] = 0;
diff --git a/test/language/statements/labeled/continue.js b/test/language/statements/labeled/continue.js
index 490d252be2..e6a3acb5ec 100644
--- a/test/language/statements/labeled/continue.js
+++ b/test/language/statements/labeled/continue.js
@@ -18,7 +18,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 do {
   test262: {
diff --git a/test/language/statements/labeled/decl-async-function.js b/test/language/statements/labeled/decl-async-function.js
index c3abed3d4d..045722334e 100644
--- a/test/language/statements/labeled/decl-async-function.js
+++ b/test/language/statements/labeled/decl-async-function.js
@@ -15,6 +15,6 @@ negative:
 features: [async-functions]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 label: async function f() {}
diff --git a/test/language/statements/labeled/decl-async-generator.js b/test/language/statements/labeled/decl-async-generator.js
index 7d8a7d9549..0edf01d81c 100644
--- a/test/language/statements/labeled/decl-async-generator.js
+++ b/test/language/statements/labeled/decl-async-generator.js
@@ -15,6 +15,6 @@ negative:
 features: [async-iteration]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 label: async function* g() {}
diff --git a/test/language/statements/labeled/decl-cls.js b/test/language/statements/labeled/decl-cls.js
index d73e469f96..f097ca8a14 100644
--- a/test/language/statements/labeled/decl-cls.js
+++ b/test/language/statements/labeled/decl-cls.js
@@ -9,6 +9,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 label: class C {}
diff --git a/test/language/statements/labeled/decl-const.js b/test/language/statements/labeled/decl-const.js
index d07b271ad1..30a99ba1c4 100644
--- a/test/language/statements/labeled/decl-const.js
+++ b/test/language/statements/labeled/decl-const.js
@@ -9,6 +9,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 label: const x = null;
diff --git a/test/language/statements/labeled/decl-fun-strict.js b/test/language/statements/labeled/decl-fun-strict.js
index 0b834bebb8..eda37629bf 100644
--- a/test/language/statements/labeled/decl-fun-strict.js
+++ b/test/language/statements/labeled/decl-fun-strict.js
@@ -12,6 +12,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 label: function g() {}
diff --git a/test/language/statements/labeled/decl-gen.js b/test/language/statements/labeled/decl-gen.js
index 9cf5ded73d..32c5277ab0 100644
--- a/test/language/statements/labeled/decl-gen.js
+++ b/test/language/statements/labeled/decl-gen.js
@@ -10,6 +10,6 @@ negative:
 features: [generators]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 label: function* g() {}
diff --git a/test/language/statements/labeled/decl-let.js b/test/language/statements/labeled/decl-let.js
index afe7683a75..601d4ae6d8 100644
--- a/test/language/statements/labeled/decl-let.js
+++ b/test/language/statements/labeled/decl-let.js
@@ -9,6 +9,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 label: let x;
diff --git a/test/language/statements/labeled/let-array-with-newline.js b/test/language/statements/labeled/let-array-with-newline.js
index 5e34a11917..b49dd6f38c 100644
--- a/test/language/statements/labeled/let-array-with-newline.js
+++ b/test/language/statements/labeled/let-array-with-newline.js
@@ -15,7 +15,7 @@ negative:
 flags: [noStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 // Wrapped in an if-statement to avoid reference errors at runtime.
 if (false) {
diff --git a/test/language/statements/labeled/value-await-module-escaped.js b/test/language/statements/labeled/value-await-module-escaped.js
index 0414299116..3d59c2aa52 100644
--- a/test/language/statements/labeled/value-await-module-escaped.js
+++ b/test/language/statements/labeled/value-await-module-escaped.js
@@ -16,6 +16,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 aw\u0061it: 1;
diff --git a/test/language/statements/labeled/value-await-module.js b/test/language/statements/labeled/value-await-module.js
index b3fdf0b938..7eb4bb65bb 100644
--- a/test/language/statements/labeled/value-await-module.js
+++ b/test/language/statements/labeled/value-await-module.js
@@ -15,6 +15,6 @@ negative:
 flags: [module]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 await: 1;
diff --git a/test/language/statements/labeled/value-yield-strict-escaped.js b/test/language/statements/labeled/value-yield-strict-escaped.js
index 34a33ffe94..2b5ccc9bec 100644
--- a/test/language/statements/labeled/value-yield-strict-escaped.js
+++ b/test/language/statements/labeled/value-yield-strict-escaped.js
@@ -17,6 +17,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 yi\u0065ld: 1;
diff --git a/test/language/statements/labeled/value-yield-strict.js b/test/language/statements/labeled/value-yield-strict.js
index 049fd217fe..9e097b9faf 100644
--- a/test/language/statements/labeled/value-yield-strict.js
+++ b/test/language/statements/labeled/value-yield-strict.js
@@ -12,6 +12,6 @@
   flags: [onlyStrict]
  ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 yield: 1;
diff --git a/test/language/statements/let/dstr-ary-ptrn-rest-init-ary.js b/test/language/statements/let/dstr-ary-ptrn-rest-init-ary.js
index 2d2c64583b..c00541b3b7 100644
--- a/test/language/statements/let/dstr-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/let/dstr-ary-ptrn-rest-init-ary.js
@@ -26,7 +26,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 let [...[ x ] = []] = [];
 
diff --git a/test/language/statements/let/dstr-ary-ptrn-rest-init-id.js b/test/language/statements/let/dstr-ary-ptrn-rest-init-id.js
index 7787815727..2dcfcac25f 100644
--- a/test/language/statements/let/dstr-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/let/dstr-ary-ptrn-rest-init-id.js
@@ -26,7 +26,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 let [...x = []] = [];
 
diff --git a/test/language/statements/let/dstr-ary-ptrn-rest-init-obj.js b/test/language/statements/let/dstr-ary-ptrn-rest-init-obj.js
index 7dc9fcc4f3..1672d0f2ee 100644
--- a/test/language/statements/let/dstr-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/let/dstr-ary-ptrn-rest-init-obj.js
@@ -26,7 +26,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 let [...{ x } = []] = [];
 
diff --git a/test/language/statements/let/dstr-ary-ptrn-rest-not-final-ary.js b/test/language/statements/let/dstr-ary-ptrn-rest-not-final-ary.js
index 11d1e4789a..68dda3dab8 100644
--- a/test/language/statements/let/dstr-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/let/dstr-ary-ptrn-rest-not-final-ary.js
@@ -26,7 +26,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 let [...[x], y] = [1, 2, 3];
 
diff --git a/test/language/statements/let/dstr-ary-ptrn-rest-not-final-id.js b/test/language/statements/let/dstr-ary-ptrn-rest-not-final-id.js
index 5daa81b95c..4958b4ade4 100644
--- a/test/language/statements/let/dstr-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/let/dstr-ary-ptrn-rest-not-final-id.js
@@ -26,7 +26,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 let [...x, y] = [1, 2, 3];
 
diff --git a/test/language/statements/let/dstr-ary-ptrn-rest-not-final-obj.js b/test/language/statements/let/dstr-ary-ptrn-rest-not-final-obj.js
index 68df5eeca8..227bb25d07 100644
--- a/test/language/statements/let/dstr-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/let/dstr-ary-ptrn-rest-not-final-obj.js
@@ -26,7 +26,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 let [...{ x }, y] = [1, 2, 3];
 
diff --git a/test/language/statements/let/redeclaration-error-from-within-strict-mode-function.js b/test/language/statements/let/redeclaration-error-from-within-strict-mode-function.js
index 480f044bb6..6f00de3ae7 100644
--- a/test/language/statements/let/redeclaration-error-from-within-strict-mode-function.js
+++ b/test/language/statements/let/redeclaration-error-from-within-strict-mode-function.js
@@ -10,6 +10,6 @@ negative:
 flags: [noStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 (function() { 'use strict'; { let f; var f; } })
 
diff --git a/test/language/statements/let/syntax/attempt-to-redeclare-let-binding-with-function-declaration.js b/test/language/statements/let/syntax/attempt-to-redeclare-let-binding-with-function-declaration.js
index 223afa0a48..6f38c7740a 100644
--- a/test/language/statements/let/syntax/attempt-to-redeclare-let-binding-with-function-declaration.js
+++ b/test/language/statements/let/syntax/attempt-to-redeclare-let-binding-with-function-declaration.js
@@ -10,5 +10,5 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 { let f; function f() {} }
diff --git a/test/language/statements/let/syntax/attempt-to-redeclare-let-binding-with-var.js b/test/language/statements/let/syntax/attempt-to-redeclare-let-binding-with-var.js
index ab8947c19c..df1226b666 100644
--- a/test/language/statements/let/syntax/attempt-to-redeclare-let-binding-with-var.js
+++ b/test/language/statements/let/syntax/attempt-to-redeclare-let-binding-with-var.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 { let f; var f; }
 
diff --git a/test/language/statements/let/syntax/identifier-let-allowed-as-lefthandside-expression-strict.js b/test/language/statements/let/syntax/identifier-let-allowed-as-lefthandside-expression-strict.js
index 56842e345b..9d91fa4001 100644
--- a/test/language/statements/let/syntax/identifier-let-allowed-as-lefthandside-expression-strict.js
+++ b/test/language/statements/let/syntax/identifier-let-allowed-as-lefthandside-expression-strict.js
@@ -11,7 +11,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 var o = { a: 1 };
 for (let in o) { }
 
diff --git a/test/language/statements/let/syntax/identifier-let-disallowed-as-boundname.js b/test/language/statements/let/syntax/identifier-let-disallowed-as-boundname.js
index 4fa3f244ca..078dbef0e7 100644
--- a/test/language/statements/let/syntax/identifier-let-disallowed-as-boundname.js
+++ b/test/language/statements/let/syntax/identifier-let-disallowed-as-boundname.js
@@ -9,6 +9,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 for (let let in {}) { }
 
diff --git a/test/language/statements/let/syntax/let-let-declaration-split-across-two-lines.js b/test/language/statements/let/syntax/let-let-declaration-split-across-two-lines.js
index 99ab8076ed..33d1e0fa7c 100644
--- a/test/language/statements/let/syntax/let-let-declaration-split-across-two-lines.js
+++ b/test/language/statements/let/syntax/let-let-declaration-split-across-two-lines.js
@@ -27,7 +27,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 let  // start of a LexicalDeclaration, *not* an ASI opportunity
 let;
diff --git a/test/language/statements/let/syntax/let-let-declaration-with-initializer-split-across-two-lines.js b/test/language/statements/let/syntax/let-let-declaration-with-initializer-split-across-two-lines.js
index f5bb0ebae1..18d2dd083b 100644
--- a/test/language/statements/let/syntax/let-let-declaration-with-initializer-split-across-two-lines.js
+++ b/test/language/statements/let/syntax/let-let-declaration-with-initializer-split-across-two-lines.js
@@ -27,7 +27,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 let  // start of a LexicalDeclaration, *not* an ASI opportunity
 let = "irrelevant initializer";
diff --git a/test/language/statements/let/syntax/let-newline-await-in-normal-function.js b/test/language/statements/let/syntax/let-newline-await-in-normal-function.js
index 2556abb5af..5cbc36b821 100644
--- a/test/language/statements/let/syntax/let-newline-await-in-normal-function.js
+++ b/test/language/statements/let/syntax/let-newline-await-in-normal-function.js
@@ -16,7 +16,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function f() {
     let
diff --git a/test/language/statements/let/syntax/let-newline-yield-in-generator-function.js b/test/language/statements/let/syntax/let-newline-yield-in-generator-function.js
index 3c6a4cdee9..8eaca8aaae 100644
--- a/test/language/statements/let/syntax/let-newline-yield-in-generator-function.js
+++ b/test/language/statements/let/syntax/let-newline-yield-in-generator-function.js
@@ -17,7 +17,7 @@ negative:
 features: [generators]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function* f() {
     let
diff --git a/test/language/statements/let/syntax/let-newline-yield-in-normal-function.js b/test/language/statements/let/syntax/let-newline-yield-in-normal-function.js
index 10fdf4e0d3..13b599bef7 100644
--- a/test/language/statements/let/syntax/let-newline-yield-in-normal-function.js
+++ b/test/language/statements/let/syntax/let-newline-yield-in-normal-function.js
@@ -15,7 +15,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function f() {
     let
diff --git a/test/language/statements/let/syntax/with-initialisers-in-statement-positions-do-statement-while-expression.js b/test/language/statements/let/syntax/with-initialisers-in-statement-positions-do-statement-while-expression.js
index bd216dd2ed..f52f823e88 100644
--- a/test/language/statements/let/syntax/with-initialisers-in-statement-positions-do-statement-while-expression.js
+++ b/test/language/statements/let/syntax/with-initialisers-in-statement-positions-do-statement-while-expression.js
@@ -3,12 +3,12 @@
 /*---
 es6id: 13.1
 description: >
-    let declarations with initialisers in statement positions: 
+    let declarations with initialisers in statement positions:
     do Statement while ( Expression )
 negative:
   phase: parse
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 do let x = 1; while (false)
diff --git a/test/language/statements/let/syntax/with-initialisers-in-statement-positions-for-statement.js b/test/language/statements/let/syntax/with-initialisers-in-statement-positions-for-statement.js
index 194694a801..21283585b9 100644
--- a/test/language/statements/let/syntax/with-initialisers-in-statement-positions-for-statement.js
+++ b/test/language/statements/let/syntax/with-initialisers-in-statement-positions-for-statement.js
@@ -3,12 +3,12 @@
 /*---
 es6id: 13.1
 description: >
-    let declarations with initialisers in statement positions: 
+    let declarations with initialisers in statement positions:
     for ( ;;) Statement
 negative:
   phase: parse
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 for (;false;) let x = 1;
diff --git a/test/language/statements/let/syntax/with-initialisers-in-statement-positions-if-expression-statement-else-statement.js b/test/language/statements/let/syntax/with-initialisers-in-statement-positions-if-expression-statement-else-statement.js
index 0483965844..daa76b9b19 100644
--- a/test/language/statements/let/syntax/with-initialisers-in-statement-positions-if-expression-statement-else-statement.js
+++ b/test/language/statements/let/syntax/with-initialisers-in-statement-positions-if-expression-statement-else-statement.js
@@ -3,12 +3,12 @@
 /*---
 es6id: 13.1
 description: >
-    let declarations with initialisers in statement positions: 
+    let declarations with initialisers in statement positions:
     if ( Expression ) Statement else Statement
 negative:
   phase: parse
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 if (true) {} else let x = 1;
diff --git a/test/language/statements/let/syntax/with-initialisers-in-statement-positions-if-expression-statement.js b/test/language/statements/let/syntax/with-initialisers-in-statement-positions-if-expression-statement.js
index 2c2eef215f..3498419142 100644
--- a/test/language/statements/let/syntax/with-initialisers-in-statement-positions-if-expression-statement.js
+++ b/test/language/statements/let/syntax/with-initialisers-in-statement-positions-if-expression-statement.js
@@ -3,12 +3,12 @@
 /*---
 es6id: 13.1
 description: >
-    let declarations with initialisers in statement positions: 
+    let declarations with initialisers in statement positions:
     if ( Expression ) Statement
 negative:
   phase: parse
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 if (true) let x = 1;
diff --git a/test/language/statements/let/syntax/with-initialisers-in-statement-positions-label-statement.js b/test/language/statements/let/syntax/with-initialisers-in-statement-positions-label-statement.js
index 023b88abb4..0dbb5ebe66 100644
--- a/test/language/statements/let/syntax/with-initialisers-in-statement-positions-label-statement.js
+++ b/test/language/statements/let/syntax/with-initialisers-in-statement-positions-label-statement.js
@@ -3,12 +3,12 @@
 /*---
 es6id: 13.1
 description: >
-    let declarations with initialisers in statement positions: 
+    let declarations with initialisers in statement positions:
     label: Statement
 negative:
   phase: parse
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 label: let x = 1;
diff --git a/test/language/statements/let/syntax/with-initialisers-in-statement-positions-while-expression-statement.js b/test/language/statements/let/syntax/with-initialisers-in-statement-positions-while-expression-statement.js
index 7dc697dcdd..efc5c54c31 100644
--- a/test/language/statements/let/syntax/with-initialisers-in-statement-positions-while-expression-statement.js
+++ b/test/language/statements/let/syntax/with-initialisers-in-statement-positions-while-expression-statement.js
@@ -3,12 +3,12 @@
 /*---
 es6id: 13.1
 description: >
-    let declarations with initialisers in statement positions: 
+    let declarations with initialisers in statement positions:
     while ( Expression ) Statement
 negative:
   phase: parse
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 while (false) let x = 1;
diff --git a/test/language/statements/let/syntax/without-initialisers-in-statement-positions-do-statement-while-expression.js b/test/language/statements/let/syntax/without-initialisers-in-statement-positions-do-statement-while-expression.js
index cfc7e81659..d1995ae3e5 100644
--- a/test/language/statements/let/syntax/without-initialisers-in-statement-positions-do-statement-while-expression.js
+++ b/test/language/statements/let/syntax/without-initialisers-in-statement-positions-do-statement-while-expression.js
@@ -3,12 +3,12 @@
 /*---
 es6id: 13.1
 description: >
-    let declarations without initialisers in statement positions: 
+    let declarations without initialisers in statement positions:
     do Statement while ( Expression )
 negative:
   phase: parse
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 do let x; while (false)
diff --git a/test/language/statements/let/syntax/without-initialisers-in-statement-positions-for-statement.js b/test/language/statements/let/syntax/without-initialisers-in-statement-positions-for-statement.js
index 27f58b2be2..736ae70b19 100644
--- a/test/language/statements/let/syntax/without-initialisers-in-statement-positions-for-statement.js
+++ b/test/language/statements/let/syntax/without-initialisers-in-statement-positions-for-statement.js
@@ -3,12 +3,12 @@
 /*---
 es6id: 13.1
 description: >
-    let declarations without initialisers in statement positions: 
+    let declarations without initialisers in statement positions:
     for ( ;;) Statement
 negative:
   phase: parse
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 for (;false;) let x;
diff --git a/test/language/statements/let/syntax/without-initialisers-in-statement-positions-if-expression-statement-else-statement.js b/test/language/statements/let/syntax/without-initialisers-in-statement-positions-if-expression-statement-else-statement.js
index 9672be86af..16dfb747df 100644
--- a/test/language/statements/let/syntax/without-initialisers-in-statement-positions-if-expression-statement-else-statement.js
+++ b/test/language/statements/let/syntax/without-initialisers-in-statement-positions-if-expression-statement-else-statement.js
@@ -3,12 +3,12 @@
 /*---
 es6id: 13.1
 description: >
-    let declarations without initialisers in statement positions: 
+    let declarations without initialisers in statement positions:
     if ( Expression ) Statement else Statement
 negative:
   phase: parse
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 if (true) {} else let x;
diff --git a/test/language/statements/let/syntax/without-initialisers-in-statement-positions-if-expression-statement.js b/test/language/statements/let/syntax/without-initialisers-in-statement-positions-if-expression-statement.js
index 5abc9260ff..c2b0c37e3a 100644
--- a/test/language/statements/let/syntax/without-initialisers-in-statement-positions-if-expression-statement.js
+++ b/test/language/statements/let/syntax/without-initialisers-in-statement-positions-if-expression-statement.js
@@ -3,12 +3,12 @@
 /*---
 es6id: 13.1
 description: >
-    let declarations without initialisers in statement positions: 
+    let declarations without initialisers in statement positions:
     if ( Expression ) Statement
 negative:
   phase: parse
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 if (true) let x;
diff --git a/test/language/statements/let/syntax/without-initialisers-in-statement-positions-label-statement.js b/test/language/statements/let/syntax/without-initialisers-in-statement-positions-label-statement.js
index 2984b5d5ad..7623f0feab 100644
--- a/test/language/statements/let/syntax/without-initialisers-in-statement-positions-label-statement.js
+++ b/test/language/statements/let/syntax/without-initialisers-in-statement-positions-label-statement.js
@@ -3,12 +3,12 @@
 /*---
 es6id: 13.1
 description: >
-    let declarations without initialisers in statement positions: 
+    let declarations without initialisers in statement positions:
     label: Statement
 negative:
   phase: parse
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 label: let x;
diff --git a/test/language/statements/let/syntax/without-initialisers-in-statement-positions-while-expression-statement.js b/test/language/statements/let/syntax/without-initialisers-in-statement-positions-while-expression-statement.js
index f25c087a3e..0db62e85d6 100644
--- a/test/language/statements/let/syntax/without-initialisers-in-statement-positions-while-expression-statement.js
+++ b/test/language/statements/let/syntax/without-initialisers-in-statement-positions-while-expression-statement.js
@@ -3,12 +3,12 @@
 /*---
 es6id: 13.1
 description: >
-    let declarations without initialisers in statement positions: 
+    let declarations without initialisers in statement positions:
     while ( Expression ) Statement
 negative:
   phase: parse
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 while (false) let x;
diff --git a/test/language/statements/return/S12.9_A1_T1.js b/test/language/statements/return/S12.9_A1_T1.js
index 6855241194..8e5b8b63a0 100644
--- a/test/language/statements/return/S12.9_A1_T1.js
+++ b/test/language/statements/return/S12.9_A1_T1.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //////////////////////////////////////////////////////////////////////////////
 //CHECK#1
diff --git a/test/language/statements/return/S12.9_A1_T10.js b/test/language/statements/return/S12.9_A1_T10.js
index 500356a728..fddcecd36b 100644
--- a/test/language/statements/return/S12.9_A1_T10.js
+++ b/test/language/statements/return/S12.9_A1_T10.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //////////////////////////////////////////////////////////////////////////////
 //CHECK#1
diff --git a/test/language/statements/return/S12.9_A1_T2.js b/test/language/statements/return/S12.9_A1_T2.js
index 4771e59c8a..6e951e07bc 100644
--- a/test/language/statements/return/S12.9_A1_T2.js
+++ b/test/language/statements/return/S12.9_A1_T2.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //////////////////////////////////////////////////////////////////////////////
 //CHECK#1
diff --git a/test/language/statements/return/S12.9_A1_T3.js b/test/language/statements/return/S12.9_A1_T3.js
index f79879f235..d724c51148 100644
--- a/test/language/statements/return/S12.9_A1_T3.js
+++ b/test/language/statements/return/S12.9_A1_T3.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //////////////////////////////////////////////////////////////////////////////
 //CHECK#1
diff --git a/test/language/statements/return/S12.9_A1_T4.js b/test/language/statements/return/S12.9_A1_T4.js
index 78be85827e..dea0187b23 100644
--- a/test/language/statements/return/S12.9_A1_T4.js
+++ b/test/language/statements/return/S12.9_A1_T4.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //////////////////////////////////////////////////////////////////////////////
 //CHECK#1
diff --git a/test/language/statements/return/S12.9_A1_T5.js b/test/language/statements/return/S12.9_A1_T5.js
index 0cb28f8a5f..19fe41a94b 100644
--- a/test/language/statements/return/S12.9_A1_T5.js
+++ b/test/language/statements/return/S12.9_A1_T5.js
@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //////////////////////////////////////////////////////////////////////////////
 //CHECK#1
diff --git a/test/language/statements/return/S12.9_A1_T6.js b/test/language/statements/return/S12.9_A1_T6.js
index 16f7545e46..5a52b441d1 100644
--- a/test/language/statements/return/S12.9_A1_T6.js
+++ b/test/language/statements/return/S12.9_A1_T6.js
@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //////////////////////////////////////////////////////////////////////////////
 //CHECK#1
diff --git a/test/language/statements/return/S12.9_A1_T7.js b/test/language/statements/return/S12.9_A1_T7.js
index e351ed36f0..ef806b2e74 100644
--- a/test/language/statements/return/S12.9_A1_T7.js
+++ b/test/language/statements/return/S12.9_A1_T7.js
@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //////////////////////////////////////////////////////////////////////////////
 //CHECK#1
diff --git a/test/language/statements/return/S12.9_A1_T8.js b/test/language/statements/return/S12.9_A1_T8.js
index 80332365ee..adc6e6112e 100644
--- a/test/language/statements/return/S12.9_A1_T8.js
+++ b/test/language/statements/return/S12.9_A1_T8.js
@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //////////////////////////////////////////////////////////////////////////////
 //CHECK#1
diff --git a/test/language/statements/return/S12.9_A1_T9.js b/test/language/statements/return/S12.9_A1_T9.js
index 1d7763b5e1..637f5baf2c 100644
--- a/test/language/statements/return/S12.9_A1_T9.js
+++ b/test/language/statements/return/S12.9_A1_T9.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //////////////////////////////////////////////////////////////////////////////
 //CHECK#1
diff --git a/test/language/statements/switch/S12.11_A2_T1.js b/test/language/statements/switch/S12.11_A2_T1.js
index cf56c82281..564b4c3bcd 100644
--- a/test/language/statements/switch/S12.11_A2_T1.js
+++ b/test/language/statements/switch/S12.11_A2_T1.js
@@ -10,11 +10,11 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function SwitchTest(value){
   var result = 0;
-  
+
   switch(value) {
     case 0:
       result += 2;
@@ -25,7 +25,7 @@ function SwitchTest(value){
       result += 32;
       break;
   }
-  
+
   return result;
 }
 
diff --git a/test/language/statements/switch/S12.11_A3_T1.js b/test/language/statements/switch/S12.11_A3_T1.js
index 67b582711f..18d62ea598 100644
--- a/test/language/statements/switch/S12.11_A3_T1.js
+++ b/test/language/statements/switch/S12.11_A3_T1.js
@@ -10,11 +10,11 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function SwitchTest(value){
   var result = 0;
-  
+
   switch() {
     case 0:
       result += 2;
@@ -22,7 +22,7 @@ function SwitchTest(value){
       result += 32;
       break;
   }
-  
+
   return result;
 }
 
diff --git a/test/language/statements/switch/S12.11_A3_T2.js b/test/language/statements/switch/S12.11_A3_T2.js
index 1cd0b70ab6..baf35bf0bb 100644
--- a/test/language/statements/switch/S12.11_A3_T2.js
+++ b/test/language/statements/switch/S12.11_A3_T2.js
@@ -10,11 +10,11 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function SwitchTest(value){
   var result = 0;
-  
+
   switch {
     case 0:
       result += 2;
@@ -22,7 +22,7 @@ function SwitchTest(value){
       result += 32;
       break;
   }
-  
+
   return result;
 }
 
diff --git a/test/language/statements/switch/S12.11_A3_T3.js b/test/language/statements/switch/S12.11_A3_T3.js
index 7c602bd63f..ba4b0a2370 100644
--- a/test/language/statements/switch/S12.11_A3_T3.js
+++ b/test/language/statements/switch/S12.11_A3_T3.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch(value);
diff --git a/test/language/statements/switch/S12.11_A3_T4.js b/test/language/statements/switch/S12.11_A3_T4.js
index 964a9e57d9..d87b5c6d85 100644
--- a/test/language/statements/switch/S12.11_A3_T4.js
+++ b/test/language/statements/switch/S12.11_A3_T4.js
@@ -12,11 +12,11 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function SwitchTest(value){
   var result = 0;
-  
+
   switch(value) {
     case:
       result += 2;
@@ -24,7 +24,7 @@ function SwitchTest(value){
       result += 32;
       break;
   }
-  
+
   return result;
 }
 
diff --git a/test/language/statements/switch/S12.11_A3_T5.js b/test/language/statements/switch/S12.11_A3_T5.js
index 735e9e030d..1ff4da7773 100644
--- a/test/language/statements/switch/S12.11_A3_T5.js
+++ b/test/language/statements/switch/S12.11_A3_T5.js
@@ -10,11 +10,11 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function SwitchTest(value){
   var result = 0;
-  
+
   switch(value) {
   	result =2;
     case 0:
@@ -23,7 +23,7 @@ function SwitchTest(value){
       result += 32;
       break;
   }
-  
+
   return result;
 }
 
diff --git a/test/language/statements/switch/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-async-function-declaration.js b/test/language/statements/switch/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-async-function-declaration.js
index e3a85e1e8c..10e1ea79f1 100644
--- a/test/language/statements/switch/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-async-function-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-async-function-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: async function f() {} default: async function f() {} }
diff --git a/test/language/statements/switch/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-async-generator-declaration.js b/test/language/statements/switch/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-async-generator-declaration.js
index 4a4002be3e..98829724d9 100644
--- a/test/language/statements/switch/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-async-generator-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-async-generator-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: async function f() {} default: async function* f() {} }
diff --git a/test/language/statements/switch/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-class-declaration.js b/test/language/statements/switch/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-class-declaration.js
index 1723fbf835..91906db752 100644
--- a/test/language/statements/switch/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-class-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-class-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: async function f() {} default: class f {}; }
diff --git a/test/language/statements/switch/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-const-declaration.js b/test/language/statements/switch/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-const-declaration.js
index 6ef245fc5d..c9a20386fa 100644
--- a/test/language/statements/switch/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-const-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-const-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: async function f() {} default: const f = 0; }
diff --git a/test/language/statements/switch/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-function-declaration.js b/test/language/statements/switch/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-function-declaration.js
index 863d506bae..8bfc287a44 100644
--- a/test/language/statements/switch/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-function-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-function-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: async function f() {} default: function f() {} }
diff --git a/test/language/statements/switch/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-generator-declaration.js b/test/language/statements/switch/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-generator-declaration.js
index 46d9d8ca75..574e66f64c 100644
--- a/test/language/statements/switch/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-generator-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-generator-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: async function f() {} default: function* f() {} }
diff --git a/test/language/statements/switch/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-let-declaration.js b/test/language/statements/switch/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-let-declaration.js
index ce45cb093c..b2f421efc8 100644
--- a/test/language/statements/switch/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-let-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-let-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: async function f() {} default: let f; }
diff --git a/test/language/statements/switch/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-var-declaration.js b/test/language/statements/switch/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-var-declaration.js
index a5b1331f48..23727ed147 100644
--- a/test/language/statements/switch/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-var-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/async-function-declaration-attempt-to-redeclare-with-var-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: async function f() {} default: var f; }
diff --git a/test/language/statements/switch/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-async-function-declaration.js b/test/language/statements/switch/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-async-function-declaration.js
index 41088fb557..227787cfaa 100644
--- a/test/language/statements/switch/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-async-function-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-async-function-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: async function* f() {} default: async function f() {} }
diff --git a/test/language/statements/switch/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-async-generator-declaration.js b/test/language/statements/switch/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-async-generator-declaration.js
index efd322cccd..9ce3ef18fd 100644
--- a/test/language/statements/switch/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-async-generator-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-async-generator-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: async function* f() {} default: async function* f() {} }
diff --git a/test/language/statements/switch/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-class-declaration.js b/test/language/statements/switch/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-class-declaration.js
index 4a09221db5..eafc4aa8c3 100644
--- a/test/language/statements/switch/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-class-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-class-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: async function* f() {} default: class f {}; }
diff --git a/test/language/statements/switch/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-const-declaration.js b/test/language/statements/switch/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-const-declaration.js
index 65a541456a..ea389625eb 100644
--- a/test/language/statements/switch/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-const-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-const-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: async function* f() {} default: const f = 0; }
diff --git a/test/language/statements/switch/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-function-declaration.js b/test/language/statements/switch/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-function-declaration.js
index 667a9ed7b5..2b8d9f9edd 100644
--- a/test/language/statements/switch/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-function-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-function-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: async function* f() {} default: function f() {} }
diff --git a/test/language/statements/switch/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-generator-declaration.js b/test/language/statements/switch/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-generator-declaration.js
index 222b5657d4..541e95fbfb 100644
--- a/test/language/statements/switch/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-generator-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-generator-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: async function* f() {} default: function* f() {} }
diff --git a/test/language/statements/switch/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-let-declaration.js b/test/language/statements/switch/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-let-declaration.js
index 704da14ee1..bf80a01573 100644
--- a/test/language/statements/switch/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-let-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-let-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: async function* f() {} default: let f; }
diff --git a/test/language/statements/switch/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-var-declaration.js b/test/language/statements/switch/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-var-declaration.js
index a69ec34f91..90043ab648 100644
--- a/test/language/statements/switch/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-var-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/async-generator-declaration-attempt-to-redeclare-with-var-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: async function* f() {} default: var f; }
diff --git a/test/language/statements/switch/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-async-function-declaration.js b/test/language/statements/switch/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-async-function-declaration.js
index 5957724ab8..4be2f94921 100644
--- a/test/language/statements/switch/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-async-function-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-async-function-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: class f {} default: async function f() {} }
diff --git a/test/language/statements/switch/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-async-generator-declaration.js b/test/language/statements/switch/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-async-generator-declaration.js
index 8b9f9d33a7..d906486e24 100644
--- a/test/language/statements/switch/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-async-generator-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-async-generator-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: class f {} default: async function* f() {} }
diff --git a/test/language/statements/switch/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-class-declaration.js b/test/language/statements/switch/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-class-declaration.js
index 9e968af033..86d28fc414 100644
--- a/test/language/statements/switch/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-class-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-class-declaration.js
@@ -17,6 +17,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: class f {} default: class f {}; }
diff --git a/test/language/statements/switch/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-const-declaration.js b/test/language/statements/switch/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-const-declaration.js
index 6bc6d6694a..fc40322be7 100644
--- a/test/language/statements/switch/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-const-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-const-declaration.js
@@ -17,6 +17,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: class f {} default: const f = 0; }
diff --git a/test/language/statements/switch/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-function-declaration.js b/test/language/statements/switch/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-function-declaration.js
index c4bbb89323..3105bd1055 100644
--- a/test/language/statements/switch/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-function-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-function-declaration.js
@@ -17,6 +17,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: class f {} default: function f() {} }
diff --git a/test/language/statements/switch/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-generator-declaration.js b/test/language/statements/switch/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-generator-declaration.js
index c2fb642b7a..2ab7f45259 100644
--- a/test/language/statements/switch/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-generator-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-generator-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: class f {} default: function* f() {} }
diff --git a/test/language/statements/switch/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-let-declaration.js b/test/language/statements/switch/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-let-declaration.js
index fc85dd6ddb..d638d275f9 100644
--- a/test/language/statements/switch/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-let-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-let-declaration.js
@@ -17,6 +17,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: class f {} default: let f; }
diff --git a/test/language/statements/switch/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-var-declaration.js b/test/language/statements/switch/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-var-declaration.js
index aff894f21f..01bdf7c2c5 100644
--- a/test/language/statements/switch/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-var-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/class-declaration-attempt-to-redeclare-with-var-declaration.js
@@ -17,6 +17,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: class f {} default: var f; }
diff --git a/test/language/statements/switch/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-async-function-declaration.js b/test/language/statements/switch/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-async-function-declaration.js
index 1bb432ff8e..a7b2b0f380 100644
--- a/test/language/statements/switch/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-async-function-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-async-function-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: const f = 0; default: async function f() {} }
diff --git a/test/language/statements/switch/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-async-generator-declaration.js b/test/language/statements/switch/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-async-generator-declaration.js
index 0d7eaef93e..a716283d59 100644
--- a/test/language/statements/switch/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-async-generator-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-async-generator-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: const f = 0; default: async function* f() {} }
diff --git a/test/language/statements/switch/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-class-declaration.js b/test/language/statements/switch/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-class-declaration.js
index 27082df884..935e2d4592 100644
--- a/test/language/statements/switch/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-class-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-class-declaration.js
@@ -17,6 +17,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: const f = 0; default: class f {}; }
diff --git a/test/language/statements/switch/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-const-declaration.js b/test/language/statements/switch/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-const-declaration.js
index df53897d5e..aa12581202 100644
--- a/test/language/statements/switch/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-const-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-const-declaration.js
@@ -17,6 +17,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: const f = 0; default: const f = 0; }
diff --git a/test/language/statements/switch/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-function-declaration.js b/test/language/statements/switch/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-function-declaration.js
index 8edbe2af09..9e5576766d 100644
--- a/test/language/statements/switch/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-function-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-function-declaration.js
@@ -17,6 +17,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: const f = 0; default: function f() {} }
diff --git a/test/language/statements/switch/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-generator-declaration.js b/test/language/statements/switch/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-generator-declaration.js
index fcfe30cb22..9afdc67ba2 100644
--- a/test/language/statements/switch/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-generator-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-generator-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: const f = 0; default: function* f() {} }
diff --git a/test/language/statements/switch/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-let-declaration.js b/test/language/statements/switch/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-let-declaration.js
index 450b24501a..f78bdc1a5f 100644
--- a/test/language/statements/switch/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-let-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-let-declaration.js
@@ -17,6 +17,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: const f = 0; default: let f; }
diff --git a/test/language/statements/switch/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-var-declaration.js b/test/language/statements/switch/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-var-declaration.js
index edaea2bb73..dd83aae74a 100644
--- a/test/language/statements/switch/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-var-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/const-declaration-attempt-to-redeclare-with-var-declaration.js
@@ -17,6 +17,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: const f = 0; default: var f; }
diff --git a/test/language/statements/switch/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-async-function-declaration.js b/test/language/statements/switch/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-async-function-declaration.js
index 3520657bcb..652d4bcf09 100644
--- a/test/language/statements/switch/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-async-function-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-async-function-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: function f() {} default: async function f() {} }
diff --git a/test/language/statements/switch/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-async-generator-declaration.js b/test/language/statements/switch/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-async-generator-declaration.js
index d0e461806a..17b1324f6d 100644
--- a/test/language/statements/switch/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-async-generator-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-async-generator-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: function f() {} default: async function* f() {} }
diff --git a/test/language/statements/switch/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-class-declaration.js b/test/language/statements/switch/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-class-declaration.js
index 5ad0d1f2ad..7ae9ee7eac 100644
--- a/test/language/statements/switch/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-class-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-class-declaration.js
@@ -17,6 +17,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: function f() {} default: class f {}; }
diff --git a/test/language/statements/switch/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-const-declaration.js b/test/language/statements/switch/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-const-declaration.js
index f7565c06b9..8dc1a364bd 100644
--- a/test/language/statements/switch/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-const-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-const-declaration.js
@@ -17,6 +17,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: function f() {} default: const f = 0; }
diff --git a/test/language/statements/switch/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-function-declaration.js b/test/language/statements/switch/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-function-declaration.js
index d9f6ec6b3e..f8a289eeb3 100644
--- a/test/language/statements/switch/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-function-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-function-declaration.js
@@ -17,6 +17,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: function f() {} default: function f() {} }
diff --git a/test/language/statements/switch/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-generator-declaration.js b/test/language/statements/switch/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-generator-declaration.js
index d4a387c8ad..63c7aa4858 100644
--- a/test/language/statements/switch/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-generator-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-generator-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: function f() {} default: function* f() {} }
diff --git a/test/language/statements/switch/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-let-declaration.js b/test/language/statements/switch/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-let-declaration.js
index 9ed0e6302d..1f086094bf 100644
--- a/test/language/statements/switch/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-let-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-let-declaration.js
@@ -17,6 +17,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: function f() {} default: let f; }
diff --git a/test/language/statements/switch/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-var-declaration.js b/test/language/statements/switch/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-var-declaration.js
index 0d3596070c..b0afd350b1 100644
--- a/test/language/statements/switch/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-var-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-var-declaration.js
@@ -17,6 +17,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: function f() {} default: var f; }
diff --git a/test/language/statements/switch/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-async-function-declaration.js b/test/language/statements/switch/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-async-function-declaration.js
index 0dc53f89f1..cdb4ecbd4c 100644
--- a/test/language/statements/switch/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-async-function-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-async-function-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: function* f() {} default: async function f() {} }
diff --git a/test/language/statements/switch/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-async-generator-declaration.js b/test/language/statements/switch/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-async-generator-declaration.js
index 6d28481d05..751268f6c1 100644
--- a/test/language/statements/switch/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-async-generator-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-async-generator-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: function* f() {} default: async function* f() {} }
diff --git a/test/language/statements/switch/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-class-declaration.js b/test/language/statements/switch/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-class-declaration.js
index b482c01bad..ffcf44ed73 100644
--- a/test/language/statements/switch/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-class-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-class-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: function* f() {} default: class f {}; }
diff --git a/test/language/statements/switch/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-const-declaration.js b/test/language/statements/switch/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-const-declaration.js
index 22b9fbd928..d7717b00e5 100644
--- a/test/language/statements/switch/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-const-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-const-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: function* f() {} default: const f = 0; }
diff --git a/test/language/statements/switch/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-function-declaration.js b/test/language/statements/switch/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-function-declaration.js
index d47954f231..9983750e45 100644
--- a/test/language/statements/switch/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-function-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-function-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: function* f() {} default: function f() {} }
diff --git a/test/language/statements/switch/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-generator-declaration.js b/test/language/statements/switch/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-generator-declaration.js
index 77c918a39e..c4ff279fe1 100644
--- a/test/language/statements/switch/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-generator-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-generator-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: function* f() {} default: function* f() {} }
diff --git a/test/language/statements/switch/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-let-declaration.js b/test/language/statements/switch/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-let-declaration.js
index 1f5865f435..e670aa5021 100644
--- a/test/language/statements/switch/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-let-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-let-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: function* f() {} default: let f; }
diff --git a/test/language/statements/switch/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-var-declaration.js b/test/language/statements/switch/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-var-declaration.js
index 321b2d0572..358defe864 100644
--- a/test/language/statements/switch/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-var-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/generator-declaration-attempt-to-redeclare-with-var-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: function* f() {} default: var f; }
diff --git a/test/language/statements/switch/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-async-function-declaration.js b/test/language/statements/switch/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-async-function-declaration.js
index 71ae5e5a17..216e63ae95 100644
--- a/test/language/statements/switch/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-async-function-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-async-function-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: let f; default: async function f() {} }
diff --git a/test/language/statements/switch/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-async-generator-declaration.js b/test/language/statements/switch/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-async-generator-declaration.js
index 682e99e684..5cc25428f5 100644
--- a/test/language/statements/switch/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-async-generator-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-async-generator-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: let f; default: async function* f() {} }
diff --git a/test/language/statements/switch/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-class-declaration.js b/test/language/statements/switch/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-class-declaration.js
index d2efade321..d42ebda22b 100644
--- a/test/language/statements/switch/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-class-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-class-declaration.js
@@ -17,6 +17,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: let f; default: class f {}; }
diff --git a/test/language/statements/switch/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-const-declaration.js b/test/language/statements/switch/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-const-declaration.js
index c3b5eafe89..2274bda835 100644
--- a/test/language/statements/switch/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-const-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-const-declaration.js
@@ -17,6 +17,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: let f; default: const f = 0; }
diff --git a/test/language/statements/switch/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-function-declaration.js b/test/language/statements/switch/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-function-declaration.js
index f9f2a389d2..e3a1b71bc2 100644
--- a/test/language/statements/switch/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-function-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-function-declaration.js
@@ -17,6 +17,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: let f; default: function f() {} }
diff --git a/test/language/statements/switch/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-generator-declaration.js b/test/language/statements/switch/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-generator-declaration.js
index 758a52baf8..b9683e04ef 100644
--- a/test/language/statements/switch/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-generator-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-generator-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: let f; default: function* f() {} }
diff --git a/test/language/statements/switch/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-let-declaration.js b/test/language/statements/switch/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-let-declaration.js
index 3bb8ea2538..832c8d33bd 100644
--- a/test/language/statements/switch/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-let-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-let-declaration.js
@@ -17,6 +17,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: let f; default: let f; }
diff --git a/test/language/statements/switch/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-var-declaration.js b/test/language/statements/switch/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-var-declaration.js
index 2618413c72..7e78aa32c9 100644
--- a/test/language/statements/switch/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-var-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/let-declaration-attempt-to-redeclare-with-var-declaration.js
@@ -17,6 +17,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: let f; default: var f; }
diff --git a/test/language/statements/switch/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-async-function-declaration.js b/test/language/statements/switch/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-async-function-declaration.js
index ec7c1d778f..d913906d1d 100644
--- a/test/language/statements/switch/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-async-function-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-async-function-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: var f; default: async function f() {} }
diff --git a/test/language/statements/switch/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-async-generator-declaration.js b/test/language/statements/switch/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-async-generator-declaration.js
index 3288662c9f..cc91b83c69 100644
--- a/test/language/statements/switch/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-async-generator-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-async-generator-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: var f; default: async function* f() {} }
diff --git a/test/language/statements/switch/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-class-declaration.js b/test/language/statements/switch/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-class-declaration.js
index b4c3d6af24..a026c4ad42 100644
--- a/test/language/statements/switch/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-class-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-class-declaration.js
@@ -17,6 +17,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: var f; default: class f {}; }
diff --git a/test/language/statements/switch/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-const-declaration.js b/test/language/statements/switch/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-const-declaration.js
index 403c36773f..0aee9f93fd 100644
--- a/test/language/statements/switch/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-const-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-const-declaration.js
@@ -17,6 +17,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: var f; default: const f = 0; }
diff --git a/test/language/statements/switch/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-function-declaration.js b/test/language/statements/switch/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-function-declaration.js
index a4224a4572..952753dd4d 100644
--- a/test/language/statements/switch/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-function-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-function-declaration.js
@@ -17,6 +17,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: var f; default: function f() {} }
diff --git a/test/language/statements/switch/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-generator-declaration.js b/test/language/statements/switch/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-generator-declaration.js
index 0da81b2d77..8e1a907080 100644
--- a/test/language/statements/switch/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-generator-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-generator-declaration.js
@@ -18,6 +18,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: var f; default: function* f() {} }
diff --git a/test/language/statements/switch/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-let-declaration.js b/test/language/statements/switch/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-let-declaration.js
index 192177f299..c346768708 100644
--- a/test/language/statements/switch/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-let-declaration.js
+++ b/test/language/statements/switch/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-let-declaration.js
@@ -17,6 +17,6 @@ info: |
 ---*/
 
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 switch (0) { case 1: var f; default: let f; }
diff --git a/test/language/statements/try/S12.14_A16_T1.js b/test/language/statements/try/S12.14_A16_T1.js
index 8d12ee6fc1..342586349b 100644
--- a/test/language/statements/try/S12.14_A16_T1.js
+++ b/test/language/statements/try/S12.14_A16_T1.js
@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 // CHECK#1
 try
diff --git a/test/language/statements/try/S12.14_A16_T10.js b/test/language/statements/try/S12.14_A16_T10.js
index cf15f5a1f2..a453bf6b7d 100644
--- a/test/language/statements/try/S12.14_A16_T10.js
+++ b/test/language/statements/try/S12.14_A16_T10.js
@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 // CHECK#1
 try{}
diff --git a/test/language/statements/try/S12.14_A16_T11.js b/test/language/statements/try/S12.14_A16_T11.js
index fca33d1528..69ba62c6b5 100644
--- a/test/language/statements/try/S12.14_A16_T11.js
+++ b/test/language/statements/try/S12.14_A16_T11.js
@@ -14,7 +14,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 // CHECK#1
 try{
diff --git a/test/language/statements/try/S12.14_A16_T12.js b/test/language/statements/try/S12.14_A16_T12.js
index b1832c2525..290a0fc5d3 100644
--- a/test/language/statements/try/S12.14_A16_T12.js
+++ b/test/language/statements/try/S12.14_A16_T12.js
@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 // CHECK#1
 try
diff --git a/test/language/statements/try/S12.14_A16_T13.js b/test/language/statements/try/S12.14_A16_T13.js
index 982b70e8aa..f15df1f29b 100644
--- a/test/language/statements/try/S12.14_A16_T13.js
+++ b/test/language/statements/try/S12.14_A16_T13.js
@@ -14,7 +14,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 // CHECK#1
 try
diff --git a/test/language/statements/try/S12.14_A16_T14.js b/test/language/statements/try/S12.14_A16_T14.js
index 1415d0b20e..ea16ebb97c 100644
--- a/test/language/statements/try/S12.14_A16_T14.js
+++ b/test/language/statements/try/S12.14_A16_T14.js
@@ -12,9 +12,9 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 // CHECK#1
-try(e1){	
+try(e1){
 }
 catch(e){}
diff --git a/test/language/statements/try/S12.14_A16_T15.js b/test/language/statements/try/S12.14_A16_T15.js
index a946dc57ea..873722816c 100644
--- a/test/language/statements/try/S12.14_A16_T15.js
+++ b/test/language/statements/try/S12.14_A16_T15.js
@@ -14,9 +14,9 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 // CHECK#1
-try{	
+try{
 }
 finally(e){}
diff --git a/test/language/statements/try/S12.14_A16_T2.js b/test/language/statements/try/S12.14_A16_T2.js
index c4dad886e7..fcb7b3c9cd 100644
--- a/test/language/statements/try/S12.14_A16_T2.js
+++ b/test/language/statements/try/S12.14_A16_T2.js
@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 // CHECK#1
 catch
diff --git a/test/language/statements/try/S12.14_A16_T3.js b/test/language/statements/try/S12.14_A16_T3.js
index 596dffe0ef..def9e18366 100644
--- a/test/language/statements/try/S12.14_A16_T3.js
+++ b/test/language/statements/try/S12.14_A16_T3.js
@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 // CHECK#1
 finally
diff --git a/test/language/statements/try/S12.14_A16_T5.js b/test/language/statements/try/S12.14_A16_T5.js
index ad880284c8..99a0399384 100644
--- a/test/language/statements/try/S12.14_A16_T5.js
+++ b/test/language/statements/try/S12.14_A16_T5.js
@@ -14,7 +14,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 // CHECK#1
 try{}
diff --git a/test/language/statements/try/S12.14_A16_T6.js b/test/language/statements/try/S12.14_A16_T6.js
index e5a6842920..3ede65c0c5 100644
--- a/test/language/statements/try/S12.14_A16_T6.js
+++ b/test/language/statements/try/S12.14_A16_T6.js
@@ -14,7 +14,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 // CHECK#1
 try{
diff --git a/test/language/statements/try/S12.14_A16_T7.js b/test/language/statements/try/S12.14_A16_T7.js
index 78b02fd9b4..ef9692c22f 100644
--- a/test/language/statements/try/S12.14_A16_T7.js
+++ b/test/language/statements/try/S12.14_A16_T7.js
@@ -14,7 +14,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 // CHECK#1
 try{}
diff --git a/test/language/statements/try/S12.14_A16_T8.js b/test/language/statements/try/S12.14_A16_T8.js
index 3db4eb49dc..5956c5626c 100644
--- a/test/language/statements/try/S12.14_A16_T8.js
+++ b/test/language/statements/try/S12.14_A16_T8.js
@@ -14,7 +14,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 // CHECK#1
 try{}
diff --git a/test/language/statements/try/S12.14_A16_T9.js b/test/language/statements/try/S12.14_A16_T9.js
index 7182aae75e..542732f6f2 100644
--- a/test/language/statements/try/S12.14_A16_T9.js
+++ b/test/language/statements/try/S12.14_A16_T9.js
@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 // CHECK#1
 catch(){}
diff --git a/test/language/statements/try/catch-parameter-boundnames-restriction-arguments-negative-early.js b/test/language/statements/try/catch-parameter-boundnames-restriction-arguments-negative-early.js
index 4e62feb33c..f1a03f173e 100644
--- a/test/language/statements/try/catch-parameter-boundnames-restriction-arguments-negative-early.js
+++ b/test/language/statements/try/catch-parameter-boundnames-restriction-arguments-negative-early.js
@@ -11,6 +11,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 try { } catch (arguments) { }
diff --git a/test/language/statements/try/catch-parameter-boundnames-restriction-eval-negative-early.js b/test/language/statements/try/catch-parameter-boundnames-restriction-eval-negative-early.js
index 11547f2e9e..269dabc483 100644
--- a/test/language/statements/try/catch-parameter-boundnames-restriction-eval-negative-early.js
+++ b/test/language/statements/try/catch-parameter-boundnames-restriction-eval-negative-early.js
@@ -11,6 +11,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 try { } catch (eval) { }
diff --git a/test/language/statements/try/dstr-ary-ptrn-rest-init-ary.js b/test/language/statements/try/dstr-ary-ptrn-rest-init-ary.js
index 46421ef437..4cfc813f16 100644
--- a/test/language/statements/try/dstr-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/try/dstr-ary-ptrn-rest-init-ary.js
@@ -24,7 +24,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var ranCatch = false;
 
diff --git a/test/language/statements/try/dstr-ary-ptrn-rest-init-id.js b/test/language/statements/try/dstr-ary-ptrn-rest-init-id.js
index bc54df1abd..4063ae3012 100644
--- a/test/language/statements/try/dstr-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/try/dstr-ary-ptrn-rest-init-id.js
@@ -24,7 +24,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var ranCatch = false;
 
diff --git a/test/language/statements/try/dstr-ary-ptrn-rest-init-obj.js b/test/language/statements/try/dstr-ary-ptrn-rest-init-obj.js
index 774096fa6b..66193ce437 100644
--- a/test/language/statements/try/dstr-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/try/dstr-ary-ptrn-rest-init-obj.js
@@ -24,7 +24,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var ranCatch = false;
 
diff --git a/test/language/statements/try/dstr-ary-ptrn-rest-not-final-ary.js b/test/language/statements/try/dstr-ary-ptrn-rest-not-final-ary.js
index 053bdb075e..35b2b277ae 100644
--- a/test/language/statements/try/dstr-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/try/dstr-ary-ptrn-rest-not-final-ary.js
@@ -24,7 +24,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var ranCatch = false;
 
diff --git a/test/language/statements/try/dstr-ary-ptrn-rest-not-final-id.js b/test/language/statements/try/dstr-ary-ptrn-rest-not-final-id.js
index 8c601a4448..672b3be642 100644
--- a/test/language/statements/try/dstr-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/try/dstr-ary-ptrn-rest-not-final-id.js
@@ -24,7 +24,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var ranCatch = false;
 
diff --git a/test/language/statements/try/dstr-ary-ptrn-rest-not-final-obj.js b/test/language/statements/try/dstr-ary-ptrn-rest-not-final-obj.js
index 46c5119a53..cdfdf56d4e 100644
--- a/test/language/statements/try/dstr-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/try/dstr-ary-ptrn-rest-not-final-obj.js
@@ -24,7 +24,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var ranCatch = false;
 
diff --git a/test/language/statements/try/early-catch-duplicates.js b/test/language/statements/try/early-catch-duplicates.js
index e34d214804..49a97f8d7f 100644
--- a/test/language/statements/try/early-catch-duplicates.js
+++ b/test/language/statements/try/early-catch-duplicates.js
@@ -11,6 +11,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 try { } catch ([x, x]) {}
diff --git a/test/language/statements/try/early-catch-function.js b/test/language/statements/try/early-catch-function.js
index f51c16701a..75acef33e6 100644
--- a/test/language/statements/try/early-catch-function.js
+++ b/test/language/statements/try/early-catch-function.js
@@ -15,7 +15,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 function f() {
     try {
diff --git a/test/language/statements/try/early-catch-lex.js b/test/language/statements/try/early-catch-lex.js
index 68e7e69212..49c9122e44 100644
--- a/test/language/statements/try/early-catch-lex.js
+++ b/test/language/statements/try/early-catch-lex.js
@@ -12,6 +12,6 @@ negative:
 features: [let]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 try { } catch (x) { let x; }
diff --git a/test/language/statements/try/early-catch-var.js b/test/language/statements/try/early-catch-var.js
index 45e3feb22a..925d92af9c 100644
--- a/test/language/statements/try/early-catch-var.js
+++ b/test/language/statements/try/early-catch-var.js
@@ -16,6 +16,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 try { } catch (x) { for (var x of []) {} }
diff --git a/test/language/statements/try/optional-catch-binding-parens.js b/test/language/statements/try/optional-catch-binding-parens.js
index 5733210d13..2ed384cc1d 100644
--- a/test/language/statements/try/optional-catch-binding-parens.js
+++ b/test/language/statements/try/optional-catch-binding-parens.js
@@ -15,7 +15,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 try {} catch () {}
 
diff --git a/test/language/statements/variable/12.2.1-1gs.js b/test/language/statements/variable/12.2.1-1gs.js
index 99872ad001..7a52ea627d 100644
--- a/test/language/statements/variable/12.2.1-1gs.js
+++ b/test/language/statements/variable/12.2.1-1gs.js
@@ -12,6 +12,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 for (var eval in arrObj) { }
diff --git a/test/language/statements/variable/12.2.1-4gs.js b/test/language/statements/variable/12.2.1-4gs.js
index 771ed8f87b..742814a6b3 100644
--- a/test/language/statements/variable/12.2.1-4gs.js
+++ b/test/language/statements/variable/12.2.1-4gs.js
@@ -12,6 +12,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var arguments;
diff --git a/test/language/statements/variable/S12.2_A8_T1.js b/test/language/statements/variable/S12.2_A8_T1.js
index 2a7624e7fc..8e0c6f1086 100644
--- a/test/language/statements/variable/S12.2_A8_T1.js
+++ b/test/language/statements/variable/S12.2_A8_T1.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //////////////////////////////////////////////////////////////////////////////
 //CHECK#1
diff --git a/test/language/statements/variable/S12.2_A8_T2.js b/test/language/statements/variable/S12.2_A8_T2.js
index e8a92f4c89..4c127b5a1a 100644
--- a/test/language/statements/variable/S12.2_A8_T2.js
+++ b/test/language/statements/variable/S12.2_A8_T2.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //////////////////////////////////////////////////////////////////////////////
 //CHECK#1
diff --git a/test/language/statements/variable/S12.2_A8_T3.js b/test/language/statements/variable/S12.2_A8_T3.js
index c94afa745f..04e9cfc3d1 100644
--- a/test/language/statements/variable/S12.2_A8_T3.js
+++ b/test/language/statements/variable/S12.2_A8_T3.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //////////////////////////////////////////////////////////////////////////////
 //CHECK#1
diff --git a/test/language/statements/variable/S12.2_A8_T4.js b/test/language/statements/variable/S12.2_A8_T4.js
index 158b90dc67..676a5cd26c 100644
--- a/test/language/statements/variable/S12.2_A8_T4.js
+++ b/test/language/statements/variable/S12.2_A8_T4.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //////////////////////////////////////////////////////////////////////////////
 //CHECK#1
diff --git a/test/language/statements/variable/S12.2_A8_T5.js b/test/language/statements/variable/S12.2_A8_T5.js
index 492753f719..97af49cf63 100644
--- a/test/language/statements/variable/S12.2_A8_T5.js
+++ b/test/language/statements/variable/S12.2_A8_T5.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //////////////////////////////////////////////////////////////////////////////
 //CHECK#1
diff --git a/test/language/statements/variable/S12.2_A8_T6.js b/test/language/statements/variable/S12.2_A8_T6.js
index e010b765bb..ff29f7e393 100644
--- a/test/language/statements/variable/S12.2_A8_T6.js
+++ b/test/language/statements/variable/S12.2_A8_T6.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //////////////////////////////////////////////////////////////////////////////
 //CHECK#1
diff --git a/test/language/statements/variable/S12.2_A8_T7.js b/test/language/statements/variable/S12.2_A8_T7.js
index eca8837ac0..8386a0220e 100644
--- a/test/language/statements/variable/S12.2_A8_T7.js
+++ b/test/language/statements/variable/S12.2_A8_T7.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //////////////////////////////////////////////////////////////////////////////
 //CHECK#1
diff --git a/test/language/statements/variable/S12.2_A8_T8.js b/test/language/statements/variable/S12.2_A8_T8.js
index 2007fc0a06..274bc32b94 100644
--- a/test/language/statements/variable/S12.2_A8_T8.js
+++ b/test/language/statements/variable/S12.2_A8_T8.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 __arr = [];
 
diff --git a/test/language/statements/variable/dstr-ary-ptrn-rest-init-ary.js b/test/language/statements/variable/dstr-ary-ptrn-rest-init-ary.js
index 81e4ff272f..d17626566b 100644
--- a/test/language/statements/variable/dstr-ary-ptrn-rest-init-ary.js
+++ b/test/language/statements/variable/dstr-ary-ptrn-rest-init-ary.js
@@ -25,7 +25,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var [...[ x ] = []] = [];
 
diff --git a/test/language/statements/variable/dstr-ary-ptrn-rest-init-id.js b/test/language/statements/variable/dstr-ary-ptrn-rest-init-id.js
index d942dac796..787406c365 100644
--- a/test/language/statements/variable/dstr-ary-ptrn-rest-init-id.js
+++ b/test/language/statements/variable/dstr-ary-ptrn-rest-init-id.js
@@ -25,7 +25,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var [...x = []] = [];
 
diff --git a/test/language/statements/variable/dstr-ary-ptrn-rest-init-obj.js b/test/language/statements/variable/dstr-ary-ptrn-rest-init-obj.js
index 436f7739f7..efa6589d89 100644
--- a/test/language/statements/variable/dstr-ary-ptrn-rest-init-obj.js
+++ b/test/language/statements/variable/dstr-ary-ptrn-rest-init-obj.js
@@ -25,7 +25,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var [...{ x } = []] = [];
 
diff --git a/test/language/statements/variable/dstr-ary-ptrn-rest-not-final-ary.js b/test/language/statements/variable/dstr-ary-ptrn-rest-not-final-ary.js
index 4f6858d470..706ce8b472 100644
--- a/test/language/statements/variable/dstr-ary-ptrn-rest-not-final-ary.js
+++ b/test/language/statements/variable/dstr-ary-ptrn-rest-not-final-ary.js
@@ -25,7 +25,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var [...[x], y] = [1, 2, 3];
 
diff --git a/test/language/statements/variable/dstr-ary-ptrn-rest-not-final-id.js b/test/language/statements/variable/dstr-ary-ptrn-rest-not-final-id.js
index 8615648eb6..e8b7fd6d93 100644
--- a/test/language/statements/variable/dstr-ary-ptrn-rest-not-final-id.js
+++ b/test/language/statements/variable/dstr-ary-ptrn-rest-not-final-id.js
@@ -25,7 +25,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var [...x, y] = [1, 2, 3];
 
diff --git a/test/language/statements/variable/dstr-ary-ptrn-rest-not-final-obj.js b/test/language/statements/variable/dstr-ary-ptrn-rest-not-final-obj.js
index d5b73331fc..db0b0b4b9e 100644
--- a/test/language/statements/variable/dstr-ary-ptrn-rest-not-final-obj.js
+++ b/test/language/statements/variable/dstr-ary-ptrn-rest-not-final-obj.js
@@ -25,7 +25,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var [...{ x }, y] = [1, 2, 3];
 
diff --git a/test/language/statements/variable/id-arguments-strict.js b/test/language/statements/variable/id-arguments-strict.js
index fc61d0c7a1..034877b3d9 100644
--- a/test/language/statements/variable/id-arguments-strict.js
+++ b/test/language/statements/variable/id-arguments-strict.js
@@ -11,6 +11,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var arguments;
diff --git a/test/language/statements/variable/id-eval-strict.js b/test/language/statements/variable/id-eval-strict.js
index 97bfcd4964..1f56a8014c 100644
--- a/test/language/statements/variable/id-eval-strict.js
+++ b/test/language/statements/variable/id-eval-strict.js
@@ -11,6 +11,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var eval;
diff --git a/test/language/statements/while/S12.6.2_A15.js b/test/language/statements/while/S12.6.2_A15.js
index b2283b04a6..51304a0840 100644
--- a/test/language/statements/while/S12.6.2_A15.js
+++ b/test/language/statements/while/S12.6.2_A15.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //////////////////////////////////////////////////////////////////////////////
 //CHECK#
diff --git a/test/language/statements/while/S12.6.2_A6_T1.js b/test/language/statements/while/S12.6.2_A6_T1.js
index 1da2c6dfe5..ec1e976fb2 100644
--- a/test/language/statements/while/S12.6.2_A6_T1.js
+++ b/test/language/statements/while/S12.6.2_A6_T1.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //////////////////////////////////////////////////////////////////////////////
 //CHECK#1
diff --git a/test/language/statements/while/S12.6.2_A6_T2.js b/test/language/statements/while/S12.6.2_A6_T2.js
index 054185da6d..26345f3c38 100644
--- a/test/language/statements/while/S12.6.2_A6_T2.js
+++ b/test/language/statements/while/S12.6.2_A6_T2.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //////////////////////////////////////////////////////////////////////////////
 //CHECK#1
diff --git a/test/language/statements/while/S12.6.2_A6_T3.js b/test/language/statements/while/S12.6.2_A6_T3.js
index a45dee5a9e..d66374b8d0 100644
--- a/test/language/statements/while/S12.6.2_A6_T3.js
+++ b/test/language/statements/while/S12.6.2_A6_T3.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //////////////////////////////////////////////////////////////////////////////
 //CHECK#1
diff --git a/test/language/statements/while/S12.6.2_A6_T4.js b/test/language/statements/while/S12.6.2_A6_T4.js
index 7f0c593dbf..3a38da2722 100644
--- a/test/language/statements/while/S12.6.2_A6_T4.js
+++ b/test/language/statements/while/S12.6.2_A6_T4.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //////////////////////////////////////////////////////////////////////////////
 //CHECK#1
diff --git a/test/language/statements/while/S12.6.2_A6_T5.js b/test/language/statements/while/S12.6.2_A6_T5.js
index eb0f36b451..7de2cc3602 100644
--- a/test/language/statements/while/S12.6.2_A6_T5.js
+++ b/test/language/statements/while/S12.6.2_A6_T5.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //////////////////////////////////////////////////////////////////////////////
 //CHECK#1
diff --git a/test/language/statements/while/S12.6.2_A6_T6.js b/test/language/statements/while/S12.6.2_A6_T6.js
index 7c6ec7e31a..6bf7d5efd5 100644
--- a/test/language/statements/while/S12.6.2_A6_T6.js
+++ b/test/language/statements/while/S12.6.2_A6_T6.js
@@ -10,7 +10,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 //////////////////////////////////////////////////////////////////////////////
 //CHECK#1
diff --git a/test/language/statements/while/decl-async-fun.js b/test/language/statements/while/decl-async-fun.js
index 061b6d8c2c..323166de60 100644
--- a/test/language/statements/while/decl-async-fun.js
+++ b/test/language/statements/while/decl-async-fun.js
@@ -15,6 +15,6 @@ negative:
 features: [async-functions]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 while (false) async function f() {}
diff --git a/test/language/statements/while/decl-async-gen.js b/test/language/statements/while/decl-async-gen.js
index 7cf744aa1e..532d28f7e9 100644
--- a/test/language/statements/while/decl-async-gen.js
+++ b/test/language/statements/while/decl-async-gen.js
@@ -15,6 +15,6 @@ negative:
 features: [async-iteration]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 while (false) async function* g() {}
diff --git a/test/language/statements/while/decl-cls.js b/test/language/statements/while/decl-cls.js
index 937638a391..55b04036ae 100644
--- a/test/language/statements/while/decl-cls.js
+++ b/test/language/statements/while/decl-cls.js
@@ -9,6 +9,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 while (false) class C {}
diff --git a/test/language/statements/while/decl-const.js b/test/language/statements/while/decl-const.js
index e037a2047a..75919d7c99 100644
--- a/test/language/statements/while/decl-const.js
+++ b/test/language/statements/while/decl-const.js
@@ -9,6 +9,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 while (false) const x = null;
diff --git a/test/language/statements/while/decl-fun.js b/test/language/statements/while/decl-fun.js
index 5328a06e71..5c5a7c38ef 100644
--- a/test/language/statements/while/decl-fun.js
+++ b/test/language/statements/while/decl-fun.js
@@ -9,6 +9,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 while (false) function f() {}
diff --git a/test/language/statements/while/decl-gen.js b/test/language/statements/while/decl-gen.js
index 7797a34c43..58bce61472 100644
--- a/test/language/statements/while/decl-gen.js
+++ b/test/language/statements/while/decl-gen.js
@@ -10,6 +10,6 @@ negative:
 features: [generators]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 while (false) function* g() {}
diff --git a/test/language/statements/while/decl-let.js b/test/language/statements/while/decl-let.js
index 61029fd4f5..536ec80ff5 100644
--- a/test/language/statements/while/decl-let.js
+++ b/test/language/statements/while/decl-let.js
@@ -9,6 +9,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 while (false) let x;
diff --git a/test/language/statements/while/labelled-fn-stmt.js b/test/language/statements/while/labelled-fn-stmt.js
index 7ec0c959a8..8f919fa97d 100644
--- a/test/language/statements/while/labelled-fn-stmt.js
+++ b/test/language/statements/while/labelled-fn-stmt.js
@@ -13,6 +13,6 @@ info: |
     of the language mode.
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 while (false) label1: label2: function f() {}
diff --git a/test/language/statements/while/let-array-with-newline.js b/test/language/statements/while/let-array-with-newline.js
index fd480a8a27..693622b5e1 100644
--- a/test/language/statements/while/let-array-with-newline.js
+++ b/test/language/statements/while/let-array-with-newline.js
@@ -15,7 +15,7 @@ negative:
 flags: [noStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 while (false) let
 [a] = 0;
diff --git a/test/language/statements/with/12.10.1-11gs.js b/test/language/statements/with/12.10.1-11gs.js
index 1edd1f0c5e..8f8ea3bd0f 100644
--- a/test/language/statements/with/12.10.1-11gs.js
+++ b/test/language/statements/with/12.10.1-11gs.js
@@ -10,6 +10,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 with ({}) { }
diff --git a/test/language/statements/with/decl-async-fun.js b/test/language/statements/with/decl-async-fun.js
index 4a743c603b..5c16534556 100644
--- a/test/language/statements/with/decl-async-fun.js
+++ b/test/language/statements/with/decl-async-fun.js
@@ -16,6 +16,6 @@ features: [async-functions]
 flags: [noStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 with ({}) async function f() {}
diff --git a/test/language/statements/with/decl-async-gen.js b/test/language/statements/with/decl-async-gen.js
index fc01eba530..1b68a99138 100644
--- a/test/language/statements/with/decl-async-gen.js
+++ b/test/language/statements/with/decl-async-gen.js
@@ -16,6 +16,6 @@ features: [async-iteration]
 flags: [noStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 with ({}) async function* g() {}
diff --git a/test/language/statements/with/decl-cls.js b/test/language/statements/with/decl-cls.js
index 4f07512867..1cfcb15ccb 100644
--- a/test/language/statements/with/decl-cls.js
+++ b/test/language/statements/with/decl-cls.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 with ({}) class C {}
diff --git a/test/language/statements/with/decl-const.js b/test/language/statements/with/decl-const.js
index e8ea885229..fbbd19fe16 100644
--- a/test/language/statements/with/decl-const.js
+++ b/test/language/statements/with/decl-const.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 with ({}) const x = null;
diff --git a/test/language/statements/with/decl-fun.js b/test/language/statements/with/decl-fun.js
index 09ccab28f9..00ceba0da3 100644
--- a/test/language/statements/with/decl-fun.js
+++ b/test/language/statements/with/decl-fun.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 with ({}) function f() {}
diff --git a/test/language/statements/with/decl-gen.js b/test/language/statements/with/decl-gen.js
index 649dea21fe..04e73a58bd 100644
--- a/test/language/statements/with/decl-gen.js
+++ b/test/language/statements/with/decl-gen.js
@@ -11,6 +11,6 @@ negative:
 features: [generators]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 with ({}) function* g() {}
diff --git a/test/language/statements/with/decl-let.js b/test/language/statements/with/decl-let.js
index 6af87498dd..63d83aa8bc 100644
--- a/test/language/statements/with/decl-let.js
+++ b/test/language/statements/with/decl-let.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 with ({}) let x;
diff --git a/test/language/statements/with/labelled-fn-stmt.js b/test/language/statements/with/labelled-fn-stmt.js
index de517babee..0b24a71fe6 100644
--- a/test/language/statements/with/labelled-fn-stmt.js
+++ b/test/language/statements/with/labelled-fn-stmt.js
@@ -21,6 +21,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 with ({}) label1: label2: function test262() {}
diff --git a/test/language/statements/with/let-array-with-newline.js b/test/language/statements/with/let-array-with-newline.js
index 9629f50ff1..c0142dd27c 100644
--- a/test/language/statements/with/let-array-with-newline.js
+++ b/test/language/statements/with/let-array-with-newline.js
@@ -15,7 +15,7 @@ negative:
 flags: [noStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 // Wrapped in an if-statement to avoid reference errors at runtime.
 if (false) {
diff --git a/test/language/types/boolean/S8.3_A2.1.js b/test/language/types/boolean/S8.3_A2.1.js
index 1e37e5eaa7..f021e8ddf4 100644
--- a/test/language/types/boolean/S8.3_A2.1.js
+++ b/test/language/types/boolean/S8.3_A2.1.js
@@ -10,6 +10,6 @@ negative:
   type: ReferenceError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 true = 1;
diff --git a/test/language/types/boolean/S8.3_A2.2.js b/test/language/types/boolean/S8.3_A2.2.js
index 8a5228eacd..e96248e67f 100644
--- a/test/language/types/boolean/S8.3_A2.2.js
+++ b/test/language/types/boolean/S8.3_A2.2.js
@@ -10,6 +10,6 @@ negative:
   type: ReferenceError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 false = 0;
diff --git a/test/language/types/null/S8.2_A2.js b/test/language/types/null/S8.2_A2.js
index 96e022f2da..9062d3a6be 100644
--- a/test/language/types/null/S8.2_A2.js
+++ b/test/language/types/null/S8.2_A2.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var null;
diff --git a/test/language/types/reference/S8.7.2_A1_T1.js b/test/language/types/reference/S8.7.2_A1_T1.js
index be8aef0584..ac71a0852d 100644
--- a/test/language/types/reference/S8.7.2_A1_T1.js
+++ b/test/language/types/reference/S8.7.2_A1_T1.js
@@ -10,6 +10,6 @@ negative:
   type: ReferenceError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 'litera'=1;
diff --git a/test/language/types/reference/S8.7.2_A1_T2.js b/test/language/types/reference/S8.7.2_A1_T2.js
index e69339e02d..b6c026f665 100644
--- a/test/language/types/reference/S8.7.2_A1_T2.js
+++ b/test/language/types/reference/S8.7.2_A1_T2.js
@@ -10,6 +10,6 @@ negative:
   type: ReferenceError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 1=1;
diff --git a/test/language/types/string/S8.4_A13_T1.js b/test/language/types/string/S8.4_A13_T1.js
index de2f430cee..d2b9d12bdd 100644
--- a/test/language/types/string/S8.4_A13_T1.js
+++ b/test/language/types/string/S8.4_A13_T1.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var str = ''';
diff --git a/test/language/types/string/S8.4_A13_T2.js b/test/language/types/string/S8.4_A13_T2.js
index 33dd77752d..a74ac0dbd8 100644
--- a/test/language/types/string/S8.4_A13_T2.js
+++ b/test/language/types/string/S8.4_A13_T2.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var str = ';
diff --git a/test/language/types/string/S8.4_A13_T3.js b/test/language/types/string/S8.4_A13_T3.js
index b31ca0b982..2d28b67958 100644
--- a/test/language/types/string/S8.4_A13_T3.js
+++ b/test/language/types/string/S8.4_A13_T3.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var str = '''';
diff --git a/test/language/types/string/S8.4_A14_T1.js b/test/language/types/string/S8.4_A14_T1.js
index 07f5f75b8c..48119b7d30 100644
--- a/test/language/types/string/S8.4_A14_T1.js
+++ b/test/language/types/string/S8.4_A14_T1.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var str = ";
diff --git a/test/language/types/string/S8.4_A14_T2.js b/test/language/types/string/S8.4_A14_T2.js
index a913025102..bee237019e 100644
--- a/test/language/types/string/S8.4_A14_T2.js
+++ b/test/language/types/string/S8.4_A14_T2.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var str = """;
diff --git a/test/language/types/string/S8.4_A14_T3.js b/test/language/types/string/S8.4_A14_T3.js
index 6e17af2f5a..89ce9642b1 100644
--- a/test/language/types/string/S8.4_A14_T3.js
+++ b/test/language/types/string/S8.4_A14_T3.js
@@ -10,6 +10,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var str = """";
diff --git a/test/language/white-space/S7.2_A5_T1.js b/test/language/white-space/S7.2_A5_T1.js
index e74bb78898..dbcae38453 100644
--- a/test/language/white-space/S7.2_A5_T1.js
+++ b/test/language/white-space/S7.2_A5_T1.js
@@ -12,6 +12,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var\u0009x;
diff --git a/test/language/white-space/S7.2_A5_T2.js b/test/language/white-space/S7.2_A5_T2.js
index 745f35fe3c..31bcaa032d 100644
--- a/test/language/white-space/S7.2_A5_T2.js
+++ b/test/language/white-space/S7.2_A5_T2.js
@@ -12,6 +12,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var\u000Bx;
diff --git a/test/language/white-space/S7.2_A5_T3.js b/test/language/white-space/S7.2_A5_T3.js
index 61b0d98d64..2de8bc7828 100644
--- a/test/language/white-space/S7.2_A5_T3.js
+++ b/test/language/white-space/S7.2_A5_T3.js
@@ -12,6 +12,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var\u000Cx;
diff --git a/test/language/white-space/S7.2_A5_T4.js b/test/language/white-space/S7.2_A5_T4.js
index 6e86cd4d8f..1969354f8e 100644
--- a/test/language/white-space/S7.2_A5_T4.js
+++ b/test/language/white-space/S7.2_A5_T4.js
@@ -12,6 +12,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var\u0020x;
diff --git a/test/language/white-space/S7.2_A5_T5.js b/test/language/white-space/S7.2_A5_T5.js
index 503a229784..fe924dbf4c 100644
--- a/test/language/white-space/S7.2_A5_T5.js
+++ b/test/language/white-space/S7.2_A5_T5.js
@@ -12,6 +12,6 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 var\u00A0x;
diff --git a/test/language/white-space/mongolian-vowel-separator.js b/test/language/white-space/mongolian-vowel-separator.js
index 8870ae6db2..0e0a34e6d4 100644
--- a/test/language/white-space/mongolian-vowel-separator.js
+++ b/test/language/white-space/mongolian-vowel-separator.js
@@ -26,7 +26,7 @@ negative:
 features: [u180e]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 // U+180E between "var" and "foo"; UTF8(0x180E) = 0xE1 0xA0 0x8E
 vará Žfoo;
diff --git a/tools/lint/lib/checks/negative.py b/tools/lint/lib/checks/negative.py
index 666cde76e7..de0f149c6e 100644
--- a/tools/lint/lib/checks/negative.py
+++ b/tools/lint/lib/checks/negative.py
@@ -2,7 +2,7 @@ import re
 from ..check import Check
 
 _THROW_STMT = re.compile(
-      r'^throw "Test262: This statement should not be evaluated\.";$',
+      r'^failIfCodeGetsEvaluated\(\);$',
       re.MULTILINE)
 
 class CheckNegative(Check):
diff --git a/tools/lint/test/fixtures/negative_valid_parse.js b/tools/lint/test/fixtures/negative_valid_parse.js
index f3fd0a55f2..0d89d701a3 100644
--- a/tools/lint/test/fixtures/negative_valid_parse.js
+++ b/tools/lint/test/fixtures/negative_valid_parse.js
@@ -9,6 +9,6 @@ negative:
   phase: parse
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 !!!
diff --git a/tools/lint/test/fixtures/negative_valid_resolution.js b/tools/lint/test/fixtures/negative_valid_resolution.js
index b3068c7feb..bbe51fd88f 100644
--- a/tools/lint/test/fixtures/negative_valid_resolution.js
+++ b/tools/lint/test/fixtures/negative_valid_resolution.js
@@ -10,6 +10,6 @@ negative:
   phase: resolution
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+failIfCodeGetsEvaluated();
 
 import 'non-existent-module.js';
-- 
GitLab