Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qv4generatorobject_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
4#ifndef QV4GENERATOROBJECT_P_H
5#define QV4GENERATOROBJECT_P_H
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 "qv4functionobject_p.h"
19#include "qv4stackframe_p.h"
20
22
23namespace QV4 {
24
32
33namespace Heap {
34
38
40 void init(QV4::ExecutionContext *scope, Function *function, QV4::String *name = nullptr) {
41 ArrowFunction::init(scope, function, name);
42 }
43};
44
47
49 void init();
50};
51
52#define GeneratorObjectMembers(class, Member) \
53 Member(class, Pointer, ExecutionContext *, context) \
54 Member(class, NoMark, GeneratorState, state) \
55 Member(class, NoMark, JSTypesStackFrame, cppFrame) \
56 Member(class, Pointer, ArrayObject *, values) \
57 Member(class, Pointer, ArrayObject *, jsFrame)
58
62
63}
64
66{
68
69 static ReturnedValue virtualCallAsConstructor(const FunctionObject *f, const Value *argv, int argc, const Value *);
70 static ReturnedValue virtualCall(const FunctionObject *f, const Value *thisObject, const Value *argv, int argc);
71};
72
74{
77
78 static Heap::FunctionObject *create(ExecutionContext *scope, Function *function);
79 static ReturnedValue virtualCall(const FunctionObject *f, const Value *thisObject, const Value *argv, int argc);
80};
81
83{
86
87 static Heap::FunctionObject *create(ExecutionContext *scope, Function *function, Object *homeObject, String *name);
88 static ReturnedValue virtualCall(const FunctionObject *f, const Value *thisObject, const Value *argv, int argc);
89};
90
92{
93 void init(ExecutionEngine *engine, Object *ctor);
94
95 static ReturnedValue method_next(const FunctionObject *, const Value *thisObject, const Value *argv, int argc);
96 static ReturnedValue method_return(const FunctionObject *, const Value *thisObject, const Value *argv, int argc);
97 static ReturnedValue method_throw(const FunctionObject *, const Value *thisObject, const Value *argv, int argc);
98};
99
100
109
110}
111
113
114#endif // QV4GENERATORFUNCTION_P_H
115
Combined button and popup list for selecting options.
quint64 ReturnedValue
GLfloat GLfloat f
GLuint name
SSL_CTX int void * arg
#define Q_MANAGED_TYPE(type)
#define V4_INTERNALCLASS(c)
#define DECLARE_HEAP_OBJECT(name, base)
#define DECLARE_MARKOBJECTS(class)
#define V4_PROTOTYPE(p)
#define V4_OBJECT2(DataClass, superClass)
future resume()
view create()
static ReturnedValue method_next(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
static ReturnedValue method_return(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
void init(ExecutionEngine *engine, Object *ctor)
static ReturnedValue method_throw(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
void init(QV4::ExecutionContext *scope, Function *function, QV4::String *name=nullptr)
void init(ExecutionEngine *engine)
void init(QV4::ExecutionContext *scope, Function *function, QV4::String *name=nullptr)
V4_NEEDS_DESTROY Heap::ExecutionContext * scope() const
ExecutionEngine * engine() const
static constexpr VTable::CallAsConstructor virtualCallAsConstructor
static constexpr VTable::Call virtualCall