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
qv4runtimecodegen_p.h
Go to the documentation of this file.
1// Copyright (C) 2017 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#ifndef QV4RUNTIMECODEGEN_P_H
4#define QV4RUNTIMECODEGEN_P_H
5
6//
7// W A R N I N G
8// -------------
9//
10// This file is not part of the Qt API. It exists purely as an
11// implementation detail. This header file may change from version to
12// version without notice, or even be removed.
13//
14// We mean it.
15//
16
17#include <private/qv4codegen_p.h>
18
20
21namespace QV4 {
22
24{
25public:
26 RuntimeCodegen(ExecutionEngine *engine, Compiler::JSUnitGenerator *jsUnitGenerator, bool strict)
28 , engine(engine)
29 {}
30
32 const QString &sourceCode, QQmlJS::AST::FunctionExpression *ast,
33 Compiler::Module *module);
34
35 void throwSyntaxError(const QQmlJS::SourceLocation &loc, const QString &detail) override;
36 void throwReferenceError(const QQmlJS::SourceLocation &loc, const QString &detail) override;
37
38private:
39 ExecutionEngine *engine;
40};
41
42}
43
44QT_END_NAMESPACE
45
46#endif // QV4CODEGEN_P_H
void generateFromFunctionExpression(const QString &sourceCode, QQmlJS::AST::FunctionExpression *ast, Compiler::Module *module)
void throwSyntaxError(const QQmlJS::SourceLocation &loc, const QString &detail) override
void throwReferenceError(const QQmlJS::SourceLocation &loc, const QString &detail) override
RuntimeCodegen(ExecutionEngine *engine, Compiler::JSUnitGenerator *jsUnitGenerator, bool strict)
Combined button and popup list for selecting options.
Definition qjsvalue.h:23
Scoped< FunctionObject > ScopedFunctionObject
Scoped< Object > ScopedObject
Scoped< String > ScopedString
@ Attr_ReadOnly
DEFINE_OBJECT_VTABLE(ConstructorFunction)
DEFINE_OBJECT_VTABLE(BoundConstructor)
DEFINE_OBJECT_VTABLE(FunctionPrototype)
DEFINE_OBJECT_VTABLE(FunctionObject)
static ReturnedValue qfoDoCall(const QV4::JavaScriptFunctionObject *fo, const QV4::Value *thisObject, const QV4::Value *argv, int argc)
DEFINE_OBJECT_VTABLE(IndexedBuiltinFunction)
DEFINE_OBJECT_VTABLE(JavaScriptFunctionObject)
DEFINE_OBJECT_VTABLE(ArrowFunction)
DEFINE_OBJECT_VTABLE(ScriptFunction)
DEFINE_OBJECT_VTABLE(BoundFunction)
DEFINE_OBJECT_VTABLE(FunctionCtor)
DEFINE_OBJECT_VTABLE(DefaultClassConstructorFunction)
DEFINE_OBJECT_VTABLE(MemberFunction)
DEFINE_OBJECT_VTABLE(DynamicFunctionObject)
#define CHECK_EXCEPTION()
static bool isNonStrictArgumentsObject(Managed *m)
static Heap::MemberData * allocate(QV4::ExecutionEngine *e, uint n, Heap::MemberData *old=nullptr)
Scope(ExecutionEngine *e)
Heap::InternalClass * classForConstructor() const