Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/qml/qml/qqml.h |
Switch to Source code | Preprocessed file |
Line | Source | Count | ||||||
---|---|---|---|---|---|---|---|---|
1 | - | |||||||
2 | enum { | - | ||||||
3 | QML_HAS_ATTACHED_PROPERTIES = 0x01 | - | ||||||
4 | }; | - | ||||||
5 | - | |||||||
6 | - | |||||||
7 | - | |||||||
8 | class QQmlPropertyValueInterceptor; | - | ||||||
9 | void __attribute__((visibility("default"))) qmlClearTypeRegistrations(); | - | ||||||
10 | - | |||||||
11 | template<typename T> | - | ||||||
12 | int qmlRegisterType() | - | ||||||
13 | { | - | ||||||
14 | const char *className = T::staticMetaObject.className(); const int nameLen = int(strlen(className)); QVarLengthArray<char,48> pointerName(nameLen+2); memcpy(pointerName.data(), className, size_t(nameLen)); pointerName[nameLen] = '*'; pointerName[nameLen+1] = '\0'; const int listLen = int(strlen("QQmlListProperty<")); QVarLengthArray<char,64> listName(listLen + nameLen + 2); memcpy(listName.data(), "QQmlListProperty<", size_t(listLen)); memcpy(listName.data()+listLen, className, size_t(nameLen)); listName[listLen+nameLen] = '>'; listName[listLen+nameLen+1] = '\0'; | - | ||||||
15 | - | |||||||
16 | QQmlPrivate::RegisterType type = { | - | ||||||
17 | 0, | - | ||||||
18 | - | |||||||
19 | qRegisterNormalizedMetaType<T *>(pointerName.constData()), | - | ||||||
20 | qRegisterNormalizedMetaType<QQmlListProperty<T> >(listName.constData()), | - | ||||||
21 | 0, | - | ||||||
22 | nullptr, | - | ||||||
23 | QString(), | - | ||||||
24 | - | |||||||
25 | nullptr, 0, 0, nullptr, &T::staticMetaObject, | - | ||||||
26 | - | |||||||
27 | QQmlPrivate::attachedPropertiesFunc<T>(), | - | ||||||
28 | QQmlPrivate::attachedPropertiesMetaObject<T>(), | - | ||||||
29 | - | |||||||
30 | QQmlPrivate::StaticCastSelector<T,QQmlParserStatus>::cast(), | - | ||||||
31 | QQmlPrivate::StaticCastSelector<T,QQmlPropertyValueSource>::cast(), | - | ||||||
32 | QQmlPrivate::StaticCastSelector<T,QQmlPropertyValueInterceptor>::cast(), | - | ||||||
33 | - | |||||||
34 | nullptr, nullptr, | - | ||||||
35 | - | |||||||
36 | nullptr, | - | ||||||
37 | 0 | - | ||||||
38 | }; | - | ||||||
39 | - | |||||||
40 | return executed 9172 times by 134 tests: QQmlPrivate::qmlregister(QQmlPrivate::TypeRegistration, &type);return QQmlPrivate::qmlregister(QQmlPrivate::TypeRegistration, &type); Executed by:
executed 9172 times by 134 tests: return QQmlPrivate::qmlregister(QQmlPrivate::TypeRegistration, &type); Executed by:
| 9172 | ||||||
41 | } | - | ||||||
42 | - | |||||||
43 | int __attribute__((visibility("default"))) qmlRegisterTypeNotAvailable(const char *uri, int versionMajor, int versionMinor, const char *qmlName, const QString& message); | - | ||||||
44 | - | |||||||
45 | template<typename T> | - | ||||||
46 | int qmlRegisterUncreatableType(const char *uri, int versionMajor, int versionMinor, const char *qmlName, const QString& reason) | - | ||||||
47 | { | - | ||||||
48 | const char *className = T::staticMetaObject.className(); const int nameLen = int(strlen(className)); QVarLengthArray<char,48> pointerName(nameLen+2); memcpy(pointerName.data(), className, size_t(nameLen)); pointerName[nameLen] = '*'; pointerName[nameLen+1] = '\0'; const int listLen = int(strlen("QQmlListProperty<")); QVarLengthArray<char,64> listName(listLen + nameLen + 2); memcpy(listName.data(), "QQmlListProperty<", size_t(listLen)); memcpy(listName.data()+listLen, className, size_t(nameLen)); listName[listLen+nameLen] = '>'; listName[listLen+nameLen+1] = '\0'; | - | ||||||
49 | - | |||||||
50 | QQmlPrivate::RegisterType type = { | - | ||||||
51 | 0, | - | ||||||
52 | - | |||||||
53 | qRegisterNormalizedMetaType<T *>(pointerName.constData()), | - | ||||||
54 | qRegisterNormalizedMetaType<QQmlListProperty<T> >(listName.constData()), | - | ||||||
55 | 0, | - | ||||||
56 | nullptr, | - | ||||||
57 | reason, | - | ||||||
58 | - | |||||||
59 | uri, versionMajor, versionMinor, qmlName, &T::staticMetaObject, | - | ||||||
60 | - | |||||||
61 | QQmlPrivate::attachedPropertiesFunc<T>(), | - | ||||||
62 | QQmlPrivate::attachedPropertiesMetaObject<T>(), | - | ||||||
63 | - | |||||||
64 | QQmlPrivate::StaticCastSelector<T,QQmlParserStatus>::cast(), | - | ||||||
65 | QQmlPrivate::StaticCastSelector<T,QQmlPropertyValueSource>::cast(), | - | ||||||
66 | QQmlPrivate::StaticCastSelector<T,QQmlPropertyValueInterceptor>::cast(), | - | ||||||
67 | - | |||||||
68 | nullptr, nullptr, | - | ||||||
69 | - | |||||||
70 | nullptr, | - | ||||||
71 | 0 | - | ||||||
72 | }; | - | ||||||
73 | - | |||||||
74 | return executed 6784 times by 135 tests: QQmlPrivate::qmlregister(QQmlPrivate::TypeRegistration, &type);return QQmlPrivate::qmlregister(QQmlPrivate::TypeRegistration, &type); Executed by:
executed 6784 times by 135 tests: return QQmlPrivate::qmlregister(QQmlPrivate::TypeRegistration, &type); Executed by:
| 6784 | ||||||
75 | } | - | ||||||
76 | - | |||||||
77 | template<typename T, int metaObjectRevision> | - | ||||||
78 | int qmlRegisterUncreatableType(const char *uri, int versionMajor, int versionMinor, const char *qmlName, const QString& reason) | - | ||||||
79 | { | - | ||||||
80 | const char *className = T::staticMetaObject.className(); const int nameLen = int(strlen(className)); QVarLengthArray<char,48> pointerName(nameLen+2); memcpy(pointerName.data(), className, size_t(nameLen)); pointerName[nameLen] = '*'; pointerName[nameLen+1] = '\0'; const int listLen = int(strlen("QQmlListProperty<")); QVarLengthArray<char,64> listName(listLen + nameLen + 2); memcpy(listName.data(), "QQmlListProperty<", size_t(listLen)); memcpy(listName.data()+listLen, className, size_t(nameLen)); listName[listLen+nameLen] = '>'; listName[listLen+nameLen+1] = '\0'; | - | ||||||
81 | - | |||||||
82 | QQmlPrivate::RegisterType type = { | - | ||||||
83 | 1, | - | ||||||
84 | - | |||||||
85 | qRegisterNormalizedMetaType<T *>(pointerName.constData()), | - | ||||||
86 | qRegisterNormalizedMetaType<QQmlListProperty<T> >(listName.constData()), | - | ||||||
87 | 0, | - | ||||||
88 | nullptr, | - | ||||||
89 | reason, | - | ||||||
90 | - | |||||||
91 | uri, versionMajor, versionMinor, qmlName, &T::staticMetaObject, | - | ||||||
92 | - | |||||||
93 | QQmlPrivate::attachedPropertiesFunc<T>(), | - | ||||||
94 | QQmlPrivate::attachedPropertiesMetaObject<T>(), | - | ||||||
95 | - | |||||||
96 | QQmlPrivate::StaticCastSelector<T,QQmlParserStatus>::cast(), | - | ||||||
97 | QQmlPrivate::StaticCastSelector<T,QQmlPropertyValueSource>::cast(), | - | ||||||
98 | QQmlPrivate::StaticCastSelector<T,QQmlPropertyValueInterceptor>::cast(), | - | ||||||
99 | - | |||||||
100 | nullptr, nullptr, | - | ||||||
101 | - | |||||||
102 | nullptr, | - | ||||||
103 | metaObjectRevision | - | ||||||
104 | }; | - | ||||||
105 | - | |||||||
106 | return executed 3576 times by 134 tests: QQmlPrivate::qmlregister(QQmlPrivate::TypeRegistration, &type);return QQmlPrivate::qmlregister(QQmlPrivate::TypeRegistration, &type); Executed by:
executed 3576 times by 134 tests: return QQmlPrivate::qmlregister(QQmlPrivate::TypeRegistration, &type); Executed by:
| 3576 | ||||||
107 | } | - | ||||||
108 | - | |||||||
109 | template<typename T, typename E> | - | ||||||
110 | int qmlRegisterExtendedUncreatableType(const char *uri, int versionMajor, int versionMinor, const char *qmlName, const QString& reason) | - | ||||||
111 | { | - | ||||||
112 | const char *className = T::staticMetaObject.className(); const int nameLen = int(strlen(className)); QVarLengthArray<char,48> pointerName(nameLen+2); memcpy(pointerName.data(), className, size_t(nameLen)); pointerName[nameLen] = '*'; pointerName[nameLen+1] = '\0'; const int listLen = int(strlen("QQmlListProperty<")); QVarLengthArray<char,64> listName(listLen + nameLen + 2); memcpy(listName.data(), "QQmlListProperty<", size_t(listLen)); memcpy(listName.data()+listLen, className, size_t(nameLen)); listName[listLen+nameLen] = '>'; listName[listLen+nameLen+1] = '\0'; | - | ||||||
113 | - | |||||||
114 | QQmlAttachedPropertiesFunc attached = QQmlPrivate::attachedPropertiesFunc<E>(); | - | ||||||
115 | const QMetaObject * attachedMetaObject = QQmlPrivate::attachedPropertiesMetaObject<E>(); | - | ||||||
116 | if (!attached
| 0-2 | ||||||
117 | attached = QQmlPrivate::attachedPropertiesFunc<T>(); | - | ||||||
118 | attachedMetaObject = QQmlPrivate::attachedPropertiesMetaObject<T>(); | - | ||||||
119 | } executed 2 times by 1 test: end of block Executed by:
| 2 | ||||||
120 | - | |||||||
121 | QQmlPrivate::RegisterType type = { | - | ||||||
122 | 0, | - | ||||||
123 | - | |||||||
124 | qRegisterNormalizedMetaType<T *>(pointerName.constData()), | - | ||||||
125 | qRegisterNormalizedMetaType<QQmlListProperty<T> >(listName.constData()), | - | ||||||
126 | 0, | - | ||||||
127 | nullptr, | - | ||||||
128 | reason, | - | ||||||
129 | - | |||||||
130 | uri, versionMajor, versionMinor, qmlName, &T::staticMetaObject, | - | ||||||
131 | - | |||||||
132 | attached, | - | ||||||
133 | attachedMetaObject, | - | ||||||
134 | - | |||||||
135 | QQmlPrivate::StaticCastSelector<T,QQmlParserStatus>::cast(), | - | ||||||
136 | QQmlPrivate::StaticCastSelector<T,QQmlPropertyValueSource>::cast(), | - | ||||||
137 | QQmlPrivate::StaticCastSelector<T,QQmlPropertyValueInterceptor>::cast(), | - | ||||||
138 | - | |||||||
139 | QQmlPrivate::createParent<E>, &E::staticMetaObject, | - | ||||||
140 | - | |||||||
141 | nullptr, | - | ||||||
142 | 0 | - | ||||||
143 | }; | - | ||||||
144 | - | |||||||
145 | return executed 2 times by 1 test: QQmlPrivate::qmlregister(QQmlPrivate::TypeRegistration, &type);return QQmlPrivate::qmlregister(QQmlPrivate::TypeRegistration, &type); Executed by:
executed 2 times by 1 test: return QQmlPrivate::qmlregister(QQmlPrivate::TypeRegistration, &type); Executed by:
| 2 | ||||||
146 | } | - | ||||||
147 | - | |||||||
148 | template<typename T, typename E, int metaObjectRevision> | - | ||||||
149 | int qmlRegisterExtendedUncreatableType(const char *uri, int versionMajor, int versionMinor, const char *qmlName, const QString& reason) | - | ||||||
150 | { | - | ||||||
151 | const char *className = T::staticMetaObject.className(); const int nameLen = int(strlen(className)); QVarLengthArray<char,48> pointerName(nameLen+2); memcpy(pointerName.data(), className, size_t(nameLen)); pointerName[nameLen] = '*'; pointerName[nameLen+1] = '\0'; const int listLen = int(strlen("QQmlListProperty<")); QVarLengthArray<char,64> listName(listLen + nameLen + 2); memcpy(listName.data(), "QQmlListProperty<", size_t(listLen)); memcpy(listName.data()+listLen, className, size_t(nameLen)); listName[listLen+nameLen] = '>'; listName[listLen+nameLen+1] = '\0'; | - | ||||||
152 | - | |||||||
153 | QQmlAttachedPropertiesFunc attached = QQmlPrivate::attachedPropertiesFunc<E>(); | - | ||||||
154 | const QMetaObject * attachedMetaObject = QQmlPrivate::attachedPropertiesMetaObject<E>(); | - | ||||||
155 | if (!attached
| 0 | ||||||
156 | attached = QQmlPrivate::attachedPropertiesFunc<T>(); | - | ||||||
157 | attachedMetaObject = QQmlPrivate::attachedPropertiesMetaObject<T>(); | - | ||||||
158 | } never executed: end of block | 0 | ||||||
159 | - | |||||||
160 | QQmlPrivate::RegisterType type = { | - | ||||||
161 | 1, | - | ||||||
162 | - | |||||||
163 | qRegisterNormalizedMetaType<T *>(pointerName.constData()), | - | ||||||
164 | qRegisterNormalizedMetaType<QQmlListProperty<T> >(listName.constData()), | - | ||||||
165 | 0, | - | ||||||
166 | nullptr, | - | ||||||
167 | reason, | - | ||||||
168 | - | |||||||
169 | uri, versionMajor, versionMinor, qmlName, &T::staticMetaObject, | - | ||||||
170 | - | |||||||
171 | attached, | - | ||||||
172 | attachedMetaObject, | - | ||||||
173 | - | |||||||
174 | QQmlPrivate::StaticCastSelector<T,QQmlParserStatus>::cast(), | - | ||||||
175 | QQmlPrivate::StaticCastSelector<T,QQmlPropertyValueSource>::cast(), | - | ||||||
176 | QQmlPrivate::StaticCastSelector<T,QQmlPropertyValueInterceptor>::cast(), | - | ||||||
177 | - | |||||||
178 | QQmlPrivate::createParent<E>, &E::staticMetaObject, | - | ||||||
179 | - | |||||||
180 | nullptr, | - | ||||||
181 | metaObjectRevision | - | ||||||
182 | }; | - | ||||||
183 | - | |||||||
184 | return never executed: QQmlPrivate::qmlregister(QQmlPrivate::TypeRegistration, &type);return QQmlPrivate::qmlregister(QQmlPrivate::TypeRegistration, &type); never executed: return QQmlPrivate::qmlregister(QQmlPrivate::TypeRegistration, &type); | 0 | ||||||
185 | } | - | ||||||
186 | - | |||||||
187 | __attribute__((visibility("default"))) int qmlRegisterUncreatableMetaObject(const QMetaObject &staticMetaObject, const char *uri, int versionMajor, int versionMinor, const char *qmlName, const QString& reason); | - | ||||||
188 | - | |||||||
189 | template<typename T> | - | ||||||
190 | int qmlRegisterType(const char *uri, int versionMajor, int versionMinor, const char *qmlName) | - | ||||||
191 | { | - | ||||||
192 | const char *className = T::staticMetaObject.className(); const int nameLen = int(strlen(className)); QVarLengthArray<char,48> pointerName(nameLen+2); memcpy(pointerName.data(), className, size_t(nameLen)); pointerName[nameLen] = '*'; pointerName[nameLen+1] = '\0'; const int listLen = int(strlen("QQmlListProperty<")); QVarLengthArray<char,64> listName(listLen + nameLen + 2); memcpy(listName.data(), "QQmlListProperty<", size_t(listLen)); memcpy(listName.data()+listLen, className, size_t(nameLen)); listName[listLen+nameLen] = '>'; listName[listLen+nameLen+1] = '\0'; | - | ||||||
193 | - | |||||||
194 | QQmlPrivate::RegisterType type = { | - | ||||||
195 | 0, | - | ||||||
196 | - | |||||||
197 | qRegisterNormalizedMetaType<T *>(pointerName.constData()), | - | ||||||
198 | qRegisterNormalizedMetaType<QQmlListProperty<T> >(listName.constData()), | - | ||||||
199 | sizeof(T), QQmlPrivate::createInto<T>, | - | ||||||
200 | QString(), | - | ||||||
201 | - | |||||||
202 | uri, versionMajor, versionMinor, qmlName, &T::staticMetaObject, | - | ||||||
203 | - | |||||||
204 | QQmlPrivate::attachedPropertiesFunc<T>(), | - | ||||||
205 | QQmlPrivate::attachedPropertiesMetaObject<T>(), | - | ||||||
206 | - | |||||||
207 | QQmlPrivate::StaticCastSelector<T,QQmlParserStatus>::cast(), | - | ||||||
208 | QQmlPrivate::StaticCastSelector<T,QQmlPropertyValueSource>::cast(), | - | ||||||
209 | QQmlPrivate::StaticCastSelector<T,QQmlPropertyValueInterceptor>::cast(), | - | ||||||
210 | - | |||||||
211 | nullptr, nullptr, | - | ||||||
212 | - | |||||||
213 | nullptr, | - | ||||||
214 | 0 | - | ||||||
215 | }; | - | ||||||
216 | - | |||||||
217 | return executed 38610 times by 138 tests: QQmlPrivate::qmlregister(QQmlPrivate::TypeRegistration, &type);return QQmlPrivate::qmlregister(QQmlPrivate::TypeRegistration, &type); Executed by:
executed 38610 times by 138 tests: return QQmlPrivate::qmlregister(QQmlPrivate::TypeRegistration, &type); Executed by:
| 38610 | ||||||
218 | } | - | ||||||
219 | - | |||||||
220 | template<typename T, int metaObjectRevision> | - | ||||||
221 | int qmlRegisterType(const char *uri, int versionMajor, int versionMinor, const char *qmlName) | - | ||||||
222 | { | - | ||||||
223 | const char *className = T::staticMetaObject.className(); const int nameLen = int(strlen(className)); QVarLengthArray<char,48> pointerName(nameLen+2); memcpy(pointerName.data(), className, size_t(nameLen)); pointerName[nameLen] = '*'; pointerName[nameLen+1] = '\0'; const int listLen = int(strlen("QQmlListProperty<")); QVarLengthArray<char,64> listName(listLen + nameLen + 2); memcpy(listName.data(), "QQmlListProperty<", size_t(listLen)); memcpy(listName.data()+listLen, className, size_t(nameLen)); listName[listLen+nameLen] = '>'; listName[listLen+nameLen+1] = '\0'; | - | ||||||
224 | - | |||||||
225 | QQmlPrivate::RegisterType type = { | - | ||||||
226 | 1, | - | ||||||
227 | - | |||||||
228 | qRegisterNormalizedMetaType<T *>(pointerName.constData()), | - | ||||||
229 | qRegisterNormalizedMetaType<QQmlListProperty<T> >(listName.constData()), | - | ||||||
230 | sizeof(T), QQmlPrivate::createInto<T>, | - | ||||||
231 | QString(), | - | ||||||
232 | - | |||||||
233 | uri, versionMajor, versionMinor, qmlName, &T::staticMetaObject, | - | ||||||
234 | - | |||||||
235 | QQmlPrivate::attachedPropertiesFunc<T>(), | - | ||||||
236 | QQmlPrivate::attachedPropertiesMetaObject<T>(), | - | ||||||
237 | - | |||||||
238 | QQmlPrivate::StaticCastSelector<T,QQmlParserStatus>::cast(), | - | ||||||
239 | QQmlPrivate::StaticCastSelector<T,QQmlPropertyValueSource>::cast(), | - | ||||||
240 | QQmlPrivate::StaticCastSelector<T,QQmlPropertyValueInterceptor>::cast(), | - | ||||||
241 | - | |||||||
242 | nullptr, nullptr, | - | ||||||
243 | - | |||||||
244 | nullptr, | - | ||||||
245 | metaObjectRevision | - | ||||||
246 | }; | - | ||||||
247 | - | |||||||
248 | return executed 18728 times by 136 tests: QQmlPrivate::qmlregister(QQmlPrivate::TypeRegistration, &type);return QQmlPrivate::qmlregister(QQmlPrivate::TypeRegistration, &type); Executed by:
executed 18728 times by 136 tests: return QQmlPrivate::qmlregister(QQmlPrivate::TypeRegistration, &type); Executed by:
| 18728 | ||||||
249 | } | - | ||||||
250 | - | |||||||
251 | template<typename T, int metaObjectRevision> | - | ||||||
252 | int qmlRegisterRevision(const char *uri, int versionMajor, int versionMinor) | - | ||||||
253 | { | - | ||||||
254 | const char *className = T::staticMetaObject.className(); const int nameLen = int(strlen(className)); QVarLengthArray<char,48> pointerName(nameLen+2); memcpy(pointerName.data(), className, size_t(nameLen)); pointerName[nameLen] = '*'; pointerName[nameLen+1] = '\0'; const int listLen = int(strlen("QQmlListProperty<")); QVarLengthArray<char,64> listName(listLen + nameLen + 2); memcpy(listName.data(), "QQmlListProperty<", size_t(listLen)); memcpy(listName.data()+listLen, className, size_t(nameLen)); listName[listLen+nameLen] = '>'; listName[listLen+nameLen+1] = '\0'; | - | ||||||
255 | - | |||||||
256 | QQmlPrivate::RegisterType type = { | - | ||||||
257 | 1, | - | ||||||
258 | - | |||||||
259 | qRegisterNormalizedMetaType<T *>(pointerName.constData()), | - | ||||||
260 | qRegisterNormalizedMetaType<QQmlListProperty<T> >(listName.constData()), | - | ||||||
261 | sizeof(T), QQmlPrivate::createInto<T>, | - | ||||||
262 | QString(), | - | ||||||
263 | - | |||||||
264 | uri, versionMajor, versionMinor, nullptr, &T::staticMetaObject, | - | ||||||
265 | - | |||||||
266 | QQmlPrivate::attachedPropertiesFunc<T>(), | - | ||||||
267 | QQmlPrivate::attachedPropertiesMetaObject<T>(), | - | ||||||
268 | - | |||||||
269 | QQmlPrivate::StaticCastSelector<T,QQmlParserStatus>::cast(), | - | ||||||
270 | QQmlPrivate::StaticCastSelector<T,QQmlPropertyValueSource>::cast(), | - | ||||||
271 | QQmlPrivate::StaticCastSelector<T,QQmlPropertyValueInterceptor>::cast(), | - | ||||||
272 | - | |||||||
273 | nullptr, nullptr, | - | ||||||
274 | - | |||||||
275 | nullptr, | - | ||||||
276 | metaObjectRevision | - | ||||||
277 | }; | - | ||||||
278 | - | |||||||
279 | return executed 240 times by 23 tests: QQmlPrivate::qmlregister(QQmlPrivate::TypeRegistration, &type);return QQmlPrivate::qmlregister(QQmlPrivate::TypeRegistration, &type); Executed by:
executed 240 times by 23 tests: return QQmlPrivate::qmlregister(QQmlPrivate::TypeRegistration, &type); Executed by:
| 240 | ||||||
280 | } | - | ||||||
281 | - | |||||||
282 | - | |||||||
283 | template<typename T, typename E> | - | ||||||
284 | int qmlRegisterExtendedType() | - | ||||||
285 | { | - | ||||||
286 | const char *className = T::staticMetaObject.className(); const int nameLen = int(strlen(className)); QVarLengthArray<char,48> pointerName(nameLen+2); memcpy(pointerName.data(), className, size_t(nameLen)); pointerName[nameLen] = '*'; pointerName[nameLen+1] = '\0'; const int listLen = int(strlen("QQmlListProperty<")); QVarLengthArray<char,64> listName(listLen + nameLen + 2); memcpy(listName.data(), "QQmlListProperty<", size_t(listLen)); memcpy(listName.data()+listLen, className, size_t(nameLen)); listName[listLen+nameLen] = '>'; listName[listLen+nameLen+1] = '\0'; | - | ||||||
287 | - | |||||||
288 | QQmlPrivate::RegisterType type = { | - | ||||||
289 | 0, | - | ||||||
290 | - | |||||||
291 | qRegisterNormalizedMetaType<T *>(pointerName.constData()), | - | ||||||
292 | qRegisterNormalizedMetaType<QQmlListProperty<T> >(listName.constData()), | - | ||||||
293 | 0, | - | ||||||
294 | nullptr, | - | ||||||
295 | QString(), | - | ||||||
296 | - | |||||||
297 | nullptr, 0, 0, nullptr, &T::staticMetaObject, | - | ||||||
298 | - | |||||||
299 | QQmlPrivate::attachedPropertiesFunc<T>(), | - | ||||||
300 | QQmlPrivate::attachedPropertiesMetaObject<T>(), | - | ||||||
301 | - | |||||||
302 | QQmlPrivate::StaticCastSelector<T,QQmlParserStatus>::cast(), | - | ||||||
303 | QQmlPrivate::StaticCastSelector<T,QQmlPropertyValueSource>::cast(), | - | ||||||
304 | QQmlPrivate::StaticCastSelector<T,QQmlPropertyValueInterceptor>::cast(), | - | ||||||
305 | - | |||||||
306 | QQmlPrivate::createParent<E>, &E::staticMetaObject, | - | ||||||
307 | - | |||||||
308 | nullptr, | - | ||||||
309 | 0 | - | ||||||
310 | }; | - | ||||||
311 | - | |||||||
312 | return never executed: QQmlPrivate::qmlregister(QQmlPrivate::TypeRegistration, &type);return QQmlPrivate::qmlregister(QQmlPrivate::TypeRegistration, &type); never executed: return QQmlPrivate::qmlregister(QQmlPrivate::TypeRegistration, &type); | 0 | ||||||
313 | } | - | ||||||
314 | - | |||||||
315 | template<typename T, typename E> | - | ||||||
316 | int qmlRegisterExtendedType(const char *uri, int versionMajor, int versionMinor, | - | ||||||
317 | const char *qmlName) | - | ||||||
318 | { | - | ||||||
319 | const char *className = T::staticMetaObject.className(); const int nameLen = int(strlen(className)); QVarLengthArray<char,48> pointerName(nameLen+2); memcpy(pointerName.data(), className, size_t(nameLen)); pointerName[nameLen] = '*'; pointerName[nameLen+1] = '\0'; const int listLen = int(strlen("QQmlListProperty<")); QVarLengthArray<char,64> listName(listLen + nameLen + 2); memcpy(listName.data(), "QQmlListProperty<", size_t(listLen)); memcpy(listName.data()+listLen, className, size_t(nameLen)); listName[listLen+nameLen] = '>'; listName[listLen+nameLen+1] = '\0'; | - | ||||||
320 | - | |||||||
321 | QQmlAttachedPropertiesFunc attached = QQmlPrivate::attachedPropertiesFunc<E>(); | - | ||||||
322 | const QMetaObject * attachedMetaObject = QQmlPrivate::attachedPropertiesMetaObject<E>(); | - | ||||||
323 | if (!attached
| 0-8 | ||||||
324 | attached = QQmlPrivate::attachedPropertiesFunc<T>(); | - | ||||||
325 | attachedMetaObject = QQmlPrivate::attachedPropertiesMetaObject<T>(); | - | ||||||
326 | } executed 8 times by 1 test: end of block Executed by:
| 8 | ||||||
327 | - | |||||||
328 | QQmlPrivate::RegisterType type = { | - | ||||||
329 | 0, | - | ||||||
330 | - | |||||||
331 | qRegisterNormalizedMetaType<T *>(pointerName.constData()), | - | ||||||
332 | qRegisterNormalizedMetaType<QQmlListProperty<T> >(listName.constData()), | - | ||||||
333 | sizeof(T), QQmlPrivate::createInto<T>, | - | ||||||
334 | QString(), | - | ||||||
335 | - | |||||||
336 | uri, versionMajor, versionMinor, qmlName, &T::staticMetaObject, | - | ||||||
337 | - | |||||||
338 | attached, | - | ||||||
339 | attachedMetaObject, | - | ||||||
340 | - | |||||||
341 | QQmlPrivate::StaticCastSelector<T,QQmlParserStatus>::cast(), | - | ||||||
342 | QQmlPrivate::StaticCastSelector<T,QQmlPropertyValueSource>::cast(), | - | ||||||
343 | QQmlPrivate::StaticCastSelector<T,QQmlPropertyValueInterceptor>::cast(), | - | ||||||
344 | - | |||||||
345 | QQmlPrivate::createParent<E>, &E::staticMetaObject, | - | ||||||
346 | - | |||||||
347 | nullptr, | - | ||||||
348 | 0 | - | ||||||
349 | }; | - | ||||||
350 | - | |||||||
351 | return executed 8 times by 1 test: QQmlPrivate::qmlregister(QQmlPrivate::TypeRegistration, &type);return QQmlPrivate::qmlregister(QQmlPrivate::TypeRegistration, &type); Executed by:
executed 8 times by 1 test: return QQmlPrivate::qmlregister(QQmlPrivate::TypeRegistration, &type); Executed by:
| 8 | ||||||
352 | } | - | ||||||
353 | - | |||||||
354 | template<typename T> | - | ||||||
355 | int qmlRegisterInterface(const char *typeName) | - | ||||||
356 | { | - | ||||||
357 | QByteArray name(typeName); | - | ||||||
358 | - | |||||||
359 | QByteArray pointerName(name + '*'); | - | ||||||
360 | QByteArray listName("QQmlListProperty<" + name + '>'); | - | ||||||
361 | - | |||||||
362 | QQmlPrivate::RegisterInterface qmlInterface = { | - | ||||||
363 | 0, | - | ||||||
364 | - | |||||||
365 | qRegisterNormalizedMetaType<T *>(pointerName.constData()), | - | ||||||
366 | qRegisterNormalizedMetaType<QQmlListProperty<T> >(listName.constData()), | - | ||||||
367 | - | |||||||
368 | qobject_interface_iid<T *>() | - | ||||||
369 | }; | - | ||||||
370 | - | |||||||
371 | return never executed: QQmlPrivate::qmlregister(QQmlPrivate::InterfaceRegistration, &qmlInterface);return QQmlPrivate::qmlregister(QQmlPrivate::InterfaceRegistration, &qmlInterface); never executed: return QQmlPrivate::qmlregister(QQmlPrivate::InterfaceRegistration, &qmlInterface); | 0 | ||||||
372 | } | - | ||||||
373 | - | |||||||
374 | template<typename T> | - | ||||||
375 | int qmlRegisterCustomType(const char *uri, int versionMajor, int versionMinor, | - | ||||||
376 | const char *qmlName, QQmlCustomParser *parser) | - | ||||||
377 | { | - | ||||||
378 | const char *className = T::staticMetaObject.className(); const int nameLen = int(strlen(className)); QVarLengthArray<char,48> pointerName(nameLen+2); memcpy(pointerName.data(), className, size_t(nameLen)); pointerName[nameLen] = '*'; pointerName[nameLen+1] = '\0'; const int listLen = int(strlen("QQmlListProperty<")); QVarLengthArray<char,64> listName(listLen + nameLen + 2); memcpy(listName.data(), "QQmlListProperty<", size_t(listLen)); memcpy(listName.data()+listLen, className, size_t(nameLen)); listName[listLen+nameLen] = '>'; listName[listLen+nameLen+1] = '\0'; | - | ||||||
379 | - | |||||||
380 | QQmlPrivate::RegisterType type = { | - | ||||||
381 | 0, | - | ||||||
382 | - | |||||||
383 | qRegisterNormalizedMetaType<T *>(pointerName.constData()), | - | ||||||
384 | qRegisterNormalizedMetaType<QQmlListProperty<T> >(listName.constData()), | - | ||||||
385 | sizeof(T), QQmlPrivate::createInto<T>, | - | ||||||
386 | QString(), | - | ||||||
387 | - | |||||||
388 | uri, versionMajor, versionMinor, qmlName, &T::staticMetaObject, | - | ||||||
389 | - | |||||||
390 | QQmlPrivate::attachedPropertiesFunc<T>(), | - | ||||||
391 | QQmlPrivate::attachedPropertiesMetaObject<T>(), | - | ||||||
392 | - | |||||||
393 | QQmlPrivate::StaticCastSelector<T,QQmlParserStatus>::cast(), | - | ||||||
394 | QQmlPrivate::StaticCastSelector<T,QQmlPropertyValueSource>::cast(), | - | ||||||
395 | QQmlPrivate::StaticCastSelector<T,QQmlPropertyValueInterceptor>::cast(), | - | ||||||
396 | - | |||||||
397 | nullptr, nullptr, | - | ||||||
398 | - | |||||||
399 | parser, | - | ||||||
400 | 0 | - | ||||||
401 | }; | - | ||||||
402 | - | |||||||
403 | return executed 382 times by 135 tests: QQmlPrivate::qmlregister(QQmlPrivate::TypeRegistration, &type);return QQmlPrivate::qmlregister(QQmlPrivate::TypeRegistration, &type); Executed by:
executed 382 times by 135 tests: return QQmlPrivate::qmlregister(QQmlPrivate::TypeRegistration, &type); Executed by:
| 382 | ||||||
404 | } | - | ||||||
405 | - | |||||||
406 | template<typename T, typename E> | - | ||||||
407 | int qmlRegisterCustomExtendedType(const char *uri, int versionMajor, int versionMinor, | - | ||||||
408 | const char *qmlName, QQmlCustomParser *parser) | - | ||||||
409 | { | - | ||||||
410 | const char *className = T::staticMetaObject.className(); const int nameLen = int(strlen(className)); QVarLengthArray<char,48> pointerName(nameLen+2); memcpy(pointerName.data(), className, size_t(nameLen)); pointerName[nameLen] = '*'; pointerName[nameLen+1] = '\0'; const int listLen = int(strlen("QQmlListProperty<")); QVarLengthArray<char,64> listName(listLen + nameLen + 2); memcpy(listName.data(), "QQmlListProperty<", size_t(listLen)); memcpy(listName.data()+listLen, className, size_t(nameLen)); listName[listLen+nameLen] = '>'; listName[listLen+nameLen+1] = '\0'; | - | ||||||
411 | - | |||||||
412 | QQmlAttachedPropertiesFunc attached = QQmlPrivate::attachedPropertiesFunc<E>(); | - | ||||||
413 | const QMetaObject * attachedMetaObject = QQmlPrivate::attachedPropertiesMetaObject<E>(); | - | ||||||
414 | if (!attached
| 0 | ||||||
415 | attached = QQmlPrivate::attachedPropertiesFunc<T>(); | - | ||||||
416 | attachedMetaObject = QQmlPrivate::attachedPropertiesMetaObject<T>(); | - | ||||||
417 | } never executed: end of block | 0 | ||||||
418 | - | |||||||
419 | QQmlPrivate::RegisterType type = { | - | ||||||
420 | 0, | - | ||||||
421 | - | |||||||
422 | qRegisterNormalizedMetaType<T *>(pointerName.constData()), | - | ||||||
423 | qRegisterNormalizedMetaType<QQmlListProperty<T> >(listName.constData()), | - | ||||||
424 | sizeof(T), QQmlPrivate::createInto<T>, | - | ||||||
425 | QString(), | - | ||||||
426 | - | |||||||
427 | uri, versionMajor, versionMinor, qmlName, &T::staticMetaObject, | - | ||||||
428 | - | |||||||
429 | attached, | - | ||||||
430 | attachedMetaObject, | - | ||||||
431 | - | |||||||
432 | QQmlPrivate::StaticCastSelector<T,QQmlParserStatus>::cast(), | - | ||||||
433 | QQmlPrivate::StaticCastSelector<T,QQmlPropertyValueSource>::cast(), | - | ||||||
434 | QQmlPrivate::StaticCastSelector<T,QQmlPropertyValueInterceptor>::cast(), | - | ||||||
435 | - | |||||||
436 | QQmlPrivate::createParent<E>, &E::staticMetaObject, | - | ||||||
437 | - | |||||||
438 | parser, | - | ||||||
439 | 0 | - | ||||||
440 | }; | - | ||||||
441 | - | |||||||
442 | return never executed: QQmlPrivate::qmlregister(QQmlPrivate::TypeRegistration, &type);return QQmlPrivate::qmlregister(QQmlPrivate::TypeRegistration, &type); never executed: return QQmlPrivate::qmlregister(QQmlPrivate::TypeRegistration, &type); | 0 | ||||||
443 | } | - | ||||||
444 | - | |||||||
445 | class QQmlContext; | - | ||||||
446 | class QQmlEngine; | - | ||||||
447 | class QJSValue; | - | ||||||
448 | class QJSEngine; | - | ||||||
449 | - | |||||||
450 | - | |||||||
451 | namespace QtQml { | - | ||||||
452 | - | |||||||
453 | - | |||||||
454 | __attribute__((visibility("default"))) void qmlExecuteDeferred(QObject *); | - | ||||||
455 | __attribute__((visibility("default"))) QQmlContext *qmlContext(const QObject *); | - | ||||||
456 | __attribute__((visibility("default"))) QQmlEngine *qmlEngine(const QObject *); | - | ||||||
457 | __attribute__((visibility("default"))) QObject *qmlAttachedPropertiesObjectById(int, const QObject *, bool create = true); | - | ||||||
458 | __attribute__((visibility("default"))) QObject *qmlAttachedPropertiesObject(int *, const QObject *, | - | ||||||
459 | const QMetaObject *, bool create); | - | ||||||
460 | - | |||||||
461 | } | - | ||||||
462 | - | |||||||
463 | - | |||||||
464 | - | |||||||
465 | #pragma GCC diagnostic push | - | ||||||
466 | - | |||||||
467 | - | |||||||
468 | - | |||||||
469 | - | |||||||
470 | using namespace QtQml; | - | ||||||
471 | - | |||||||
472 | - | |||||||
473 | #pragma GCC diagnostic pop | - | ||||||
474 | - | |||||||
475 | - | |||||||
476 | - | |||||||
477 | __attribute__((visibility("default"))) bool qmlProtectModule(const char* uri, int majVersion); | - | ||||||
478 | __attribute__((visibility("default"))) void qmlRegisterModule(const char *uri, int versionMajor, int versionMinor); | - | ||||||
479 | - | |||||||
480 | template<typename T> | - | ||||||
481 | QObject *qmlAttachedPropertiesObject(const QObject *obj, bool create = true) | - | ||||||
482 | { | - | ||||||
483 | static int idx = -1; | - | ||||||
484 | return executed 387221 times by 33 tests: qmlAttachedPropertiesObject(&idx, obj, &T::staticMetaObject, create);return qmlAttachedPropertiesObject(&idx, obj, &T::staticMetaObject, create); Executed by:
executed 387221 times by 33 tests: return qmlAttachedPropertiesObject(&idx, obj, &T::staticMetaObject, create); Executed by:
| 387221 | ||||||
485 | } | - | ||||||
486 | - | |||||||
487 | __attribute__((visibility("default"))) void qmlRegisterBaseTypes(const char *uri, int versionMajor, int versionMinor); | - | ||||||
488 | - | |||||||
489 | inline int qmlRegisterSingletonType(const char *uri, int versionMajor, int versionMinor, const char *typeName, | - | ||||||
490 | QJSValue (*callback)(QQmlEngine *, QJSEngine *)) | - | ||||||
491 | { | - | ||||||
492 | QQmlPrivate::RegisterSingletonType api = { | - | ||||||
493 | 0, | - | ||||||
494 | - | |||||||
495 | uri, versionMajor, versionMinor, typeName, | - | ||||||
496 | - | |||||||
497 | callback, nullptr, nullptr, 0, 0 | - | ||||||
498 | }; | - | ||||||
499 | - | |||||||
500 | return executed 6 times by 1 test: QQmlPrivate::qmlregister(QQmlPrivate::SingletonRegistration, &api);return QQmlPrivate::qmlregister(QQmlPrivate::SingletonRegistration, &api); Executed by:
executed 6 times by 1 test: return QQmlPrivate::qmlregister(QQmlPrivate::SingletonRegistration, &api); Executed by:
| 6 | ||||||
501 | } | - | ||||||
502 | - | |||||||
503 | enum { QmlCurrentSingletonTypeRegistrationVersion = 2 }; | - | ||||||
504 | template <typename T> | - | ||||||
505 | inline int qmlRegisterSingletonType(const char *uri, int versionMajor, int versionMinor, const char *typeName, | - | ||||||
506 | QObject *(*callback)(QQmlEngine *, QJSEngine *)) | - | ||||||
507 | { | - | ||||||
508 | const char *className = T::staticMetaObject.className(); const int nameLen = int(strlen(className)); QVarLengthArray<char,48> pointerName(nameLen+2); memcpy(pointerName.data(), className, size_t(nameLen)); pointerName[nameLen] = '*'; pointerName[nameLen+1] = '\0'; const int listLen = int(strlen("QQmlListProperty<")); QVarLengthArray<char,64> listName(listLen + nameLen + 2); memcpy(listName.data(), "QQmlListProperty<", size_t(listLen)); memcpy(listName.data()+listLen, className, size_t(nameLen)); listName[listLen+nameLen] = '>'; listName[listLen+nameLen+1] = '\0'; | - | ||||||
509 | - | |||||||
510 | QQmlPrivate::RegisterSingletonType api = { | - | ||||||
511 | QmlCurrentSingletonTypeRegistrationVersion, | - | ||||||
512 | - | |||||||
513 | uri, versionMajor, versionMinor, typeName, | - | ||||||
514 | - | |||||||
515 | nullptr, callback, &T::staticMetaObject, qRegisterNormalizedMetaType<T *>(pointerName.constData()), 0 | - | ||||||
516 | }; | - | ||||||
517 | - | |||||||
518 | return executed 70 times by 11 tests: QQmlPrivate::qmlregister(QQmlPrivate::SingletonRegistration, &api);return QQmlPrivate::qmlregister(QQmlPrivate::SingletonRegistration, &api); Executed by:
executed 70 times by 11 tests: return QQmlPrivate::qmlregister(QQmlPrivate::SingletonRegistration, &api); Executed by:
| 70 | ||||||
519 | } | - | ||||||
520 | - | |||||||
521 | inline int qmlRegisterSingletonType(const QUrl &url, const char *uri, int versionMajor, int versionMinor, const char *qmlName) | - | ||||||
522 | { | - | ||||||
523 | if (url.isRelative()
| 0-6 | ||||||
524 | - | |||||||
525 | QMessageLogger(__FILE__, 614, __PRETTY_FUNCTION__).warning("qmlRegisterSingletonType requires absolute URLs."); | - | ||||||
526 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||
527 | } | - | ||||||
528 | - | |||||||
529 | QQmlPrivate::RegisterCompositeSingletonType type = { | - | ||||||
530 | url, | - | ||||||
531 | uri, | - | ||||||
532 | versionMajor, | - | ||||||
533 | versionMinor, | - | ||||||
534 | qmlName | - | ||||||
535 | }; | - | ||||||
536 | - | |||||||
537 | return executed 6 times by 3 tests: QQmlPrivate::qmlregister(QQmlPrivate::CompositeSingletonRegistration, &type);return QQmlPrivate::qmlregister(QQmlPrivate::CompositeSingletonRegistration, &type); Executed by:
executed 6 times by 3 tests: return QQmlPrivate::qmlregister(QQmlPrivate::CompositeSingletonRegistration, &type); Executed by:
| 6 | ||||||
538 | } | - | ||||||
539 | - | |||||||
540 | inline int qmlRegisterType(const QUrl &url, const char *uri, int versionMajor, int versionMinor, const char *qmlName) | - | ||||||
541 | { | - | ||||||
542 | if (url.isRelative()
| 0-4 | ||||||
543 | - | |||||||
544 | QMessageLogger(__FILE__, 633, __PRETTY_FUNCTION__).warning("qmlRegisterType requires absolute URLs."); | - | ||||||
545 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||
546 | } | - | ||||||
547 | - | |||||||
548 | QQmlPrivate::RegisterCompositeType type = { | - | ||||||
549 | url, | - | ||||||
550 | uri, | - | ||||||
551 | versionMajor, | - | ||||||
552 | versionMinor, | - | ||||||
553 | qmlName | - | ||||||
554 | }; | - | ||||||
555 | - | |||||||
556 | return executed 4 times by 1 test: QQmlPrivate::qmlregister(QQmlPrivate::CompositeRegistration, &type);return QQmlPrivate::qmlregister(QQmlPrivate::CompositeRegistration, &type); Executed by:
executed 4 times by 1 test: return QQmlPrivate::qmlregister(QQmlPrivate::CompositeRegistration, &type); Executed by:
| 4 | ||||||
557 | } | - | ||||||
558 | - | |||||||
559 | int __attribute__((visibility("default"))) qmlTypeId(const char *uri, int versionMajor, int versionMinor, const char *qmlName); | - | ||||||
560 | - | |||||||
561 | - | |||||||
562 | - | |||||||
563 | template <> struct QMetaTypeId< QObject * > { enum { Defined = 1 }; static int qt_metatype_id() { static QBasicAtomicInt metatype_id = { 0 }; if (const int id = metatype_id.loadAcquire()) return id; const int newId = qRegisterMetaType< QObject * >("QObject *", reinterpret_cast< QObject * *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; template <> struct QMetaTypeId< QQmlListProperty<QObject> > { enum { Defined = 1 }; static int qt_metatype_id() { static QBasicAtomicInt metatype_id = { 0 }; if (const int id = metatype_id.loadAcquire()) return id; const int newId = qRegisterMetaType< QQmlListProperty<QObject> >("QQmlListProperty<QObject>", reinterpret_cast< QQmlListProperty<QObject> *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; | - | ||||||
564 | template <> struct QMetaTypeId< QVariant > { enum { Defined = 1 }; static int qt_metatype_id() { static QBasicAtomicInt metatype_id = { 0 }; if (const int id = metatype_id.loadAcquire()) return id; const int newId = qRegisterMetaType< QVariant >("QVariant", reinterpret_cast< QVariant *>(quintptr(-1))); metatype_id.storeRelease(newId); return newId; } }; | - | ||||||
Switch to Source code | Preprocessed file |