OpenCoverage

qqmlabstractbinding.cpp

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/qml/qml/qqmlabstractbinding.cpp
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#include "qqmlabstractbinding_p.h"-
41-
42#include <QtQml/qqmlinfo.h>-
43#include <private/qqmlbinding_p.h>-
44#include <private/qqmlvaluetypeproxybinding_p.h>-
45-
46QT_BEGIN_NAMESPACE-
47-
48QQmlAbstractBinding::QQmlAbstractBinding()-
49 : m_targetIndex(-1)-
50{-
51 Q_ASSERT(!isAddedToObject());-
52}
executed 555488 times by 121 tests: end of block
Executed by:
  • tst_bindingdependencyapi
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • 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_qqmllistreference
  • tst_qqmllocale
  • tst_qqmlmetaobject
  • tst_qqmlmetatype
  • tst_qqmlnotifier
  • tst_qqmlprofilerservice
  • ...
555488
53-
54QQmlAbstractBinding::~QQmlAbstractBinding()-
55{-
56 Q_ASSERT(!ref);-
57 Q_ASSERT(!isAddedToObject());-
58-
59 if (m_nextBinding.data() && !m_nextBinding->ref.deref())
m_nextBinding.data()Description
TRUEevaluated 119766 times by 58 tests
Evaluated by:
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlitemmodels
  • tst_qqmllistreference
  • tst_qqmllocale
  • tst_qqmlnotifier
  • tst_qqmlproperty
  • tst_qqmlqt
  • tst_qqmlstatemachine
  • tst_qqmltranslation
  • tst_qqmltypeloader
  • tst_qqmlvaluetypes
  • tst_qquickaccessible
  • tst_qquickanchors
  • tst_qquickanimatedimage
  • tst_qquickanimationcontroller
  • tst_qquickanimations
  • tst_qquickdrag
  • tst_qquickdraghandler
  • tst_qquickdroparea
  • ...
FALSEevaluated 395072 times by 120 tests
Evaluated by:
  • tst_bindingdependencyapi
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • 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_qqmllistreference
  • tst_qqmllocale
  • tst_qqmlmetaobject
  • tst_qqmlmetatype
  • tst_qqmlnotifier
  • tst_qqmlproperty
  • ...
!m_nextBinding->ref.deref()Description
TRUEevaluated 119762 times by 58 tests
Evaluated by:
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlitemmodels
  • tst_qqmllistreference
  • tst_qqmllocale
  • tst_qqmlnotifier
  • tst_qqmlproperty
  • tst_qqmlqt
  • tst_qqmlstatemachine
  • tst_qqmltranslation
  • tst_qqmltypeloader
  • tst_qqmlvaluetypes
  • tst_qquickaccessible
  • tst_qquickanchors
  • tst_qquickanimatedimage
  • tst_qquickanimationcontroller
  • tst_qquickanimations
  • tst_qquickdrag
  • tst_qquickdraghandler
  • tst_qquickdroparea
  • ...
FALSEevaluated 4 times by 1 test
Evaluated by:
  • tst_qquicklistview
4-395072
60 delete m_nextBinding.data();
executed 119762 times by 58 tests: delete m_nextBinding.data();
Executed by:
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlitemmodels
  • tst_qqmllistreference
  • tst_qqmllocale
  • tst_qqmlnotifier
  • tst_qqmlproperty
  • tst_qqmlqt
  • tst_qqmlstatemachine
  • tst_qqmltranslation
  • tst_qqmltypeloader
  • tst_qqmlvaluetypes
  • tst_qquickaccessible
  • tst_qquickanchors
  • tst_qquickanimatedimage
  • tst_qquickanimationcontroller
  • tst_qquickanimations
  • tst_qquickdrag
  • tst_qquickdraghandler
  • tst_qquickdroparea
  • ...
119762
61}
executed 514838 times by 120 tests: end of block
Executed by:
  • tst_bindingdependencyapi
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • 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_qqmllistreference
  • tst_qqmllocale
  • tst_qqmlmetaobject
  • tst_qqmlmetatype
  • tst_qqmlnotifier
  • tst_qqmlproperty
  • ...
514838
62-
63/*!-
64Add this binding to \a object.-
65-
66This transfers ownership of the binding to the object, marks the object's property as-
67being bound.-
68-
69However, it does not enable the binding itself or call update() on it.-
70*/-
71void QQmlAbstractBinding::addToObject()-
72{-
73 Q_ASSERT(!nextBinding());-
74 Q_ASSERT(isAddedToObject() == false);-
75-
76 QObject *obj = targetObject();-
77 Q_ASSERT(obj);-
78-
79 QQmlData *data = QQmlData::get(obj, true);-
80-
81 int coreIndex = targetPropertyIndex().coreIndex();-
82 if (targetPropertyIndex().hasValueTypeIndex()) {
targetProperty...lueTypeIndex()Description
TRUEevaluated 2342 times by 12 tests
Evaluated by:
  • tst_examples
  • tst_qqmlecmascript
  • tst_qqmlvaluetypeproviders
  • tst_qqmlvaluetypes
  • tst_qquickaccessible
  • tst_qquickanimations
  • tst_qquickflipable
  • tst_qquickfontloader_static
  • tst_qquickimage
  • tst_qquickpathview
  • tst_qquickshadereffect
  • tst_qquicktext
FALSEevaluated 553250 times by 121 tests
Evaluated by:
  • tst_bindingdependencyapi
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • 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_qqmllistreference
  • tst_qqmllocale
  • tst_qqmlmetaobject
  • tst_qqmlmetatype
  • tst_qqmlnotifier
  • tst_qqmlprofilerservice
  • ...
2342-553250
83 // Value type-
84-
85 // Find the value type proxy (if there is one)-
86 QQmlValueTypeProxyBinding *proxy = nullptr;-
87 if (data->hasBindingBit(coreIndex)) {
data->hasBindingBit(coreIndex)Description
TRUEevaluated 978 times by 7 tests
Evaluated by:
  • tst_examples
  • tst_qqmlvaluetypeproviders
  • tst_qqmlvaluetypes
  • tst_qquickflipable
  • tst_qquickimage
  • tst_qquickpathview
  • tst_qquicktext
FALSEevaluated 1364 times by 12 tests
Evaluated by:
  • tst_examples
  • tst_qqmlecmascript
  • tst_qqmlvaluetypeproviders
  • tst_qqmlvaluetypes
  • tst_qquickaccessible
  • tst_qquickanimations
  • tst_qquickflipable
  • tst_qquickfontloader_static
  • tst_qquickimage
  • tst_qquickpathview
  • tst_qquickshadereffect
  • tst_qquicktext
978-1364
88 QQmlAbstractBinding *b = data->bindings;-
89 while (b && (b->targetPropertyIndex().coreIndex() != coreIndex ||
bDescription
TRUEevaluated 982 times by 7 tests
Evaluated by:
  • tst_examples
  • tst_qqmlvaluetypeproviders
  • tst_qqmlvaluetypes
  • tst_qquickflipable
  • tst_qquickimage
  • tst_qquickpathview
  • tst_qquicktext
FALSEnever evaluated
b->targetPrope...) != coreIndexDescription
TRUEevaluated 4 times by 1 test
Evaluated by:
  • tst_examples
FALSEevaluated 978 times by 7 tests
Evaluated by:
  • tst_examples
  • tst_qqmlvaluetypeproviders
  • tst_qqmlvaluetypes
  • tst_qquickflipable
  • tst_qquickimage
  • tst_qquickpathview
  • tst_qquicktext
0-982
90 b->targetPropertyIndex().hasValueTypeIndex()))
b->targetPrope...lueTypeIndex()Description
TRUEnever evaluated
FALSEevaluated 978 times by 7 tests
Evaluated by:
  • tst_examples
  • tst_qqmlvaluetypeproviders
  • tst_qqmlvaluetypes
  • tst_qquickflipable
  • tst_qquickimage
  • tst_qquickpathview
  • tst_qquicktext
0-978
91 b = b->nextBinding();
executed 4 times by 1 test: b = b->nextBinding();
Executed by:
  • tst_examples
4
92 Q_ASSERT(b && b->isValueTypeProxy());-
93 proxy = static_cast<QQmlValueTypeProxyBinding *>(b);-
94 }
executed 978 times by 7 tests: end of block
Executed by:
  • tst_examples
  • tst_qqmlvaluetypeproviders
  • tst_qqmlvaluetypes
  • tst_qquickflipable
  • tst_qquickimage
  • tst_qquickpathview
  • tst_qquicktext
978
95-
96 if (!proxy) {
!proxyDescription
TRUEevaluated 1364 times by 12 tests
Evaluated by:
  • tst_examples
  • tst_qqmlecmascript
  • tst_qqmlvaluetypeproviders
  • tst_qqmlvaluetypes
  • tst_qquickaccessible
  • tst_qquickanimations
  • tst_qquickflipable
  • tst_qquickfontloader_static
  • tst_qquickimage
  • tst_qquickpathview
  • tst_qquickshadereffect
  • tst_qquicktext
FALSEevaluated 978 times by 7 tests
Evaluated by:
  • tst_examples
  • tst_qqmlvaluetypeproviders
  • tst_qqmlvaluetypes
  • tst_qquickflipable
  • tst_qquickimage
  • tst_qquickpathview
  • tst_qquicktext
978-1364
97 proxy = new QQmlValueTypeProxyBinding(obj, QQmlPropertyIndex(coreIndex));-
98-
99 Q_ASSERT(proxy->targetPropertyIndex().coreIndex() == coreIndex);-
100 Q_ASSERT(!proxy->targetPropertyIndex().hasValueTypeIndex());-
101 Q_ASSERT(proxy->targetObject() == obj);-
102-
103 proxy->addToObject();-
104 }
executed 1364 times by 12 tests: end of block
Executed by:
  • tst_examples
  • tst_qqmlecmascript
  • tst_qqmlvaluetypeproviders
  • tst_qqmlvaluetypes
  • tst_qquickaccessible
  • tst_qquickanimations
  • tst_qquickflipable
  • tst_qquickfontloader_static
  • tst_qquickimage
  • tst_qquickpathview
  • tst_qquickshadereffect
  • tst_qquicktext
1364
105-
106 setNextBinding(proxy->m_bindings.data());-
107 proxy->m_bindings = this;-
108-
109 } else {
executed 2342 times by 12 tests: end of block
Executed by:
  • tst_examples
  • tst_qqmlecmascript
  • tst_qqmlvaluetypeproviders
  • tst_qqmlvaluetypes
  • tst_qquickaccessible
  • tst_qquickanimations
  • tst_qquickflipable
  • tst_qquickfontloader_static
  • tst_qquickimage
  • tst_qquickpathview
  • tst_qquickshadereffect
  • tst_qquicktext
2342
110 setNextBinding(data->bindings);-
111 if (data->bindings) {
data->bindingsDescription
TRUEevaluated 124353 times by 67 tests
Evaluated by:
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlincubator
  • tst_qqmlinstantiator
  • tst_qqmlitemmodels
  • tst_qqmllistreference
  • tst_qqmllocale
  • tst_qqmlmetatype
  • tst_qqmlnotifier
  • tst_qqmlproperty
  • tst_qqmlpropertymap
  • tst_qqmlqt
  • tst_qqmlsettings
  • tst_qqmlstatemachine
  • tst_qqmltranslation
  • tst_qqmltypeloader
  • tst_qqmlvaluetypeproviders
  • tst_qqmlvaluetypes
  • tst_qqmlxmlhttprequest
  • ...
FALSEevaluated 428897 times by 121 tests
Evaluated by:
  • tst_bindingdependencyapi
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • 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_qqmllistreference
  • tst_qqmllocale
  • tst_qqmlmetaobject
  • tst_qqmlmetatype
  • tst_qqmlnotifier
  • tst_qqmlprofilerservice
  • ...
124353-428897
112 data->bindings->ref.deref();-
113 Q_ASSERT(data->bindings->ref.refCount > 0);-
114 }
executed 124353 times by 67 tests: end of block
Executed by:
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlincubator
  • tst_qqmlinstantiator
  • tst_qqmlitemmodels
  • tst_qqmllistreference
  • tst_qqmllocale
  • tst_qqmlmetatype
  • tst_qqmlnotifier
  • tst_qqmlproperty
  • tst_qqmlpropertymap
  • tst_qqmlqt
  • tst_qqmlsettings
  • tst_qqmlstatemachine
  • tst_qqmltranslation
  • tst_qqmltypeloader
  • tst_qqmlvaluetypeproviders
  • tst_qqmlvaluetypes
  • tst_qqmlxmlhttprequest
  • ...
124353
115 data->bindings = this;-
116 ref.ref();-
117-
118 data->setBindingBit(obj, coreIndex);-
119 }
executed 553250 times by 121 tests: end of block
Executed by:
  • tst_bindingdependencyapi
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • 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_qqmllistreference
  • tst_qqmllocale
  • tst_qqmlmetaobject
  • tst_qqmlmetatype
  • tst_qqmlnotifier
  • tst_qqmlprofilerservice
  • ...
553250
120-
121 setAddedToObject(true);-
122}
executed 555592 times by 121 tests: end of block
Executed by:
  • tst_bindingdependencyapi
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • 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_qqmllistreference
  • tst_qqmllocale
  • tst_qqmlmetaobject
  • tst_qqmlmetatype
  • tst_qqmlnotifier
  • tst_qqmlprofilerservice
  • ...
555592
123-
124/*!-
125Remove the binding from the object.-
126*/-
127void QQmlAbstractBinding::removeFromObject()-
128{-
129 if (!isAddedToObject())
!isAddedToObject()Description
TRUEevaluated 6 times by 1 test
Evaluated by:
  • tst_qqmlecmascript
FALSEevaluated 8379 times by 70 tests
Evaluated by:
  • tst_examples
  • tst_qmlcachegen
  • 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_qqmllocale
  • tst_qqmlmetaobject
  • tst_qqmlmetatype
  • tst_qqmlnotifier
  • tst_qqmlproperty
  • tst_qqmlpropertymap
  • tst_qqmlqt
  • tst_qqmlsettings
  • tst_qqmlsqldatabase
  • tst_qqmltranslation
  • tst_qqmlvaluetypeproviders
  • ...
6-8379
130 return;
executed 6 times by 1 test: return;
Executed by:
  • tst_qqmlecmascript
6
131-
132 setAddedToObject(false);-
133-
134 QObject *obj = targetObject();-
135 QQmlData *data = QQmlData::get(obj, false);-
136 Q_ASSERT(data);-
137-
138 QQmlAbstractBinding::Ptr next;-
139 next = nextBinding();-
140 setNextBinding(nullptr);-
141-
142 int coreIndex = targetPropertyIndex().coreIndex();-
143 if (targetPropertyIndex().hasValueTypeIndex()) {
targetProperty...lueTypeIndex()Description
TRUEevaluated 158 times by 4 tests
Evaluated by:
  • tst_qqmlecmascript
  • tst_qqmlvaluetypeproviders
  • tst_qqmlvaluetypes
  • tst_qquickanimations
FALSEevaluated 8221 times by 70 tests
Evaluated by:
  • tst_examples
  • tst_qmlcachegen
  • 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_qqmllocale
  • tst_qqmlmetaobject
  • tst_qqmlmetatype
  • tst_qqmlnotifier
  • tst_qqmlproperty
  • tst_qqmlpropertymap
  • tst_qqmlqt
  • tst_qqmlsettings
  • tst_qqmlsqldatabase
  • tst_qqmltranslation
  • tst_qqmlvaluetypeproviders
  • ...
158-8221
144-
145 // Find the value type binding-
146 QQmlAbstractBinding *vtbinding = data->bindings;-
147 while (vtbinding && (vtbinding->targetPropertyIndex().coreIndex() != coreIndex ||
vtbindingDescription
TRUEevaluated 158 times by 4 tests
Evaluated by:
  • tst_qqmlecmascript
  • tst_qqmlvaluetypeproviders
  • tst_qqmlvaluetypes
  • tst_qquickanimations
FALSEnever evaluated
vtbinding->tar...) != coreIndexDescription
TRUEnever evaluated
FALSEevaluated 158 times by 4 tests
Evaluated by:
  • tst_qqmlecmascript
  • tst_qqmlvaluetypeproviders
  • tst_qqmlvaluetypes
  • tst_qquickanimations
0-158
148 vtbinding->targetPropertyIndex().hasValueTypeIndex())) {
vtbinding->tar...lueTypeIndex()Description
TRUEnever evaluated
FALSEevaluated 158 times by 4 tests
Evaluated by:
  • tst_qqmlecmascript
  • tst_qqmlvaluetypeproviders
  • tst_qqmlvaluetypes
  • tst_qquickanimations
0-158
149 vtbinding = vtbinding->nextBinding();-
150 Q_ASSERT(vtbinding);-
151 }
never executed: end of block
0
152 Q_ASSERT(vtbinding->isValueTypeProxy());-
153-
154 QQmlValueTypeProxyBinding *vtproxybinding =-
155 static_cast<QQmlValueTypeProxyBinding *>(vtbinding);-
156-
157 QQmlAbstractBinding *binding = vtproxybinding->m_bindings.data();-
158 if (binding == this) {
binding == thisDescription
TRUEevaluated 158 times by 4 tests
Evaluated by:
  • tst_qqmlecmascript
  • tst_qqmlvaluetypeproviders
  • tst_qqmlvaluetypes
  • tst_qquickanimations
FALSEnever evaluated
0-158
159 vtproxybinding->m_bindings = next;-
160 } else {
executed 158 times by 4 tests: end of block
Executed by:
  • tst_qqmlecmascript
  • tst_qqmlvaluetypeproviders
  • tst_qqmlvaluetypes
  • tst_qquickanimations
158
161 while (binding->nextBinding() != this) {
binding->nextBinding() != thisDescription
TRUEnever evaluated
FALSEnever evaluated
0
162 binding = binding->nextBinding();-
163 Q_ASSERT(binding);-
164 }
never executed: end of block
0
165 binding->setNextBinding(next.data());-
166 }
never executed: end of block
0
167-
168 // Value type - we don't remove the proxy from the object. It will sit their happily-
169 // doing nothing until it is removed by a write, a binding change or it is reused-
170 // to hold more sub-bindings.-
171 return;
executed 158 times by 4 tests: return;
Executed by:
  • tst_qqmlecmascript
  • tst_qqmlvaluetypeproviders
  • tst_qqmlvaluetypes
  • tst_qquickanimations
158
172 }-
173-
174 if (data->bindings == this) {
data->bindings == thisDescription
TRUEevaluated 7302 times by 66 tests
Evaluated by:
  • tst_examples
  • tst_qmlcachegen
  • 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_qqmllocale
  • tst_qqmlmetaobject
  • tst_qqmlmetatype
  • tst_qqmlnotifier
  • tst_qqmlproperty
  • tst_qqmlqt
  • tst_qqmlsettings
  • tst_qqmlsqldatabase
  • tst_qqmltranslation
  • tst_qqmlvaluetypeproviders
  • tst_qqmlvaluetypes
  • ...
FALSEevaluated 919 times by 25 tests
Evaluated by:
  • tst_examples
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlincubator
  • tst_qqmlnotifier
  • tst_qqmlpropertymap
  • tst_qqmlqt
  • tst_qqmltranslation
  • tst_qqmlvaluetypes
  • tst_qquickanimationcontroller
  • tst_qquickanimations
  • tst_qquickflickable
  • tst_qquickgridview
  • tst_qquickitem2
  • tst_qquicklayouts
  • tst_qquicklistview
  • tst_qquickpathview
  • tst_qquickstates
  • tst_qquicktaphandler
  • tst_qquickvisualdatamodel
  • tst_quicktestmainwithsetup
  • tst_signalspy
  • tst_testfiltering
919-7302
175 if (next.data())
next.data()Description
TRUEevaluated 4404 times by 23 tests
Evaluated by:
  • tst_examples
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlitemmodels
  • tst_qqmllocale
  • tst_qqmlmetatype
  • tst_qqmlnotifier
  • tst_qqmlqt
  • tst_qqmlsettings
  • tst_qqmlvaluetypeproviders
  • tst_qqmlvaluetypes
  • tst_qqmlxmlhttprequest
  • tst_qquickanimations
  • tst_qquickdynamicpropertyanimation
  • tst_qquickgridview
  • tst_qquickitem2
  • tst_qquicklistview
  • tst_qquickloader
  • tst_qquickpathview
  • tst_qquickpositioners
  • tst_qquickstates
  • tst_qquicktaphandler
  • tst_signalspy
FALSEevaluated 2898 times by 63 tests
Evaluated by:
  • tst_examples
  • tst_qmlcachegen
  • 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_qqmllocale
  • tst_qqmlmetaobject
  • tst_qqmlmetatype
  • tst_qqmlproperty
  • tst_qqmlqt
  • tst_qqmlsettings
  • tst_qqmlsqldatabase
  • tst_qqmltranslation
  • tst_qqmlvaluetypeproviders
  • tst_qqmlvaluetypes
  • tst_qqmlxmlhttprequest
  • ...
2898-4404
176 next->ref.ref();
executed 4404 times by 23 tests: next->ref.ref();
Executed by:
  • tst_examples
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlitemmodels
  • tst_qqmllocale
  • tst_qqmlmetatype
  • tst_qqmlnotifier
  • tst_qqmlqt
  • tst_qqmlsettings
  • tst_qqmlvaluetypeproviders
  • tst_qqmlvaluetypes
  • tst_qqmlxmlhttprequest
  • tst_qquickanimations
  • tst_qquickdynamicpropertyanimation
  • tst_qquickgridview
  • tst_qquickitem2
  • tst_qquicklistview
  • tst_qquickloader
  • tst_qquickpathview
  • tst_qquickpositioners
  • tst_qquickstates
  • tst_qquicktaphandler
  • tst_signalspy
4404
177 data->bindings = next.data();-
178 if (!ref.deref())
!ref.deref()Description
TRUEnever evaluated
FALSEevaluated 7302 times by 66 tests
Evaluated by:
  • tst_examples
  • tst_qmlcachegen
  • 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_qqmllocale
  • tst_qqmlmetaobject
  • tst_qqmlmetatype
  • tst_qqmlnotifier
  • tst_qqmlproperty
  • tst_qqmlqt
  • tst_qqmlsettings
  • tst_qqmlsqldatabase
  • tst_qqmltranslation
  • tst_qqmlvaluetypeproviders
  • tst_qqmlvaluetypes
  • ...
0-7302
179 delete this;
never executed: delete this;
0
180 } else {
executed 7302 times by 66 tests: end of block
Executed by:
  • tst_examples
  • tst_qmlcachegen
  • 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_qqmllocale
  • tst_qqmlmetaobject
  • tst_qqmlmetatype
  • tst_qqmlnotifier
  • tst_qqmlproperty
  • tst_qqmlqt
  • tst_qqmlsettings
  • tst_qqmlsqldatabase
  • tst_qqmltranslation
  • tst_qqmlvaluetypeproviders
  • tst_qqmlvaluetypes
  • ...
7302
181 QQmlAbstractBinding *binding = data->bindings;-
182 while (binding->nextBinding() != this) {
binding->nextBinding() != thisDescription
TRUEevaluated 1127 times by 16 tests
Evaluated by:
  • tst_examples
  • tst_qqmlapplicationengine
  • tst_qqmlecmascript
  • tst_qqmlnotifier
  • tst_qqmlqt
  • tst_qqmltranslation
  • tst_qquickanimationcontroller
  • tst_qquickanimations
  • tst_qquickflickable
  • tst_qquickgridview
  • tst_qquicklayouts
  • tst_qquicklistview
  • tst_qquickstates
  • tst_qquickvisualdatamodel
  • tst_quicktestmainwithsetup
  • tst_testfiltering
FALSEevaluated 919 times by 25 tests
Evaluated by:
  • tst_examples
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlincubator
  • tst_qqmlnotifier
  • tst_qqmlpropertymap
  • tst_qqmlqt
  • tst_qqmltranslation
  • tst_qqmlvaluetypes
  • tst_qquickanimationcontroller
  • tst_qquickanimations
  • tst_qquickflickable
  • tst_qquickgridview
  • tst_qquickitem2
  • tst_qquicklayouts
  • tst_qquicklistview
  • tst_qquickpathview
  • tst_qquickstates
  • tst_qquicktaphandler
  • tst_qquickvisualdatamodel
  • tst_quicktestmainwithsetup
  • tst_signalspy
  • tst_testfiltering
919-1127
183 binding = binding->nextBinding();-
184 Q_ASSERT(binding);-
185 }
executed 1127 times by 16 tests: end of block
Executed by:
  • tst_examples
  • tst_qqmlapplicationengine
  • tst_qqmlecmascript
  • tst_qqmlnotifier
  • tst_qqmlqt
  • tst_qqmltranslation
  • tst_qquickanimationcontroller
  • tst_qquickanimations
  • tst_qquickflickable
  • tst_qquickgridview
  • tst_qquicklayouts
  • tst_qquicklistview
  • tst_qquickstates
  • tst_qquickvisualdatamodel
  • tst_quicktestmainwithsetup
  • tst_testfiltering
1127
186 binding->setNextBinding(next.data());-
187 }
executed 919 times by 25 tests: end of block
Executed by:
  • tst_examples
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlincubator
  • tst_qqmlnotifier
  • tst_qqmlpropertymap
  • tst_qqmlqt
  • tst_qqmltranslation
  • tst_qqmlvaluetypes
  • tst_qquickanimationcontroller
  • tst_qquickanimations
  • tst_qquickflickable
  • tst_qquickgridview
  • tst_qquickitem2
  • tst_qquicklayouts
  • tst_qquicklistview
  • tst_qquickpathview
  • tst_qquickstates
  • tst_qquicktaphandler
  • tst_qquickvisualdatamodel
  • tst_quicktestmainwithsetup
  • tst_signalspy
  • tst_testfiltering
