aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/corelib/language/projectresolver.cpp
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2018-04-05 18:13:28 +0200
committerChristian Kandeler <christian.kandeler@qt.io>2018-04-06 10:29:29 +0000
commit62ad59ded6e4e280055f67aec15595623a8b0974 (patch)
tree09ce859f385507490901544ea8fcb69119cd7ee4 /src/lib/corelib/language/projectresolver.cpp
parentbe2c6339298c89476c967aad8a9fcaccbe41b519 (diff)
Exporter support: Correctly detect use of imports
... of the form "var obj = Data". We did not consider this case so far. Change-Id: I665ef26849e21cbb8c8b39f3a7d016d4126d279c Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'src/lib/corelib/language/projectresolver.cpp')
-rw-r--r--src/lib/corelib/language/projectresolver.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/lib/corelib/language/projectresolver.cpp b/src/lib/corelib/language/projectresolver.cpp
index e955f29d9..e46c181dd 100644
--- a/src/lib/corelib/language/projectresolver.cpp
+++ b/src/lib/corelib/language/projectresolver.cpp
@@ -1010,11 +1010,12 @@ static bool usesImport(const ExportedItem &item, const QRegularExpression &regex
static bool usesImport(const ExportedModule &module, const QString &name)
{
- // Imports are used in two ways:
+ // Imports are used in three ways:
// (1) var f = new TextFile(...);
// (2) var path = FileInfo.joinPaths(...)
- const QString pattern
- = QStringLiteral("(?:new[[:space:]]+%1[[:space:]]+\\()|(?:[^[:alnum:]_]?%1\\.)");
+ // (3) var obj = DataCollection;
+ const QString pattern = QStringLiteral("\\b%1\\b");
+
const QRegularExpression regex(pattern.arg(name)); // std::regex is much slower
return any_of(module.m_properties,
[regex](const ExportedProperty &p) { return usesImport(p, regex); })