LibJS: Add generic InvalidLength error type

We have multiple array types now, so ArrayInvalidLength has been
replaced with a generic InvalidLength.

Also fixes a small issue in the Array constructor, it should throw
RangeError for invalid lengths, not TypeError.
This commit is contained in:
Linus Groh 2020-12-02 12:41:51 +00:00 committed by Andreas Kling
commit 6de4f1fcb3
Notes: sideshowbarker 2024-07-19 01:05:16 +09:00
4 changed files with 4 additions and 4 deletions

View file

@ -77,7 +77,7 @@ JS_DEFINE_NATIVE_SETTER(Array::length_setter)
if (vm.exception())
return;
if (length.is_nan() || length.is_infinity() || length.as_double() < 0) {
vm.throw_exception<RangeError>(global_object, ErrorType::ArrayInvalidLength);
vm.throw_exception<RangeError>(global_object, ErrorType::InvalidLength, "array");
return;
}
array->indexed_properties().set_array_like_size(length.as_double());