summaryrefslogtreecommitdiffstats
path: root/src/declarative/qml
diff options
context:
space:
mode:
authorAaron Kennedy <aaron.kennedy@nokia.com>2009-05-12 02:05:09 (GMT)
committerAaron Kennedy <aaron.kennedy@nokia.com>2009-05-12 02:05:09 (GMT)
commit350d455677d928d5154ebf9e33328423c8aa012d (patch)
tree72bc36832aa07fcfe676bed3482766dc2071a8c7 /src/declarative/qml
parent38c3d2d086d0e7fa07daf0d172d27747d6f95519 (diff)
downloadQt-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.cpp2
-rw-r--r--src/declarative/qml/qmlcompositetypemanager.cpp14
-rw-r--r--src/declarative/qml/qmlcompositetypemanager_p.h6
-rw-r--r--src/declarative/qml/qmlvme.cpp7
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);
+ }
}
}