aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/qmljs/qmljsinterpreter.h
diff options
context:
space:
mode:
authorThomas Hartmann <[email protected]>2010-10-19 16:15:32 +0200
committerChristian Kamm <[email protected]>2010-11-11 11:49:10 +0100
commit4255220c35414dee49ab1c1c48bb96d44e4a241a (patch)
tree99f3c319b70fceb2317bf7fca0a2c31cb22237a4 /src/libs/qmljs/qmljsinterpreter.h
parent87afbf39338de40b81878fa890c311433ce2bf41 (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.h13
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;
};