aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/compiler/qqmltypecompiler.cpp
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@digia.com>2014-01-15 13:32:42 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-01-17 08:10:07 +0100
commit8fc545de4166eb3c73833e9d9136dfbebf43539a (patch)
tree1ba7274ee48920c3c43a04c00ac7dcc0350ffa2d /src/qml/compiler/qqmltypecompiler.cpp
parent6547d53e6555f90065c045b718084557001f0245 (diff)
[new compiler] Fix error reporting location for custom parsers
After the binding of QQmlCompilePass to QQmlTypeCompiler, I forgot to change the customer parser handling to also report the errors correctly back to the QQmlTypeCompiler. Instead they were collected locally with an empty url. Change-Id: I5ee527a77e27c0339c507f326a3b0f0837353db3 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/qml/compiler/qqmltypecompiler.cpp')
-rw-r--r--src/qml/compiler/qqmltypecompiler.cpp20
1 files changed, 6 insertions, 14 deletions
diff --git a/src/qml/compiler/qqmltypecompiler.cpp b/src/qml/compiler/qqmltypecompiler.cpp
index 06f0be5944..56351b0013 100644
--- a/src/qml/compiler/qqmltypecompiler.cpp
+++ b/src/qml/compiler/qqmltypecompiler.cpp
@@ -101,10 +101,8 @@ bool QQmlTypeCompiler::compile()
{
QQmlPropertyCacheCreator propertyCacheBuilder(this);
- if (!propertyCacheBuilder.buildMetaObjects()) {
- errors << propertyCacheBuilder.errors;
+ if (!propertyCacheBuilder.buildMetaObjects())
return false;
- }
}
{
@@ -141,10 +139,8 @@ bool QQmlTypeCompiler::compile()
{
// Scan for components, determine their scopes and resolve aliases within the scope.
QQmlComponentAndAliasResolver resolver(this);
- if (!resolver.resolve()) {
- errors << resolver.errors;
+ if (!resolver.resolve())
return false;
- }
}
// Compile JS binding expressions and signal handlers
@@ -191,10 +187,8 @@ bool QQmlTypeCompiler::compile()
// Sanity check property bindings
QQmlPropertyValidator validator(this);
- if (!validator.validate()) {
- errors << validator.errors;
+ if (!validator.validate())
return false;
- }
return errors.isEmpty();
}
@@ -909,7 +903,7 @@ bool QQmlComponentAndAliasResolver::resolve()
resolveAliases();
- return errors.isEmpty();
+ return true;
}
bool QQmlComponentAndAliasResolver::collectIdsAndAliases(int objectIndex)
@@ -1191,10 +1185,8 @@ bool QQmlPropertyValidator::validateObject(const QV4::CompiledData::Object *obj,
customParserData->insert(objectIndex, data);
const QList<QQmlError> parserErrors = customParser->errors();
if (!parserErrors.isEmpty()) {
- foreach (QQmlError error, parserErrors) {
- error.setUrl(url);
- errors << error;
- }
+ foreach (QQmlError error, parserErrors)
+ compiler->recordError(error);
return false;
}
}