diff --git a/Userland/Libraries/LibJS/Runtime/Temporal/CalendarPrototype.cpp b/Userland/Libraries/LibJS/Runtime/Temporal/CalendarPrototype.cpp index 043140aeeb..9b4e5bf9ea 100644 --- a/Userland/Libraries/LibJS/Runtime/Temporal/CalendarPrototype.cpp +++ b/Userland/Libraries/LibJS/Runtime/Temporal/CalendarPrototype.cpp @@ -173,7 +173,7 @@ JS_DEFINE_NATIVE_FUNCTION(CalendarPrototype::date_add) auto* date = TRY(to_temporal_date(vm, vm.argument(0))); // 5. Set duration to ? ToTemporalDuration(duration). - auto* duration = TRY(to_temporal_duration(vm, vm.argument(1))); + auto duration = TRY(to_temporal_duration(vm, vm.argument(1))); // 6. Set options to ? GetOptionsObject(options). auto const* options = TRY(get_options_object(vm, vm.argument(2))); diff --git a/Userland/Libraries/LibJS/Runtime/Temporal/Duration.cpp b/Userland/Libraries/LibJS/Runtime/Temporal/Duration.cpp index cc9b0caafe..0cf1d55da9 100644 --- a/Userland/Libraries/LibJS/Runtime/Temporal/Duration.cpp +++ b/Userland/Libraries/LibJS/Runtime/Temporal/Duration.cpp @@ -126,12 +126,12 @@ ThrowCompletionOr create_time_duration_record(VM& vm, double } // 7.5.8 ToTemporalDuration ( item ), https://tc39.es/proposal-temporal/#sec-temporal-totemporalduration -ThrowCompletionOr to_temporal_duration(VM& vm, Value item) +ThrowCompletionOr> to_temporal_duration(VM& vm, Value item) { // 1. If Type(item) is Object and item has an [[InitializedTemporalDuration]] internal slot, then if (item.is_object() && is(item.as_object())) { // a. Return item. - return &static_cast(item.as_object()); + return static_cast(item.as_object()); } // 2. Let result be ? ToTemporalDurationRecord(item). @@ -394,7 +394,7 @@ ThrowCompletionOr to_temporal_partial_duration_record(VM& } // 7.5.14 CreateTemporalDuration ( years, months, weeks, days, hours, minutes, seconds, milliseconds, microseconds, nanoseconds [ , newTarget ] ), https://tc39.es/proposal-temporal/#sec-temporal-createtemporalduration -ThrowCompletionOr create_temporal_duration(VM& vm, double years, double months, double weeks, double days, double hours, double minutes, double seconds, double milliseconds, double microseconds, double nanoseconds, FunctionObject const* new_target) +ThrowCompletionOr> create_temporal_duration(VM& vm, double years, double months, double weeks, double days, double hours, double minutes, double seconds, double milliseconds, double microseconds, double nanoseconds, FunctionObject const* new_target) { auto& realm = *vm.current_realm(); @@ -420,11 +420,11 @@ ThrowCompletionOr create_temporal_duration(VM& vm, double years, doub auto object = TRY(ordinary_create_from_constructor(vm, *new_target, &Intrinsics::temporal_duration_prototype, years, months, weeks, days, hours, minutes, seconds, milliseconds, microseconds, nanoseconds)); // 14. Return object. - return object.ptr(); + return object; } // 7.5.15 CreateNegatedTemporalDuration ( duration ), https://tc39.es/proposal-temporal/#sec-temporal-createnegatedtemporalduration -Duration* create_negated_temporal_duration(VM& vm, Duration const& duration) +NonnullGCPtr create_negated_temporal_duration(VM& vm, Duration const& duration) { // 1. Return ! CreateTemporalDuration(-duration.[[Years]], -duration.[[Months]], -duration.[[Weeks]], -duration.[[Days]], -duration.[[Hours]], -duration.[[Minutes]], -duration.[[Seconds]], -duration.[[Milliseconds]], -duration.[[Microseconds]], -duration.[[Nanoseconds]]). return MUST(create_temporal_duration(vm, -duration.years(), -duration.months(), -duration.weeks(), -duration.days(), -duration.hours(), -duration.minutes(), -duration.seconds(), -duration.milliseconds(), -duration.microseconds(), -duration.nanoseconds())); @@ -829,13 +829,13 @@ ThrowCompletionOr unbalance_duration_relative(VM& vm, double VERIFY(sign != 0); // 4. Let oneYear be ! CreateTemporalDuration(sign, 0, 0, 0, 0, 0, 0, 0, 0, 0). - auto* one_year = MUST(create_temporal_duration(vm, sign, 0, 0, 0, 0, 0, 0, 0, 0, 0)); + auto one_year = MUST(create_temporal_duration(vm, sign, 0, 0, 0, 0, 0, 0, 0, 0, 0)); // 5. Let oneMonth be ! CreateTemporalDuration(0, sign, 0, 0, 0, 0, 0, 0, 0, 0). - auto* one_month = MUST(create_temporal_duration(vm, 0, sign, 0, 0, 0, 0, 0, 0, 0, 0)); + auto one_month = MUST(create_temporal_duration(vm, 0, sign, 0, 0, 0, 0, 0, 0, 0, 0)); // 6. Let oneWeek be ! CreateTemporalDuration(0, 0, sign, 0, 0, 0, 0, 0, 0, 0). - auto* one_week = MUST(create_temporal_duration(vm, 0, 0, sign, 0, 0, 0, 0, 0, 0, 0)); + auto one_week = MUST(create_temporal_duration(vm, 0, 0, sign, 0, 0, 0, 0, 0, 0, 0)); Object* calendar; @@ -1024,13 +1024,13 @@ ThrowCompletionOr balance_duration_relative(VM& vm, double y VERIFY(sign != 0); // 5. Let oneYear be ! CreateTemporalDuration(sign, 0, 0, 0, 0, 0, 0, 0, 0, 0). - auto* one_year = MUST(create_temporal_duration(vm, sign, 0, 0, 0, 0, 0, 0, 0, 0, 0)); + auto one_year = MUST(create_temporal_duration(vm, sign, 0, 0, 0, 0, 0, 0, 0, 0, 0)); // 6. Let oneMonth be ! CreateTemporalDuration(0, sign, 0, 0, 0, 0, 0, 0, 0, 0). - auto* one_month = MUST(create_temporal_duration(vm, 0, sign, 0, 0, 0, 0, 0, 0, 0, 0)); + auto one_month = MUST(create_temporal_duration(vm, 0, sign, 0, 0, 0, 0, 0, 0, 0, 0)); // 7. Let oneWeek be ! CreateTemporalDuration(0, 0, sign, 0, 0, 0, 0, 0, 0, 0). - auto* one_week = MUST(create_temporal_duration(vm, 0, 0, sign, 0, 0, 0, 0, 0, 0, 0)); + auto one_week = MUST(create_temporal_duration(vm, 0, 0, sign, 0, 0, 0, 0, 0, 0, 0)); // 8. Set relativeTo to ? ToTemporalDate(relativeTo). auto* relative_to = TRY(to_temporal_date(vm, relative_to_value)); @@ -1273,10 +1273,10 @@ ThrowCompletionOr add_duration(VM& vm, double years1, double mon auto& calendar = relative_to.calendar(); // b. Let dateDuration1 be ! CreateTemporalDuration(y1, mon1, w1, d1, 0, 0, 0, 0, 0, 0). - auto* date_duration1 = MUST(create_temporal_duration(vm, years1, months1, weeks1, days1, 0, 0, 0, 0, 0, 0)); + auto date_duration1 = MUST(create_temporal_duration(vm, years1, months1, weeks1, days1, 0, 0, 0, 0, 0, 0)); // c. Let dateDuration2 be ! CreateTemporalDuration(y2, mon2, w2, d2, 0, 0, 0, 0, 0, 0). - auto* date_duration2 = MUST(create_temporal_duration(vm, years2, months2, weeks2, days2, 0, 0, 0, 0, 0, 0)); + auto date_duration2 = MUST(create_temporal_duration(vm, years2, months2, weeks2, days2, 0, 0, 0, 0, 0, 0)); // d. Let dateAdd be ? GetMethod(calendar, "dateAdd"). auto date_add = TRY(Value(&calendar).get_method(vm, vm.names.dateAdd)); @@ -1470,14 +1470,14 @@ ThrowCompletionOr round_duration(VM& vm, double years, double m VERIFY(plain_relative_to); // a. Let yearsDuration be ! CreateTemporalDuration(years, 0, 0, 0, 0, 0, 0, 0, 0, 0). - auto* years_duration = MUST(create_temporal_duration(vm, years, 0, 0, 0, 0, 0, 0, 0, 0, 0)); + auto years_duration = MUST(create_temporal_duration(vm, years, 0, 0, 0, 0, 0, 0, 0, 0, 0)); // FIXME: b. Let yearsLater be ? AddDate(calendarRec, plainRelativeTo, yearsDuration). auto date_add = TRY(Value(calendar).get_method(vm, vm.names.dateAdd)); auto* years_later = TRY(calendar_date_add(vm, *calendar, plain_relative_to, *years_duration, nullptr, date_add)); // c. Let yearsMonthsWeeks be ! CreateTemporalDuration(years, months, weeks, 0, 0, 0, 0, 0, 0, 0). - auto* years_months_weeks = MUST(create_temporal_duration(vm, years, months, weeks, 0, 0, 0, 0, 0, 0, 0)); + auto years_months_weeks = MUST(create_temporal_duration(vm, years, months, weeks, 0, 0, 0, 0, 0, 0, 0)); // FIXME: d. Let yearsMonthsWeeksLater be ? AddDate(calendarRec, plainRelativeTo, yearsMonthsWeeks). auto* years_months_weeks_later = TRY(calendar_date_add(vm, *calendar, plain_relative_to, *years_months_weeks, nullptr, date_add)); @@ -1534,7 +1534,7 @@ ThrowCompletionOr round_duration(VM& vm, double years, double m auto sign = fractional_days < 0 ? -1 : 1; // u. Let oneYear be ! CreateTemporalDuration(sign, 0, 0, 0, 0, 0, 0, 0, 0, 0). - auto* one_year = MUST(create_temporal_duration(vm, sign, 0, 0, 0, 0, 0, 0, 0, 0, 0)); + auto one_year = MUST(create_temporal_duration(vm, sign, 0, 0, 0, 0, 0, 0, 0, 0, 0)); // v. Set moveResult to ? MoveRelativeDate(calendarRec, plainRelativeTo, oneYear). // FIXME:: pass through calendarRec @@ -1565,14 +1565,14 @@ ThrowCompletionOr round_duration(VM& vm, double years, double m VERIFY(plain_relative_to); // a. Let yearsMonths be ! CreateTemporalDuration(years, months, 0, 0, 0, 0, 0, 0, 0, 0). - auto* years_months = MUST(create_temporal_duration(vm, years, months, 0, 0, 0, 0, 0, 0, 0, 0)); + auto years_months = MUST(create_temporal_duration(vm, years, months, 0, 0, 0, 0, 0, 0, 0, 0)); // FIXME: b. Let yearsMonthsLater be ? AddDate(calendarRec, plainRelativeTo, yearsMonths). auto date_add = TRY(Value(calendar).get_method(vm, vm.names.dateAdd)); auto* years_months_later = TRY(calendar_date_add(vm, *calendar, plain_relative_to, *years_months, nullptr, date_add)); // c. Let yearsMonthsWeeks be ! CreateTemporalDuration(years, months, weeks, 0, 0, 0, 0, 0, 0, 0). - auto* years_months_weeks = MUST(create_temporal_duration(vm, years, months, weeks, 0, 0, 0, 0, 0, 0, 0)); + auto years_months_weeks = MUST(create_temporal_duration(vm, years, months, weeks, 0, 0, 0, 0, 0, 0, 0)); // FIXME: d. Let yearsMonthsWeeksLater be ? AddDate(calendarRec, plainRelativeTo, yearsMonthsWeeks). auto* years_months_weeks_later = TRY(calendar_date_add(vm, *calendar, plain_relative_to, *years_months_weeks, nullptr, date_add)); @@ -1610,7 +1610,7 @@ ThrowCompletionOr round_duration(VM& vm, double years, double m months += months_passed; // o. Let monthsPassedDuration be ! CreateTemporalDuration(0, monthsPassed, 0, 0, 0, 0, 0, 0, 0, 0). - auto* months_passed_duration = MUST(create_temporal_duration(vm, 0, months_passed, 0, 0, 0, 0, 0, 0, 0, 0)); + auto months_passed_duration = MUST(create_temporal_duration(vm, 0, months_passed, 0, 0, 0, 0, 0, 0, 0, 0)); // p. Let moveResult be ? MoveRelativeDate(calendarRec, plainRelativeTo, monthsPassedDuration). // FIXME: Pass through calendarRec @@ -1629,7 +1629,7 @@ ThrowCompletionOr round_duration(VM& vm, double years, double m auto sign = fractional_days < 0 ? -1 : 1; // u. Let oneMonth be ! CreateTemporalDuration(0, sign, 0, 0, 0, 0, 0, 0, 0, 0). - auto* one_month = MUST(create_temporal_duration(vm, 0, sign, 0, 0, 0, 0, 0, 0, 0, 0)); + auto one_month = MUST(create_temporal_duration(vm, 0, sign, 0, 0, 0, 0, 0, 0, 0, 0)); // v. Let moveResult be ? MoveRelativeDate(calendarRec, plainRelativeTo, oneMonth). // FIXME: spec bug, this should be set. @@ -1682,7 +1682,7 @@ ThrowCompletionOr round_duration(VM& vm, double years, double m weeks += weeks_passed; // h. Let weeksPassedDuration be ! CreateTemporalDuration(0, 0, weeksPassed, 0, 0, 0, 0, 0, 0, 0). - auto* weeks_passed_duration = MUST(create_temporal_duration(vm, 0, 0, weeks_passed, 0, 0, 0, 0, 0, 0, 0)); + auto weeks_passed_duration = MUST(create_temporal_duration(vm, 0, 0, weeks_passed, 0, 0, 0, 0, 0, 0, 0)); // FIXME: i. Let moveResult be ? MoveRelativeDate(calendarRec, plainRelativeTo, weeksPassedDuration). auto date_add = TRY(Value(calendar).get_method(vm, vm.names.dateAdd)); @@ -1701,7 +1701,7 @@ ThrowCompletionOr round_duration(VM& vm, double years, double m auto sign = fractional_days < 0 ? -1 : 1; // n. Let oneWeek be ! CreateTemporalDuration(0, 0, sign, 0, 0, 0, 0, 0, 0, 0). - auto* one_week = MUST(create_temporal_duration(vm, 0, 0, sign, 0, 0, 0, 0, 0, 0, 0)); + auto one_week = MUST(create_temporal_duration(vm, 0, 0, sign, 0, 0, 0, 0, 0, 0, 0)); // o. Let moveResult be ? MoveRelativeDate(calendarRec, plainRelativeTo, oneWeek). // FIXME: spec bug, should be set @@ -2019,7 +2019,7 @@ ThrowCompletionOr temporal_duration_to_string(VM& vm, double years, doub } // 7.5.28 AddDurationToOrSubtractDurationFromDuration ( operation, duration, other, options ), https://tc39.es/proposal-temporal/#sec-temporal-adddurationtoorsubtractdurationfromduration -ThrowCompletionOr add_duration_to_or_subtract_duration_from_duration(VM& vm, ArithmeticOperation operation, Duration const& duration, Value other_value, Value options_value) +ThrowCompletionOr> add_duration_to_or_subtract_duration_from_duration(VM& vm, ArithmeticOperation operation, Duration const& duration, Value other_value, Value options_value) { // 1. If operation is subtract, let sign be -1. Otherwise, let sign be 1. i8 sign = operation == ArithmeticOperation::Subtract ? -1 : 1; diff --git a/Userland/Libraries/LibJS/Runtime/Temporal/Duration.h b/Userland/Libraries/LibJS/Runtime/Temporal/Duration.h index 41f00d81ba..e00a11fbfc 100644 --- a/Userland/Libraries/LibJS/Runtime/Temporal/Duration.h +++ b/Userland/Libraries/LibJS/Runtime/Temporal/Duration.h @@ -123,14 +123,14 @@ ThrowCompletionOr create_duration_record(VM&, double years, doub DateDurationRecord create_date_duration_record(double years, double months, double weeks, double days); ThrowCompletionOr create_date_duration_record(VM&, double years, double months, double weeks, double days); ThrowCompletionOr create_time_duration_record(VM&, double days, double hours, double minutes, double seconds, double milliseconds, double microseconds, double nanoseconds); -ThrowCompletionOr to_temporal_duration(VM&, Value item); +ThrowCompletionOr> to_temporal_duration(VM&, Value item); ThrowCompletionOr to_temporal_duration_record(VM&, Value temporal_duration_like); i8 duration_sign(double years, double months, double weeks, double days, double hours, double minutes, double seconds, double milliseconds, double microseconds, double nanoseconds); bool is_valid_duration(double years, double months, double weeks, double days, double hours, double minutes, double seconds, double milliseconds, double microseconds, double nanoseconds); StringView default_temporal_largest_unit(double years, double months, double weeks, double days, double hours, double minutes, double seconds, double milliseconds, double microseconds); ThrowCompletionOr to_temporal_partial_duration_record(VM&, Value temporal_duration_like); -ThrowCompletionOr create_temporal_duration(VM&, double years, double months, double weeks, double days, double hours, double minutes, double seconds, double milliseconds, double microseconds, double nanoseconds, FunctionObject const* new_target = nullptr); -Duration* create_negated_temporal_duration(VM&, Duration const& duration); +ThrowCompletionOr> create_temporal_duration(VM&, double years, double months, double weeks, double days, double hours, double minutes, double seconds, double milliseconds, double microseconds, double nanoseconds, FunctionObject const* new_target = nullptr); +NonnullGCPtr create_negated_temporal_duration(VM&, Duration const& duration); ThrowCompletionOr calculate_offset_shift(VM&, Value relative_to_value, double years, double months, double weeks, double days); Crypto::SignedBigInteger total_duration_nanoseconds(double days, double hours, double minutes, double seconds, double milliseconds, double microseconds, Crypto::SignedBigInteger const& nanoseconds, double offset_shift); ThrowCompletionOr balance_time_duration(VM& vm, double days, double hours, double minutes, double seconds, double milliseconds, double microseconds, Crypto::SignedBigInteger const& nanoseconds, StringView largest_unit); @@ -151,7 +151,7 @@ ThrowCompletionOr move_relative_zoned_date_time(VM&, ZonedDateTi ThrowCompletionOr round_duration(VM&, double years, double months, double weeks, double days, double hours, double minutes, double seconds, double milliseconds, double microseconds, double nanoseconds, u32 increment, StringView unit, StringView rounding_mode, Object* relative_to_object = nullptr); ThrowCompletionOr adjust_rounded_duration_days(VM&, double years, double months, double weeks, double days, double hours, double minutes, double seconds, double milliseconds, double microseconds, double nanoseconds, u32 increment, StringView unit, StringView rounding_mode, Object* relative_to_object); ThrowCompletionOr temporal_duration_to_string(VM&, double years, double months, double weeks, double days, double hours, double minutes, double seconds, double milliseconds, double microseconds, double nanoseconds, Variant const& precision); -ThrowCompletionOr add_duration_to_or_subtract_duration_from_duration(VM&, ArithmeticOperation, Duration const&, Value other_value, Value options_value); +ThrowCompletionOr> add_duration_to_or_subtract_duration_from_duration(VM&, ArithmeticOperation, Duration const&, Value other_value, Value options_value); // 7.5.22 DaysUntil ( earlier, later ), https://tc39.es/proposal-temporal/#sec-temporal-daysuntil template diff --git a/Userland/Libraries/LibJS/Runtime/Temporal/DurationConstructor.cpp b/Userland/Libraries/LibJS/Runtime/Temporal/DurationConstructor.cpp index 974646b41d..65b5823a7e 100644 --- a/Userland/Libraries/LibJS/Runtime/Temporal/DurationConstructor.cpp +++ b/Userland/Libraries/LibJS/Runtime/Temporal/DurationConstructor.cpp @@ -84,7 +84,7 @@ ThrowCompletionOr> DurationConstructor::construct(FunctionO auto ns = TRY(to_integer_if_integral(vm, vm.argument(9), ErrorType::TemporalInvalidDuration)); // 12. Return ? CreateTemporalDuration(y, mo, w, d, h, m, s, ms, mis, ns, NewTarget). - return *TRY(create_temporal_duration(vm, y, mo, w, d, h, m, s, ms, mis, ns, &new_target)); + return TRY(create_temporal_duration(vm, y, mo, w, d, h, m, s, ms, mis, ns, &new_target)); } // 7.2.2 Temporal.Duration.from ( item ), https://tc39.es/proposal-temporal/#sec-temporal.duration.from @@ -108,10 +108,10 @@ JS_DEFINE_NATIVE_FUNCTION(DurationConstructor::from) JS_DEFINE_NATIVE_FUNCTION(DurationConstructor::compare) { // 1. Set one to ? ToTemporalDuration(one). - auto* one = TRY(to_temporal_duration(vm, vm.argument(0))); + auto one = TRY(to_temporal_duration(vm, vm.argument(0))); // 2. Set two to ? ToTemporalDuration(two). - auto* two = TRY(to_temporal_duration(vm, vm.argument(1))); + auto two = TRY(to_temporal_duration(vm, vm.argument(1))); // 3. Set options to ? GetOptionsObject(options). auto const* options = TRY(get_options_object(vm, vm.argument(2))); diff --git a/Userland/Libraries/LibJS/Runtime/Temporal/Instant.cpp b/Userland/Libraries/LibJS/Runtime/Temporal/Instant.cpp index 696c3d70f4..b064957f7b 100644 --- a/Userland/Libraries/LibJS/Runtime/Temporal/Instant.cpp +++ b/Userland/Libraries/LibJS/Runtime/Temporal/Instant.cpp @@ -312,7 +312,7 @@ ThrowCompletionOr temporal_instant_to_string(VM& vm, Instant& instant, V } // 8.5.9 DifferenceTemporalInstant ( operation, instant, other, options ), https://tc39.es/proposal-temporal/#sec-temporal-differencetemporalinstant -ThrowCompletionOr difference_temporal_instant(VM& vm, DifferenceOperation operation, Instant const& instant, Value other_value, Value options) +ThrowCompletionOr> difference_temporal_instant(VM& vm, DifferenceOperation operation, Instant const& instant, Value other_value, Value options) { // 1. If operation is since, let sign be -1. Otherwise, let sign be 1. i8 sign = operation == DifferenceOperation::Since ? -1 : 1; diff --git a/Userland/Libraries/LibJS/Runtime/Temporal/Instant.h b/Userland/Libraries/LibJS/Runtime/Temporal/Instant.h index 2f31edc4d5..aa9b47922d 100644 --- a/Userland/Libraries/LibJS/Runtime/Temporal/Instant.h +++ b/Userland/Libraries/LibJS/Runtime/Temporal/Instant.h @@ -52,7 +52,7 @@ ThrowCompletionOr add_instant(VM&, BigInt const& epoch_nanoseconds, dou TimeDurationRecord difference_instant(VM&, BigInt const& nanoseconds1, BigInt const& nanoseconds2, u64 rounding_increment, StringView smallest_unit, StringView largest_unit, StringView rounding_mode); BigInt* round_temporal_instant(VM&, BigInt const& nanoseconds, u64 increment, StringView unit, StringView rounding_mode); ThrowCompletionOr temporal_instant_to_string(VM&, Instant&, Value time_zone, Variant const& precision); -ThrowCompletionOr difference_temporal_instant(VM&, DifferenceOperation, Instant const&, Value other, Value options); +ThrowCompletionOr> difference_temporal_instant(VM&, DifferenceOperation, Instant const&, Value other, Value options); ThrowCompletionOr add_duration_to_or_subtract_duration_from_instant(VM&, ArithmeticOperation, Instant const&, Value temporal_duration_like); } diff --git a/Userland/Libraries/LibJS/Runtime/Temporal/PlainDate.cpp b/Userland/Libraries/LibJS/Runtime/Temporal/PlainDate.cpp index 32d1f85a9f..b0c30f6b44 100644 --- a/Userland/Libraries/LibJS/Runtime/Temporal/PlainDate.cpp +++ b/Userland/Libraries/LibJS/Runtime/Temporal/PlainDate.cpp @@ -396,7 +396,7 @@ ThrowCompletionOr> difference_date(VM& vm, Object const& // 5. If one.[[ISOYear]] = two.[[ISOYear]] and one.[[ISOMonth]] = two.[[ISOMonth]] and one.[[ISODay]] = two.[[ISODay]], then if (one.iso_year() == two.iso_year() && one.iso_month() == two.iso_month() && one.iso_day() == two.iso_day()) { // a. Return ! CreateTemporalDuration(0, 0, 0, 0, 0, 0, 0, 0, 0, 0). - return *MUST(create_temporal_duration(vm, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)); + return MUST(create_temporal_duration(vm, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)); } // 6. If ! Get(options, "largestUnit") is "day", then @@ -406,7 +406,7 @@ ThrowCompletionOr> difference_date(VM& vm, Object const& auto days = days_until(one, two); // b. Return ! CreateTemporalDuration(0, 0, 0, days, 0, 0, 0, 0, 0, 0). - return *MUST(create_temporal_duration(vm, 0, 0, 0, days, 0, 0, 0, 0, 0, 0)); + return MUST(create_temporal_duration(vm, 0, 0, 0, days, 0, 0, 0, 0, 0, 0)); } // 7. Return ? CalendarDateUntil(calendarRec, one, two, options). @@ -529,7 +529,7 @@ i8 compare_iso_date(i32 year1, u8 month1, u8 day1, i32 year2, u8 month2, u8 day2 } // 3.5.11 DifferenceTemporalPlainDate ( operation, temporalDate, other, options ), https://tc39.es/proposal-temporal/#sec-temporal-differencetemporalplaindate -ThrowCompletionOr difference_temporal_plain_date(VM& vm, DifferenceOperation operation, PlainDate& temporal_date, Value other_value, Value options_value) +ThrowCompletionOr> difference_temporal_plain_date(VM& vm, DifferenceOperation operation, PlainDate& temporal_date, Value other_value, Value options_value) { // 1. If operation is since, let sign be -1. Otherwise, let sign be 1. i8 sign = operation == DifferenceOperation::Since ? -1 : 1; diff --git a/Userland/Libraries/LibJS/Runtime/Temporal/PlainDate.h b/Userland/Libraries/LibJS/Runtime/Temporal/PlainDate.h index 44e8866778..1013bd7052 100644 --- a/Userland/Libraries/LibJS/Runtime/Temporal/PlainDate.h +++ b/Userland/Libraries/LibJS/Runtime/Temporal/PlainDate.h @@ -58,7 +58,7 @@ ThrowCompletionOr pad_iso_year(VM&, i32 y); ThrowCompletionOr temporal_date_to_string(VM&, PlainDate&, StringView show_calendar); ThrowCompletionOr add_iso_date(VM&, i32 year, u8 month, u8 day, double years, double months, double weeks, double days, StringView overflow); i8 compare_iso_date(i32 year1, u8 month1, u8 day1, i32 year2, u8 month2, u8 day2); -ThrowCompletionOr difference_temporal_plain_date(VM&, DifferenceOperation, PlainDate&, Value other, Value options); +ThrowCompletionOr> difference_temporal_plain_date(VM&, DifferenceOperation, PlainDate&, Value other, Value options); ThrowCompletionOr> difference_date(VM& vm, Object const& calendar, PlainDate const& one, PlainDate const& two, Object const& options); } diff --git a/Userland/Libraries/LibJS/Runtime/Temporal/PlainDatePrototype.cpp b/Userland/Libraries/LibJS/Runtime/Temporal/PlainDatePrototype.cpp index 66db9348a0..1e389481d5 100644 --- a/Userland/Libraries/LibJS/Runtime/Temporal/PlainDatePrototype.cpp +++ b/Userland/Libraries/LibJS/Runtime/Temporal/PlainDatePrototype.cpp @@ -369,7 +369,7 @@ JS_DEFINE_NATIVE_FUNCTION(PlainDatePrototype::add) auto temporal_date = TRY(typed_this_object(vm)); // 3. Let duration be ? ToTemporalDuration(temporalDurationLike). - auto* duration = TRY(to_temporal_duration(vm, vm.argument(0))); + auto duration = TRY(to_temporal_duration(vm, vm.argument(0))); // 4. Set options to ? GetOptionsObject(options). auto* options = TRY(get_options_object(vm, vm.argument(1))); @@ -386,13 +386,13 @@ JS_DEFINE_NATIVE_FUNCTION(PlainDatePrototype::subtract) auto temporal_date = TRY(typed_this_object(vm)); // 3. Let duration be ? ToTemporalDuration(temporalDurationLike). - auto* duration = TRY(to_temporal_duration(vm, vm.argument(0))); + auto duration = TRY(to_temporal_duration(vm, vm.argument(0))); // 4. Set options to ? GetOptionsObject(options). auto* options = TRY(get_options_object(vm, vm.argument(1))); // 5. Let negatedDuration be ! CreateNegatedTemporalDuration(duration). - auto* negated_duration = create_negated_temporal_duration(vm, *duration); + auto negated_duration = create_negated_temporal_duration(vm, *duration); // 6. Return ? CalendarDateAdd(temporalDate.[[Calendar]], temporalDate, negatedDuration, options). return TRY(calendar_date_add(vm, temporal_date->calendar(), temporal_date, *negated_duration, options)); diff --git a/Userland/Libraries/LibJS/Runtime/Temporal/PlainDateTime.cpp b/Userland/Libraries/LibJS/Runtime/Temporal/PlainDateTime.cpp index 67d3e34369..71de2aefae 100644 --- a/Userland/Libraries/LibJS/Runtime/Temporal/PlainDateTime.cpp +++ b/Userland/Libraries/LibJS/Runtime/Temporal/PlainDateTime.cpp @@ -300,7 +300,7 @@ ThrowCompletionOr add_date_time(VM& vm, i32 year, u8 mont auto* date_part = MUST(create_temporal_date(vm, year, month, day, calendar)); // 4. Let dateDuration be ? CreateTemporalDuration(years, months, weeks, days + timeResult.[[Days]], 0, 0, 0, 0, 0, 0). - auto* date_duration = TRY(create_temporal_duration(vm, years, months, weeks, days + time_result.days, 0, 0, 0, 0, 0, 0)); + auto date_duration = TRY(create_temporal_duration(vm, years, months, weeks, days + time_result.days, 0, 0, 0, 0, 0, 0)); // 5. Let addedDate be ? CalendarDateAdd(calendar, datePart, dateDuration, options). auto* added_date = TRY(calendar_date_add(vm, calendar, date_part, *date_duration, options)); @@ -384,7 +384,7 @@ ThrowCompletionOr difference_iso_date_time(VM& vm, i32 year1, u8 } // 5.5.11 DifferenceTemporalPlainDateTime ( operation, dateTime, other, options ), https://tc39.es/proposal-temporal/#sec-temporal-differencetemporalplaindatetime -ThrowCompletionOr difference_temporal_plain_date_time(VM& vm, DifferenceOperation operation, PlainDateTime& date_time, Value other_value, Value options_value) +ThrowCompletionOr> difference_temporal_plain_date_time(VM& vm, DifferenceOperation operation, PlainDateTime& date_time, Value other_value, Value options_value) { // 1. If operation is since, let sign be -1. Otherwise, let sign be 1. i8 sign = operation == DifferenceOperation::Since ? -1 : 1; diff --git a/Userland/Libraries/LibJS/Runtime/Temporal/PlainDateTime.h b/Userland/Libraries/LibJS/Runtime/Temporal/PlainDateTime.h index 3da7dd5a1c..2c3fa9a876 100644 --- a/Userland/Libraries/LibJS/Runtime/Temporal/PlainDateTime.h +++ b/Userland/Libraries/LibJS/Runtime/Temporal/PlainDateTime.h @@ -75,7 +75,7 @@ i8 compare_iso_date_time(i32 year1, u8 month1, u8 day1, u8 hour1, u8 minute1, u8 ThrowCompletionOr add_date_time(VM&, i32 year, u8 month, u8 day, u8 hour, u8 minute, u8 second, u16 millisecond, u16 microsecond, u16 nanosecond, Object& calendar, double years, double months, double weeks, double days, double hours, double minutes, double seconds, double milliseconds, double microseconds, double nanoseconds, Object* options); ISODateTime round_iso_date_time(i32 year, u8 month, u8 day, u8 hour, u8 minute, u8 second, u16 millisecond, u16 microsecond, u16 nanosecond, u64 increment, StringView unit, StringView rounding_mode, Optional day_length = {}); ThrowCompletionOr difference_iso_date_time(VM&, i32 year1, u8 month1, u8 day1, u8 hour1, u8 minute1, u8 second1, u16 millisecond1, u16 microsecond1, u16 nanosecond1, i32 year2, u8 month2, u8 day2, u8 hour2, u8 minute2, u8 second2, u16 millisecond2, u16 microsecond2, u16 nanosecond2, Object& calendar, StringView largest_unit, Object const& options); -ThrowCompletionOr difference_temporal_plain_date_time(VM&, DifferenceOperation, PlainDateTime&, Value other, Value options); +ThrowCompletionOr> difference_temporal_plain_date_time(VM&, DifferenceOperation, PlainDateTime&, Value other, Value options); ThrowCompletionOr add_duration_to_or_subtract_duration_from_plain_date_time(VM&, ArithmeticOperation, PlainDateTime&, Value temporal_duration_like, Value options_value); } diff --git a/Userland/Libraries/LibJS/Runtime/Temporal/PlainTime.cpp b/Userland/Libraries/LibJS/Runtime/Temporal/PlainTime.cpp index cc50e328a3..66f863b77c 100644 --- a/Userland/Libraries/LibJS/Runtime/Temporal/PlainTime.cpp +++ b/Userland/Libraries/LibJS/Runtime/Temporal/PlainTime.cpp @@ -644,7 +644,7 @@ DaysAndTime round_time(u8 hour, u8 minute, u8 second, u16 millisecond, u16 micro } // 4.5.13 DifferenceTemporalPlainTime ( operation, temporalTime, other, options ), https://tc39.es/proposal-temporal/#sec-temporal-differencetemporalplaintime -ThrowCompletionOr difference_temporal_plain_time(VM& vm, DifferenceOperation operation, PlainTime const& temporal_time, Value other_value, Value options_value) +ThrowCompletionOr> difference_temporal_plain_time(VM& vm, DifferenceOperation operation, PlainTime const& temporal_time, Value other_value, Value options_value) { // 1. If operation is since, let sign be -1. Otherwise, let sign be 1. i8 sign = operation == DifferenceOperation::Since ? -1 : 1; diff --git a/Userland/Libraries/LibJS/Runtime/Temporal/PlainTime.h b/Userland/Libraries/LibJS/Runtime/Temporal/PlainTime.h index 1f4d2e1dca..9eccf543ac 100644 --- a/Userland/Libraries/LibJS/Runtime/Temporal/PlainTime.h +++ b/Userland/Libraries/LibJS/Runtime/Temporal/PlainTime.h @@ -90,7 +90,7 @@ ThrowCompletionOr temporal_time_to_string(VM&, u8 hour, u8 minute, u8 se i8 compare_temporal_time(u8 hour1, u8 minute1, u8 second1, u16 millisecond1, u16 microsecond1, u16 nanosecond1, u8 hour2, u8 minute2, u8 second2, u16 millisecond2, u16 microsecond2, u16 nanosecond2); DaysAndTime add_time(u8 hour, u8 minute, u8 second, u16 millisecond, u16 microsecond, u16 nanosecond, double hours, double minutes, double seconds, double milliseconds, double microseconds, double nanoseconds); DaysAndTime round_time(u8 hour, u8 minute, u8 second, u16 millisecond, u16 microsecond, u16 nanosecond, u64 increment, StringView unit, StringView rounding_mode, Optional day_length_ns = {}); -ThrowCompletionOr difference_temporal_plain_time(VM&, DifferenceOperation, PlainTime const&, Value other, Value options); +ThrowCompletionOr> difference_temporal_plain_time(VM&, DifferenceOperation, PlainTime const&, Value other, Value options); ThrowCompletionOr add_duration_to_or_subtract_duration_from_plain_time(VM&, ArithmeticOperation, PlainTime const&, Value temporal_duration_like); } diff --git a/Userland/Libraries/LibJS/Runtime/Temporal/PlainYearMonth.cpp b/Userland/Libraries/LibJS/Runtime/Temporal/PlainYearMonth.cpp index 525d30c9ce..1dd66aea60 100644 --- a/Userland/Libraries/LibJS/Runtime/Temporal/PlainYearMonth.cpp +++ b/Userland/Libraries/LibJS/Runtime/Temporal/PlainYearMonth.cpp @@ -232,7 +232,7 @@ ThrowCompletionOr temporal_year_month_to_string(VM& vm, PlainYearMonth& } // 9.5.7 DifferenceTemporalPlainYearMonth ( operation, yearMonth, other, options ), https://tc39.es/proposal-temporal/#sec-temporal-differencetemporalplainyearmonth -ThrowCompletionOr difference_temporal_plain_year_month(VM& vm, DifferenceOperation operation, PlainYearMonth& year_month, Value other_value, Value options_value) +ThrowCompletionOr> difference_temporal_plain_year_month(VM& vm, DifferenceOperation operation, PlainYearMonth& year_month, Value other_value, Value options_value) { // 1. If operation is since, let sign be -1. Otherwise, let sign be 1. i8 sign = operation == DifferenceOperation::Since ? -1 : 1; @@ -317,7 +317,7 @@ ThrowCompletionOr add_duration_to_or_subtract_duration_from_pla auto& realm = *vm.current_realm(); // 1. Let duration be ? ToTemporalDuration(temporalDurationLike). - auto* duration = TRY(to_temporal_duration(vm, temporal_duration_like)); + auto duration = TRY(to_temporal_duration(vm, temporal_duration_like)); // 2. If operation is subtract, then if (operation == ArithmeticOperation::Subtract) { @@ -363,7 +363,7 @@ ThrowCompletionOr add_duration_to_or_subtract_duration_from_pla auto* date = TRY(calendar_date_from_fields(vm, calendar, *fields)); // 13. Let durationToAdd be ! CreateTemporalDuration(duration.[[Years]], duration.[[Months]], duration.[[Weeks]], balanceResult.[[Days]], 0, 0, 0, 0, 0, 0). - auto* duration_to_add = MUST(create_temporal_duration(vm, duration->years(), duration->months(), duration->weeks(), balance_result.days, 0, 0, 0, 0, 0, 0)); + auto duration_to_add = MUST(create_temporal_duration(vm, duration->years(), duration->months(), duration->weeks(), balance_result.days, 0, 0, 0, 0, 0, 0)); // 14. Let optionsCopy be OrdinaryObjectCreate(null). auto options_copy = Object::create(realm, nullptr); diff --git a/Userland/Libraries/LibJS/Runtime/Temporal/PlainYearMonth.h b/Userland/Libraries/LibJS/Runtime/Temporal/PlainYearMonth.h index 8245037bd7..ae43477a8b 100644 --- a/Userland/Libraries/LibJS/Runtime/Temporal/PlainYearMonth.h +++ b/Userland/Libraries/LibJS/Runtime/Temporal/PlainYearMonth.h @@ -48,7 +48,7 @@ bool iso_year_month_within_limits(i32 year, u8 month); ISOYearMonth balance_iso_year_month(double year, double month); ThrowCompletionOr create_temporal_year_month(VM&, i32 iso_year, u8 iso_month, Object& calendar, u8 reference_iso_day, FunctionObject const* new_target = nullptr); ThrowCompletionOr temporal_year_month_to_string(VM&, PlainYearMonth&, StringView show_calendar); -ThrowCompletionOr difference_temporal_plain_year_month(VM&, DifferenceOperation, PlainYearMonth&, Value other, Value options); +ThrowCompletionOr> difference_temporal_plain_year_month(VM&, DifferenceOperation, PlainYearMonth&, Value other, Value options); ThrowCompletionOr add_duration_to_or_subtract_duration_from_plain_year_month(VM&, ArithmeticOperation, PlainYearMonth&, Value temporal_duration_like, Value options_value); } diff --git a/Userland/Libraries/LibJS/Runtime/Temporal/ZonedDateTime.cpp b/Userland/Libraries/LibJS/Runtime/Temporal/ZonedDateTime.cpp index 723eda5445..60f9ee8af3 100644 --- a/Userland/Libraries/LibJS/Runtime/Temporal/ZonedDateTime.cpp +++ b/Userland/Libraries/LibJS/Runtime/Temporal/ZonedDateTime.cpp @@ -383,7 +383,7 @@ ThrowCompletionOr add_zoned_date_time(VM& vm, BigInt const& epoch_nanos auto* date_part = MUST(create_temporal_date(vm, temporal_date_time->iso_year(), temporal_date_time->iso_month(), temporal_date_time->iso_day(), calendar)); // 7. Let dateDuration be ! CreateTemporalDuration(years, months, weeks, days, 0, 0, 0, 0, 0, 0). - auto* date_duration = MUST(create_temporal_duration(vm, years, months, weeks, days, 0, 0, 0, 0, 0, 0)); + auto date_duration = MUST(create_temporal_duration(vm, years, months, weeks, days, 0, 0, 0, 0, 0, 0)); // 8. Let addedDate be ? CalendarDateAdd(calendar, datePart, dateDuration, options). auto* added_date = TRY(calendar_date_add(vm, calendar, date_part, *date_duration, options)); @@ -571,7 +571,7 @@ ThrowCompletionOr nanoseconds_to_days(VM& vm, Crypto::S } // 6.5.8 DifferenceTemporalZonedDateTime ( operation, zonedDateTime, other, options ), https://tc39.es/proposal-temporal/#sec-temporal-differencetemporalzoneddatetime -ThrowCompletionOr difference_temporal_zoned_date_time(VM& vm, DifferenceOperation operation, ZonedDateTime& zoned_date_time, Value other_value, Value options_value) +ThrowCompletionOr> difference_temporal_zoned_date_time(VM& vm, DifferenceOperation operation, ZonedDateTime& zoned_date_time, Value other_value, Value options_value) { // 1. If operation is since, let sign be -1. Otherwise, let sign be 1. i8 sign = operation == DifferenceOperation::Since ? -1 : 1; diff --git a/Userland/Libraries/LibJS/Runtime/Temporal/ZonedDateTime.h b/Userland/Libraries/LibJS/Runtime/Temporal/ZonedDateTime.h index 42c5f07185..965951b6ac 100644 --- a/Userland/Libraries/LibJS/Runtime/Temporal/ZonedDateTime.h +++ b/Userland/Libraries/LibJS/Runtime/Temporal/ZonedDateTime.h @@ -60,7 +60,7 @@ ThrowCompletionOr temporal_zoned_date_time_to_string(VM&, ZonedDateTime& ThrowCompletionOr add_zoned_date_time(VM&, BigInt const& epoch_nanoseconds, Value time_zone, Object& calendar, double years, double months, double weeks, double days, double hours, double minutes, double seconds, double milliseconds, double microseconds, double nanoseconds, Object* options = nullptr); ThrowCompletionOr difference_zoned_date_time(VM&, BigInt const& nanoseconds1, BigInt const& nanoseconds2, Object& time_zone, Object& calendar, StringView largest_unit, Object const& options); ThrowCompletionOr nanoseconds_to_days(VM&, Crypto::SignedBigInteger nanoseconds, Value relative_to); -ThrowCompletionOr difference_temporal_zoned_date_time(VM&, DifferenceOperation, ZonedDateTime&, Value other, Value options); +ThrowCompletionOr> difference_temporal_zoned_date_time(VM&, DifferenceOperation, ZonedDateTime&, Value other, Value options); ThrowCompletionOr add_duration_to_or_subtract_duration_from_zoned_date_time(VM&, ArithmeticOperation, ZonedDateTime&, Value temporal_duration_like, Value options_value); }