diff --git a/src/libs/qmljs/qmljsinterpreter.cpp b/src/libs/qmljs/qmljsinterpreter.cpp index f7c63359bfbdeba537caad0954cab72550ca6cbb..9aafaeea910dc6aa01285a8e5d28079022d888d0 100644 --- a/src/libs/qmljs/qmljsinterpreter.cpp +++ b/src/libs/qmljs/qmljsinterpreter.cpp @@ -164,7 +164,6 @@ QmlObjectValue::QmlObjectValue(FakeMetaObject::ConstPtr metaObject, const QStrin const ComponentVersion &importVersion, int metaObjectRevision, ValueOwner *valueOwner) : ObjectValue(valueOwner), - _attachedType(0), _metaObject(metaObject), _moduleName(packageName), _componentVersion(componentVersion), @@ -258,8 +257,13 @@ void QmlObjectValue::processMembers(MemberProcessor *processor) const } } - if (_attachedType) - _attachedType->processMembers(processor); + // look into attached types + const QString &attachedTypeName = _metaObject->attachedTypeName(); + if (!attachedTypeName.isEmpty()) { + const QmlObjectValue *attachedType = valueOwner()->cppQmlTypes().objectByCppName(attachedTypeName); + if (attachedType) + attachedType->processMembers(processor); + } ObjectValue::processMembers(processor); } @@ -354,16 +358,6 @@ QList QmlObjectValue::prototypes() const return protos; } -const QmlObjectValue *QmlObjectValue::attachedType() const -{ - return _attachedType; -} - -void QmlObjectValue::setAttachedType(QmlObjectValue *value) -{ - _attachedType = value; -} - FakeMetaObject::ConstPtr QmlObjectValue::metaObject() const { return _metaObject; diff --git a/src/libs/qmljs/qmljsinterpreter.h b/src/libs/qmljs/qmljsinterpreter.h index 8b74624f9741159d468f9a9f0bfa9c5218a628af..1babae83f0fe9fda88d6706337097c81a03e0e46 100644 --- a/src/libs/qmljs/qmljsinterpreter.h +++ b/src/libs/qmljs/qmljsinterpreter.h @@ -430,9 +430,6 @@ public: const QmlObjectValue *prototype() const; QList prototypes() const; - const QmlObjectValue *attachedType() const; - void setAttachedType(QmlObjectValue *value); - LanguageUtils::FakeMetaObject::ConstPtr metaObject() const; QString moduleName() const; @@ -453,7 +450,6 @@ protected: bool isDerivedFrom(LanguageUtils::FakeMetaObject::ConstPtr base) const; private: - QmlObjectValue *_attachedType; LanguageUtils::FakeMetaObject::ConstPtr _metaObject; const QString _moduleName; // _componentVersion is the version of the export