diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2024-01-08 11:31:34 +0100 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2024-01-13 16:03:58 +0100 |
commit | 53f75b7f894ba248554df49627d2f17b3f127e23 (patch) | |
tree | eb57a2ad8c2404bc353985dbbcd450a6180a6f35 /src/qml/jsruntime/qv4executablecompilationunit_p.h | |
parent | b5374fdc603b263a02ec1885d81cf1d56b3579a9 (diff) |
QtQml: Move inlineComponentData and icRootName into base CU
Change-Id: I89e44644b083681f069d1d7a385bec68b4bfd80b
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src/qml/jsruntime/qv4executablecompilationunit_p.h')
-rw-r--r-- | src/qml/jsruntime/qv4executablecompilationunit_p.h | 42 |
1 files changed, 18 insertions, 24 deletions
diff --git a/src/qml/jsruntime/qv4executablecompilationunit_p.h b/src/qml/jsruntime/qv4executablecompilationunit_p.h index 49de05a227..c8e8d05aac 100644 --- a/src/qml/jsruntime/qv4executablecompilationunit_p.h +++ b/src/qml/jsruntime/qv4executablecompilationunit_p.h @@ -31,27 +31,6 @@ QT_BEGIN_NAMESPACE class QQmlScriptData; class QQmlEnginePrivate; -struct InlineComponentData { - - InlineComponentData() = default; - InlineComponentData( - const QQmlType &qmlType, int objectIndex, int nameIndex, int totalObjectCount, - int totalBindingCount, int totalParserStatusCount) - : qmlType(qmlType) - , objectIndex(objectIndex) - , nameIndex(nameIndex) - , totalObjectCount(totalObjectCount) - , totalBindingCount(totalBindingCount) - , totalParserStatusCount(totalParserStatusCount) {} - - QQmlType qmlType; - int objectIndex = -1; - int nameIndex = -1; - int totalObjectCount = 0; - int totalBindingCount = 0; - int totalParserStatusCount = 0; -}; - namespace QV4 { // index is per-object binding index @@ -129,7 +108,13 @@ public: int m_totalBindingsCount = 0; // Number of bindings used in this type int m_totalParserStatusCount = 0; // Number of instantiated types that are QQmlParserStatus subclasses int m_totalObjectCount = 0; // Number of objects explicitly instantiated - std::unique_ptr<QString> icRootName; + + const QString *icRootName() const { return m_compilationUnit->icRootName.get(); } + QString *icRootName() { return m_compilationUnit->icRootName.get(); } + void setIcRootName(std::unique_ptr<QString> &&icRootName) + { + m_compilationUnit->icRootName = std::move(icRootName); + } int totalBindingsCount() const; int totalParserStatusCount() const; @@ -146,8 +131,6 @@ public: QQmlType qmlType; - QHash<QString, InlineComponentData> inlineComponentData; - int inlineComponentId(const QString &inlineComponentName) const { for (int i = 0; i < objectCount(); ++i) { @@ -332,6 +315,17 @@ public: : nullptr; } + const QHash<QString, CompiledData::InlineComponentData> &inlineComponentData() const + { + return m_compilationUnit->inlineComponentData; + } + + void setInlineComponentData( + const QHash<QString, CompiledData::InlineComponentData> &inlineComponentData) + { + m_compilationUnit->inlineComponentData = inlineComponentData; + } + void populate(); void clear(); |