diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2019-10-15 10:39:40 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@qt.io> | 2019-10-15 13:49:14 +0200 |
commit | 3d0bec491e6d823df510ba12dba38be820116e86 (patch) | |
tree | db6eeb60cfa214e9aa3c8e3ae56e8f971c2e643f /tools/qmllint/main.cpp | |
parent | edc8512580fa16892dc13034e93300cc6a2bba59 (diff) |
qmllint: Parse .mjs files as JavaScript rather than QML
Change-Id: I80783289452300d4609a27f5b470ecdeeeca5e71
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Diffstat (limited to 'tools/qmllint/main.cpp')
-rw-r--r-- | tools/qmllint/main.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/tools/qmllint/main.cpp b/tools/qmllint/main.cpp index 56f72dd020..232b31934e 100644 --- a/tools/qmllint/main.cpp +++ b/tools/qmllint/main.cpp @@ -62,11 +62,13 @@ static bool lint_file(const QString &filename, const bool silent, const bool war QQmlJS::Lexer lexer(&engine); QFileInfo info(filename); - bool isJavaScript = info.suffix().toLower() == QLatin1String("js"); + const QString lowerSuffix = info.suffix().toLower(); + const bool isJavaScript = (lowerSuffix == QLatin1String("js") || lowerSuffix == QLatin1String("mjs")); + const bool isESModule = lowerSuffix == QLatin1String("mjs"); lexer.setCode(code, /*line = */ 1, /*qmlMode=*/ !isJavaScript); QQmlJS::Parser parser(&engine); - bool success = isJavaScript ? parser.parseProgram() : parser.parse(); + bool success = isJavaScript ? (isESModule ? parser.parseModule() : parser.parseProgram()) : parser.parse(); if (!success && !silent) { const auto diagnosticMessages = parser.diagnosticMessages(); |