diff options
| author | Thomas Hartmann <[email protected]> | 2010-10-19 16:15:32 +0200 |
|---|---|---|
| committer | Christian Kamm <[email protected]> | 2010-11-11 11:49:10 +0100 |
| commit | 4255220c35414dee49ab1c1c48bb96d44e4a241a (patch) | |
| tree | 99f3c319b70fceb2317bf7fca0a2c31cb22237a4 /src/libs/qmljs/qmljsinterpreter.h | |
| parent | 87afbf39338de40b81878fa890c311433ce2bf41 (diff) | |
QmlJS: Fixing type hierarchy for holes (non exported types)
Done-with: Christian Kamm
Diffstat (limited to 'src/libs/qmljs/qmljsinterpreter.h')
| -rw-r--r-- | src/libs/qmljs/qmljsinterpreter.h | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/libs/qmljs/qmljsinterpreter.h b/src/libs/qmljs/qmljsinterpreter.h index 8288d7871c4..586e8a81629 100644 --- a/src/libs/qmljs/qmljsinterpreter.h +++ b/src/libs/qmljs/qmljsinterpreter.h @@ -383,7 +383,8 @@ private: class QMLJS_EXPORT QmlObjectValue: public ObjectValue { public: - QmlObjectValue(const FakeMetaObject *metaObject, int exportIndex, Engine *engine); + QmlObjectValue(const FakeMetaObject *metaObject, const QString &className, + const QString &packageName, const ComponentVersion version, Engine *engine); virtual ~QmlObjectValue(); virtual void processMembers(MemberProcessor *processor) const; @@ -404,7 +405,8 @@ protected: private: const FakeMetaObject *_metaObject; - const int _exportIndex; + const QString _packageName; + const ComponentVersion _componentVersion; mutable QHash<int, const Value *> _metaSignature; }; @@ -534,7 +536,14 @@ public: QHash<QString, QmlObjectValue *> types() const { return _typesByFullyQualifiedName; } + static QString qualifiedName(const QString &package, const QString &type, ComponentVersion version); + QmlObjectValue *typeByQualifiedName(const QString &name) const; + QmlObjectValue *typeByQualifiedName(const QString &package, const QString &type, ComponentVersion version) const; + private: + QmlObjectValue *getOrCreate(const QString &package, const QString &cppName, const FakeMetaObject *metaObject, Engine *engine, bool *created); + + QHash<QString, QList<QmlObjectValue *> > _typesByPackage; QHash<QString, QmlObjectValue *> _typesByFullyQualifiedName; }; |
