aboutsummaryrefslogtreecommitdiffstats
path: root/tools/qmllint/findwarnings.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/qmllint/findwarnings.cpp')
-rw-r--r--tools/qmllint/findwarnings.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/tools/qmllint/findwarnings.cpp b/tools/qmllint/findwarnings.cpp
index a11abbf002..742c1a8d35 100644
--- a/tools/qmllint/findwarnings.cpp
+++ b/tools/qmllint/findwarnings.cpp
@@ -113,7 +113,13 @@ void FindWarningVisitor::throwRecursionDepthError()
bool FindWarningVisitor::visit(QQmlJS::AST::UiProgram *)
{
enterEnvironment(ScopeType::QMLScope, "program");
- m_rootScopeImports = m_importer.importBaseQmlTypes(m_qmltypesFiles);
+ m_rootScopeImports = m_importer.importBuiltins();
+
+ if (!m_qmltypesFiles.isEmpty()) {
+ const auto baseTypes = m_importer.importQmltypes(m_qmltypesFiles);
+ m_rootScopeImports.importedQmlNames.insert(baseTypes.importedQmlNames);
+ m_rootScopeImports.cppNames.insert(baseTypes.cppNames);
+ }
// add "self" (as we only ever check the first part of a qualified identifier, we get away with
// using an empty ScopeTree
@@ -339,7 +345,7 @@ bool FindWarningVisitor::visit(QQmlJS::AST::IdentifierExpression *idexp)
}
FindWarningVisitor::FindWarningVisitor(
- QStringList qmltypeDirs, QStringList qmltypesFiles, QString code, QString fileName,
+ QStringList qmlImportPaths, QStringList qmltypesFiles, QString code, QString fileName,
bool silent, bool warnUnqualified, bool warnWithStatement, bool warnInheritanceCycle)
: m_rootScope(ScopeTree::create(ScopeType::JSFunctionScope)),
m_qmltypesFiles(std::move(qmltypesFiles)),
@@ -350,7 +356,7 @@ FindWarningVisitor::FindWarningVisitor(
m_warnUnqualified(warnUnqualified),
m_warnWithStatement(warnWithStatement),
m_warnInheritanceCycle(warnInheritanceCycle),
- m_importer(qmltypeDirs)
+ m_importer(qmlImportPaths)
{
m_rootScope->setInternalName("global");
m_currentScope = m_rootScope;