OpenCoverage

qv4qobjectwrapper_p.h

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper_p.h
Source codeSwitch to Preprocessed file
LineSourceCount
1/****************************************************************************-
2**-
3** Copyright (C) 2016 The Qt Company Ltd.-
4** Contact: https://www.qt.io/licensing/-
5**-
6** This file is part of the QtQml module of the Qt Toolkit.-
7**-
8** $QT_BEGIN_LICENSE:LGPL$-
9** Commercial License Usage-
10** Licensees holding valid commercial Qt licenses may use this file in-
11** accordance with the commercial license agreement provided with the-
12** Software or, alternatively, in accordance with the terms contained in-
13** a written agreement between you and The Qt Company. For licensing terms-
14** and conditions see https://www.qt.io/terms-conditions. For further-
15** information use the contact form at https://www.qt.io/contact-us.-
16**-
17** GNU Lesser General Public License Usage-
18** Alternatively, this file may be used under the terms of the GNU Lesser-
19** General Public License version 3 as published by the Free Software-
20** Foundation and appearing in the file LICENSE.LGPL3 included in the-
21** packaging of this file. Please review the following information to-
22** ensure the GNU Lesser General Public License version 3 requirements-
23** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.-
24**-
25** GNU General Public License Usage-
26** Alternatively, this file may be used under the terms of the GNU-
27** General Public License version 2.0 or (at your option) the GNU General-
28** Public license version 3 or any later version approved by the KDE Free-
29** Qt Foundation. The licenses are as published by the Free Software-
30** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3-
31** included in the packaging of this file. Please review the following-
32** information to ensure the GNU General Public License requirements will-
33** be met: https://www.gnu.org/licenses/gpl-2.0.html and-
34** https://www.gnu.org/licenses/gpl-3.0.html.-
35**-
36** $QT_END_LICENSE$-
37**-
38****************************************************************************/-
39-
40#ifndef QV4QOBJECTWRAPPER_P_H-
41#define QV4QOBJECTWRAPPER_P_H-
42-
43//-
44// W A R N I N G-
45// --------------
46//-
47// This file is not part of the Qt API. It exists purely as an-
48// implementation detail. This header file may change from version to-
49// version without notice, or even be removed.-
50//-
51// We mean it.-
52//-
53-
54#include <QtCore/qglobal.h>-
55#include <QtCore/qmetatype.h>-
56#include <QtCore/qpair.h>-
57#include <QtCore/qhash.h>-
58#include <private/qhashedstring_p.h>-
59#include <private/qqmldata_p.h>-
60#include <private/qqmlpropertycache_p.h>-
61#include <private/qintrusivelist_p.h>-
62-
63#include <private/qv4value_p.h>-
64#include <private/qv4functionobject_p.h>-
65-
66QT_BEGIN_NAMESPACE-
67-
68class QObject;-
69class QQmlData;-
70class QQmlPropertyCache;-
71class QQmlPropertyData;-
72-
73namespace QV4 {-
74struct QObjectSlotDispatcher;-
75-
76namespace Heap {-
77-
78struct QQmlValueTypeWrapper;-
79-
80struct Q_QML_EXPORT QObjectWrapper : Object {-
81 void init(QObject *object)-
82 {-
83 Object::init();-
84 qObj.init(object);-
85 }
executed 536134 times by 141 tests: end of block
Executed by:
  • tst_bindingdependencyapi
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qjsengine
  • tst_qjsonbinding
  • tst_qjsvalue
  • tst_qmlcachegen
  • tst_qmldiskcache
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconnections
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmldebugjs
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlexpression
  • tst_qqmlfileselector
  • tst_qqmlimport
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • ...
536134
86-
87 void destroy() {-
88 qObj.destroy();-
89 Object::destroy();-
90 }
executed 535986 times by 141 tests: end of block
Executed by:
  • tst_bindingdependencyapi
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qjsengine
  • tst_qjsonbinding
  • tst_qjsvalue
  • tst_qmlcachegen
  • tst_qmldiskcache
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconnections
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmldebugjs
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlexpression
  • tst_qqmlfileselector
  • tst_qqmlimport
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • ...
535986
91-
92 QObject *object() const { return qObj.data(); }
executed 13947464 times by 141 tests: return qObj.data();
Executed by:
  • tst_bindingdependencyapi
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qjsengine
  • tst_qjsonbinding
  • tst_qjsvalue
  • tst_qmlcachegen
  • tst_qmldiskcache
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconnections
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmldebugjs
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlexpression
  • tst_qqmlfileselector
  • tst_qqmlimport
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • ...
13947464
93 static void markObjects(Heap::Base *that, MarkStack *markStack);-
94-
95private:-
96 QQmlQPointer<QObject> qObj;-
97};-
98-
99#define QObjectMethodMembers(class, Member) \-
100 Member(class, Pointer, QQmlValueTypeWrapper *, valueTypeWrapper) \-
101 Member(class, NoMark, QQmlQPointer<QObject>, qObj) \-
102 Member(class, NoMark, QQmlPropertyCache *, _propertyCache) \-
103 Member(class, NoMark, int, index)-
104-
105DECLARE_HEAP_OBJECT(QObjectMethod, FunctionObject) {-
106 DECLARE_MARKOBJECTS(QObjectMethod);
executed 104 times by 5 tests: end of block
Executed by:
  • tst_examples
  • tst_qqmlecmascript
  • tst_qqmlqt
  • tst_qquicklayouts
  • tst_qquickvisualdatamodel
never executed: o->valueTypeWrapper.heapObject()->mark(stack);
o->valueTypeWrapperDescription
TRUEnever evaluated
FALSEevaluated 104 times by 5 tests
Evaluated by:
  • tst_examples
  • tst_qqmlecmascript
  • tst_qqmlqt
  • tst_qquicklayouts
  • tst_qquickvisualdatamodel
0-104
107-
108 void init(QV4::ExecutionContext *scope);-
109 void destroy()-
110 {-
111 setPropertyCache(nullptr);-
112 qObj.destroy();-
113 FunctionObject::destroy();-
114 }
executed 68114 times by 62 tests: end of block
Executed by:
  • tst_examples
  • tst_flickableinterop
  • tst_qjsengine
  • tst_qmlcachegen
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmllocale
  • tst_qqmlmetatype
  • tst_qqmlproperty
  • tst_qqmlpropertymap
  • tst_qqmlqt
  • tst_qqmlsqldatabase
  • tst_qqmlstatemachine
  • tst_qqmltimer
  • tst_qqmltranslation
  • ...
68114
115-
116 QQmlPropertyCache *propertyCache() const { return _propertyCache; }
executed 130504 times by 56 tests: return _propertyCache;
Executed by:
  • tst_examples
  • tst_flickableinterop
  • tst_qjsengine
  • tst_qmlcachegen
  • tst_qqmlcomponent
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmllocale
  • tst_qqmlmetatype
  • tst_qqmlproperty
  • tst_qqmlpropertymap
  • tst_qqmlqt
  • tst_qqmlsqldatabase
  • tst_qqmltimer
  • tst_qqmltranslation
  • tst_qqmltypeloader
  • tst_qqmlvaluetypeproviders
  • ...
130504
117 void setPropertyCache(QQmlPropertyCache *c) {-
118 if (c)
cDescription
TRUEevaluated 65298 times by 61 tests
Evaluated by:
  • tst_examples
  • tst_flickableinterop
  • tst_qjsengine
  • tst_qmlcachegen
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmllocale
  • tst_qqmlmetatype
  • tst_qqmlproperty
  • tst_qqmlqt
  • tst_qqmlsqldatabase
  • tst_qqmlstatemachine
  • tst_qqmltimer
  • tst_qqmltranslation
  • tst_qqmltypeloader
  • ...
FALSEevaluated 70976 times by 62 tests
Evaluated by:
  • tst_examples
  • tst_flickableinterop
  • tst_qjsengine
  • tst_qmlcachegen
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmllocale
  • tst_qqmlmetatype
  • tst_qqmlproperty
  • tst_qqmlpropertymap
  • tst_qqmlqt
  • tst_qqmlsqldatabase
  • tst_qqmlstatemachine
  • tst_qqmltimer
  • tst_qqmltranslation
  • ...
65298-70976
119 c->addref();
executed 65298 times by 61 tests: c->addref();
Executed by:
  • tst_examples
  • tst_flickableinterop
  • tst_qjsengine
  • tst_qmlcachegen
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmllocale
  • tst_qqmlmetatype
  • tst_qqmlproperty
  • tst_qqmlqt
  • tst_qqmlsqldatabase
  • tst_qqmlstatemachine
  • tst_qqmltimer
  • tst_qqmltranslation
  • tst_qqmltypeloader
  • ...
65298
120 if (_propertyCache)
_propertyCacheDescription
TRUEevaluated 65252 times by 61 tests
Evaluated by:
  • tst_examples
  • tst_flickableinterop
  • tst_qjsengine
  • tst_qmlcachegen
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmllocale
  • tst_qqmlmetatype
  • tst_qqmlproperty
  • tst_qqmlqt
  • tst_qqmlsqldatabase
  • tst_qqmlstatemachine
  • tst_qqmltimer
  • tst_qqmltranslation
  • tst_qqmltypeloader
  • ...
FALSEevaluated 71022 times by 62 tests
Evaluated by:
  • tst_examples
  • tst_flickableinterop
  • tst_qjsengine
  • tst_qmlcachegen
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmllocale
  • tst_qqmlmetatype
  • tst_qqmlproperty
  • tst_qqmlpropertymap
  • tst_qqmlqt
  • tst_qqmlsqldatabase
  • tst_qqmlstatemachine
  • tst_qqmltimer
  • tst_qqmltranslation
  • ...
65252-71022
121 _propertyCache->release();
executed 65252 times by 61 tests: _propertyCache->release();
Executed by:
  • tst_examples
  • tst_flickableinterop
  • tst_qjsengine
  • tst_qmlcachegen
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmllocale
  • tst_qqmlmetatype
  • tst_qqmlproperty
  • tst_qqmlqt
  • tst_qqmlsqldatabase
  • tst_qqmlstatemachine
  • tst_qqmltimer
  • tst_qqmltranslation
  • tst_qqmltypeloader
  • ...
65252
122 _propertyCache = c;-
123 }
executed 136274 times by 62 tests: end of block
Executed by:
  • tst_examples
  • tst_flickableinterop
  • tst_qjsengine
  • tst_qmlcachegen
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmllocale
  • tst_qqmlmetatype
  • tst_qqmlproperty
  • tst_qqmlpropertymap
  • tst_qqmlqt
  • tst_qqmlsqldatabase
  • tst_qqmlstatemachine
  • tst_qqmltimer
  • tst_qqmltranslation
  • ...
136274
124-
125 const QMetaObject *metaObject();-
126 QObject *object() const { return qObj.data(); }
executed 132492 times by 62 tests: return qObj.data();
Executed by:
  • tst_examples
  • tst_flickableinterop
  • tst_qjsengine
  • tst_qmlcachegen
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmllocale
  • tst_qqmlmetatype
  • tst_qqmlproperty
  • tst_qqmlpropertymap
  • tst_qqmlqt
  • tst_qqmlsqldatabase
  • tst_qqmlstatemachine
  • tst_qqmltimer
  • tst_qqmltranslation
  • ...
132492
127 void setObject(QObject *o) { qObj = o; }
executed 67816 times by 62 tests: end of block
Executed by:
  • tst_examples
  • tst_flickableinterop
  • tst_qjsengine
  • tst_qmlcachegen
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmllocale
  • tst_qqmlmetatype
  • tst_qqmlproperty
  • tst_qqmlpropertymap
  • tst_qqmlqt
  • tst_qqmlsqldatabase
  • tst_qqmlstatemachine
  • tst_qqmltimer
  • tst_qqmltranslation
  • ...
67816
128-
129};-
130-
131struct QMetaObjectWrapper : FunctionObject {-
132 const QMetaObject* metaObject;-
133 QQmlPropertyData *constructors;-
134 int constructorCount;-
135-
136 void init(const QMetaObject* metaObject);-
137 void destroy();-
138 void ensureConstructorsCache();-
139};-
140-
141struct QmlSignalHandler : Object {-
142 void init(QObject *object, int signalIndex);-
143 void destroy() {-
144 qObj.destroy();-
145 Object::destroy();-
146 }
executed 14 times by 1 test: end of block
Executed by:
  • tst_qqmlecmascript
14
147 int signalIndex;-
148-
149 QObject *object() const { return qObj.data(); }
executed 10 times by 1 test: return qObj.data();
Executed by:
  • tst_qqmlecmascript
10
150 void setObject(QObject *o) { qObj = o; }
executed 14 times by 1 test: end of block
Executed by:
  • tst_qqmlecmascript
14
151-
152private:-
153 QQmlQPointer<QObject> qObj;-
154};-
155-
156}-
157-
158struct Q_QML_EXPORT QObjectWrapper : public Object-
159{-
160 V4_OBJECT2(QObjectWrapper, Object)
executed 12965255 times by 153 tests: end of block
Executed by:
  • tst_bindingdependencyapi
  • tst_drawingmodes
  • tst_ecmascripttests
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsonbinding
  • tst_qjsvalue
  • tst_qjsvalueiterator
  • tst_qmlcachegen
  • tst_qmldiskcache
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconnections
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmldebugclient
  • tst_qqmldebugjs
  • tst_qqmldebuglocal
  • tst_qqmldebugservice
  • tst_qqmlecmascript
  • tst_qqmlenginecleanup
  • ...
never executed: end of block
executed 19292649 times by 153 tests: return &static_vtbl;
Executed by:
  • tst_bindingdependencyapi
  • tst_drawingmodes
  • tst_ecmascripttests
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsonbinding
  • tst_qjsvalue
  • tst_qjsvalueiterator
  • tst_qmlcachegen
  • tst_qmldiskcache
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconnections
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmldebugclient
  • tst_qqmldebugjs
  • tst_qqmldebuglocal
  • tst_qqmldebugservice
  • tst_qqmlecmascript
  • tst_qqmlenginecleanup
  • ...
executed 13815737 times by 141 tests: return static_cast<QV4::Heap::QObjectWrapper *>(m());
Executed by:
  • tst_bindingdependencyapi
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qjsengine
  • tst_qjsonbinding
  • tst_qjsvalue
  • tst_qmlcachegen
  • tst_qmldiskcache
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconnections
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmldebugjs
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlexpression
  • tst_qqmlfileselector
  • tst_qqmlimport
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • ...
executed 13729819 times by 141 tests: return dptr;
Executed by:
  • tst_bindingdependencyapi
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qjsengine
  • tst_qjsonbinding
  • tst_qjsvalue
  • tst_qmlcachegen
  • tst_qmldiskcache
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconnections
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmldebugjs
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlexpression
  • tst_qqmlfileselector
  • tst_qqmlimport
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • ...
0-19292649
161 V4_NEEDS_DESTROY
executed 535326 times by 141 tests: end of block
Executed by:
  • tst_bindingdependencyapi
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qjsengine
  • tst_qjsonbinding
  • tst_qjsvalue
  • tst_qmlcachegen
  • tst_qmldiskcache
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconnections
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmldebugjs
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlexpression
  • tst_qqmlfileselector
  • tst_qqmlimport
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • ...
535326
162-
163 enum RevisionMode { IgnoreRevision, CheckRevision };-
164-
165 static void initializeBindings(ExecutionEngine *engine);-
166-
167 QObject *object() const { return d()->object(); }
executed 453323 times by 111 tests: return d()->object();
Executed by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qmlcachegen
  • tst_qmldiskcache
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconnections
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmllistreference
  • tst_qqmlmetaobject
  • tst_qqmlnotifier
  • tst_qqmlproperty
  • ...
453323
168-
169 ReturnedValue getQmlProperty(QQmlContextData *qmlContext, String *name, RevisionMode revisionMode, bool *hasProperty = nullptr, bool includeImports = false) const;-
170 static ReturnedValue getQmlProperty(ExecutionEngine *engine, QQmlContextData *qmlContext, QObject *object, String *name, RevisionMode revisionMode, bool *hasProperty = nullptr);-
171-
172 static bool setQmlProperty(ExecutionEngine *engine, QQmlContextData *qmlContext, QObject *object, String *name, RevisionMode revisionMode, const Value &value);-
173-
174 static ReturnedValue wrap(ExecutionEngine *engine, QObject *object);-
175 static void markWrapper(QObject *object, MarkStack *markStack);-
176-
177 using Object::get;-
178-
179 static ReturnedValue getProperty(ExecutionEngine *engine, QObject *object, int propertyIndex, bool captureRequired);-
180 static void setProperty(ExecutionEngine *engine, QObject *object, int propertyIndex, const Value &value);-
181 void setProperty(ExecutionEngine *engine, int propertyIndex, const Value &value);-
182-
183 void destroyObject(bool lastCall);-
184-
185protected:-
186 static bool virtualIsEqualTo(Managed *that, Managed *o);-
187-
188 static ReturnedValue getProperty(ExecutionEngine *engine, QObject *object, QQmlPropertyData *property, bool captureRequired = true);-
189 static void setProperty(ExecutionEngine *engine, QObject *object, QQmlPropertyData *property, const Value &value);-
190-
191 static ReturnedValue create(ExecutionEngine *engine, QObject *object);-
192-
193 static QQmlPropertyData *findProperty(ExecutionEngine *engine, QObject *o, QQmlContextData *qmlContext, String *name, RevisionMode revisionMode, QQmlPropertyData *local);-
194 QQmlPropertyData *findProperty(ExecutionEngine *engine, QQmlContextData *qmlContext, String *name, RevisionMode revisionMode, QQmlPropertyData *local) const;-
195-
196 static ReturnedValue virtualGet(const Managed *m, PropertyKey id, const Value *receiver, bool *hasProperty);-
197 static bool virtualPut(Managed *m, PropertyKey id, const Value &value, Value *receiver);-
198 static PropertyAttributes virtualGetOwnProperty(Managed *m, PropertyKey id, Property *p);-
199 static void virtualAdvanceIterator(Managed *m, ObjectIterator *it, Value *name, uint *index, Property *p, PropertyAttributes *attributes);-
200-
201 static ReturnedValue method_connect(const FunctionObject *, const Value *thisObject, const Value *argv, int argc);-
202 static ReturnedValue method_disconnect(const FunctionObject *, const Value *thisObject, const Value *argv, int argc);-
203-
204private:-
205 Q_NEVER_INLINE static ReturnedValue wrap_slowPath(ExecutionEngine *engine, QObject *object);-
206};-
207-
208inline ReturnedValue QObjectWrapper::wrap(ExecutionEngine *engine, QObject *object)-
209{-
210 if (Q_UNLIKELY(QQmlData::wasDeleted(object)))
__builtin_expe...ject)), false)Description
TRUEevaluated 677 times by 30 tests
Evaluated by:
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qqmlcomponent
  • tst_qqmlconnections
  • tst_qqmlecmascript
  • tst_qqmlincubator
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmlqt
  • tst_qqmltypeloader
  • tst_qqmlxmlhttprequest
  • tst_qquickanimationcontroller
  • tst_qquickdesignersupport
  • tst_qquickdrag
  • tst_qquickdroparea
  • tst_qquickgridview
  • tst_qquickitem
  • tst_qquicklayouts
  • tst_qquicklistview
  • tst_qquickloader
  • tst_qquickpathview
  • tst_qquickrepeater
  • ...
