• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #ifndef ECMASCRIPT_BUILTINS_BUILTINS_MAP_H
17 #define ECMASCRIPT_BUILTINS_BUILTINS_MAP_H
18 
19 #include "ecmascript/base/builtins_base.h"
20 #include "ecmascript/ecma_runtime_call_info.h"
21 
22 namespace panda::ecmascript::builtins {
23 class BuiltinsMap : public base::BuiltinsBase {
24 public:
25     // 23.1.1.1
26     static JSTaggedValue MapConstructor(EcmaRuntimeCallInfo *argv);
27     // 23.1.2.2
28     static JSTaggedValue Species(EcmaRuntimeCallInfo *argv);
29     // 23.1.3.1
30     static JSTaggedValue Clear(EcmaRuntimeCallInfo *argv);
31     // 23.1.3.3
32     static JSTaggedValue Delete(EcmaRuntimeCallInfo *argv);
33     // 23.1.3.4
34     static JSTaggedValue Entries(EcmaRuntimeCallInfo *argv);
35     // 23.1.3.5
36     static JSTaggedValue ForEach(EcmaRuntimeCallInfo *argv);
37     // 23.1.3.6
38     static JSTaggedValue Get(EcmaRuntimeCallInfo *argv);
39     // 23.1.3.7
40     static JSTaggedValue Has(EcmaRuntimeCallInfo *argv);
41     // 23.1.3.8
42     static JSTaggedValue Keys(EcmaRuntimeCallInfo *argv);
43     // 23.1.3.9
44     static JSTaggedValue Set(EcmaRuntimeCallInfo *argv);
45     // 23.1.3.10
46     static JSTaggedValue GetSize(EcmaRuntimeCallInfo *argv);
47     // 23.1.3.11
48     static JSTaggedValue Values(EcmaRuntimeCallInfo *argv);
49 
50     // es12 24.1.1.2 AddEntriesFromIterable ( target, iterable, adder )
51     static JSTaggedValue AddEntriesFromIterable(JSThread *thread, const JSHandle<JSObject> &target,
52                                                 const JSHandle<JSTaggedValue> &iterable,
53                                                 const JSHandle<JSTaggedValue> &adder, ObjectFactory *factory);
54 };
55 }  // namespace panda::ecmascript::builtins
56 #endif  // ECMASCRIPT_BUILTINS_BUILTINS_MAP_H
57