summaryrefslogtreecommitdiff
path: root/src/libs/qmljs/parser/qmldirparser.cpp
diff options
context:
space:
mode:
authorMarco Benelli <marco.benelli@qt.io>2018-10-16 15:32:58 +0200
committerMarco Benelli <marco.benelli@qt.io>2018-11-22 11:21:32 +0000
commit4646acad0db369302d08a1b83e1971be31c1df4f (patch)
treecc6b02cc0942309f9887e3a8e0f19a34e60123d5 /src/libs/qmljs/parser/qmldirparser.cpp
parentfe8a3727735f1e6cf9414999ff5103520b1a56f9 (diff)
downloadqt-creator-4646acad0db369302d08a1b83e1971be31c1df4f.tar.gz
qmljs: update parser
Update the qtcreator qmljs parser to the one of Qt 5.12. It supports EcmaScript 7. Task-number: QTCREATORBUG-20341 Change-Id: I0d1cff71402ba17e22cde6b46c65614e162280de Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
Diffstat (limited to 'src/libs/qmljs/parser/qmldirparser.cpp')
-rw-r--r--src/libs/qmljs/parser/qmldirparser.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/libs/qmljs/parser/qmldirparser.cpp b/src/libs/qmljs/parser/qmldirparser.cpp
index ece7384c98..d56affdbe1 100644
--- a/src/libs/qmljs/parser/qmldirparser.cpp
+++ b/src/libs/qmljs/parser/qmldirparser.cpp
@@ -93,6 +93,7 @@ bool QmlDirParser::parse(const QString &source)
_components.clear();
_scripts.clear();
_designerSupported = false;
+ _className.clear();
quint16 lineNumber = 0;
bool firstLine = true;
@@ -182,7 +183,8 @@ bool QmlDirParser::parse(const QString &source)
continue;
}
- // Ignore these. qmlimportscanner uses them.
+ _className = sections[1];
+
} else if (sections[0] == QLatin1String("internal")) {
if (sectionCount != 3) {
reportError(lineNumber, 0,
@@ -256,7 +258,7 @@ bool QmlDirParser::parse(const QString &source)
if (parseVersion(sections[1], &major, &minor)) {
const QString &fileName = sections[2];
- if (fileName.endsWith(QLatin1String(".js"))) {
+ if (fileName.endsWith(QLatin1String(".js")) || fileName.endsWith(QLatin1String(".mjs"))) {
// A 'js' extension indicates a namespaced script import
const Script entry(sections[0], fileName, major, minor);
_scripts.append(entry);
@@ -363,6 +365,11 @@ bool QmlDirParser::designerSupported() const
return _designerSupported;
}
+QString QmlDirParser::className() const
+{
+ return _className;
+}
+
QDebug &operator<< (QDebug &debug, const QmlDirParser::Component &component)
{
const QString output = QStringLiteral("{%1 %2.%3}").