diff options
Diffstat (limited to 'src/qml/qml/qqmltypedata_p.h')
-rw-r--r-- | src/qml/qml/qqmltypedata_p.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/qml/qml/qqmltypedata_p.h b/src/qml/qml/qqmltypedata_p.h index 53e78e06d7..d894090b36 100644 --- a/src/qml/qml/qqmltypedata_p.h +++ b/src/qml/qml/qqmltypedata_p.h @@ -86,6 +86,8 @@ private: friend class QQmlTypeLoader; QQmlTypeData(const QUrl &, QQmlTypeLoader *); + template<typename Container> + void setCompileUnit(const Container &container); public: ~QQmlTypeData() override; @@ -93,6 +95,7 @@ public: const QList<ScriptReference> &resolvedScripts() const; QV4::ExecutableCompilationUnit *compilationUnit() const; + QV4::ExecutableCompilationUnit *compilationUnitForInlineComponent(unsigned int icObjectId) const; // Used by QQmlComponent to get notifications struct TypeDataCallback { @@ -103,7 +106,7 @@ public: void registerCallback(TypeDataCallback *); void unregisterCallback(TypeDataCallback *); - QQmlMetaType::CompositeMetaTypeIds typeIds() const; + CompositeMetaTypeIds typeIds(int objectId = 0) const; QByteArray typeClassName() const { return m_typeClassName; } protected: @@ -155,10 +158,15 @@ private: bool m_typesResolved:1; // Used for self-referencing types, otherwise -1. - QQmlMetaType::CompositeMetaTypeIds m_typeIds; + CompositeMetaTypeIds m_typeIds; QByteArray m_typeClassName; // used for meta-object later - QQmlRefPointer<QV4::ExecutableCompilationUnit> m_compiledData; + using ExecutableCompilationUnitPtr = QQmlRefPointer<QV4::ExecutableCompilationUnit>; + + QHash<int, InlineComponentData> m_inlineComponentData; + + ExecutableCompilationUnitPtr m_compiledData; + QHash<int, ExecutableCompilationUnitPtr> m_inlineComponentToCompiledData; QList<TypeDataCallback *> m_callbacks; |