qmltypes: Handle extension property

Previously Qt Creator ignored the extension property in qmltypes leading to
auto-complete being unavailable for some properties of extended types among other things.

Change-Id: I1bc13b3daf9bbd0a835e9a25f52b9589ad942e75
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
This commit is contained in:
Maximilian Goldstein
2021-02-04 17:29:24 +01:00
parent 54e5ff7e05
commit 5943215d99
4 changed files with 18 additions and 0 deletions

View File

@@ -358,6 +358,14 @@ void CppComponentValue::processMembers(MemberProcessor *processor) const
attachedType->processMembers(processor);
}
// look at extension types
const QString &extensionTypeName = m_metaObject->extensionTypeName();
if (!extensionTypeName.isEmpty()) {
const CppComponentValue *extensionType = valueOwner()->cppQmlTypes().objectByCppName(extensionTypeName);
if (extensionType && extensionType != this) // ### only weak protection against infinite loops
extensionType->processMembers(processor);
}
ObjectValue::processMembers(processor);
}