34 AcceptsAttachedProperties = 0x00000001,
35 AcceptsSignalHandlers = 0x00000002
37 Q_DECLARE_FLAGS(Flags, Flag)
39 QQmlCustomParser() : engine(
nullptr), validator(
nullptr), m_flags(NoFlag) {}
40 QQmlCustomParser(Flags f) : engine(
nullptr), validator(
nullptr), m_flags(f) {}
41 virtual ~QQmlCustomParser() {}
44 Flags flags()
const {
return m_flags; }
46 virtual void verifyBindings(
47 const QQmlRefPointer<QV4::CompiledData::CompilationUnit> &,
48 const QList<
const QV4::CompiledData::Binding *> &) = 0;
49 virtual void applyBindings(
50 QObject *,
const QQmlRefPointer<QV4::ExecutableCompilationUnit> &,
51 const QList<
const QV4::CompiledData::Binding *> &) = 0;
53 QVector<QQmlError> errors()
const {
return exceptions; }
56 void error(
const QV4::CompiledData::Binding *binding,
const QString& description)
57 { error(binding->location, description); }
58 void error(
const QV4::CompiledData::Object *object,
const QString& description)
59 { error(object->location, description); }
60 void error(
const QV4::CompiledData::Location &location,
const QString& description);
62 int evaluateEnum(
const QString &,
bool *ok)
const;
64 const QMetaObject *resolveType(
const QString&)
const;
65 QQmlTypeLoader *typeLoader()
const;
68 QVector<QQmlError> exceptions;
69 QQmlEnginePrivate *engine;
70 const QQmlPropertyValidator *validator;
72 QBiPointer<
const QQmlImports, QQmlTypeNameCache> imports;
73 friend class QQmlPropertyValidator;
74 friend class QQmlObjectCreator;