1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 13:37:44 +00:00

LibJS: Make Cell::initialize() return void

Stop worrying about tiny OOMs.

Work towards #20405
This commit is contained in:
Andreas Kling 2023-08-07 08:41:28 +02:00
parent fde26c53f0
commit 18c54d8d40
804 changed files with 1330 additions and 2171 deletions

View file

@ -16,9 +16,9 @@ CalendarConstructor::CalendarConstructor(Realm& realm)
{
}
ThrowCompletionOr<void> CalendarConstructor::initialize(Realm& realm)
void CalendarConstructor::initialize(Realm& realm)
{
MUST_OR_THROW_OOM(NativeFunction::initialize(realm));
Base::initialize(realm);
auto& vm = this->vm();
@ -29,8 +29,6 @@ ThrowCompletionOr<void> CalendarConstructor::initialize(Realm& realm)
define_native_function(realm, vm.names.from, from, 1, attr);
define_direct_property(vm.names.length, Value(1), Attribute::Configurable);
return {};
}
// 12.2.1 Temporal.Calendar ( id ), https://tc39.es/proposal-temporal/#sec-temporal.calendar

View file

@ -14,7 +14,7 @@ class CalendarConstructor final : public NativeFunction {
JS_OBJECT(CalendarConstructor, NativeFunction);
public:
virtual ThrowCompletionOr<void> initialize(Realm&) override;
virtual void initialize(Realm&) override;
virtual ~CalendarConstructor() override = default;
virtual ThrowCompletionOr<Value> call() override;

View file

@ -29,14 +29,14 @@ CalendarPrototype::CalendarPrototype(Realm& realm)
{
}
ThrowCompletionOr<void> CalendarPrototype::initialize(Realm& realm)
void CalendarPrototype::initialize(Realm& realm)
{
MUST_OR_THROW_OOM(Base::initialize(realm));
Base::initialize(realm);
auto& vm = this->vm();
// 12.4.2 Temporal.Calendar.prototype[ @@toStringTag ], https://tc39.es/proposal-temporal/#sec-temporal.calendar.prototype-@@tostringtag
define_direct_property(vm.well_known_symbol_to_string_tag(), MUST_OR_THROW_OOM(PrimitiveString::create(vm, "Temporal.Calendar"sv)), Attribute::Configurable);
define_direct_property(vm.well_known_symbol_to_string_tag(), MUST(PrimitiveString::create(vm, "Temporal.Calendar"sv)), Attribute::Configurable);
define_native_accessor(realm, vm.names.id, id_getter, {}, Attribute::Configurable);
@ -65,8 +65,6 @@ ThrowCompletionOr<void> CalendarPrototype::initialize(Realm& realm)
define_native_function(realm, vm.names.toJSON, to_json, 0, attr);
define_native_function(realm, vm.names.era, era, 1, attr);
define_native_function(realm, vm.names.eraYear, era_year, 1, attr);
return {};
}
// 12.4.3 get Temporal.Calendar.prototype.id, https://tc39.es/proposal-temporal/#sec-get-temporal.calendar.prototype.id

View file

@ -15,7 +15,7 @@ class CalendarPrototype final : public PrototypeObject<CalendarPrototype, Calend
JS_PROTOTYPE_OBJECT(CalendarPrototype, Calendar, Temporal.Calendar);
public:
virtual ThrowCompletionOr<void> initialize(Realm&) override;
virtual void initialize(Realm&) override;
virtual ~CalendarPrototype() override = default;
private:

View file

@ -19,9 +19,9 @@ DurationConstructor::DurationConstructor(Realm& realm)
{
}
ThrowCompletionOr<void> DurationConstructor::initialize(Realm& realm)
void DurationConstructor::initialize(Realm& realm)
{
MUST_OR_THROW_OOM(NativeFunction::initialize(realm));
Base::initialize(realm);
auto& vm = this->vm();
@ -33,8 +33,6 @@ ThrowCompletionOr<void> DurationConstructor::initialize(Realm& realm)
define_native_function(realm, vm.names.compare, compare, 2, attr);
define_direct_property(vm.names.length, Value(0), Attribute::Configurable);
return {};
}
// 7.1.1 Temporal.Duration ( [ years [ , months [ , weeks [ , days [ , hours [ , minutes [ , seconds [ , milliseconds [ , microseconds [ , nanoseconds ] ] ] ] ] ] ] ] ] ] ), https://tc39.es/proposal-temporal/#sec-temporal.duration

View file

@ -14,7 +14,7 @@ class DurationConstructor final : public NativeFunction {
JS_OBJECT(DurationConstructor, NativeFunction);
public:
virtual ThrowCompletionOr<void> initialize(Realm&) override;
virtual void initialize(Realm&) override;
virtual ~DurationConstructor() override = default;
virtual ThrowCompletionOr<Value> call() override;

View file

@ -20,14 +20,14 @@ DurationPrototype::DurationPrototype(Realm& realm)
{
}
ThrowCompletionOr<void> DurationPrototype::initialize(Realm& realm)
void DurationPrototype::initialize(Realm& realm)
{
MUST_OR_THROW_OOM(Base::initialize(realm));
Base::initialize(realm);
auto& vm = this->vm();
// 7.3.2 Temporal.Duration.prototype[ @@toStringTag ], https://tc39.es/proposal-temporal/#sec-temporal.duration.prototype-@@tostringtag
define_direct_property(vm.well_known_symbol_to_string_tag(), MUST_OR_THROW_OOM(PrimitiveString::create(vm, "Temporal.Duration"sv)), Attribute::Configurable);
define_direct_property(vm.well_known_symbol_to_string_tag(), MUST(PrimitiveString::create(vm, "Temporal.Duration"sv)), Attribute::Configurable);
define_native_accessor(realm, vm.names.years, years_getter, {}, Attribute::Configurable);
define_native_accessor(realm, vm.names.months, months_getter, {}, Attribute::Configurable);
@ -54,8 +54,6 @@ ThrowCompletionOr<void> DurationPrototype::initialize(Realm& realm)
define_native_function(realm, vm.names.toJSON, to_json, 0, attr);
define_native_function(realm, vm.names.toLocaleString, to_locale_string, 0, attr);
define_native_function(realm, vm.names.valueOf, value_of, 0, attr);
return {};
}
// 7.3.3 get Temporal.Duration.prototype.years, https://tc39.es/proposal-temporal/#sec-get-temporal.duration.prototype.years

View file

@ -15,7 +15,7 @@ class DurationPrototype final : public PrototypeObject<DurationPrototype, Durati
JS_PROTOTYPE_OBJECT(DurationPrototype, Duration, Temporal.Duration);
public:
virtual ThrowCompletionOr<void> initialize(Realm&) override;
virtual void initialize(Realm&) override;
virtual ~DurationPrototype() override = default;
private:

View file

@ -18,9 +18,9 @@ InstantConstructor::InstantConstructor(Realm& realm)
{
}
ThrowCompletionOr<void> InstantConstructor::initialize(Realm& realm)
void InstantConstructor::initialize(Realm& realm)
{
MUST_OR_THROW_OOM(NativeFunction::initialize(realm));
Base::initialize(realm);
auto& vm = this->vm();
@ -36,8 +36,6 @@ ThrowCompletionOr<void> InstantConstructor::initialize(Realm& realm)
define_native_function(realm, vm.names.compare, compare, 2, attr);
define_direct_property(vm.names.length, Value(1), Attribute::Configurable);
return {};
}
// 8.1.1 Temporal.Instant ( epochNanoseconds ), https://tc39.es/proposal-temporal/#sec-temporal.instant

View file

@ -14,7 +14,7 @@ class InstantConstructor final : public NativeFunction {
JS_OBJECT(InstantConstructor, NativeFunction);
public:
virtual ThrowCompletionOr<void> initialize(Realm&) override;
virtual void initialize(Realm&) override;
virtual ~InstantConstructor() override = default;
virtual ThrowCompletionOr<Value> call() override;

View file

@ -24,14 +24,14 @@ InstantPrototype::InstantPrototype(Realm& realm)
{
}
ThrowCompletionOr<void> InstantPrototype::initialize(Realm& realm)
void InstantPrototype::initialize(Realm& realm)
{
MUST_OR_THROW_OOM(Base::initialize(realm));
Base::initialize(realm);
auto& vm = this->vm();
// 8.3.2 Temporal.Instant.prototype[ @@toStringTag ], https://tc39.es/proposal-temporal/#sec-temporal.instant.prototype-@@tostringtag
define_direct_property(vm.well_known_symbol_to_string_tag(), MUST_OR_THROW_OOM(PrimitiveString::create(vm, "Temporal.Instant"sv)), Attribute::Configurable);
define_direct_property(vm.well_known_symbol_to_string_tag(), MUST(PrimitiveString::create(vm, "Temporal.Instant"sv)), Attribute::Configurable);
define_native_accessor(realm, vm.names.epochSeconds, epoch_seconds_getter, {}, Attribute::Configurable);
define_native_accessor(realm, vm.names.epochMilliseconds, epoch_milliseconds_getter, {}, Attribute::Configurable);
@ -51,8 +51,6 @@ ThrowCompletionOr<void> InstantPrototype::initialize(Realm& realm)
define_native_function(realm, vm.names.valueOf, value_of, 0, attr);
define_native_function(realm, vm.names.toZonedDateTime, to_zoned_date_time, 1, attr);
define_native_function(realm, vm.names.toZonedDateTimeISO, to_zoned_date_time_iso, 1, attr);
return {};
}
// 8.3.3 get Temporal.Instant.prototype.epochSeconds, https://tc39.es/proposal-temporal/#sec-get-temporal.instant.prototype.epochseconds

View file

@ -15,7 +15,7 @@ class InstantPrototype final : public PrototypeObject<InstantPrototype, Instant>
JS_PROTOTYPE_OBJECT(InstantPrototype, Instant, Temporal.Instant);
public:
virtual ThrowCompletionOr<void> initialize(Realm&) override;
virtual void initialize(Realm&) override;
virtual ~InstantPrototype() override = default;
private:

View file

@ -26,14 +26,14 @@ Now::Now(Realm& realm)
{
}
ThrowCompletionOr<void> Now::initialize(Realm& realm)
void Now::initialize(Realm& realm)
{
MUST_OR_THROW_OOM(Base::initialize(realm));
Base::initialize(realm);
auto& vm = this->vm();
// 2.1.1 Temporal.Now [ @@toStringTag ], https://tc39.es/proposal-temporal/#sec-temporal-now-@@tostringtag
define_direct_property(vm.well_known_symbol_to_string_tag(), MUST_OR_THROW_OOM(PrimitiveString::create(vm, "Temporal.Now"sv)), Attribute::Configurable);
define_direct_property(vm.well_known_symbol_to_string_tag(), MUST(PrimitiveString::create(vm, "Temporal.Now"sv)), Attribute::Configurable);
u8 attr = Attribute::Writable | Attribute::Configurable;
define_native_function(realm, vm.names.timeZone, time_zone, 0, attr);
@ -45,8 +45,6 @@ ThrowCompletionOr<void> Now::initialize(Realm& realm)
define_native_function(realm, vm.names.plainDate, plain_date, 1, attr);
define_native_function(realm, vm.names.plainDateISO, plain_date_iso, 0, attr);
define_native_function(realm, vm.names.plainTimeISO, plain_time_iso, 0, attr);
return {};
}
// 2.2.1 Temporal.Now.timeZone ( ), https://tc39.es/proposal-temporal/#sec-temporal.now.timezone

View file

@ -15,7 +15,7 @@ class Now final : public Object {
JS_OBJECT(Now, Object);
public:
virtual ThrowCompletionOr<void> initialize(Realm&) override;
virtual void initialize(Realm&) override;
virtual ~Now() override = default;
private:

View file

@ -20,9 +20,9 @@ PlainDateConstructor::PlainDateConstructor(Realm& realm)
{
}
ThrowCompletionOr<void> PlainDateConstructor::initialize(Realm& realm)
void PlainDateConstructor::initialize(Realm& realm)
{
MUST_OR_THROW_OOM(NativeFunction::initialize(realm));
Base::initialize(realm);
auto& vm = this->vm();
@ -34,8 +34,6 @@ ThrowCompletionOr<void> PlainDateConstructor::initialize(Realm& realm)
define_native_function(realm, vm.names.compare, compare, 2, attr);
define_direct_property(vm.names.length, Value(3), Attribute::Configurable);
return {};
}
// 3.1.1 Temporal.PlainDate ( isoYear, isoMonth, isoDay [ , calendarLike ] ), https://tc39.es/proposal-temporal/#sec-temporal.plaindate

View file

@ -14,7 +14,7 @@ class PlainDateConstructor final : public NativeFunction {
JS_OBJECT(PlainDateConstructor, NativeFunction);
public:
virtual ThrowCompletionOr<void> initialize(Realm&) override;
virtual void initialize(Realm&) override;
virtual ~PlainDateConstructor() override = default;
virtual ThrowCompletionOr<Value> call() override;

View file

@ -25,14 +25,14 @@ PlainDatePrototype::PlainDatePrototype(Realm& realm)
{
}
ThrowCompletionOr<void> PlainDatePrototype::initialize(Realm& realm)
void PlainDatePrototype::initialize(Realm& realm)
{
MUST_OR_THROW_OOM(Base::initialize(realm));
Base::initialize(realm);
auto& vm = this->vm();
// 3.3.2 Temporal.PlainDate.prototype[ @@toStringTag ], https://tc39.es/proposal-temporal/#sec-temporal.plaindate.prototype-@@tostringtag
define_direct_property(vm.well_known_symbol_to_string_tag(), MUST_OR_THROW_OOM(PrimitiveString::create(vm, "Temporal.PlainDate"sv)), Attribute::Configurable);
define_direct_property(vm.well_known_symbol_to_string_tag(), MUST(PrimitiveString::create(vm, "Temporal.PlainDate"sv)), Attribute::Configurable);
define_native_accessor(realm, vm.names.calendar, calendar_getter, {}, Attribute::Configurable);
define_native_accessor(realm, vm.names.year, year_getter, {}, Attribute::Configurable);
@ -68,8 +68,6 @@ ThrowCompletionOr<void> PlainDatePrototype::initialize(Realm& realm)
define_native_function(realm, vm.names.toLocaleString, to_locale_string, 0, attr);
define_native_function(realm, vm.names.toJSON, to_json, 0, attr);
define_native_function(realm, vm.names.valueOf, value_of, 0, attr);
return {};
}
// 3.3.3 get Temporal.PlainDate.prototype.calendar, https://tc39.es/proposal-temporal/#sec-get-temporal.plaindate.prototype.calendar

View file

@ -15,7 +15,7 @@ class PlainDatePrototype final : public PrototypeObject<PlainDatePrototype, Plai
JS_PROTOTYPE_OBJECT(PlainDatePrototype, PlainDate, Temporal.PlainDate);
public:
virtual ThrowCompletionOr<void> initialize(Realm&) override;
virtual void initialize(Realm&) override;
virtual ~PlainDatePrototype() override = default;
private:

View file

@ -20,9 +20,9 @@ PlainDateTimeConstructor::PlainDateTimeConstructor(Realm& realm)
{
}
ThrowCompletionOr<void> PlainDateTimeConstructor::initialize(Realm& realm)
void PlainDateTimeConstructor::initialize(Realm& realm)
{
MUST_OR_THROW_OOM(NativeFunction::initialize(realm));
Base::initialize(realm);
auto& vm = this->vm();
@ -34,8 +34,6 @@ ThrowCompletionOr<void> PlainDateTimeConstructor::initialize(Realm& realm)
define_native_function(realm, vm.names.compare, compare, 2, attr);
define_direct_property(vm.names.length, Value(3), Attribute::Configurable);
return {};
}
// 5.1.1 Temporal.PlainDateTime ( isoYear, isoMonth, isoDay [ , hour [ , minute [ , second [ , millisecond [ , microsecond [ , nanosecond [ , calendarLike ] ] ] ] ] ] ] ), https://tc39.es/proposal-temporal/#sec-temporal.plaindatetime

View file

@ -14,7 +14,7 @@ class PlainDateTimeConstructor final : public NativeFunction {
JS_OBJECT(PlainDateTimeConstructor, NativeFunction);
public:
virtual ThrowCompletionOr<void> initialize(Realm&) override;
virtual void initialize(Realm&) override;
virtual ~PlainDateTimeConstructor() override = default;
virtual ThrowCompletionOr<Value> call() override;

View file

@ -26,14 +26,14 @@ PlainDateTimePrototype::PlainDateTimePrototype(Realm& realm)
{
}
ThrowCompletionOr<void> PlainDateTimePrototype::initialize(Realm& realm)
void PlainDateTimePrototype::initialize(Realm& realm)
{
MUST_OR_THROW_OOM(Base::initialize(realm));
Base::initialize(realm);
auto& vm = this->vm();
// 5.3.2 Temporal.PlainDateTime.prototype[ @@toStringTag ], https://tc39.es/proposal-temporal/#sec-temporal.plaindatetime.prototype-@@tostringtag
define_direct_property(vm.well_known_symbol_to_string_tag(), MUST_OR_THROW_OOM(PrimitiveString::create(vm, "Temporal.PlainDateTime"sv)), Attribute::Configurable);
define_direct_property(vm.well_known_symbol_to_string_tag(), MUST(PrimitiveString::create(vm, "Temporal.PlainDateTime"sv)), Attribute::Configurable);
define_native_accessor(realm, vm.names.calendar, calendar_getter, {}, Attribute::Configurable);
define_native_accessor(realm, vm.names.year, year_getter, {}, Attribute::Configurable);
@ -79,8 +79,6 @@ ThrowCompletionOr<void> PlainDateTimePrototype::initialize(Realm& realm)
define_native_function(realm, vm.names.toPlainMonthDay, to_plain_month_day, 0, attr);
define_native_function(realm, vm.names.toPlainTime, to_plain_time, 0, attr);
define_native_function(realm, vm.names.getISOFields, get_iso_fields, 0, attr);
return {};
}
// 5.3.3 get Temporal.PlainDateTime.prototype.calendar, https://tc39.es/proposal-temporal/#sec-get-temporal.plaindatetime.prototype.calendar

View file

@ -15,7 +15,7 @@ class PlainDateTimePrototype final : public PrototypeObject<PlainDateTimePrototy
JS_PROTOTYPE_OBJECT(PlainDateTimePrototype, PlainDateTime, Temporal.PlainDateTime);
public:
virtual ThrowCompletionOr<void> initialize(Realm&) override;
virtual void initialize(Realm&) override;
virtual ~PlainDateTimePrototype() override = default;
private:

View file

@ -19,9 +19,9 @@ PlainMonthDayConstructor::PlainMonthDayConstructor(Realm& realm)
{
}
ThrowCompletionOr<void> PlainMonthDayConstructor::initialize(Realm& realm)
void PlainMonthDayConstructor::initialize(Realm& realm)
{
MUST_OR_THROW_OOM(NativeFunction::initialize(realm));
Base::initialize(realm);
auto& vm = this->vm();
@ -32,8 +32,6 @@ ThrowCompletionOr<void> PlainMonthDayConstructor::initialize(Realm& realm)
u8 attr = Attribute::Writable | Attribute::Configurable;
define_native_function(realm, vm.names.from, from, 1, attr);
return {};
}
// 10.1.1 Temporal.PlainMonthDay ( isoMonth, isoDay [ , calendarLike [ , referenceISOYear ] ] ), https://tc39.es/proposal-temporal/#sec-temporal.plainmonthday

View file

@ -14,7 +14,7 @@ class PlainMonthDayConstructor final : public NativeFunction {
JS_OBJECT(PlainMonthDayConstructor, NativeFunction);
public:
virtual ThrowCompletionOr<void> initialize(Realm&) override;
virtual void initialize(Realm&) override;
virtual ~PlainMonthDayConstructor() override = default;
virtual ThrowCompletionOr<Value> call() override;

View file

@ -20,14 +20,14 @@ PlainMonthDayPrototype::PlainMonthDayPrototype(Realm& realm)
{
}
ThrowCompletionOr<void> PlainMonthDayPrototype::initialize(Realm& realm)
void PlainMonthDayPrototype::initialize(Realm& realm)
{
MUST_OR_THROW_OOM(Base::initialize(realm));
Base::initialize(realm);
auto& vm = this->vm();
// 10.3.2 Temporal.PlainMonthDay.prototype[ @@toStringTag ], https://tc39.es/proposal-temporal/#sec-temporal.plainmonthday.prototype-@@tostringtag
define_direct_property(vm.well_known_symbol_to_string_tag(), MUST_OR_THROW_OOM(PrimitiveString::create(vm, "Temporal.PlainMonthDay"sv)), Attribute::Configurable);
define_direct_property(vm.well_known_symbol_to_string_tag(), MUST(PrimitiveString::create(vm, "Temporal.PlainMonthDay"sv)), Attribute::Configurable);
define_native_accessor(realm, vm.names.calendar, calendar_getter, {}, Attribute::Configurable);
define_native_accessor(realm, vm.names.monthCode, month_code_getter, {}, Attribute::Configurable);
@ -42,8 +42,6 @@ ThrowCompletionOr<void> PlainMonthDayPrototype::initialize(Realm& realm)
define_native_function(realm, vm.names.valueOf, value_of, 0, attr);
define_native_function(realm, vm.names.toPlainDate, to_plain_date, 1, attr);
define_native_function(realm, vm.names.getISOFields, get_iso_fields, 0, attr);
return {};
}
// 10.3.3 get Temporal.PlainMonthDay.prototype.calendar, https://tc39.es/proposal-temporal/#sec-get-temporal.plainmonthday.prototype.calendar

View file

@ -15,7 +15,7 @@ class PlainMonthDayPrototype final : public PrototypeObject<PlainMonthDayPrototy
JS_PROTOTYPE_OBJECT(PlainMonthDayPrototype, PlainMonthDay, Temporal.PlainMonthDay);
public:
virtual ThrowCompletionOr<void> initialize(Realm&) override;
virtual void initialize(Realm&) override;
virtual ~PlainMonthDayPrototype() override = default;
private:

View file

@ -18,9 +18,9 @@ PlainTimeConstructor::PlainTimeConstructor(Realm& realm)
{
}
ThrowCompletionOr<void> PlainTimeConstructor::initialize(Realm& realm)
void PlainTimeConstructor::initialize(Realm& realm)
{
MUST_OR_THROW_OOM(NativeFunction::initialize(realm));
Base::initialize(realm);
auto& vm = this->vm();
@ -32,8 +32,6 @@ ThrowCompletionOr<void> PlainTimeConstructor::initialize(Realm& realm)
define_native_function(realm, vm.names.compare, compare, 2, attr);
define_direct_property(vm.names.length, Value(0), Attribute::Configurable);
return {};
}
// 4.1.1 Temporal.PlainTime ( [ hour [ , minute [ , second [ , millisecond [ , microsecond [ , nanosecond ] ] ] ] ] ] ), https://tc39.es/proposal-temporal/#sec-temporal.plaintime

View file

@ -14,7 +14,7 @@ class PlainTimeConstructor final : public NativeFunction {
JS_OBJECT(PlainTimeConstructor, NativeFunction);
public:
virtual ThrowCompletionOr<void> initialize(Realm&) override;
virtual void initialize(Realm&) override;
virtual ~PlainTimeConstructor() override = default;
virtual ThrowCompletionOr<Value> call() override;

View file

@ -25,14 +25,14 @@ PlainTimePrototype::PlainTimePrototype(Realm& realm)
{
}
ThrowCompletionOr<void> PlainTimePrototype::initialize(Realm& realm)
void PlainTimePrototype::initialize(Realm& realm)
{
MUST_OR_THROW_OOM(Base::initialize(realm));
Base::initialize(realm);
auto& vm = this->vm();
// 4.3.2 Temporal.PlainTime.prototype[ @@toStringTag ], https://tc39.es/proposal-temporal/#sec-temporal.plaintime.prototype-@@tostringtag
define_direct_property(vm.well_known_symbol_to_string_tag(), MUST_OR_THROW_OOM(PrimitiveString::create(vm, "Temporal.PlainTime"sv)), Attribute::Configurable);
define_direct_property(vm.well_known_symbol_to_string_tag(), MUST(PrimitiveString::create(vm, "Temporal.PlainTime"sv)), Attribute::Configurable);
define_native_accessor(realm, vm.names.calendar, calendar_getter, {}, Attribute::Configurable);
define_native_accessor(realm, vm.names.hour, hour_getter, {}, Attribute::Configurable);
@ -57,8 +57,6 @@ ThrowCompletionOr<void> PlainTimePrototype::initialize(Realm& realm)
define_native_function(realm, vm.names.toLocaleString, to_locale_string, 0, attr);
define_native_function(realm, vm.names.toJSON, to_json, 0, attr);
define_native_function(realm, vm.names.valueOf, value_of, 0, attr);
return {};
}
// 4.3.3 get Temporal.PlainTime.prototype.calendar, https://tc39.es/proposal-temporal/#sec-get-temporal.plaintime.prototype.calendar

View file

@ -15,7 +15,7 @@ class PlainTimePrototype final : public PrototypeObject<PlainTimePrototype, Plai
JS_PROTOTYPE_OBJECT(PlainTimePrototype, PlainTime, Temporal.PlainTime);
public:
virtual ThrowCompletionOr<void> initialize(Realm&) override;
virtual void initialize(Realm&) override;
virtual ~PlainTimePrototype() override = default;
private:

View file

@ -20,9 +20,9 @@ PlainYearMonthConstructor::PlainYearMonthConstructor(Realm& realm)
{
}
ThrowCompletionOr<void> PlainYearMonthConstructor::initialize(Realm& realm)
void PlainYearMonthConstructor::initialize(Realm& realm)
{
MUST_OR_THROW_OOM(NativeFunction::initialize(realm));
Base::initialize(realm);
auto& vm = this->vm();
@ -34,8 +34,6 @@ ThrowCompletionOr<void> PlainYearMonthConstructor::initialize(Realm& realm)
u8 attr = Attribute::Writable | Attribute::Configurable;
define_native_function(realm, vm.names.from, from, 1, attr);
define_native_function(realm, vm.names.compare, compare, 2, attr);
return {};
}
// 9.1.1 Temporal.PlainYearMonth ( isoYear, isoMonth [ , calendarLike [ , referenceISODay ] ] ), https://tc39.es/proposal-temporal/#sec-temporal.plainyearmonth

View file

@ -14,7 +14,7 @@ class PlainYearMonthConstructor final : public NativeFunction {
JS_OBJECT(PlainYearMonthConstructor, NativeFunction);
public:
virtual ThrowCompletionOr<void> initialize(Realm&) override;
virtual void initialize(Realm&) override;
virtual ~PlainYearMonthConstructor() override = default;
virtual ThrowCompletionOr<Value> call() override;

View file

@ -22,14 +22,14 @@ PlainYearMonthPrototype::PlainYearMonthPrototype(Realm& realm)
{
}
ThrowCompletionOr<void> PlainYearMonthPrototype::initialize(Realm& realm)
void PlainYearMonthPrototype::initialize(Realm& realm)
{
MUST_OR_THROW_OOM(Base::initialize(realm));
Base::initialize(realm);
auto& vm = this->vm();
// 9.3.2 Temporal.PlainYearMonth.prototype[ @@toStringTag ], https://tc39.es/proposal-temporal/#sec-temporal.plainyearmonth.prototype-@@tostringtag
define_direct_property(vm.well_known_symbol_to_string_tag(), MUST_OR_THROW_OOM(PrimitiveString::create(vm, "Temporal.PlainYearMonth"sv)), Attribute::Configurable);
define_direct_property(vm.well_known_symbol_to_string_tag(), MUST(PrimitiveString::create(vm, "Temporal.PlainYearMonth"sv)), Attribute::Configurable);
define_native_accessor(realm, vm.names.calendar, calendar_getter, {}, Attribute::Configurable);
define_native_accessor(realm, vm.names.year, year_getter, {}, Attribute::Configurable);
@ -55,8 +55,6 @@ ThrowCompletionOr<void> PlainYearMonthPrototype::initialize(Realm& realm)
define_native_function(realm, vm.names.valueOf, value_of, 0, attr);
define_native_function(realm, vm.names.toPlainDate, to_plain_date, 1, attr);
define_native_function(realm, vm.names.getISOFields, get_iso_fields, 0, attr);
return {};
}
// 9.3.3 get Temporal.PlainYearMonth.prototype.calendar, https://tc39.es/proposal-temporal/#sec-get-temporal.plainyearmonth.prototype.calendar

View file

@ -15,7 +15,7 @@ class PlainYearMonthPrototype final : public PrototypeObject<PlainYearMonthProto
JS_PROTOTYPE_OBJECT(PlainYearMonthPrototype, PlainYearMonth, Temporal.PlainYearMonth);
public:
virtual ThrowCompletionOr<void> initialize(Realm&) override;
virtual void initialize(Realm&) override;
virtual ~PlainYearMonthPrototype() override = default;
private:

View file

@ -26,17 +26,17 @@ Temporal::Temporal(Realm& realm)
{
}
ThrowCompletionOr<void> Temporal::initialize(Realm& realm)
void Temporal::initialize(Realm& realm)
{
MUST_OR_THROW_OOM(Base::initialize(realm));
Base::initialize(realm);
auto& vm = this->vm();
// 1.1.1 Temporal [ @@toStringTag ], https://tc39.es/proposal-temporal/#sec-temporal-@@tostringtag
define_direct_property(vm.well_known_symbol_to_string_tag(), MUST_OR_THROW_OOM(PrimitiveString::create(vm, "Temporal"sv)), Attribute::Configurable);
define_direct_property(vm.well_known_symbol_to_string_tag(), MUST(PrimitiveString::create(vm, "Temporal"sv)), Attribute::Configurable);
u8 attr = Attribute::Writable | Attribute::Configurable;
define_direct_property(vm.names.Now, MUST_OR_THROW_OOM(heap().allocate<Now>(realm, realm)), attr);
define_direct_property(vm.names.Now, MUST(heap().allocate<Now>(realm, realm)), attr);
define_intrinsic_accessor(vm.names.Calendar, attr, [](auto& realm) -> Value { return realm.intrinsics().temporal_calendar_constructor(); });
define_intrinsic_accessor(vm.names.Duration, attr, [](auto& realm) -> Value { return realm.intrinsics().temporal_duration_constructor(); });
define_intrinsic_accessor(vm.names.Instant, attr, [](auto& realm) -> Value { return realm.intrinsics().temporal_instant_constructor(); });
@ -47,8 +47,6 @@ ThrowCompletionOr<void> Temporal::initialize(Realm& realm)
define_intrinsic_accessor(vm.names.PlainYearMonth, attr, [](auto& realm) -> Value { return realm.intrinsics().temporal_plain_year_month_constructor(); });
define_intrinsic_accessor(vm.names.TimeZone, attr, [](auto& realm) -> Value { return realm.intrinsics().temporal_time_zone_constructor(); });
define_intrinsic_accessor(vm.names.ZonedDateTime, attr, [](auto& realm) -> Value { return realm.intrinsics().temporal_zoned_date_time_constructor(); });
return {};
}
}

View file

@ -14,7 +14,7 @@ class Temporal final : public Object {
JS_OBJECT(Temporal, Object);
public:
virtual ThrowCompletionOr<void> initialize(Realm&) override;
virtual void initialize(Realm&) override;
virtual ~Temporal() override = default;
private:

View file

@ -17,9 +17,9 @@ TimeZoneConstructor::TimeZoneConstructor(Realm& realm)
{
}
ThrowCompletionOr<void> TimeZoneConstructor::initialize(Realm& realm)
void TimeZoneConstructor::initialize(Realm& realm)
{
MUST_OR_THROW_OOM(NativeFunction::initialize(realm));
Base::initialize(realm);
auto& vm = this->vm();
@ -30,8 +30,6 @@ ThrowCompletionOr<void> TimeZoneConstructor::initialize(Realm& realm)
define_native_function(realm, vm.names.from, from, 1, attr);
define_direct_property(vm.names.length, Value(1), Attribute::Configurable);
return {};
}
// 11.2.1 Temporal.TimeZone ( identifier ), https://tc39.es/proposal-temporal/#sec-temporal.timezone

View file

@ -14,7 +14,7 @@ class TimeZoneConstructor final : public NativeFunction {
JS_OBJECT(TimeZoneConstructor, NativeFunction);
public:
virtual ThrowCompletionOr<void> initialize(Realm&) override;
virtual void initialize(Realm&) override;
virtual ~TimeZoneConstructor() override = default;
virtual ThrowCompletionOr<Value> call() override;

View file

@ -23,9 +23,9 @@ TimeZonePrototype::TimeZonePrototype(Realm& realm)
{
}
ThrowCompletionOr<void> TimeZonePrototype::initialize(Realm& realm)
void TimeZonePrototype::initialize(Realm& realm)
{
MUST_OR_THROW_OOM(Base::initialize(realm));
Base::initialize(realm);
auto& vm = this->vm();
@ -42,9 +42,7 @@ ThrowCompletionOr<void> TimeZonePrototype::initialize(Realm& realm)
define_native_function(realm, vm.names.toJSON, to_json, 0, attr);
// 11.4.2 Temporal.TimeZone.prototype[ @@toStringTag ], https://tc39.es/proposal-temporal/#sec-temporal.timezone.prototype-@@tostringtag
define_direct_property(vm.well_known_symbol_to_string_tag(), MUST_OR_THROW_OOM(PrimitiveString::create(vm, "Temporal.TimeZone"sv)), Attribute::Configurable);
return {};
define_direct_property(vm.well_known_symbol_to_string_tag(), MUST(PrimitiveString::create(vm, "Temporal.TimeZone"sv)), Attribute::Configurable);
}
// 11.4.3 get Temporal.TimeZone.prototype.id, https://tc39.es/proposal-temporal/#sec-get-temporal.timezone.prototype.id

View file

@ -15,7 +15,7 @@ class TimeZonePrototype final : public PrototypeObject<TimeZonePrototype, TimeZo
JS_PROTOTYPE_OBJECT(TimeZonePrototype, TimeZone, Temporal.TimeZone);
public:
virtual ThrowCompletionOr<void> initialize(Realm&) override;
virtual void initialize(Realm&) override;
virtual ~TimeZonePrototype() override = default;
private:

View file

@ -21,9 +21,9 @@ ZonedDateTimeConstructor::ZonedDateTimeConstructor(Realm& realm)
{
}
ThrowCompletionOr<void> ZonedDateTimeConstructor::initialize(Realm& realm)
void ZonedDateTimeConstructor::initialize(Realm& realm)
{
MUST_OR_THROW_OOM(NativeFunction::initialize(realm));
Base::initialize(realm);
auto& vm = this->vm();
@ -35,8 +35,6 @@ ThrowCompletionOr<void> ZonedDateTimeConstructor::initialize(Realm& realm)
define_native_function(realm, vm.names.compare, compare, 2, attr);
define_direct_property(vm.names.length, Value(2), Attribute::Configurable);
return {};
}
// 6.1.1 Temporal.ZonedDateTime ( epochNanoseconds, timeZoneLike [ , calendarLike ] ), https://tc39.es/proposal-temporal/#sec-temporal.zoneddatetime

View file

@ -14,7 +14,7 @@ class ZonedDateTimeConstructor final : public NativeFunction {
JS_OBJECT(ZonedDateTimeConstructor, NativeFunction);
public:
virtual ThrowCompletionOr<void> initialize(Realm&) override;
virtual void initialize(Realm&) override;
virtual ~ZonedDateTimeConstructor() override = default;
virtual ThrowCompletionOr<Value> call() override;

View file

@ -26,14 +26,14 @@ ZonedDateTimePrototype::ZonedDateTimePrototype(Realm& realm)
{
}
ThrowCompletionOr<void> ZonedDateTimePrototype::initialize(Realm& realm)
void ZonedDateTimePrototype::initialize(Realm& realm)
{
MUST_OR_THROW_OOM(Base::initialize(realm));
Base::initialize(realm);
auto& vm = this->vm();
// 6.3.2 Temporal.ZonedDateTime.prototype[ @@toStringTag ], https://tc39.es/proposal-temporal/#sec-temporal.zoneddatetime.prototype-@@tostringtag
define_direct_property(vm.well_known_symbol_to_string_tag(), MUST_OR_THROW_OOM(PrimitiveString::create(vm, "Temporal.ZonedDateTime"sv)), Attribute::Configurable);
define_direct_property(vm.well_known_symbol_to_string_tag(), MUST(PrimitiveString::create(vm, "Temporal.ZonedDateTime"sv)), Attribute::Configurable);
define_native_accessor(realm, vm.names.calendar, calendar_getter, {}, Attribute::Configurable);
define_native_accessor(realm, vm.names.timeZone, time_zone_getter, {}, Attribute::Configurable);
@ -90,8 +90,6 @@ ThrowCompletionOr<void> ZonedDateTimePrototype::initialize(Realm& realm)
define_native_function(realm, vm.names.toPlainYearMonth, to_plain_year_month, 0, attr);
define_native_function(realm, vm.names.toPlainMonthDay, to_plain_month_day, 0, attr);
define_native_function(realm, vm.names.getISOFields, get_iso_fields, 0, attr);
return {};
}
// 6.3.3 get Temporal.ZonedDateTime.prototype.calendar, https://tc39.es/proposal-temporal/#sec-get-temporal.zoneddatetime.prototype.calendar

View file

@ -15,7 +15,7 @@ class ZonedDateTimePrototype final : public PrototypeObject<ZonedDateTimePrototy
JS_PROTOTYPE_OBJECT(ZonedDateTimePrototype, ZonedDateTime, Temporal.ZonedDateTime);
public:
virtual ThrowCompletionOr<void> initialize(Realm&) override;
virtual void initialize(Realm&) override;
virtual ~ZonedDateTimePrototype() override = default;
private: