diff options
author | Simon Hausmann <simon.hausmann@digia.com> | 2014-01-07 17:04:18 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-01-10 10:26:48 +0100 |
commit | cb2ac154273a8c07a1e4a14246ae22f6e0deaeda (patch) | |
tree | 3d173707cf1b599e626536d7f3458c8a033b7141 /src/qml/qml/qqmlobjectcreator_p.h | |
parent | 5c40193f8223a8bdefcf694c719396807a83f0ea (diff) |
[new compiler] Cleanups
Move all compilation phase related sub-classes (property cache generator,
component and alias resolver, etc.) together into qqmltypecompiler.cpp
Change-Id: I598c801d9434623fc8e6338dec11e4d4ee6d7232
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/qml/qml/qqmlobjectcreator_p.h')
-rw-r--r-- | src/qml/qml/qqmlobjectcreator_p.h | 71 |
1 files changed, 0 insertions, 71 deletions
diff --git a/src/qml/qml/qqmlobjectcreator_p.h b/src/qml/qml/qqmlobjectcreator_p.h index 2d776058ca..a8907fb762 100644 --- a/src/qml/qml/qqmlobjectcreator_p.h +++ b/src/qml/qml/qqmlobjectcreator_p.h @@ -53,77 +53,6 @@ QT_BEGIN_NAMESPACE class QQmlAbstractBinding; struct QQmlTypeCompiler; -class QQmlPropertyCacheCreator : public QQmlCompilePass -{ - Q_DECLARE_TR_FUNCTIONS(QQmlPropertyCacheCreator) -public: - QQmlPropertyCacheCreator(QQmlTypeCompiler *typeCompiler); - - bool create(const QtQml::QmlObject *obj, QQmlPropertyCache **cache, QByteArray *vmeMetaObjectData); - -protected: - QQmlEnginePrivate *enginePrivate; - const QQmlImports *imports; - QHash<int, QQmlCompiledData::TypeReference> *resolvedTypes; -}; - -class QQmlComponentAndAliasResolver : public QQmlCompilePass -{ - Q_DECLARE_TR_FUNCTIONS(QQmlAnonymousComponentResolver) -public: - QQmlComponentAndAliasResolver(QQmlTypeCompiler *typeCompiler); - - bool resolve(); - -protected: - void findAndRegisterImplicitComponents(const QtQml::QmlObject *obj, int objectIndex); - bool collectIdsAndAliases(int objectIndex); - bool resolveAliases(); - - QQmlEnginePrivate *enginePrivate; - QQmlJS::MemoryPool *pool; - - QList<QtQml::QmlObject*> *qmlObjects; - const int indexOfRootObject; - - // indices of the objects that are actually Component {} - QVector<int> componentRoots; - // indices of objects that are the beginning of a new component - // scope. This is sorted and used for binary search. - QVector<int> componentBoundaries; - - int _componentIndex; - QHash<int, int> _idToObjectIndex; - QHash<int, int> *_objectIndexToIdInScope; - QList<int> _objectsWithAliases; - - QHash<int, QQmlCompiledData::TypeReference> *resolvedTypes; - const QList<QQmlPropertyCache *> propertyCaches; - QList<QByteArray> *vmeMetaObjectData; - QHash<int, int> *objectIndexToIdForRoot; - QHash<int, QHash<int, int> > *objectIndexToIdPerComponent; -}; - -class QQmlPropertyValidator : public QQmlCompilePass -{ - Q_DECLARE_TR_FUNCTIONS(QQmlPropertyValidator) -public: - QQmlPropertyValidator(QQmlTypeCompiler *typeCompiler); - - bool validate(); - -private: - bool validateObject(const QV4::CompiledData::Object *obj, int objectIndex, QQmlPropertyCache *propertyCache); - - bool isComponent(int objectIndex) const { return objectIndexToIdPerComponent.contains(objectIndex); } - - const QV4::CompiledData::QmlUnit *qmlUnit; - const QHash<int, QQmlCompiledData::TypeReference> &resolvedTypes; - const QList<QQmlPropertyCache *> &propertyCaches; - const QHash<int, QHash<int, int> > objectIndexToIdPerComponent; - QHash<int, QByteArray> *customParserData; -}; - class QmlObjectCreator { Q_DECLARE_TR_FUNCTIONS(QmlObjectCreator) |