aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/libs/qmljs/qmljsinterpreter.cpp2
-rw-r--r--src/libs/qmljs/qmljstypedescriptionreader.cpp19
-rw-r--r--src/libs/qmljs/qmljstypedescriptionreader.h3
3 files changed, 15 insertions, 9 deletions
diff --git a/src/libs/qmljs/qmljsinterpreter.cpp b/src/libs/qmljs/qmljsinterpreter.cpp
index efb606de28..8b81a55c70 100644
--- a/src/libs/qmljs/qmljsinterpreter.cpp
+++ b/src/libs/qmljs/qmljsinterpreter.cpp
@@ -1298,7 +1298,7 @@ void CppQmlTypesLoader::parseQmlTypeDescriptions(const QByteArray &contents,
errorMessage->clear();
warningMessage->clear();
- TypeDescriptionReader reader(QString::fromUtf8(contents));
+ TypeDescriptionReader reader(fileName, QString::fromUtf8(contents));
if (!reader(newObjects, newModuleApis)) {
if (reader.errorMessage().isEmpty())
*errorMessage = QLatin1String("unknown error");
diff --git a/src/libs/qmljs/qmljstypedescriptionreader.cpp b/src/libs/qmljs/qmljstypedescriptionreader.cpp
index 245488ad9e..73315dbeb9 100644
--- a/src/libs/qmljs/qmljstypedescriptionreader.cpp
+++ b/src/libs/qmljs/qmljstypedescriptionreader.cpp
@@ -36,13 +36,14 @@
#include "qmljsinterpreter.h"
#include "qmljsutils.h"
+#include <QDir>
+
using namespace QmlJS;
using namespace QmlJS::AST;
using namespace LanguageUtils;
-TypeDescriptionReader::TypeDescriptionReader(const QString &data)
- : _source(data)
- , _objects(0)
+TypeDescriptionReader::TypeDescriptionReader(const QString &fileName, const QString &data)
+ : _fileName (fileName), _source(data), _objects(0)
{
}
@@ -162,7 +163,8 @@ void TypeDescriptionReader::readModule(UiObjectDefinition *ast)
void TypeDescriptionReader::addError(const SourceLocation &loc, const QString &message)
{
- _errorMessage += QString::fromLatin1("%1:%2: %3\n").arg(
+ _errorMessage += QString::fromLatin1("%1:%2:%3: %4\n").arg(
+ QDir::toNativeSeparators(_fileName),
QString::number(loc.startLine),
QString::number(loc.startColumn),
message);
@@ -170,7 +172,8 @@ void TypeDescriptionReader::addError(const SourceLocation &loc, const QString &m
void TypeDescriptionReader::addWarning(const SourceLocation &loc, const QString &message)
{
- _warningMessage += QString::fromLatin1("%1:%2: %3\n").arg(
+ _warningMessage += QString::fromLatin1("%1:%2:%3: %4\n").arg(
+ QDir::toNativeSeparators(_fileName),
QString::number(loc.startLine),
QString::number(loc.startColumn),
message);
@@ -193,7 +196,9 @@ void TypeDescriptionReader::readComponent(UiObjectDefinition *ast)
else if (name == QLatin1String("Enum"))
readEnum(component, fmo);
else
- addWarning(component->firstSourceLocation(), tr("Expected only Property, Method, Signal and Enum object definitions."));
+ addWarning(component->firstSourceLocation(),
+ tr("Expected only Property, Method, Signal and Enum object definitions, not '%1'.")
+ .arg(name));
} else if (script) {
QString name = toString(script->qualifiedId);
if (name == QLatin1String("name")) {
@@ -211,7 +216,7 @@ void TypeDescriptionReader::readComponent(UiObjectDefinition *ast)
} else {
addWarning(script->firstSourceLocation(),
tr("Expected only name, prototype, defaultProperty, attachedType, exports "
- "and exportMetaObjectRevisions script bindings."));
+ "and exportMetaObjectRevisions script bindings, not '%1'.").arg(name));
}
} else {
addWarning(member->firstSourceLocation(), tr("Expected only script bindings and object definitions."));
diff --git a/src/libs/qmljs/qmljstypedescriptionreader.h b/src/libs/qmljs/qmljstypedescriptionreader.h
index 4660dfb23e..8133b77327 100644
--- a/src/libs/qmljs/qmljstypedescriptionreader.h
+++ b/src/libs/qmljs/qmljstypedescriptionreader.h
@@ -54,7 +54,7 @@ class QMLJS_EXPORT TypeDescriptionReader
Q_DECLARE_TR_FUNCTIONS(QmlJS::TypeDescriptionReader)
public:
- explicit TypeDescriptionReader(const QString &data);
+ explicit TypeDescriptionReader(const QString &fileName, const QString &data);
~TypeDescriptionReader();
bool operator()(
@@ -85,6 +85,7 @@ private:
void addError(const AST::SourceLocation &loc, const QString &message);
void addWarning(const AST::SourceLocation &loc, const QString &message);
+ QString _fileName;
QString _source;
QString _errorMessage;
QString _warningMessage;