Commit 8ea33c9f authored by Frank Tang's avatar Frank Tang Committed by V8 LUCI CQ

[Temporal] Add PlainTime toString and non-intl toLocaleString

Also implement AOs:
ToTemporalRoundingMode, ToSmallestTemporalUnit, RoundNumberToIncrement, RoundTime, ToSecondsStringPrecision

Spec Text:
https://tc39.es/proposal-temporal/#sec-temporal.plaintime.prototype.tostring
https://tc39.es/proposal-temporal/#sec-temporal.plaintime.prototype.tolocalestring
https://tc39.es/proposal-temporal/#sec-temporal-totemporalroundingmode
https://tc39.es/proposal-temporal/#sec-temporal-tosmallesttemporalunit
https://tc39.es/proposal-temporal/#sec-temporal-roundnumbertoincrement
https://tc39.es/proposal-temporal/#sec-temporal-roundtime
https://tc39.es/proposal-temporal/#sec-temporal-tosecondsstringprecision

Bug: v8:11544
Change-Id: I47ea27e966232e89bab48bf15a48c2c00ce5e160
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3665937Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/main@{#80792}
parent 05874e44
......@@ -58,10 +58,6 @@ TO_BE_IMPLEMENTED(TemporalPlainTimePrototypeUntil)
TO_BE_IMPLEMENTED(TemporalPlainTimePrototypeSince)
/* Temporal #sec-temporal.plaintime.prototype.round */
TO_BE_IMPLEMENTED(TemporalPlainTimePrototypeRound)
/* Temporal #sec-temporal.plaintime.prototype.tolocalestring */
TO_BE_IMPLEMENTED(TemporalPlainTimePrototypeToLocaleString)
/* Temporal #sec-temporal.plaintime.prototype.tostring */
TO_BE_IMPLEMENTED(TemporalPlainTimePrototypeToString)
/* Temporal.PlaneDateTime */
/* Temporal #sec-temporal.plaindatetime.prototype.add */
......@@ -408,6 +404,8 @@ TEMPORAL_PROTOTYPE_METHOD1(PlainTime, ToPlainDateTime, toPlainDateTime)
TEMPORAL_PROTOTYPE_METHOD2(PlainTime, With, with)
TEMPORAL_VALUE_OF(PlainTime)
TEMPORAL_PROTOTYPE_METHOD0(PlainTime, ToJSON, toJSON)
TEMPORAL_PROTOTYPE_METHOD2(PlainTime, ToLocaleString, toLocaleString)
TEMPORAL_PROTOTYPE_METHOD1(PlainTime, ToString, toString)
// PlainDateTime
BUILTIN(TemporalPlainDateTimeConstructor) {
......
......@@ -43,7 +43,6 @@
V(_, format_string, "format") \
V(_, fraction_string, "fraction") \
V(_, fractionalSecond_string, "fractionalSecond") \
V(_, fractionalSecondDigits_string, "fractionalSecondDigits") \
V(_, full_string, "full") \
V(_, granularity_string, "granularity") \
V(_, grapheme_string, "grapheme") \
......@@ -239,6 +238,7 @@
V(_, flags_string, "flags") \
V(_, Float32Array_string, "Float32Array") \
V(_, Float64Array_string, "Float64Array") \
V(_, fractionalSecondDigits_string, "fractionalSecondDigits") \
V(_, from_string, "from") \
V(_, Function_string, "Function") \
V(_, function_native_code_string, "function () { [native code] }") \
......
This diff is collapsed.
......@@ -536,6 +536,16 @@ class JSTemporalPlainTime
V8_WARN_UNUSED_RESULT static MaybeHandle<String> ToJSON(
Isolate* isolate, Handle<JSTemporalPlainTime> plain_time);
// #sec-temporal.plaintime.prototype.tostring
V8_WARN_UNUSED_RESULT static MaybeHandle<String> ToString(
Isolate* isolate, Handle<JSTemporalPlainTime> plain_time,
Handle<Object> options);
// #sec-temporal.plaintime.prototype.tolocalestring
V8_WARN_UNUSED_RESULT static MaybeHandle<String> ToLocaleString(
Isolate* isolate, Handle<JSTemporalPlainTime> plain_time,
Handle<Object> locales, Handle<Object> options);
DECL_PRINTER(JSTemporalPlainTime)
DEFINE_TORQUE_GENERATED_JS_TEMPORAL_HOUR_MINUTE_SECOND()
......
......@@ -1019,21 +1019,12 @@
'built-ins/Temporal/PlainTime/prototype/subtract/non-integer-throws-rangeerror': [FAIL],
'built-ins/Temporal/PlainTime/prototype/subtract/order-of-operations': [FAIL],
'built-ins/Temporal/PlainTime/prototype/subtract/subclassing-ignored': [FAIL],
'built-ins/Temporal/PlainTime/prototype/toLocaleString/branding': [FAIL],
'built-ins/Temporal/PlainTime/prototype/toLocaleString/return-string': [FAIL],
'built-ins/Temporal/PlainTime/prototype/toString/branding': [FAIL],
'built-ins/Temporal/PlainTime/prototype/toString/fractionalseconddigits-invalid-string': [FAIL],
'built-ins/Temporal/PlainTime/prototype/toString/fractionalseconddigits-nan': [FAIL],
'built-ins/Temporal/PlainTime/prototype/toString/fractionalseconddigits-non-integer': [FAIL],
'built-ins/Temporal/PlainTime/prototype/toString/fractionalseconddigits-out-of-range': [FAIL],
'built-ins/Temporal/PlainTime/prototype/toString/fractionalseconddigits-undefined': [FAIL],
'built-ins/Temporal/PlainTime/prototype/toString/fractionalseconddigits-wrong-type': [FAIL],
'built-ins/Temporal/PlainTime/prototype/toString/options-undefined': [FAIL],
'built-ins/Temporal/PlainTime/prototype/toString/roundingmode-invalid-string': [FAIL],
'built-ins/Temporal/PlainTime/prototype/toString/roundingmode-undefined': [FAIL],
'built-ins/Temporal/PlainTime/prototype/toString/roundingmode-wrong-type': [FAIL],
'built-ins/Temporal/PlainTime/prototype/toString/smallestunit-invalid-string': [FAIL],
'built-ins/Temporal/PlainTime/prototype/toString/smallestunit-plurals-accepted': [FAIL],
'built-ins/Temporal/PlainTime/prototype/toString/smallestunit-undefined': [FAIL],
'built-ins/Temporal/PlainTime/prototype/toString/smallestunit-valid-units': [FAIL],
'built-ins/Temporal/PlainTime/prototype/toString/smallestunit-wrong-type': [FAIL],
......@@ -1680,7 +1671,6 @@
'built-ins/Temporal/PlainTime/prototype/toString/basic': [FAIL],
'built-ins/Temporal/PlainTime/prototype/toString/fractionalseconddigits-auto': [FAIL],
'built-ins/Temporal/PlainTime/prototype/toString/fractionalseconddigits-number': [FAIL],
'built-ins/Temporal/PlainTime/prototype/toString/options-invalid': [FAIL],
'built-ins/Temporal/PlainTime/prototype/toString/rounding-cross-midnight': [FAIL],
'built-ins/Temporal/PlainTime/prototype/toString/roundingmode-ceil': [FAIL],
'built-ins/Temporal/PlainTime/prototype/toString/roundingmode-floor': [FAIL],
......@@ -1920,7 +1910,6 @@
'built-ins/Temporal/PlainTime/prototype/round/options-wrong-type': [FAIL],
'built-ins/Temporal/PlainTime/prototype/round/roundto-invalid-string': [FAIL],
'built-ins/Temporal/PlainTime/prototype/since/options-wrong-type': [FAIL],
'built-ins/Temporal/PlainTime/prototype/toString/options-wrong-type': [FAIL],
'built-ins/Temporal/PlainTime/prototype/until/options-wrong-type': [FAIL],
'built-ins/Temporal/PlainYearMonth/prototype/add/options-wrong-type': [FAIL],
'built-ins/Temporal/PlainYearMonth/prototype/since/options-wrong-type': [FAIL],
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment