diff options
Diffstat (limited to 'src/qml/qml/qqmlcustomparser_p.h')
-rw-r--r-- | src/qml/qml/qqmlcustomparser_p.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/qml/qml/qqmlcustomparser_p.h b/src/qml/qml/qqmlcustomparser_p.h index 39afa2a28e..2f1a9ddec8 100644 --- a/src/qml/qml/qqmlcustomparser_p.h +++ b/src/qml/qml/qqmlcustomparser_p.h @@ -108,6 +108,17 @@ private: QQmlCustomParserNodePrivate *d; }; +struct QQmlCustomParserCompilerBackend +{ + virtual ~QQmlCustomParserCompilerBackend() {} + virtual const QQmlImports &imports() const = 0; + + int evaluateEnum(const QString &scope, const QByteArray& enumValue, bool *ok) const; + const QMetaObject *resolveType(const QString& name) const; + + virtual QQmlBinding::Identifier bindingIdentifier(const QQmlScript::Variant&, const QString&, QQmlCustomParser *) { return QQmlBinding::Invalid; } +}; + class Q_QML_PRIVATE_EXPORT QQmlCustomParser { public: @@ -146,10 +157,11 @@ protected: private: QList<QQmlError> exceptions; - QQmlCompiler *compiler; + QQmlCustomParserCompilerBackend *compiler; QQmlScript::Object *object; Flags m_flags; friend class QQmlCompiler; + friend class QQmlPropertyValidator; }; Q_DECLARE_OPERATORS_FOR_FLAGS(QQmlCustomParser::Flags) |