19#include <QtCore/qglobal.h>
20#include <private/qv4compilerglobal_p.h>
23#include <qtqmlglobal.h>
24#include <private/qtqmlglobal_p.h>
29#define ENABLE_YARR_JIT 1
31#define ENABLE_ASSEMBLER 1
33#define ENABLE_YARR_JIT 0
34#define ENABLE_ASSEMBLER 0
38#if defined(Q_OS_QNX) && defined(_CPPLIB_VER)
53 struct JSUnitGenerator;
66 struct StringOrSymbol;
70 struct ObjectPrototype;
72 struct ExecutionContext;
75 struct ScriptFunction;
83 struct FunctionObject;
84 struct JavaScriptFunctionObject;
86 struct ArgumentsObject;
87 struct QObjectWrapper;
90 struct UrlSearchParamsObject;
94 struct SharedArrayBuffer;
102 struct PromiseObject;
103 struct PromiseCapability;
105 template <
typename T, size_t>
struct Pointer;
109struct JSTypesStackFrame;
110struct MetaTypesStackFrame;
112class ExecutableAllocator;
114struct StringOrSymbol;
118struct ObjectPrototype;
119struct ObjectIterator;
120struct ExecutionContext;
139struct FunctionObject;
143struct ExecutionEngine;
144struct QObjectWrapper;
149struct SharedArrayBuffer;
163template<
typename T>
struct Scoped;
165typedef Scoped<StringOrSymbol> ScopedStringOrSymbol;
167typedef Scoped<ArrayObject> ScopedArrayObject;
168typedef Scoped<FunctionObject> ScopedFunctionObject;
169typedef Scoped<ExecutionContext> ScopedContext;
171struct PersistentValueStorage;
172class PersistentValue;
176struct IdentifierTable;
183 Attr_NotWritable = 0x2,
184 Attr_NotEnumerable = 0x4,
185 Attr_NotConfigurable = 0x8,
186 Attr_ReadOnly = Attr_NotWritable|Attr_NotEnumerable|Attr_NotConfigurable,
187 Attr_ReadOnly_ButConfigurable = Attr_NotWritable|Attr_NotEnumerable,
283struct Q_QML_EXPORT StackFrame {
289typedef QList<StackFrame> StackTrace;
293enum class CallResultDestination {
Combined button and popup list for selecting options.
DECLARE_HEAP_OBJECT(StrictArgumentsObject, Object)
DECLARE_EXPORTED_HEAP_OBJECT(Object, Base)
DECLARE_HEAP_OBJECT(ArgumentsObject, Object)
int qYouForgotTheQ_MANAGED_Macro(T, T)
void qYouForgotTheQ_MANAGED_Macro(T1, T2)
Q_DECLARE_TYPEINFO(QDateTime::Data, Q_RELOCATABLE_TYPE)
DEFINE_OBJECT_VTABLE(StrictArgumentsObject)
DEFINE_OBJECT_VTABLE(ArgumentsObject)
#define V4_MANAGED_SIZE_TEST
#define V4_MANAGED_ITSELF(DataClass, superClass)
#define Q_MANAGED_TYPE(type)
#define V4_INTERNALCLASS(c)
static qint64 virtualGetLength(const Managed *m)
static bool virtualDefineOwnProperty(Managed *m, PropertyKey id, const Property *desc, PropertyAttributes attrs)
Heap::CallContext * context() const
static ReturnedValue virtualGet(const Managed *m, PropertyKey id, const Value *receiver, bool *hasProperty)
static OwnPropertyKeyIterator * virtualOwnPropertyKeys(const Object *m, Value *target)
static bool isNonStrictArgumentsObject(Managed *m)
static bool virtualDeleteProperty(Managed *m, PropertyKey id)
bool fullyCreated() const
void removeMapping(uint arg)
static PropertyAttributes virtualGetOwnProperty(const Managed *m, PropertyKey id, Property *p)
bool isMapped(uint arg) const
static bool virtualPut(Managed *m, PropertyKey id, const Value &value, Value *receiver)
static bool virtualDefineOwnProperty(Managed *m, PropertyKey id, const Property *p, PropertyAttributes attrs)
static qint64 virtualGetLength(const Managed *m)
QStringList toQStringList() const
void init(const QStringList &list)
PropertyKey next(const Object *o, Property *pd=nullptr, PropertyAttributes *attrs=nullptr) override