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
qv4module_p.h
Go to the documentation of this file.
1// Copyright (C) 2018 The Qt Company Ltd.
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#ifndef QV4MODULE
5#define QV4MODULE
6
7//
8// W A R N I N G
9// -------------
10//
11// This file is not part of the Qt API. It exists purely as an
12// implementation detail. This header file may change from version to
13// version without notice, or even be removed.
14//
15// We mean it.
16//
17
18#include "qv4object_p.h"
19#include "qv4context_p.h"
20
22
23namespace QV4 {
24
25namespace Heap {
26
27#define ModuleMembers(class, Member)
28 Member(class, NoMark, ExecutableCompilationUnit *, unit)
29 Member(class, Pointer, CallContext *, scope)
30 Member(class, HeapValue, HeapValue, self)
31 Member(class, NoMark, bool, evaluated)
32
34 DECLARE_MARKOBJECTS(Module)
35
36 void init(ExecutionEngine *engine, ExecutableCompilationUnit *moduleUnit);
37};
38
39}
40
41struct Q_QML_EXPORT Module : public Object {
43
44 void evaluate();
45 const Value *resolveExport(PropertyKey key) const;
46
49 static bool virtualHasProperty(const Managed *m, PropertyKey id);
50 static bool virtualPreventExtensions(Managed *);
52 static bool virtualPut(Managed *, PropertyKey, const Value &, Value *);
55 static Heap::Object *virtualGetPrototypeOf(const Managed *);
56 static bool virtualSetPrototypeOf(Managed *, const Object *proto);
57 static bool virtualIsExtensible(const Managed *);
58};
59
60}
61
62QT_END_NAMESPACE
63
64#endif // QV4MODULE
DECLARE_EXPORTED_HEAP_OBJECT(Module, Object)
Definition qv4module_p.h:33
Definition qjsvalue.h:23
DEFINE_OBJECT_VTABLE(Module)