FALSEevaluated 8143104 times by 141 tests
Evaluated by:
  • tst_bindingdependencyapi
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qjsengine
  • tst_qjsonbinding
  • tst_qjsvalue
  • tst_qmlcachegen
  • tst_qmldiskcache
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconnections
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmldebugjs
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlexpression
  • tst_qqmlfileselector
  • tst_qqmlimport
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • ...
677-8143104
211 return QV4::Encode::null();
executed 677 times by 30 tests: return QV4::Encode::null();
Executed by:
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qqmlcomponent
  • tst_qqmlconnections
  • tst_qqmlecmascript
  • tst_qqmlincubator
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmlqt
  • tst_qqmltypeloader
  • tst_qqmlxmlhttprequest
  • tst_qquickanimationcontroller
  • tst_qquickdesignersupport
  • tst_qquickdrag
  • tst_qquickdroparea
  • tst_qquickgridview
  • tst_qquickitem
  • tst_qquicklayouts
  • tst_qquicklistview
  • tst_qquickloader
  • tst_qquickpathview
  • tst_qquickrepeater
  • ...
677
212-
213 auto ddata = QQmlData::get(object);-
214 if (Q_LIKELY(ddata && ddata->jsEngineId == engine->m_engineId && !ddata->jsWrapper.isUndefined())) {
__builtin_expe...ined()), true)Description
TRUEevaluated 7608054 times by 134 tests
Evaluated by:
  • tst_bindingdependencyapi
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qmlcachegen
  • tst_qmldiskcache
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconnections
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmldebugjs
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlexpression
  • tst_qqmlfileselector
  • tst_qqmlimport
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • tst_qqmlitemmodels
  • ...
