aboutsummaryrefslogtreecommitdiffstats
path: root/src/qmlcompiler/qqmljsscope_p.h
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2021-12-09 17:03:25 +0100
committerUlf Hermann <ulf.hermann@qt.io>2021-12-12 12:05:28 +0100
commitdd0b82abdc6f9b055a0c0ea0b79176c861176fca (patch)
tree89b86a1158073f89f0a649da6639739b3dd3c9c2 /src/qmlcompiler/qqmljsscope_p.h
parent280a1c013cbe83b833ce466e33cffc94daed9bf2 (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.h1
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; }