aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/common
diff options
context:
space:
mode:
Diffstat (limited to 'src/qml/common')
-rw-r--r--src/qml/common/qv4compileddata.cpp21
-rw-r--r--src/qml/common/qv4compileddata_p.h8
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) {