diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2018-04-05 18:13:28 +0200 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2018-04-06 10:29:29 +0000 |
commit | 62ad59ded6e4e280055f67aec15595623a8b0974 (patch) | |
tree | 09ce859f385507490901544ea8fcb69119cd7ee4 /src/lib/corelib/language/projectresolver.cpp | |
parent | be2c6339298c89476c967aad8a9fcaccbe41b519 (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.cpp | 7 |
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 ®ex 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); }) |