diff options
-rw-r--r-- | src/qml/qml/qqmlcustomparser.cpp | 24 | ||||
-rw-r--r-- | src/qml/qml/qqmlcustomparser_p.h | 7 | ||||
-rw-r--r-- | src/qml/types/qqmllistmodel.cpp | 2 |
3 files changed, 11 insertions, 22 deletions
diff --git a/src/qml/qml/qqmlcustomparser.cpp b/src/qml/qml/qqmlcustomparser.cpp index e976000c9e..fc14fae275 100644 --- a/src/qml/qml/qqmlcustomparser.cpp +++ b/src/qml/qml/qqmlcustomparser.cpp @@ -277,29 +277,15 @@ void QQmlCustomParser::error(const QQmlCustomParserNode& node, const QString& de } /*! - Reports an error in parsing \a binding, with the given \a description. - - An error is generated referring to the position of \a node in the source file. -*/ -void QQmlCustomParser::error(const QV4::CompiledData::Binding *binding, const QString &description) -{ - QQmlError error; - error.setLine(binding->location.line); - error.setColumn(binding->location.column); - error.setDescription(description); - exceptions << error; -} - -/*! - Reports an error in parsing \a object, with the given \a description. + Reports an error with the given \a description. - An error is generated referring to the position of \a object in the source file. + An error is generated referring to the \a location in the source file. */ -void QQmlCustomParser::error(const QV4::CompiledData::Object *object, const QString &description) +void QQmlCustomParser::error(const CompiledData::Location &location, const QString &description) { QQmlError error; - error.setLine(object->location.line); - error.setColumn(object->location.column); + error.setLine(location.line); + error.setColumn(location.column); error.setDescription(description); exceptions << error; } diff --git a/src/qml/qml/qqmlcustomparser_p.h b/src/qml/qml/qqmlcustomparser_p.h index b406717410..d06a8c1551 100644 --- a/src/qml/qml/qqmlcustomparser_p.h +++ b/src/qml/qml/qqmlcustomparser_p.h @@ -149,8 +149,11 @@ protected: void error(const QString& description); void error(const QQmlCustomParserProperty&, const QString& description); void error(const QQmlCustomParserNode&, const QString& description); - void error(const QV4::CompiledData::Binding *binding, const QString& description); - void error(const QV4::CompiledData::Object *object, const QString& description); + void error(const QV4::CompiledData::Binding *binding, const QString& description) + { error(binding->location, description); } + void error(const QV4::CompiledData::Object *object, const QString& description) + { error(object->location, description); } + void error(const QV4::CompiledData::Location &location, const QString& description); int evaluateEnum(const QByteArray&, bool *ok) const; diff --git a/src/qml/types/qqmllistmodel.cpp b/src/qml/types/qqmllistmodel.cpp index 50b7614c3b..eed76ee09e 100644 --- a/src/qml/types/qqmllistmodel.cpp +++ b/src/qml/types/qqmllistmodel.cpp @@ -2407,7 +2407,7 @@ bool QQmlListModelParser::compileProperty(const QV4::CompiledData::QmlUnit *qmlU } if (!qmlUnit->header.stringAt(target->idIndex).isEmpty()) { - error(binding, QQmlListModel::tr("ListElement: cannot use reserved \"id\" property")); + error(target->locationOfIdProperty, QQmlListModel::tr("ListElement: cannot use reserved \"id\" property")); return false; } |