diff --git a/test/language/expressions/class/fields-asi-1.js b/test/language/expressions/class/elements/fields-asi-1.js similarity index 100% rename from test/language/expressions/class/fields-asi-1.js rename to test/language/expressions/class/elements/fields-asi-1.js diff --git a/test/language/expressions/class/fields-asi-2.js b/test/language/expressions/class/elements/fields-asi-2.js similarity index 100% rename from test/language/expressions/class/fields-asi-2.js rename to test/language/expressions/class/elements/fields-asi-2.js diff --git a/test/language/expressions/class/fields-asi-3.js b/test/language/expressions/class/elements/fields-asi-3.js similarity index 100% rename from test/language/expressions/class/fields-asi-3.js rename to test/language/expressions/class/elements/fields-asi-3.js diff --git a/test/language/expressions/class/fields-asi-4.js b/test/language/expressions/class/elements/fields-asi-4.js similarity index 100% rename from test/language/expressions/class/fields-asi-4.js rename to test/language/expressions/class/elements/fields-asi-4.js diff --git a/test/language/expressions/class/fields-asi-5.js b/test/language/expressions/class/elements/fields-asi-5.js similarity index 100% rename from test/language/expressions/class/fields-asi-5.js rename to test/language/expressions/class/elements/fields-asi-5.js diff --git a/test/language/expressions/class/fields-computed-name-static-propname-prototype.js b/test/language/expressions/class/elements/fields-computed-name-static-propname-prototype.js similarity index 100% rename from test/language/expressions/class/fields-computed-name-static-propname-prototype.js rename to test/language/expressions/class/elements/fields-computed-name-static-propname-prototype.js diff --git a/test/language/expressions/class/fields-duplicate-privatenames.js b/test/language/expressions/class/elements/fields-duplicate-privatenames.js similarity index 100% rename from test/language/expressions/class/fields-duplicate-privatenames.js rename to test/language/expressions/class/elements/fields-duplicate-privatenames.js diff --git a/test/language/expressions/class/fields-literal-name-propname-constructor.js b/test/language/expressions/class/elements/fields-literal-name-propname-constructor.js similarity index 100% rename from test/language/expressions/class/fields-literal-name-propname-constructor.js rename to test/language/expressions/class/elements/fields-literal-name-propname-constructor.js diff --git a/test/language/expressions/class/fields-literal-name-static-propname-constructor.js b/test/language/expressions/class/elements/fields-literal-name-static-propname-constructor.js similarity index 100% rename from test/language/expressions/class/fields-literal-name-static-propname-constructor.js rename to test/language/expressions/class/elements/fields-literal-name-static-propname-constructor.js diff --git a/test/language/expressions/class/fields-literal-name-static-propname-prototype.js b/test/language/expressions/class/elements/fields-literal-name-static-propname-prototype.js similarity index 100% rename from test/language/expressions/class/fields-literal-name-static-propname-prototype.js rename to test/language/expressions/class/elements/fields-literal-name-static-propname-prototype.js diff --git a/test/language/expressions/class/fields-multiple-definitions-static-private-methods-proxy.js b/test/language/expressions/class/elements/fields-multiple-definitions-static-private-methods-proxy.js similarity index 100% rename from test/language/expressions/class/fields-multiple-definitions-static-private-methods-proxy.js rename to test/language/expressions/class/elements/fields-multiple-definitions-static-private-methods-proxy.js diff --git a/test/language/expressions/class/fields-run-once-on-double-super.js b/test/language/expressions/class/elements/fields-run-once-on-double-super.js similarity index 100% rename from test/language/expressions/class/fields-run-once-on-double-super.js rename to test/language/expressions/class/elements/fields-run-once-on-double-super.js diff --git a/test/language/expressions/class/fields-string-name-propname-constructor.js b/test/language/expressions/class/elements/fields-string-name-propname-constructor.js similarity index 100% rename from test/language/expressions/class/fields-string-name-propname-constructor.js rename to test/language/expressions/class/elements/fields-string-name-propname-constructor.js diff --git a/test/language/expressions/class/fields-string-name-static-propname-constructor.js b/test/language/expressions/class/elements/fields-string-name-static-propname-constructor.js similarity index 100% rename from test/language/expressions/class/fields-string-name-static-propname-constructor.js rename to test/language/expressions/class/elements/fields-string-name-static-propname-constructor.js diff --git a/test/language/expressions/class/fields-string-name-static-propname-prototype.js b/test/language/expressions/class/elements/fields-string-name-static-propname-prototype.js similarity index 100% rename from test/language/expressions/class/fields-string-name-static-propname-prototype.js rename to test/language/expressions/class/elements/fields-string-name-static-propname-prototype.js diff --git a/test/language/expressions/class/private-fields-proxy-default-handler-throws.js b/test/language/expressions/class/elements/private-fields-proxy-default-handler-throws.js similarity index 100% rename from test/language/expressions/class/private-fields-proxy-default-handler-throws.js rename to test/language/expressions/class/elements/private-fields-proxy-default-handler-throws.js diff --git a/test/language/expressions/class/static-private-fields-proxy-default-handler-throws.js b/test/language/expressions/class/elements/static-private-fields-proxy-default-handler-throws.js similarity index 100% rename from test/language/expressions/class/static-private-fields-proxy-default-handler-throws.js rename to test/language/expressions/class/elements/static-private-fields-proxy-default-handler-throws.js diff --git a/test/language/expressions/class/static-private-methods-proxy-default-handler-throws.js b/test/language/expressions/class/elements/static-private-methods-proxy-default-handler-throws.js similarity index 100% rename from test/language/expressions/class/static-private-methods-proxy-default-handler-throws.js rename to test/language/expressions/class/elements/static-private-methods-proxy-default-handler-throws.js diff --git a/test/language/statements/class/fielddefinition-initializer-abrupt-completion.js b/test/language/statements/class/elements/fielddefinition-initializer-abrupt-completion.js similarity index 100% rename from test/language/statements/class/fielddefinition-initializer-abrupt-completion.js rename to test/language/statements/class/elements/fielddefinition-initializer-abrupt-completion.js diff --git a/test/language/statements/class/fields-asi-1.js b/test/language/statements/class/elements/fields-asi-1.js similarity index 100% rename from test/language/statements/class/fields-asi-1.js rename to test/language/statements/class/elements/fields-asi-1.js diff --git a/test/language/statements/class/fields-asi-2.js b/test/language/statements/class/elements/fields-asi-2.js similarity index 100% rename from test/language/statements/class/fields-asi-2.js rename to test/language/statements/class/elements/fields-asi-2.js diff --git a/test/language/statements/class/fields-asi-3.js b/test/language/statements/class/elements/fields-asi-3.js similarity index 100% rename from test/language/statements/class/fields-asi-3.js rename to test/language/statements/class/elements/fields-asi-3.js diff --git a/test/language/statements/class/fields-asi-4.js b/test/language/statements/class/elements/fields-asi-4.js similarity index 100% rename from test/language/statements/class/fields-asi-4.js rename to test/language/statements/class/elements/fields-asi-4.js diff --git a/test/language/statements/class/fields-asi-5.js b/test/language/statements/class/elements/fields-asi-5.js similarity index 100% rename from test/language/statements/class/fields-asi-5.js rename to test/language/statements/class/elements/fields-asi-5.js diff --git a/test/language/statements/class/fields-computed-name-propname-constructor.js b/test/language/statements/class/elements/fields-computed-name-propname-constructor.js similarity index 100% rename from test/language/statements/class/fields-computed-name-propname-constructor.js rename to test/language/statements/class/elements/fields-computed-name-propname-constructor.js diff --git a/test/language/statements/class/fields-computed-name-static-computed-var-propname-constructor.js b/test/language/statements/class/elements/fields-computed-name-static-computed-var-propname-constructor.js similarity index 100% rename from test/language/statements/class/fields-computed-name-static-computed-var-propname-constructor.js rename to test/language/statements/class/elements/fields-computed-name-static-computed-var-propname-constructor.js diff --git a/test/language/statements/class/fields-computed-name-static-computed-var-propname-prototype.js b/test/language/statements/class/elements/fields-computed-name-static-computed-var-propname-prototype.js similarity index 100% rename from test/language/statements/class/fields-computed-name-static-computed-var-propname-prototype.js rename to test/language/statements/class/elements/fields-computed-name-static-computed-var-propname-prototype.js diff --git a/test/language/statements/class/fields-computed-name-static-propname-constructor.js b/test/language/statements/class/elements/fields-computed-name-static-propname-constructor.js similarity index 100% rename from test/language/statements/class/fields-computed-name-static-propname-constructor.js rename to test/language/statements/class/elements/fields-computed-name-static-propname-constructor.js diff --git a/test/language/statements/class/fields-computed-name-static-propname-prototype.js b/test/language/statements/class/elements/fields-computed-name-static-propname-prototype.js similarity index 100% rename from test/language/statements/class/fields-computed-name-static-propname-prototype.js rename to test/language/statements/class/elements/fields-computed-name-static-propname-prototype.js diff --git a/test/language/statements/class/fields-duplicate-privatenames.js b/test/language/statements/class/elements/fields-duplicate-privatenames.js similarity index 100% rename from test/language/statements/class/fields-duplicate-privatenames.js rename to test/language/statements/class/elements/fields-duplicate-privatenames.js diff --git a/test/language/statements/class/fields-hash-constructor-is-a-valid-name.js b/test/language/statements/class/elements/fields-hash-constructor-is-a-valid-name.js similarity index 100% rename from test/language/statements/class/fields-hash-constructor-is-a-valid-name.js rename to test/language/statements/class/elements/fields-hash-constructor-is-a-valid-name.js diff --git a/test/language/statements/class/fields-literal-name-propname-constructor.js b/test/language/statements/class/elements/fields-literal-name-propname-constructor.js similarity index 100% rename from test/language/statements/class/fields-literal-name-propname-constructor.js rename to test/language/statements/class/elements/fields-literal-name-propname-constructor.js diff --git a/test/language/statements/class/fields-literal-name-static-propname-constructor.js b/test/language/statements/class/elements/fields-literal-name-static-propname-constructor.js similarity index 100% rename from test/language/statements/class/fields-literal-name-static-propname-constructor.js rename to test/language/statements/class/elements/fields-literal-name-static-propname-constructor.js diff --git a/test/language/statements/class/fields-literal-name-static-propname-prototype.js b/test/language/statements/class/elements/fields-literal-name-static-propname-prototype.js similarity index 100% rename from test/language/statements/class/fields-literal-name-static-propname-prototype.js rename to test/language/statements/class/elements/fields-literal-name-static-propname-prototype.js diff --git a/test/language/statements/class/fields-string-name-propname-constructor.js b/test/language/statements/class/elements/fields-string-name-propname-constructor.js similarity index 100% rename from test/language/statements/class/fields-string-name-propname-constructor.js rename to test/language/statements/class/elements/fields-string-name-propname-constructor.js diff --git a/test/language/statements/class/fields-string-name-static-propname-constructor.js b/test/language/statements/class/elements/fields-string-name-static-propname-constructor.js similarity index 100% rename from test/language/statements/class/fields-string-name-static-propname-constructor.js rename to test/language/statements/class/elements/fields-string-name-static-propname-constructor.js diff --git a/test/language/statements/class/fields-string-name-static-propname-prototype.js b/test/language/statements/class/elements/fields-string-name-static-propname-prototype.js similarity index 100% rename from test/language/statements/class/fields-string-name-static-propname-prototype.js rename to test/language/statements/class/elements/fields-string-name-static-propname-prototype.js diff --git a/test/language/statements/class/privatefieldadd-typeerror.js b/test/language/statements/class/elements/privatefieldadd-typeerror.js similarity index 100% rename from test/language/statements/class/privatefieldadd-typeerror.js rename to test/language/statements/class/elements/privatefieldadd-typeerror.js diff --git a/test/language/statements/class/privatefieldget-success-1.js b/test/language/statements/class/elements/privatefieldget-success-1.js similarity index 100% rename from test/language/statements/class/privatefieldget-success-1.js rename to test/language/statements/class/elements/privatefieldget-success-1.js diff --git a/test/language/statements/class/privatefieldget-success-2.js b/test/language/statements/class/elements/privatefieldget-success-2.js similarity index 100% rename from test/language/statements/class/privatefieldget-success-2.js rename to test/language/statements/class/elements/privatefieldget-success-2.js diff --git a/test/language/statements/class/privatefieldget-success-3.js b/test/language/statements/class/elements/privatefieldget-success-3.js similarity index 100% rename from test/language/statements/class/privatefieldget-success-3.js rename to test/language/statements/class/elements/privatefieldget-success-3.js diff --git a/test/language/statements/class/privatefieldget-success-4.js b/test/language/statements/class/elements/privatefieldget-success-4.js similarity index 100% rename from test/language/statements/class/privatefieldget-success-4.js rename to test/language/statements/class/elements/privatefieldget-success-4.js diff --git a/test/language/statements/class/privatefieldget-success-5.js b/test/language/statements/class/elements/privatefieldget-success-5.js similarity index 100% rename from test/language/statements/class/privatefieldget-success-5.js rename to test/language/statements/class/elements/privatefieldget-success-5.js diff --git a/test/language/statements/class/privatefieldget-typeerror-1.js b/test/language/statements/class/elements/privatefieldget-typeerror-1.js similarity index 100% rename from test/language/statements/class/privatefieldget-typeerror-1.js rename to test/language/statements/class/elements/privatefieldget-typeerror-1.js diff --git a/test/language/statements/class/privatefieldget-typeerror-2.js b/test/language/statements/class/elements/privatefieldget-typeerror-2.js similarity index 100% rename from test/language/statements/class/privatefieldget-typeerror-2.js rename to test/language/statements/class/elements/privatefieldget-typeerror-2.js diff --git a/test/language/statements/class/privatefieldget-typeerror-3.js b/test/language/statements/class/elements/privatefieldget-typeerror-3.js similarity index 100% rename from test/language/statements/class/privatefieldget-typeerror-3.js rename to test/language/statements/class/elements/privatefieldget-typeerror-3.js diff --git a/test/language/statements/class/privatefieldget-typeerror-4.js b/test/language/statements/class/elements/privatefieldget-typeerror-4.js similarity index 100% rename from test/language/statements/class/privatefieldget-typeerror-4.js rename to test/language/statements/class/elements/privatefieldget-typeerror-4.js diff --git a/test/language/statements/class/privatefieldget-typeerror-5.js b/test/language/statements/class/elements/privatefieldget-typeerror-5.js similarity index 100% rename from test/language/statements/class/privatefieldget-typeerror-5.js rename to test/language/statements/class/elements/privatefieldget-typeerror-5.js diff --git a/test/language/statements/class/privatefieldset-typeerror-1.js b/test/language/statements/class/elements/privatefieldset-typeerror-1.js similarity index 100% rename from test/language/statements/class/privatefieldset-typeerror-1.js rename to test/language/statements/class/elements/privatefieldset-typeerror-1.js diff --git a/test/language/statements/class/privatefieldset-typeerror-2.js b/test/language/statements/class/elements/privatefieldset-typeerror-2.js similarity index 100% rename from test/language/statements/class/privatefieldset-typeerror-2.js rename to test/language/statements/class/elements/privatefieldset-typeerror-2.js diff --git a/test/language/statements/class/privatefieldset-typeerror-3.js b/test/language/statements/class/elements/privatefieldset-typeerror-3.js similarity index 100% rename from test/language/statements/class/privatefieldset-typeerror-3.js rename to test/language/statements/class/elements/privatefieldset-typeerror-3.js diff --git a/test/language/statements/class/privatefieldset-typeerror-4.js b/test/language/statements/class/elements/privatefieldset-typeerror-4.js similarity index 100% rename from test/language/statements/class/privatefieldset-typeerror-4.js rename to test/language/statements/class/elements/privatefieldset-typeerror-4.js diff --git a/test/language/statements/class/privatefieldset-typeerror-5.js b/test/language/statements/class/elements/privatefieldset-typeerror-5.js similarity index 100% rename from test/language/statements/class/privatefieldset-typeerror-5.js rename to test/language/statements/class/elements/privatefieldset-typeerror-5.js diff --git a/test/language/statements/class/privatename-not-valid-earlyerr-script-1.js b/test/language/statements/class/elements/privatename-not-valid-earlyerr-script-1.js similarity index 100% rename from test/language/statements/class/privatename-not-valid-earlyerr-script-1.js rename to test/language/statements/class/elements/privatename-not-valid-earlyerr-script-1.js diff --git a/test/language/statements/class/privatename-not-valid-earlyerr-script-2.js b/test/language/statements/class/elements/privatename-not-valid-earlyerr-script-2.js similarity index 100% rename from test/language/statements/class/privatename-not-valid-earlyerr-script-2.js rename to test/language/statements/class/elements/privatename-not-valid-earlyerr-script-2.js diff --git a/test/language/statements/class/privatename-not-valid-earlyerr-script-3.js b/test/language/statements/class/elements/privatename-not-valid-earlyerr-script-3.js similarity index 100% rename from test/language/statements/class/privatename-not-valid-earlyerr-script-3.js rename to test/language/statements/class/elements/privatename-not-valid-earlyerr-script-3.js diff --git a/test/language/statements/class/privatename-not-valid-earlyerr-script-4.js b/test/language/statements/class/elements/privatename-not-valid-earlyerr-script-4.js similarity index 100% rename from test/language/statements/class/privatename-not-valid-earlyerr-script-4.js rename to test/language/statements/class/elements/privatename-not-valid-earlyerr-script-4.js diff --git a/test/language/statements/class/privatename-not-valid-earlyerr-script-5.js b/test/language/statements/class/elements/privatename-not-valid-earlyerr-script-5.js similarity index 100% rename from test/language/statements/class/privatename-not-valid-earlyerr-script-5.js rename to test/language/statements/class/elements/privatename-not-valid-earlyerr-script-5.js diff --git a/test/language/statements/class/privatename-not-valid-earlyerr-script-6.js b/test/language/statements/class/elements/privatename-not-valid-earlyerr-script-6.js similarity index 100% rename from test/language/statements/class/privatename-not-valid-earlyerr-script-6.js rename to test/language/statements/class/elements/privatename-not-valid-earlyerr-script-6.js diff --git a/test/language/statements/class/privatename-not-valid-earlyerr-script-7.js b/test/language/statements/class/elements/privatename-not-valid-earlyerr-script-7.js similarity index 100% rename from test/language/statements/class/privatename-not-valid-earlyerr-script-7.js rename to test/language/statements/class/elements/privatename-not-valid-earlyerr-script-7.js diff --git a/test/language/statements/class/privatename-not-valid-earlyerr-script-8.js b/test/language/statements/class/elements/privatename-not-valid-earlyerr-script-8.js similarity index 100% rename from test/language/statements/class/privatename-not-valid-earlyerr-script-8.js rename to test/language/statements/class/elements/privatename-not-valid-earlyerr-script-8.js diff --git a/test/language/statements/class/privatename-not-valid-eval-earlyerr-1.js b/test/language/statements/class/elements/privatename-not-valid-eval-earlyerr-1.js similarity index 100% rename from test/language/statements/class/privatename-not-valid-eval-earlyerr-1.js rename to test/language/statements/class/elements/privatename-not-valid-eval-earlyerr-1.js diff --git a/test/language/statements/class/privatename-not-valid-eval-earlyerr-2.js b/test/language/statements/class/elements/privatename-not-valid-eval-earlyerr-2.js similarity index 100% rename from test/language/statements/class/privatename-not-valid-eval-earlyerr-2.js rename to test/language/statements/class/elements/privatename-not-valid-eval-earlyerr-2.js diff --git a/test/language/statements/class/privatename-not-valid-eval-earlyerr-3.js b/test/language/statements/class/elements/privatename-not-valid-eval-earlyerr-3.js similarity index 100% rename from test/language/statements/class/privatename-not-valid-eval-earlyerr-3.js rename to test/language/statements/class/elements/privatename-not-valid-eval-earlyerr-3.js diff --git a/test/language/statements/class/privatename-not-valid-eval-earlyerr-4.js b/test/language/statements/class/elements/privatename-not-valid-eval-earlyerr-4.js similarity index 100% rename from test/language/statements/class/privatename-not-valid-eval-earlyerr-4.js rename to test/language/statements/class/elements/privatename-not-valid-eval-earlyerr-4.js diff --git a/test/language/statements/class/privatename-not-valid-eval-earlyerr-5.js b/test/language/statements/class/elements/privatename-not-valid-eval-earlyerr-5.js similarity index 100% rename from test/language/statements/class/privatename-not-valid-eval-earlyerr-5.js rename to test/language/statements/class/elements/privatename-not-valid-eval-earlyerr-5.js diff --git a/test/language/statements/class/privatename-not-valid-eval-earlyerr-6.js b/test/language/statements/class/elements/privatename-not-valid-eval-earlyerr-6.js similarity index 100% rename from test/language/statements/class/privatename-not-valid-eval-earlyerr-6.js rename to test/language/statements/class/elements/privatename-not-valid-eval-earlyerr-6.js diff --git a/test/language/statements/class/privatename-not-valid-eval-earlyerr-7.js b/test/language/statements/class/elements/privatename-not-valid-eval-earlyerr-7.js similarity index 100% rename from test/language/statements/class/privatename-not-valid-eval-earlyerr-7.js rename to test/language/statements/class/elements/privatename-not-valid-eval-earlyerr-7.js diff --git a/test/language/statements/class/privatename-not-valid-eval-earlyerr-8.js b/test/language/statements/class/elements/privatename-not-valid-eval-earlyerr-8.js similarity index 100% rename from test/language/statements/class/privatename-not-valid-eval-earlyerr-8.js rename to test/language/statements/class/elements/privatename-not-valid-eval-earlyerr-8.js diff --git a/test/language/statements/class/privatename-valid-no-earlyerr.js b/test/language/statements/class/elements/privatename-valid-no-earlyerr.js similarity index 100% rename from test/language/statements/class/privatename-valid-no-earlyerr.js rename to test/language/statements/class/elements/privatename-valid-no-earlyerr.js diff --git a/test/language/statements/class/static-fielddefinition-initializer-abrupt-completion.js b/test/language/statements/class/elements/static-fielddefinition-initializer-abrupt-completion.js similarity index 100% rename from test/language/statements/class/static-fielddefinition-initializer-abrupt-completion.js rename to test/language/statements/class/elements/static-fielddefinition-initializer-abrupt-completion.js diff --git a/test/language/statements/class/static-private-fields-proxy-default-handler-throws.js b/test/language/statements/class/elements/static-private-fields-proxy-default-handler-throws.js similarity index 100% rename from test/language/statements/class/static-private-fields-proxy-default-handler-throws.js rename to test/language/statements/class/elements/static-private-fields-proxy-default-handler-throws.js diff --git a/test/language/statements/class/super-fielddefinition-initializer-abrupt-completion.js b/test/language/statements/class/elements/super-fielddefinition-initializer-abrupt-completion.js similarity index 100% rename from test/language/statements/class/super-fielddefinition-initializer-abrupt-completion.js rename to test/language/statements/class/elements/super-fielddefinition-initializer-abrupt-completion.js