diff --git a/Userland/Libraries/LibJS/Runtime/Temporal/PlainDatePrototype.cpp b/Userland/Libraries/LibJS/Runtime/Temporal/PlainDatePrototype.cpp index 1e389481d5..47d6ab105d 100644 --- a/Userland/Libraries/LibJS/Runtime/Temporal/PlainDatePrototype.cpp +++ b/Userland/Libraries/LibJS/Runtime/Temporal/PlainDatePrototype.cpp @@ -596,7 +596,7 @@ JS_DEFINE_NATIVE_FUNCTION(PlainDatePrototype::to_zoned_date_time) } // 7. Let instant be ? BuiltinTimeZoneGetInstantFor(timeZone, temporalDateTime, "compatible"). - auto* instant = TRY(builtin_time_zone_get_instant_for(vm, time_zone, *temporal_date_time, "compatible"sv)); + auto instant = TRY(builtin_time_zone_get_instant_for(vm, time_zone, *temporal_date_time, "compatible"sv)); // 8. Return ! CreateTemporalZonedDateTime(instant.[[Nanoseconds]], timeZone, temporalDate.[[Calendar]]). return MUST(create_temporal_zoned_date_time(vm, instant->nanoseconds(), *time_zone, temporal_date->calendar())); diff --git a/Userland/Libraries/LibJS/Runtime/Temporal/PlainDateTimePrototype.cpp b/Userland/Libraries/LibJS/Runtime/Temporal/PlainDateTimePrototype.cpp index deda86885c..3e60390aed 100644 --- a/Userland/Libraries/LibJS/Runtime/Temporal/PlainDateTimePrototype.cpp +++ b/Userland/Libraries/LibJS/Runtime/Temporal/PlainDateTimePrototype.cpp @@ -674,7 +674,7 @@ JS_DEFINE_NATIVE_FUNCTION(PlainDateTimePrototype::to_zoned_date_time) auto disambiguation = TRY(to_temporal_disambiguation(vm, options)); // 6. Let instant be ? BuiltinTimeZoneGetInstantFor(timeZone, dateTime, disambiguation). - auto* instant = TRY(builtin_time_zone_get_instant_for(vm, time_zone, date_time, disambiguation)); + auto instant = TRY(builtin_time_zone_get_instant_for(vm, time_zone, date_time, disambiguation)); // 7. Return ! CreateTemporalZonedDateTime(instant.[[Nanoseconds]], timeZone, dateTime.[[Calendar]]). return MUST(create_temporal_zoned_date_time(vm, instant->nanoseconds(), *time_zone, date_time->calendar())); diff --git a/Userland/Libraries/LibJS/Runtime/Temporal/PlainTimePrototype.cpp b/Userland/Libraries/LibJS/Runtime/Temporal/PlainTimePrototype.cpp index 6709e3b788..f79f164dc0 100644 --- a/Userland/Libraries/LibJS/Runtime/Temporal/PlainTimePrototype.cpp +++ b/Userland/Libraries/LibJS/Runtime/Temporal/PlainTimePrototype.cpp @@ -411,7 +411,7 @@ JS_DEFINE_NATIVE_FUNCTION(PlainTimePrototype::to_zoned_date_time) auto* temporal_date_time = TRY(create_temporal_date_time(vm, temporal_date->iso_year(), temporal_date->iso_month(), temporal_date->iso_day(), temporal_time->iso_hour(), temporal_time->iso_minute(), temporal_time->iso_second(), temporal_time->iso_millisecond(), temporal_time->iso_microsecond(), temporal_time->iso_nanosecond(), temporal_date->calendar())); // 11. Let instant be ? BuiltinTimeZoneGetInstantFor(timeZone, temporalDateTime, "compatible"). - auto* instant = TRY(builtin_time_zone_get_instant_for(vm, time_zone, *temporal_date_time, "compatible"sv)); + auto instant = TRY(builtin_time_zone_get_instant_for(vm, time_zone, *temporal_date_time, "compatible"sv)); // 12. Return ! CreateTemporalZonedDateTime(instant.[[Nanoseconds]], timeZone, temporalDate.[[Calendar]]). return MUST(create_temporal_zoned_date_time(vm, instant->nanoseconds(), *time_zone, temporal_date->calendar())); diff --git a/Userland/Libraries/LibJS/Runtime/Temporal/TimeZone.cpp b/Userland/Libraries/LibJS/Runtime/Temporal/TimeZone.cpp index 6baf24745d..d92f3abfa9 100644 --- a/Userland/Libraries/LibJS/Runtime/Temporal/TimeZone.cpp +++ b/Userland/Libraries/LibJS/Runtime/Temporal/TimeZone.cpp @@ -384,7 +384,7 @@ ThrowCompletionOr builtin_time_zone_get_plain_date_time_for(VM& } // 11.6.11 BuiltinTimeZoneGetInstantFor ( timeZone, dateTime, disambiguation ), https://tc39.es/proposal-temporal/#sec-temporal-builtintimezonegetinstantfor -ThrowCompletionOr builtin_time_zone_get_instant_for(VM& vm, Value time_zone, PlainDateTime& date_time, StringView disambiguation) +ThrowCompletionOr> builtin_time_zone_get_instant_for(VM& vm, Value time_zone, PlainDateTime& date_time, StringView disambiguation) { // 1. Assert: dateTime has an [[InitializedTemporalDateTime]] internal slot. @@ -396,7 +396,7 @@ ThrowCompletionOr builtin_time_zone_get_instant_for(VM& vm, Value time } // 11.6.12 DisambiguatePossibleInstants ( possibleInstants, timeZone, dateTime, disambiguation ), https://tc39.es/proposal-temporal/#sec-temporal-disambiguatepossibleinstants -ThrowCompletionOr disambiguate_possible_instants(VM& vm, MarkedVector const& possible_instants, Value time_zone, PlainDateTime& date_time, StringView disambiguation) +ThrowCompletionOr> disambiguate_possible_instants(VM& vm, MarkedVector> const& possible_instants, Value time_zone, PlainDateTime& date_time, StringView disambiguation) { // 1. Assert: dateTime has an [[InitializedTemporalDateTime]] internal slot. @@ -514,7 +514,7 @@ ThrowCompletionOr disambiguate_possible_instants(VM& vm, MarkedVector< } // 11.6.13 GetPossibleInstantsFor ( timeZone, dateTime ), https://tc39.es/proposal-temporal/#sec-temporal-getpossibleinstantsfor -ThrowCompletionOr> get_possible_instants_for(VM& vm, Value time_zone, PlainDateTime& date_time) +ThrowCompletionOr>> get_possible_instants_for(VM& vm, Value time_zone, PlainDateTime& date_time) { // 1. Assert: dateTime has an [[InitializedTemporalDateTime]] internal slot. @@ -525,7 +525,7 @@ ThrowCompletionOr> get_possible_instants_for(VM& vm, Valu auto iterator = TRY(get_iterator(vm, possible_instants, IteratorHint::Sync)); // 4. Let list be a new empty List. - auto list = MarkedVector { vm.heap() }; + auto list = MarkedVector> { vm.heap() }; // 5. Let next be true. GCPtr next; @@ -550,7 +550,7 @@ ThrowCompletionOr> get_possible_instants_for(VM& vm, Valu } // iii. Append nextValue to the end of the List list. - list.append(static_cast(&next_value.as_object())); + list.append(verify_cast(next_value.as_object())); } } while (next != nullptr); diff --git a/Userland/Libraries/LibJS/Runtime/Temporal/TimeZone.h b/Userland/Libraries/LibJS/Runtime/Temporal/TimeZone.h index f2c6056cdd..c5f34e43b0 100644 --- a/Userland/Libraries/LibJS/Runtime/Temporal/TimeZone.h +++ b/Userland/Libraries/LibJS/Runtime/Temporal/TimeZone.h @@ -49,9 +49,9 @@ ThrowCompletionOr to_temporal_time_zone(VM&, Value temporal_time_zone_l ThrowCompletionOr get_offset_nanoseconds_for(VM&, Value time_zone, Instant&); ThrowCompletionOr builtin_time_zone_get_offset_string_for(VM&, Value time_zone, Instant&); ThrowCompletionOr builtin_time_zone_get_plain_date_time_for(VM&, Value time_zone, Instant&, Object& calendar); -ThrowCompletionOr builtin_time_zone_get_instant_for(VM&, Value time_zone, PlainDateTime&, StringView disambiguation); -ThrowCompletionOr disambiguate_possible_instants(VM&, MarkedVector const& possible_instants, Value time_zone, PlainDateTime&, StringView disambiguation); -ThrowCompletionOr> get_possible_instants_for(VM&, Value time_zone, PlainDateTime&); +ThrowCompletionOr> builtin_time_zone_get_instant_for(VM&, Value time_zone, PlainDateTime&, StringView disambiguation); +ThrowCompletionOr> disambiguate_possible_instants(VM&, MarkedVector> const& possible_instants, Value time_zone, PlainDateTime&, StringView disambiguation); +ThrowCompletionOr>> get_possible_instants_for(VM&, Value time_zone, PlainDateTime&); ThrowCompletionOr time_zone_equals(VM&, Object& one, Object& two); } diff --git a/Userland/Libraries/LibJS/Runtime/Temporal/ZonedDateTime.cpp b/Userland/Libraries/LibJS/Runtime/Temporal/ZonedDateTime.cpp index 8247bea8ca..bc91bd1987 100644 --- a/Userland/Libraries/LibJS/Runtime/Temporal/ZonedDateTime.cpp +++ b/Userland/Libraries/LibJS/Runtime/Temporal/ZonedDateTime.cpp @@ -52,7 +52,7 @@ ThrowCompletionOr interpret_iso_date_time_offset(VM& vm, i32 year // 3. If offsetBehaviour is wall or offsetOption is "ignore", then if (offset_behavior == OffsetBehavior::Wall || offset_option == "ignore"sv) { // a. Let instant be ? BuiltinTimeZoneGetInstantFor(timeZone, dateTime, disambiguation). - auto* instant = TRY(builtin_time_zone_get_instant_for(vm, time_zone, *date_time, disambiguation)); + auto instant = TRY(builtin_time_zone_get_instant_for(vm, time_zone, *date_time, disambiguation)); // b. Return instant.[[Nanoseconds]]. return &instant->nanoseconds(); @@ -84,7 +84,7 @@ ThrowCompletionOr interpret_iso_date_time_offset(VM& vm, i32 year auto possible_instants = TRY(get_possible_instants_for(vm, time_zone, *date_time)); // 8. For each element candidate of possibleInstants, do - for (auto* candidate : possible_instants) { + for (auto candidate : possible_instants) { // a. Let candidateNanoseconds be ? GetOffsetNanosecondsFor(timeZone, candidate). auto candidate_nanoseconds = TRY(get_offset_nanoseconds_for(vm, time_zone, *candidate)); @@ -112,7 +112,7 @@ ThrowCompletionOr interpret_iso_date_time_offset(VM& vm, i32 year return vm.throw_completion(ErrorType::TemporalInvalidZonedDateTimeOffset); // 10. Let instant be ? DisambiguatePossibleInstants(possibleInstants, timeZone, dateTime, disambiguation). - auto* instant = TRY(disambiguate_possible_instants(vm, possible_instants, time_zone, *date_time, disambiguation)); + auto instant = TRY(disambiguate_possible_instants(vm, possible_instants, time_zone, *date_time, disambiguation)); // 11. Return instant.[[Nanoseconds]]. return &instant->nanoseconds(); @@ -392,7 +392,7 @@ ThrowCompletionOr add_zoned_date_time(VM& vm, BigInt const& epoch_nanos auto* intermediate_date_time = TRY(create_temporal_date_time(vm, added_date->iso_year(), added_date->iso_month(), added_date->iso_day(), temporal_date_time->iso_hour(), temporal_date_time->iso_minute(), temporal_date_time->iso_second(), temporal_date_time->iso_millisecond(), temporal_date_time->iso_microsecond(), temporal_date_time->iso_nanosecond(), calendar)); // 10. Let intermediateInstant be ? BuiltinTimeZoneGetInstantFor(timeZone, intermediateDateTime, "compatible"). - auto* intermediate_instant = TRY(builtin_time_zone_get_instant_for(vm, time_zone, *intermediate_date_time, "compatible"sv)); + auto intermediate_instant = TRY(builtin_time_zone_get_instant_for(vm, time_zone, *intermediate_date_time, "compatible"sv)); // 11. Return ? AddInstant(intermediateInstant.[[Nanoseconds]], hours, minutes, seconds, milliseconds, microseconds, nanoseconds). return add_instant(vm, intermediate_instant->nanoseconds(), hours, minutes, seconds, milliseconds, microseconds, nanoseconds); diff --git a/Userland/Libraries/LibJS/Runtime/Temporal/ZonedDateTimePrototype.cpp b/Userland/Libraries/LibJS/Runtime/Temporal/ZonedDateTimePrototype.cpp index 5e5b248cd4..fb5bed0e70 100644 --- a/Userland/Libraries/LibJS/Runtime/Temporal/ZonedDateTimePrototype.cpp +++ b/Userland/Libraries/LibJS/Runtime/Temporal/ZonedDateTimePrototype.cpp @@ -538,10 +538,10 @@ JS_DEFINE_NATIVE_FUNCTION(ZonedDateTimePrototype::hours_in_day_getter) auto* tomorrow = TRY(create_temporal_date_time(vm, tomorrow_fields.year, tomorrow_fields.month, tomorrow_fields.day, 0, 0, 0, 0, 0, 0, *iso_calendar)); // 13. Let todayInstant be ? BuiltinTimeZoneGetInstantFor(timeZone, today, "compatible"). - auto* today_instant = TRY(builtin_time_zone_get_instant_for(vm, &time_zone, *today, "compatible"sv)); + auto today_instant = TRY(builtin_time_zone_get_instant_for(vm, &time_zone, *today, "compatible"sv)); // 14. Let tomorrowInstant be ? BuiltinTimeZoneGetInstantFor(timeZone, tomorrow, "compatible"). - auto* tomorrow_instant = TRY(builtin_time_zone_get_instant_for(vm, &time_zone, *tomorrow, "compatible"sv)); + auto tomorrow_instant = TRY(builtin_time_zone_get_instant_for(vm, &time_zone, *tomorrow, "compatible"sv)); // 15. Let diffNs be tomorrowInstant.[[Nanoseconds]] - todayInstant.[[Nanoseconds]]. auto diff_ns = tomorrow_instant->nanoseconds().big_integer().minus(today_instant->nanoseconds().big_integer()); @@ -1041,7 +1041,7 @@ JS_DEFINE_NATIVE_FUNCTION(ZonedDateTimePrototype::round) auto* dt_start = TRY(create_temporal_date_time(vm, temporal_date_time->iso_year(), temporal_date_time->iso_month(), temporal_date_time->iso_day(), 0, 0, 0, 0, 0, 0, *iso_calendar)); // 15. Let instantStart be ? BuiltinTimeZoneGetInstantFor(timeZone, dtStart, "compatible"). - auto* instant_start = TRY(builtin_time_zone_get_instant_for(vm, &time_zone, *dt_start, "compatible"sv)); + auto instant_start = TRY(builtin_time_zone_get_instant_for(vm, &time_zone, *dt_start, "compatible"sv)); // 16. Let startNs be instantStart.[[Nanoseconds]]. auto& start_ns = instant_start->nanoseconds(); @@ -1175,7 +1175,7 @@ JS_DEFINE_NATIVE_FUNCTION(ZonedDateTimePrototype::start_of_day) auto* start_date_time = TRY(create_temporal_date_time(vm, temporal_date_time->iso_year(), temporal_date_time->iso_month(), temporal_date_time->iso_day(), 0, 0, 0, 0, 0, 0, calendar)); // 8. Let startInstant be ? BuiltinTimeZoneGetInstantFor(timeZone, startDateTime, "compatible"). - auto* start_instant = TRY(builtin_time_zone_get_instant_for(vm, &time_zone, *start_date_time, "compatible"sv)); + auto start_instant = TRY(builtin_time_zone_get_instant_for(vm, &time_zone, *start_date_time, "compatible"sv)); // 9. Return ! CreateTemporalZonedDateTime(startInstant.[[Nanoseconds]], timeZone, calendar). return MUST(create_temporal_zoned_date_time(vm, start_instant->nanoseconds(), time_zone, calendar));