diff --git a/test/language/subclassing/Array/contructor-calls-super.js b/test/language/statements/class/subclass/builtin-objects/Array/contructor-calls-super.js
similarity index 100%
rename from test/language/subclassing/Array/contructor-calls-super.js
rename to test/language/statements/class/subclass/builtin-objects/Array/contructor-calls-super.js
diff --git a/test/language/subclassing/Array/length.js b/test/language/statements/class/subclass/builtin-objects/Array/length.js
similarity index 100%
rename from test/language/subclassing/Array/length.js
rename to test/language/statements/class/subclass/builtin-objects/Array/length.js
diff --git a/test/language/subclassing/Array/regular-subclassing.js b/test/language/statements/class/subclass/builtin-objects/Array/regular-subclassing.js
similarity index 100%
rename from test/language/subclassing/Array/regular-subclassing.js
rename to test/language/statements/class/subclass/builtin-objects/Array/regular-subclassing.js
diff --git a/test/language/subclassing/Array/super-must-be-called.js b/test/language/statements/class/subclass/builtin-objects/Array/super-must-be-called.js
similarity index 100%
rename from test/language/subclassing/Array/super-must-be-called.js
rename to test/language/statements/class/subclass/builtin-objects/Array/super-must-be-called.js
diff --git a/test/language/subclassing/ArrayBuffer/regular-subclassing.js b/test/language/statements/class/subclass/builtin-objects/ArrayBuffer/regular-subclassing.js
similarity index 100%
rename from test/language/subclassing/ArrayBuffer/regular-subclassing.js
rename to test/language/statements/class/subclass/builtin-objects/ArrayBuffer/regular-subclassing.js
diff --git a/test/language/subclassing/ArrayBuffer/super-must-be-called.js b/test/language/statements/class/subclass/builtin-objects/ArrayBuffer/super-must-be-called.js
similarity index 100%
rename from test/language/subclassing/ArrayBuffer/super-must-be-called.js
rename to test/language/statements/class/subclass/builtin-objects/ArrayBuffer/super-must-be-called.js
diff --git a/test/language/subclassing/Boolean/regular-subclassing.js b/test/language/statements/class/subclass/builtin-objects/Boolean/regular-subclassing.js
similarity index 100%
rename from test/language/subclassing/Boolean/regular-subclassing.js
rename to test/language/statements/class/subclass/builtin-objects/Boolean/regular-subclassing.js
diff --git a/test/language/subclassing/Boolean/super-must-be-called.js b/test/language/statements/class/subclass/builtin-objects/Boolean/super-must-be-called.js
similarity index 100%
rename from test/language/subclassing/Boolean/super-must-be-called.js
rename to test/language/statements/class/subclass/builtin-objects/Boolean/super-must-be-called.js
diff --git a/test/language/subclassing/DataView/regular-subclassing.js b/test/language/statements/class/subclass/builtin-objects/DataView/regular-subclassing.js
similarity index 100%
rename from test/language/subclassing/DataView/regular-subclassing.js
rename to test/language/statements/class/subclass/builtin-objects/DataView/regular-subclassing.js
diff --git a/test/language/subclassing/DataView/super-must-be-called.js b/test/language/statements/class/subclass/builtin-objects/DataView/super-must-be-called.js
similarity index 100%
rename from test/language/subclassing/DataView/super-must-be-called.js
rename to test/language/statements/class/subclass/builtin-objects/DataView/super-must-be-called.js
diff --git a/test/language/subclassing/Date/regular-subclassing.js b/test/language/statements/class/subclass/builtin-objects/Date/regular-subclassing.js
similarity index 100%
rename from test/language/subclassing/Date/regular-subclassing.js
rename to test/language/statements/class/subclass/builtin-objects/Date/regular-subclassing.js
diff --git a/test/language/subclassing/Date/super-must-be-called.js b/test/language/statements/class/subclass/builtin-objects/Date/super-must-be-called.js
similarity index 100%
rename from test/language/subclassing/Date/super-must-be-called.js
rename to test/language/statements/class/subclass/builtin-objects/Date/super-must-be-called.js
diff --git a/test/language/subclassing/Error/message-property-assignment.js b/test/language/statements/class/subclass/builtin-objects/Error/message-property-assignment.js
similarity index 100%
rename from test/language/subclassing/Error/message-property-assignment.js
rename to test/language/statements/class/subclass/builtin-objects/Error/message-property-assignment.js
diff --git a/test/language/subclassing/Error/regular-subclassing.js b/test/language/statements/class/subclass/builtin-objects/Error/regular-subclassing.js
similarity index 100%
rename from test/language/subclassing/Error/regular-subclassing.js
rename to test/language/statements/class/subclass/builtin-objects/Error/regular-subclassing.js
diff --git a/test/language/subclassing/Error/super-must-be-called.js b/test/language/statements/class/subclass/builtin-objects/Error/super-must-be-called.js
similarity index 100%
rename from test/language/subclassing/Error/super-must-be-called.js
rename to test/language/statements/class/subclass/builtin-objects/Error/super-must-be-called.js
diff --git a/test/language/subclassing/Function/instance-length.js b/test/language/statements/class/subclass/builtin-objects/Function/instance-length.js
similarity index 100%
rename from test/language/subclassing/Function/instance-length.js
rename to test/language/statements/class/subclass/builtin-objects/Function/instance-length.js
diff --git a/test/language/subclassing/Function/instance-name.js b/test/language/statements/class/subclass/builtin-objects/Function/instance-name.js
similarity index 100%
rename from test/language/subclassing/Function/instance-name.js
rename to test/language/statements/class/subclass/builtin-objects/Function/instance-name.js
diff --git a/test/language/subclassing/Function/regular-subclassing.js b/test/language/statements/class/subclass/builtin-objects/Function/regular-subclassing.js
similarity index 100%
rename from test/language/subclassing/Function/regular-subclassing.js
rename to test/language/statements/class/subclass/builtin-objects/Function/regular-subclassing.js
diff --git a/test/language/subclassing/Function/super-must-be-called.js b/test/language/statements/class/subclass/builtin-objects/Function/super-must-be-called.js
similarity index 100%
rename from test/language/subclassing/Function/super-must-be-called.js
rename to test/language/statements/class/subclass/builtin-objects/Function/super-must-be-called.js
diff --git a/test/language/subclassing/GeneratorFunction/instance-length.js b/test/language/statements/class/subclass/builtin-objects/GeneratorFunction/instance-length.js
similarity index 100%
rename from test/language/subclassing/GeneratorFunction/instance-length.js
rename to test/language/statements/class/subclass/builtin-objects/GeneratorFunction/instance-length.js
diff --git a/test/language/subclassing/GeneratorFunction/instance-name.js b/test/language/statements/class/subclass/builtin-objects/GeneratorFunction/instance-name.js
similarity index 100%
rename from test/language/subclassing/GeneratorFunction/instance-name.js
rename to test/language/statements/class/subclass/builtin-objects/GeneratorFunction/instance-name.js
diff --git a/test/language/subclassing/GeneratorFunction/instance-prototype.js b/test/language/statements/class/subclass/builtin-objects/GeneratorFunction/instance-prototype.js
similarity index 100%
rename from test/language/subclassing/GeneratorFunction/instance-prototype.js
rename to test/language/statements/class/subclass/builtin-objects/GeneratorFunction/instance-prototype.js
diff --git a/test/language/subclassing/GeneratorFunction/regular-subclassing.js b/test/language/statements/class/subclass/builtin-objects/GeneratorFunction/regular-subclassing.js
similarity index 100%
rename from test/language/subclassing/GeneratorFunction/regular-subclassing.js
rename to test/language/statements/class/subclass/builtin-objects/GeneratorFunction/regular-subclassing.js
diff --git a/test/language/subclassing/GeneratorFunction/super-must-be-called.js b/test/language/statements/class/subclass/builtin-objects/GeneratorFunction/super-must-be-called.js
similarity index 100%
rename from test/language/subclassing/GeneratorFunction/super-must-be-called.js
rename to test/language/statements/class/subclass/builtin-objects/GeneratorFunction/super-must-be-called.js
diff --git a/test/language/subclassing/Map/regular-subclassing.js b/test/language/statements/class/subclass/builtin-objects/Map/regular-subclassing.js
similarity index 100%
rename from test/language/subclassing/Map/regular-subclassing.js
rename to test/language/statements/class/subclass/builtin-objects/Map/regular-subclassing.js
diff --git a/test/language/subclassing/Map/super-must-be-called.js b/test/language/statements/class/subclass/builtin-objects/Map/super-must-be-called.js
similarity index 100%
rename from test/language/subclassing/Map/super-must-be-called.js
rename to test/language/statements/class/subclass/builtin-objects/Map/super-must-be-called.js
diff --git a/test/language/subclassing/NativeError/EvalError-message.js b/test/language/statements/class/subclass/builtin-objects/NativeError/EvalError-message.js
similarity index 100%
rename from test/language/subclassing/NativeError/EvalError-message.js
rename to test/language/statements/class/subclass/builtin-objects/NativeError/EvalError-message.js
diff --git a/test/language/subclassing/NativeError/EvalError-name.js b/test/language/statements/class/subclass/builtin-objects/NativeError/EvalError-name.js
similarity index 100%
rename from test/language/subclassing/NativeError/EvalError-name.js
rename to test/language/statements/class/subclass/builtin-objects/NativeError/EvalError-name.js
diff --git a/test/language/subclassing/NativeError/EvalError-super.js b/test/language/statements/class/subclass/builtin-objects/NativeError/EvalError-super.js
similarity index 100%
rename from test/language/subclassing/NativeError/EvalError-super.js
rename to test/language/statements/class/subclass/builtin-objects/NativeError/EvalError-super.js
diff --git a/test/language/subclassing/NativeError/RangeError-message.js b/test/language/statements/class/subclass/builtin-objects/NativeError/RangeError-message.js
similarity index 100%
rename from test/language/subclassing/NativeError/RangeError-message.js
rename to test/language/statements/class/subclass/builtin-objects/NativeError/RangeError-message.js
diff --git a/test/language/subclassing/NativeError/RangeError-name.js b/test/language/statements/class/subclass/builtin-objects/NativeError/RangeError-name.js
similarity index 100%
rename from test/language/subclassing/NativeError/RangeError-name.js
rename to test/language/statements/class/subclass/builtin-objects/NativeError/RangeError-name.js
diff --git a/test/language/subclassing/NativeError/RangeError-super.js b/test/language/statements/class/subclass/builtin-objects/NativeError/RangeError-super.js
similarity index 100%
rename from test/language/subclassing/NativeError/RangeError-super.js
rename to test/language/statements/class/subclass/builtin-objects/NativeError/RangeError-super.js
diff --git a/test/language/subclassing/NativeError/ReferenceError-message.js b/test/language/statements/class/subclass/builtin-objects/NativeError/ReferenceError-message.js
similarity index 100%
rename from test/language/subclassing/NativeError/ReferenceError-message.js
rename to test/language/statements/class/subclass/builtin-objects/NativeError/ReferenceError-message.js
diff --git a/test/language/subclassing/NativeError/ReferenceError-name.js b/test/language/statements/class/subclass/builtin-objects/NativeError/ReferenceError-name.js
similarity index 100%
rename from test/language/subclassing/NativeError/ReferenceError-name.js
rename to test/language/statements/class/subclass/builtin-objects/NativeError/ReferenceError-name.js
diff --git a/test/language/subclassing/NativeError/ReferenceError-super.js b/test/language/statements/class/subclass/builtin-objects/NativeError/ReferenceError-super.js
similarity index 100%
rename from test/language/subclassing/NativeError/ReferenceError-super.js
rename to test/language/statements/class/subclass/builtin-objects/NativeError/ReferenceError-super.js
diff --git a/test/language/subclassing/NativeError/SyntaxError-message.js b/test/language/statements/class/subclass/builtin-objects/NativeError/SyntaxError-message.js
similarity index 100%
rename from test/language/subclassing/NativeError/SyntaxError-message.js
rename to test/language/statements/class/subclass/builtin-objects/NativeError/SyntaxError-message.js
diff --git a/test/language/subclassing/NativeError/SyntaxError-name.js b/test/language/statements/class/subclass/builtin-objects/NativeError/SyntaxError-name.js
similarity index 100%
rename from test/language/subclassing/NativeError/SyntaxError-name.js
rename to test/language/statements/class/subclass/builtin-objects/NativeError/SyntaxError-name.js
diff --git a/test/language/subclassing/NativeError/SyntaxError-super.js b/test/language/statements/class/subclass/builtin-objects/NativeError/SyntaxError-super.js
similarity index 100%
rename from test/language/subclassing/NativeError/SyntaxError-super.js
rename to test/language/statements/class/subclass/builtin-objects/NativeError/SyntaxError-super.js
diff --git a/test/language/subclassing/NativeError/TypeError-message.js b/test/language/statements/class/subclass/builtin-objects/NativeError/TypeError-message.js
similarity index 100%
rename from test/language/subclassing/NativeError/TypeError-message.js
rename to test/language/statements/class/subclass/builtin-objects/NativeError/TypeError-message.js
diff --git a/test/language/subclassing/NativeError/TypeError-name.js b/test/language/statements/class/subclass/builtin-objects/NativeError/TypeError-name.js
similarity index 100%
rename from test/language/subclassing/NativeError/TypeError-name.js
rename to test/language/statements/class/subclass/builtin-objects/NativeError/TypeError-name.js
diff --git a/test/language/subclassing/NativeError/TypeError-super.js b/test/language/statements/class/subclass/builtin-objects/NativeError/TypeError-super.js
similarity index 100%
rename from test/language/subclassing/NativeError/TypeError-super.js
rename to test/language/statements/class/subclass/builtin-objects/NativeError/TypeError-super.js
diff --git a/test/language/subclassing/NativeError/URIError-message.js b/test/language/statements/class/subclass/builtin-objects/NativeError/URIError-message.js
similarity index 100%
rename from test/language/subclassing/NativeError/URIError-message.js
rename to test/language/statements/class/subclass/builtin-objects/NativeError/URIError-message.js
diff --git a/test/language/subclassing/NativeError/URIError-name.js b/test/language/statements/class/subclass/builtin-objects/NativeError/URIError-name.js
similarity index 100%
rename from test/language/subclassing/NativeError/URIError-name.js
rename to test/language/statements/class/subclass/builtin-objects/NativeError/URIError-name.js
diff --git a/test/language/subclassing/NativeError/URIError-super.js b/test/language/statements/class/subclass/builtin-objects/NativeError/URIError-super.js
similarity index 100%
rename from test/language/subclassing/NativeError/URIError-super.js
rename to test/language/statements/class/subclass/builtin-objects/NativeError/URIError-super.js
diff --git a/test/language/subclassing/Number/regular-subclassing.js b/test/language/statements/class/subclass/builtin-objects/Number/regular-subclassing.js
similarity index 100%
rename from test/language/subclassing/Number/regular-subclassing.js
rename to test/language/statements/class/subclass/builtin-objects/Number/regular-subclassing.js
diff --git a/test/language/subclassing/Number/super-must-be-called.js b/test/language/statements/class/subclass/builtin-objects/Number/super-must-be-called.js
similarity index 100%
rename from test/language/subclassing/Number/super-must-be-called.js
rename to test/language/statements/class/subclass/builtin-objects/Number/super-must-be-called.js
diff --git a/test/language/subclassing/Object/constructor-return-undefined-throws.js b/test/language/statements/class/subclass/builtin-objects/Object/constructor-return-undefined-throws.js
similarity index 100%
rename from test/language/subclassing/Object/constructor-return-undefined-throws.js
rename to test/language/statements/class/subclass/builtin-objects/Object/constructor-return-undefined-throws.js
diff --git a/test/language/subclassing/Object/constructor-returns-non-object.js b/test/language/statements/class/subclass/builtin-objects/Object/constructor-returns-non-object.js
similarity index 100%
rename from test/language/subclassing/Object/constructor-returns-non-object.js
rename to test/language/statements/class/subclass/builtin-objects/Object/constructor-returns-non-object.js
diff --git a/test/language/subclassing/Object/regular-subclassing.js b/test/language/statements/class/subclass/builtin-objects/Object/regular-subclassing.js
similarity index 100%
rename from test/language/subclassing/Object/regular-subclassing.js
rename to test/language/statements/class/subclass/builtin-objects/Object/regular-subclassing.js
diff --git a/test/language/subclassing/Object/replacing-prototype.js b/test/language/statements/class/subclass/builtin-objects/Object/replacing-prototype.js
similarity index 100%
rename from test/language/subclassing/Object/replacing-prototype.js
rename to test/language/statements/class/subclass/builtin-objects/Object/replacing-prototype.js
diff --git a/test/language/subclassing/Promise/regular-subclassing.js b/test/language/statements/class/subclass/builtin-objects/Promise/regular-subclassing.js
similarity index 100%
rename from test/language/subclassing/Promise/regular-subclassing.js
rename to test/language/statements/class/subclass/builtin-objects/Promise/regular-subclassing.js
diff --git a/test/language/subclassing/Promise/super-must-be-called.js b/test/language/statements/class/subclass/builtin-objects/Promise/super-must-be-called.js
similarity index 100%
rename from test/language/subclassing/Promise/super-must-be-called.js
rename to test/language/statements/class/subclass/builtin-objects/Promise/super-must-be-called.js
diff --git a/test/language/subclassing/Proxy/no-prototype-throws.js b/test/language/statements/class/subclass/builtin-objects/Proxy/no-prototype-throws.js
similarity index 100%
rename from test/language/subclassing/Proxy/no-prototype-throws.js
rename to test/language/statements/class/subclass/builtin-objects/Proxy/no-prototype-throws.js
diff --git a/test/language/subclassing/RegExp/lastIndex.js b/test/language/statements/class/subclass/builtin-objects/RegExp/lastIndex.js
similarity index 100%
rename from test/language/subclassing/RegExp/lastIndex.js
rename to test/language/statements/class/subclass/builtin-objects/RegExp/lastIndex.js
diff --git a/test/language/subclassing/RegExp/regular-subclassing.js b/test/language/statements/class/subclass/builtin-objects/RegExp/regular-subclassing.js
similarity index 100%
rename from test/language/subclassing/RegExp/regular-subclassing.js
rename to test/language/statements/class/subclass/builtin-objects/RegExp/regular-subclassing.js
diff --git a/test/language/subclassing/RegExp/super-must-be-called.js b/test/language/statements/class/subclass/builtin-objects/RegExp/super-must-be-called.js
similarity index 100%
rename from test/language/subclassing/RegExp/super-must-be-called.js
rename to test/language/statements/class/subclass/builtin-objects/RegExp/super-must-be-called.js
diff --git a/test/language/subclassing/Set/regular-subclassing.js b/test/language/statements/class/subclass/builtin-objects/Set/regular-subclassing.js
similarity index 100%
rename from test/language/subclassing/Set/regular-subclassing.js
rename to test/language/statements/class/subclass/builtin-objects/Set/regular-subclassing.js
diff --git a/test/language/subclassing/Set/super-must-be-called.js b/test/language/statements/class/subclass/builtin-objects/Set/super-must-be-called.js
similarity index 100%
rename from test/language/subclassing/Set/super-must-be-called.js
rename to test/language/statements/class/subclass/builtin-objects/Set/super-must-be-called.js
diff --git a/test/language/subclassing/String/length.js b/test/language/statements/class/subclass/builtin-objects/String/length.js
similarity index 100%
rename from test/language/subclassing/String/length.js
rename to test/language/statements/class/subclass/builtin-objects/String/length.js
diff --git a/test/language/subclassing/String/regular-subclassing.js b/test/language/statements/class/subclass/builtin-objects/String/regular-subclassing.js
similarity index 100%
rename from test/language/subclassing/String/regular-subclassing.js
rename to test/language/statements/class/subclass/builtin-objects/String/regular-subclassing.js
diff --git a/test/language/subclassing/String/super-must-be-called.js b/test/language/statements/class/subclass/builtin-objects/String/super-must-be-called.js
similarity index 100%
rename from test/language/subclassing/String/super-must-be-called.js
rename to test/language/statements/class/subclass/builtin-objects/String/super-must-be-called.js
diff --git a/test/language/subclassing/Symbol/new-symbol-with-super-throws.js b/test/language/statements/class/subclass/builtin-objects/Symbol/new-symbol-with-super-throws.js
similarity index 100%
rename from test/language/subclassing/Symbol/new-symbol-with-super-throws.js
rename to test/language/statements/class/subclass/builtin-objects/Symbol/new-symbol-with-super-throws.js
diff --git a/test/language/subclassing/Symbol/symbol-valid-as-extends-value.js b/test/language/statements/class/subclass/builtin-objects/Symbol/symbol-valid-as-extends-value.js
similarity index 100%
rename from test/language/subclassing/Symbol/symbol-valid-as-extends-value.js
rename to test/language/statements/class/subclass/builtin-objects/Symbol/symbol-valid-as-extends-value.js
diff --git a/test/language/subclassing/TypedArray/regular-subclassing.js b/test/language/statements/class/subclass/builtin-objects/TypedArray/regular-subclassing.js
similarity index 100%
rename from test/language/subclassing/TypedArray/regular-subclassing.js
rename to test/language/statements/class/subclass/builtin-objects/TypedArray/regular-subclassing.js
diff --git a/test/language/subclassing/TypedArray/super-must-be-called.js b/test/language/statements/class/subclass/builtin-objects/TypedArray/super-must-be-called.js
similarity index 100%
rename from test/language/subclassing/TypedArray/super-must-be-called.js
rename to test/language/statements/class/subclass/builtin-objects/TypedArray/super-must-be-called.js
diff --git a/test/language/subclassing/WeakMap/regular-subclassing.js b/test/language/statements/class/subclass/builtin-objects/WeakMap/regular-subclassing.js
similarity index 100%
rename from test/language/subclassing/WeakMap/regular-subclassing.js
rename to test/language/statements/class/subclass/builtin-objects/WeakMap/regular-subclassing.js
diff --git a/test/language/subclassing/WeakMap/super-must-be-called.js b/test/language/statements/class/subclass/builtin-objects/WeakMap/super-must-be-called.js
similarity index 100%
rename from test/language/subclassing/WeakMap/super-must-be-called.js
rename to test/language/statements/class/subclass/builtin-objects/WeakMap/super-must-be-called.js
diff --git a/test/language/subclassing/WeakSet/regular-subclassing.js b/test/language/statements/class/subclass/builtin-objects/WeakSet/regular-subclassing.js
similarity index 100%
rename from test/language/subclassing/WeakSet/regular-subclassing.js
rename to test/language/statements/class/subclass/builtin-objects/WeakSet/regular-subclassing.js
diff --git a/test/language/subclassing/WeakSet/super-must-be-called.js b/test/language/statements/class/subclass/builtin-objects/WeakSet/super-must-be-called.js
similarity index 100%
rename from test/language/subclassing/WeakSet/super-must-be-called.js
rename to test/language/statements/class/subclass/builtin-objects/WeakSet/super-must-be-called.js