Linus Groh
2ff989914d
LibJS: Make Value::typeof() return a StringView
2023-01-26 17:26:31 +00:00
Timothy Flynn
ceaec41726
LibJS: Port Value to-string methods to String
2023-01-15 01:00:20 +00:00
Timothy Flynn
c9056b824e
LibJS: Define Value::to_string to convert a Value to a String
2023-01-15 01:00:20 +00:00
Timothy Flynn
afeb7273cc
LibJS+Everywhere: Rename Value::to_string to to_deprecated_string
2023-01-15 01:00:20 +00:00
Timothy Flynn
0b58748156
LibJS: Define number_to_string to convert a double to a String
2023-01-15 01:00:20 +00:00
Timothy Flynn
8a88d4434f
LibJS+LibWeb: Rename number_to_string to number_to_deprecated_string
2023-01-15 01:00:20 +00:00
Timothy Flynn
0ddc2e1f50
LibCrypto+Everywhere: Rename *BigInteger::to_base to to_base_deprecated
2023-01-15 01:00:20 +00:00
Timothy Flynn
115baa7e32
LibJS+Everywhere: Make PrimitiveString and Utf16String fallible
...
This makes construction of Utf16String fallible in OOM conditions. The
immediate impact is that PrimitiveString must then be fallible as well,
as it may either transcode UTF-8 to UTF-16, or create a UTF-16 string
from ropes.
There are a couple of places where it is very non-trivial to propagate
the error further. A FIXME has been added to those locations.
2023-01-08 12:13:15 +01:00
Timothy Flynn
49b24b0968
LibJS: Let Utf16String be forward-declared in Value.h
...
It's only used as a template parameter, so let it be forward-declared.
Otherwise, we aren't able to include Completion.h in Utf16String.h, as
there would be a Utf16String -> Completion -> Value -> Utf16String
include cycle.
2023-01-08 12:13:15 +01:00
Linus Groh
dd3d133968
LibJS: Convert SymbolObject::create() to NonnullGCPtr
2022-12-14 09:59:45 +00:00
Linus Groh
049e99b5f0
LibJS: Convert StringObject::create() to NonnullGCPtr
2022-12-14 09:59:45 +00:00
Linus Groh
f990095728
LibJS: Convert NumberObject::create() to NonnullGCPtr
2022-12-14 09:59:45 +00:00
Linus Groh
b48fa8756f
LibJS: Convert BooleanObject::create() to NonnullGCPtr
2022-12-14 09:59:45 +00:00
Linus Groh
cf0a24ff0c
LibJS: Convert BigIntObject::create() to NonnullGCPtr
2022-12-14 09:59:45 +00:00
Linus Groh
e4b388ea5a
LibJS: Use modulo() for modulo operations in Value.cpp
2022-12-12 21:26:12 +00:00
Linus Groh
ff5882291f
LibJS: Rename same_value_non_{numeric => number}() and handle BigInts
...
This is an editorial change in the ECMA-262 spec.
See: https://github.com/tc39/ecma262/commit/f660b14
Note that the explicit check for zero sign equality is no longer needed
as of b0d6399
, which removed the ability of Crypto::SignedBigInteger to
represent negative zero.
2022-12-10 11:35:20 +00:00
Linus Groh
78895984e9
LibJS: Add spec comments to Value::invoke_internal()
2022-12-10 11:23:23 +00:00
Linus Groh
14e5003ece
LibJS: Add spec comments to is_less_than()
2022-12-10 11:23:23 +00:00
Linus Groh
f1d8a64510
LibJS: Add spec comments to is_strictly_equal()
2022-12-10 11:23:23 +00:00
Linus Groh
abf1ba89cd
LibJS: Add spec comments to same_value_non_numeric()
2022-12-10 11:23:23 +00:00
Linus Groh
625ad4192f
LibJS: Add spec comments to same_value_zero()
2022-12-10 11:23:23 +00:00
Linus Groh
44a243cae4
LibJS: Add spec comments to same_value()
2022-12-10 11:23:23 +00:00
Linus Groh
c892b1c2b6
LibJS: Add spec comments to ordinary_has_instance()
2022-12-10 11:23:23 +00:00
Linus Groh
0b35c24c9c
LibJS: Add spec comments to instance_of()
2022-12-10 11:23:23 +00:00
Linus Groh
d74ce90e74
LibJS: Add spec comments to exp{,_double}()
2022-12-10 11:23:23 +00:00
Linus Groh
eb4ea557f1
LibJS: Add spec comments to mod()
2022-12-10 11:23:23 +00:00
Linus Groh
dc747b3dd4
LibJS: Add spec comments to div()
2022-12-10 11:23:23 +00:00
Linus Groh
f0f476079b
LibJS: Add spec comments to mul()
2022-12-10 11:23:23 +00:00
Linus Groh
51cdf2cdef
LibJS: Add spec comments to sub()
2022-12-10 11:23:23 +00:00
Linus Groh
d5359164b1
LibJS: Add spec comments to add()
2022-12-10 11:23:23 +00:00
Linus Groh
e27ef63217
LibJS: Add spec comments to unsigned_right_shift()
2022-12-10 11:23:23 +00:00
Linus Groh
b66f9a8718
LibJS: Add spec comments to right_shift()
2022-12-10 11:23:23 +00:00
Linus Groh
8aa19a8a60
LibJS: Add spec comments to left_shift()
2022-12-10 11:23:23 +00:00
Linus Groh
08f6be1715
LibJS: Add spec comments to unary_minus()
2022-12-10 11:23:23 +00:00
Linus Groh
4458b7bf19
LibJS: Add spec comments to unary_plus()
2022-12-10 11:23:23 +00:00
Linus Groh
c23d8c7486
LibJS: Add spec comments to bitwise_not()
2022-12-10 11:23:23 +00:00
Linus Groh
f0f2dd5850
LibJS: Add spec comments to bitwise_xor()
2022-12-10 11:23:23 +00:00
Linus Groh
07f9ae908c
LibJS: Add spec comments to bitwise_or()
2022-12-10 11:23:23 +00:00
Linus Groh
9d3d4a760f
LibJS: Add spec comments to bitwise_and()
2022-12-10 11:23:23 +00:00
Linus Groh
3a8c704d19
LibJS: Add spec comments to less_than_equals()
2022-12-10 11:23:23 +00:00
Linus Groh
e53c8ae593
LibJS: Add spec comments to less_than()
2022-12-10 11:23:23 +00:00
Linus Groh
27ed1f6d5e
LibJS: Add spec comments to greater_than_equals()
2022-12-10 11:23:23 +00:00
Linus Groh
444ba191af
LibJS: Add spec comments to greater_than()
2022-12-10 11:23:23 +00:00
Linus Groh
058a247c61
LibJS: Add spec comments to Value::to_integer_or_infinity()
2022-12-10 11:23:23 +00:00
Linus Groh
72ee346f64
LibJS: Add spec comments to Value::to_index()
2022-12-10 11:23:23 +00:00
Linus Groh
d1b2ac41fd
LibJS: Add spec comments to Value::to_length()
2022-12-10 11:23:23 +00:00
Linus Groh
34e372cbff
LibJS: Add spec comments to Value::to_u8_clamp()
2022-12-10 11:23:23 +00:00
Linus Groh
fff5fe44c1
LibJS: Add spec comments to Value::to_u8()
2022-12-10 11:23:23 +00:00
Linus Groh
2a3f150ab8
LibJS: Add spec comments to Value::to_i8()
2022-12-10 11:23:23 +00:00
Linus Groh
42eac3b7d3
LibJS: Add spec comments to Value::to_u16()
2022-12-10 11:23:23 +00:00