1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 22:07:35 +00:00

LibJS: Implement the CanBeHeldWeakly abstract operation

This AO is required for implementing the rest of the stage 3 'Symbol as
WeakMap Keys Proposal'.
This commit is contained in:
Idan Horowitz 2022-06-22 22:15:59 +03:00
parent 8e26edc8de
commit 22a78e8a2c
2 changed files with 20 additions and 0 deletions

View file

@ -24,6 +24,7 @@ ObjectEnvironment* new_object_environment(Object&, bool is_with_environment, Env
FunctionEnvironment* new_function_environment(ECMAScriptFunctionObject&, Object* new_target);
PrivateEnvironment* new_private_environment(VM& vm, PrivateEnvironment* outer);
Environment& get_this_environment(VM&);
bool can_be_held_weakly(Value);
Object* get_super_constructor(VM&);
ThrowCompletionOr<Reference> make_super_property_reference(GlobalObject&, Value actual_this, PropertyKey const&, bool strict);
ThrowCompletionOr<Value> require_object_coercible(GlobalObject&, Value);