919
188-
189 data->clearBindingBit(coreIndex);-
190}
executed 8221 times by 70 tests: end of block
Executed by:
  • tst_examples
  • tst_qmlcachegen
  • 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_qqmllocale
  • tst_qqmlmetaobject
  • tst_qqmlmetatype
  • tst_qqmlnotifier
  • tst_qqmlproperty
  • tst_qqmlpropertymap
  • tst_qqmlqt
  • tst_qqmlsettings
  • tst_qqmlsqldatabase
  • tst_qqmltranslation
  • tst_qqmlvaluetypeproviders
  • ...
8221
191-
192void QQmlAbstractBinding::printBindingLoopError(QQmlProperty &prop)-
193{-
194 qmlWarning(prop.object()) << QString(QLatin1String("Binding loop detected for property \"%1\"")).arg(prop.name());-
195}
executed 20 times by 3 tests: end of block
Executed by:
  • tst_qqmlbinding
  • tst_qqmlecmascript
  • tst_qquickitem2
20
196-
197QString QQmlAbstractBinding::expression() const-
198{-
199 return QLatin1String("<Unknown>");
never executed: return QLatin1String("<Unknown>");
0
200}-
201-
202bool QQmlAbstractBinding::isValueTypeProxy() const-
203{-
204 return false;
executed 553400 times by 121 tests: return false;
Executed by:
  • tst_bindingdependencyapi
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • 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_qqmllistreference
  • tst_qqmllocale
  • tst_qqmlmetaobject
  • tst_qqmlmetatype
  • tst_qqmlnotifier
  • tst_qqmlprofilerservice
  • ...
553400
205}-
206-
207QT_END_NAMESPACE-
Source codeSwitch to Preprocessed file

Generated by Squish Coco 4.2.0