28class QQmlPropertyValidator
30 Q_DECLARE_TR_FUNCTIONS(QQmlPropertyValidator)
32 QQmlPropertyValidator(
33 QQmlTypeLoader *typeLoader,
const QQmlImports *imports,
34 const QQmlRefPointer<QV4::CompiledData::CompilationUnit> &compilationUnit);
36 QVector<QQmlError> validate();
38 QQmlPropertyCache::ConstPtr rootPropertyCache()
const {
return propertyCaches.at(0); }
39 QUrl documentSourceUrl()
const {
return compilationUnit->url(); }
41 QQmlTypeLoader *typeLoader()
const {
return m_typeLoader; }
44 QVector<QQmlError> validateObject(
45 int objectIndex,
const QV4::CompiledData::Binding *instantiatingBinding,
46 bool populatingValueTypeGroupProperty =
false,
47 QQmlPropertyResolver::RevisionCheck checkRevision
48 = QQmlPropertyResolver::CheckRevision)
const;
49 QQmlError validateLiteralBinding(
50 const QQmlPropertyCache::ConstPtr &propertyCache,
const QQmlPropertyData *property,
51 const QV4::CompiledData::Binding *binding)
const;
52 QQmlError validateObjectBinding(
53 const QQmlPropertyData *property,
const QString &propertyName,
54 const QV4::CompiledData::Binding *binding)
const;
56 bool canCoerce(QMetaType to, QQmlPropertyCache::ConstPtr fromMo)
const;
58 Q_REQUIRED_RESULT QVector<QQmlError> recordError(
59 const QV4::CompiledData::Location &location,
const QString &description)
const;
60 Q_REQUIRED_RESULT QVector<QQmlError> recordError(
const QQmlError &error)
const;
61 QString stringAt(
int index)
const {
return compilationUnit->stringAt(index); }
62 QV4::ResolvedTypeReference *resolvedType(
int id)
const
64 return compilationUnit->resolvedType(id);
67 QQmlTypeLoader *m_typeLoader;
68 QQmlRefPointer<QV4::CompiledData::CompilationUnit> compilationUnit;
69 const QQmlImports *imports;
70 const QV4::CompiledData::Unit *qmlUnit;
71 const QQmlPropertyCacheVector &propertyCaches;
73 QVector<QV4::CompiledData::BindingPropertyData> *
const bindingPropertyDataPerObject;