aboutsummaryrefslogtreecommitdiffstats
path: root/src/qmlcompiler/qqmljslinter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/qmlcompiler/qqmljslinter.cpp')
-rw-r--r--src/qmlcompiler/qqmljslinter.cpp19
1 files changed, 10 insertions, 9 deletions
diff --git a/src/qmlcompiler/qqmljslinter.cpp b/src/qmlcompiler/qqmljslinter.cpp
index 51a1489360..9d80406a03 100644
--- a/src/qmlcompiler/qqmljslinter.cpp
+++ b/src/qmlcompiler/qqmljslinter.cpp
@@ -552,10 +552,19 @@ QQmlJSLinter::LintResult QQmlJSLinter::lintFile(const QString &filename,
QQmlJSLiteralBindingCheck literalCheck;
literalCheck.run(&v, &typeResolver);
+ const QStringList resourcePaths = mapper
+ ? mapper->resourcePaths(QQmlJSResourceFileMapper::localFileFilter(filename))
+ : QStringList();
+ const QString resolvedPath =
+ (resourcePaths.size() == 1) ? u':' + resourcePaths.first() : filename;
+
+ QQmlJSLinterCodegen codegen{ &m_importer, resolvedPath, qmldirFiles, m_logger.get() };
+ codegen.setTypeResolver(std::move(typeResolver));
+
QScopedPointer<QQmlSA::PassManager> passMan;
if (m_enablePlugins) {
- passMan.reset(new QQmlSA::PassManager(&v, &typeResolver));
+ passMan.reset(new QQmlSA::PassManager(&v, codegen.typeResolver()));
for (const Plugin &plugin : m_plugins) {
if (!plugin.isValid() || !plugin.isEnabled())
@@ -577,14 +586,6 @@ QQmlJSLinter::LintResult QQmlJSLinter::lintFile(const QString &filename,
return;
}
- const QStringList resourcePaths = mapper
- ? mapper->resourcePaths(QQmlJSResourceFileMapper::localFileFilter(filename))
- : QStringList();
- const QString resolvedPath =
- (resourcePaths.size() == 1) ? u':' + resourcePaths.first() : filename;
-
- QQmlJSLinterCodegen codegen { &m_importer, resolvedPath, qmldirFiles, m_logger.get() };
- codegen.setTypeResolver(std::move(typeResolver));
if (passMan)
codegen.setPassManager(passMan.get());
QQmlJSSaveFunction saveFunction = [](const QV4::CompiledData::SaveableUnitPointer &,