diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2021-12-09 17:03:25 +0100 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2021-12-12 12:05:28 +0100 |
commit | dd0b82abdc6f9b055a0c0ea0b79176c861176fca (patch) | |
tree | 89b86a1158073f89f0a649da6639739b3dd3c9c2 /src/qmlcompiler/qqmljsscope_p.h | |
parent | 280a1c013cbe83b833ce466e33cffc94daed9bf2 (diff) |
QQmlJSImportsVisitor: Break inheritance cycles
If we keep them around, later passes on the same data may run into
infinite loops. We cannot fully prevent any further processing of the
data because the import can happen from deep within a hierarchy of
components and modules.
Also, separate the deprecation check from the inheritance check.
Pick-to: 6.2
Change-Id: I62ce7cd15be83f60cd72b63ab858632fbc7dea66
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src/qmlcompiler/qqmljsscope_p.h')
-rw-r--r-- | src/qmlcompiler/qqmljsscope_p.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/qmlcompiler/qqmljsscope_p.h b/src/qmlcompiler/qqmljsscope_p.h index f3f3e1010e..5df585e3f4 100644 --- a/src/qmlcompiler/qqmljsscope_p.h +++ b/src/qmlcompiler/qqmljsscope_p.h @@ -226,6 +226,7 @@ public: void setBaseTypeName(const QString &baseTypeName) { m_baseTypeName = baseTypeName; } QString baseTypeName() const { return m_baseTypeName; } QQmlJSScope::ConstPtr baseType() const { return m_baseType; } + void clearBaseType() { m_baseType = QQmlJSScope::WeakConstPtr(); } void addOwnProperty(const QQmlJSMetaProperty &prop) { m_properties.insert(prop.propertyName(), prop); } QHash<QString, QQmlJSMetaProperty> ownProperties() const { return m_properties; } |