Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/qml/qml/qqmltypeloader_p.h |
Switch to Source code | Preprocessed file |
Line | Source | Count |
---|---|---|
1 | - | |
2 | - | |
3 | - | |
4 | - | |
5 | - | |
6 | - | |
7 | - | |
8 | class QQmlScriptData; | - |
9 | class QQmlScriptBlob; | - |
10 | class QQmlQmldirData; | - |
11 | class QQmlTypeLoader; | - |
12 | class QQmlComponentPrivate; | - |
13 | class QQmlTypeData; | - |
14 | class QQmlTypeLoader; | - |
15 | class QQmlExtensionInterface; | - |
16 | class QQmlProfiler; | - |
17 | struct QQmlCompileError; | - |
18 | - | |
19 | namespace QmlIR { | - |
20 | struct Document; | - |
21 | } | - |
22 | - | |
23 | class __attribute__((visibility("default"))) QQmlDataBlob : public QQmlRefCount | - |
24 | { | - |
25 | public: | - |
26 | enum Status { | - |
27 | Null, | - |
28 | Loading, | - |
29 | WaitingForDependencies, | - |
30 | ResolvingDependencies, | - |
31 | Complete, | - |
32 | Error | - |
33 | }; | - |
34 | - | |
35 | enum Type { | - |
36 | QmlFile = QQmlAbstractUrlInterceptor::QmlFile, | - |
37 | JavaScriptFile = QQmlAbstractUrlInterceptor::JavaScriptFile, | - |
38 | QmldirFile = QQmlAbstractUrlInterceptor::QmldirFile | - |
39 | }; | - |
40 | - | |
41 | QQmlDataBlob(const QUrl &, Type, QQmlTypeLoader* manager); | - |
42 | ~QQmlDataBlob() override; | - |
43 | - | |
44 | void startLoading(); | - |
45 | - | |
46 | QQmlTypeLoader *typeLoader() const { return executed 489193 times by 142 tests: m_typeLoader;return m_typeLoader; Executed by:
executed 489193 times by 142 tests: }return m_typeLoader; Executed by:
| 489193 |
47 | - | |
48 | Type type() const; | - |
49 | - | |
50 | Status status() const; | - |
51 | bool isNull() const; | - |
52 | bool isLoading() const; | - |
53 | bool isWaiting() const; | - |
54 | bool isComplete() const; | - |
55 | bool isError() const; | - |
56 | bool isCompleteOrError() const; | - |
57 | - | |
58 | qreal progress() const; | - |
59 | - | |
60 | QUrl url() const; | - |
61 | QString urlString() const; | - |
62 | QUrl finalUrl() const; | - |
63 | QString finalUrlString() const; | - |
64 | - | |
65 | QList<QQmlError> errors() const; | - |
66 | - | |
67 | class SourceCodeData { | - |
68 | public: | - |
69 | QString readAll(QString *error) const; | - |
70 | QDateTime sourceTimeStamp() const; | - |
71 | bool exists() const; | - |
72 | bool isEmpty() const; | - |
73 | private: | - |
74 | friend class QQmlDataBlob; | - |
75 | friend class QQmlTypeLoader; | - |
76 | QString inlineSourceCode; | - |
77 | QFileInfo fileInfo; | - |
78 | bool hasInlineSourceCode = false; | - |
79 | }; | - |
80 | - | |
81 | protected: | - |
82 | - | |
83 | void setError(const QQmlError &); | - |
84 | void setError(const QList<QQmlError> &errors); | - |
85 | void setError(const QQmlCompileError &error); | - |
86 | void setError(const QVector<QQmlCompileError> &errors); | - |
87 | void setError(const QString &description); | - |
88 | void addDependency(QQmlDataBlob *); | - |
89 | - | |
90 | - | |
91 | virtual void dataReceived(const SourceCodeData &) = 0; | - |
92 | virtual void initializeFromCachedUnit(const QV4::CompiledData::Unit*) = 0; | - |
93 | virtual void done(); | - |
94 | - | |
95 | virtual void networkError(QNetworkReply::NetworkError); | - |
96 | - | |
97 | virtual void dependencyError(QQmlDataBlob *); | - |
98 | virtual void dependencyComplete(QQmlDataBlob *); | - |
99 | virtual void allDependenciesDone(); | - |
100 | - | |
101 | - | |
102 | virtual void downloadProgressChanged(qreal); | - |
103 | virtual void completed(); | - |
104 | - | |
105 | protected: | - |
106 | - | |
107 | QQmlTypeLoader *m_typeLoader; | - |
108 | - | |
109 | private: | - |
110 | friend class QQmlTypeLoader; | - |
111 | friend class QQmlTypeLoaderThread; | - |
112 | - | |
113 | void tryDone(); | - |
114 | void cancelAllWaitingFor(); | - |
115 | void notifyAllWaitingOnMe(); | - |
116 | void notifyComplete(QQmlDataBlob *); | - |
117 | - | |
118 | struct ThreadData { | - |
119 | inline ThreadData(); | - |
120 | inline QQmlDataBlob::Status status() const; | - |
121 | inline void setStatus(QQmlDataBlob::Status); | - |
122 | inline bool isAsync() const; | - |
123 | inline void setIsAsync(bool); | - |
124 | inline quint8 progress() const; | - |
125 | inline void setProgress(quint8); | - |
126 | - | |
127 | private: | - |
128 | QAtomicInt _p; | - |
129 | }; | - |
130 | ThreadData m_data; | - |
131 | - | |
132 | - | |
133 | - | |
134 | - | |
135 | - | |
136 | QList<QQmlError> m_errors; | - |
137 | - | |
138 | Type m_type; | - |
139 | - | |
140 | QUrl m_url; | - |
141 | QUrl m_finalUrl; | - |
142 | mutable QString m_urlString; | - |
143 | mutable QString m_finalUrlString; | - |
144 | - | |
145 | - | |
146 | QList<QQmlDataBlob *> m_waitingOnMe; | - |
147 | - | |
148 | - | |
149 | QVector<QQmlRefPointer<QQmlDataBlob>> m_waitingFor; | - |
150 | - | |
151 | int m_redirectCount:30; | - |
152 | bool m_inCallback:1; | - |
153 | bool m_isDone:1; | - |
154 | }; | - |
155 | - | |
156 | class QQmlTypeLoaderThread; | - |
157 | - | |
158 | class QQmlTypeLoaderQmldirContent | - |
159 | { | - |
160 | private: | - |
161 | friend class QQmlTypeLoader; | - |
162 | - | |
163 | void setContent(const QString &location, const QString &content); | - |
164 | void setError(const QQmlError &); | - |
165 | - | |
166 | public: | - |
167 | QQmlTypeLoaderQmldirContent(); | - |
168 | QQmlTypeLoaderQmldirContent(const QQmlTypeLoaderQmldirContent &) = default; | - |
169 | QQmlTypeLoaderQmldirContent &operator=(const QQmlTypeLoaderQmldirContent &) = default; | - |
170 | - | |
171 | bool hasContent() const { return executed 171259 times by 141 tests: m_hasContent;return m_hasContent; Executed by:
executed 171259 times by 141 tests: }return m_hasContent; Executed by:
| 171259 |
172 | bool hasError() const; | - |
173 | QList<QQmlError> errors(const QString &uri) const; | - |
174 | - | |
175 | QString typeNamespace() const; | - |
176 | - | |
177 | QQmlDirComponents components() const; | - |
178 | QQmlDirScripts scripts() const; | - |
179 | QQmlDirPlugins plugins() const; | - |
180 | - | |
181 | QString pluginLocation() const; | - |
182 | - | |
183 | bool designerSupported() const; | - |
184 | - | |
185 | private: | - |
186 | QQmlDirParser m_parser; | - |
187 | QString m_location; | - |
188 | bool m_hasContent = false; | - |
189 | }; | - |
190 | - | |
191 | class __attribute__((visibility("default"))) QQmlTypeLoader | - |
192 | { | - |
193 | public: static inline QString tr(const char *sourceText, const char *disambiguation = nullptr, int n = -1) { return QCoreApplication::translate("QQmlTypeLoader", sourceText, disambiguation, n); } __attribute__ ((__deprecated__)) static inline QString trUtf8(const char *sourceText, const char *disambiguation = nullptr, int n = -1) { return QCoreApplication::translate("QQmlTypeLoader", sourceText, disambiguation, n); } private: | - |
194 | public: | - |
195 | enum Mode { PreferSynchronous, Asynchronous, Synchronous }; | - |
196 | - | |
197 | class __attribute__((visibility("default"))) Blob : public QQmlDataBlob | - |
198 | { | - |
199 | public: | - |
200 | Blob(const QUrl &url, QQmlDataBlob::Type type, QQmlTypeLoader *loader); | - |
201 | ~Blob() override; | - |
202 | - | |
203 | const QQmlImports &imports() const { return executed 145432 times by 142 tests: m_importCache;return m_importCache; Executed by:
executed 145432 times by 142 tests: }return m_importCache; Executed by:
| 145432 |
204 | - | |
205 | void setCachedUnitStatus(QQmlMetaType::CachedUnitLookupError status) { m_cachedUnitStatus = status; } executed 9660 times by 128 tests: end of block Executed by:
| 9660 |
206 | - | |
207 | protected: | - |
208 | bool addImport(const QV4::CompiledData::Import *import, QList<QQmlError> *errors); | - |
209 | - | |
210 | bool fetchQmldir(const QUrl &url, const QV4::CompiledData::Import *import, int priority, QList<QQmlError> *errors); | - |
211 | bool updateQmldir(const QQmlRefPointer<QQmlQmldirData> &data, const QV4::CompiledData::Import *import, QList<QQmlError> *errors); | - |
212 | - | |
213 | private: | - |
214 | virtual bool qmldirDataAvailable(const QQmlRefPointer<QQmlQmldirData> &, QList<QQmlError> *); | - |
215 | - | |
216 | virtual void scriptImported(const QQmlRefPointer<QQmlScriptBlob> &, const QV4::CompiledData::Location &, const QString &, const QString &) {} | - |
217 | - | |
218 | void dependencyComplete(QQmlDataBlob *) override; | - |
219 | - | |
220 | protected: | - |
221 | virtual QString stringAt(int) const { return never executed: QString();return QString(); never executed: }return QString(); | 0 |
222 | - | |
223 | bool isDebugging() const; | - |
224 | - | |
225 | QQmlImports m_importCache; | - |
226 | QHash<const QV4::CompiledData::Import*, int> m_unresolvedImports; | - |
227 | QVector<QQmlRefPointer<QQmlQmldirData>> m_qmldirs; | - |
228 | QQmlMetaType::CachedUnitLookupError m_cachedUnitStatus = QQmlMetaType::CachedUnitLookupError::NoError; | - |
229 | }; | - |
230 | - | |
231 | QQmlTypeLoader(QQmlEngine *); | - |
232 | ~QQmlTypeLoader(); | - |
233 | - | |
234 | QQmlImportDatabase *importDatabase() const; | - |
235 | - | |
236 | static QUrl normalize(const QUrl &unNormalizedUrl); | - |
237 | - | |
238 | QQmlRefPointer<QQmlTypeData> getType(const QUrl &unNormalizedUrl, Mode mode = PreferSynchronous); | - |
239 | QQmlRefPointer<QQmlTypeData> getType(const QByteArray &, const QUrl &url, Mode mode = PreferSynchronous); | - |
240 | - | |
241 | QQmlRefPointer<QQmlScriptBlob> getScript(const QUrl &unNormalizedUrl); | - |
242 | QQmlRefPointer<QQmlQmldirData> getQmldir(const QUrl &); | - |
243 | - | |
244 | QString absoluteFilePath(const QString &path); | - |
245 | bool directoryExists(const QString &path); | - |
246 | - | |
247 | const QQmlTypeLoaderQmldirContent qmldirContent(const QString &filePath); | - |
248 | void setQmldirContent(const QString &filePath, const QString &content); | - |
249 | - | |
250 | void clearCache(); | - |
251 | void trimCache(); | - |
252 | - | |
253 | bool isTypeLoaded(const QUrl &url) const; | - |
254 | bool isScriptLoaded(const QUrl &url) const; | - |
255 | - | |
256 | void lock() { m_mutex.lock(); } executed 687506 times by 142 tests: end of block Executed by:
| 687506 |
257 | void unlock() { m_mutex.unlock(); } executed 687506 times by 142 tests: end of block Executed by:
| 687506 |
258 | - | |
259 | void load(QQmlDataBlob *, Mode = PreferSynchronous); | - |
260 | void loadWithStaticData(QQmlDataBlob *, const QByteArray &, Mode = PreferSynchronous); | - |
261 | void loadWithCachedUnit(QQmlDataBlob *blob, const QV4::CompiledData::Unit *unit, Mode mode = PreferSynchronous); | - |
262 | - | |
263 | QQmlEngine *engine() const; | - |
264 | void initializeEngine(QQmlExtensionInterface *, const char *); | - |
265 | void invalidate(); | - |
266 | - | |
267 | - | |
268 | - | |
269 | - | |
270 | - | |
271 | QQmlProfiler *profiler() const { return executed 55623 times by 142 tests: m_profiler.data();return m_profiler.data(); Executed by:
executed 55623 times by 142 tests: }return m_profiler.data(); Executed by:
| 55623 |
272 | void setProfiler(QQmlProfiler *profiler); | - |
273 | - | |
274 | - | |
275 | - | |
276 | private: | - |
277 | friend class QQmlDataBlob; | - |
278 | friend class QQmlTypeLoaderThread; | - |
279 | - | |
280 | friend class QQmlTypeLoaderNetworkReplyProxy; | - |
281 | - | |
282 | - | |
283 | void shutdownThread(); | - |
284 | - | |
285 | void loadThread(QQmlDataBlob *); | - |
286 | void loadWithStaticDataThread(QQmlDataBlob *, const QByteArray &); | - |
287 | void loadWithCachedUnitThread(QQmlDataBlob *blob, const QV4::CompiledData::Unit *unit); | - |
288 | - | |
289 | void networkReplyFinished(QNetworkReply *); | - |
290 | void networkReplyProgress(QNetworkReply *, qint64, qint64); | - |
291 | - | |
292 | typedef QHash<QNetworkReply *, QQmlDataBlob *> NetworkReplies; | - |
293 | - | |
294 | - | |
295 | void setData(QQmlDataBlob *, const QByteArray &); | - |
296 | void setData(QQmlDataBlob *, const QString &fileName); | - |
297 | void setData(QQmlDataBlob *, const QQmlDataBlob::SourceCodeData &); | - |
298 | void setCachedUnit(QQmlDataBlob *blob, const QV4::CompiledData::Unit *unit); | - |
299 | - | |
300 | template<typename T> | - |
301 | struct TypedCallback | - |
302 | { | - |
303 | TypedCallback(T *object, void (T::*func)(QQmlTypeData *)) : o(object), mf(func) {} never executed: end of block | 0 |
304 | - | |
305 | static void redirect(void *arg, QQmlTypeData *type) | - |
306 | { | - |
307 | TypedCallback<T> *self = reinterpret_cast<TypedCallback<T> *>(arg); | - |
308 | ((self->o)->*(self->mf))(type); | - |
309 | } never executed: end of block | 0 |
310 | - | |
311 | private: | - |
312 | T *o; | - |
313 | void (T::*mf)(QQmlTypeData *); | - |
314 | }; | - |
315 | - | |
316 | typedef QHash<QUrl, QQmlTypeData *> TypeCache; | - |
317 | typedef QHash<QUrl, QQmlScriptBlob *> ScriptCache; | - |
318 | typedef QHash<QUrl, QQmlQmldirData *> QmldirCache; | - |
319 | typedef QCache<QString, QCache<QString, bool> > ImportDirCache; | - |
320 | typedef QStringHash<QQmlTypeLoaderQmldirContent *> ImportQmlDirCache; | - |
321 | - | |
322 | QQmlEngine *m_engine; | - |
323 | QQmlTypeLoaderThread *m_thread; | - |
324 | QMutex &m_mutex; | - |
325 | - | |
326 | - | |
327 | QScopedPointer<QQmlProfiler> m_profiler; | - |
328 | - | |
329 | - | |
330 | - | |
331 | NetworkReplies m_networkReplies; | - |
332 | - | |
333 | TypeCache m_typeCache; | - |
334 | int m_typeCacheTrimThreshold; | - |
335 | ScriptCache m_scriptCache; | - |
336 | QmldirCache m_qmldirCache; | - |
337 | ImportDirCache m_importDirCache; | - |
338 | ImportQmlDirCache m_importQmlDirCache; | - |
339 | - | |
340 | template<typename Loader> | - |
341 | void doLoad(const Loader &loader, QQmlDataBlob *blob, Mode mode); | - |
342 | void updateTypeCacheTrimThreshold(); | - |
343 | - | |
344 | friend struct PlainLoader; | - |
345 | friend struct CachedLoader; | - |
346 | friend struct StaticLoader; | - |
347 | }; | - |
348 | - | |
349 | class __attribute__((visibility("default"))) QQmlTypeData : public QQmlTypeLoader::Blob | - |
350 | { | - |
351 | public: static inline QString tr(const char *sourceText, const char *disambiguation = nullptr, int n = -1) { return QCoreApplication::translate("QQmlTypeData", sourceText, disambiguation, n); } __attribute__ ((__deprecated__)) static inline QString trUtf8(const char *sourceText, const char *disambiguation = nullptr, int n = -1) { return QCoreApplication::translate("QQmlTypeData", sourceText, disambiguation, n); } private: | - |
352 | public: | - |
353 | struct TypeReference | - |
354 | { | - |
355 | TypeReference() : majorVersion(0), minorVersion(0), needsCreation(true) {} executed 77697 times by 142 tests: end of block Executed by:
| 77697 |
356 | - | |
357 | QV4::CompiledData::Location location; | - |
358 | QQmlType type; | - |
359 | int majorVersion; | - |
360 | int minorVersion; | - |
361 | QQmlRefPointer<QQmlTypeData> typeData; | - |
362 | QString prefix; | - |
363 | QString qualifiedName() const; | - |
364 | bool needsCreation; | - |
365 | }; | - |
366 | - | |
367 | struct ScriptReference | - |
368 | { | - |
369 | QV4::CompiledData::Location location; | - |
370 | QString qualifier; | - |
371 | QQmlRefPointer<QQmlScriptBlob> script; | - |
372 | }; | - |
373 | - | |
374 | private: | - |
375 | friend class QQmlTypeLoader; | - |
376 | - | |
377 | QQmlTypeData(const QUrl &, QQmlTypeLoader *); | - |
378 | - | |
379 | public: | - |
380 | ~QQmlTypeData() override; | - |
381 | - | |
382 | const QList<ScriptReference> &resolvedScripts() const; | - |
383 | - | |
384 | QV4::CompiledData::CompilationUnit *compilationUnit() const; | - |
385 | - | |
386 | - | |
387 | struct TypeDataCallback { | - |
388 | virtual ~TypeDataCallback(); | - |
389 | virtual void typeDataProgress(QQmlTypeData *, qreal) {} | - |
390 | virtual void typeDataReady(QQmlTypeData *) {} | - |
391 | }; | - |
392 | void registerCallback(TypeDataCallback *); | - |
393 | void unregisterCallback(TypeDataCallback *); | - |
394 | - | |
395 | protected: | - |
396 | void done() override; | - |
397 | void completed() override; | - |
398 | void dataReceived(const SourceCodeData &) override; | - |
399 | void initializeFromCachedUnit(const QV4::CompiledData::Unit *unit) override; | - |
400 | void allDependenciesDone() override; | - |
401 | void downloadProgressChanged(qreal) override; | - |
402 | - | |
403 | QString stringAt(int index) const override; | - |
404 | - | |
405 | private: | - |
406 | bool tryLoadFromDiskCache(); | - |
407 | bool loadFromSource(); | - |
408 | void restoreIR(QQmlRefPointer<QV4::CompiledData::CompilationUnit> unit); | - |
409 | void continueLoadFromIR(); | - |
410 | void resolveTypes(); | - |
411 | QQmlCompileError buildTypeResolutionCaches( | - |
412 | QQmlRefPointer<QQmlTypeNameCache> *typeNameCache, | - |
413 | QV4::CompiledData::ResolvedTypeReferenceMap *resolvedTypeCache | - |
414 | ) const; | - |
415 | void compile(const QQmlRefPointer<QQmlTypeNameCache> &typeNameCache, | - |
416 | const QV4::CompiledData::ResolvedTypeReferenceMap &resolvedTypeCache, const QV4::CompiledData::DependentTypesHasher &dependencyHasher); | - |
417 | void createTypeAndPropertyCaches(const QQmlRefPointer<QQmlTypeNameCache> &typeNameCache, | - |
418 | const QV4::CompiledData::ResolvedTypeReferenceMap &resolvedTypeCache); | - |
419 | bool resolveType(const QString &typeName, int &majorVersion, int &minorVersion, | - |
420 | TypeReference &ref, int lineNumber = -1, int columnNumber = -1, | - |
421 | bool reportErrors = true, | - |
422 | QQmlType::RegistrationType registrationType = QQmlType::AnyRegistrationType); | - |
423 | - | |
424 | void scriptImported(const QQmlRefPointer<QQmlScriptBlob> &blob, const QV4::CompiledData::Location &location, const QString &qualifier, const QString &nameSpace) override; | - |
425 | - | |
426 | - | |
427 | SourceCodeData m_backupSourceCode; | - |
428 | QScopedPointer<QmlIR::Document> m_document; | - |
429 | QV4::CompiledData::TypeReferenceMap m_typeReferences; | - |
430 | - | |
431 | QList<ScriptReference> m_scripts; | - |
432 | - | |
433 | QSet<QString> m_namespaces; | - |
434 | QList<TypeReference> m_compositeSingletons; | - |
435 | - | |
436 | - | |
437 | - | |
438 | - | |
439 | QMap<int, TypeReference> m_resolvedTypes; | - |
440 | bool m_typesResolved:1; | - |
441 | - | |
442 | QQmlRefPointer<QV4::CompiledData::CompilationUnit> m_compiledData; | - |
443 | - | |
444 | QList<TypeDataCallback *> m_callbacks; | - |
445 | - | |
446 | bool m_implicitImportLoaded; | - |
447 | bool loadImplicitImport(); | - |
448 | }; | - |
449 | class __attribute__((visibility("default"))) QQmlScriptData : public QQmlCleanup, public QQmlRefCount | - |
450 | { | - |
451 | private: | - |
452 | friend class QQmlTypeLoader; | - |
453 | - | |
454 | QQmlScriptData(); | - |
455 | - | |
456 | public: | - |
457 | ~QQmlScriptData() override; | - |
458 | - | |
459 | QUrl url; | - |
460 | QString urlString; | - |
461 | QQmlTypeNameCache *typeNameCache; | - |
462 | QVector<QQmlRefPointer<QQmlScriptBlob>> scripts; | - |
463 | - | |
464 | QV4::ReturnedValue scriptValueForContext(QQmlContextData *parentCtxt); | - |
465 | - | |
466 | protected: | - |
467 | void clear() override; | - |
468 | - | |
469 | private: | - |
470 | friend class QQmlScriptBlob; | - |
471 | - | |
472 | void initialize(QQmlEngine *); | - |
473 | - | |
474 | bool m_loaded; | - |
475 | QQmlRefPointer<QV4::CompiledData::CompilationUnit> m_precompiledScript; | - |
476 | QV4::Script *m_program; | - |
477 | QV4::PersistentValue m_value; | - |
478 | }; | - |
479 | - | |
480 | class __attribute__((visibility("default"))) QQmlScriptBlob : public QQmlTypeLoader::Blob | - |
481 | { | - |
482 | private: | - |
483 | friend class QQmlTypeLoader; | - |
484 | - | |
485 | QQmlScriptBlob(const QUrl &, QQmlTypeLoader *); | - |
486 | - | |
487 | public: | - |
488 | ~QQmlScriptBlob() override; | - |
489 | - | |
490 | struct ScriptReference | - |
491 | { | - |
492 | QV4::CompiledData::Location location; | - |
493 | QString qualifier; | - |
494 | QString nameSpace; | - |
495 | QQmlRefPointer<QQmlScriptBlob> script; | - |
496 | }; | - |
497 | - | |
498 | QQmlRefPointer<QQmlScriptData> scriptData() const; | - |
499 | - | |
500 | protected: | - |
501 | void dataReceived(const SourceCodeData &) override; | - |
502 | void initializeFromCachedUnit(const QV4::CompiledData::Unit *unit) override; | - |
503 | void done() override; | - |
504 | - | |
505 | QString stringAt(int index) const override; | - |
506 | - | |
507 | private: | - |
508 | void scriptImported(const QQmlRefPointer<QQmlScriptBlob> &blob, const QV4::CompiledData::Location &location, const QString &qualifier, const QString &nameSpace) override; | - |
509 | void initializeFromCompilationUnit(const QQmlRefPointer<QV4::CompiledData::CompilationUnit> &unit); | - |
510 | - | |
511 | QList<ScriptReference> m_scripts; | - |
512 | QQmlRefPointer<QQmlScriptData> m_scriptData; | - |
513 | }; | - |
514 | - | |
515 | class __attribute__((visibility("default"))) QQmlQmldirData : public QQmlTypeLoader::Blob | - |
516 | { | - |
517 | private: | - |
518 | friend class QQmlTypeLoader; | - |
519 | - | |
520 | QQmlQmldirData(const QUrl &, QQmlTypeLoader *); | - |
521 | - | |
522 | public: | - |
523 | const QString &content() const; | - |
524 | - | |
525 | const QV4::CompiledData::Import *import(QQmlTypeLoader::Blob *) const; | - |
526 | void setImport(QQmlTypeLoader::Blob *, const QV4::CompiledData::Import *); | - |
527 | - | |
528 | int priority(QQmlTypeLoader::Blob *) const; | - |
529 | void setPriority(QQmlTypeLoader::Blob *, int); | - |
530 | - | |
531 | protected: | - |
532 | void dataReceived(const SourceCodeData &) override; | - |
533 | void initializeFromCachedUnit(const QV4::CompiledData::Unit *) override; | - |
534 | - | |
535 | private: | - |
536 | QString m_content; | - |
537 | QHash<QQmlTypeLoader::Blob *, const QV4::CompiledData::Import *> m_imports; | - |
538 | QHash<QQmlTypeLoader::Blob *, int> m_priorities; | - |
539 | }; | - |
540 | - | |
541 | - | |
542 | - | |
Switch to Source code | Preprocessed file |