Linus Groh
c3f1d8f5ba
LibJS: Correct section IDs of Temporal .prototype property clauses
...
This is an editorial change in the Temporal spec.
See: e4eb181
2022-05-25 00:25:23 +01:00
Linus Groh
ae1fdf299d
LibJS: Use the rounding abstract operations from Intl.NumberFormat V3
...
This is an editorial change in the Temporal spec.
See: 75279e5
Co-Authored-By: Idan Horowitz <idan.horowitz@gmail.com>
2022-05-25 00:25:23 +01:00
Linus Groh
93a20b3bfb
LibJS: Use default argument of CalendarDateFromFields
...
This is an editorial change in the Temporal spec.
See: 7a4a518
2022-05-25 00:25:23 +01:00
Linus Groh
cf1ea18b7f
LibJS: Align DifferenceTemporalPlainTime with other Difference* AOs
...
This is an editorial change in the Temporal spec.
See: 70f739d
2022-05-25 00:25:23 +01:00
Linus Groh
89d4094709
LibJS: Mark concrete method calls of Environment Records with ?/!
...
This is an editorial change in the ECMA-262 spec.
See: 7ae3ecf
2022-05-25 00:25:23 +01:00
Linus Groh
74695ce76e
LibJS: Mark two Get operations in ToTemporalZonedDateTime infallible
...
This is an editorial change in the Temporal spec.
See: fed9f16
2022-05-17 21:24:50 +01:00
Linus Groh
a5c41aa905
LibJS: Use required fields argument in ISOYearMonthFromFields
...
This is an editorial change in the Temporal spec.
See: ff02f87
2022-05-17 21:16:56 +01:00
Linus Groh
0946f82c8c
LibJS: Combine TemporalTimeZoneIdentifier and TimeZoneBracketedName
...
This is an editorial change in the Temporal spec.
See: 6db76f4
2022-05-17 21:14:01 +01:00
Luke Wilde
2b764b3594
LibJS: Remove faulty assertion in BalanceDurationRelative
...
This is an editorial change in the Temporal spec.
See: 66f7464
2022-05-16 20:48:41 +01:00
Linus Groh
d2c1dd5454
LibJS: Introduce ISO Date Records
...
This is an editorial change in the Temporal spec.
See: d264341
2022-05-16 20:46:46 +01:00
Linus Groh
0558eb6d2f
LibJS: Swap until/since arguments to DifferenceTemporalZonedDateTime
...
This is an editorial change in the Temporal spec.
See: b911bc9
2022-05-16 20:35:13 +01:00
Linus Groh
6d7970a23c
LibJS: Remove unnecessary CalendarDate production
...
This is an editorial change in the Temporal spec.
See: 48744ea
2022-05-16 20:33:22 +01:00
Linus Groh
03017be5bd
LibJS: Remove redundant TemporalRelativeToString production
...
This is an editorial change in the Temporal spec.
See: f85f953
2022-05-16 20:29:32 +01:00
Linus Groh
51e01b5a80
LibJS: Remove redundant TemporalDateString production
...
This is an editorial change in the Temporal spec.
See: 41a8a5c
2022-05-16 20:28:26 +01:00
Linus Groh
33f53041e7
LibJS: Replace "enclosed by" with "contained within" in spec comments
...
This is an editorial change in the Temporal spec.
See: cb10d3f
2022-05-16 20:17:23 +01:00
Linus Groh
80048c694a
LibJS: Use '2 × nsMaxInstant' in a couple of assertion comments
...
This is an editorial change in the Temporal spec.
See: a225863
2022-05-09 20:27:20 +02:00
Luke Wilde
ee6fb51db6
LibJS: Add a couple of missing spec steps to PerformEval
...
I missed these in 34f902fb52
.
2022-05-08 17:12:27 +02:00
Luke Wilde
77ba3d3e3f
LibJS: Remove callerRealm from HostEnsureCanCompileStrings
...
This is a normative change in the ecma262 spec.
See: 2527be4
2022-05-08 17:12:27 +02:00
Linus Groh
b751f80166
LibJS: Change internal slots of Duration to store mathematical values
...
This is a normative change in the Temporal spec.
See: 1f3fba8
2022-05-08 01:01:32 +02:00
Linus Groh
cc8f5151d7
LibJS: Refactor Temporal since/until to common AOs
...
This is an editorial change in the Temporal spec.
See: 85a9f57
2022-05-08 00:07:58 +02:00
Linus Groh
fc6cf3cb9d
LibJS: Remove ToISODayOfWeek
...
This is an editorial change in the Temporal spec.
See: 3eab7e4
2022-05-08 00:07:58 +02:00
Linus Groh
cabcdd838b
LibJS: Remove ToISODayOfYear
...
This is an editorial change in the Temporal spec.
See: 6117d90
2022-05-08 00:07:58 +02:00
Linus Groh
a216c0b6df
LibJS: Remove IsISOLeapYear
...
This is an editorial change in the Temporal spec.
See: a36bdd4
2022-05-08 00:07:58 +02:00
Linus Groh
6d0d7c8fd0
LibJS: Remove ISODaysInYear
...
This is an editorial change in the Temporal spec.
See: f62e737
2022-05-08 00:07:58 +02:00
Linus Groh
ade7946217
LibJS: Simplify DifferenceISODate
...
This is an editorial change in the Temporal spec.
See: 76452d2
2022-05-08 00:07:58 +02:00
Linus Groh
6a2b73a4a9
LibJS: Simplify DaysUntil
...
This is an editorial change in the Temporal spec.
See: b2254b4
2022-05-08 00:07:58 +02:00
Linus Groh
de0ea331cd
LibJS: Simplify BalanceISODate
...
This is an editorial change in the Temporal spec.
See: 9544573
2022-05-08 00:07:58 +02:00
Linus Groh
938e68d003
LibJS: Remove type assertion comment from IsValidISODate
...
This is an editorial change in the Temporal spec.
See: ddb5652
2022-05-08 00:07:58 +02:00
Linus Groh
15fe6297bc
LibJS: Use "Completion" to emphasize completion record
...
This is an editorial change in the Temporal spec.
See: 31d9fc5
2022-05-08 00:07:58 +02:00
Linus Groh
f64b69955e
LibJS: Fix numeric type in Date.prototype.toTemporalInstant()
...
This is an editorial change in the Temporal spec.
See: 435a111
2022-05-08 00:07:58 +02:00
Linus Groh
c6f7214a60
LibJS: Replace magic nanosecond numbers with constants
...
This is an editorial change in the Temporal spec.
See: 3fdbfda
2022-05-08 00:07:58 +02:00
Linus Groh
3729a910f6
LibJS: Refactor Temporal add/subtract to common AOs
...
This is an editorial change in the Temporal spec.
See:
- 2f96efc
- fbff635
2022-05-08 00:07:58 +02:00
Luke Wilde
05748ed607
LibJS: Convert Console to use MarkedVector<Value>
...
Using a Vector<Value> is unsafe as GC cannot see the stored values.
This is then vended to outside users of ConsoleClient, e.g. LibWeb and
WebContent, which is then outside of LibJS's control.
An example issue is if the client stores it for later use and forgets
to visit the stored values, meaning they can be destroyed at any time.
We can save the client from this by vending a MarkedVector<Value> to
them.
2022-05-07 01:22:09 +02:00
Linus Groh
f7c9bd0760
LibJS: Convert remaining Date AOs using JS::Value as in/output to double
...
There was an awful lot of JS::Value <-> double conversion going on, even
through these AOs only work with number values anyway.
They don't need a global object either as they won't allocate or throw,
that was simply to pass it to infallible calls of ToIntegerOrInfinity.
2022-05-06 22:32:47 +02:00
Linus Groh
b9b3d01bea
LibJS: Add variant of to_integer_or_infinity() for plain doubles
...
In many cases we already know a certain value is a number, or don't have
JS values at all and would need to wrap doubles in a value. To optimize
these cases and avoid having to pass a global object into functions that
won't ever allocate or throw, add a standalone implementation of this
function that takes and returns doubles directly.
2022-05-06 22:32:47 +02:00
Linus Groh
875e59b740
LibJS: Remove unused LibCore/DateTime.h header from Date.cpp
...
We use a double for [[DateValue]] and the spec's own AOs for any
calculations now.
2022-05-06 22:32:47 +02:00
Linus Groh
4dd9102f5e
LibJS: Move Hours/Minutes/Seconds/ms constants out of the Date class
...
They can remain in this header, but will be used outside the Date
context in Temporal.
2022-05-06 22:32:47 +02:00
Linus Groh
53619176f5
LibJS: Set "prototype" property of async generator functions
2022-05-05 22:40:57 +02:00
Linus Groh
09e263dd9c
LibJS: Fix "prototype" property of generator functions, again
...
The change in 3ec0183
wasn't actually correct, the spec tells us to set
the "prototype" property of the function (created with a prototype of
%GeneratorFunction.prototype% itself) to a newly created object:
OrdinaryObjectCreate(%GeneratorFunction.prototype.prototype%)
2022-05-05 22:40:57 +02:00
Linus Groh
dd547c3374
LibJS: Add getters for %{Async,}GeneratorFunction.prototype.prototype%
...
These exist as {Async,}GeneratorPrototype of course, but the spec
doesn't always refer to them by the direct name.
2022-05-05 22:40:57 +02:00
Linus Groh
0c65624a32
LibJS: Add AsyncGenerator / AsyncGeneratorPrototype
...
Not implementing any prototype functions yet, but stubbing out async
generator infrastructure will allow us to make some progress in that
direction.
2022-05-05 22:40:57 +02:00
Linus Groh
2c68ec9097
LibJS: Use Object* for 'manual' GlobalObject::foo_prototype() getters
...
Not doing so only leads to problems down the line, e.g. not being able
to pass them as function pointers to ordinary_create_from_constructor().
2022-05-05 22:40:57 +02:00
Linus Groh
2fc9481bb6
LibJS: Correct SetMutableBinding fallibility bug in spec comment
...
This is an editorial change in the ECMA-262 spec.
See: 656f0cf
2022-05-05 09:28:08 +02:00
Linus Groh
50d0f879f7
LibJS: Remove bogus FIXME in ArgumentsObject::internal_get()
...
Not sure what happened here, but the comment does not match the spec,
and so the FIXME I added is not actually an issue.
2022-05-03 22:51:36 +02:00
Linus Groh
f3768705a9
LibJS: Use consistent phrasing for string length
...
This is an editorial change in the ECMA-262 spec.
See: 33ea99e
2022-05-03 22:49:31 +02:00
Linus Groh
8b035b80d3
LibJS: Update order of steps in CanonicalNumericIndexString
...
This is an editorial change in the ECMA-262 spec.
See: be5db32
2022-05-03 22:49:31 +02:00
Linus Groh
367e7b4fe5
LibJS: Reflect Array.prototype.toLocaleString comment in %TypedArray%
...
This is an editorial change in the ECMA-262 spec.
See: 2a9ed48
2022-05-03 22:49:31 +02:00
Linus Groh
b9bbf45a81
LibJS: Add assertion (comment) to MakeMatchIndicesIndexPairArray
...
This is an editorial change in the ECMA-262 spec.
See: caa6e3f
2022-05-03 22:49:31 +02:00
Linus Groh
ede932287f
LibJS: Update spec comments to avoid = comparisons with signed zero
...
This is an editorial change in the ECMA-262 spec.
See: b7348e5
2022-05-03 22:49:31 +02:00
Linus Groh
257375f54c
LibJS: Update comments for Annex B changes to IsLooselyEqual
...
This is an editorial change in the ECMA-262 spec.
See: da3d674
2022-05-03 22:49:31 +02:00