Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qv4mapobject_p.h
Go to the documentation of this file.
1// Copyright (C) 2018 Crimson AS <info@crimson.no>
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3// Qt-Security score:significant
4
5#ifndef QV4MAPOBJECT_P_H
6#define QV4MAPOBJECT_P_H
7
8//
9// W A R N I N G
10// -------------
11//
12// This file is not part of the Qt API. It exists purely as an
13// implementation detail. This header file may change from version to
14// version without notice, or even be removed.
15//
16// We mean it.
17//
18
19#include "qv4object_p.h"
21
23
24namespace QV4 {
25
26class ESTable;
27
28namespace Heap {
29
31 void init(ExecutionEngine *engine);
32};
33
35 void init(ExecutionEngine *engine);
36};
37
38struct MapObject : Object {
39 static void markObjects(Heap::Base *that, MarkStack *markStack);
40 void init();
41 void destroy();
42 void removeUnmarkedKeys();
43
45 ESTable *esTable;
47};
48
49}
50
52{
53 V4_OBJECT2(WeakMapCtor, FunctionObject)
54
55 static ReturnedValue construct(const FunctionObject *f, const Value *argv, int argc, const Value *, bool weakMap);
56
57 static ReturnedValue virtualCallAsConstructor(const FunctionObject *f, const Value *argv, int argc, const Value *);
58 static ReturnedValue virtualCall(const FunctionObject *f, const Value *thisObject, const Value *argv, int argc);
59};
60
62{
63 V4_OBJECT2(MapCtor, WeakMapCtor)
64
65 static ReturnedValue virtualCallAsConstructor(const FunctionObject *f, const Value *argv, int argc, const Value *);
66};
67
69{
70 V4_OBJECT2(MapObject, Object)
73};
74
76{
77 void init(ExecutionEngine *engine, Object *ctor);
78
79 static ReturnedValue method_delete(const FunctionObject *, const Value *thisObject, const Value *argv, int argc);
80 static ReturnedValue method_get(const FunctionObject *, const Value *thisObject, const Value *argv, int argc);
81 static ReturnedValue method_has(const FunctionObject *, const Value *thisObject, const Value *argv, int argc);
82 Q_AUTOTEST_EXPORT static ReturnedValue method_set(const FunctionObject *, const Value *thisObject, const Value *argv, int argc);
83};
84
86{
87 void init(ExecutionEngine *engine, Object *ctor);
88
89 static ReturnedValue method_clear(const FunctionObject *, const Value *thisObject, const Value *argv, int argc);
90 static ReturnedValue method_delete(const FunctionObject *, const Value *thisObject, const Value *argv, int argc);
91 static ReturnedValue method_entries(const FunctionObject *, const Value *thisObject, const Value *argv, int argc);
92 static ReturnedValue method_forEach(const FunctionObject *, const Value *thisObject, const Value *argv, int argc);
93 static ReturnedValue method_get(const FunctionObject *, const Value *thisObject, const Value *argv, int argc);
94 static ReturnedValue method_has(const FunctionObject *, const Value *thisObject, const Value *argv, int argc);
95 static ReturnedValue method_keys(const FunctionObject *, const Value *thisObject, const Value *argv, int argc);
96 Q_AUTOTEST_EXPORT static ReturnedValue method_set(const FunctionObject *, const Value *thisObject, const Value *argv, int argc);
97 static ReturnedValue method_get_size(const FunctionObject *, const Value *thisObject, const Value *argv, int argc);
98 static ReturnedValue method_values(const FunctionObject *, const Value *thisObject, const Value *argv, int argc);
99};
100
101
102} // namespace QV4
103
104
105QT_END_NAMESPACE
106
107#endif // QV4MAPOBJECT_P_H
Definition qjsvalue.h:23
#define V4_NEEDS_DESTROY
DEFINE_OBJECT_VTABLE(WeakMapCtor)
DEFINE_OBJECT_VTABLE(MapObject)
DEFINE_OBJECT_VTABLE(MapCtor)
#define CHECK_EXCEPTION()
void init(ExecutionEngine *engine)
static void markObjects(Heap::Base *that, MarkStack *markStack)
void init(ExecutionEngine *engine)
static ReturnedValue method_keys(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
static ReturnedValue method_get(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
static ReturnedValue method_delete(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
static ReturnedValue method_values(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
void init(ExecutionEngine *engine, Object *ctor)
static ReturnedValue method_clear(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
static ReturnedValue method_entries(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
static ReturnedValue method_forEach(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
static ReturnedValue method_get_size(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
static ReturnedValue method_has(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
static ReturnedValue virtualCall(const FunctionObject *f, const Value *thisObject, const Value *argv, int argc)
static ReturnedValue virtualCallAsConstructor(const FunctionObject *f, const Value *argv, int argc, const Value *)
static ReturnedValue method_get(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
static ReturnedValue method_has(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
static ReturnedValue method_delete(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
void init(ExecutionEngine *engine, Object *ctor)