diff options
author | Oswald Buddenhagen <oswald.buddenhagen@nokia.com> | 2012-09-06 21:50:09 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2012-09-20 14:34:56 +0200 |
commit | bf4fc2e5fca65204665ef2ad23a9792b72f727ab (patch) | |
tree | a6c323e8804181324d6cda3ddc806ad66d3bd080 /src/linguist/lupdate | |
parent | e69551f23e47632d517f7ec7d6efc25580df8df0 (diff) | |
download | qttools-bf4fc2e5fca65204665ef2ad23a9792b72f727ab.tar.gz |
update qmake evaluator to newest version from qt creator
Change-Id: I66ec46dd87f922094f6937b50cc40e02ef08cc86
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Diffstat (limited to 'src/linguist/lupdate')
-rw-r--r-- | src/linguist/lupdate/main.cpp | 57 |
1 files changed, 26 insertions, 31 deletions
diff --git a/src/linguist/lupdate/main.cpp b/src/linguist/lupdate/main.cpp index a90e1128a..eb225d9ec 100644 --- a/src/linguist/lupdate/main.cpp +++ b/src/linguist/lupdate/main.cpp @@ -42,7 +42,7 @@ #include "lupdate.h" #include <translator.h> -#include <profileparser.h> +#include <qmakeparser.h> #include <profileevaluator.h> #include <QtCore/QCoreApplication> @@ -229,30 +229,25 @@ static void updateTsFiles(const Translator &fetchedTor, const QStringList &tsFil } } -static void print(const QString &fileName, int lineNo, const QString &msg) +static void print(const QString &fileName, int lineNo, int type, const QString &msg) { - if (lineNo) - printErr(QString::fromLatin1("%2(%1): %3").arg(lineNo).arg(fileName, msg)); + QString pfx = ((type & QMakeHandler::CategoryMask) == QMakeHandler::WarningMessage) + ? QString::fromLatin1("WARNING: ") : QString(); + if (lineNo > 0) + printErr(QString::fromLatin1("%1%2:%3: %4\n").arg(pfx, fileName, QString::number(lineNo), msg)); + else if (lineNo) + printErr(QString::fromLatin1("%1%2: %3\n").arg(pfx, fileName, msg)); else - printErr(msg); + printErr(QString::fromLatin1("%1%2\n").arg(pfx, msg)); } -class ParseHandler : public ProFileParserHandler { +class EvalHandler : public QMakeHandler { public: - virtual void parseError(const QString &fileName, int lineNo, const QString &msg) - { if (verbose) print(fileName, lineNo, msg); } + virtual void message(int type, const QString &msg, const QString &fileName, int lineNo) + { if (verbose) print(fileName, lineNo, type, msg); } - bool verbose; -}; - -class EvalHandler : public ProFileEvaluatorHandler { -public: - virtual void configError(const QString &msg) - { printErr(msg); } - virtual void evalError(const QString &fileName, int lineNo, const QString &msg) - { if (verbose) print(fileName, lineNo, msg); } virtual void fileMessage(const QString &msg) - { printErr(msg); } + { printErr(msg + QLatin1Char('\n')); } virtual void aboutToEval(ProFile *, ProFile *, EvalFileType) {} virtual void doneWithEval(ProFile *) {} @@ -260,7 +255,6 @@ public: bool verbose; }; -static ParseHandler parseHandler; static EvalHandler evalHandler; static QStringList getSources(const char *var, const char *vvar, const QStringList &baseVPaths, @@ -338,16 +332,15 @@ static void processSources(Translator &fetchedTor, printErr(cd.error()); } -static void processProjects( - bool topLevel, bool nestComplain, const QStringList &proFiles, - ProFileOption *option, ProFileParser *parser, +static void processProjects(bool topLevel, bool nestComplain, const QStringList &proFiles, + ProFileGlobals *option, QMakeParser *parser, UpdateOptions options, const QByteArray &codecForSource, const QString &targetLanguage, const QString &sourceLanguage, Translator *parentTor, bool *fail); static void processProject( bool nestComplain, const QFileInfo &pfi, - ProFileOption *option, ProFileParser *parser, ProFileEvaluator &visitor, + ProFileGlobals *option, QMakeParser *parser, ProFileEvaluator &visitor, UpdateOptions options, const QByteArray &_codecForSource, const QString &targetLanguage, const QString &sourceLanguage, Translator *fetchedTor, bool *fail) @@ -399,9 +392,8 @@ static void processProject( } } -static void processProjects( - bool topLevel, bool nestComplain, const QStringList &proFiles, - ProFileOption *option, ProFileParser *parser, +static void processProjects(bool topLevel, bool nestComplain, const QStringList &proFiles, + ProFileGlobals *option, QMakeParser *parser, UpdateOptions options, const QByteArray &codecForSource, const QString &targetLanguage, const QString &sourceLanguage, Translator *parentTor, bool *fail) @@ -410,6 +402,7 @@ static void processProjects( QFileInfo pfi(proFile); ProFileEvaluator visitor(option, parser, &evalHandler); + visitor.setCumulative(true); ProFile *pro; if (!(pro = parser->parsedProFile(QDir::cleanPath(pfi.absoluteFilePath())))) { if (topLevel) @@ -789,11 +782,13 @@ int main(int argc, char **argv) return 1; } - parseHandler.verbose = evalHandler.verbose = !!(options & Verbose); - ProFileOption option; - option.initProperties(app.applicationDirPath() + QLatin1String("/qmake")); - option.setCommandLineArguments(QStringList() << QLatin1String("CONFIG+=lupdate_run")); - ProFileParser parser(0, &parseHandler); + evalHandler.verbose = !!(options & Verbose); + ProFileGlobals option; + option.qmake_abslocation = app.applicationDirPath() + QLatin1String("/qmake"); + option.initProperties(); + option.setCommandLineArguments(QDir::currentPath(), + QStringList() << QLatin1String("CONFIG+=lupdate_run")); + QMakeParser parser(0, &evalHandler); if (!tsFileNames.isEmpty()) { Translator fetchedTor; |