diff options
Diffstat (limited to 'src/qml/common')
-rw-r--r-- | src/qml/common/qv4compileddata.cpp | 21 | ||||
-rw-r--r-- | src/qml/common/qv4compileddata_p.h | 8 |
2 files changed, 29 insertions, 0 deletions
diff --git a/src/qml/common/qv4compileddata.cpp b/src/qml/common/qv4compileddata.cpp index 16ef43f678..9e9d8831a1 100644 --- a/src/qml/common/qv4compileddata.cpp +++ b/src/qml/common/qv4compileddata.cpp @@ -170,6 +170,27 @@ ResolvedTypeReference *CompilationUnit::resolvedType(QMetaType type) const } +int CompilationUnit::totalBindingsCount() const +{ + if (!icRootName) + return m_totalBindingsCount; + return inlineComponentData[*icRootName].totalBindingCount; +} + +int CompilationUnit::totalObjectCount() const +{ + if (!icRootName) + return m_totalObjectCount; + return inlineComponentData[*icRootName].totalObjectCount; +} + +int CompilationUnit::totalParserStatusCount() const +{ + if (!icRootName) + return m_totalParserStatusCount; + return inlineComponentData[*icRootName].totalParserStatusCount; +} + } // namespace CompiledData } // namespace QV4 diff --git a/src/qml/common/qv4compileddata_p.h b/src/qml/common/qv4compileddata_p.h index 1d6cbb9742..893ba6c671 100644 --- a/src/qml/common/qv4compileddata_p.h +++ b/src/qml/common/qv4compileddata_p.h @@ -1474,6 +1474,10 @@ struct CompilationUnit final : public QQmlRefCounted<CompilationUnit> std::unique_ptr<CompilationUnitMapper> backingFile; + 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; QHash<QString, InlineComponentData> inlineComponentData; @@ -1626,6 +1630,10 @@ public: return propertyCaches.at(/*root object*/0); } + int totalBindingsCount() const; + int totalParserStatusCount() const; + int totalObjectCount() const; + int inlineComponentId(const QString &inlineComponentName) const { for (uint i = 0; i < qmlData->nObjects; ++i) { |