Linus Groh
|
9f3f3b0864
|
LibJS: Remove implicit wrapping/unwrapping of completion records
This is an editorial change in the ECMA-262 spec, with similar changes
in some proposals.
See:
- https://github.com/tc39/ecma262/commit/7575f74
- https://github.com/tc39/proposal-array-grouping/commit/df899eb
- https://github.com/tc39/proposal-shadowrealm/commit/9eb5a12
- https://github.com/tc39/proposal-shadowrealm/commit/c81f527
|
2022-05-03 01:09:29 +02:00 |
|
Lenny Maiorani
|
d00b79568f
|
Libraries: Use default constructors/destructors in LibJS
https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#cother-other-default-operation-rules
"The compiler is more likely to get the default semantics right and
you cannot implement these functions better than the compiler."
|
2022-03-16 16:19:40 +00:00 |
|
Linus Groh
|
e657e88ed6
|
LibJS: Add [[InitialName]] and use it in Function.prototype.toString()
|
2022-02-20 23:21:40 +00:00 |
|
Linus Groh
|
93372e0a0d
|
LibJS: Remove unused BoundFunction.h include from FunctionObject.cpp
|
2022-02-20 15:40:40 +00:00 |
|
Linus Groh
|
87b9fa2636
|
LibJS: Add FunctionObject constructor allowing null prototype
This just calls through to the Object constructor added in the previous
commit.
|
2022-02-09 23:31:34 +00:00 |
|
Linus Groh
|
f663c7d6da
|
LibJS: Remove unused BoundFunction::m_constructor_prototype
This was not being used anywhere, and the way we determined it was not
matching the spec at all, so let's remove it and do it properly.
|
2022-02-09 23:31:34 +00:00 |
|
Linus Groh
|
886d6c62f9
|
LibJS: Implement the SetFunctionLength AO
|
2022-01-24 20:17:07 +00:00 |
|
Linus Groh
|
5b04c49762
|
LibJS: Implement the SetFunctionName AO
|
2022-01-24 20:17:07 +00:00 |
|
Linus Groh
|
62356cff40
|
LibJS: Convert FunctionObject::bind() to ThrowCompletionOr
|
2022-01-04 23:37:26 +00:00 |
|
Linus Groh
|
0881f8160f
|
LibJS: Use implicit ThrowCompletionOr<T> constructor where possible
Luckily this is not very widespread yet as most of it would happen in
the various JS functions instead of AOs.
|
2021-10-21 09:02:23 +01:00 |
|
Linus Groh
|
52976bfac6
|
LibJS: Convert to_object() to ThrowCompletionOr
|
2021-10-13 09:55:10 +01:00 |
|
Linus Groh
|
b7e5f08e56
|
LibJS: Convert Object::get() to ThrowCompletionOr
To no one's surprise, this patch is pretty big - this is possibly the
most used AO of all of them. Definitely worth it though.
|
2021-10-03 20:14:03 +01:00 |
|
Linus Groh
|
9043041dd3
|
LibJS: Move [[BoundThis]] and [[BoundArguments]] to BoundFunction
|
2021-09-25 17:51:30 +02:00 |
|
Linus Groh
|
4566472ed6
|
LibJS: Rename BoundFunction::m_target_function to match spec name
|
2021-09-25 17:51:30 +02:00 |
|
Linus Groh
|
76eb8fe717
|
LibJS: Move [[Fields]] to ECMAScriptFunctionObject
|
2021-09-25 17:51:30 +02:00 |
|
Linus Groh
|
136451c3af
|
LibJS: Move [[HomeObject]] to ECMAScriptFunctionObject
|
2021-09-25 17:51:30 +02:00 |
|
Idan Horowitz
|
ab594e5f2f
|
LibJS: Convert Value::invoke and VM::call to ThrowCompletionOr
|
2021-09-23 23:59:13 +03:00 |
|
Andreas Kling
|
d42d655853
|
LibJS+LibWeb+Spreadsheet: Upcall visit_edges() via Base typedef
Let's use Base::visit_edges() when calling the base class, to prevent
accidentally skipping over anyone in the inheritance chain.
|
2021-09-11 14:10:11 +02:00 |
|
Andreas Kling
|
466649c1e8
|
LibJS: Mark instance field names in FunctionObject::visit_edges()
|
2021-09-11 14:10:11 +02:00 |
|
davidot
|
def8b44c40
|
LibJS: Add support for public fields in classes
|
2021-09-01 13:39:14 +01:00 |
|
Andreas Kling
|
ba9d5c4d54
|
LibJS: Rename Function => FunctionObject
|
2021-06-27 22:36:04 +02:00 |
|