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
qv4setobject_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 QV4SETOBJECT_P_H
6#define QV4SETOBJECT_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"
22#include "qv4string_p.h"
23
25
26namespace QV4 {
27
28class ESTable;
29
30namespace Heap {
31
33 void init(ExecutionEngine *engine);
34};
35
36
38 void init(ExecutionEngine *engine);
39};
40
41struct SetObject : Object {
42 static void markObjects(Heap::Base *that, MarkStack *markStack);
43 void init();
44 void destroy();
45 void removeUnmarkedKeys();
46
47 ESTable *esTable;
50};
51
52}
53
54
56{
57 V4_OBJECT2(WeakSetCtor, FunctionObject)
58
59 static ReturnedValue construct(const FunctionObject *f, const Value *argv, int argc, const Value *, bool weakSet);
60
61 static ReturnedValue virtualCallAsConstructor(const FunctionObject *f, const Value *argv, int argc, const Value *);
62 static ReturnedValue virtualCall(const FunctionObject *f, const Value *thisObject, const Value *argv, int argc);
63};
64
66{
67 V4_OBJECT2(SetCtor, WeakSetCtor)
68
69 static ReturnedValue virtualCallAsConstructor(const FunctionObject *f, const Value *argv, int argc, const Value *);
70};
71
73{
74 V4_OBJECT2(SetObject, Object)
77};
78
80{
81 void init(ExecutionEngine *engine, Object *ctor);
82
83 Q_AUTOTEST_EXPORT static ReturnedValue method_add(const FunctionObject *, const Value *thisObject, const Value *argv, int argc);
84 static ReturnedValue method_delete(const FunctionObject *, const Value *thisObject, const Value *argv, int argc);
85 static ReturnedValue method_has(const FunctionObject *, const Value *thisObject, const Value *argv, int argc);
86};
87
88
90{
91 void init(ExecutionEngine *engine, Object *ctor);
92
93 Q_AUTOTEST_EXPORT static ReturnedValue method_add(const FunctionObject *, const Value *thisObject, const Value *argv, int argc);
94 static ReturnedValue method_clear(const FunctionObject *, const Value *thisObject, const Value *argv, int argc);
95 static ReturnedValue method_delete(const FunctionObject *, const Value *thisObject, const Value *argv, int argc);
96 static ReturnedValue method_entries(const FunctionObject *, const Value *thisObject, const Value *argv, int argc);
97 static ReturnedValue method_forEach(const FunctionObject *, const Value *thisObject, const Value *argv, int argc);
98 static ReturnedValue method_has(const FunctionObject *, const Value *thisObject, const Value *argv, int argc);
99 static ReturnedValue method_get_size(const FunctionObject *, const Value *thisObject, const Value *argv, int argc);
100 static ReturnedValue method_values(const FunctionObject *, const Value *thisObject, const Value *argv, int argc);
101};
102
103
104} // namespace QV4
105
106
107QT_END_NAMESPACE
108
109#endif // QV4SETOBJECT_P_H
Definition qjsvalue.h:23
#define V4_NEEDS_DESTROY
#define CHECK_EXCEPTION()
DEFINE_OBJECT_VTABLE(WeakSetCtor)
DEFINE_OBJECT_VTABLE(SetCtor)
DEFINE_OBJECT_VTABLE(SetObject)
void init(ExecutionEngine *engine)
static void markObjects(Heap::Base *that, MarkStack *markStack)
void init(ExecutionEngine *engine)
static ReturnedValue method_get_size(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_has(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
static ReturnedValue method_values(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
static ReturnedValue method_clear(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
void init(ExecutionEngine *engine, Object *ctor)
static ReturnedValue method_delete(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_has(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
void init(ExecutionEngine *engine, Object *ctor)
static ReturnedValue method_delete(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)