diff options
author | Aaron Kennedy <aaron.kennedy@nokia.com> | 2009-05-12 02:05:09 (GMT) |
---|---|---|
committer | Aaron Kennedy <aaron.kennedy@nokia.com> | 2009-05-12 02:05:09 (GMT) |
commit | 350d455677d928d5154ebf9e33328423c8aa012d (patch) | |
tree | 72bc36832aa07fcfe676bed3482766dc2071a8c7 /src/declarative/qml | |
parent | 38c3d2d086d0e7fa07daf0d172d27747d6f95519 (diff) | |
download | Qt-350d455677d928d5154ebf9e33328423c8aa012d.zip Qt-350d455677d928d5154ebf9e33328423c8aa012d.tar.gz Qt-350d455677d928d5154ebf9e33328423c8aa012d.tar.bz2 |
Clean up qmlparser test
Diffstat (limited to 'src/declarative/qml')
-rw-r--r-- | src/declarative/qml/qmlcompiler.cpp | 2 | ||||
-rw-r--r-- | src/declarative/qml/qmlcompositetypemanager.cpp | 14 | ||||
-rw-r--r-- | src/declarative/qml/qmlcompositetypemanager_p.h | 6 | ||||
-rw-r--r-- | src/declarative/qml/qmlvme.cpp | 7 |
4 files changed, 26 insertions, 3 deletions
diff --git a/src/declarative/qml/qmlcompiler.cpp b/src/declarative/qml/qmlcompiler.cpp index 8e279a5..f17b50d 100644 --- a/src/declarative/qml/qmlcompiler.cpp +++ b/src/declarative/qml/qmlcompiler.cpp @@ -445,6 +445,7 @@ void QmlCompiler::reset(QmlCompiledComponent *cc, bool deleteMemory) exceptionColumn = token->location.start.column; \ QDebug d(&exceptionDescription); \ d << desc; \ + exceptionDescription = exceptionDescription.trimmed(); \ return false; \ } @@ -454,6 +455,7 @@ void QmlCompiler::reset(QmlCompiledComponent *cc, bool deleteMemory) exceptionColumn = obj->location.start.column; \ QDebug d(&exceptionDescription); \ d << desc; \ + exceptionDescription = exceptionDescription.trimmed(); \ return false; \ } diff --git a/src/declarative/qml/qmlcompositetypemanager.cpp b/src/declarative/qml/qmlcompositetypemanager.cpp index fbe40bf..f646ca9 100644 --- a/src/declarative/qml/qmlcompositetypemanager.cpp +++ b/src/declarative/qml/qmlcompositetypemanager.cpp @@ -51,7 +51,7 @@ #include <private/qmlcomponent_p.h> QmlCompositeTypeData::QmlCompositeTypeData() -: status(Invalid), component(0), compiledComponent(0) +: status(Invalid), errorType(NoError), component(0), compiledComponent(0) { } @@ -190,6 +190,7 @@ void QmlCompositeTypeManager::replyFinished() // ### FIXME QmlError error; error.setDescription(errorDescription); + unit->errorType = QmlCompositeTypeData::AccessError; unit->errors << error; doComplete(unit); @@ -220,6 +221,7 @@ void QmlCompositeTypeManager::loadSource(QmlCompositeTypeData *unit) // ### FIXME QmlError error; error.setDescription(errorDescription); + unit->errorType = QmlCompositeTypeData::AccessError; unit->errors << error; doComplete(unit); } @@ -239,6 +241,7 @@ void QmlCompositeTypeManager::setData(QmlCompositeTypeData *unit, if (!unit->data.parse(data, url)) { unit->status = QmlCompositeTypeData::Error; + unit->errorType = QmlCompositeTypeData::GeneralError; unit->errors << unit->data.errors(); doComplete(unit); @@ -339,7 +342,14 @@ void QmlCompositeTypeManager::compile(QmlCompositeTypeData *unit) case QmlCompositeTypeData::Invalid: case QmlCompositeTypeData::Error: unit->status = QmlCompositeTypeData::Error; - unit->errors = urlUnit->errors; + { + QmlError error; + error.setUrl(unit->url); + error.setDescription("Type " + type + " unavailable"); + unit->errors << error; + } + if (urlUnit->errorType != QmlCompositeTypeData::AccessError) + unit->errors << urlUnit->errors; doComplete(unit); return; diff --git a/src/declarative/qml/qmlcompositetypemanager_p.h b/src/declarative/qml/qmlcompositetypemanager_p.h index e4028d5..c12dedc 100644 --- a/src/declarative/qml/qmlcompositetypemanager_p.h +++ b/src/declarative/qml/qmlcompositetypemanager_p.h @@ -66,6 +66,12 @@ struct QmlCompositeTypeData : public QmlRefCount Waiting }; Status status; + enum ErrorType { + NoError, + AccessError, + GeneralError + }; + ErrorType errorType; QList<QmlError> errors; diff --git a/src/declarative/qml/qmlvme.cpp b/src/declarative/qml/qmlvme.cpp index 5e0f257..794c836 100644 --- a/src/declarative/qml/qmlvme.cpp +++ b/src/declarative/qml/qmlvme.cpp @@ -181,6 +181,7 @@ QmlVME::QmlVME() QString str; \ QDebug d(&str); \ d << desc; \ + str = str.trimmed(); \ QmlError error; \ error.setDescription(str); \ error.setLine(instr.line); \ @@ -860,7 +861,11 @@ QObject *QmlVME::run(QmlContext *ctxt, QmlCompiledComponent *comp, int start, in } else { - VME_EXCEPTION("Cannot assign to non-existant property" << property); + if (instr.assignObject.property == -1) { + VME_EXCEPTION("Cannot assign to default property"); + } else { + VME_EXCEPTION("Cannot assign to non-existant property" << property); + } } } |