diff options
author | Linus Groh <mail@linusgroh.de> | 2021-06-19 21:45:00 +0100 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2021-06-20 12:12:39 +0200 |
commit | 55db9539a521e8355ef842d86413943531a885b4 (patch) | |
tree | 198d7faf07a9127917934cc2b72e441169e6be36 /Userland/Libraries/LibJS/Runtime/AbstractOperations.h | |
parent | c03a3dc5b72cc610dcdc629cabe11e31a7016805 (diff) | |
download | serenity-55db9539a521e8355ef842d86413943531a885b4.zip |
LibJS: Introduce AbstractOperations.{cpp,h} and move various AOs there
Value.{cpp,h} has become a dumping ground, let's change that.
Things that are directly related to Values (e.g. bitwise/binary ops,
equality related functions) can remain, but everything else that's not a
Value or Object method and globally required (not just a static function
somewhere) is being moved.
Also convert to east-const while we're here.
I haven't touched IteratorOperations.{cpp,h}, it seems fine to still
have those separately.
Diffstat (limited to 'Userland/Libraries/LibJS/Runtime/AbstractOperations.h')
-rw-r--r-- | Userland/Libraries/LibJS/Runtime/AbstractOperations.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/Userland/Libraries/LibJS/Runtime/AbstractOperations.h b/Userland/Libraries/LibJS/Runtime/AbstractOperations.h new file mode 100644 index 0000000000..df9ecf40df --- /dev/null +++ b/Userland/Libraries/LibJS/Runtime/AbstractOperations.h @@ -0,0 +1,21 @@ +/* + * Copyright (c) 2020-2021, Linus Groh <linusg@serenityos.org> + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#pragma once + +#include <AK/Forward.h> +#include <LibJS/Forward.h> +#include <LibJS/Runtime/Value.h> + +namespace JS { + +Value require_object_coercible(GlobalObject&, Value); +Function* get_method(GlobalObject& global_object, Value, PropertyName const&); +size_t length_of_array_like(GlobalObject&, Object const&); +MarkedValueList create_list_from_array_like(GlobalObject&, Value, AK::Function<Result<void, ErrorType>(Value)> = {}); +Function* species_constructor(GlobalObject&, Object const&, Function& default_constructor); + +} |