Reland "[Temporal] Part 1 - Skeleton"
This is a reland of 0adc1410b1
1. Fork out test/mjsunit/temporal/function-exist.js test
to test/mjsunit/temporal/function-exist-no-i18n.js and mark
function-exist FAIL in no_i18n build.
Original change's description:
> [Temporal] Part 1 - Skeleton
>
> 1. Expose all the functions to empty buildins.
> 2. Wire up basic structure of classes and internal slots.
>
> Design Doc: https://docs.google.com/document/d/1Huu2OUlmveBh4wjgx0D7ouC9O9vSdiZWaRK3OwkQZU0/
>
> This is just a CL to establish a skeleton for Temporal.
> The Temporal is very big. The prototype CL is in
> https://chromium-review.googlesource.com/c/v8/v8/+/2967755
> but too big to be reviewed so I break up the basic structure here first.
>
> Cq-Include-Trybots: luci.v8.try:v8_linux64_bazel
> Bug: v8:11544
> Change-Id: I10d09e3c2530e5b1a6ba60014a2294e138879ff3
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3092561
> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org>
> Reviewed-by: Shu-yu Guo <syg@chromium.org>
> Reviewed-by: Jakob Gruber <jgruber@chromium.org>
> Commit-Queue: Frank Tang <ftang@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#76819}
Bug: v8:11544
Change-Id: I60eaface94ba9b3408cb235cd1ae425151a36732
Cq-Include-Trybots: luci.v8.try:v8_linux64_bazel
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3160324
Reviewed-by: Nico Hartmann <nicohartmann@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/main@{#77303}
This commit is contained in:
parent
50d3de0204
commit
77e713f533
@ -805,6 +805,7 @@ filegroup(
|
||||
"src/objects/js-proxy.tq",
|
||||
"src/objects/js-regexp-string-iterator.tq",
|
||||
"src/objects/js-regexp.tq",
|
||||
"src/objects/js-temporal-objects.tq",
|
||||
"src/objects/js-weak-refs.tq",
|
||||
"src/objects/literal-objects.tq",
|
||||
"src/objects/map.tq",
|
||||
@ -999,6 +1000,7 @@ filegroup(
|
||||
"src/builtins/builtins-sharedarraybuffer.cc",
|
||||
"src/builtins/builtins-string.cc",
|
||||
"src/builtins/builtins-symbol.cc",
|
||||
"src/builtins/builtins-temporal.cc",
|
||||
"src/builtins/builtins-trace.cc",
|
||||
"src/builtins/builtins-typed-array.cc",
|
||||
"src/builtins/builtins-utils-inl.h",
|
||||
@ -1577,6 +1579,8 @@ filegroup(
|
||||
"src/objects/js-regexp-string-iterator.h",
|
||||
"src/objects/js-regexp.cc",
|
||||
"src/objects/js-regexp.h",
|
||||
"src/objects/js-temporal-objects.h",
|
||||
"src/objects/js-temporal-objects-inl.h",
|
||||
"src/objects/js-weak-refs.h",
|
||||
"src/objects/js-weak-refs-inl.h",
|
||||
"src/objects/keys.cc",
|
||||
|
4
BUILD.gn
4
BUILD.gn
@ -1745,6 +1745,7 @@ torque_files = [
|
||||
"src/objects/js-proxy.tq",
|
||||
"src/objects/js-regexp-string-iterator.tq",
|
||||
"src/objects/js-regexp.tq",
|
||||
"src/objects/js-temporal-objects.tq",
|
||||
"src/objects/js-weak-refs.tq",
|
||||
"src/objects/literal-objects.tq",
|
||||
"src/objects/map.tq",
|
||||
@ -3142,6 +3143,8 @@ v8_header_set("v8_internal_headers") {
|
||||
"src/objects/js-regexp.h",
|
||||
"src/objects/js-segments-inl.h",
|
||||
"src/objects/js-segments.h",
|
||||
"src/objects/js-temporal-objects-inl.h",
|
||||
"src/objects/js-temporal-objects.h",
|
||||
"src/objects/js-weak-refs-inl.h",
|
||||
"src/objects/js-weak-refs.h",
|
||||
"src/objects/keys.h",
|
||||
@ -3993,6 +3996,7 @@ v8_source_set("v8_base_without_compiler") {
|
||||
"src/builtins/builtins-sharedarraybuffer.cc",
|
||||
"src/builtins/builtins-string.cc",
|
||||
"src/builtins/builtins-symbol.cc",
|
||||
"src/builtins/builtins-temporal.cc",
|
||||
"src/builtins/builtins-trace.cc",
|
||||
"src/builtins/builtins-typed-array.cc",
|
||||
"src/builtins/builtins-weak-refs.cc",
|
||||
|
@ -1044,7 +1044,579 @@ namespace internal {
|
||||
\
|
||||
/* CallAsyncModule* are spec anonymyous functions */ \
|
||||
CPP(CallAsyncModuleFulfilled) \
|
||||
CPP(CallAsyncModuleRejected)
|
||||
CPP(CallAsyncModuleRejected) \
|
||||
\
|
||||
/* Temporal */ \
|
||||
/* Temporal #sec-temporal.now.timezone */ \
|
||||
CPP(TemporalNowTimeZone) \
|
||||
/* Temporal #sec-temporal.now.instant */ \
|
||||
CPP(TemporalNowInstant) \
|
||||
/* Temporal #sec-temporal.now.plaindatetime */ \
|
||||
CPP(TemporalNowPlainDateTime) \
|
||||
/* Temporal #sec-temporal.now.plaindatetimeiso */ \
|
||||
CPP(TemporalNowPlainDateTimeISO) \
|
||||
/* Temporal #sec-temporal.now.zoneddatetime */ \
|
||||
CPP(TemporalNowZonedDateTime) \
|
||||
/* Temporal #sec-temporal.now.zoneddatetimeiso */ \
|
||||
CPP(TemporalNowZonedDateTimeISO) \
|
||||
/* Temporal #sec-temporal.now.plaindate */ \
|
||||
CPP(TemporalNowPlainDate) \
|
||||
/* Temporal #sec-temporal.now.plaindateiso */ \
|
||||
CPP(TemporalNowPlainDateISO) \
|
||||
/* There are no Temporal.now.plainTime */ \
|
||||
/* See https://github.com/tc39/proposal-temporal/issues/1540 */ \
|
||||
/* Temporal #sec-temporal.now.plaintimeiso */ \
|
||||
CPP(TemporalNowPlainTimeISO) \
|
||||
\
|
||||
/* Temporal.PlaneDate */ \
|
||||
/* Temporal #sec-temporal.plaindate */ \
|
||||
CPP(TemporalPlainDateConstructor) \
|
||||
/* Temporal #sec-temporal.plaindate.from */ \
|
||||
CPP(TemporalPlainDateFrom) \
|
||||
/* Temporal #sec-temporal.plaindate.compare */ \
|
||||
CPP(TemporalPlainDateCompare) \
|
||||
/* Temporal #sec-get-temporal.plaindate.prototype.calendar */ \
|
||||
CPP(TemporalPlainDatePrototypeCalendar) \
|
||||
/* Temporal #sec-get-temporal.plaindate.prototype.year */ \
|
||||
CPP(TemporalPlainDatePrototypeYear) \
|
||||
/* Temporal #sec-get-temporal.plaindate.prototype.month */ \
|
||||
CPP(TemporalPlainDatePrototypeMonth) \
|
||||
/* Temporal #sec-get-temporal.plaindate.prototype.monthcode */ \
|
||||
CPP(TemporalPlainDatePrototypeMonthCode) \
|
||||
/* Temporal #sec-get-temporal.plaindate.prototype.day */ \
|
||||
CPP(TemporalPlainDatePrototypeDay) \
|
||||
/* Temporal #sec-get-temporal.plaindate.prototype.dayofweek */ \
|
||||
CPP(TemporalPlainDatePrototypeDayOfWeek) \
|
||||
/* Temporal #sec-get-temporal.plaindate.prototype.dayofyear */ \
|
||||
CPP(TemporalPlainDatePrototypeDayOfYear) \
|
||||
/* Temporal #sec-get-temporal.plaindate.prototype.weekofyear */ \
|
||||
CPP(TemporalPlainDatePrototypeWeekOfYear) \
|
||||
/* Temporal #sec-get-temporal.plaindate.prototype.daysinweek */ \
|
||||
CPP(TemporalPlainDatePrototypeDaysInWeek) \
|
||||
/* Temporal #sec-get-temporal.plaindate.prototype.daysinmonth */ \
|
||||
CPP(TemporalPlainDatePrototypeDaysInMonth) \
|
||||
/* Temporal #sec-get-temporal.plaindate.prototype.daysinyear */ \
|
||||
CPP(TemporalPlainDatePrototypeDaysInYear) \
|
||||
/* Temporal #sec-get-temporal.plaindate.prototype.monthsinyear */ \
|
||||
CPP(TemporalPlainDatePrototypeMonthsInYear) \
|
||||
/* Temporal #sec-get-temporal.plaindate.prototype.inleapyear */ \
|
||||
CPP(TemporalPlainDatePrototypeInLeapYear) \
|
||||
/* Temporal #sec-temporal.plaindate.prototype.toplainyearmonth */ \
|
||||
CPP(TemporalPlainDatePrototypeToPlainYearMonth) \
|
||||
/* Temporal #sec-temporal.plaindate.prototype.toplainmonthday */ \
|
||||
CPP(TemporalPlainDatePrototypeToPlainMonthDay) \
|
||||
/* Temporal #sec-temporal.plaindate.prototype.getisofields */ \
|
||||
CPP(TemporalPlainDatePrototypeGetISOFields) \
|
||||
/* Temporal #sec-temporal.plaindate.prototype.add */ \
|
||||
CPP(TemporalPlainDatePrototypeAdd) \
|
||||
/* Temporal #sec-temporal.plaindate.prototype.substract */ \
|
||||
CPP(TemporalPlainDatePrototypeSubtract) \
|
||||
/* Temporal #sec-temporal.plaindate.prototype.with */ \
|
||||
CPP(TemporalPlainDatePrototypeWith) \
|
||||
/* Temporal #sec-temporal.plaindate.prototype.withcalendar */ \
|
||||
CPP(TemporalPlainDatePrototypeWithCalendar) \
|
||||
/* Temporal #sec-temporal.plaindate.prototype.until */ \
|
||||
CPP(TemporalPlainDatePrototypeUntil) \
|
||||
/* Temporal #sec-temporal.plaindate.prototype.since */ \
|
||||
CPP(TemporalPlainDatePrototypeSince) \
|
||||
/* Temporal #sec-temporal.plaindate.prototype.equals */ \
|
||||
CPP(TemporalPlainDatePrototypeEquals) \
|
||||
/* Temporal #sec-temporal.plaindate.prototype.toplaindatetime */ \
|
||||
CPP(TemporalPlainDatePrototypeToPlainDateTime) \
|
||||
/* Temporal #sec-temporal.plaindate.prototype.tozoneddatetime */ \
|
||||
CPP(TemporalPlainDatePrototypeToZonedDateTime) \
|
||||
/* Temporal #sec-temporal.plaindate.prototype.tostring */ \
|
||||
CPP(TemporalPlainDatePrototypeToString) \
|
||||
/* Temporal #sec-temporal.plaindate.prototype.tojson */ \
|
||||
CPP(TemporalPlainDatePrototypeToJSON) \
|
||||
/* Temporal #sec-temporal.plaindate.prototype.valueof */ \
|
||||
CPP(TemporalPlainDatePrototypeValueOf) \
|
||||
\
|
||||
/* Temporal.PlaneTime */ \
|
||||
/* Temporal #sec-temporal.plaintime */ \
|
||||
CPP(TemporalPlainTimeConstructor) \
|
||||
/* Temporal #sec-temporal.plaintime.from */ \
|
||||
CPP(TemporalPlainTimeFrom) \
|
||||
/* Temporal #sec-temporal.plaintime.compare */ \
|
||||
CPP(TemporalPlainTimeCompare) \
|
||||
/* Temporal #sec-get-temporal.plaintime.prototype.calendar */ \
|
||||
CPP(TemporalPlainTimePrototypeCalendar) \
|
||||
/* Temporal #sec-get-temporal.plaintime.prototype.hour */ \
|
||||
CPP(TemporalPlainTimePrototypeHour) \
|
||||
/* Temporal #sec-get-temporal.plaintime.prototype.minute */ \
|
||||
CPP(TemporalPlainTimePrototypeMinute) \
|
||||
/* Temporal #sec-get-temporal.plaintime.prototype.second */ \
|
||||
CPP(TemporalPlainTimePrototypeSecond) \
|
||||
/* Temporal #sec-get-temporal.plaintime.prototype.millisecond */ \
|
||||
CPP(TemporalPlainTimePrototypeMillisecond) \
|
||||
/* Temporal #sec-get-temporal.plaintime.prototype.microsecond */ \
|
||||
CPP(TemporalPlainTimePrototypeMicrosecond) \
|
||||
/* Temporal #sec-get-temporal.plaintime.prototype.nanoseond */ \
|
||||
CPP(TemporalPlainTimePrototypeNanosecond) \
|
||||
/* Temporal #sec-temporal.plaintime.prototype.add */ \
|
||||
CPP(TemporalPlainTimePrototypeAdd) \
|
||||
/* Temporal #sec-temporal.plaintime.prototype.subtract */ \
|
||||
CPP(TemporalPlainTimePrototypeSubtract) \
|
||||
/* Temporal #sec-temporal.plaintime.prototype.with */ \
|
||||
CPP(TemporalPlainTimePrototypeWith) \
|
||||
/* Temporal #sec-temporal.plaintime.prototype.until */ \
|
||||
CPP(TemporalPlainTimePrototypeUntil) \
|
||||
/* Temporal #sec-temporal.plaintime.prototype.since */ \
|
||||
CPP(TemporalPlainTimePrototypeSince) \
|
||||
/* Temporal #sec-temporal.plaintime.prototype.round */ \
|
||||
CPP(TemporalPlainTimePrototypeRound) \
|
||||
/* Temporal #sec-temporal.plaintime.prototype.equals */ \
|
||||
CPP(TemporalPlainTimePrototypeEquals) \
|
||||
/* Temporal #sec-temporal.plaintime.prototype.toplaindatetime */ \
|
||||
CPP(TemporalPlainTimePrototypeToPlainDateTime) \
|
||||
/* Temporal #sec-temporal.plaintime.prototype.tozoneddatetime */ \
|
||||
CPP(TemporalPlainTimePrototypeToZonedDateTime) \
|
||||
/* Temporal #sec-temporal.plaintime.prototype.getisofields */ \
|
||||
CPP(TemporalPlainTimePrototypeGetISOFields) \
|
||||
/* Temporal #sec-temporal.plaintime.prototype.tostring */ \
|
||||
CPP(TemporalPlainTimePrototypeToString) \
|
||||
/* Temporal #sec-temporal.plaindtimeprototype.tojson */ \
|
||||
CPP(TemporalPlainTimePrototypeToJSON) \
|
||||
/* Temporal #sec-temporal.plaintime.prototype.valueof */ \
|
||||
CPP(TemporalPlainTimePrototypeValueOf) \
|
||||
\
|
||||
/* Temporal.PlaneDateTime */ \
|
||||
/* Temporal #sec-temporal.plaindatetime */ \
|
||||
CPP(TemporalPlainDateTimeConstructor) \
|
||||
/* Temporal #sec-temporal.plaindatetime.from */ \
|
||||
CPP(TemporalPlainDateTimeFrom) \
|
||||
/* Temporal #sec-temporal.plaindatetime.compare */ \
|
||||
CPP(TemporalPlainDateTimeCompare) \
|
||||
/* Temporal #sec-get-temporal.plaindatetime.prototype.calendar */ \
|
||||
CPP(TemporalPlainDateTimePrototypeCalendar) \
|
||||
/* Temporal #sec-get-temporal.plaindatetime.prototype.year */ \
|
||||
CPP(TemporalPlainDateTimePrototypeYear) \
|
||||
/* Temporal #sec-get-temporal.plaindatetime.prototype.month */ \
|
||||
CPP(TemporalPlainDateTimePrototypeMonth) \
|
||||
/* Temporal #sec-get-temporal.plaindatetime.prototype.monthcode */ \
|
||||
CPP(TemporalPlainDateTimePrototypeMonthCode) \
|
||||
/* Temporal #sec-get-temporal.plaindatetime.prototype.day */ \
|
||||
CPP(TemporalPlainDateTimePrototypeDay) \
|
||||
/* Temporal #sec-get-temporal.plaindatetime.prototype.hour */ \
|
||||
CPP(TemporalPlainDateTimePrototypeHour) \
|
||||
/* Temporal #sec-get-temporal.plaindatetime.prototype.minute */ \
|
||||
CPP(TemporalPlainDateTimePrototypeMinute) \
|
||||
/* Temporal #sec-get-temporal.plaindatetime.prototype.second */ \
|
||||
CPP(TemporalPlainDateTimePrototypeSecond) \
|
||||
/* Temporal #sec-get-temporal.plaindatetime.prototype.millisecond */ \
|
||||
CPP(TemporalPlainDateTimePrototypeMillisecond) \
|
||||
/* Temporal #sec-get-temporal.plaindatetime.prototype.microsecond */ \
|
||||
CPP(TemporalPlainDateTimePrototypeMicrosecond) \
|
||||
/* Temporal #sec-get-temporal.plaindatetime.prototype.nanosecond */ \
|
||||
CPP(TemporalPlainDateTimePrototypeNanosecond) \
|
||||
/* Temporal #sec-get-temporal.plaindatetime.prototype.dayofweek */ \
|
||||
CPP(TemporalPlainDateTimePrototypeDayOfWeek) \
|
||||
/* Temporal #sec-get-temporal.plaindatetime.prototype.dayofyear */ \
|
||||
CPP(TemporalPlainDateTimePrototypeDayOfYear) \
|
||||
/* Temporal #sec-get-temporal.plaindatetime.prototype.weekofyear */ \
|
||||
CPP(TemporalPlainDateTimePrototypeWeekOfYear) \
|
||||
/* Temporal #sec-get-temporal.plaindatetime.prototype.daysinweek */ \
|
||||
CPP(TemporalPlainDateTimePrototypeDaysInWeek) \
|
||||
/* Temporal #sec-get-temporal.plaindatetime.prototype.daysinmonth */ \
|
||||
CPP(TemporalPlainDateTimePrototypeDaysInMonth) \
|
||||
/* Temporal #sec-get-temporal.plaindatetime.prototype.daysinyear */ \
|
||||
CPP(TemporalPlainDateTimePrototypeDaysInYear) \
|
||||
/* Temporal #sec-get-temporal.plaindatetime.prototype.monthsinyear */ \
|
||||
CPP(TemporalPlainDateTimePrototypeMonthsInYear) \
|
||||
/* Temporal #sec-get-temporal.plaindatetime.prototype.inleapyear */ \
|
||||
CPP(TemporalPlainDateTimePrototypeInLeapYear) \
|
||||
/* Temporal #sec-temporal.plaindatetime.prototype.with */ \
|
||||
CPP(TemporalPlainDateTimePrototypeWith) \
|
||||
/* Temporal #sec-temporal.plaindatetime.prototype.withplainTime */ \
|
||||
CPP(TemporalPlainDateTimePrototypeWithPlainTime) \
|
||||
/* Temporal #sec-temporal.plaindatetime.prototype.withplainDate */ \
|
||||
CPP(TemporalPlainDateTimePrototypeWithPlainDate) \
|
||||
/* Temporal #sec-temporal.plaindatetime.prototype.withcalendar */ \
|
||||
CPP(TemporalPlainDateTimePrototypeWithCalendar) \
|
||||
/* Temporal #sec-temporal.plaindatetime.prototype.add */ \
|
||||
CPP(TemporalPlainDateTimePrototypeAdd) \
|
||||
/* Temporal #sec-temporal.plaindatetime.prototype.subtract */ \
|
||||
CPP(TemporalPlainDateTimePrototypeSubtract) \
|
||||
/* Temporal #sec-temporal.plaindatetime.prototype.until */ \
|
||||
CPP(TemporalPlainDateTimePrototypeUntil) \
|
||||
/* Temporal #sec-temporal.plaindatetime.prototype.since */ \
|
||||
CPP(TemporalPlainDateTimePrototypeSince) \
|
||||
/* Temporal #sec-temporal.plaindatetime.prototype.round */ \
|
||||
CPP(TemporalPlainDateTimePrototypeRound) \
|
||||
/* Temporal #sec-temporal.plaindatetime.prototype.equals */ \
|
||||
CPP(TemporalPlainDateTimePrototypeEquals) \
|
||||
/* Temporal #sec-temporal.plaindatetime.prototype.tostring */ \
|
||||
CPP(TemporalPlainDateTimePrototypeToString) \
|
||||
/* Temporal #sec-temporal.plainddatetimeprototype.tojson */ \
|
||||
CPP(TemporalPlainDateTimePrototypeToJSON) \
|
||||
/* Temporal #sec-temporal.plaindatetime.prototype.valueof */ \
|
||||
CPP(TemporalPlainDateTimePrototypeValueOf) \
|
||||
/* Temporal #sec-temporal.plaindatetime.prototype.tozoneddatetime */ \
|
||||
CPP(TemporalPlainDateTimePrototypeToZonedDateTime) \
|
||||
/* Temporal #sec-temporal.plaindatetime.prototype.toplaindate */ \
|
||||
CPP(TemporalPlainDateTimePrototypeToPlainDate) \
|
||||
/* Temporal #sec-temporal.plaindatetime.prototype.toplainyearmonth */ \
|
||||
CPP(TemporalPlainDateTimePrototypeToPlainYearMonth) \
|
||||
/* Temporal #sec-temporal.plaindatetime.prototype.toplainmonthday */ \
|
||||
CPP(TemporalPlainDateTimePrototypeToPlainMonthDay) \
|
||||
/* Temporal #sec-temporal.plaindatetime.prototype.toplaintime */ \
|
||||
CPP(TemporalPlainDateTimePrototypeToPlainTime) \
|
||||
/* Temporal #sec-temporal.plaindatetime.prototype.getisofields */ \
|
||||
CPP(TemporalPlainDateTimePrototypeGetISOFields) \
|
||||
\
|
||||
/* Temporal.ZonedDateTime */ \
|
||||
/* Temporal #sec-temporal.zoneddatetime */ \
|
||||
CPP(TemporalZonedDateTimeConstructor) \
|
||||
/* Temporal #sec-temporal.zoneddatetime.from */ \
|
||||
CPP(TemporalZonedDateTimeFrom) \
|
||||
/* Temporal #sec-temporal.zoneddatetime.compare */ \
|
||||
CPP(TemporalZonedDateTimeCompare) \
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.calendar */ \
|
||||
CPP(TemporalZonedDateTimePrototypeCalendar) \
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.timezone */ \
|
||||
CPP(TemporalZonedDateTimePrototypeTimeZone) \
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.year */ \
|
||||
CPP(TemporalZonedDateTimePrototypeYear) \
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.month */ \
|
||||
CPP(TemporalZonedDateTimePrototypeMonth) \
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.monthcode */ \
|
||||
CPP(TemporalZonedDateTimePrototypeMonthCode) \
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.day */ \
|
||||
CPP(TemporalZonedDateTimePrototypeDay) \
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.hour */ \
|
||||
CPP(TemporalZonedDateTimePrototypeHour) \
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.minute */ \
|
||||
CPP(TemporalZonedDateTimePrototypeMinute) \
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.second */ \
|
||||
CPP(TemporalZonedDateTimePrototypeSecond) \
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.millisecond */ \
|
||||
CPP(TemporalZonedDateTimePrototypeMillisecond) \
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.microsecond */ \
|
||||
CPP(TemporalZonedDateTimePrototypeMicrosecond) \
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.nanosecond */ \
|
||||
CPP(TemporalZonedDateTimePrototypeNanosecond) \
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.epochsecond */ \
|
||||
CPP(TemporalZonedDateTimePrototypeEpochSeconds) \
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.epochmilliseconds */ \
|
||||
CPP(TemporalZonedDateTimePrototypeEpochMilliseconds) \
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.epochmicroseconds */ \
|
||||
CPP(TemporalZonedDateTimePrototypeEpochMicroseconds) \
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.epochnanoseconds */ \
|
||||
CPP(TemporalZonedDateTimePrototypeEpochNanoseconds) \
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.dayofweek */ \
|
||||
CPP(TemporalZonedDateTimePrototypeDayOfWeek) \
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.dayofyear */ \
|
||||
CPP(TemporalZonedDateTimePrototypeDayOfYear) \
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.weekofyear */ \
|
||||
CPP(TemporalZonedDateTimePrototypeWeekOfYear) \
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.hoursinday */ \
|
||||
CPP(TemporalZonedDateTimePrototypeHoursInDay) \
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.daysinweek */ \
|
||||
CPP(TemporalZonedDateTimePrototypeDaysInWeek) \
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.daysinmonth */ \
|
||||
CPP(TemporalZonedDateTimePrototypeDaysInMonth) \
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.daysinyear */ \
|
||||
CPP(TemporalZonedDateTimePrototypeDaysInYear) \
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.monthsinyear */ \
|
||||
CPP(TemporalZonedDateTimePrototypeMonthsInYear) \
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.inleapyear */ \
|
||||
CPP(TemporalZonedDateTimePrototypeInLeapYear) \
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.offsetnanoseconds */ \
|
||||
CPP(TemporalZonedDateTimePrototypeOffsetNanoseconds) \
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.offset */ \
|
||||
CPP(TemporalZonedDateTimePrototypeOffset) \
|
||||
/* Temporal #sec-temporal.zoneddatetime.prototype.with */ \
|
||||
CPP(TemporalZonedDateTimePrototypeWith) \
|
||||
/* Temporal #sec-temporal.zoneddatetime.prototype.withplaintime */ \
|
||||
CPP(TemporalZonedDateTimePrototypeWithPlainTime) \
|
||||
/* Temporal #sec-temporal.zoneddatetime.prototype.withplaindate */ \
|
||||
CPP(TemporalZonedDateTimePrototypeWithPlainDate) \
|
||||
/* Temporal #sec-temporal.zoneddatetime.prototype.withtimezone */ \
|
||||
CPP(TemporalZonedDateTimePrototypeWithTimeZone) \
|
||||
/* Temporal #sec-temporal.zoneddatetime.prototype.withcalendar */ \
|
||||
CPP(TemporalZonedDateTimePrototypeWithCalendar) \
|
||||
/* Temporal #sec-temporal.zoneddatetime.prototype.add */ \
|
||||
CPP(TemporalZonedDateTimePrototypeAdd) \
|
||||
/* Temporal #sec-temporal.zoneddatetime.prototype.subtract */ \
|
||||
CPP(TemporalZonedDateTimePrototypeSubtract) \
|
||||
/* Temporal #sec-temporal.zoneddatetime.prototype.until */ \
|
||||
CPP(TemporalZonedDateTimePrototypeUntil) \
|
||||
/* Temporal #sec-temporal.zoneddatetime.prototype.since */ \
|
||||
CPP(TemporalZonedDateTimePrototypeSince) \
|
||||
/* Temporal #sec-temporal.zoneddatetime.prototype.round */ \
|
||||
CPP(TemporalZonedDateTimePrototypeRound) \
|
||||
/* Temporal #sec-temporal.zoneddatetime.prototype.equals */ \
|
||||
CPP(TemporalZonedDateTimePrototypeEquals) \
|
||||
/* Temporal #sec-temporal.zoneddatetime.prototype.tostring */ \
|
||||
CPP(TemporalZonedDateTimePrototypeToString) \
|
||||
/* Temporal #sec-temporal.zonedddatetimeprototype.tojson */ \
|
||||
CPP(TemporalZonedDateTimePrototypeToJSON) \
|
||||
/* Temporal #sec-temporal.zoneddatetime.prototype.valueof */ \
|
||||
CPP(TemporalZonedDateTimePrototypeValueOf) \
|
||||
/* Temporal #sec-temporal.zoneddatetime.prototype.startofday */ \
|
||||
CPP(TemporalZonedDateTimePrototypeStartOfDay) \
|
||||
/* Temporal #sec-temporal.zoneddatetime.prototype.toinstant */ \
|
||||
CPP(TemporalZonedDateTimePrototypeToInstant) \
|
||||
/* Temporal #sec-temporal.zoneddatetime.prototype.toplaindate */ \
|
||||
CPP(TemporalZonedDateTimePrototypeToPlainDate) \
|
||||
/* Temporal #sec-temporal.zoneddatetime.prototype.toplaintime */ \
|
||||
CPP(TemporalZonedDateTimePrototypeToPlainTime) \
|
||||
/* Temporal #sec-temporal.zoneddatetime.prototype.toplaindatetime */ \
|
||||
CPP(TemporalZonedDateTimePrototypeToPlainDateTime) \
|
||||
/* Temporal #sec-temporal.zoneddatetime.prototype.toplainyearmonth */ \
|
||||
CPP(TemporalZonedDateTimePrototypeToPlainYearMonth) \
|
||||
/* Temporal #sec-temporal.zoneddatetime.prototype.toplainmonthday */ \
|
||||
CPP(TemporalZonedDateTimePrototypeToPlainMonthDay) \
|
||||
/* Temporal #sec-temporal.zoneddatetime.prototype.getisofields */ \
|
||||
CPP(TemporalZonedDateTimePrototypeGetISOFields) \
|
||||
\
|
||||
/* Temporal.Duration */ \
|
||||
/* Temporal #sec-temporal.duration */ \
|
||||
CPP(TemporalDurationConstructor) \
|
||||
/* Temporal #sec-temporal.duration.from */ \
|
||||
CPP(TemporalDurationFrom) \
|
||||
/* Temporal #sec-temporal.duration.compare */ \
|
||||
CPP(TemporalDurationCompare) \
|
||||
/* Temporal #sec-get-temporal.duration.prototype.years */ \
|
||||
CPP(TemporalDurationPrototypeYears) \
|
||||
/* Temporal #sec-get-temporal.duration.prototype.months */ \
|
||||
CPP(TemporalDurationPrototypeMonths) \
|
||||
/* Temporal #sec-get-temporal.duration.prototype.weeks */ \
|
||||
CPP(TemporalDurationPrototypeWeeks) \
|
||||
/* Temporal #sec-get-temporal.duration.prototype.days */ \
|
||||
CPP(TemporalDurationPrototypeDays) \
|
||||
/* Temporal #sec-get-temporal.duration.prototype.hours */ \
|
||||
CPP(TemporalDurationPrototypeHours) \
|
||||
/* Temporal #sec-get-temporal.duration.prototype.minutes */ \
|
||||
CPP(TemporalDurationPrototypeMinutes) \
|
||||
/* Temporal #sec-get-temporal.duration.prototype.seconds */ \
|
||||
CPP(TemporalDurationPrototypeSeconds) \
|
||||
/* Temporal #sec-get-temporal.duration.prototype.milliseconds */ \
|
||||
CPP(TemporalDurationPrototypeMilliseconds) \
|
||||
/* Temporal #sec-get-temporal.duration.prototype.microseconds */ \
|
||||
CPP(TemporalDurationPrototypeMicroseconds) \
|
||||
/* Temporal #sec-get-temporal.duration.prototype.nanoseconds */ \
|
||||
CPP(TemporalDurationPrototypeNanoseconds) \
|
||||
/* Temporal #sec-get-temporal.duration.prototype.sign */ \
|
||||
CPP(TemporalDurationPrototypeSign) \
|
||||
/* Temporal #sec-get-temporal.duration.prototype.blank */ \
|
||||
CPP(TemporalDurationPrototypeBlank) \
|
||||
/* Temporal #sec-temporal.duration.prototype.with */ \
|
||||
CPP(TemporalDurationPrototypeWith) \
|
||||
/* Temporal #sec-temporal.duration.prototype.negated */ \
|
||||
CPP(TemporalDurationPrototypeNegated) \
|
||||
/* Temporal #sec-temporal.duration.prototype.abs */ \
|
||||
CPP(TemporalDurationPrototypeAbs) \
|
||||
/* Temporal #sec-temporal.duration.prototype.add */ \
|
||||
CPP(TemporalDurationPrototypeAdd) \
|
||||
/* Temporal #sec-temporal.duration.prototype.subtract */ \
|
||||
CPP(TemporalDurationPrototypeSubtract) \
|
||||
/* Temporal #sec-temporal.duration.prototype.round */ \
|
||||
CPP(TemporalDurationPrototypeRound) \
|
||||
/* Temporal #sec-temporal.duration.prototype.total */ \
|
||||
CPP(TemporalDurationPrototypeTotal) \
|
||||
/* Temporal #sec-temporal.duration.prototype.tostring */ \
|
||||
CPP(TemporalDurationPrototypeToString) \
|
||||
/* Temporal #sec-temporal.duration.tojson */ \
|
||||
CPP(TemporalDurationPrototypeToJSON) \
|
||||
/* Temporal #sec-temporal.duration.prototype.valueof */ \
|
||||
CPP(TemporalDurationPrototypeValueOf) \
|
||||
\
|
||||
/* Temporal.Instant */ \
|
||||
/* Temporal #sec-temporal.instant */ \
|
||||
CPP(TemporalInstantConstructor) \
|
||||
/* Temporal #sec-temporal.instant.from */ \
|
||||
CPP(TemporalInstantFrom) \
|
||||
/* Temporal #sec-temporal.instant.fromepochseconds */ \
|
||||
CPP(TemporalInstantFromEpochSeconds) \
|
||||
/* Temporal #sec-temporal.instant.fromepochmilliseconds */ \
|
||||
CPP(TemporalInstantFromEpochMilliseconds) \
|
||||
/* Temporal #sec-temporal.instant.fromepochmicroseconds */ \
|
||||
CPP(TemporalInstantFromEpochMicroseconds) \
|
||||
/* Temporal #sec-temporal.instant.fromepochnanoseconds */ \
|
||||
CPP(TemporalInstantFromEpochNanoseconds) \
|
||||
/* Temporal #sec-temporal.instant.compare */ \
|
||||
CPP(TemporalInstantCompare) \
|
||||
/* Temporal #sec-get-temporal.instant.prototype.epochseconds */ \
|
||||
CPP(TemporalInstantPrototypeEpochSeconds) \
|
||||
/* Temporal #sec-get-temporal.instant.prototype.epochmilliseconds */ \
|
||||
CPP(TemporalInstantPrototypeEpochMilliseconds) \
|
||||
/* Temporal #sec-get-temporal.instant.prototype.epochmicroseconds */ \
|
||||
CPP(TemporalInstantPrototypeEpochMicroseconds) \
|
||||
/* Temporal #sec-get-temporal.instant.prototype.epochnanoseconds */ \
|
||||
CPP(TemporalInstantPrototypeEpochNanoseconds) \
|
||||
/* Temporal #sec-temporal.instant.prototype.add */ \
|
||||
CPP(TemporalInstantPrototypeAdd) \
|
||||
/* Temporal #sec-temporal.instant.prototype.subtract */ \
|
||||
CPP(TemporalInstantPrototypeSubtract) \
|
||||
/* Temporal #sec-temporal.instant.prototype.until */ \
|
||||
CPP(TemporalInstantPrototypeUntil) \
|
||||
/* Temporal #sec-temporal.instant.prototype.since */ \
|
||||
CPP(TemporalInstantPrototypeSince) \
|
||||
/* Temporal #sec-temporal.instant.prototype.round */ \
|
||||
CPP(TemporalInstantPrototypeRound) \
|
||||
/* Temporal #sec-temporal.instant.prototype.equals */ \
|
||||
CPP(TemporalInstantPrototypeEquals) \
|
||||
/* Temporal #sec-temporal.instant.prototype.tostring */ \
|
||||
CPP(TemporalInstantPrototypeToString) \
|
||||
/* Temporal #sec-temporal.instant.tojson */ \
|
||||
CPP(TemporalInstantPrototypeToJSON) \
|
||||
/* Temporal #sec-temporal.instant.prototype.valueof */ \
|
||||
CPP(TemporalInstantPrototypeValueOf) \
|
||||
/* Temporal #sec-temporal.instant.prototype.tozoneddatetime */ \
|
||||
CPP(TemporalInstantPrototypeToZonedDateTime) \
|
||||
/* Temporal #sec-temporal.instant.prototype.tozoneddatetimeiso */ \
|
||||
CPP(TemporalInstantPrototypeToZonedDateTimeISO) \
|
||||
\
|
||||
/* Temporal.PlainYearMonth */ \
|
||||
/* Temporal #sec-temporal.plainyearmonth */ \
|
||||
CPP(TemporalPlainYearMonthConstructor) \
|
||||
/* Temporal #sec-temporal.plainyearmonth.from */ \
|
||||
CPP(TemporalPlainYearMonthFrom) \
|
||||
/* Temporal #sec-temporal.plainyearmonth.compare */ \
|
||||
CPP(TemporalPlainYearMonthCompare) \
|
||||
/* Temporal #sec-get-temporal.plainyearmonth.prototype.calendar */ \
|
||||
CPP(TemporalPlainYearMonthPrototypeCalendar) \
|
||||
/* Temporal #sec-get-temporal.plainyearmonth.prototype.year */ \
|
||||
CPP(TemporalPlainYearMonthPrototypeYear) \
|
||||
/* Temporal #sec-get-temporal.plainyearmonth.prototype.month */ \
|
||||
CPP(TemporalPlainYearMonthPrototypeMonth) \
|
||||
/* Temporal #sec-get-temporal.plainyearmonth.prototype.monthcode */ \
|
||||
CPP(TemporalPlainYearMonthPrototypeMonthCode) \
|
||||
/* Temporal #sec-get-temporal.plainyearmonth.prototype.daysinyear */ \
|
||||
CPP(TemporalPlainYearMonthPrototypeDaysInYear) \
|
||||
/* Temporal #sec-get-temporal.plainyearmonth.prototype.daysinmonth */ \
|
||||
CPP(TemporalPlainYearMonthPrototypeDaysInMonth) \
|
||||
/* Temporal #sec-get-temporal.plainyearmonth.prototype.monthsinyear */ \
|
||||
CPP(TemporalPlainYearMonthPrototypeMonthsInYear) \
|
||||
/* Temporal #sec-get-temporal.plainyearmonth.prototype.inleapyear */ \
|
||||
CPP(TemporalPlainYearMonthPrototypeInLeapYear) \
|
||||
/* Temporal #sec-temporal.plainyearmonth.prototype.with */ \
|
||||
CPP(TemporalPlainYearMonthPrototypeWith) \
|
||||
/* Temporal #sec-temporal.plainyearmonth.prototype.add */ \
|
||||
CPP(TemporalPlainYearMonthPrototypeAdd) \
|
||||
/* Temporal #sec-temporal.plainyearmonth.prototype.subtract */ \
|
||||
CPP(TemporalPlainYearMonthPrototypeSubtract) \
|
||||
/* Temporal #sec-temporal.plainyearmonth.prototype.until */ \
|
||||
CPP(TemporalPlainYearMonthPrototypeUntil) \
|
||||
/* Temporal #sec-temporal.plainyearmonth.prototype.since */ \
|
||||
CPP(TemporalPlainYearMonthPrototypeSince) \
|
||||
/* Temporal #sec-temporal.plainyearmonth.prototype.equals */ \
|
||||
CPP(TemporalPlainYearMonthPrototypeEquals) \
|
||||
/* Temporal #sec-temporal.plainyearmonth.tostring */ \
|
||||
CPP(TemporalPlainYearMonthPrototypeToString) \
|
||||
/* Temporal #sec-temporal.plainyearmonth.tojson */ \
|
||||
CPP(TemporalPlainYearMonthPrototypeToJSON) \
|
||||
/* Temporal #sec-temporal.plainyearmonth.prototype.valueof */ \
|
||||
CPP(TemporalPlainYearMonthPrototypeValueOf) \
|
||||
/* Temporal #sec-temporal.plainyearmonth.prototype.toplaindate */ \
|
||||
CPP(TemporalPlainYearMonthPrototypeToPlainDate) \
|
||||
/* Temporal #sec-temporal.plainyearmonth.prototype.getisofields */ \
|
||||
CPP(TemporalPlainYearMonthPrototypeGetISOFields) \
|
||||
\
|
||||
/* Temporal.PlainMonthDay */ \
|
||||
/* Temporal #sec-temporal.plainmonthday */ \
|
||||
CPP(TemporalPlainMonthDayConstructor) \
|
||||
/* Temporal #sec-temporal.plainmonthday.from */ \
|
||||
CPP(TemporalPlainMonthDayFrom) \
|
||||
/* There are no compare for PlainMonthDay */ \
|
||||
/* See https://github.com/tc39/proposal-temporal/issues/1547 */ \
|
||||
/* Temporal #sec-get-temporal.plainmonthday.prototype.calendar */ \
|
||||
CPP(TemporalPlainMonthDayPrototypeCalendar) \
|
||||
/* Temporal #sec-get-temporal.plainmonthday.prototype.monthcode */ \
|
||||
CPP(TemporalPlainMonthDayPrototypeMonthCode) \
|
||||
/* Temporal #sec-get-temporal.plainmonthday.prototype.day */ \
|
||||
CPP(TemporalPlainMonthDayPrototypeDay) \
|
||||
/* Temporal #sec-temporal.plainmonthday.prototype.with */ \
|
||||
CPP(TemporalPlainMonthDayPrototypeWith) \
|
||||
/* Temporal #sec-temporal.plainmonthday.prototype.equals */ \
|
||||
CPP(TemporalPlainMonthDayPrototypeEquals) \
|
||||
/* Temporal #sec-temporal.plainmonthday.prototype.tostring */ \
|
||||
CPP(TemporalPlainMonthDayPrototypeToString) \
|
||||
/* Temporal #sec-temporal.plainmonthday.tojson */ \
|
||||
CPP(TemporalPlainMonthDayPrototypeToJSON) \
|
||||
/* Temporal #sec-temporal.plainmonthday.prototype.valueof */ \
|
||||
CPP(TemporalPlainMonthDayPrototypeValueOf) \
|
||||
/* Temporal #sec-temporal.plainmonthday.prototype.toplaindate */ \
|
||||
CPP(TemporalPlainMonthDayPrototypeToPlainDate) \
|
||||
/* Temporal #sec-temporal.plainmonthday.prototype.getisofields */ \
|
||||
CPP(TemporalPlainMonthDayPrototypeGetISOFields) \
|
||||
\
|
||||
/* Temporal.TimeZone */ \
|
||||
/* Temporal #sec-temporal.timezone */ \
|
||||
CPP(TemporalTimeZoneConstructor) \
|
||||
/* Temporal #sec-temporal.timezone.from */ \
|
||||
CPP(TemporalTimeZoneFrom) \
|
||||
/* Temporal #sec-get-temporal.timezone.prototype.id */ \
|
||||
CPP(TemporalTimeZonePrototypeId) \
|
||||
/* Temporal #sec-temporal.timezone.prototype.getoffsetnanosecondsfor */ \
|
||||
CPP(TemporalTimeZonePrototypeGetOffsetNanosecondsFor) \
|
||||
/* Temporal #sec-temporal.timezone.prototype.getoffsetstringfor */ \
|
||||
CPP(TemporalTimeZonePrototypeGetOffsetStringFor) \
|
||||
/* Temporal #sec-temporal.timezone.prototype.getplaindatetimefor */ \
|
||||
CPP(TemporalTimeZonePrototypeGetPlainDateTimeFor) \
|
||||
/* Temporal #sec-temporal.timezone.prototype.getinstantfor */ \
|
||||
CPP(TemporalTimeZonePrototypeGetInstantFor) \
|
||||
/* Temporal #sec-temporal.timezone.prototype.getpossibleinstantsfor */ \
|
||||
CPP(TemporalTimeZonePrototypeGetPossibleInstantsFor) \
|
||||
/* Temporal #sec-temporal.timezone.prototype.getnexttransition */ \
|
||||
CPP(TemporalTimeZonePrototypeGetNextTransition) \
|
||||
/* Temporal #sec-temporal.timezone.prototype.getprevioustransition */ \
|
||||
CPP(TemporalTimeZonePrototypeGetPreviousTransition) \
|
||||
/* Temporal #sec-temporal.timezone.prototype.tostring */ \
|
||||
CPP(TemporalTimeZonePrototypeToString) \
|
||||
/* Temporal #sec-temporal.timezone.prototype.tojson */ \
|
||||
CPP(TemporalTimeZonePrototypeToJSON) \
|
||||
\
|
||||
/* Temporal.Calendar */ \
|
||||
/* Temporal #sec-temporal.calendar */ \
|
||||
CPP(TemporalCalendarConstructor) \
|
||||
/* Temporal #sec-temporal.calendar.from */ \
|
||||
CPP(TemporalCalendarFrom) \
|
||||
/* Temporal #sec-get-temporal.calendar.prototype.id */ \
|
||||
CPP(TemporalCalendarPrototypeId) \
|
||||
/* Temporal #sec-temporal.calendar.prototype.datefromfields */ \
|
||||
CPP(TemporalCalendarPrototypeDateFromFields) \
|
||||
/* Temporal #sec-temporal.calendar.prototype.yearmonthfromfields */ \
|
||||
CPP(TemporalCalendarPrototypeYearMonthFromFields) \
|
||||
/* Temporal #sec-temporal.calendar.prototype.monthdayfromfields */ \
|
||||
CPP(TemporalCalendarPrototypeMonthDayFromFields) \
|
||||
/* Temporal #sec-temporal.calendar.prototype.dateadd */ \
|
||||
CPP(TemporalCalendarPrototypeDateAdd) \
|
||||
/* Temporal #sec-temporal.calendar.prototype.dateuntil */ \
|
||||
CPP(TemporalCalendarPrototypeDateUntil) \
|
||||
/* Temporal #sec-temporal.calendar.prototype.year */ \
|
||||
CPP(TemporalCalendarPrototypeYear) \
|
||||
/* Temporal #sec-temporal.calendar.prototype.month */ \
|
||||
CPP(TemporalCalendarPrototypeMonth) \
|
||||
/* Temporal #sec-temporal.calendar.prototype.monthcode */ \
|
||||
CPP(TemporalCalendarPrototypeMonthCode) \
|
||||
/* Temporal #sec-temporal.calendar.prototype.day */ \
|
||||
CPP(TemporalCalendarPrototypeDay) \
|
||||
/* Temporal #sec-temporal.calendar.prototype.dayofweek */ \
|
||||
CPP(TemporalCalendarPrototypeDayOfWeek) \
|
||||
/* Temporal #sec-temporal.calendar.prototype.dayofyear */ \
|
||||
CPP(TemporalCalendarPrototypeDayOfYear) \
|
||||
/* Temporal #sec-temporal.calendar.prototype.weekofyear */ \
|
||||
CPP(TemporalCalendarPrototypeWeekOfYear) \
|
||||
/* Temporal #sec-temporal.calendar.prototype.daysinweek */ \
|
||||
CPP(TemporalCalendarPrototypeDaysInWeek) \
|
||||
/* Temporal #sec-temporal.calendar.prototype.daysinmonth */ \
|
||||
CPP(TemporalCalendarPrototypeDaysInMonth) \
|
||||
/* Temporal #sec-temporal.calendar.prototype.daysinyear */ \
|
||||
CPP(TemporalCalendarPrototypeDaysInYear) \
|
||||
/* Temporal #sec-temporal.calendar.prototype.monthsinyear */ \
|
||||
CPP(TemporalCalendarPrototypeMonthsInYear) \
|
||||
/* Temporal #sec-temporal.calendar.prototype.inleapyear */ \
|
||||
CPP(TemporalCalendarPrototypeInLeapYear) \
|
||||
/* Temporal #sec-temporal.calendar.prototype.fields */ \
|
||||
CPP(TemporalCalendarPrototypeFields) \
|
||||
/* Temporal #sec-temporal.calendar.prototype.mergefields */ \
|
||||
CPP(TemporalCalendarPrototypeMergeFields) \
|
||||
/* Temporal #sec-temporal.calendar.prototype.tostring */ \
|
||||
CPP(TemporalCalendarPrototypeToString) \
|
||||
/* Temporal #sec-temporal.calendar.prototype.tojson */ \
|
||||
CPP(TemporalCalendarPrototypeToJSON)
|
||||
|
||||
#define BUILTIN_LIST_BASE(CPP, TFJ, TFC, TFS, TFH, ASM) \
|
||||
BUILTIN_LIST_BASE_TIER0(CPP, TFJ, TFC, TFS, TFH, ASM) \
|
||||
@ -1203,6 +1775,45 @@ namespace internal {
|
||||
/* ES #sec-string.prototype.touppercase */ \
|
||||
CPP(StringPrototypeToUpperCaseIntl) \
|
||||
TFS(StringToLowerCaseIntl, kString) \
|
||||
\
|
||||
/* Temporal */ \
|
||||
/* Temporal #sec-temporal.calendar.prototype.era */ \
|
||||
CPP(TemporalCalendarPrototypeEra) \
|
||||
/* Temporal #sec-temporal.calendar.prototype.erayear */ \
|
||||
CPP(TemporalCalendarPrototypeEraYear) \
|
||||
/* Temporal #sec-temporal.duration.prototype.tolocalestring */ \
|
||||
CPP(TemporalDurationPrototypeToLocaleString) \
|
||||
/* Temporal #sec-temporal.instant.prototype.tolocalestring */ \
|
||||
CPP(TemporalInstantPrototypeToLocaleString) \
|
||||
/* Temporal #sec-get-temporal.plaindate.prototype.era */ \
|
||||
CPP(TemporalPlainDatePrototypeEra) \
|
||||
/* Temporal #sec-get-temporal.plaindate.prototype.erayear */ \
|
||||
CPP(TemporalPlainDatePrototypeEraYear) \
|
||||
/* Temporal #sec-temporal.plaindate.prototype.tolocalestring */ \
|
||||
CPP(TemporalPlainDatePrototypeToLocaleString) \
|
||||
/* Temporal #sec-get-temporal.plaindatetime.prototype.era */ \
|
||||
CPP(TemporalPlainDateTimePrototypeEra) \
|
||||
/* Temporal #sec-get-temporal.plaindatetime.prototype.erayear */ \
|
||||
CPP(TemporalPlainDateTimePrototypeEraYear) \
|
||||
/* Temporal #sec-temporal.plaindatetime.prototype.tolocalestring */ \
|
||||
CPP(TemporalPlainDateTimePrototypeToLocaleString) \
|
||||
/* Temporal #sec-temporal.plainmonthday.prototype.tolocalestring */ \
|
||||
CPP(TemporalPlainMonthDayPrototypeToLocaleString) \
|
||||
/* Temporal #sec-temporal.plaintime.prototype.tolocalestring */ \
|
||||
CPP(TemporalPlainTimePrototypeToLocaleString) \
|
||||
/* Temporal #sec-get-temporal.plainyearmonth.prototype.era */ \
|
||||
CPP(TemporalPlainYearMonthPrototypeEra) \
|
||||
/* Temporal #sec-get-temporal.plainyearmonth.prototype.erayear */ \
|
||||
CPP(TemporalPlainYearMonthPrototypeEraYear) \
|
||||
/* Temporal #sec-temporal.plainyearmonth.prototype.tolocalestring */ \
|
||||
CPP(TemporalPlainYearMonthPrototypeToLocaleString) \
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.era */ \
|
||||
CPP(TemporalZonedDateTimePrototypeEra) \
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.erayear */ \
|
||||
CPP(TemporalZonedDateTimePrototypeEraYear) \
|
||||
/* Temporal #sec-temporal.zoneddatetime.prototype.tolocalestring */ \
|
||||
CPP(TemporalZonedDateTimePrototypeToLocaleString) \
|
||||
\
|
||||
CPP(V8BreakIteratorConstructor) \
|
||||
CPP(V8BreakIteratorInternalAdoptText) \
|
||||
CPP(V8BreakIteratorInternalBreakType) \
|
||||
|
631
src/builtins/builtins-temporal.cc
Normal file
631
src/builtins/builtins-temporal.cc
Normal file
@ -0,0 +1,631 @@
|
||||
// Copyright 2021 the V8 project authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#include "src/builtins/builtins-utils-inl.h"
|
||||
#include "src/builtins/builtins.h"
|
||||
#include "src/objects/bigint.h"
|
||||
#include "src/objects/js-temporal-objects-inl.h"
|
||||
|
||||
namespace v8 {
|
||||
namespace internal {
|
||||
|
||||
#define TO_BE_IMPLEMENTED(id) \
|
||||
BUILTIN(id) { \
|
||||
HandleScope scope(isolate); \
|
||||
UNIMPLEMENTED(); \
|
||||
}
|
||||
|
||||
/* Temporal #sec-temporal.now.timezone */
|
||||
TO_BE_IMPLEMENTED(TemporalNowTimeZone)
|
||||
/* Temporal #sec-temporal.now.instant */
|
||||
TO_BE_IMPLEMENTED(TemporalNowInstant)
|
||||
/* Temporal #sec-temporal.now.plaindatetime */
|
||||
TO_BE_IMPLEMENTED(TemporalNowPlainDateTime)
|
||||
/* Temporal #sec-temporal.now.plaindatetimeiso */
|
||||
TO_BE_IMPLEMENTED(TemporalNowPlainDateTimeISO)
|
||||
/* Temporal #sec-temporal.now.zoneddatetime */
|
||||
TO_BE_IMPLEMENTED(TemporalNowZonedDateTime)
|
||||
/* Temporal #sec-temporal.now.zoneddatetimeiso */
|
||||
TO_BE_IMPLEMENTED(TemporalNowZonedDateTimeISO)
|
||||
/* Temporal #sec-temporal.now.plaindate */
|
||||
TO_BE_IMPLEMENTED(TemporalNowPlainDate)
|
||||
/* Temporal #sec-temporal.now.plaindateiso */
|
||||
TO_BE_IMPLEMENTED(TemporalNowPlainDateISO)
|
||||
/* There are no Temporal.now.plainTime */
|
||||
/* See https://github.com/tc39/proposal-temporal/issues/1540 */
|
||||
/* Temporal #sec-temporal.now.plaintimeiso */
|
||||
TO_BE_IMPLEMENTED(TemporalNowPlainTimeISO)
|
||||
|
||||
/* Temporal.PlaneDate */
|
||||
/* Temporal #sec-temporal.plaindate */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDateConstructor)
|
||||
/* Temporal #sec-temporal.plaindate.from */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDateFrom)
|
||||
/* Temporal #sec-temporal.plaindate.compare */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDateCompare)
|
||||
/* Temporal #sec-get-temporal.plaindate.prototype.calendar */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDatePrototypeCalendar)
|
||||
/* Temporal #sec-get-temporal.plaindate.prototype.year */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDatePrototypeYear)
|
||||
/* Temporal #sec-get-temporal.plaindate.prototype.month */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDatePrototypeMonth)
|
||||
/* Temporal #sec-get-temporal.plaindate.prototype.monthcode */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDatePrototypeMonthCode)
|
||||
/* Temporal #sec-get-temporal.plaindate.prototype.day */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDatePrototypeDay)
|
||||
/* Temporal #sec-get-temporal.plaindate.prototype.dayofweek */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDatePrototypeDayOfWeek)
|
||||
/* Temporal #sec-get-temporal.plaindate.prototype.dayofyear */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDatePrototypeDayOfYear)
|
||||
/* Temporal #sec-get-temporal.plaindate.prototype.weekofyear */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDatePrototypeWeekOfYear)
|
||||
/* Temporal #sec-get-temporal.plaindate.prototype.daysinweek */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDatePrototypeDaysInWeek)
|
||||
/* Temporal #sec-get-temporal.plaindate.prototype.daysinmonth */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDatePrototypeDaysInMonth)
|
||||
/* Temporal #sec-get-temporal.plaindate.prototype.daysinyear */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDatePrototypeDaysInYear)
|
||||
/* Temporal #sec-get-temporal.plaindate.prototype.monthsinyear */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDatePrototypeMonthsInYear)
|
||||
/* Temporal #sec-get-temporal.plaindate.prototype.inleapyear */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDatePrototypeInLeapYear)
|
||||
/* Temporal #sec-temporal.plaindate.prototype.toplainyearmonth */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDatePrototypeToPlainYearMonth)
|
||||
/* Temporal #sec-temporal.plaindate.prototype.toplainmonthday */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDatePrototypeToPlainMonthDay)
|
||||
/* Temporal #sec-temporal.plaindate.prototype.getisofields */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDatePrototypeGetISOFields)
|
||||
/* Temporal #sec-temporal.plaindate.prototype.add */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDatePrototypeAdd)
|
||||
/* Temporal #sec-temporal.plaindate.prototype.substract */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDatePrototypeSubtract)
|
||||
/* Temporal #sec-temporal.plaindate.prototype.with */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDatePrototypeWith)
|
||||
/* Temporal #sec-temporal.plaindate.prototype.withcalendar */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDatePrototypeWithCalendar)
|
||||
/* Temporal #sec-temporal.plaindate.prototype.until */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDatePrototypeUntil)
|
||||
/* Temporal #sec-temporal.plaindate.prototype.since */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDatePrototypeSince)
|
||||
/* Temporal #sec-temporal.plaindate.prototype.equals */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDatePrototypeEquals)
|
||||
/* Temporal #sec-temporal.plaindate.prototype.toplaindatetime */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDatePrototypeToPlainDateTime)
|
||||
/* Temporal #sec-temporal.plaindate.prototype.tozoneddatetime */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDatePrototypeToZonedDateTime)
|
||||
/* Temporal #sec-temporal.plaindate.prototype.tostring */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDatePrototypeToString)
|
||||
/* Temporal #sec-temporal.plaindate.prototype.tojson */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDatePrototypeToJSON)
|
||||
/* Temporal #sec-temporal.plaindate.prototype.valueof */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDatePrototypeValueOf)
|
||||
|
||||
/* Temporal.PlaneTime */
|
||||
/* Temporal #sec-temporal.plaintime */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainTimeConstructor)
|
||||
/* Temporal #sec-temporal.plaintime.from */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainTimeFrom)
|
||||
/* Temporal #sec-temporal.plaintime.compare */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainTimeCompare)
|
||||
/* Temporal #sec-get-temporal.plaintime.prototype.calendar */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainTimePrototypeCalendar)
|
||||
/* Temporal #sec-get-temporal.plaintime.prototype.hour */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainTimePrototypeHour)
|
||||
/* Temporal #sec-get-temporal.plaintime.prototype.minute */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainTimePrototypeMinute)
|
||||
/* Temporal #sec-get-temporal.plaintime.prototype.second */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainTimePrototypeSecond)
|
||||
/* Temporal #sec-get-temporal.plaintime.prototype.millisecond */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainTimePrototypeMillisecond)
|
||||
/* Temporal #sec-get-temporal.plaintime.prototype.microsecond */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainTimePrototypeMicrosecond)
|
||||
/* Temporal #sec-get-temporal.plaintime.prototype.nanoseond */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainTimePrototypeNanosecond)
|
||||
/* Temporal #sec-temporal.plaintime.prototype.add */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainTimePrototypeAdd)
|
||||
/* Temporal #sec-temporal.plaintime.prototype.subtract */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainTimePrototypeSubtract)
|
||||
/* Temporal #sec-temporal.plaintime.prototype.with */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainTimePrototypeWith)
|
||||
/* Temporal #sec-temporal.plaintime.prototype.until */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainTimePrototypeUntil)
|
||||
/* Temporal #sec-temporal.plaintime.prototype.since */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainTimePrototypeSince)
|
||||
/* Temporal #sec-temporal.plaintime.prototype.round */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainTimePrototypeRound)
|
||||
/* Temporal #sec-temporal.plaintime.prototype.equals */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainTimePrototypeEquals)
|
||||
/* Temporal #sec-temporal.plaintime.prototype.toplaindatetime */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainTimePrototypeToPlainDateTime)
|
||||
/* Temporal #sec-temporal.plaintime.prototype.tozoneddatetime */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainTimePrototypeToZonedDateTime)
|
||||
/* Temporal #sec-temporal.plaintime.prototype.getisofields */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainTimePrototypeGetISOFields)
|
||||
/* Temporal #sec-temporal.plaintime.prototype.tostring */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainTimePrototypeToString)
|
||||
/* Temporal #sec-temporal.plaindtimeprototype.tojson */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainTimePrototypeToJSON)
|
||||
/* Temporal #sec-temporal.plaintime.prototype.valueof */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainTimePrototypeValueOf)
|
||||
|
||||
/* Temporal.PlaneDateTime */
|
||||
/* Temporal #sec-temporal.plaindatetime */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDateTimeConstructor)
|
||||
/* Temporal #sec-temporal.plaindatetime.from */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDateTimeFrom)
|
||||
/* Temporal #sec-temporal.plaindatetime.compare */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDateTimeCompare)
|
||||
/* Temporal #sec-get-temporal.plaindatetime.prototype.calendar */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDateTimePrototypeCalendar)
|
||||
/* Temporal #sec-get-temporal.plaindatetime.prototype.year */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDateTimePrototypeYear)
|
||||
/* Temporal #sec-get-temporal.plaindatetime.prototype.month */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDateTimePrototypeMonth)
|
||||
/* Temporal #sec-get-temporal.plaindatetime.prototype.monthcode */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDateTimePrototypeMonthCode)
|
||||
/* Temporal #sec-get-temporal.plaindatetime.prototype.day */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDateTimePrototypeDay)
|
||||
/* Temporal #sec-get-temporal.plaindatetime.prototype.hour */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDateTimePrototypeHour)
|
||||
/* Temporal #sec-get-temporal.plaindatetime.prototype.minute */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDateTimePrototypeMinute)
|
||||
/* Temporal #sec-get-temporal.plaindatetime.prototype.second */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDateTimePrototypeSecond)
|
||||
/* Temporal #sec-get-temporal.plaindatetime.prototype.millisecond */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDateTimePrototypeMillisecond)
|
||||
/* Temporal #sec-get-temporal.plaindatetime.prototype.microsecond */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDateTimePrototypeMicrosecond)
|
||||
/* Temporal #sec-get-temporal.plaindatetime.prototype.nanosecond */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDateTimePrototypeNanosecond)
|
||||
/* Temporal #sec-get-temporal.plaindatetime.prototype.dayofweek */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDateTimePrototypeDayOfWeek)
|
||||
/* Temporal #sec-get-temporal.plaindatetime.prototype.dayofyear */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDateTimePrototypeDayOfYear)
|
||||
/* Temporal #sec-get-temporal.plaindatetime.prototype.weekofyear */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDateTimePrototypeWeekOfYear)
|
||||
/* Temporal #sec-get-temporal.plaindatetime.prototype.daysinweek */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDateTimePrototypeDaysInWeek)
|
||||
/* Temporal #sec-get-temporal.plaindatetime.prototype.daysinmonth */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDateTimePrototypeDaysInMonth)
|
||||
/* Temporal #sec-get-temporal.plaindatetime.prototype.daysinyear */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDateTimePrototypeDaysInYear)
|
||||
/* Temporal #sec-get-temporal.plaindatetime.prototype.monthsinyear */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDateTimePrototypeMonthsInYear)
|
||||
/* Temporal #sec-get-temporal.plaindatetime.prototype.inleapyear */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDateTimePrototypeInLeapYear)
|
||||
/* Temporal #sec-temporal.plaindatetime.prototype.with */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDateTimePrototypeWith)
|
||||
/* Temporal #sec-temporal.plaindatetime.prototype.withplainTime */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDateTimePrototypeWithPlainTime)
|
||||
/* Temporal #sec-temporal.plaindatetime.prototype.withplainDate */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDateTimePrototypeWithPlainDate)
|
||||
/* Temporal #sec-temporal.plaindatetime.prototype.withcalendar */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDateTimePrototypeWithCalendar)
|
||||
/* Temporal #sec-temporal.plaindatetime.prototype.add */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDateTimePrototypeAdd)
|
||||
/* Temporal #sec-temporal.plaindatetime.prototype.subtract */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDateTimePrototypeSubtract)
|
||||
/* Temporal #sec-temporal.plaindatetime.prototype.until */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDateTimePrototypeUntil)
|
||||
/* Temporal #sec-temporal.plaindatetime.prototype.since */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDateTimePrototypeSince)
|
||||
/* Temporal #sec-temporal.plaindatetime.prototype.round */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDateTimePrototypeRound)
|
||||
/* Temporal #sec-temporal.plaindatetime.prototype.equals */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDateTimePrototypeEquals)
|
||||
/* Temporal #sec-temporal.plaindatetime.prototype.tostring */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDateTimePrototypeToString)
|
||||
/* Temporal #sec-temporal.plainddatetimeprototype.tojson */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDateTimePrototypeToJSON)
|
||||
/* Temporal #sec-temporal.plaindatetime.prototype.valueof */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDateTimePrototypeValueOf)
|
||||
/* Temporal #sec-temporal.plaindatetime.prototype.tozoneddatetime */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDateTimePrototypeToZonedDateTime)
|
||||
/* Temporal #sec-temporal.plaindatetime.prototype.toplaindate */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDateTimePrototypeToPlainDate)
|
||||
/* Temporal #sec-temporal.plaindatetime.prototype.toplainyearmonth */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDateTimePrototypeToPlainYearMonth)
|
||||
/* Temporal #sec-temporal.plaindatetime.prototype.toplainmonthday */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDateTimePrototypeToPlainMonthDay)
|
||||
/* Temporal #sec-temporal.plaindatetime.prototype.toplaintime */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDateTimePrototypeToPlainTime)
|
||||
/* Temporal #sec-temporal.plaindatetime.prototype.getisofields */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDateTimePrototypeGetISOFields)
|
||||
|
||||
/* Temporal.ZonedDateTime */
|
||||
/* Temporal #sec-temporal.zoneddatetime */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimeConstructor)
|
||||
/* Temporal #sec-temporal.zoneddatetime.from */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimeFrom)
|
||||
/* Temporal #sec-temporal.zoneddatetime.compare */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimeCompare)
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.calendar */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeCalendar)
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.timezone */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeTimeZone)
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.year */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeYear)
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.month */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeMonth)
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.monthcode */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeMonthCode)
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.day */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeDay)
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.hour */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeHour)
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.minute */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeMinute)
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.second */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeSecond)
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.millisecond */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeMillisecond)
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.microsecond */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeMicrosecond)
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.nanosecond */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeNanosecond)
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.epochsecond */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeEpochSeconds)
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.epochmilliseconds */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeEpochMilliseconds)
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.epochmicroseconds */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeEpochMicroseconds)
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.epochnanoseconds */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeEpochNanoseconds)
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.dayofweek */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeDayOfWeek)
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.dayofyear */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeDayOfYear)
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.weekofyear */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeWeekOfYear)
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.hoursinday */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeHoursInDay)
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.daysinweek */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeDaysInWeek)
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.daysinmonth */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeDaysInMonth)
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.daysinyear */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeDaysInYear)
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.monthsinyear */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeMonthsInYear)
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.inleapyear */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeInLeapYear)
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.offsetnanoseconds */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeOffsetNanoseconds)
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.offset */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeOffset)
|
||||
/* Temporal #sec-temporal.zoneddatetime.prototype.with */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeWith)
|
||||
/* Temporal #sec-temporal.zoneddatetime.prototype.withplaintime */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeWithPlainTime)
|
||||
/* Temporal #sec-temporal.zoneddatetime.prototype.withplaindate */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeWithPlainDate)
|
||||
/* Temporal #sec-temporal.zoneddatetime.prototype.withtimezone */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeWithTimeZone)
|
||||
/* Temporal #sec-temporal.zoneddatetime.prototype.withcalendar */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeWithCalendar)
|
||||
/* Temporal #sec-temporal.zoneddatetime.prototype.add */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeAdd)
|
||||
/* Temporal #sec-temporal.zoneddatetime.prototype.subtract */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeSubtract)
|
||||
/* Temporal #sec-temporal.zoneddatetime.prototype.until */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeUntil)
|
||||
/* Temporal #sec-temporal.zoneddatetime.prototype.since */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeSince)
|
||||
/* Temporal #sec-temporal.zoneddatetime.prototype.round */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeRound)
|
||||
/* Temporal #sec-temporal.zoneddatetime.prototype.equals */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeEquals)
|
||||
/* Temporal #sec-temporal.zoneddatetime.prototype.tostring */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeToString)
|
||||
/* Temporal #sec-temporal.zonedddatetimeprototype.tojson */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeToJSON)
|
||||
/* Temporal #sec-temporal.zoneddatetime.prototype.valueof */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeValueOf)
|
||||
/* Temporal #sec-temporal.zoneddatetime.prototype.startofday */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeStartOfDay)
|
||||
/* Temporal #sec-temporal.zoneddatetime.prototype.toinstant */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeToInstant)
|
||||
/* Temporal #sec-temporal.zoneddatetime.prototype.toplaindate */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeToPlainDate)
|
||||
/* Temporal #sec-temporal.zoneddatetime.prototype.toplaintime */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeToPlainTime)
|
||||
/* Temporal #sec-temporal.zoneddatetime.prototype.toplaindatetime */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeToPlainDateTime)
|
||||
/* Temporal #sec-temporal.zoneddatetime.prototype.toplainyearmonth */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeToPlainYearMonth)
|
||||
/* Temporal #sec-temporal.zoneddatetime.prototype.toplainmonthday */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeToPlainMonthDay)
|
||||
/* Temporal #sec-temporal.zoneddatetime.prototype.getisofields */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeGetISOFields)
|
||||
|
||||
/* Temporal.Duration */
|
||||
/* Temporal #sec-temporal.duration */
|
||||
TO_BE_IMPLEMENTED(TemporalDurationConstructor)
|
||||
/* Temporal #sec-temporal.duration.from */
|
||||
TO_BE_IMPLEMENTED(TemporalDurationFrom)
|
||||
/* Temporal #sec-temporal.duration.compare */
|
||||
TO_BE_IMPLEMENTED(TemporalDurationCompare)
|
||||
/* Temporal #sec-get-temporal.duration.prototype.years */
|
||||
TO_BE_IMPLEMENTED(TemporalDurationPrototypeYears)
|
||||
/* Temporal #sec-get-temporal.duration.prototype.months */
|
||||
TO_BE_IMPLEMENTED(TemporalDurationPrototypeMonths)
|
||||
/* Temporal #sec-get-temporal.duration.prototype.weeks */
|
||||
TO_BE_IMPLEMENTED(TemporalDurationPrototypeWeeks)
|
||||
/* Temporal #sec-get-temporal.duration.prototype.days */
|
||||
TO_BE_IMPLEMENTED(TemporalDurationPrototypeDays)
|
||||
/* Temporal #sec-get-temporal.duration.prototype.hours */
|
||||
TO_BE_IMPLEMENTED(TemporalDurationPrototypeHours)
|
||||
/* Temporal #sec-get-temporal.duration.prototype.minutes */
|
||||
TO_BE_IMPLEMENTED(TemporalDurationPrototypeMinutes)
|
||||
/* Temporal #sec-get-temporal.duration.prototype.seconds */
|
||||
TO_BE_IMPLEMENTED(TemporalDurationPrototypeSeconds)
|
||||
/* Temporal #sec-get-temporal.duration.prototype.milliseconds */
|
||||
TO_BE_IMPLEMENTED(TemporalDurationPrototypeMilliseconds)
|
||||
/* Temporal #sec-get-temporal.duration.prototype.microseconds */
|
||||
TO_BE_IMPLEMENTED(TemporalDurationPrototypeMicroseconds)
|
||||
/* Temporal #sec-get-temporal.duration.prototype.nanoseconds */
|
||||
TO_BE_IMPLEMENTED(TemporalDurationPrototypeNanoseconds)
|
||||
/* Temporal #sec-get-temporal.duration.prototype.sign */
|
||||
TO_BE_IMPLEMENTED(TemporalDurationPrototypeSign)
|
||||
/* Temporal #sec-get-temporal.duration.prototype.blank */
|
||||
TO_BE_IMPLEMENTED(TemporalDurationPrototypeBlank)
|
||||
/* Temporal #sec-temporal.duration.prototype.with */
|
||||
TO_BE_IMPLEMENTED(TemporalDurationPrototypeWith)
|
||||
/* Temporal #sec-temporal.duration.prototype.negated */
|
||||
TO_BE_IMPLEMENTED(TemporalDurationPrototypeNegated)
|
||||
/* Temporal #sec-temporal.duration.prototype.abs */
|
||||
TO_BE_IMPLEMENTED(TemporalDurationPrototypeAbs)
|
||||
/* Temporal #sec-temporal.duration.prototype.add */
|
||||
TO_BE_IMPLEMENTED(TemporalDurationPrototypeAdd)
|
||||
/* Temporal #sec-temporal.duration.prototype.subtract */
|
||||
TO_BE_IMPLEMENTED(TemporalDurationPrototypeSubtract)
|
||||
/* Temporal #sec-temporal.duration.prototype.round */
|
||||
TO_BE_IMPLEMENTED(TemporalDurationPrototypeRound)
|
||||
/* Temporal #sec-temporal.duration.prototype.total */
|
||||
TO_BE_IMPLEMENTED(TemporalDurationPrototypeTotal)
|
||||
/* Temporal #sec-temporal.duration.prototype.tostring */
|
||||
TO_BE_IMPLEMENTED(TemporalDurationPrototypeToString)
|
||||
/* Temporal #sec-temporal.duration.tojson */
|
||||
TO_BE_IMPLEMENTED(TemporalDurationPrototypeToJSON)
|
||||
/* Temporal #sec-temporal.duration.prototype.valueof */
|
||||
TO_BE_IMPLEMENTED(TemporalDurationPrototypeValueOf)
|
||||
|
||||
/* Temporal.Instant */
|
||||
/* Temporal #sec-temporal.instant */
|
||||
TO_BE_IMPLEMENTED(TemporalInstantConstructor)
|
||||
/* Temporal #sec-temporal.instant.from */
|
||||
TO_BE_IMPLEMENTED(TemporalInstantFrom)
|
||||
/* Temporal #sec-temporal.instant.fromepochseconds */
|
||||
TO_BE_IMPLEMENTED(TemporalInstantFromEpochSeconds)
|
||||
/* Temporal #sec-temporal.instant.fromepochmilliseconds */
|
||||
TO_BE_IMPLEMENTED(TemporalInstantFromEpochMilliseconds)
|
||||
/* Temporal #sec-temporal.instant.fromepochmicroseconds */
|
||||
TO_BE_IMPLEMENTED(TemporalInstantFromEpochMicroseconds)
|
||||
/* Temporal #sec-temporal.instant.fromepochnanoseconds */
|
||||
TO_BE_IMPLEMENTED(TemporalInstantFromEpochNanoseconds)
|
||||
/* Temporal #sec-temporal.instant.compare */
|
||||
TO_BE_IMPLEMENTED(TemporalInstantCompare)
|
||||
/* Temporal #sec-get-temporal.instant.prototype.epochseconds */
|
||||
TO_BE_IMPLEMENTED(TemporalInstantPrototypeEpochSeconds)
|
||||
/* Temporal #sec-get-temporal.instant.prototype.epochmilliseconds */
|
||||
TO_BE_IMPLEMENTED(TemporalInstantPrototypeEpochMilliseconds)
|
||||
/* Temporal #sec-get-temporal.instant.prototype.epochmicroseconds */
|
||||
TO_BE_IMPLEMENTED(TemporalInstantPrototypeEpochMicroseconds)
|
||||
/* Temporal #sec-get-temporal.instant.prototype.epochnanoseconds */
|
||||
TO_BE_IMPLEMENTED(TemporalInstantPrototypeEpochNanoseconds)
|
||||
/* Temporal #sec-temporal.instant.prototype.add */
|
||||
TO_BE_IMPLEMENTED(TemporalInstantPrototypeAdd)
|
||||
/* Temporal #sec-temporal.instant.prototype.subtract */
|
||||
TO_BE_IMPLEMENTED(TemporalInstantPrototypeSubtract)
|
||||
/* Temporal #sec-temporal.instant.prototype.until */
|
||||
TO_BE_IMPLEMENTED(TemporalInstantPrototypeUntil)
|
||||
/* Temporal #sec-temporal.instant.prototype.since */
|
||||
TO_BE_IMPLEMENTED(TemporalInstantPrototypeSince)
|
||||
/* Temporal #sec-temporal.instant.prototype.round */
|
||||
TO_BE_IMPLEMENTED(TemporalInstantPrototypeRound)
|
||||
/* Temporal #sec-temporal.instant.prototype.equals */
|
||||
TO_BE_IMPLEMENTED(TemporalInstantPrototypeEquals)
|
||||
/* Temporal #sec-temporal.instant.prototype.tostring */
|
||||
TO_BE_IMPLEMENTED(TemporalInstantPrototypeToString)
|
||||
/* Temporal #sec-temporal.instant.tojson */
|
||||
TO_BE_IMPLEMENTED(TemporalInstantPrototypeToJSON)
|
||||
/* Temporal #sec-temporal.instant.prototype.valueof */
|
||||
TO_BE_IMPLEMENTED(TemporalInstantPrototypeValueOf)
|
||||
/* Temporal #sec-temporal.instant.prototype.tozoneddatetime */
|
||||
TO_BE_IMPLEMENTED(TemporalInstantPrototypeToZonedDateTime)
|
||||
/* Temporal #sec-temporal.instant.prototype.tozoneddatetimeiso */
|
||||
TO_BE_IMPLEMENTED(TemporalInstantPrototypeToZonedDateTimeISO)
|
||||
|
||||
/* Temporal.PlainYearMonth */
|
||||
/* Temporal #sec-temporal.plainyearmonth */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainYearMonthConstructor)
|
||||
/* Temporal #sec-temporal.plainyearmonth.from */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainYearMonthFrom)
|
||||
/* Temporal #sec-temporal.plainyearmonth.compare */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainYearMonthCompare)
|
||||
/* Temporal #sec-get-temporal.plainyearmonth.prototype.calendar */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainYearMonthPrototypeCalendar)
|
||||
/* Temporal #sec-get-temporal.plainyearmonth.prototype.year */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainYearMonthPrototypeYear)
|
||||
/* Temporal #sec-get-temporal.plainyearmonth.prototype.month */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainYearMonthPrototypeMonth)
|
||||
/* Temporal #sec-get-temporal.plainyearmonth.prototype.monthcode */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainYearMonthPrototypeMonthCode)
|
||||
/* Temporal #sec-get-temporal.plainyearmonth.prototype.daysinyear */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainYearMonthPrototypeDaysInYear)
|
||||
/* Temporal #sec-get-temporal.plainyearmonth.prototype.daysinmonth */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainYearMonthPrototypeDaysInMonth)
|
||||
/* Temporal #sec-get-temporal.plainyearmonth.prototype.monthsinyear */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainYearMonthPrototypeMonthsInYear)
|
||||
/* Temporal #sec-get-temporal.plainyearmonth.prototype.inleapyear */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainYearMonthPrototypeInLeapYear)
|
||||
/* Temporal #sec-temporal.plainyearmonth.prototype.with */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainYearMonthPrototypeWith)
|
||||
/* Temporal #sec-temporal.plainyearmonth.prototype.add */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainYearMonthPrototypeAdd)
|
||||
/* Temporal #sec-temporal.plainyearmonth.prototype.subtract */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainYearMonthPrototypeSubtract)
|
||||
/* Temporal #sec-temporal.plainyearmonth.prototype.until */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainYearMonthPrototypeUntil)
|
||||
/* Temporal #sec-temporal.plainyearmonth.prototype.since */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainYearMonthPrototypeSince)
|
||||
/* Temporal #sec-temporal.plainyearmonth.prototype.equals */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainYearMonthPrototypeEquals)
|
||||
/* Temporal #sec-temporal.plainyearmonth.tostring */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainYearMonthPrototypeToString)
|
||||
/* Temporal #sec-temporal.plainyearmonth.tojson */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainYearMonthPrototypeToJSON)
|
||||
/* Temporal #sec-temporal.plainyearmonth.prototype.valueof */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainYearMonthPrototypeValueOf)
|
||||
/* Temporal #sec-temporal.plainyearmonth.prototype.toplaindate */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainYearMonthPrototypeToPlainDate)
|
||||
/* Temporal #sec-temporal.plainyearmonth.prototype.getisofields */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainYearMonthPrototypeGetISOFields)
|
||||
|
||||
/* Temporal.PlainMonthDay */
|
||||
/* Temporal #sec-temporal.plainmonthday */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainMonthDayConstructor)
|
||||
/* Temporal #sec-temporal.plainmonthday.from */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainMonthDayFrom)
|
||||
/* There are no compare for PlainMonthDay */
|
||||
/* See https://github.com/tc39/proposal-temporal/issues/1547 */
|
||||
/* Temporal #sec-get-temporal.plainmonthday.prototype.calendar */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainMonthDayPrototypeCalendar)
|
||||
/* Temporal #sec-get-temporal.plainmonthday.prototype.monthcode */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainMonthDayPrototypeMonthCode)
|
||||
/* Temporal #sec-get-temporal.plainmonthday.prototype.day */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainMonthDayPrototypeDay)
|
||||
/* Temporal #sec-temporal.plainmonthday.prototype.with */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainMonthDayPrototypeWith)
|
||||
/* Temporal #sec-temporal.plainmonthday.prototype.equals */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainMonthDayPrototypeEquals)
|
||||
/* Temporal #sec-temporal.plainmonthday.prototype.tostring */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainMonthDayPrototypeToString)
|
||||
/* Temporal #sec-temporal.plainmonthday.tojson */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainMonthDayPrototypeToJSON)
|
||||
/* Temporal #sec-temporal.plainmonthday.prototype.valueof */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainMonthDayPrototypeValueOf)
|
||||
/* Temporal #sec-temporal.plainmonthday.prototype.toplaindate */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainMonthDayPrototypeToPlainDate)
|
||||
/* Temporal #sec-temporal.plainmonthday.prototype.getisofields */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainMonthDayPrototypeGetISOFields)
|
||||
|
||||
/* Temporal.TimeZone */
|
||||
/* Temporal #sec-temporal.timezone */
|
||||
TO_BE_IMPLEMENTED(TemporalTimeZoneConstructor)
|
||||
/* Temporal #sec-temporal.timezone.from */
|
||||
TO_BE_IMPLEMENTED(TemporalTimeZoneFrom)
|
||||
/* Temporal #sec-get-temporal.timezone.prototype.id */
|
||||
TO_BE_IMPLEMENTED(TemporalTimeZonePrototypeId)
|
||||
/* Temporal #sec-temporal.timezone.prototype.getoffsetnanosecondsfor */
|
||||
TO_BE_IMPLEMENTED(TemporalTimeZonePrototypeGetOffsetNanosecondsFor)
|
||||
/* Temporal #sec-temporal.timezone.prototype.getoffsetstringfor */
|
||||
TO_BE_IMPLEMENTED(TemporalTimeZonePrototypeGetOffsetStringFor)
|
||||
/* Temporal #sec-temporal.timezone.prototype.getplaindatetimefor */
|
||||
TO_BE_IMPLEMENTED(TemporalTimeZonePrototypeGetPlainDateTimeFor)
|
||||
/* Temporal #sec-temporal.timezone.prototype.getinstantfor */
|
||||
TO_BE_IMPLEMENTED(TemporalTimeZonePrototypeGetInstantFor)
|
||||
/* Temporal #sec-temporal.timezone.prototype.getpossibleinstantsfor */
|
||||
TO_BE_IMPLEMENTED(TemporalTimeZonePrototypeGetPossibleInstantsFor)
|
||||
/* Temporal #sec-temporal.timezone.prototype.getnexttransition */
|
||||
TO_BE_IMPLEMENTED(TemporalTimeZonePrototypeGetNextTransition)
|
||||
/* Temporal #sec-temporal.timezone.prototype.getprevioustransition */
|
||||
TO_BE_IMPLEMENTED(TemporalTimeZonePrototypeGetPreviousTransition)
|
||||
/* Temporal #sec-temporal.timezone.prototype.tostring */
|
||||
TO_BE_IMPLEMENTED(TemporalTimeZonePrototypeToString)
|
||||
/* Temporal #sec-temporal.timezone.prototype.tojson */
|
||||
TO_BE_IMPLEMENTED(TemporalTimeZonePrototypeToJSON)
|
||||
|
||||
/* Temporal.Calendar */
|
||||
/* Temporal #sec-temporal.calendar */
|
||||
TO_BE_IMPLEMENTED(TemporalCalendarConstructor)
|
||||
/* Temporal #sec-temporal.calendar.from */
|
||||
TO_BE_IMPLEMENTED(TemporalCalendarFrom)
|
||||
/* Temporal #sec-get-temporal.calendar.prototype.id */
|
||||
TO_BE_IMPLEMENTED(TemporalCalendarPrototypeId)
|
||||
/* Temporal #sec-temporal.calendar.prototype.datefromfields */
|
||||
TO_BE_IMPLEMENTED(TemporalCalendarPrototypeDateFromFields)
|
||||
/* Temporal #sec-temporal.calendar.prototype.yearmonthfromfields */
|
||||
TO_BE_IMPLEMENTED(TemporalCalendarPrototypeYearMonthFromFields)
|
||||
/* Temporal #sec-temporal.calendar.prototype.monthdayfromfields */
|
||||
TO_BE_IMPLEMENTED(TemporalCalendarPrototypeMonthDayFromFields)
|
||||
/* Temporal #sec-temporal.calendar.prototype.dateadd */
|
||||
TO_BE_IMPLEMENTED(TemporalCalendarPrototypeDateAdd)
|
||||
/* Temporal #sec-temporal.calendar.prototype.dateuntil */
|
||||
TO_BE_IMPLEMENTED(TemporalCalendarPrototypeDateUntil)
|
||||
/* Temporal #sec-temporal.calendar.prototype.year */
|
||||
TO_BE_IMPLEMENTED(TemporalCalendarPrototypeYear)
|
||||
/* Temporal #sec-temporal.calendar.prototype.month */
|
||||
TO_BE_IMPLEMENTED(TemporalCalendarPrototypeMonth)
|
||||
/* Temporal #sec-temporal.calendar.prototype.monthcode */
|
||||
TO_BE_IMPLEMENTED(TemporalCalendarPrototypeMonthCode)
|
||||
/* Temporal #sec-temporal.calendar.prototype.day */
|
||||
TO_BE_IMPLEMENTED(TemporalCalendarPrototypeDay)
|
||||
/* Temporal #sec-temporal.calendar.prototype.dayofweek */
|
||||
TO_BE_IMPLEMENTED(TemporalCalendarPrototypeDayOfWeek)
|
||||
/* Temporal #sec-temporal.calendar.prototype.dayofyear */
|
||||
TO_BE_IMPLEMENTED(TemporalCalendarPrototypeDayOfYear)
|
||||
/* Temporal #sec-temporal.calendar.prototype.weekofyear */
|
||||
TO_BE_IMPLEMENTED(TemporalCalendarPrototypeWeekOfYear)
|
||||
/* Temporal #sec-temporal.calendar.prototype.daysinweek */
|
||||
TO_BE_IMPLEMENTED(TemporalCalendarPrototypeDaysInWeek)
|
||||
/* Temporal #sec-temporal.calendar.prototype.daysinmonth */
|
||||
TO_BE_IMPLEMENTED(TemporalCalendarPrototypeDaysInMonth)
|
||||
/* Temporal #sec-temporal.calendar.prototype.daysinyear */
|
||||
TO_BE_IMPLEMENTED(TemporalCalendarPrototypeDaysInYear)
|
||||
/* Temporal #sec-temporal.calendar.prototype.monthsinyear */
|
||||
TO_BE_IMPLEMENTED(TemporalCalendarPrototypeMonthsInYear)
|
||||
/* Temporal #sec-temporal.calendar.prototype.inleapyear */
|
||||
TO_BE_IMPLEMENTED(TemporalCalendarPrototypeInLeapYear)
|
||||
/* Temporal #sec-temporal.calendar.prototype.fields */
|
||||
TO_BE_IMPLEMENTED(TemporalCalendarPrototypeFields)
|
||||
/* Temporal #sec-temporal.calendar.prototype.mergefields */
|
||||
TO_BE_IMPLEMENTED(TemporalCalendarPrototypeMergeFields)
|
||||
/* Temporal #sec-temporal.calendar.prototype.tostring */
|
||||
TO_BE_IMPLEMENTED(TemporalCalendarPrototypeToString)
|
||||
/* Temporal #sec-temporal.calendar.prototype.tojson */
|
||||
TO_BE_IMPLEMENTED(TemporalCalendarPrototypeToJSON)
|
||||
|
||||
#ifdef V8_INTL_SUPPORT
|
||||
/* Temporal */
|
||||
/* Temporal #sec-temporal.calendar.prototype.era */
|
||||
TO_BE_IMPLEMENTED(TemporalCalendarPrototypeEra)
|
||||
/* Temporal #sec-temporal.calendar.prototype.erayear */
|
||||
TO_BE_IMPLEMENTED(TemporalCalendarPrototypeEraYear)
|
||||
/* Temporal #sec-temporal.duration.prototype.tolocalestring */
|
||||
TO_BE_IMPLEMENTED(TemporalDurationPrototypeToLocaleString)
|
||||
/* Temporal #sec-temporal.instant.prototype.tolocalestring */
|
||||
TO_BE_IMPLEMENTED(TemporalInstantPrototypeToLocaleString)
|
||||
/* Temporal #sec-get-temporal.plaindate.prototype.era */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDatePrototypeEra)
|
||||
/* Temporal #sec-get-temporal.plaindate.prototype.erayear */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDatePrototypeEraYear)
|
||||
/* Temporal #sec-temporal.plaindate.prototype.tolocalestring */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDatePrototypeToLocaleString)
|
||||
/* Temporal #sec-get-temporal.plaindatetime.prototype.era */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDateTimePrototypeEra)
|
||||
/* Temporal #sec-get-temporal.plaindatetime.prototype.erayear */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDateTimePrototypeEraYear)
|
||||
/* Temporal #sec-temporal.plaindatetime.prototype.tolocalestring */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainDateTimePrototypeToLocaleString)
|
||||
/* Temporal #sec-temporal.plainmonthday.prototype.tolocalestring */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainMonthDayPrototypeToLocaleString)
|
||||
/* Temporal #sec-temporal.plaintime.prototype.tolocalestring */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainTimePrototypeToLocaleString)
|
||||
/* Temporal #sec-get-temporal.plainyearmonth.prototype.era */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainYearMonthPrototypeEra)
|
||||
/* Temporal #sec-get-temporal.plainyearmonth.prototype.erayear */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainYearMonthPrototypeEraYear)
|
||||
/* Temporal #sec-temporal.plainyearmonth.prototype.tolocalestring */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainYearMonthPrototypeToLocaleString)
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.era */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeEra)
|
||||
/* Temporal #sec-get-temporal.zoneddatetime.prototype.erayear */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeEraYear)
|
||||
/* Temporal #sec-temporal.zoneddatetime.prototype.tolocalestring */
|
||||
TO_BE_IMPLEMENTED(TemporalZonedDateTimePrototypeToLocaleString)
|
||||
#endif // V8_INTL_SUPPORT
|
||||
|
||||
} // namespace internal
|
||||
} // namespace v8
|
@ -256,6 +256,16 @@ Type::bitset BitsetType::Lub(const MapRefLike& map) {
|
||||
case JS_WEAK_REF_TYPE:
|
||||
case JS_WEAK_SET_TYPE:
|
||||
case JS_PROMISE_TYPE:
|
||||
case JS_TEMPORAL_CALENDAR_TYPE:
|
||||
case JS_TEMPORAL_DURATION_TYPE:
|
||||
case JS_TEMPORAL_INSTANT_TYPE:
|
||||
case JS_TEMPORAL_PLAIN_DATE_TYPE:
|
||||
case JS_TEMPORAL_PLAIN_DATE_TIME_TYPE:
|
||||
case JS_TEMPORAL_PLAIN_MONTH_DAY_TYPE:
|
||||
case JS_TEMPORAL_PLAIN_TIME_TYPE:
|
||||
case JS_TEMPORAL_PLAIN_YEAR_MONTH_TYPE:
|
||||
case JS_TEMPORAL_TIME_ZONE_TYPE:
|
||||
case JS_TEMPORAL_ZONED_DATE_TIME_TYPE:
|
||||
#if V8_ENABLE_WEBASSEMBLY
|
||||
case WASM_ARRAY_TYPE:
|
||||
case WASM_TAG_OBJECT_TYPE:
|
||||
|
@ -58,6 +58,7 @@
|
||||
#include "src/objects/js-segmenter-inl.h"
|
||||
#include "src/objects/js-segments-inl.h"
|
||||
#endif // V8_INTL_SUPPORT
|
||||
#include "src/objects/js-temporal-objects-inl.h"
|
||||
#include "src/objects/js-weak-refs-inl.h"
|
||||
#include "src/objects/literal-objects-inl.h"
|
||||
#include "src/objects/maybe-object.h"
|
||||
|
@ -2113,6 +2113,55 @@ void Script::ScriptPrint(std::ostream& os) {
|
||||
os << "\n";
|
||||
}
|
||||
|
||||
void JSTemporalPlainDate::JSTemporalPlainDatePrint(std::ostream& os) {
|
||||
JSObjectPrintHeader(os, *this, "JSTemporalPlainDate");
|
||||
JSObjectPrintBody(os, *this);
|
||||
}
|
||||
|
||||
void JSTemporalPlainTime::JSTemporalPlainTimePrint(std::ostream& os) {
|
||||
JSObjectPrintHeader(os, *this, "JSTemporalPlainTime");
|
||||
JSObjectPrintBody(os, *this);
|
||||
}
|
||||
|
||||
void JSTemporalPlainDateTime::JSTemporalPlainDateTimePrint(std::ostream& os) {
|
||||
JSObjectPrintHeader(os, *this, "JSTemporalPlainDateTime");
|
||||
JSObjectPrintBody(os, *this);
|
||||
}
|
||||
|
||||
void JSTemporalZonedDateTime::JSTemporalZonedDateTimePrint(std::ostream& os) {
|
||||
JSObjectPrintHeader(os, *this, "JSTemporalZonedDateTime");
|
||||
JSObjectPrintBody(os, *this);
|
||||
}
|
||||
|
||||
void JSTemporalDuration::JSTemporalDurationPrint(std::ostream& os) {
|
||||
JSObjectPrintHeader(os, *this, "JSTemporalDuration");
|
||||
JSObjectPrintBody(os, *this);
|
||||
}
|
||||
|
||||
void JSTemporalInstant::JSTemporalInstantPrint(std::ostream& os) {
|
||||
JSObjectPrintHeader(os, *this, "JSTemporalInstant");
|
||||
JSObjectPrintBody(os, *this);
|
||||
}
|
||||
|
||||
void JSTemporalPlainYearMonth::JSTemporalPlainYearMonthPrint(std::ostream& os) {
|
||||
JSObjectPrintHeader(os, *this, "JSTemporalPlainYearMonth");
|
||||
JSObjectPrintBody(os, *this);
|
||||
}
|
||||
|
||||
void JSTemporalPlainMonthDay::JSTemporalPlainMonthDayPrint(std::ostream& os) {
|
||||
JSObjectPrintHeader(os, *this, "JSTemporalPlainMonthDay");
|
||||
JSObjectPrintBody(os, *this);
|
||||
}
|
||||
|
||||
void JSTemporalTimeZone::JSTemporalTimeZonePrint(std::ostream& os) {
|
||||
JSObjectPrintHeader(os, *this, "JSTemporalTimeZone");
|
||||
JSObjectPrintBody(os, *this);
|
||||
}
|
||||
|
||||
void JSTemporalCalendar::JSTemporalCalendarPrint(std::ostream& os) {
|
||||
JSObjectPrintHeader(os, *this, "JSTemporalCalendar");
|
||||
JSObjectPrintBody(os, *this);
|
||||
}
|
||||
#ifdef V8_INTL_SUPPORT
|
||||
void JSV8BreakIterator::JSV8BreakIteratorPrint(std::ostream& os) {
|
||||
JSObjectPrintHeader(os, *this, "JSV8BreakIterator");
|
||||
|
@ -303,7 +303,8 @@ DEFINE_BOOL(harmony_shipping, true, "enable all shipped harmony features")
|
||||
"harmony weak references with FinalizationRegistry.prototype.cleanupSome") \
|
||||
V(harmony_import_assertions, "harmony import assertions") \
|
||||
V(harmony_rab_gsab, \
|
||||
"harmony ResizableArrayBuffer / GrowableSharedArrayBuffer")
|
||||
"harmony ResizableArrayBuffer / GrowableSharedArrayBuffer") \
|
||||
V(harmony_temporal, "Temporal")
|
||||
|
||||
#ifdef V8_INTL_SUPPORT
|
||||
#define HARMONY_INPROGRESS(V) HARMONY_INPROGRESS_BASE(V)
|
||||
|
@ -58,6 +58,7 @@
|
||||
#include "src/objects/js-segments.h"
|
||||
#endif // V8_INTL_SUPPORT
|
||||
#include "src/codegen/script-details.h"
|
||||
#include "src/objects/js-temporal-objects-inl.h"
|
||||
#include "src/objects/js-weak-refs.h"
|
||||
#include "src/objects/ordered-hash-table.h"
|
||||
#include "src/objects/property-cell.h"
|
||||
@ -4544,6 +4545,635 @@ void Genesis::InitializeGlobal_harmony_rab_gsab() {
|
||||
Builtin::kSharedArrayBufferPrototypeGrow, 1, true);
|
||||
}
|
||||
|
||||
void Genesis::InitializeGlobal_harmony_temporal() {
|
||||
if (!FLAG_harmony_temporal) return;
|
||||
// -- T e m p o r a l
|
||||
// #sec-temporal-objects
|
||||
Handle<JSObject> temporal =
|
||||
factory()->NewJSObject(isolate_->object_function(), AllocationType::kOld);
|
||||
Handle<JSGlobalObject> global(native_context()->global_object(), isolate());
|
||||
JSObject::AddProperty(isolate_, global, "Temporal", temporal, DONT_ENUM);
|
||||
|
||||
// The initial value of the @@toStringTag property is the string value
|
||||
// *"Temporal"*.
|
||||
// https://github.com/tc39/proposal-temporal/issues/1539
|
||||
InstallToStringTag(isolate_, temporal, "Temporal");
|
||||
|
||||
{ // -- N o w
|
||||
// #sec-temporal-now-object
|
||||
Handle<JSObject> now = factory()->NewJSObject(isolate_->object_function(),
|
||||
AllocationType::kOld);
|
||||
JSObject::AddProperty(isolate_, temporal, "Now", now, DONT_ENUM);
|
||||
|
||||
// Note: There are NO Temporal.Now.plainTime
|
||||
// See https://github.com/tc39/proposal-temporal/issues/1540
|
||||
#define NOW_LIST(V) \
|
||||
V(timeZone, TimeZone, 0) \
|
||||
V(instant, Instant, 0) \
|
||||
V(plainDateTime, PlainDateTime, 1) \
|
||||
V(plainDateTimeISO, PlainDateTimeISO, 0) \
|
||||
V(zonedDateTime, ZonedDateTime, 1) \
|
||||
V(zonedDateTimeISO, ZonedDateTimeISO, 0) \
|
||||
V(plainDate, PlainDate, 1) \
|
||||
V(plainDateISO, PlainDateISO, 0) \
|
||||
V(plainTimeISO, PlainTimeISO, 0)
|
||||
|
||||
#define INSTALL_NOW_FUNC(p, N, n) \
|
||||
SimpleInstallFunction(isolate(), now, #p, Builtin::kTemporalNow##N, n, false);
|
||||
|
||||
NOW_LIST(INSTALL_NOW_FUNC)
|
||||
#undef INSTALL_NOW_FUNC
|
||||
#undef NOW_LIST
|
||||
}
|
||||
#define INSTALL_TEMPORAL_CTOR_AND_PROTOTYPE(N, U, NUM_ARGS) \
|
||||
Handle<JSFunction> obj_func = InstallFunction( \
|
||||
isolate(), temporal, #N, JS_TEMPORAL_##U##_TYPE, \
|
||||
JSTemporal##N::kHeaderSize, 0, factory()->the_hole_value(), \
|
||||
Builtin::kTemporal##N##Constructor); \
|
||||
obj_func->shared().set_length(NUM_ARGS); \
|
||||
obj_func->shared().DontAdaptArguments(); \
|
||||
InstallWithIntrinsicDefaultProto(isolate_, obj_func, \
|
||||
Context::JS_TEMPORAL_##U##_FUNCTION_INDEX); \
|
||||
Handle<JSObject> prototype(JSObject::cast(obj_func->instance_prototype()), \
|
||||
isolate()); \
|
||||
InstallToStringTag(isolate(), prototype, "Temporal." #N);
|
||||
|
||||
#define INSTALL_TEMPORAL_FUNC(T, name, N, arg) \
|
||||
SimpleInstallFunction(isolate(), obj_func, #name, Builtin::kTemporal##T##N, \
|
||||
arg, false);
|
||||
|
||||
{ // -- P l a i n D a t e
|
||||
// #sec-temporal-plaindate-objects
|
||||
// #sec-temporal.plaindate
|
||||
INSTALL_TEMPORAL_CTOR_AND_PROTOTYPE(PlainDate, PLAIN_DATE, 3)
|
||||
INSTALL_TEMPORAL_FUNC(PlainDate, from, From, 1)
|
||||
INSTALL_TEMPORAL_FUNC(PlainDate, compare, Compare, 2)
|
||||
|
||||
#ifdef V8_INTL_SUPPORT
|
||||
#define PLAIN_DATE_GETTER_LIST_INTL(V) \
|
||||
V(era, Era) \
|
||||
V(eraYear, EraYear)
|
||||
#else
|
||||
#define PLAIN_DATE_GETTER_LIST_INTL(V)
|
||||
#endif // V8_INTL_SUPPORT
|
||||
|
||||
#define PLAIN_DATE_GETTER_LIST(V) \
|
||||
PLAIN_DATE_GETTER_LIST_INTL(V) \
|
||||
V(calendar, Calendar) \
|
||||
V(year, Year) \
|
||||
V(month, Month) \
|
||||
V(monthCode, MonthCode) \
|
||||
V(day, Day) \
|
||||
V(dayOfWeek, DayOfWeek) \
|
||||
V(dayOfYear, DayOfYear) \
|
||||
V(weekOfYear, WeekOfYear) \
|
||||
V(daysInWeek, DaysInWeek) \
|
||||
V(daysInMonth, DaysInMonth) \
|
||||
V(daysInYear, DaysInYear) \
|
||||
V(monthsInYear, MonthsInYear) \
|
||||
V(inLeapYear, InLeapYear)
|
||||
|
||||
#define INSTALL_PLAIN_DATE_GETTER_FUNC(p, N) \
|
||||
SimpleInstallGetter(isolate(), prototype, isolate_->factory()->p##_string(), \
|
||||
Builtin::kTemporalPlainDatePrototype##N, true);
|
||||
|
||||
PLAIN_DATE_GETTER_LIST(INSTALL_PLAIN_DATE_GETTER_FUNC)
|
||||
#undef PLAIN_DATE_GETTER_LIST
|
||||
#undef PLAIN_DATE_GETTER_LIST_INTL
|
||||
#undef INSTALL_PLAIN_DATE_GETTER_FUNC
|
||||
|
||||
#define PLAIN_DATE_FUNC_LIST(V) \
|
||||
V(toPlainYearMonth, ToPlainYearMonth, 0) \
|
||||
V(toPlainMonthDay, ToPlainMonthDay, 0) \
|
||||
V(getISOFiels, GetISOFields, 0) \
|
||||
V(add, Add, 1) \
|
||||
V(subtract, Subtract, 1) \
|
||||
V(with, With, 1) \
|
||||
V(withCalendar, WithCalendar, 1) \
|
||||
V(until, Until, 1) \
|
||||
V(since, Since, 1) \
|
||||
V(equals, Equals, 1) \
|
||||
V(getISOFields, GetISOFields, 0) \
|
||||
V(toPlainDateTime, ToPlainDateTime, 0) \
|
||||
V(toZonedDateTime, ToZonedDateTime, 1) \
|
||||
V(toString, ToString, 0) \
|
||||
V(toJSON, ToJSON, 0) \
|
||||
V(valueOf, ValueOf, 0)
|
||||
|
||||
#define INSTALL_PLAIN_DATE_FUNC(p, N, min) \
|
||||
SimpleInstallFunction(isolate(), prototype, #p, \
|
||||
Builtin::kTemporalPlainDatePrototype##N, min, false);
|
||||
PLAIN_DATE_FUNC_LIST(INSTALL_PLAIN_DATE_FUNC)
|
||||
#undef PLAIN_DATE_FUNC_LIST
|
||||
#undef INSTALL_PLAIN_DATE_FUNC
|
||||
|
||||
#ifdef V8_INTL_SUPPORT
|
||||
#define INSTALL_TO_LOCALE_STRING_FUNC(R) \
|
||||
SimpleInstallFunction(isolate(), prototype, "toLocaleString", \
|
||||
Builtin::kTemporal##R##PrototypeToLocaleString, 0, \
|
||||
false);
|
||||
#else
|
||||
#define INSTALL_TO_LOCALE_STRING_FUNC(R) \
|
||||
/* Install Intl fallback functions. */ \
|
||||
SimpleInstallFunction(isolate(), prototype, "toLocaleString", \
|
||||
Builtin::kTemporal##R##PrototypeToString, 0, false);
|
||||
#endif // V8_INTL_SUPPORT
|
||||
|
||||
INSTALL_TO_LOCALE_STRING_FUNC(PlainDate)
|
||||
}
|
||||
{ // -- P l a i n T i m e
|
||||
// #sec-temporal-plaintime-objects
|
||||
// #sec-temporal.plaintime
|
||||
INSTALL_TEMPORAL_CTOR_AND_PROTOTYPE(PlainTime, PLAIN_TIME, 0)
|
||||
INSTALL_TEMPORAL_FUNC(PlainTime, from, From, 1)
|
||||
INSTALL_TEMPORAL_FUNC(PlainTime, compare, Compare, 2)
|
||||
|
||||
#define PLAIN_TIME_GETTER_LIST(V) \
|
||||
V(calendar, Calendar) \
|
||||
V(hour, Hour) \
|
||||
V(minute, Minute) \
|
||||
V(second, Second) \
|
||||
V(millisecond, Millisecond) \
|
||||
V(microsecond, Microsecond) \
|
||||
V(nanosecond, Nanosecond)
|
||||
|
||||
#define INSTALL_PLAIN_TIME_GETTER_FUNC(p, N) \
|
||||
SimpleInstallGetter(isolate(), prototype, isolate_->factory()->p##_string(), \
|
||||
Builtin::kTemporalPlainTimePrototype##N, true);
|
||||
|
||||
PLAIN_TIME_GETTER_LIST(INSTALL_PLAIN_TIME_GETTER_FUNC)
|
||||
#undef PLAIN_TIME_GETTER_LIST
|
||||
#undef INSTALL_PLAIN_TIME_GETTER_FUNC
|
||||
|
||||
#define PLAIN_TIME_FUNC_LIST(V) \
|
||||
V(add, Add, 1) \
|
||||
V(subtract, Subtract, 1) \
|
||||
V(with, With, 1) \
|
||||
V(until, Until, 1) \
|
||||
V(since, Since, 1) \
|
||||
V(round, Round, 1) \
|
||||
V(equals, Equals, 1) \
|
||||
V(toPlainDateTime, ToPlainDateTime, 1) \
|
||||
V(toZonedDateTime, ToZonedDateTime, 1) \
|
||||
V(getISOFields, GetISOFields, 0) \
|
||||
V(toString, ToString, 0) \
|
||||
V(toJSON, ToJSON, 0) \
|
||||
V(valueOf, ValueOf, 0)
|
||||
|
||||
#define INSTALL_PLAIN_TIME_FUNC(p, N, min) \
|
||||
SimpleInstallFunction(isolate(), prototype, #p, \
|
||||
Builtin::kTemporalPlainTimePrototype##N, min, false);
|
||||
PLAIN_TIME_FUNC_LIST(INSTALL_PLAIN_TIME_FUNC)
|
||||
#undef PLAIN_TIME_FUNC_LIST
|
||||
#undef INSTALL_PLAIN_TIME_FUNC
|
||||
|
||||
INSTALL_TO_LOCALE_STRING_FUNC(PlainTime)
|
||||
}
|
||||
{ // -- P l a i n D a t e T i m e
|
||||
// #sec-temporal-plaindatetime-objects
|
||||
// #sec-temporal.plaindatetime
|
||||
INSTALL_TEMPORAL_CTOR_AND_PROTOTYPE(PlainDateTime, PLAIN_DATE_TIME, 3)
|
||||
INSTALL_TEMPORAL_FUNC(PlainDateTime, from, From, 1)
|
||||
INSTALL_TEMPORAL_FUNC(PlainDateTime, compare, Compare, 2)
|
||||
|
||||
#ifdef V8_INTL_SUPPORT
|
||||
#define PLAIN_DATE_TIME_GETTER_LIST_INTL(V) \
|
||||
V(era, Era) \
|
||||
V(eraYear, EraYear)
|
||||
#else
|
||||
#define PLAIN_DATE_TIME_GETTER_LIST_INTL(V)
|
||||
#endif // V8_INTL_SUPPORT
|
||||
|
||||
#define PLAIN_DATE_TIME_GETTER_LIST(V) \
|
||||
PLAIN_DATE_TIME_GETTER_LIST_INTL(V) \
|
||||
V(calendar, Calendar) \
|
||||
V(year, Year) \
|
||||
V(month, Month) \
|
||||
V(monthCode, MonthCode) \
|
||||
V(day, Day) \
|
||||
V(hour, Hour) \
|
||||
V(minute, Minute) \
|
||||
V(second, Second) \
|
||||
V(millisecond, Millisecond) \
|
||||
V(microsecond, Microsecond) \
|
||||
V(nanosecond, Nanosecond) \
|
||||
V(dayOfWeek, DayOfWeek) \
|
||||
V(dayOfYear, DayOfYear) \
|
||||
V(weekOfYear, WeekOfYear) \
|
||||
V(daysInWeek, DaysInWeek) \
|
||||
V(daysInMonth, DaysInMonth) \
|
||||
V(daysInYear, DaysInYear) \
|
||||
V(monthsInYear, MonthsInYear) \
|
||||
V(inLeapYear, InLeapYear)
|
||||
|
||||
#define INSTALL_PLAIN_DATE_TIME_GETTER_FUNC(p, N) \
|
||||
SimpleInstallGetter(isolate(), prototype, isolate_->factory()->p##_string(), \
|
||||
Builtin::kTemporalPlainDateTimePrototype##N, true);
|
||||
|
||||
PLAIN_DATE_TIME_GETTER_LIST(INSTALL_PLAIN_DATE_TIME_GETTER_FUNC)
|
||||
#undef PLAIN_DATE_TIME_GETTER_LIST
|
||||
#undef PLAIN_DATE_TIME_GETTER_LIST_INTL
|
||||
#undef INSTALL_PLAIN_DATE_TIME_GETTER_FUNC
|
||||
|
||||
#define PLAIN_DATE_TIME_FUNC_LIST(V) \
|
||||
V(with, With, 1) \
|
||||
V(withPlainTime, WithPlainTime, 0) \
|
||||
V(withPlainDate, WithPlainDate, 1) \
|
||||
V(withCalendar, WithCalendar, 1) \
|
||||
V(add, Add, 1) \
|
||||
V(subtract, Subtract, 1) \
|
||||
V(until, Until, 1) \
|
||||
V(since, Since, 1) \
|
||||
V(round, Round, 1) \
|
||||
V(equals, Equals, 1) \
|
||||
V(toJSON, ToJSON, 0) \
|
||||
V(toString, ToString, 0) \
|
||||
V(valueOf, ValueOf, 0) \
|
||||
V(toZonedDateTime, ToZonedDateTime, 1) \
|
||||
V(toPlainDate, ToPlainDate, 0) \
|
||||
V(toPlainYearMonth, ToPlainYearMonth, 0) \
|
||||
V(toPlainMonthDay, ToPlainMonthDay, 0) \
|
||||
V(toPlainTime, ToPlainTime, 0) \
|
||||
V(getISOFields, GetISOFields, 0)
|
||||
|
||||
#define INSTALL_PLAIN_DATE_TIME_FUNC(p, N, min) \
|
||||
SimpleInstallFunction(isolate(), prototype, #p, \
|
||||
Builtin::kTemporalPlainDateTimePrototype##N, min, \
|
||||
false);
|
||||
PLAIN_DATE_TIME_FUNC_LIST(INSTALL_PLAIN_DATE_TIME_FUNC)
|
||||
#undef PLAIN_DATE_TIME_FUNC_LIST
|
||||
#undef INSTALL_PLAIN_DATE_TIME_FUNC
|
||||
|
||||
INSTALL_TO_LOCALE_STRING_FUNC(PlainDateTime)
|
||||
}
|
||||
{ // -- Z o n e d D a t e T i m e
|
||||
// #sec-temporal-zoneddatetime-objects
|
||||
// #sec-temporal.zoneddatetime
|
||||
INSTALL_TEMPORAL_CTOR_AND_PROTOTYPE(ZonedDateTime, ZONED_DATE_TIME, 2)
|
||||
INSTALL_TEMPORAL_FUNC(ZonedDateTime, from, From, 1)
|
||||
INSTALL_TEMPORAL_FUNC(ZonedDateTime, compare, Compare, 2)
|
||||
|
||||
#ifdef V8_INTL_SUPPORT
|
||||
#define ZONED_DATE_TIME_GETTER_LIST_INTL(V) \
|
||||
V(era, Era) \
|
||||
V(eraYear, EraYear)
|
||||
#else
|
||||
#define ZONED_DATE_TIME_GETTER_LIST_INTL(V)
|
||||
#endif // V8_INTL_SUPPORT
|
||||
|
||||
#define ZONED_DATE_TIME_GETTER_LIST(V) \
|
||||
ZONED_DATE_TIME_GETTER_LIST_INTL(V) \
|
||||
V(calendar, Calendar) \
|
||||
V(timeZone, TimeZone) \
|
||||
V(year, Year) \
|
||||
V(month, Month) \
|
||||
V(monthCode, MonthCode) \
|
||||
V(day, Day) \
|
||||
V(hour, Hour) \
|
||||
V(minute, Minute) \
|
||||
V(second, Second) \
|
||||
V(millisecond, Millisecond) \
|
||||
V(microsecond, Microsecond) \
|
||||
V(nanosecond, Nanosecond) \
|
||||
V(epochSeconds, EpochSeconds) \
|
||||
V(epochMilliseconds, EpochMilliseconds) \
|
||||
V(epochMicroseconds, EpochMicroseconds) \
|
||||
V(epochNanoseconds, EpochNanoseconds) \
|
||||
V(dayOfWeek, DayOfWeek) \
|
||||
V(dayOfYear, DayOfYear) \
|
||||
V(weekOfYear, WeekOfYear) \
|
||||
V(hoursInDay, HoursInDay) \
|
||||
V(daysInWeek, DaysInWeek) \
|
||||
V(daysInMonth, DaysInMonth) \
|
||||
V(daysInYear, DaysInYear) \
|
||||
V(monthsInYear, MonthsInYear) \
|
||||
V(inLeapYear, InLeapYear) \
|
||||
V(offsetNanoseconds, OffsetNanoseconds) \
|
||||
V(offset, Offset)
|
||||
|
||||
#define INSTALL_ZONED_DATE_TIME_GETTER_FUNC(p, N) \
|
||||
SimpleInstallGetter(isolate(), prototype, isolate_->factory()->p##_string(), \
|
||||
Builtin::kTemporalZonedDateTimePrototype##N, true);
|
||||
|
||||
ZONED_DATE_TIME_GETTER_LIST(INSTALL_ZONED_DATE_TIME_GETTER_FUNC)
|
||||
#undef ZONED_DATE_TIME_GETTER_LIST
|
||||
#undef ZONED_DATE_TIME_GETTER_LIST_INTL
|
||||
#undef INSTALL_ZONED_DATE_TIME_GETTER_FUNC
|
||||
|
||||
#define ZONED_DATE_TIME_FUNC_LIST(V) \
|
||||
V(with, With, 1) \
|
||||
V(withPlainTime, WithPlainTime, 0) \
|
||||
V(withPlainDate, WithPlainDate, 1) \
|
||||
V(withTimeZone, WithTimeZone, 1) \
|
||||
V(withCalendar, WithCalendar, 1) \
|
||||
V(add, Add, 1) \
|
||||
V(subtract, Subtract, 1) \
|
||||
V(until, Until, 1) \
|
||||
V(since, Since, 1) \
|
||||
V(round, Round, 1) \
|
||||
V(equals, Equals, 1) \
|
||||
V(toString, ToString, 0) \
|
||||
V(toJSON, ToJSON, 0) \
|
||||
V(valueOf, ValueOf, 0) \
|
||||
V(startOfDay, StartOfDay, 0) \
|
||||
V(toInstant, ToInstant, 0) \
|
||||
V(toPlainDate, ToPlainDate, 0) \
|
||||
V(toPlainTime, ToPlainTime, 0) \
|
||||
V(toPlainDateTime, ToPlainDateTime, 0) \
|
||||
V(toPlainYearMonth, ToPlainYearMonth, 0) \
|
||||
V(toPlainMonthDay, ToPlainMonthDay, 0) \
|
||||
V(getISOFields, GetISOFields, 0)
|
||||
|
||||
#define INSTALL_ZONED_DATE_TIME_FUNC(p, N, min) \
|
||||
SimpleInstallFunction(isolate(), prototype, #p, \
|
||||
Builtin::kTemporalZonedDateTimePrototype##N, min, \
|
||||
false);
|
||||
ZONED_DATE_TIME_FUNC_LIST(INSTALL_ZONED_DATE_TIME_FUNC)
|
||||
#undef ZONED_DATE_TIME_FUNC_LIST
|
||||
#undef INSTALL_ZONED_DATE_TIME_FUNC
|
||||
|
||||
INSTALL_TO_LOCALE_STRING_FUNC(ZonedDateTime)
|
||||
}
|
||||
{ // -- D u r a t i o n
|
||||
// #sec-temporal-duration-objects
|
||||
// #sec-temporal.duration
|
||||
INSTALL_TEMPORAL_CTOR_AND_PROTOTYPE(Duration, DURATION, 0)
|
||||
INSTALL_TEMPORAL_FUNC(Duration, from, From, 1)
|
||||
INSTALL_TEMPORAL_FUNC(Duration, compare, Compare, 2)
|
||||
|
||||
#define DURATION_GETTER_LIST(V) \
|
||||
V(years, Years) \
|
||||
V(months, Months) \
|
||||
V(weeks, Weeks) \
|
||||
V(days, Days) \
|
||||
V(hours, Hours) \
|
||||
V(minutes, Minutes) \
|
||||
V(seconds, Seconds) \
|
||||
V(milliseconds, Milliseconds) \
|
||||
V(microseconds, Microseconds) \
|
||||
V(nanoseconds, Nanoseconds) \
|
||||
V(sign, Sign) \
|
||||
V(blank, Blank)
|
||||
|
||||
#define INSTALL_DURATION_GETTER_FUNC(p, N) \
|
||||
SimpleInstallGetter(isolate(), prototype, isolate_->factory()->p##_string(), \
|
||||
Builtin::kTemporalDurationPrototype##N, true);
|
||||
|
||||
DURATION_GETTER_LIST(INSTALL_DURATION_GETTER_FUNC)
|
||||
#undef DURATION_GETTER_LIST
|
||||
#undef INSTALL_DURATION_GETTER_FUNC
|
||||
|
||||
#define DURATION_FUNC_LIST(V) \
|
||||
V(with, With, 1) \
|
||||
V(negated, Negated, 0) \
|
||||
V(abs, Abs, 0) \
|
||||
V(add, Add, 1) \
|
||||
V(subtract, Subtract, 1) \
|
||||
V(round, Round, 1) \
|
||||
V(total, Total, 1) \
|
||||
V(toString, ToString, 0) \
|
||||
V(toJSON, ToJSON, 0) \
|
||||
V(valueOf, ValueOf, 0)
|
||||
|
||||
#define INSTALL_DURATION_FUNC(p, N, min) \
|
||||
SimpleInstallFunction(isolate(), prototype, #p, \
|
||||
Builtin::kTemporalDurationPrototype##N, min, false);
|
||||
DURATION_FUNC_LIST(INSTALL_DURATION_FUNC)
|
||||
#undef DURATION_FUNC_LIST
|
||||
#undef INSTALL_DURATION_FUNC
|
||||
|
||||
INSTALL_TO_LOCALE_STRING_FUNC(Duration)
|
||||
}
|
||||
{ // -- I n s t a n t
|
||||
// #sec-temporal-instant-objects
|
||||
// #sec-temporal.instant
|
||||
INSTALL_TEMPORAL_CTOR_AND_PROTOTYPE(Instant, INSTANT, 1)
|
||||
INSTALL_TEMPORAL_FUNC(Instant, from, From, 1)
|
||||
INSTALL_TEMPORAL_FUNC(Instant, compare, Compare, 2)
|
||||
INSTALL_TEMPORAL_FUNC(Instant, fromEpochSeconds, FromEpochSeconds, 1)
|
||||
INSTALL_TEMPORAL_FUNC(Instant, fromEpochMilliseconds, FromEpochMilliseconds,
|
||||
1)
|
||||
INSTALL_TEMPORAL_FUNC(Instant, fromEpochMicroseconds, FromEpochMicroseconds,
|
||||
1)
|
||||
INSTALL_TEMPORAL_FUNC(Instant, fromEpochNanoseconds, FromEpochNanoseconds,
|
||||
1)
|
||||
|
||||
#define INSTANT_GETTER_LIST(V) \
|
||||
V(epochSeconds, EpochSeconds) \
|
||||
V(epochMilliseconds, EpochMilliseconds) \
|
||||
V(epochMicroseconds, EpochMicroseconds) \
|
||||
V(epochNanoseconds, EpochNanoseconds)
|
||||
|
||||
#define INSTALL_INSTANT_GETTER_FUNC(p, N) \
|
||||
SimpleInstallGetter(isolate(), prototype, isolate_->factory()->p##_string(), \
|
||||
Builtin::kTemporalInstantPrototype##N, true);
|
||||
|
||||
INSTANT_GETTER_LIST(INSTALL_INSTANT_GETTER_FUNC)
|
||||
#undef INSTANT_GETTER_LIST
|
||||
#undef INSTALL_INSTANT_GETTER_FUNC
|
||||
|
||||
#define INSTANT_FUNC_LIST(V) \
|
||||
V(add, Add, 1) \
|
||||
V(subtract, Subtract, 1) \
|
||||
V(until, Until, 1) \
|
||||
V(since, Since, 1) \
|
||||
V(round, Round, 1) \
|
||||
V(equals, Equals, 1) \
|
||||
V(toString, ToString, 0) \
|
||||
V(toJSON, ToJSON, 0) \
|
||||
V(valueOf, ValueOf, 0) \
|
||||
V(toZonedDateTime, ToZonedDateTime, 1) \
|
||||
V(toZonedDateTimeISO, ToZonedDateTimeISO, 1)
|
||||
|
||||
#define INSTALL_INSTANT_FUNC(p, N, min) \
|
||||
SimpleInstallFunction(isolate(), prototype, #p, \
|
||||
Builtin::kTemporalInstantPrototype##N, min, false);
|
||||
INSTANT_FUNC_LIST(INSTALL_INSTANT_FUNC)
|
||||
#undef INSTANT_FUNC_LIST
|
||||
#undef INSTALL_INSTANT_FUNC
|
||||
|
||||
INSTALL_TO_LOCALE_STRING_FUNC(Instant)
|
||||
}
|
||||
{ // -- P l a i n Y e a r M o n t h
|
||||
// #sec-temporal-plainyearmonth-objects
|
||||
// #sec-temporal.plainyearmonth
|
||||
INSTALL_TEMPORAL_CTOR_AND_PROTOTYPE(PlainYearMonth, PLAIN_YEAR_MONTH, 2)
|
||||
INSTALL_TEMPORAL_FUNC(PlainYearMonth, from, From, 1)
|
||||
INSTALL_TEMPORAL_FUNC(PlainYearMonth, compare, Compare, 2)
|
||||
|
||||
#ifdef V8_INTL_SUPPORT
|
||||
#define PLAIN_YEAR_MONTH_GETTER_LIST_INTL(V) \
|
||||
V(era, Era) \
|
||||
V(eraYear, EraYear)
|
||||
#else
|
||||
#define PLAIN_YEAR_MONTH_GETTER_LIST_INTL(V)
|
||||
#endif // V8_INTL_SUPPORT
|
||||
|
||||
#define PLAIN_YEAR_MONTH_GETTER_LIST(V) \
|
||||
PLAIN_YEAR_MONTH_GETTER_LIST_INTL(V) \
|
||||
V(calendar, Calendar) \
|
||||
V(year, Year) \
|
||||
V(month, Month) \
|
||||
V(monthCode, MonthCode) \
|
||||
V(daysInYear, DaysInYear) \
|
||||
V(daysInMonth, DaysInMonth) \
|
||||
V(monthsInYear, MonthsInYear) \
|
||||
V(inLeapYear, InLeapYear)
|
||||
|
||||
#define INSTALL_PLAIN_YEAR_MONTH_GETTER_FUNC(p, N) \
|
||||
SimpleInstallGetter(isolate(), prototype, isolate_->factory()->p##_string(), \
|
||||
Builtin::kTemporalPlainYearMonthPrototype##N, true);
|
||||
|
||||
PLAIN_YEAR_MONTH_GETTER_LIST(INSTALL_PLAIN_YEAR_MONTH_GETTER_FUNC)
|
||||
#undef PLAIN_YEAR_MONTH_GETTER_LIST
|
||||
#undef PLAIN_YEAR_MONTH_GETTER_LIST_INTL
|
||||
#undef INSTALL_PLAIN_YEAR_MONTH_GETTER_FUNC
|
||||
|
||||
#define PLAIN_YEAR_MONTH_FUNC_LIST(V) \
|
||||
V(with, With, 1) \
|
||||
V(add, Add, 1) \
|
||||
V(subtract, Subtract, 1) \
|
||||
V(until, Until, 1) \
|
||||
V(since, Since, 1) \
|
||||
V(equals, Equals, 1) \
|
||||
V(toString, ToString, 0) \
|
||||
V(toJSON, ToJSON, 0) \
|
||||
V(valueOf, ValueOf, 0) \
|
||||
V(toPlainDate, ToPlainDate, 1) \
|
||||
V(getISOFields, GetISOFields, 0)
|
||||
|
||||
#define INSTALL_PLAIN_YEAR_MONTH_FUNC(p, N, min) \
|
||||
SimpleInstallFunction(isolate(), prototype, #p, \
|
||||
Builtin::kTemporalPlainYearMonthPrototype##N, min, \
|
||||
false);
|
||||
PLAIN_YEAR_MONTH_FUNC_LIST(INSTALL_PLAIN_YEAR_MONTH_FUNC)
|
||||
#undef PLAIN_YEAR_MONTH_FUNC_LIST
|
||||
#undef INSTALL_PLAIN_YEAR_MONTH_FUNC
|
||||
|
||||
INSTALL_TO_LOCALE_STRING_FUNC(PlainYearMonth)
|
||||
}
|
||||
{ // -- P l a i n M o n t h D a y
|
||||
// #sec-temporal-plainmonthday-objects
|
||||
// #sec-temporal.plainmonthday
|
||||
INSTALL_TEMPORAL_CTOR_AND_PROTOTYPE(PlainMonthDay, PLAIN_MONTH_DAY, 2)
|
||||
INSTALL_TEMPORAL_FUNC(PlainMonthDay, from, From, 1)
|
||||
// Notice there are no Temporal.PlainMonthDay.compare in the spec.
|
||||
|
||||
#define PLAIN_MONTH_DAY_GETTER_LIST(V) \
|
||||
V(calendar, Calendar) \
|
||||
V(monthCode, MonthCode) \
|
||||
V(day, Day)
|
||||
|
||||
#define INSTALL_PLAIN_MONTH_DAY_GETTER_FUNC(p, N) \
|
||||
SimpleInstallGetter(isolate(), prototype, isolate_->factory()->p##_string(), \
|
||||
Builtin::kTemporalPlainMonthDayPrototype##N, true);
|
||||
|
||||
PLAIN_MONTH_DAY_GETTER_LIST(INSTALL_PLAIN_MONTH_DAY_GETTER_FUNC)
|
||||
#undef PLAIN_MONTH_DAY_GETTER_LIST
|
||||
#undef INSTALL_PLAIN_MONTH_DAY_GETTER_FUNC
|
||||
|
||||
#define PLAIN_MONTH_DAY_FUNC_LIST(V) \
|
||||
V(with, With, 1) \
|
||||
V(equals, Equals, 1) \
|
||||
V(toString, ToString, 0) \
|
||||
V(toJSON, ToJSON, 0) \
|
||||
V(valueOf, ValueOf, 0) \
|
||||
V(toPlainDate, ToPlainDate, 1) \
|
||||
V(getISOFields, GetISOFields, 0)
|
||||
|
||||
#define INSTALL_PLAIN_MONTH_DAY_FUNC(p, N, min) \
|
||||
SimpleInstallFunction(isolate(), prototype, #p, \
|
||||
Builtin::kTemporalPlainMonthDayPrototype##N, min, \
|
||||
false);
|
||||
PLAIN_MONTH_DAY_FUNC_LIST(INSTALL_PLAIN_MONTH_DAY_FUNC)
|
||||
#undef PLAIN_MONTH_DAY_FUNC_LIST
|
||||
#undef INSTALL_PLAIN_MONTH_DAY_FUNC
|
||||
|
||||
INSTALL_TO_LOCALE_STRING_FUNC(PlainMonthDay)
|
||||
}
|
||||
#undef INSTALL_TO_LOCALE_STRING_FUNC
|
||||
{ // -- T i m e Z o n e
|
||||
// #sec-temporal-timezone-objects
|
||||
// #sec-temporal.timezone
|
||||
INSTALL_TEMPORAL_CTOR_AND_PROTOTYPE(TimeZone, TIME_ZONE, 1)
|
||||
INSTALL_TEMPORAL_FUNC(TimeZone, from, From, 1)
|
||||
|
||||
// #sec-get-temporal.timezone.prototype.id
|
||||
SimpleInstallGetter(isolate(), prototype, factory()->id_string(),
|
||||
Builtin::kTemporalTimeZonePrototypeId, true);
|
||||
|
||||
#define TIME_ZONE_FUNC_LIST(V) \
|
||||
V(getOffsetNanosecondsFor, GetOffsetNanosecondsFor, 1) \
|
||||
V(getOffsetStringFor, GetOffsetStringFor, 1) \
|
||||
V(getPlainDateTimeFor, GetPlainDateTimeFor, 1) \
|
||||
V(getInstantFor, GetInstantFor, 1) \
|
||||
V(getPossibleInstantsFor, GetPossibleInstantsFor, 1) \
|
||||
V(getNextTransition, GetNextTransition, 1) \
|
||||
V(getPreviousTransition, GetPreviousTransition, 1) \
|
||||
V(toString, ToString, 0) \
|
||||
V(toJSON, ToJSON, 0)
|
||||
|
||||
#define INSTALL_TIME_ZONE_FUNC(p, N, min) \
|
||||
SimpleInstallFunction(isolate(), prototype, #p, \
|
||||
Builtin::kTemporalTimeZonePrototype##N, min, false);
|
||||
TIME_ZONE_FUNC_LIST(INSTALL_TIME_ZONE_FUNC)
|
||||
#undef TIME_ZONE_FUNC_LIST
|
||||
#undef INSTALL_TIME_ZONE_FUNC
|
||||
}
|
||||
{ // -- C a l e n d a r
|
||||
// #sec-temporal-calendar-objects
|
||||
// #sec-temporal.calendar
|
||||
INSTALL_TEMPORAL_CTOR_AND_PROTOTYPE(Calendar, CALENDAR, 1)
|
||||
INSTALL_TEMPORAL_FUNC(Calendar, from, From, 1)
|
||||
|
||||
// #sec-get-temporal.calendar.prototype.id
|
||||
SimpleInstallGetter(isolate(), prototype, factory()->id_string(),
|
||||
Builtin::kTemporalCalendarPrototypeId, true);
|
||||
|
||||
#ifdef V8_INTL_SUPPORT
|
||||
#define CALENDAR_FUNC_LIST_INTL(V) \
|
||||
V(era, Era, 1) \
|
||||
V(eraYear, EraYear, 1)
|
||||
#else
|
||||
#define CALENDAR_FUNC_LIST_INTL(V)
|
||||
#endif // V8_INTL_SUPPORT
|
||||
|
||||
#define CALENDAR_FUNC_LIST(V) \
|
||||
CALENDAR_FUNC_LIST_INTL(V) \
|
||||
V(dateFromFields, DateFromFields, 1) \
|
||||
V(yearMonthFromFields, YearMonthFromFields, 1) \
|
||||
V(monthDayFromFields, MonthDayFromFields, 1) \
|
||||
V(dateAdd, DateAdd, 2) \
|
||||
V(dateUntil, DateUntil, 2) \
|
||||
V(year, Year, 1) \
|
||||
V(month, Month, 1) \
|
||||
V(monthCode, MonthCode, 1) \
|
||||
V(day, Day, 1) \
|
||||
V(dayOfWeek, DayOfWeek, 1) \
|
||||
V(dayOfYear, DayOfYear, 1) \
|
||||
V(weekOfYear, WeekOfYear, 1) \
|
||||
V(daysInWeek, DaysInWeek, 1) \
|
||||
V(daysInMonth, DaysInMonth, 1) \
|
||||
V(daysInYear, DaysInYear, 1) \
|
||||
V(monthsInYear, MonthsInYear, 1) \
|
||||
V(inLeapYear, InLeapYear, 1) \
|
||||
V(fields, Fields, 1) \
|
||||
V(mergeFields, MergeFields, 2) \
|
||||
V(toString, ToString, 0) \
|
||||
V(toJSON, ToJSON, 0)
|
||||
|
||||
#define INSTALL_CALENDAR_FUNC(p, N, min) \
|
||||
SimpleInstallFunction(isolate(), prototype, #p, \
|
||||
Builtin::kTemporalCalendarPrototype##N, min, false);
|
||||
CALENDAR_FUNC_LIST(INSTALL_CALENDAR_FUNC)
|
||||
#undef CALENDAR_FUNC_LIST
|
||||
#undef CALENDAR_FUNC_LIST_INTL
|
||||
#undef INSTALL_CALENDAE_FUNC
|
||||
}
|
||||
#undef INSTALL_TEMPORAL_CTOR_AND_PROTOTYPE
|
||||
#undef INSTALL_TEMPORAL_FUNC
|
||||
}
|
||||
|
||||
#ifdef V8_INTL_SUPPORT
|
||||
|
||||
void Genesis::InitializeGlobal_harmony_intl_locale_info() {
|
||||
|
@ -11,7 +11,6 @@
|
||||
V(_, baseName_string, "baseName") \
|
||||
V(_, accounting_string, "accounting") \
|
||||
V(_, breakType_string, "breakType") \
|
||||
V(_, calendar_string, "calendar") \
|
||||
V(_, calendars_string, "calendars") \
|
||||
V(_, cardinal_string, "cardinal") \
|
||||
V(_, caseFirst_string, "caseFirst") \
|
||||
@ -25,7 +24,6 @@
|
||||
V(_, currencySign_string, "currencySign") \
|
||||
V(_, dateStyle_string, "dateStyle") \
|
||||
V(_, dateTimeField_string, "dateTimeField") \
|
||||
V(_, day_string, "day") \
|
||||
V(_, dayPeriod_string, "dayPeriod") \
|
||||
V(_, decimal_string, "decimal") \
|
||||
V(_, dialect_string, "dialect") \
|
||||
@ -33,6 +31,7 @@
|
||||
V(_, endRange_string, "endRange") \
|
||||
V(_, engineering_string, "engineering") \
|
||||
V(_, era_string, "era") \
|
||||
V(_, eraYear_string, "eraYear") \
|
||||
V(_, exceptZero_string, "exceptZero") \
|
||||
V(_, exponentInteger_string, "exponentInteger") \
|
||||
V(_, exponentMinusSign_string, "exponentMinusSign") \
|
||||
@ -52,7 +51,6 @@
|
||||
V(_, h12_string, "h12") \
|
||||
V(_, h23_string, "h23") \
|
||||
V(_, h24_string, "h24") \
|
||||
V(_, hour_string, "hour") \
|
||||
V(_, hour12_string, "hour12") \
|
||||
V(_, hourCycle_string, "hourCycle") \
|
||||
V(_, hourCycles_string, "hourCycles") \
|
||||
@ -78,8 +76,6 @@
|
||||
V(_, minimumIntegerDigits_string, "minimumIntegerDigits") \
|
||||
V(_, minimumSignificantDigits_string, "minimumSignificantDigits") \
|
||||
V(_, minusSign_string, "minusSign") \
|
||||
V(_, minute_string, "minute") \
|
||||
V(_, month_string, "month") \
|
||||
V(_, nan_string, "nan") \
|
||||
V(_, narrowSymbol_string, "narrowSymbol") \
|
||||
V(_, never_string, "never") \
|
||||
@ -97,7 +93,6 @@
|
||||
V(_, relatedYear_string, "relatedYear") \
|
||||
V(_, rtl_string, "rtl") \
|
||||
V(_, scientific_string, "scientific") \
|
||||
V(_, second_string, "second") \
|
||||
V(_, segment_string, "segment") \
|
||||
V(_, SegmentIterator_string, "Segment Iterator") \
|
||||
V(_, Segments_string, "Segments") \
|
||||
@ -112,7 +107,6 @@
|
||||
V(_, term_string, "term") \
|
||||
V(_, textInfo_string, "textInfo") \
|
||||
V(_, timeStyle_string, "timeStyle") \
|
||||
V(_, timeZone_string, "timeZone") \
|
||||
V(_, timeZones_string, "timeZones") \
|
||||
V(_, timeZoneName_string, "timeZoneName") \
|
||||
V(_, type_string, "type") \
|
||||
@ -120,14 +114,11 @@
|
||||
V(_, upper_string, "upper") \
|
||||
V(_, usage_string, "usage") \
|
||||
V(_, useGrouping_string, "useGrouping") \
|
||||
V(_, UTC_string, "UTC") \
|
||||
V(_, unit_string, "unit") \
|
||||
V(_, unitDisplay_string, "unitDisplay") \
|
||||
V(_, weekday_string, "weekday") \
|
||||
V(_, weekendEnd_string, "weekendEnd") \
|
||||
V(_, weekendStart_string, "weekendStart") \
|
||||
V(_, weekInfo_string, "weekInfo") \
|
||||
V(_, year_string, "year") \
|
||||
V(_, yearName_string, "yearName")
|
||||
#else // V8_INTL_SUPPORT
|
||||
#define INTERNALIZED_STRING_LIST_GENERATOR_INTL(V, _)
|
||||
@ -158,6 +149,7 @@
|
||||
V(_, BigInt64Array_string, "BigInt64Array") \
|
||||
V(_, BigUint64Array_string, "BigUint64Array") \
|
||||
V(_, bind_string, "bind") \
|
||||
V(_, blank_string, "blank") \
|
||||
V(_, Boolean_string, "Boolean") \
|
||||
V(_, boolean_string, "boolean") \
|
||||
V(_, boolean_to_string, "[object Boolean]") \
|
||||
@ -166,6 +158,7 @@
|
||||
V(_, byte_length_string, "byteLength") \
|
||||
V(_, byte_offset_string, "byteOffset") \
|
||||
V(_, CompileError_string, "CompileError") \
|
||||
V(_, calendar_string, "calendar") \
|
||||
V(_, callee_string, "callee") \
|
||||
V(_, caller_string, "caller") \
|
||||
V(_, cause_string, "cause") \
|
||||
@ -181,6 +174,16 @@
|
||||
V(_, current_string, "current") \
|
||||
V(_, Date_string, "Date") \
|
||||
V(_, date_to_string, "[object Date]") \
|
||||
V(_, dateAdd_string, "dateAdd") \
|
||||
V(_, dateFromFields_string, "dateFromFields") \
|
||||
V(_, dateUntil_string, "dateUntil") \
|
||||
V(_, day_string, "day") \
|
||||
V(_, dayOfWeek_string, "dayOfWeek") \
|
||||
V(_, dayOfYear_string, "dayOfYear") \
|
||||
V(_, days_string, "days") \
|
||||
V(_, daysInMonth_string, "daysInMonth") \
|
||||
V(_, daysInWeek_string, "daysInWeek") \
|
||||
V(_, daysInYear_string, "daysInYear") \
|
||||
V(_, default_string, "default") \
|
||||
V(_, defineProperty_string, "defineProperty") \
|
||||
V(_, deleteProperty_string, "deleteProperty") \
|
||||
@ -200,14 +203,19 @@
|
||||
V(_, dotAll_string, "dotAll") \
|
||||
V(_, Error_string, "Error") \
|
||||
V(_, EvalError_string, "EvalError") \
|
||||
V(_, element_string, "element") \
|
||||
V(_, enumerable_string, "enumerable") \
|
||||
V(_, error_to_string, "[object Error]") \
|
||||
V(_, element_string, "element") \
|
||||
V(_, epochMicroseconds_string, "epochMicroseconds") \
|
||||
V(_, epochMilliseconds_string, "epochMilliseconds") \
|
||||
V(_, epochNanoseconds_string, "epochNanoseconds") \
|
||||
V(_, epochSeconds_string, "epochSeconds") \
|
||||
V(_, errors_string, "errors") \
|
||||
V(_, error_to_string, "[object Error]") \
|
||||
V(_, eval_string, "eval") \
|
||||
V(_, exception_string, "exception") \
|
||||
V(_, exec_string, "exec") \
|
||||
V(_, false_string, "false") \
|
||||
V(_, fields_string, "fields") \
|
||||
V(_, FinalizationRegistry_string, "FinalizationRegistry") \
|
||||
V(_, flags_string, "flags") \
|
||||
V(_, Float32Array_string, "Float32Array") \
|
||||
@ -220,17 +228,24 @@
|
||||
V(_, Generator_string, "Generator") \
|
||||
V(_, get_space_string, "get ") \
|
||||
V(_, get_string, "get") \
|
||||
V(_, getOffsetNanosecondsFor_string, "getOffsetNanosecondsFor") \
|
||||
V(_, getOwnPropertyDescriptor_string, "getOwnPropertyDescriptor") \
|
||||
V(_, getPrototypeOf_string, "getPrototypeOf") \
|
||||
V(_, global_string, "global") \
|
||||
V(_, globalThis_string, "globalThis") \
|
||||
V(_, groups_string, "groups") \
|
||||
V(_, growable_string, "growable") \
|
||||
V(_, GrowableSharedArrayBuffer_string, "GrowableSharedArrayBuffer") \
|
||||
V(_, has_string, "has") \
|
||||
V(_, hasIndices_string, "hasIndices") \
|
||||
V(_, hour_string, "hour") \
|
||||
V(_, hours_string, "hours") \
|
||||
V(_, hoursInDay_string, "hoursInDay") \
|
||||
V(_, ignoreCase_string, "ignoreCase") \
|
||||
V(_, id_string, "id") \
|
||||
V(_, illegal_access_string, "illegal access") \
|
||||
V(_, illegal_argument_string, "illegal argument") \
|
||||
V(_, inLeapYear_string, "inLeapYear") \
|
||||
V(_, index_string, "index") \
|
||||
V(_, indices_string, "indices") \
|
||||
V(_, Infinity_string, "Infinity") \
|
||||
@ -240,9 +255,20 @@
|
||||
V(_, Int32Array_string, "Int32Array") \
|
||||
V(_, Int8Array_string, "Int8Array") \
|
||||
V(_, isExtensible_string, "isExtensible") \
|
||||
V(_, iso8601_string, "iso8601") \
|
||||
V(_, isoDay_string, "isoDay") \
|
||||
V(_, isoHour_string, "isoHour") \
|
||||
V(_, isoMicrosecond_string, "isoMicrosecond") \
|
||||
V(_, isoMillisecond_string, "isoMillisecond") \
|
||||
V(_, isoMinute_string, "isoMinute") \
|
||||
V(_, isoMonth_string, "isoMonth") \
|
||||
V(_, isoNanosecond_string, "isoNanosecond") \
|
||||
V(_, isoSecond_string, "isoSecond") \
|
||||
V(_, isoYear_string, "isoYear") \
|
||||
V(_, jsMemoryEstimate_string, "jsMemoryEstimate") \
|
||||
V(_, jsMemoryRange_string, "jsMemoryRange") \
|
||||
V(_, keys_string, "keys") \
|
||||
V(_, largestUnit_string, "largestUnit") \
|
||||
V(_, lastIndex_string, "lastIndex") \
|
||||
V(_, length_string, "length") \
|
||||
V(_, let_string, "let") \
|
||||
@ -254,13 +280,27 @@
|
||||
V(_, MapIterator_string, "Map Iterator") \
|
||||
V(_, max_byte_length_string, "maxByteLength") \
|
||||
V(_, medium_string, "medium") \
|
||||
V(_, mergeFields_string, "mergeFields") \
|
||||
V(_, message_string, "message") \
|
||||
V(_, meta_string, "meta") \
|
||||
V(_, minus_Infinity_string, "-Infinity") \
|
||||
V(_, microsecond_string, "microsecond") \
|
||||
V(_, microseconds_string, "microseconds") \
|
||||
V(_, millisecond_string, "millisecond") \
|
||||
V(_, milliseconds_string, "milliseconds") \
|
||||
V(_, minute_string, "minute") \
|
||||
V(_, minutes_string, "minutes") \
|
||||
V(_, Module_string, "Module") \
|
||||
V(_, month_string, "month") \
|
||||
V(_, monthDayFromFields_string, "monthDayFromFields") \
|
||||
V(_, months_string, "months") \
|
||||
V(_, monthsInYear_string, "monthsInYear") \
|
||||
V(_, monthCode_string, "monthCode") \
|
||||
V(_, multiline_string, "multiline") \
|
||||
V(_, name_string, "name") \
|
||||
V(_, NaN_string, "NaN") \
|
||||
V(_, nanosecond_string, "nanosecond") \
|
||||
V(_, nanoseconds_string, "nanoseconds") \
|
||||
V(_, narrow_string, "narrow") \
|
||||
V(_, native_string, "native") \
|
||||
V(_, new_target_string, ".new.target") \
|
||||
@ -279,9 +319,12 @@
|
||||
V(_, object_string, "object") \
|
||||
V(_, object_to_string, "[object Object]") \
|
||||
V(_, of_string, "of") \
|
||||
V(_, offset_string, "offset") \
|
||||
V(_, offsetNanoseconds_string, "offsetNanoseconds") \
|
||||
V(_, ok_string, "ok") \
|
||||
V(_, one_string, "1") \
|
||||
V(_, other_string, "other") \
|
||||
V(_, overflow_string, "overflow") \
|
||||
V(_, ownKeys_string, "ownKeys") \
|
||||
V(_, percent_string, "percent") \
|
||||
V(_, position_string, "position") \
|
||||
@ -300,7 +343,9 @@
|
||||
V(_, ReflectHas_string, "Reflect.has") \
|
||||
V(_, RegExp_string, "RegExp") \
|
||||
V(_, regexp_to_string, "[object RegExp]") \
|
||||
V(_, reject_string, "reject") \
|
||||
V(_, resizable_string, "resizable") \
|
||||
V(_, ResizableArrayBuffer_string, "ResizableArrayBuffer") \
|
||||
V(_, resolve_string, "resolve") \
|
||||
V(_, return_string, "return") \
|
||||
V(_, revoke_string, "revoke") \
|
||||
@ -308,6 +353,8 @@
|
||||
V(_, WebAssemblyException_string, "WebAssembly.Exception") \
|
||||
V(_, Script_string, "Script") \
|
||||
V(_, script_string, "script") \
|
||||
V(_, second_string, "second") \
|
||||
V(_, seconds_string, "seconds") \
|
||||
V(_, short_string, "short") \
|
||||
V(_, Set_string, "Set") \
|
||||
V(_, sentence_string, "sentence") \
|
||||
@ -316,6 +363,8 @@
|
||||
V(_, SetIterator_string, "Set Iterator") \
|
||||
V(_, setPrototypeOf_string, "setPrototypeOf") \
|
||||
V(_, SharedArrayBuffer_string, "SharedArrayBuffer") \
|
||||
V(_, sign_string, "sign") \
|
||||
V(_, smallestUnit_string, "smallestUnit") \
|
||||
V(_, source_string, "source") \
|
||||
V(_, sourceText_string, "sourceText") \
|
||||
V(_, stack_string, "stack") \
|
||||
@ -334,6 +383,7 @@
|
||||
V(_, this_string, "this") \
|
||||
V(_, throw_string, "throw") \
|
||||
V(_, timed_out_string, "timed-out") \
|
||||
V(_, timeZone_string, "timeZone") \
|
||||
V(_, toJSON_string, "toJSON") \
|
||||
V(_, toString_string, "toString") \
|
||||
V(_, true_string, "true") \
|
||||
@ -346,15 +396,22 @@
|
||||
V(_, undefined_string, "undefined") \
|
||||
V(_, undefined_to_string, "[object Undefined]") \
|
||||
V(_, unicode_string, "unicode") \
|
||||
V(_, unit_string, "unit") \
|
||||
V(_, URIError_string, "URIError") \
|
||||
V(_, UTC_string, "UTC") \
|
||||
V(_, value_string, "value") \
|
||||
V(_, valueOf_string, "valueOf") \
|
||||
V(_, WeakMap_string, "WeakMap") \
|
||||
V(_, WeakRef_string, "WeakRef") \
|
||||
V(_, WeakSet_string, "WeakSet") \
|
||||
V(_, week_string, "week") \
|
||||
V(_, weeks_string, "weeks") \
|
||||
V(_, weekOfYear_string, "weekOfYear") \
|
||||
V(_, word_string, "word") \
|
||||
V(_, writable_string, "writable") \
|
||||
V(_, yearMonthFromFields_string, "yearMonthFromFields") \
|
||||
V(_, year_string, "year") \
|
||||
V(_, years_string, "years") \
|
||||
V(_, zero_string, "0")
|
||||
|
||||
#define PRIVATE_SYMBOL_LIST_GENERATOR(V, _) \
|
||||
|
@ -46,6 +46,7 @@
|
||||
#include "src/objects/js-proxy-inl.h"
|
||||
#include "src/objects/js-regexp-inl.h"
|
||||
#include "src/objects/js-regexp-string-iterator-inl.h"
|
||||
#include "src/objects/js-temporal-objects-inl.h"
|
||||
#include "src/objects/js-weak-refs-inl.h"
|
||||
#include "src/objects/literal-objects-inl.h"
|
||||
#include "src/objects/lookup-cache-inl.h"
|
||||
|
@ -188,6 +188,25 @@ enum ContextLookupFlags {
|
||||
V(JS_WEAK_REF_FUNCTION_INDEX, JSFunction, js_weak_ref_fun) \
|
||||
V(JS_FINALIZATION_REGISTRY_FUNCTION_INDEX, JSFunction, \
|
||||
js_finalization_registry_fun) \
|
||||
V(JS_TEMPORAL_CALENDAR_FUNCTION_INDEX, JSFunction, \
|
||||
temporal_calendar_function) \
|
||||
V(JS_TEMPORAL_DURATION_FUNCTION_INDEX, JSFunction, \
|
||||
temporal_duration_function) \
|
||||
V(JS_TEMPORAL_INSTANT_FUNCTION_INDEX, JSFunction, temporal_instant_function) \
|
||||
V(JS_TEMPORAL_PLAIN_DATE_FUNCTION_INDEX, JSFunction, \
|
||||
temporal_plain_date_function) \
|
||||
V(JS_TEMPORAL_PLAIN_DATE_TIME_FUNCTION_INDEX, JSFunction, \
|
||||
temporal_plain_date_time_function) \
|
||||
V(JS_TEMPORAL_PLAIN_MONTH_DAY_FUNCTION_INDEX, JSFunction, \
|
||||
temporal_plain_month_day_function) \
|
||||
V(JS_TEMPORAL_PLAIN_TIME_FUNCTION_INDEX, JSFunction, \
|
||||
temporal_plain_time_function) \
|
||||
V(JS_TEMPORAL_PLAIN_YEAR_MONTH_FUNCTION_INDEX, JSFunction, \
|
||||
temporal_plain_year_month_function) \
|
||||
V(JS_TEMPORAL_TIME_ZONE_FUNCTION_INDEX, JSFunction, \
|
||||
temporal_time_zone_function) \
|
||||
V(JS_TEMPORAL_ZONED_DATE_TIME_FUNCTION_INDEX, JSFunction, \
|
||||
temporal_zoned_date_time_function) \
|
||||
/* Context maps */ \
|
||||
V(NATIVE_CONTEXT_MAP_INDEX, Map, native_context_map) \
|
||||
V(FUNCTION_CONTEXT_MAP_INDEX, Map, function_context_map) \
|
||||
|
@ -594,6 +594,16 @@ bool CanSubclassHaveInobjectProperties(InstanceType instance_type) {
|
||||
case JS_SPECIAL_API_OBJECT_TYPE:
|
||||
case JS_TYPED_ARRAY_TYPE:
|
||||
case JS_PRIMITIVE_WRAPPER_TYPE:
|
||||
case JS_TEMPORAL_CALENDAR_TYPE:
|
||||
case JS_TEMPORAL_DURATION_TYPE:
|
||||
case JS_TEMPORAL_INSTANT_TYPE:
|
||||
case JS_TEMPORAL_PLAIN_DATE_TYPE:
|
||||
case JS_TEMPORAL_PLAIN_DATE_TIME_TYPE:
|
||||
case JS_TEMPORAL_PLAIN_MONTH_DAY_TYPE:
|
||||
case JS_TEMPORAL_PLAIN_TIME_TYPE:
|
||||
case JS_TEMPORAL_PLAIN_YEAR_MONTH_TYPE:
|
||||
case JS_TEMPORAL_TIME_ZONE_TYPE:
|
||||
case JS_TEMPORAL_ZONED_DATE_TIME_TYPE:
|
||||
case JS_WEAK_MAP_TYPE:
|
||||
case JS_WEAK_REF_TYPE:
|
||||
case JS_WEAK_SET_TYPE:
|
||||
|
@ -58,6 +58,7 @@
|
||||
#include "src/objects/js-segmenter.h"
|
||||
#include "src/objects/js-segments.h"
|
||||
#endif // V8_INTL_SUPPORT
|
||||
#include "src/objects/js-temporal-objects-inl.h"
|
||||
#include "src/objects/js-weak-refs.h"
|
||||
#include "src/objects/map-inl.h"
|
||||
#include "src/objects/module.h"
|
||||
@ -2303,6 +2304,26 @@ int JSObject::GetHeaderSize(InstanceType type,
|
||||
return JSStringIterator::kHeaderSize;
|
||||
case JS_MODULE_NAMESPACE_TYPE:
|
||||
return JSModuleNamespace::kHeaderSize;
|
||||
case JS_TEMPORAL_CALENDAR_TYPE:
|
||||
return JSTemporalCalendar::kHeaderSize;
|
||||
case JS_TEMPORAL_DURATION_TYPE:
|
||||
return JSTemporalDuration::kHeaderSize;
|
||||
case JS_TEMPORAL_INSTANT_TYPE:
|
||||
return JSTemporalInstant::kHeaderSize;
|
||||
case JS_TEMPORAL_PLAIN_DATE_TYPE:
|
||||
return JSTemporalPlainDate::kHeaderSize;
|
||||
case JS_TEMPORAL_PLAIN_DATE_TIME_TYPE:
|
||||
return JSTemporalPlainDateTime::kHeaderSize;
|
||||
case JS_TEMPORAL_PLAIN_MONTH_DAY_TYPE:
|
||||
return JSTemporalPlainMonthDay::kHeaderSize;
|
||||
case JS_TEMPORAL_PLAIN_TIME_TYPE:
|
||||
return JSTemporalPlainTime::kHeaderSize;
|
||||
case JS_TEMPORAL_PLAIN_YEAR_MONTH_TYPE:
|
||||
return JSTemporalPlainYearMonth::kHeaderSize;
|
||||
case JS_TEMPORAL_TIME_ZONE_TYPE:
|
||||
return JSTemporalTimeZone::kHeaderSize;
|
||||
case JS_TEMPORAL_ZONED_DATE_TIME_TYPE:
|
||||
return JSTemporalZonedDateTime::kHeaderSize;
|
||||
#ifdef V8_INTL_SUPPORT
|
||||
case JS_V8_BREAK_ITERATOR_TYPE:
|
||||
return JSV8BreakIterator::kHeaderSize;
|
||||
|
103
src/objects/js-temporal-objects-inl.h
Normal file
103
src/objects/js-temporal-objects-inl.h
Normal file
@ -0,0 +1,103 @@
|
||||
// Copyright 2021 the V8 project authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#ifndef V8_OBJECTS_JS_TEMPORAL_OBJECTS_INL_H_
|
||||
#define V8_OBJECTS_JS_TEMPORAL_OBJECTS_INL_H_
|
||||
|
||||
#include "src/api/api-inl.h"
|
||||
#include "src/objects/js-temporal-objects.h"
|
||||
#include "src/objects/objects-inl.h"
|
||||
|
||||
// Has to be the last include (doesn't have include guards):
|
||||
#include "src/objects/object-macros.h"
|
||||
|
||||
namespace v8 {
|
||||
namespace internal {
|
||||
|
||||
#include "torque-generated/src/objects/js-temporal-objects-tq-inl.inc"
|
||||
|
||||
#define TEMPORAL_INLINE_GETTER_SETTER(T, data, field, lower, upper, B) \
|
||||
inline void T::set_##field(int32_t field) { \
|
||||
DCHECK_GE(upper, field); \
|
||||
DCHECK_LE(lower, field); \
|
||||
int hints = data(); \
|
||||
hints = B##Bits::update(hints, field); \
|
||||
set_##data(hints); \
|
||||
} \
|
||||
inline int32_t T::field() const { \
|
||||
int32_t v = B##Bits::decode(data()); \
|
||||
DCHECK_GE(upper, v); \
|
||||
DCHECK_LE(lower, v); \
|
||||
return v; \
|
||||
}
|
||||
|
||||
#define TEMPORAL_INLINE_SIGNED_GETTER_SETTER(T, data, field, lower, upper, B) \
|
||||
inline void T::set_##field(int32_t field) { \
|
||||
DCHECK_GE(upper, field); \
|
||||
DCHECK_LE(lower, field); \
|
||||
int hints = data(); \
|
||||
hints = B##Bits::update(hints, field); \
|
||||
set_##data(hints); \
|
||||
} \
|
||||
inline int32_t T::field() const { \
|
||||
int32_t v = B##Bits::decode(data()); \
|
||||
v |= ((int32_t{1} << (B##Bits::kSize - 1) & v) \
|
||||
? (static_cast<uint32_t>(int32_t{-1}) << B##Bits::kSize) \
|
||||
: 0); \
|
||||
CHECK_GE(upper, v); \
|
||||
CHECK_LE(lower, v); \
|
||||
return v; \
|
||||
}
|
||||
|
||||
#define TEMPORAL_DATE_INLINE_GETTER_SETTER(T, data) \
|
||||
TEMPORAL_INLINE_SIGNED_GETTER_SETTER(T, data, iso_year, -32767, 32768, \
|
||||
IsoYear) \
|
||||
TEMPORAL_INLINE_GETTER_SETTER(T, data, iso_month, 1, 12, IsoMonth) \
|
||||
TEMPORAL_INLINE_GETTER_SETTER(T, data, iso_day, 1, 31, IsoDay)
|
||||
|
||||
#define TEMPORAL_TIME_INLINE_GETTER_SETTER(T, data1, data2) \
|
||||
TEMPORAL_INLINE_GETTER_SETTER(T, data1, iso_hour, 0, 23, IsoHour) \
|
||||
TEMPORAL_INLINE_GETTER_SETTER(T, data1, iso_minute, 0, 59, IsoMinute) \
|
||||
TEMPORAL_INLINE_GETTER_SETTER(T, data1, iso_second, 0, 59, IsoSecond) \
|
||||
TEMPORAL_INLINE_GETTER_SETTER(T, data2, iso_millisecond, 0, 999, \
|
||||
IsoMillisecond) \
|
||||
TEMPORAL_INLINE_GETTER_SETTER(T, data2, iso_microsecond, 0, 999, \
|
||||
IsoMicrosecond) \
|
||||
TEMPORAL_INLINE_GETTER_SETTER(T, data2, iso_nanosecond, 0, 999, IsoNanosecond)
|
||||
|
||||
TEMPORAL_DATE_INLINE_GETTER_SETTER(JSTemporalPlainDate, year_month_day)
|
||||
TEMPORAL_DATE_INLINE_GETTER_SETTER(JSTemporalPlainDateTime, year_month_day)
|
||||
TEMPORAL_TIME_INLINE_GETTER_SETTER(JSTemporalPlainDateTime, hour_minute_second,
|
||||
second_parts)
|
||||
TEMPORAL_DATE_INLINE_GETTER_SETTER(JSTemporalPlainMonthDay, year_month_day)
|
||||
TEMPORAL_TIME_INLINE_GETTER_SETTER(JSTemporalPlainTime, hour_minute_second,
|
||||
second_parts)
|
||||
TEMPORAL_DATE_INLINE_GETTER_SETTER(JSTemporalPlainYearMonth, year_month_day)
|
||||
|
||||
TQ_OBJECT_CONSTRUCTORS_IMPL(JSTemporalCalendar)
|
||||
TQ_OBJECT_CONSTRUCTORS_IMPL(JSTemporalDuration)
|
||||
TQ_OBJECT_CONSTRUCTORS_IMPL(JSTemporalInstant)
|
||||
TQ_OBJECT_CONSTRUCTORS_IMPL(JSTemporalPlainDate)
|
||||
TQ_OBJECT_CONSTRUCTORS_IMPL(JSTemporalPlainDateTime)
|
||||
TQ_OBJECT_CONSTRUCTORS_IMPL(JSTemporalPlainMonthDay)
|
||||
TQ_OBJECT_CONSTRUCTORS_IMPL(JSTemporalPlainTime)
|
||||
TQ_OBJECT_CONSTRUCTORS_IMPL(JSTemporalPlainYearMonth)
|
||||
TQ_OBJECT_CONSTRUCTORS_IMPL(JSTemporalTimeZone)
|
||||
TQ_OBJECT_CONSTRUCTORS_IMPL(JSTemporalZonedDateTime)
|
||||
|
||||
BIT_FIELD_ACCESSORS(JSTemporalCalendar, flags, calendar_index,
|
||||
JSTemporalCalendar::CalendarIndexBits)
|
||||
|
||||
BOOL_ACCESSORS(JSTemporalTimeZone, flags, is_offset, IsOffsetBit::kShift)
|
||||
|
||||
BIT_FIELD_ACCESSORS(JSTemporalTimeZone, flags,
|
||||
offset_milliseconds_or_time_zone_index,
|
||||
JSTemporalTimeZone::OffsetMillisecondsOrTimeZoneIndexBits)
|
||||
|
||||
} // namespace internal
|
||||
} // namespace v8
|
||||
|
||||
#include "src/objects/object-macros-undef.h"
|
||||
|
||||
#endif // V8_OBJECTS_JS_TEMPORAL_OBJECTS_INL_H_
|
163
src/objects/js-temporal-objects.h
Normal file
163
src/objects/js-temporal-objects.h
Normal file
@ -0,0 +1,163 @@
|
||||
// Copyright 2021 the V8 project authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#ifndef V8_OBJECTS_JS_TEMPORAL_OBJECTS_H_
|
||||
#define V8_OBJECTS_JS_TEMPORAL_OBJECTS_H_
|
||||
|
||||
#include "src/execution/isolate.h"
|
||||
#include "src/heap/factory.h"
|
||||
#include "src/objects/objects.h"
|
||||
|
||||
// Has to be the last include (doesn't have include guards):
|
||||
#include "src/objects/object-macros.h"
|
||||
|
||||
namespace v8 {
|
||||
namespace internal {
|
||||
|
||||
#include "torque-generated/src/objects/js-temporal-objects-tq.inc"
|
||||
|
||||
#define DECLARE_TEMPORAL_INLINE_GETTER_SETTER(field) \
|
||||
inline void set_##field(int32_t field); \
|
||||
inline int32_t field() const;
|
||||
|
||||
#define DECLARE_TEMPORAL_TIME_INLINE_GETTER_SETTER() \
|
||||
DECLARE_TEMPORAL_INLINE_GETTER_SETTER(iso_hour) \
|
||||
DECLARE_TEMPORAL_INLINE_GETTER_SETTER(iso_minute) \
|
||||
DECLARE_TEMPORAL_INLINE_GETTER_SETTER(iso_second) \
|
||||
DECLARE_TEMPORAL_INLINE_GETTER_SETTER(iso_millisecond) \
|
||||
DECLARE_TEMPORAL_INLINE_GETTER_SETTER(iso_microsecond) \
|
||||
DECLARE_TEMPORAL_INLINE_GETTER_SETTER(iso_nanosecond)
|
||||
|
||||
#define DECLARE_TEMPORAL_DATE_INLINE_GETTER_SETTER() \
|
||||
DECLARE_TEMPORAL_INLINE_GETTER_SETTER(iso_year) \
|
||||
DECLARE_TEMPORAL_INLINE_GETTER_SETTER(iso_month) \
|
||||
DECLARE_TEMPORAL_INLINE_GETTER_SETTER(iso_day)
|
||||
|
||||
#define TEMPORAL_UNIMPLEMENTED(T) \
|
||||
{ \
|
||||
printf("TBW %s\n", __PRETTY_FUNCTION__); \
|
||||
UNIMPLEMENTED(); \
|
||||
}
|
||||
|
||||
class JSTemporalCalendar
|
||||
: public TorqueGeneratedJSTemporalCalendar<JSTemporalCalendar, JSObject> {
|
||||
public:
|
||||
DECL_PRINTER(JSTemporalCalendar)
|
||||
|
||||
DEFINE_TORQUE_GENERATED_JS_TEMPORAL_CALENDAR_FLAGS()
|
||||
|
||||
DECL_INT_ACCESSORS(calendar_index)
|
||||
|
||||
TQ_OBJECT_CONSTRUCTORS(JSTemporalCalendar)
|
||||
};
|
||||
|
||||
class JSTemporalDuration
|
||||
: public TorqueGeneratedJSTemporalDuration<JSTemporalDuration, JSObject> {
|
||||
public:
|
||||
DECL_PRINTER(JSTemporalDuration)
|
||||
|
||||
TQ_OBJECT_CONSTRUCTORS(JSTemporalDuration)
|
||||
};
|
||||
|
||||
class JSTemporalInstant
|
||||
: public TorqueGeneratedJSTemporalInstant<JSTemporalInstant, JSObject> {
|
||||
public:
|
||||
DECL_PRINTER(JSTemporalInstant)
|
||||
|
||||
TQ_OBJECT_CONSTRUCTORS(JSTemporalInstant)
|
||||
};
|
||||
|
||||
class JSTemporalPlainDate
|
||||
: public TorqueGeneratedJSTemporalPlainDate<JSTemporalPlainDate, JSObject> {
|
||||
public:
|
||||
DECL_PRINTER(JSTemporalPlainDate)
|
||||
|
||||
DEFINE_TORQUE_GENERATED_JS_TEMPORAL_YEAR_MONTH_DAY()
|
||||
|
||||
DECLARE_TEMPORAL_DATE_INLINE_GETTER_SETTER()
|
||||
|
||||
TQ_OBJECT_CONSTRUCTORS(JSTemporalPlainDate)
|
||||
};
|
||||
|
||||
class JSTemporalPlainDateTime
|
||||
: public TorqueGeneratedJSTemporalPlainDateTime<JSTemporalPlainDateTime,
|
||||
JSObject> {
|
||||
public:
|
||||
DECL_PRINTER(JSTemporalPlainDateTime)
|
||||
|
||||
DEFINE_TORQUE_GENERATED_JS_TEMPORAL_YEAR_MONTH_DAY()
|
||||
DEFINE_TORQUE_GENERATED_JS_TEMPORAL_HOUR_MINUTE_SECOND()
|
||||
DEFINE_TORQUE_GENERATED_JS_TEMPORAL_SECOND_PARTS()
|
||||
|
||||
DECLARE_TEMPORAL_DATE_INLINE_GETTER_SETTER()
|
||||
DECLARE_TEMPORAL_TIME_INLINE_GETTER_SETTER()
|
||||
|
||||
TQ_OBJECT_CONSTRUCTORS(JSTemporalPlainDateTime)
|
||||
};
|
||||
|
||||
class JSTemporalPlainMonthDay
|
||||
: public TorqueGeneratedJSTemporalPlainMonthDay<JSTemporalPlainMonthDay,
|
||||
JSObject> {
|
||||
public:
|
||||
DECL_PRINTER(JSTemporalPlainMonthDay)
|
||||
|
||||
DEFINE_TORQUE_GENERATED_JS_TEMPORAL_YEAR_MONTH_DAY()
|
||||
|
||||
DECLARE_TEMPORAL_DATE_INLINE_GETTER_SETTER()
|
||||
|
||||
TQ_OBJECT_CONSTRUCTORS(JSTemporalPlainMonthDay)
|
||||
};
|
||||
|
||||
class JSTemporalPlainTime
|
||||
: public TorqueGeneratedJSTemporalPlainTime<JSTemporalPlainTime, JSObject> {
|
||||
public:
|
||||
DECL_PRINTER(JSTemporalPlainTime)
|
||||
|
||||
DEFINE_TORQUE_GENERATED_JS_TEMPORAL_HOUR_MINUTE_SECOND()
|
||||
DEFINE_TORQUE_GENERATED_JS_TEMPORAL_SECOND_PARTS()
|
||||
|
||||
DECLARE_TEMPORAL_TIME_INLINE_GETTER_SETTER()
|
||||
|
||||
TQ_OBJECT_CONSTRUCTORS(JSTemporalPlainTime)
|
||||
};
|
||||
|
||||
class JSTemporalPlainYearMonth
|
||||
: public TorqueGeneratedJSTemporalPlainYearMonth<JSTemporalPlainYearMonth,
|
||||
JSObject> {
|
||||
public:
|
||||
DECL_PRINTER(JSTemporalPlainYearMonth)
|
||||
|
||||
DEFINE_TORQUE_GENERATED_JS_TEMPORAL_YEAR_MONTH_DAY()
|
||||
|
||||
DECLARE_TEMPORAL_DATE_INLINE_GETTER_SETTER()
|
||||
|
||||
TQ_OBJECT_CONSTRUCTORS(JSTemporalPlainYearMonth)
|
||||
};
|
||||
|
||||
class JSTemporalTimeZone
|
||||
: public TorqueGeneratedJSTemporalTimeZone<JSTemporalTimeZone, JSObject> {
|
||||
public:
|
||||
DECL_PRINTER(JSTemporalTimeZone)
|
||||
|
||||
DEFINE_TORQUE_GENERATED_JS_TEMPORAL_TIME_ZONE_FLAGS()
|
||||
|
||||
DECL_BOOLEAN_ACCESSORS(is_offset)
|
||||
DECL_INT_ACCESSORS(offset_milliseconds_or_time_zone_index)
|
||||
|
||||
TQ_OBJECT_CONSTRUCTORS(JSTemporalTimeZone)
|
||||
};
|
||||
|
||||
class JSTemporalZonedDateTime
|
||||
: public TorqueGeneratedJSTemporalZonedDateTime<JSTemporalZonedDateTime,
|
||||
JSObject> {
|
||||
public:
|
||||
DECL_PRINTER(JSTemporalZonedDateTime)
|
||||
|
||||
TQ_OBJECT_CONSTRUCTORS(JSTemporalZonedDateTime)
|
||||
};
|
||||
|
||||
} // namespace internal
|
||||
} // namespace v8
|
||||
#include "src/objects/object-macros-undef.h"
|
||||
#endif // V8_OBJECTS_JS_TEMPORAL_OBJECTS_H_
|
89
src/objects/js-temporal-objects.tq
Normal file
89
src/objects/js-temporal-objects.tq
Normal file
@ -0,0 +1,89 @@
|
||||
// Copyright 2021 the V8 project authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#include 'src/objects/js-temporal-objects.h'
|
||||
|
||||
bitfield struct JSTemporalCalendarFlags extends uint31 {
|
||||
calendar_index: int32: 5 bit;
|
||||
}
|
||||
|
||||
bitfield struct JSTemporalYearMonthDay extends uint31 {
|
||||
iso_year: int32: 16 bit;
|
||||
iso_month: int32: 4 bit;
|
||||
iso_day: int32: 5 bit;
|
||||
}
|
||||
|
||||
bitfield struct JSTemporalHourMinuteSecond extends uint31 {
|
||||
iso_hour: int32: 5 bit;
|
||||
iso_minute: int32: 6 bit;
|
||||
iso_second: int32: 6 bit;
|
||||
}
|
||||
|
||||
bitfield struct JSTemporalSecondParts extends uint31 {
|
||||
iso_millisecond: int32: 10 bit;
|
||||
iso_microsecond: int32: 10 bit;
|
||||
iso_nanosecond: int32: 10 bit;
|
||||
}
|
||||
|
||||
bitfield struct JSTemporalTimeZoneFlags extends uint31 {
|
||||
is_offset: bool: 1 bit;
|
||||
offset_milliseconds_or_time_zone_index: int32: 28 bit;
|
||||
}
|
||||
|
||||
extern class JSTemporalCalendar extends JSObject {
|
||||
flags: SmiTagged<JSTemporalCalendarFlags>;
|
||||
}
|
||||
|
||||
extern class JSTemporalDuration extends JSObject {
|
||||
years: Number;
|
||||
months: Number;
|
||||
weeks: Number;
|
||||
days: Number;
|
||||
hours: Number;
|
||||
minutes: Number;
|
||||
seconds: Number;
|
||||
milliseconds: Number;
|
||||
microseconds: Number;
|
||||
nanoseconds: Number;
|
||||
}
|
||||
|
||||
extern class JSTemporalInstant extends JSObject { nanoseconds: BigInt; }
|
||||
|
||||
extern class JSTemporalPlainDateTime extends JSObject {
|
||||
year_month_day: SmiTagged<JSTemporalYearMonthDay>;
|
||||
hour_minute_second: SmiTagged<JSTemporalHourMinuteSecond>;
|
||||
second_parts: SmiTagged<JSTemporalSecondParts>;
|
||||
calendar: JSReceiver;
|
||||
}
|
||||
|
||||
extern class JSTemporalPlainDate extends JSObject {
|
||||
year_month_day: SmiTagged<JSTemporalYearMonthDay>;
|
||||
calendar: JSReceiver;
|
||||
}
|
||||
|
||||
extern class JSTemporalPlainMonthDay extends JSObject {
|
||||
year_month_day: SmiTagged<JSTemporalYearMonthDay>;
|
||||
calendar: JSReceiver;
|
||||
}
|
||||
|
||||
extern class JSTemporalPlainTime extends JSObject {
|
||||
hour_minute_second: SmiTagged<JSTemporalHourMinuteSecond>;
|
||||
second_parts: SmiTagged<JSTemporalSecondParts>;
|
||||
calendar: JSReceiver;
|
||||
}
|
||||
|
||||
extern class JSTemporalPlainYearMonth extends JSObject {
|
||||
year_month_day: SmiTagged<JSTemporalYearMonthDay>;
|
||||
calendar: JSReceiver;
|
||||
}
|
||||
|
||||
extern class JSTemporalTimeZone extends JSObject {
|
||||
flags: SmiTagged<JSTemporalTimeZoneFlags>;
|
||||
}
|
||||
|
||||
extern class JSTemporalZonedDateTime extends JSObject {
|
||||
nanoseconds: BigInt;
|
||||
time_zone: JSReceiver;
|
||||
calendar: JSReceiver;
|
||||
}
|
@ -274,6 +274,16 @@ VisitorId Map::GetVisitorId(Map map) {
|
||||
case JS_SET_VALUE_ITERATOR_TYPE:
|
||||
case JS_STRING_ITERATOR_PROTOTYPE_TYPE:
|
||||
case JS_STRING_ITERATOR_TYPE:
|
||||
case JS_TEMPORAL_CALENDAR_TYPE:
|
||||
case JS_TEMPORAL_DURATION_TYPE:
|
||||
case JS_TEMPORAL_INSTANT_TYPE:
|
||||
case JS_TEMPORAL_PLAIN_DATE_TYPE:
|
||||
case JS_TEMPORAL_PLAIN_DATE_TIME_TYPE:
|
||||
case JS_TEMPORAL_PLAIN_MONTH_DAY_TYPE:
|
||||
case JS_TEMPORAL_PLAIN_TIME_TYPE:
|
||||
case JS_TEMPORAL_PLAIN_YEAR_MONTH_TYPE:
|
||||
case JS_TEMPORAL_TIME_ZONE_TYPE:
|
||||
case JS_TEMPORAL_ZONED_DATE_TIME_TYPE:
|
||||
case JS_TYPED_ARRAY_PROTOTYPE_TYPE:
|
||||
#ifdef V8_INTL_SUPPORT
|
||||
case JS_V8_BREAK_ITERATOR_TYPE:
|
||||
|
@ -158,6 +158,16 @@ class ZoneForwardList;
|
||||
V(JSSetIterator) \
|
||||
V(JSSpecialObject) \
|
||||
V(JSStringIterator) \
|
||||
V(JSTemporalCalendar) \
|
||||
V(JSTemporalDuration) \
|
||||
V(JSTemporalInstant) \
|
||||
V(JSTemporalPlainDate) \
|
||||
V(JSTemporalPlainTime) \
|
||||
V(JSTemporalPlainDateTime) \
|
||||
V(JSTemporalPlainMonthDay) \
|
||||
V(JSTemporalPlainYearMonth) \
|
||||
V(JSTemporalTimeZone) \
|
||||
V(JSTemporalZonedDateTime) \
|
||||
V(JSTypedArray) \
|
||||
V(JSWeakCollection) \
|
||||
V(JSWeakRef) \
|
||||
|
@ -1112,6 +1112,16 @@ ReturnType BodyDescriptorApply(InstanceType type, T1 p1, T2 p2, T3 p3, T4 p4) {
|
||||
case JS_SPECIAL_API_OBJECT_TYPE:
|
||||
case JS_STRING_ITERATOR_PROTOTYPE_TYPE:
|
||||
case JS_STRING_ITERATOR_TYPE:
|
||||
case JS_TEMPORAL_CALENDAR_TYPE:
|
||||
case JS_TEMPORAL_DURATION_TYPE:
|
||||
case JS_TEMPORAL_INSTANT_TYPE:
|
||||
case JS_TEMPORAL_PLAIN_DATE_TYPE:
|
||||
case JS_TEMPORAL_PLAIN_DATE_TIME_TYPE:
|
||||
case JS_TEMPORAL_PLAIN_MONTH_DAY_TYPE:
|
||||
case JS_TEMPORAL_PLAIN_TIME_TYPE:
|
||||
case JS_TEMPORAL_PLAIN_YEAR_MONTH_TYPE:
|
||||
case JS_TEMPORAL_TIME_ZONE_TYPE:
|
||||
case JS_TEMPORAL_ZONED_DATE_TIME_TYPE:
|
||||
case JS_TYPED_ARRAY_PROTOTYPE_TYPE:
|
||||
case JS_FUNCTION_TYPE:
|
||||
case JS_CLASS_CONSTRUCTOR_TYPE:
|
||||
|
@ -65,6 +65,16 @@
|
||||
// - JSRegExp
|
||||
// - JSSetIterator
|
||||
// - JSStringIterator
|
||||
// - JSTemporalCalendar
|
||||
// - JSTemporalDuration
|
||||
// - JSTemporalInstant
|
||||
// - JSTemporalPlainDate
|
||||
// - JSTemporalPlainDateTime
|
||||
// - JSTemporalPlainMonthDay
|
||||
// - JSTemporalPlainTime
|
||||
// - JSTemporalPlainYearMonth
|
||||
// - JSTemporalTimeZone
|
||||
// - JSTemporalZonedDateTime
|
||||
// - JSWeakCollection
|
||||
// - JSWeakMap
|
||||
// - JSWeakSet
|
||||
|
@ -5283,6 +5283,7 @@ void ImplementationVisitor::GenerateExportedMacrosAssembler(
|
||||
cc_contents << "#include \"src/objects/fixed-array-inl.h\"\n";
|
||||
cc_contents << "#include \"src/objects/free-space.h\"\n";
|
||||
cc_contents << "#include \"src/objects/js-regexp-string-iterator.h\"\n";
|
||||
cc_contents << "#include \"src/objects/js-temporal-objects.h\"\n";
|
||||
cc_contents << "#include \"src/objects/js-weak-refs.h\"\n";
|
||||
cc_contents << "#include \"src/objects/ordered-hash-table.h\"\n";
|
||||
cc_contents << "#include \"src/objects/property-descriptor-object.h\"\n";
|
||||
|
@ -441,6 +441,9 @@
|
||||
|
||||
# noi18n is required for Intl
|
||||
'regress/regress-crbug-1052647': [PASS,FAIL],
|
||||
|
||||
# Temporal intl tests won't work in no_i18n
|
||||
'temporal/function-exist': [FAIL],
|
||||
}], # 'no_i18n'
|
||||
|
||||
##############################################################################
|
||||
|
329
test/mjsunit/temporal/function-exist-no-intl.js
Normal file
329
test/mjsunit/temporal/function-exist-no-intl.js
Normal file
@ -0,0 +1,329 @@
|
||||
// Copyright 2021 the V8 project authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
// Flags: --harmony-temporal
|
||||
|
||||
// This file is similar to function-exist but w/o era or eraYear
|
||||
// The following are generated by
|
||||
// proposal-temporal/spec$ egrep "<h1>" *.html|egrep ">Temporal\.|>get"|egrep "get|\(" | \
|
||||
// cut -d'>' -f2|cut -d'<' -f 1 |egrep -v "era" |egrep -v "\. \. \." |sort -u
|
||||
|
||||
const funcs = [
|
||||
|
||||
"get Temporal.Calendar.prototype.id",
|
||||
"get Temporal.Duration.prototype.blank",
|
||||
"get Temporal.Duration.prototype.days",
|
||||
"get Temporal.Duration.prototype.hours",
|
||||
"get Temporal.Duration.prototype.microseconds",
|
||||
"get Temporal.Duration.prototype.milliseconds",
|
||||
"get Temporal.Duration.prototype.minutes",
|
||||
"get Temporal.Duration.prototype.months",
|
||||
"get Temporal.Duration.prototype.nanoseconds",
|
||||
"get Temporal.Duration.prototype.seconds",
|
||||
"get Temporal.Duration.prototype.sign",
|
||||
"get Temporal.Duration.prototype.weeks",
|
||||
"get Temporal.Duration.prototype.years",
|
||||
"get Temporal.Instant.prototype.epochMicroseconds",
|
||||
"get Temporal.Instant.prototype.epochMilliseconds",
|
||||
"get Temporal.Instant.prototype.epochNanoseconds",
|
||||
"get Temporal.Instant.prototype.epochSeconds",
|
||||
"get Temporal.PlainDate.prototype.calendar",
|
||||
"get Temporal.PlainDate.prototype.day",
|
||||
"get Temporal.PlainDate.prototype.dayOfWeek",
|
||||
"get Temporal.PlainDate.prototype.dayOfYear",
|
||||
"get Temporal.PlainDate.prototype.daysInMonth",
|
||||
"get Temporal.PlainDate.prototype.daysInWeek",
|
||||
"get Temporal.PlainDate.prototype.daysInYear",
|
||||
"get Temporal.PlainDate.prototype.inLeapYear",
|
||||
"get Temporal.PlainDate.prototype.month",
|
||||
"get Temporal.PlainDate.prototype.monthCode",
|
||||
"get Temporal.PlainDate.prototype.monthsInYear",
|
||||
"get Temporal.PlainDate.prototype.weekOfYear",
|
||||
"get Temporal.PlainDate.prototype.year",
|
||||
"get Temporal.PlainDateTime.prototype.calendar",
|
||||
"get Temporal.PlainDateTime.prototype.day",
|
||||
"get Temporal.PlainDateTime.prototype.dayOfWeek",
|
||||
"get Temporal.PlainDateTime.prototype.dayOfYear",
|
||||
"get Temporal.PlainDateTime.prototype.daysInMonth",
|
||||
"get Temporal.PlainDateTime.prototype.daysInWeek",
|
||||
"get Temporal.PlainDateTime.prototype.daysInYear",
|
||||
"get Temporal.PlainDateTime.prototype.hour",
|
||||
"get Temporal.PlainDateTime.prototype.inLeapYear",
|
||||
"get Temporal.PlainDateTime.prototype.microsecond",
|
||||
"get Temporal.PlainDateTime.prototype.millisecond",
|
||||
"get Temporal.PlainDateTime.prototype.minute",
|
||||
"get Temporal.PlainDateTime.prototype.month",
|
||||
"get Temporal.PlainDateTime.prototype.monthCode",
|
||||
"get Temporal.PlainDateTime.prototype.monthsInYear",
|
||||
"get Temporal.PlainDateTime.prototype.nanosecond",
|
||||
"get Temporal.PlainDateTime.prototype.second",
|
||||
"get Temporal.PlainDateTime.prototype.weekOfYear",
|
||||
"get Temporal.PlainDateTime.prototype.year",
|
||||
"get Temporal.PlainMonthDay.prototype.calendar",
|
||||
"get Temporal.PlainMonthDay.prototype.day",
|
||||
"get Temporal.PlainMonthDay.prototype.monthCode",
|
||||
"get Temporal.PlainTime.prototype.calendar",
|
||||
"get Temporal.PlainTime.prototype.hour",
|
||||
"get Temporal.PlainTime.prototype.microsecond",
|
||||
"get Temporal.PlainTime.prototype.millisecond",
|
||||
"get Temporal.PlainTime.prototype.minute",
|
||||
"get Temporal.PlainTime.prototype.nanosecond",
|
||||
"get Temporal.PlainTime.prototype.second",
|
||||
"get Temporal.PlainYearMonth.prototype.calendar",
|
||||
"get Temporal.PlainYearMonth.prototype.daysInMonth",
|
||||
"get Temporal.PlainYearMonth.prototype.daysInYear",
|
||||
"get Temporal.PlainYearMonth.prototype.inLeapYear",
|
||||
"get Temporal.PlainYearMonth.prototype.month",
|
||||
"get Temporal.PlainYearMonth.prototype.monthCode",
|
||||
"get Temporal.PlainYearMonth.prototype.monthsInYear",
|
||||
"get Temporal.PlainYearMonth.prototype.year",
|
||||
"get Temporal.TimeZone.prototype.id",
|
||||
"get Temporal.ZonedDateTime.prototype.calendar",
|
||||
"get Temporal.ZonedDateTime.prototype.day",
|
||||
"get Temporal.ZonedDateTime.prototype.dayOfWeek",
|
||||
"get Temporal.ZonedDateTime.prototype.dayOfYear",
|
||||
"get Temporal.ZonedDateTime.prototype.daysInMonth",
|
||||
"get Temporal.ZonedDateTime.prototype.daysInWeek",
|
||||
"get Temporal.ZonedDateTime.prototype.daysInYear",
|
||||
"get Temporal.ZonedDateTime.prototype.epochMicroseconds",
|
||||
"get Temporal.ZonedDateTime.prototype.epochMilliseconds",
|
||||
"get Temporal.ZonedDateTime.prototype.epochNanoseconds",
|
||||
"get Temporal.ZonedDateTime.prototype.epochSeconds",
|
||||
"get Temporal.ZonedDateTime.prototype.hour",
|
||||
"get Temporal.ZonedDateTime.prototype.hoursInDay",
|
||||
"get Temporal.ZonedDateTime.prototype.inLeapYear",
|
||||
"get Temporal.ZonedDateTime.prototype.microsecond",
|
||||
"get Temporal.ZonedDateTime.prototype.millisecond",
|
||||
"get Temporal.ZonedDateTime.prototype.minute",
|
||||
"get Temporal.ZonedDateTime.prototype.month",
|
||||
"get Temporal.ZonedDateTime.prototype.monthCode",
|
||||
"get Temporal.ZonedDateTime.prototype.monthsInYear",
|
||||
"get Temporal.ZonedDateTime.prototype.nanosecond",
|
||||
"get Temporal.ZonedDateTime.prototype.offset",
|
||||
"get Temporal.ZonedDateTime.prototype.offsetNanoseconds",
|
||||
"get Temporal.ZonedDateTime.prototype.second",
|
||||
"get Temporal.ZonedDateTime.prototype.timeZone",
|
||||
"get Temporal.ZonedDateTime.prototype.weekOfYear",
|
||||
"get Temporal.ZonedDateTime.prototype.year",
|
||||
"Temporal.Calendar.from ( _item_ )",
|
||||
"Temporal.Calendar ( _id_ )",
|
||||
"Temporal.Calendar.prototype.dateAdd ( _date_, _duration_ [ , _options_ ] )",
|
||||
"Temporal.Calendar.prototype.dateFromFields ( _fields_ [ , _options_ ] )",
|
||||
"Temporal.Calendar.prototype.dateUntil ( _one_, _two_ [ , _options_ ] )",
|
||||
"Temporal.Calendar.prototype.dayOfWeek ( _dateOrDateTime_ )",
|
||||
"Temporal.Calendar.prototype.dayOfWeek ( _temporalDateLike_ )",
|
||||
"Temporal.Calendar.prototype.dayOfYear ( _temporalDateLike_ )",
|
||||
"Temporal.Calendar.prototype.daysInMonth ( _temporalDateLike_ )",
|
||||
"Temporal.Calendar.prototype.daysInWeek ( _temporalDateLike_ )",
|
||||
"Temporal.Calendar.prototype.daysInYear ( _temporalDateLike_ )",
|
||||
"Temporal.Calendar.prototype.day ( _temporalDateLike_ )",
|
||||
"Temporal.Calendar.prototype.fields ( _fields_ )",
|
||||
"Temporal.Calendar.prototype.inLeapYear ( _temporalDateLike_ )",
|
||||
"Temporal.Calendar.prototype.mergeFields ( _fields_, _additionalFields_ )",
|
||||
"Temporal.Calendar.prototype.monthCode ( _temporalDateLike_ )",
|
||||
"Temporal.Calendar.prototype.monthDayFromFields ( _fields_ [ , _options_ ] )",
|
||||
"Temporal.Calendar.prototype.monthsInYear ( _temporalDateLike_ )",
|
||||
"Temporal.Calendar.prototype.month ( _temporalDateLike_ )",
|
||||
"Temporal.Calendar.prototype.toJSON ( )",
|
||||
"Temporal.Calendar.prototype.toString ( )",
|
||||
"Temporal.Calendar.prototype.weekOfYear ( _temporalDateLike_ )",
|
||||
"Temporal.Calendar.prototype.yearMonthFromFields ( _fields_ [ , _options_ ] )",
|
||||
"Temporal.Calendar.prototype.year ( _temporalDateLike_ )",
|
||||
"Temporal.Duration.compare ( _one_, _two_ [ , _options_ ] )",
|
||||
"Temporal.Duration.from ( _item_ )",
|
||||
"Temporal.Duration.prototype.abs ( )",
|
||||
"Temporal.Duration.prototype.add ( _other_ [ , _options_ ] )",
|
||||
"Temporal.Duration.prototype.negated ( )",
|
||||
"Temporal.Duration.prototype.round ( _options_ )",
|
||||
"Temporal.Duration.prototype.subtract ( _other_ [ , _options_ ] )",
|
||||
"Temporal.Duration.prototype.toJSON ( )",
|
||||
"Temporal.Duration.prototype.toLocaleString ( [ _locales_ [ , _options_ ] ] )",
|
||||
"Temporal.Duration.prototype.toString ( [ _options_ ] )",
|
||||
"Temporal.Duration.prototype.total ( _options_ )",
|
||||
"Temporal.Duration.prototype.valueOf ( )",
|
||||
"Temporal.Duration.prototype.with ( _temporalDurationLike_ )",
|
||||
"Temporal.Duration ( [ _years_ [ , _months_ [ , _weeks_ [ , _days_ [ , _hours_ [ , _minutes_ [ , _seconds_ [ , _milliseconds_ [ , _microseconds_ [ , _nanoseconds_ ] ] ] ] ] ] ] ] ] ] )",
|
||||
"Temporal.Instant.compare ( _one_, _two_ )",
|
||||
"Temporal.Instant ( _epochNanoseconds_ )",
|
||||
"Temporal.Instant.fromEpochMicroseconds ( _epochMicroseconds_ )",
|
||||
"Temporal.Instant.fromEpochMilliseconds ( _epochMilliseconds_ )",
|
||||
"Temporal.Instant.fromEpochNanoseconds ( _epochNanoseconds_ )",
|
||||
"Temporal.Instant.fromEpochSeconds ( _epochSeconds_ )",
|
||||
"Temporal.Instant.from ( _item_ )",
|
||||
"Temporal.Instant.prototype.add ( _temporalDurationLike_ )",
|
||||
"Temporal.Instant.prototype.equals ( _other_ )",
|
||||
"Temporal.Instant.prototype.round ( _options_ )",
|
||||
"Temporal.Instant.prototype.since ( _other_ [ , _options_ ] )",
|
||||
"Temporal.Instant.prototype.subtract ( _temporalDurationLike_ )",
|
||||
"Temporal.Instant.prototype.toJSON ( )",
|
||||
"Temporal.Instant.prototype.toLocaleString ( [ _locales_ [ , _options_ ] ] )",
|
||||
"Temporal.Instant.prototype.toString ( [ _options_ ] )",
|
||||
"Temporal.Instant.prototype.toZonedDateTimeISO ( _item_ )",
|
||||
"Temporal.Instant.prototype.toZonedDateTime ( _item_ )",
|
||||
"Temporal.Instant.prototype.until ( _other_ [ , _options_ ] )",
|
||||
"Temporal.Instant.prototype.valueOf ( )",
|
||||
"Temporal.Now.instant ( )",
|
||||
"Temporal.Now.plainDate ( _calendar_ [ , _temporalTimeZoneLike_ ] )",
|
||||
"Temporal.Now.plainDateISO ( [ _temporalTimeZoneLike_ ] )",
|
||||
"Temporal.Now.plainDateTime ( _calendar_ [ , _temporalTimeZoneLike_ ] )",
|
||||
"Temporal.Now.plainDateTimeISO ( [ _temporalTimeZoneLike_ ] )",
|
||||
"Temporal.Now.plainTimeISO ( [ _temporalTimeZoneLike_ ] )",
|
||||
"Temporal.Now.timeZone ( )",
|
||||
"Temporal.Now.zonedDateTime ( _calendar_ [ , _temporalTimeZoneLike_ ] )",
|
||||
"Temporal.Now.zonedDateTimeISO ( [ _temporalTimeZoneLike_ ] )",
|
||||
"Temporal.PlainDate.compare ( _one_, _two_ )",
|
||||
"Temporal.PlainDate.from ( _item_ [ , _options_ ] )",
|
||||
"Temporal.PlainDate ( _isoYear_, _isoMonth_, _isoDay_ [ , _calendarLike_ ] )",
|
||||
"Temporal.PlainDate.prototype.add ( _temporalDurationLike_ [ , _options_ ] )",
|
||||
"Temporal.PlainDate.prototype.equals ( _other_ )",
|
||||
"Temporal.PlainDate.prototype.getISOFields ( )",
|
||||
"Temporal.PlainDate.prototype.since ( _other_ [ , _options_ ] )",
|
||||
"Temporal.PlainDate.prototype.subtract ( _temporalDurationLike_ [ , _options_ ] )",
|
||||
"Temporal.PlainDate.prototype.toJSON ( )",
|
||||
"Temporal.PlainDate.prototype.toLocaleString ( [ _locales_ [ , _options_ ] ] )",
|
||||
"Temporal.PlainDate.prototype.toPlainDateTime ( [ _temporalTime_ ] )",
|
||||
"Temporal.PlainDate.prototype.toPlainMonthDay ( )",
|
||||
"Temporal.PlainDate.prototype.toPlainYearMonth ( )",
|
||||
"Temporal.PlainDate.prototype.toString ( [ _options_ ] )",
|
||||
"Temporal.PlainDate.prototype.toZonedDateTime ( _item_ )",
|
||||
"Temporal.PlainDate.prototype.until ( _other_ [ , _options_ ] )",
|
||||
"Temporal.PlainDate.prototype.valueOf ( )",
|
||||
"Temporal.PlainDate.prototype.withCalendar ( _calendar_ )",
|
||||
"Temporal.PlainDate.prototype.with ( _temporalDateLike_ [ , _options_ ] )",
|
||||
"Temporal.PlainDateTime.compare ( _one_, _two_ )",
|
||||
"Temporal.PlainDateTime.from ( _item_ [ , _options_ ] )",
|
||||
"Temporal.PlainDateTime ( _isoYear_, _isoMonth_, _isoDay_ [ , _hour_ [ , _minute_ [ , _second_ [ , _millisecond_ [ , _microsecond_ [ , _nanosecond_ [ , _calendarLike_ ] ] ] ] ] ] ] )",
|
||||
"Temporal.PlainDateTime.prototype.add ( _temporalDurationLike_ [ , _options_ ] )",
|
||||
"Temporal.PlainDateTime.prototype.equals ( _other_ )",
|
||||
"Temporal.PlainDateTime.prototype.getISOFields ( )",
|
||||
"Temporal.PlainDateTime.prototype.round ( _options_ )",
|
||||
"Temporal.PlainDateTime.prototype.since ( _other_ [ , _options_ ] )",
|
||||
"Temporal.PlainDateTime.prototype.subtract ( _temporalDurationLike_ [ , _options_ ] )",
|
||||
"Temporal.PlainDateTime.prototype.toJSON ( )",
|
||||
"Temporal.PlainDateTime.prototype.toLocaleString ( [ _locales_ [ , _options_ ] ] )",
|
||||
"Temporal.PlainDateTime.prototype.toPlainDate ( )",
|
||||
"Temporal.PlainDateTime.prototype.toPlainMonthDay ( )",
|
||||
"Temporal.PlainDateTime.prototype.toPlainTime ( )",
|
||||
"Temporal.PlainDateTime.prototype.toPlainYearMonth ( )",
|
||||
"Temporal.PlainDateTime.prototype.toString ( [ _options_ ] )",
|
||||
"Temporal.PlainDateTime.prototype.toZonedDateTime ( _temporalTimeZoneLike_ [ , _options_ ] )",
|
||||
"Temporal.PlainDateTime.prototype.until ( _other_ [ , _options_ ] )",
|
||||
"Temporal.PlainDateTime.prototype.valueOf ( )",
|
||||
"Temporal.PlainDateTime.prototype.withCalendar ( _calendar_ )",
|
||||
"Temporal.PlainDateTime.prototype.withPlainDate ( _plainDateLike_ )",
|
||||
"Temporal.PlainDateTime.prototype.withPlainTime ( [ _plainTimeLike_ ] )",
|
||||
"Temporal.PlainDateTime.prototype.with ( _temporalDateTimeLike_ [ , _options_ ] )",
|
||||
"Temporal.PlainMonthDay.from ( _item_ [ , _options_ ] )",
|
||||
"Temporal.PlainMonthDay ( _isoMonth_, _isoDay_ [ , _calendarLike_ [ , _referenceISOYear_ ] ] )",
|
||||
"Temporal.PlainMonthDay.prototype.equals ( _other_ )",
|
||||
"Temporal.PlainMonthDay.prototype.getISOFields ( )",
|
||||
"Temporal.PlainMonthDay.prototype.toJSON ( )",
|
||||
"Temporal.PlainMonthDay.prototype.toLocaleString ( [ _locales_ [ , _options_ ] ] )",
|
||||
"Temporal.PlainMonthDay.prototype.toPlainDate ( _item_ )",
|
||||
"Temporal.PlainMonthDay.prototype.toString ( [ _options_ ] )",
|
||||
"Temporal.PlainMonthDay.prototype.valueOf ( )",
|
||||
"Temporal.PlainMonthDay.prototype.with ( _temporalMonthDayLike_ [ , _options_ ] )",
|
||||
"Temporal.PlainTime.compare ( _one_, _two_ )",
|
||||
"Temporal.PlainTime.from ( _item_ [ , _options_ ] )",
|
||||
"Temporal.PlainTime ( [ _hour_ [ , _minute_ [ , _second_ [ , _millisecond_ [ , _microsecond_ [ , _nanosecond_ ] ] ] ] ] ] )",
|
||||
"Temporal.PlainTime.prototype.add ( _temporalDurationLike_ )",
|
||||
"Temporal.PlainTime.prototype.equals ( _other_ )",
|
||||
"Temporal.PlainTime.prototype.getISOFields ( )",
|
||||
"Temporal.PlainTime.prototype.round ( _options_ )",
|
||||
"Temporal.PlainTime.prototype.since ( _other_ [ , _options_ ] )",
|
||||
"Temporal.PlainTime.prototype.subtract ( _temporalDurationLike_ )",
|
||||
"Temporal.PlainTime.prototype.toJSON ( )",
|
||||
"Temporal.PlainTime.prototype.toLocaleString ( [ _locales_ [ , _options_ ] ] )",
|
||||
"Temporal.PlainTime.prototype.toPlainDateTime ( _temporalDate_ )",
|
||||
"Temporal.PlainTime.prototype.toString ( [ _options_ ] )",
|
||||
"Temporal.PlainTime.prototype.toZonedDateTime ( _item_ )",
|
||||
"Temporal.PlainTime.prototype.until ( _other_ [ , _options_ ] )",
|
||||
"Temporal.PlainTime.prototype.valueOf ( )",
|
||||
"Temporal.PlainTime.prototype.with ( _temporalTimeLike_ [ , _options_ ] )",
|
||||
"Temporal.PlainYearMonth.compare ( _one_, _two_ )",
|
||||
"Temporal.PlainYearMonth.from ( _item_ [ , _options_ ] )",
|
||||
"Temporal.PlainYearMonth ( _isoYear_, _isoMonth_ [ , _calendarLike_ [ , _referenceISODay_ ] ] )",
|
||||
"Temporal.PlainYearMonth.prototype.add ( _temporalDurationLike_ [ , _options_ ] )",
|
||||
"Temporal.PlainYearMonth.prototype.equals ( _other_ )",
|
||||
"Temporal.PlainYearMonth.prototype.getISOFields ( )",
|
||||
"Temporal.PlainYearMonth.prototype.since ( _other_ [ , _options_ ] )",
|
||||
"Temporal.PlainYearMonth.prototype.subtract ( _temporalDurationLike_ [ , _options_ ] )",
|
||||
"Temporal.PlainYearMonth.prototype.toJSON ( )",
|
||||
"Temporal.PlainYearMonth.prototype.toLocaleString ( [ _locales_ [ , _options_ ] ] )",
|
||||
"Temporal.PlainYearMonth.prototype.toPlainDate ( _item_ )",
|
||||
"Temporal.PlainYearMonth.prototype.toString ( [ _options_ ] )",
|
||||
"Temporal.PlainYearMonth.prototype.until ( _other_ [ , _options_ ] )",
|
||||
"Temporal.PlainYearMonth.prototype.valueOf ( )",
|
||||
"Temporal.PlainYearMonth.prototype.with ( _temporalYearMonthLike_ [ , _options_ ] )",
|
||||
"Temporal.TimeZone.from ( _item_ )",
|
||||
"Temporal.TimeZone ( _identifier_ )",
|
||||
"Temporal.TimeZone.prototype.getInstantFor ( _dateTime_ [ , _options_ ] )",
|
||||
"Temporal.TimeZone.prototype.getNextTransition ( _startingPoint_ )",
|
||||
"Temporal.TimeZone.prototype.getOffsetNanosecondsFor ( _instant_ )",
|
||||
"Temporal.TimeZone.prototype.getOffsetStringFor ( _instant_ )",
|
||||
"Temporal.TimeZone.prototype.getPlainDateTimeFor ( _instant_ [ , _calendarLike_ ] )",
|
||||
"Temporal.TimeZone.prototype.getPossibleInstantsFor ( _dateTime_ )",
|
||||
"Temporal.TimeZone.prototype.getPreviousTransition ( _startingPoint_ )",
|
||||
"Temporal.TimeZone.prototype.toJSON ( )",
|
||||
"Temporal.TimeZone.prototype.toString ( )",
|
||||
"Temporal.ZonedDateTime.compare ( _one_, _two_ )",
|
||||
"Temporal.ZonedDateTime ( _epochNanoseconds_, _timeZoneLike_ [ , _calendarLike_ ] )",
|
||||
"Temporal.ZonedDateTime.from ( _item_ [ , _options_ ] )",
|
||||
"Temporal.ZonedDateTime.prototype.add ( _temporalDurationLike_ [ , _options_ ] )",
|
||||
"Temporal.ZonedDateTime.prototype.equals ( _other_ )",
|
||||
"Temporal.ZonedDateTime.prototype.getISOFields ( )",
|
||||
"Temporal.ZonedDateTime.prototype.round ( _options_ )",
|
||||
"Temporal.ZonedDateTime.prototype.since ( _other_ [ , _options_ ] )",
|
||||
"Temporal.ZonedDateTime.prototype.startOfDay ( )",
|
||||
"Temporal.ZonedDateTime.prototype.subtract ( _temporalDurationLike_ [ , _options_ ] )",
|
||||
"Temporal.ZonedDateTime.prototype.toInstant ( )",
|
||||
"Temporal.ZonedDateTime.prototype.toJSON ( )",
|
||||
"Temporal.ZonedDateTime.prototype.toLocaleString ( [ _locales_ [ , _options_ ] ] )",
|
||||
"Temporal.ZonedDateTime.prototype.toPlainDate ( )",
|
||||
"Temporal.ZonedDateTime.prototype.toPlainDateTime ( )",
|
||||
"Temporal.ZonedDateTime.prototype.toPlainMonthDay ( )",
|
||||
"Temporal.ZonedDateTime.prototype.toPlainTime ( )",
|
||||
"Temporal.ZonedDateTime.prototype.toPlainYearMonth ( )",
|
||||
"Temporal.ZonedDateTime.prototype.toString ( [ _options_ ] )",
|
||||
"Temporal.ZonedDateTime.prototype.until ( _other_ [ , _options_ ] )",
|
||||
"Temporal.ZonedDateTime.prototype.valueOf ( )",
|
||||
"Temporal.ZonedDateTime.prototype.withCalendar ( _calendarLike_ )",
|
||||
"Temporal.ZonedDateTime.prototype.withPlainDate ( _plainDateLike_ )",
|
||||
"Temporal.ZonedDateTime.prototype.withPlainTime ( [ _plainTimeLike_ ] )",
|
||||
"Temporal.ZonedDateTime.prototype.with ( _temporalZonedDateTimeLike_ [ , _options_ ] )",
|
||||
"Temporal.ZonedDateTime.prototype.withTimeZone ( _timeZoneLike_ )",
|
||||
];
|
||||
|
||||
// Find out the minimum number of arguments of that function
|
||||
function numberOfArgs(tokens) {
|
||||
let argc = 0;
|
||||
for (i = 2; i < tokens.length; i++) {
|
||||
if (tokens[i] == "[" || tokens[i] == ")") {
|
||||
return argc;
|
||||
}
|
||||
if (tokens[i] != ",") {
|
||||
argc++;
|
||||
}
|
||||
}
|
||||
}
|
||||
funcs.forEach(function(line) {
|
||||
let tokens = line.split(" ");
|
||||
if (tokens[0] == "get") {
|
||||
let lastDot = tokens[1].lastIndexOf(".");
|
||||
let prototype = eval(tokens[1].substring(0, lastDot));
|
||||
let property = tokens[1].substring(lastDot + 1);
|
||||
let desc = Object.getOwnPropertyDescriptor(prototype, property);
|
||||
assertNotEquals(desc, undefined, "Getter should be defined:" + line);
|
||||
assertEquals(desc.set, undefined, "Setter should NOT be defined:" + line);
|
||||
} else {
|
||||
let obj = eval(tokens[0]);
|
||||
// Verify the method is defined
|
||||
assertNotEquals(obj, undefined,
|
||||
"Method should be defined:" + line);
|
||||
|
||||
// Verify the number of minimum arguments.
|
||||
assertEquals(obj.length, numberOfArgs(tokens),
|
||||
"Method should be defined with " + numberOfArgs(tokens) +
|
||||
" arguments but got " + obj.length + " arguments:\n" +line);
|
||||
}
|
||||
});
|
338
test/mjsunit/temporal/function-exist.js
Normal file
338
test/mjsunit/temporal/function-exist.js
Normal file
@ -0,0 +1,338 @@
|
||||
// Copyright 2021 the V8 project authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
// Flags: --harmony-temporal
|
||||
|
||||
// The following are generated by
|
||||
// proposal-temporal/spec$ egrep "<h1>" *.html|egrep ">Temporal\.|>get"|egrep "get|\(" | \
|
||||
// cut -d'>' -f2|cut -d'<' -f 1 |egrep -v "\. \. \." |sort -u
|
||||
|
||||
const funcs = [
|
||||
|
||||
"get Temporal.Calendar.prototype.id",
|
||||
"get Temporal.Duration.prototype.blank",
|
||||
"get Temporal.Duration.prototype.days",
|
||||
"get Temporal.Duration.prototype.hours",
|
||||
"get Temporal.Duration.prototype.microseconds",
|
||||
"get Temporal.Duration.prototype.milliseconds",
|
||||
"get Temporal.Duration.prototype.minutes",
|
||||
"get Temporal.Duration.prototype.months",
|
||||
"get Temporal.Duration.prototype.nanoseconds",
|
||||
"get Temporal.Duration.prototype.seconds",
|
||||
"get Temporal.Duration.prototype.sign",
|
||||
"get Temporal.Duration.prototype.weeks",
|
||||
"get Temporal.Duration.prototype.years",
|
||||
"get Temporal.Instant.prototype.epochMicroseconds",
|
||||
"get Temporal.Instant.prototype.epochMilliseconds",
|
||||
"get Temporal.Instant.prototype.epochNanoseconds",
|
||||
"get Temporal.Instant.prototype.epochSeconds",
|
||||
"get Temporal.PlainDate.prototype.calendar",
|
||||
"get Temporal.PlainDate.prototype.day",
|
||||
"get Temporal.PlainDate.prototype.dayOfWeek",
|
||||
"get Temporal.PlainDate.prototype.dayOfYear",
|
||||
"get Temporal.PlainDate.prototype.daysInMonth",
|
||||
"get Temporal.PlainDate.prototype.daysInWeek",
|
||||
"get Temporal.PlainDate.prototype.daysInYear",
|
||||
"get Temporal.PlainDate.prototype.era",
|
||||
"get Temporal.PlainDate.prototype.eraYear",
|
||||
"get Temporal.PlainDate.prototype.inLeapYear",
|
||||
"get Temporal.PlainDate.prototype.month",
|
||||
"get Temporal.PlainDate.prototype.monthCode",
|
||||
"get Temporal.PlainDate.prototype.monthsInYear",
|
||||
"get Temporal.PlainDate.prototype.weekOfYear",
|
||||
"get Temporal.PlainDate.prototype.year",
|
||||
"get Temporal.PlainDateTime.prototype.calendar",
|
||||
"get Temporal.PlainDateTime.prototype.day",
|
||||
"get Temporal.PlainDateTime.prototype.dayOfWeek",
|
||||
"get Temporal.PlainDateTime.prototype.dayOfYear",
|
||||
"get Temporal.PlainDateTime.prototype.daysInMonth",
|
||||
"get Temporal.PlainDateTime.prototype.daysInWeek",
|
||||
"get Temporal.PlainDateTime.prototype.daysInYear",
|
||||
"get Temporal.PlainDateTime.prototype.era",
|
||||
"get Temporal.PlainDateTime.prototype.eraYear",
|
||||
"get Temporal.PlainDateTime.prototype.hour",
|
||||
"get Temporal.PlainDateTime.prototype.inLeapYear",
|
||||
"get Temporal.PlainDateTime.prototype.microsecond",
|
||||
"get Temporal.PlainDateTime.prototype.millisecond",
|
||||
"get Temporal.PlainDateTime.prototype.minute",
|
||||
"get Temporal.PlainDateTime.prototype.month",
|
||||
"get Temporal.PlainDateTime.prototype.monthCode",
|
||||
"get Temporal.PlainDateTime.prototype.monthsInYear",
|
||||
"get Temporal.PlainDateTime.prototype.nanosecond",
|
||||
"get Temporal.PlainDateTime.prototype.second",
|
||||
"get Temporal.PlainDateTime.prototype.weekOfYear",
|
||||
"get Temporal.PlainDateTime.prototype.year",
|
||||
"get Temporal.PlainMonthDay.prototype.calendar",
|
||||
"get Temporal.PlainMonthDay.prototype.day",
|
||||
"get Temporal.PlainMonthDay.prototype.monthCode",
|
||||
"get Temporal.PlainTime.prototype.calendar",
|
||||
"get Temporal.PlainTime.prototype.hour",
|
||||
"get Temporal.PlainTime.prototype.microsecond",
|
||||
"get Temporal.PlainTime.prototype.millisecond",
|
||||
"get Temporal.PlainTime.prototype.minute",
|
||||
"get Temporal.PlainTime.prototype.nanosecond",
|
||||
"get Temporal.PlainTime.prototype.second",
|
||||
"get Temporal.PlainYearMonth.prototype.calendar",
|
||||
"get Temporal.PlainYearMonth.prototype.daysInMonth",
|
||||
"get Temporal.PlainYearMonth.prototype.daysInYear",
|
||||
"get Temporal.PlainYearMonth.prototype.era",
|
||||
"get Temporal.PlainYearMonth.prototype.eraYear",
|
||||
"get Temporal.PlainYearMonth.prototype.inLeapYear",
|
||||
"get Temporal.PlainYearMonth.prototype.month",
|
||||
"get Temporal.PlainYearMonth.prototype.monthCode",
|
||||
"get Temporal.PlainYearMonth.prototype.monthsInYear",
|
||||
"get Temporal.PlainYearMonth.prototype.year",
|
||||
"get Temporal.TimeZone.prototype.id",
|
||||
"get Temporal.ZonedDateTime.prototype.calendar",
|
||||
"get Temporal.ZonedDateTime.prototype.day",
|
||||
"get Temporal.ZonedDateTime.prototype.dayOfWeek",
|
||||
"get Temporal.ZonedDateTime.prototype.dayOfYear",
|
||||
"get Temporal.ZonedDateTime.prototype.daysInMonth",
|
||||
"get Temporal.ZonedDateTime.prototype.daysInWeek",
|
||||
"get Temporal.ZonedDateTime.prototype.daysInYear",
|
||||
"get Temporal.ZonedDateTime.prototype.epochMicroseconds",
|
||||
"get Temporal.ZonedDateTime.prototype.epochMilliseconds",
|
||||
"get Temporal.ZonedDateTime.prototype.epochNanoseconds",
|
||||
"get Temporal.ZonedDateTime.prototype.epochSeconds",
|
||||
"get Temporal.ZonedDateTime.prototype.era",
|
||||
"get Temporal.ZonedDateTime.prototype.eraYear",
|
||||
"get Temporal.ZonedDateTime.prototype.hour",
|
||||
"get Temporal.ZonedDateTime.prototype.hoursInDay",
|
||||
"get Temporal.ZonedDateTime.prototype.inLeapYear",
|
||||
"get Temporal.ZonedDateTime.prototype.microsecond",
|
||||
"get Temporal.ZonedDateTime.prototype.millisecond",
|
||||
"get Temporal.ZonedDateTime.prototype.minute",
|
||||
"get Temporal.ZonedDateTime.prototype.month",
|
||||
"get Temporal.ZonedDateTime.prototype.monthCode",
|
||||
"get Temporal.ZonedDateTime.prototype.monthsInYear",
|
||||
"get Temporal.ZonedDateTime.prototype.nanosecond",
|
||||
"get Temporal.ZonedDateTime.prototype.offset",
|
||||
"get Temporal.ZonedDateTime.prototype.offsetNanoseconds",
|
||||
"get Temporal.ZonedDateTime.prototype.second",
|
||||
"get Temporal.ZonedDateTime.prototype.timeZone",
|
||||
"get Temporal.ZonedDateTime.prototype.weekOfYear",
|
||||
"get Temporal.ZonedDateTime.prototype.year",
|
||||
"Temporal.Calendar.from ( _item_ )",
|
||||
"Temporal.Calendar ( _id_ )",
|
||||
"Temporal.Calendar.prototype.dateAdd ( _date_, _duration_ [ , _options_ ] )",
|
||||
"Temporal.Calendar.prototype.dateFromFields ( _fields_ [ , _options_ ] )",
|
||||
"Temporal.Calendar.prototype.dateUntil ( _one_, _two_ [ , _options_ ] )",
|
||||
"Temporal.Calendar.prototype.dayOfWeek ( _dateOrDateTime_ )",
|
||||
"Temporal.Calendar.prototype.dayOfWeek ( _temporalDateLike_ )",
|
||||
"Temporal.Calendar.prototype.dayOfYear ( _temporalDateLike_ )",
|
||||
"Temporal.Calendar.prototype.daysInMonth ( _temporalDateLike_ )",
|
||||
"Temporal.Calendar.prototype.daysInWeek ( _temporalDateLike_ )",
|
||||
"Temporal.Calendar.prototype.daysInYear ( _temporalDateLike_ )",
|
||||
"Temporal.Calendar.prototype.day ( _temporalDateLike_ )",
|
||||
"Temporal.Calendar.prototype.era ( _temporalDateLike_ )",
|
||||
"Temporal.Calendar.prototype.eraYear ( _temporalDateLike_ )",
|
||||
"Temporal.Calendar.prototype.fields ( _fields_ )",
|
||||
"Temporal.Calendar.prototype.inLeapYear ( _temporalDateLike_ )",
|
||||
"Temporal.Calendar.prototype.mergeFields ( _fields_, _additionalFields_ )",
|
||||
"Temporal.Calendar.prototype.monthCode ( _temporalDateLike_ )",
|
||||
"Temporal.Calendar.prototype.monthDayFromFields ( _fields_ [ , _options_ ] )",
|
||||
"Temporal.Calendar.prototype.monthsInYear ( _temporalDateLike_ )",
|
||||
"Temporal.Calendar.prototype.month ( _temporalDateLike_ )",
|
||||
"Temporal.Calendar.prototype.toJSON ( )",
|
||||
"Temporal.Calendar.prototype.toString ( )",
|
||||
"Temporal.Calendar.prototype.weekOfYear ( _temporalDateLike_ )",
|
||||
"Temporal.Calendar.prototype.yearMonthFromFields ( _fields_ [ , _options_ ] )",
|
||||
"Temporal.Calendar.prototype.year ( _temporalDateLike_ )",
|
||||
"Temporal.Duration.compare ( _one_, _two_ [ , _options_ ] )",
|
||||
"Temporal.Duration.from ( _item_ )",
|
||||
"Temporal.Duration.prototype.abs ( )",
|
||||
"Temporal.Duration.prototype.add ( _other_ [ , _options_ ] )",
|
||||
"Temporal.Duration.prototype.negated ( )",
|
||||
"Temporal.Duration.prototype.round ( _options_ )",
|
||||
"Temporal.Duration.prototype.subtract ( _other_ [ , _options_ ] )",
|
||||
"Temporal.Duration.prototype.toJSON ( )",
|
||||
"Temporal.Duration.prototype.toLocaleString ( [ _locales_ [ , _options_ ] ] )",
|
||||
"Temporal.Duration.prototype.toString ( [ _options_ ] )",
|
||||
"Temporal.Duration.prototype.total ( _options_ )",
|
||||
"Temporal.Duration.prototype.valueOf ( )",
|
||||
"Temporal.Duration.prototype.with ( _temporalDurationLike_ )",
|
||||
"Temporal.Duration ( [ _years_ [ , _months_ [ , _weeks_ [ , _days_ [ , _hours_ [ , _minutes_ [ , _seconds_ [ , _milliseconds_ [ , _microseconds_ [ , _nanoseconds_ ] ] ] ] ] ] ] ] ] ] )",
|
||||
"Temporal.Instant.compare ( _one_, _two_ )",
|
||||
"Temporal.Instant ( _epochNanoseconds_ )",
|
||||
"Temporal.Instant.fromEpochMicroseconds ( _epochMicroseconds_ )",
|
||||
"Temporal.Instant.fromEpochMilliseconds ( _epochMilliseconds_ )",
|
||||
"Temporal.Instant.fromEpochNanoseconds ( _epochNanoseconds_ )",
|
||||
"Temporal.Instant.fromEpochSeconds ( _epochSeconds_ )",
|
||||
"Temporal.Instant.from ( _item_ )",
|
||||
"Temporal.Instant.prototype.add ( _temporalDurationLike_ )",
|
||||
"Temporal.Instant.prototype.equals ( _other_ )",
|
||||
"Temporal.Instant.prototype.round ( _options_ )",
|
||||
"Temporal.Instant.prototype.since ( _other_ [ , _options_ ] )",
|
||||
"Temporal.Instant.prototype.subtract ( _temporalDurationLike_ )",
|
||||
"Temporal.Instant.prototype.toJSON ( )",
|
||||
"Temporal.Instant.prototype.toLocaleString ( [ _locales_ [ , _options_ ] ] )",
|
||||
"Temporal.Instant.prototype.toString ( [ _options_ ] )",
|
||||
"Temporal.Instant.prototype.toZonedDateTimeISO ( _item_ )",
|
||||
"Temporal.Instant.prototype.toZonedDateTime ( _item_ )",
|
||||
"Temporal.Instant.prototype.until ( _other_ [ , _options_ ] )",
|
||||
"Temporal.Instant.prototype.valueOf ( )",
|
||||
"Temporal.Now.instant ( )",
|
||||
"Temporal.Now.plainDate ( _calendar_ [ , _temporalTimeZoneLike_ ] )",
|
||||
"Temporal.Now.plainDateISO ( [ _temporalTimeZoneLike_ ] )",
|
||||
"Temporal.Now.plainDateTime ( _calendar_ [ , _temporalTimeZoneLike_ ] )",
|
||||
"Temporal.Now.plainDateTimeISO ( [ _temporalTimeZoneLike_ ] )",
|
||||
"Temporal.Now.plainTimeISO ( [ _temporalTimeZoneLike_ ] )",
|
||||
"Temporal.Now.timeZone ( )",
|
||||
"Temporal.Now.zonedDateTime ( _calendar_ [ , _temporalTimeZoneLike_ ] )",
|
||||
"Temporal.Now.zonedDateTimeISO ( [ _temporalTimeZoneLike_ ] )",
|
||||
"Temporal.PlainDate.compare ( _one_, _two_ )",
|
||||
"Temporal.PlainDate.from ( _item_ [ , _options_ ] )",
|
||||
"Temporal.PlainDate ( _isoYear_, _isoMonth_, _isoDay_ [ , _calendarLike_ ] )",
|
||||
"Temporal.PlainDate.prototype.add ( _temporalDurationLike_ [ , _options_ ] )",
|
||||
"Temporal.PlainDate.prototype.equals ( _other_ )",
|
||||
"Temporal.PlainDate.prototype.getISOFields ( )",
|
||||
"Temporal.PlainDate.prototype.since ( _other_ [ , _options_ ] )",
|
||||
"Temporal.PlainDate.prototype.subtract ( _temporalDurationLike_ [ , _options_ ] )",
|
||||
"Temporal.PlainDate.prototype.toJSON ( )",
|
||||
"Temporal.PlainDate.prototype.toLocaleString ( [ _locales_ [ , _options_ ] ] )",
|
||||
"Temporal.PlainDate.prototype.toPlainDateTime ( [ _temporalTime_ ] )",
|
||||
"Temporal.PlainDate.prototype.toPlainMonthDay ( )",
|
||||
"Temporal.PlainDate.prototype.toPlainYearMonth ( )",
|
||||
"Temporal.PlainDate.prototype.toString ( [ _options_ ] )",
|
||||
"Temporal.PlainDate.prototype.toZonedDateTime ( _item_ )",
|
||||
"Temporal.PlainDate.prototype.until ( _other_ [ , _options_ ] )",
|
||||
"Temporal.PlainDate.prototype.valueOf ( )",
|
||||
"Temporal.PlainDate.prototype.withCalendar ( _calendar_ )",
|
||||
"Temporal.PlainDate.prototype.with ( _temporalDateLike_ [ , _options_ ] )",
|
||||
"Temporal.PlainDateTime.compare ( _one_, _two_ )",
|
||||
"Temporal.PlainDateTime.from ( _item_ [ , _options_ ] )",
|
||||
"Temporal.PlainDateTime ( _isoYear_, _isoMonth_, _isoDay_ [ , _hour_ [ , _minute_ [ , _second_ [ , _millisecond_ [ , _microsecond_ [ , _nanosecond_ [ , _calendarLike_ ] ] ] ] ] ] ] )",
|
||||
"Temporal.PlainDateTime.prototype.add ( _temporalDurationLike_ [ , _options_ ] )",
|
||||
"Temporal.PlainDateTime.prototype.equals ( _other_ )",
|
||||
"Temporal.PlainDateTime.prototype.getISOFields ( )",
|
||||
"Temporal.PlainDateTime.prototype.round ( _options_ )",
|
||||
"Temporal.PlainDateTime.prototype.since ( _other_ [ , _options_ ] )",
|
||||
"Temporal.PlainDateTime.prototype.subtract ( _temporalDurationLike_ [ , _options_ ] )",
|
||||
"Temporal.PlainDateTime.prototype.toJSON ( )",
|
||||
"Temporal.PlainDateTime.prototype.toLocaleString ( [ _locales_ [ , _options_ ] ] )",
|
||||
"Temporal.PlainDateTime.prototype.toPlainDate ( )",
|
||||
"Temporal.PlainDateTime.prototype.toPlainMonthDay ( )",
|
||||
"Temporal.PlainDateTime.prototype.toPlainTime ( )",
|
||||
"Temporal.PlainDateTime.prototype.toPlainYearMonth ( )",
|
||||
"Temporal.PlainDateTime.prototype.toString ( [ _options_ ] )",
|
||||
"Temporal.PlainDateTime.prototype.toZonedDateTime ( _temporalTimeZoneLike_ [ , _options_ ] )",
|
||||
"Temporal.PlainDateTime.prototype.until ( _other_ [ , _options_ ] )",
|
||||
"Temporal.PlainDateTime.prototype.valueOf ( )",
|
||||
"Temporal.PlainDateTime.prototype.withCalendar ( _calendar_ )",
|
||||
"Temporal.PlainDateTime.prototype.withPlainDate ( _plainDateLike_ )",
|
||||
"Temporal.PlainDateTime.prototype.withPlainTime ( [ _plainTimeLike_ ] )",
|
||||
"Temporal.PlainDateTime.prototype.with ( _temporalDateTimeLike_ [ , _options_ ] )",
|
||||
"Temporal.PlainMonthDay.from ( _item_ [ , _options_ ] )",
|
||||
"Temporal.PlainMonthDay ( _isoMonth_, _isoDay_ [ , _calendarLike_ [ , _referenceISOYear_ ] ] )",
|
||||
"Temporal.PlainMonthDay.prototype.equals ( _other_ )",
|
||||
"Temporal.PlainMonthDay.prototype.getISOFields ( )",
|
||||
"Temporal.PlainMonthDay.prototype.toJSON ( )",
|
||||
"Temporal.PlainMonthDay.prototype.toLocaleString ( [ _locales_ [ , _options_ ] ] )",
|
||||
"Temporal.PlainMonthDay.prototype.toPlainDate ( _item_ )",
|
||||
"Temporal.PlainMonthDay.prototype.toString ( [ _options_ ] )",
|
||||
"Temporal.PlainMonthDay.prototype.valueOf ( )",
|
||||
"Temporal.PlainMonthDay.prototype.with ( _temporalMonthDayLike_ [ , _options_ ] )",
|
||||
"Temporal.PlainTime.compare ( _one_, _two_ )",
|
||||
"Temporal.PlainTime.from ( _item_ [ , _options_ ] )",
|
||||
"Temporal.PlainTime ( [ _hour_ [ , _minute_ [ , _second_ [ , _millisecond_ [ , _microsecond_ [ , _nanosecond_ ] ] ] ] ] ] )",
|
||||
"Temporal.PlainTime.prototype.add ( _temporalDurationLike_ )",
|
||||
"Temporal.PlainTime.prototype.equals ( _other_ )",
|
||||
"Temporal.PlainTime.prototype.getISOFields ( )",
|
||||
"Temporal.PlainTime.prototype.round ( _options_ )",
|
||||
"Temporal.PlainTime.prototype.since ( _other_ [ , _options_ ] )",
|
||||
"Temporal.PlainTime.prototype.subtract ( _temporalDurationLike_ )",
|
||||
"Temporal.PlainTime.prototype.toJSON ( )",
|
||||
"Temporal.PlainTime.prototype.toLocaleString ( [ _locales_ [ , _options_ ] ] )",
|
||||
"Temporal.PlainTime.prototype.toPlainDateTime ( _temporalDate_ )",
|
||||
"Temporal.PlainTime.prototype.toString ( [ _options_ ] )",
|
||||
"Temporal.PlainTime.prototype.toZonedDateTime ( _item_ )",
|
||||
"Temporal.PlainTime.prototype.until ( _other_ [ , _options_ ] )",
|
||||
"Temporal.PlainTime.prototype.valueOf ( )",
|
||||
"Temporal.PlainTime.prototype.with ( _temporalTimeLike_ [ , _options_ ] )",
|
||||
"Temporal.PlainYearMonth.compare ( _one_, _two_ )",
|
||||
"Temporal.PlainYearMonth.from ( _item_ [ , _options_ ] )",
|
||||
"Temporal.PlainYearMonth ( _isoYear_, _isoMonth_ [ , _calendarLike_ [ , _referenceISODay_ ] ] )",
|
||||
"Temporal.PlainYearMonth.prototype.add ( _temporalDurationLike_ [ , _options_ ] )",
|
||||
"Temporal.PlainYearMonth.prototype.equals ( _other_ )",
|
||||
"Temporal.PlainYearMonth.prototype.getISOFields ( )",
|
||||
"Temporal.PlainYearMonth.prototype.since ( _other_ [ , _options_ ] )",
|
||||
"Temporal.PlainYearMonth.prototype.subtract ( _temporalDurationLike_ [ , _options_ ] )",
|
||||
"Temporal.PlainYearMonth.prototype.toJSON ( )",
|
||||
"Temporal.PlainYearMonth.prototype.toLocaleString ( [ _locales_ [ , _options_ ] ] )",
|
||||
"Temporal.PlainYearMonth.prototype.toPlainDate ( _item_ )",
|
||||
"Temporal.PlainYearMonth.prototype.toString ( [ _options_ ] )",
|
||||
"Temporal.PlainYearMonth.prototype.until ( _other_ [ , _options_ ] )",
|
||||
"Temporal.PlainYearMonth.prototype.valueOf ( )",
|
||||
"Temporal.PlainYearMonth.prototype.with ( _temporalYearMonthLike_ [ , _options_ ] )",
|
||||
"Temporal.TimeZone.from ( _item_ )",
|
||||
"Temporal.TimeZone ( _identifier_ )",
|
||||
"Temporal.TimeZone.prototype.getInstantFor ( _dateTime_ [ , _options_ ] )",
|
||||
"Temporal.TimeZone.prototype.getNextTransition ( _startingPoint_ )",
|
||||
"Temporal.TimeZone.prototype.getOffsetNanosecondsFor ( _instant_ )",
|
||||
"Temporal.TimeZone.prototype.getOffsetStringFor ( _instant_ )",
|
||||
"Temporal.TimeZone.prototype.getPlainDateTimeFor ( _instant_ [ , _calendarLike_ ] )",
|
||||
"Temporal.TimeZone.prototype.getPossibleInstantsFor ( _dateTime_ )",
|
||||
"Temporal.TimeZone.prototype.getPreviousTransition ( _startingPoint_ )",
|
||||
"Temporal.TimeZone.prototype.toJSON ( )",
|
||||
"Temporal.TimeZone.prototype.toString ( )",
|
||||
"Temporal.ZonedDateTime.compare ( _one_, _two_ )",
|
||||
"Temporal.ZonedDateTime ( _epochNanoseconds_, _timeZoneLike_ [ , _calendarLike_ ] )",
|
||||
"Temporal.ZonedDateTime.from ( _item_ [ , _options_ ] )",
|
||||
"Temporal.ZonedDateTime.prototype.add ( _temporalDurationLike_ [ , _options_ ] )",
|
||||
"Temporal.ZonedDateTime.prototype.equals ( _other_ )",
|
||||
"Temporal.ZonedDateTime.prototype.getISOFields ( )",
|
||||
"Temporal.ZonedDateTime.prototype.round ( _options_ )",
|
||||
"Temporal.ZonedDateTime.prototype.since ( _other_ [ , _options_ ] )",
|
||||
"Temporal.ZonedDateTime.prototype.startOfDay ( )",
|
||||
"Temporal.ZonedDateTime.prototype.subtract ( _temporalDurationLike_ [ , _options_ ] )",
|
||||
"Temporal.ZonedDateTime.prototype.toInstant ( )",
|
||||
"Temporal.ZonedDateTime.prototype.toJSON ( )",
|
||||
"Temporal.ZonedDateTime.prototype.toLocaleString ( [ _locales_ [ , _options_ ] ] )",
|
||||
"Temporal.ZonedDateTime.prototype.toPlainDate ( )",
|
||||
"Temporal.ZonedDateTime.prototype.toPlainDateTime ( )",
|
||||
"Temporal.ZonedDateTime.prototype.toPlainMonthDay ( )",
|
||||
"Temporal.ZonedDateTime.prototype.toPlainTime ( )",
|
||||
"Temporal.ZonedDateTime.prototype.toPlainYearMonth ( )",
|
||||
"Temporal.ZonedDateTime.prototype.toString ( [ _options_ ] )",
|
||||
"Temporal.ZonedDateTime.prototype.until ( _other_ [ , _options_ ] )",
|
||||
"Temporal.ZonedDateTime.prototype.valueOf ( )",
|
||||
"Temporal.ZonedDateTime.prototype.withCalendar ( _calendarLike_ )",
|
||||
"Temporal.ZonedDateTime.prototype.withPlainDate ( _plainDateLike_ )",
|
||||
"Temporal.ZonedDateTime.prototype.withPlainTime ( [ _plainTimeLike_ ] )",
|
||||
"Temporal.ZonedDateTime.prototype.with ( _temporalZonedDateTimeLike_ [ , _options_ ] )",
|
||||
"Temporal.ZonedDateTime.prototype.withTimeZone ( _timeZoneLike_ )",
|
||||
];
|
||||
|
||||
// Find out the minimum number of arguments of that function
|
||||
function numberOfArgs(tokens) {
|
||||
let argc = 0;
|
||||
for (i = 2; i < tokens.length; i++) {
|
||||
if (tokens[i] == "[" || tokens[i] == ")") {
|
||||
return argc;
|
||||
}
|
||||
if (tokens[i] != ",") {
|
||||
argc++;
|
||||
}
|
||||
}
|
||||
}
|
||||
funcs.forEach(function(line) {
|
||||
let tokens = line.split(" ");
|
||||
if (tokens[0] == "get") {
|
||||
let lastDot = tokens[1].lastIndexOf(".");
|
||||
let prototype = eval(tokens[1].substring(0, lastDot));
|
||||
let property = tokens[1].substring(lastDot + 1);
|
||||
let desc = Object.getOwnPropertyDescriptor(prototype, property);
|
||||
assertNotEquals(desc, undefined, "Getter should be defined:" + line);
|
||||
assertEquals(desc.set, undefined, "Setter should NOT be defined:" + line);
|
||||
} else {
|
||||
let obj = eval(tokens[0]);
|
||||
// Verify the method is defined
|
||||
assertNotEquals(obj, undefined,
|
||||
"Method should be defined:" + line);
|
||||
|
||||
// Verify the number of minimum arguments.
|
||||
assertEquals(obj.length, numberOfArgs(tokens),
|
||||
"Method should be defined with " + numberOfArgs(tokens) +
|
||||
" arguments but got " + obj.length + " arguments:\n" +line);
|
||||
}
|
||||
});
|
@ -224,15 +224,25 @@ INSTANCE_TYPES = {
|
||||
2122: "JS_SEGMENTER_TYPE",
|
||||
2123: "JS_SEGMENTS_TYPE",
|
||||
2124: "JS_STRING_ITERATOR_TYPE",
|
||||
2125: "JS_V8_BREAK_ITERATOR_TYPE",
|
||||
2126: "JS_WEAK_REF_TYPE",
|
||||
2127: "WASM_GLOBAL_OBJECT_TYPE",
|
||||
2128: "WASM_INSTANCE_OBJECT_TYPE",
|
||||
2129: "WASM_MEMORY_OBJECT_TYPE",
|
||||
2130: "WASM_MODULE_OBJECT_TYPE",
|
||||
2131: "WASM_TABLE_OBJECT_TYPE",
|
||||
2132: "WASM_TAG_OBJECT_TYPE",
|
||||
2133: "WASM_VALUE_OBJECT_TYPE",
|
||||
2125: "JS_TEMPORAL_CALENDAR_TYPE",
|
||||
2126: "JS_TEMPORAL_DURATION_TYPE",
|
||||
2127: "JS_TEMPORAL_INSTANT_TYPE",
|
||||
2128: "JS_TEMPORAL_PLAIN_DATE_TYPE",
|
||||
2129: "JS_TEMPORAL_PLAIN_DATE_TIME_TYPE",
|
||||
2130: "JS_TEMPORAL_PLAIN_MONTH_DAY_TYPE",
|
||||
2131: "JS_TEMPORAL_PLAIN_TIME_TYPE",
|
||||
2132: "JS_TEMPORAL_PLAIN_YEAR_MONTH_TYPE",
|
||||
2133: "JS_TEMPORAL_TIME_ZONE_TYPE",
|
||||
2134: "JS_TEMPORAL_ZONED_DATE_TIME_TYPE",
|
||||
2135: "JS_V8_BREAK_ITERATOR_TYPE",
|
||||
2136: "JS_WEAK_REF_TYPE",
|
||||
2137: "WASM_GLOBAL_OBJECT_TYPE",
|
||||
2138: "WASM_INSTANCE_OBJECT_TYPE",
|
||||
2139: "WASM_MEMORY_OBJECT_TYPE",
|
||||
2140: "WASM_MODULE_OBJECT_TYPE",
|
||||
2141: "WASM_TABLE_OBJECT_TYPE",
|
||||
2142: "WASM_TAG_OBJECT_TYPE",
|
||||
2143: "WASM_VALUE_OBJECT_TYPE",
|
||||
}
|
||||
|
||||
# List of known V8 maps.
|
||||
@ -331,66 +341,66 @@ KNOWN_MAPS = {
|
||||
("read_only_space", 0x03215): (67, "BasicBlockCountersMarkerMap"),
|
||||
("read_only_space", 0x03259): (91, "ArrayBoilerplateDescriptionMap"),
|
||||
("read_only_space", 0x03359): (103, "InterceptorInfoMap"),
|
||||
("read_only_space", 0x05699): (76, "PromiseFulfillReactionJobTaskMap"),
|
||||
("read_only_space", 0x056c1): (77, "PromiseRejectReactionJobTaskMap"),
|
||||
("read_only_space", 0x056e9): (78, "CallableTaskMap"),
|
||||
("read_only_space", 0x05711): (79, "CallbackTaskMap"),
|
||||
("read_only_space", 0x05739): (80, "PromiseResolveThenableJobTaskMap"),
|
||||
("read_only_space", 0x05761): (83, "FunctionTemplateInfoMap"),
|
||||
("read_only_space", 0x05789): (84, "ObjectTemplateInfoMap"),
|
||||
("read_only_space", 0x057b1): (85, "AccessCheckInfoMap"),
|
||||
("read_only_space", 0x057d9): (86, "AccessorInfoMap"),
|
||||
("read_only_space", 0x05801): (87, "AccessorPairMap"),
|
||||
("read_only_space", 0x05829): (88, "AliasedArgumentsEntryMap"),
|
||||
("read_only_space", 0x05851): (89, "AllocationMementoMap"),
|
||||
("read_only_space", 0x05879): (92, "AsmWasmDataMap"),
|
||||
("read_only_space", 0x058a1): (93, "AsyncGeneratorRequestMap"),
|
||||
("read_only_space", 0x058c9): (94, "BreakPointMap"),
|
||||
("read_only_space", 0x058f1): (95, "BreakPointInfoMap"),
|
||||
("read_only_space", 0x05919): (96, "CachedTemplateObjectMap"),
|
||||
("read_only_space", 0x05941): (98, "ClassPositionsMap"),
|
||||
("read_only_space", 0x05969): (99, "DebugInfoMap"),
|
||||
("read_only_space", 0x05991): (102, "FunctionTemplateRareDataMap"),
|
||||
("read_only_space", 0x059b9): (104, "InterpreterDataMap"),
|
||||
("read_only_space", 0x059e1): (105, "ModuleRequestMap"),
|
||||
("read_only_space", 0x05a09): (106, "PromiseCapabilityMap"),
|
||||
("read_only_space", 0x05a31): (107, "PromiseReactionMap"),
|
||||
("read_only_space", 0x05a59): (108, "PropertyDescriptorObjectMap"),
|
||||
("read_only_space", 0x05a81): (109, "PrototypeInfoMap"),
|
||||
("read_only_space", 0x05aa9): (110, "RegExpBoilerplateDescriptionMap"),
|
||||
("read_only_space", 0x05ad1): (111, "ScriptMap"),
|
||||
("read_only_space", 0x05af9): (112, "SourceTextModuleInfoEntryMap"),
|
||||
("read_only_space", 0x05b21): (113, "StackFrameInfoMap"),
|
||||
("read_only_space", 0x05b49): (114, "TemplateObjectDescriptionMap"),
|
||||
("read_only_space", 0x05b71): (115, "Tuple2Map"),
|
||||
("read_only_space", 0x05b99): (116, "WasmExceptionTagMap"),
|
||||
("read_only_space", 0x05bc1): (117, "WasmIndirectFunctionTableMap"),
|
||||
("read_only_space", 0x05be9): (135, "SloppyArgumentsElementsMap"),
|
||||
("read_only_space", 0x05c11): (152, "DescriptorArrayMap"),
|
||||
("read_only_space", 0x05c39): (157, "UncompiledDataWithoutPreparseDataMap"),
|
||||
("read_only_space", 0x05c61): (156, "UncompiledDataWithPreparseDataMap"),
|
||||
("read_only_space", 0x05c89): (174, "OnHeapBasicBlockProfilerDataMap"),
|
||||
("read_only_space", 0x05cb1): (170, "InternalClassMap"),
|
||||
("read_only_space", 0x05cd9): (181, "SmiPairMap"),
|
||||
("read_only_space", 0x05d01): (180, "SmiBoxMap"),
|
||||
("read_only_space", 0x05d29): (146, "ExportedSubClassBaseMap"),
|
||||
("read_only_space", 0x05d51): (147, "ExportedSubClassMap"),
|
||||
("read_only_space", 0x05d79): (68, "AbstractInternalClassSubclass1Map"),
|
||||
("read_only_space", 0x05da1): (69, "AbstractInternalClassSubclass2Map"),
|
||||
("read_only_space", 0x05dc9): (134, "InternalClassWithSmiElementsMap"),
|
||||
("read_only_space", 0x05df1): (171, "InternalClassWithStructElementsMap"),
|
||||
("read_only_space", 0x05e19): (148, "ExportedSubClass2Map"),
|
||||
("read_only_space", 0x05e41): (182, "SortStateMap"),
|
||||
("read_only_space", 0x05e69): (160, "CallRefDataMap"),
|
||||
("read_only_space", 0x05e91): (90, "AllocationSiteWithWeakNextMap"),
|
||||
("read_only_space", 0x05eb9): (90, "AllocationSiteWithoutWeakNextMap"),
|
||||
("read_only_space", 0x05ee1): (81, "LoadHandler1Map"),
|
||||
("read_only_space", 0x05f09): (81, "LoadHandler2Map"),
|
||||
("read_only_space", 0x05f31): (81, "LoadHandler3Map"),
|
||||
("read_only_space", 0x05f59): (82, "StoreHandler0Map"),
|
||||
("read_only_space", 0x05f81): (82, "StoreHandler1Map"),
|
||||
("read_only_space", 0x05fa9): (82, "StoreHandler2Map"),
|
||||
("read_only_space", 0x05fd1): (82, "StoreHandler3Map"),
|
||||
("read_only_space", 0x05bf1): (76, "PromiseFulfillReactionJobTaskMap"),
|
||||
("read_only_space", 0x05c19): (77, "PromiseRejectReactionJobTaskMap"),
|
||||
("read_only_space", 0x05c41): (78, "CallableTaskMap"),
|
||||
("read_only_space", 0x05c69): (79, "CallbackTaskMap"),
|
||||
("read_only_space", 0x05c91): (80, "PromiseResolveThenableJobTaskMap"),
|
||||
("read_only_space", 0x05cb9): (83, "FunctionTemplateInfoMap"),
|
||||
("read_only_space", 0x05ce1): (84, "ObjectTemplateInfoMap"),
|
||||
("read_only_space", 0x05d09): (85, "AccessCheckInfoMap"),
|
||||
("read_only_space", 0x05d31): (86, "AccessorInfoMap"),
|
||||
("read_only_space", 0x05d59): (87, "AccessorPairMap"),
|
||||
("read_only_space", 0x05d81): (88, "AliasedArgumentsEntryMap"),
|
||||
("read_only_space", 0x05da9): (89, "AllocationMementoMap"),
|
||||
("read_only_space", 0x05dd1): (92, "AsmWasmDataMap"),
|
||||
("read_only_space", 0x05df9): (93, "AsyncGeneratorRequestMap"),
|
||||
("read_only_space", 0x05e21): (94, "BreakPointMap"),
|
||||
("read_only_space", 0x05e49): (95, "BreakPointInfoMap"),
|
||||
("read_only_space", 0x05e71): (96, "CachedTemplateObjectMap"),
|
||||
("read_only_space", 0x05e99): (98, "ClassPositionsMap"),
|
||||
("read_only_space", 0x05ec1): (99, "DebugInfoMap"),
|
||||
("read_only_space", 0x05ee9): (102, "FunctionTemplateRareDataMap"),
|
||||
("read_only_space", 0x05f11): (104, "InterpreterDataMap"),
|
||||
("read_only_space", 0x05f39): (105, "ModuleRequestMap"),
|
||||
("read_only_space", 0x05f61): (106, "PromiseCapabilityMap"),
|
||||
("read_only_space", 0x05f89): (107, "PromiseReactionMap"),
|
||||
("read_only_space", 0x05fb1): (108, "PropertyDescriptorObjectMap"),
|
||||
("read_only_space", 0x05fd9): (109, "PrototypeInfoMap"),
|
||||
("read_only_space", 0x06001): (110, "RegExpBoilerplateDescriptionMap"),
|
||||
("read_only_space", 0x06029): (111, "ScriptMap"),
|
||||
("read_only_space", 0x06051): (112, "SourceTextModuleInfoEntryMap"),
|
||||
("read_only_space", 0x06079): (113, "StackFrameInfoMap"),
|
||||
("read_only_space", 0x060a1): (114, "TemplateObjectDescriptionMap"),
|
||||
("read_only_space", 0x060c9): (115, "Tuple2Map"),
|
||||
("read_only_space", 0x060f1): (116, "WasmExceptionTagMap"),
|
||||
("read_only_space", 0x06119): (117, "WasmIndirectFunctionTableMap"),
|
||||
("read_only_space", 0x06141): (135, "SloppyArgumentsElementsMap"),
|
||||
("read_only_space", 0x06169): (152, "DescriptorArrayMap"),
|
||||
("read_only_space", 0x06191): (157, "UncompiledDataWithoutPreparseDataMap"),
|
||||
("read_only_space", 0x061b9): (156, "UncompiledDataWithPreparseDataMap"),
|
||||
("read_only_space", 0x061e1): (174, "OnHeapBasicBlockProfilerDataMap"),
|
||||
("read_only_space", 0x06209): (170, "InternalClassMap"),
|
||||
("read_only_space", 0x06231): (181, "SmiPairMap"),
|
||||
("read_only_space", 0x06259): (180, "SmiBoxMap"),
|
||||
("read_only_space", 0x06281): (146, "ExportedSubClassBaseMap"),
|
||||
("read_only_space", 0x062a9): (147, "ExportedSubClassMap"),
|
||||
("read_only_space", 0x062d1): (68, "AbstractInternalClassSubclass1Map"),
|
||||
("read_only_space", 0x062f9): (69, "AbstractInternalClassSubclass2Map"),
|
||||
("read_only_space", 0x06321): (134, "InternalClassWithSmiElementsMap"),
|
||||
("read_only_space", 0x06349): (171, "InternalClassWithStructElementsMap"),
|
||||
("read_only_space", 0x06371): (148, "ExportedSubClass2Map"),
|
||||
("read_only_space", 0x06399): (182, "SortStateMap"),
|
||||
("read_only_space", 0x063c1): (160, "CallRefDataMap"),
|
||||
("read_only_space", 0x063e9): (90, "AllocationSiteWithWeakNextMap"),
|
||||
("read_only_space", 0x06411): (90, "AllocationSiteWithoutWeakNextMap"),
|
||||
("read_only_space", 0x06439): (81, "LoadHandler1Map"),
|
||||
("read_only_space", 0x06461): (81, "LoadHandler2Map"),
|
||||
("read_only_space", 0x06489): (81, "LoadHandler3Map"),
|
||||
("read_only_space", 0x064b1): (82, "StoreHandler0Map"),
|
||||
("read_only_space", 0x064d9): (82, "StoreHandler1Map"),
|
||||
("read_only_space", 0x06501): (82, "StoreHandler2Map"),
|
||||
("read_only_space", 0x06529): (82, "StoreHandler3Map"),
|
||||
("map_space", 0x02119): (1057, "ExternalMap"),
|
||||
("map_space", 0x02141): (2114, "JSMessageObjectMap"),
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user