diff options
author | Andreas Kling <kling@serenityos.org> | 2021-07-03 00:20:52 +0200 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2021-07-03 01:12:12 +0200 |
commit | 1270df257bd043e3b9970d47784bfaf77cc3edf1 (patch) | |
tree | 718bff72ebcb889a000fee002efffb91f9b04e10 /Userland/Libraries/LibJS/Runtime/AbstractOperations.h | |
parent | 52f9aaa823322eedbd30bd37d40fe0f8a50ed6db (diff) | |
download | serenity-1270df257bd043e3b9970d47784bfaf77cc3edf1.zip |
LibJS: Bring the `super` keyword in line with the spec
This patch implements spec-compliant runtime semantics for the following
constructs:
- super.property
- super[property]
The MakeSuperPropertyReference AO is added to support this. :^)
Diffstat (limited to 'Userland/Libraries/LibJS/Runtime/AbstractOperations.h')
-rw-r--r-- | Userland/Libraries/LibJS/Runtime/AbstractOperations.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/Userland/Libraries/LibJS/Runtime/AbstractOperations.h b/Userland/Libraries/LibJS/Runtime/AbstractOperations.h index 652fecbd2b..58f2aadee3 100644 --- a/Userland/Libraries/LibJS/Runtime/AbstractOperations.h +++ b/Userland/Libraries/LibJS/Runtime/AbstractOperations.h @@ -18,6 +18,7 @@ DeclarativeEnvironment* new_declarative_environment(Environment&); ObjectEnvironment* new_object_environment(Object&, bool is_with_environment, Environment*); Environment& get_this_environment(VM&); Object* get_super_constructor(VM&); +Reference make_super_property_reference(GlobalObject&, Value actual_this, StringOrSymbol const& property_key, bool strict); Value require_object_coercible(GlobalObject&, Value); size_t length_of_array_like(GlobalObject&, Object const&); MarkedValueList create_list_from_array_like(GlobalObject&, Value, Function<Result<void, ErrorType>(Value)> = {}); |