FALSEevaluated 535050 times by 141 tests
Evaluated by:
  • tst_bindingdependencyapi
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qjsengine
  • tst_qjsonbinding
  • tst_qjsvalue
  • tst_qmlcachegen
  • tst_qmldiskcache
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconnections
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmldebugjs
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlexpression
  • tst_qqmlfileselector
  • tst_qqmlimport
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • ...
535050-7608054
215 // We own the JS object-
216 return ddata->jsWrapper.value();
executed 7608054 times by 134 tests: return ddata->jsWrapper.value();
Executed by:
  • tst_bindingdependencyapi
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qjsengine
  • tst_qjsvalue
  • tst_qmlcachegen
  • tst_qmldiskcache
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconnections
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmldebugjs
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlexpression
  • tst_qqmlfileselector
  • tst_qqmlimport
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • tst_qqmlitemmodels
  • ...
7608054
217 }-
218-
219 return wrap_slowPath(engine, object);
executed 535050 times by 141 tests: return wrap_slowPath(engine, object);
Executed by:
  • tst_bindingdependencyapi
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qjsengine
  • tst_qjsonbinding
  • tst_qjsvalue
  • tst_qmlcachegen
  • tst_qmldiskcache
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconnections
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmldebugjs
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlexpression
  • tst_qqmlfileselector
  • tst_qqmlimport
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • ...
535050
220}-
221-
222struct QQmlValueTypeWrapper;-
223-
224struct Q_QML_EXPORT QObjectMethod : public QV4::FunctionObject-
225{-
226 V4_OBJECT2(QObjectMethod, QV4::FunctionObject)
executed 1006 times by 6 tests: end of block
Executed by:
  • tst_examples
  • tst_qjsengine
  • tst_qqmlecmascript
  • tst_qqmlqt
  • tst_qqmlstatemachine
  • tst_signalspy
never executed: end of block
executed 205854 times by 62 tests: return &static_vtbl;
Executed by:
  • tst_examples
  • tst_flickableinterop
  • tst_qjsengine
  • tst_qmlcachegen
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmllocale
  • tst_qqmlmetatype
  • tst_qqmlproperty
  • tst_qqmlpropertymap
  • tst_qqmlqt
  • tst_qqmlsqldatabase
  • tst_qqmlstatemachine
  • tst_qqmltimer
  • tst_qqmltranslation
  • ...
executed 800254 times by 62 tests: return static_cast<QV4::Heap::QObjectMethod *>(m());
Executed by:
  • tst_examples
  • tst_flickableinterop
  • tst_qjsengine
  • tst_qmlcachegen
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmllocale
  • tst_qqmlmetatype
  • tst_qqmlproperty
  • tst_qqmlpropertymap
  • tst_qqmlqt
  • tst_qqmlsqldatabase
  • tst_qqmlstatemachine
  • tst_qqmltimer
  • tst_qqmltranslation
  • ...
executed 732094 times by 62 tests: return dptr;
Executed by:
  • tst_examples
  • tst_flickableinterop
  • tst_qjsengine
  • tst_qmlcachegen
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmllocale
  • tst_qqmlmetatype
  • tst_qqmlproperty
  • tst_qqmlpropertymap
  • tst_qqmlqt
  • tst_qqmlsqldatabase
  • tst_qqmlstatemachine
  • tst_qqmltimer
  • tst_qqmltranslation
  • ...
0-800254
227 V4_NEEDS_DESTROY
executed 68114 times by 62 tests: end of block
Executed by:
  • tst_examples
  • tst_flickableinterop
  • tst_qjsengine
  • tst_qmlcachegen
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmllocale
  • tst_qqmlmetatype
  • tst_qqmlproperty
  • tst_qqmlpropertymap
  • tst_qqmlqt
  • tst_qqmlsqldatabase
  • tst_qqmlstatemachine
  • tst_qqmltimer
  • tst_qqmltranslation
  • ...
68114
228-
229 enum { DestroyMethod = -1, ToStringMethod = -2 };-
230-
231 static ReturnedValue create(QV4::ExecutionContext *scope, QObject *object, int index);-
232 static ReturnedValue create(QV4::ExecutionContext *scope, const QQmlValueTypeWrapper *valueType, int index);-
233-
234 int methodIndex() const { return d()->index; }
executed 636 times by 6 tests: return d()->index;
Executed by:
  • tst_examples
  • tst_qjsengine
  • tst_qqmlecmascript
  • tst_qqmlqt
  • tst_qqmlstatemachine
  • tst_signalspy
636
235 QObject *object() const { return d()->object(); }
executed 636 times by 6 tests: return d()->object();
Executed by:
  • tst_examples
  • tst_qjsengine
  • tst_qqmlecmascript
  • tst_qqmlqt
  • tst_qqmlstatemachine
  • tst_signalspy
636
236-
237 QV4::ReturnedValue method_toString(QV4::ExecutionEngine *engine) const;-
238 QV4::ReturnedValue method_destroy(QV4::ExecutionEngine *ctx, const Value *args, int argc) const;-
239-
240 static ReturnedValue virtualCall(const FunctionObject *, const Value *thisObject, const Value *argv, int argc);-
241-
242 ReturnedValue callInternal(const Value *thisObject, const Value *argv, int argc) const;-
243-
244 static QPair<QObject *, int> extractQtMethod(const QV4::FunctionObject *function);-
245};-
246-
247-
248struct Q_QML_EXPORT QMetaObjectWrapper : public QV4::FunctionObject-
249{-
250 V4_OBJECT2(QMetaObjectWrapper, QV4::FunctionObject)
executed 12 times by 1 test: end of block
Executed by:
  • tst_qjsengine
never executed: end of block
executed 30 times by 1 test: return &static_vtbl;
Executed by:
  • tst_qjsengine
executed 94 times by 1 test: return static_cast<QV4::Heap::QMetaObjectWrapper *>(m());
Executed by:
  • tst_qjsengine
executed 88 times by 1 test: return dptr;
Executed by:
  • tst_qjsengine
0-94
251 V4_NEEDS_DESTROY
executed 6 times by 1 test: end of block
Executed by:
  • tst_qjsengine
6
252-
253 static ReturnedValue create(ExecutionEngine *engine, const QMetaObject* metaObject);-
254 const QMetaObject *metaObject() const { return d()->metaObject; }-
255-
256protected:-
257 static ReturnedValue virtualCallAsConstructor(const FunctionObject *, const Value *argv, int argc, const Value *);-
258 static bool virtualIsEqualTo(Managed *a, Managed *b);-
259-
260private:-
261 void init(ExecutionEngine *engine);-
262 ReturnedValue constructInternal(const Value *argv, int argc) const;-
263 ReturnedValue callConstructor(const QQmlPropertyData &data, QV4::ExecutionEngine *engine, QV4::CallData *callArgs) const;-
264 ReturnedValue callOverloadedConstructor(QV4::ExecutionEngine *engine, QV4::CallData *callArgs) const;-
265-
266};-
267-
268struct Q_QML_EXPORT QmlSignalHandler : public QV4::Object-
269{-
270 V4_OBJECT2(QmlSignalHandler, QV4::Object)
executed 10 times by 1 test: end of block
Executed by:
  • tst_qqmlecmascript
never executed: end of block
executed 52 times by 1 test: return &static_vtbl;
Executed by:
  • tst_qqmlecmascript
executed 48 times by 1 test: return static_cast<QV4::Heap::QmlSignalHandler *>(m());
Executed by:
  • tst_qqmlecmascript
executed 34 times by 1 test: return dptr;
Executed by:
  • tst_qqmlecmascript
0-52
271 V4_PROTOTYPE(signalHandlerPrototype)
executed 14 times by 1 test: return e->signalHandlerPrototype();
Executed by:
  • tst_qqmlecmascript
14
272 V4_NEEDS_DESTROY
executed 14 times by 1 test: end of block
Executed by:
  • tst_qqmlecmascript
14
273-
274 int signalIndex() const { return d()->signalIndex; }
executed 10 times by 1 test: return d()->signalIndex;
Executed by:
  • tst_qqmlecmascript
10
275 QObject *object() const { return d()->object(); }
executed 10 times by 1 test: return d()->object();
Executed by:
  • tst_qqmlecmascript
10
276-
277 static void initProto(ExecutionEngine *v4);-
278};-
279-
280class MultiplyWrappedQObjectMap : public QObject,-
281 private QHash<QObject*, QV4::WeakValue>-
282{-
283 Q_OBJECT-
284public:-
285 typedef QHash<QObject*, QV4::WeakValue>::ConstIterator ConstIterator;-
286 typedef QHash<QObject*, QV4::WeakValue>::Iterator Iterator;-
287-
288 ConstIterator begin() const { return QHash<QObject*, QV4::WeakValue>::constBegin(); }
never executed: return QHash<QObject*, QV4::WeakValue>::constBegin();
0
289 Iterator begin() { return QHash<QObject*, QV4::WeakValue>::begin(); }
never executed: return QHash<QObject*, QV4::WeakValue>::begin();
0
290 ConstIterator end() const { return QHash<QObject*, QV4::WeakValue>::constEnd(); }
never executed: return QHash<QObject*, QV4::WeakValue>::constEnd();
0
291 Iterator end() { return QHash<QObject*, QV4::WeakValue>::end(); }
never executed: return QHash<QObject*, QV4::WeakValue>::end();
0
292-
293 void insert(QObject *key, Heap::Object *value);-
294 ReturnedValue value(QObject *key) const { return QHash<QObject*, QV4::WeakValue>::value(key).value(); }
never executed: return QHash<QObject*, QV4::WeakValue>::value(key).value();
0
295 Iterator erase(Iterator it);-
296 void remove(QObject *key);-
297 void mark(QObject *key, MarkStack *markStack);-
298-
299private Q_SLOTS:-
300 void removeDestroyedObject(QObject*);-
301};-
302-
303}-
304-
305QT_END_NAMESPACE-
306-
307#endif // QV4QOBJECTWRAPPER_P_H-
308-
309-
Source codeSwitch to Preprocessed file

Generated by Squish Coco 4.2.0