aboutsummaryrefslogtreecommitdiffstats
path: root/src/qmlcompiler/qqmljsimporter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/qmlcompiler/qqmljsimporter.cpp')
-rw-r--r--src/qmlcompiler/qqmljsimporter.cpp19
1 files changed, 11 insertions, 8 deletions
diff --git a/src/qmlcompiler/qqmljsimporter.cpp b/src/qmlcompiler/qqmljsimporter.cpp
index c6640316fa..4d95f61f94 100644
--- a/src/qmlcompiler/qqmljsimporter.cpp
+++ b/src/qmlcompiler/qqmljsimporter.cpp
@@ -234,10 +234,14 @@ void QQmlJSImporter::processImport(
*/
QQmlJSImporter::ImportedTypes QQmlJSImporter::importBuiltins()
{
- if (!m_builtins.isEmpty())
- return m_builtins;
+ return builtinImportHelper().qmlNames;
+}
+
- AvailableTypes types;
+QQmlJSImporter::AvailableTypes QQmlJSImporter::builtinImportHelper()
+{
+ if (!m_builtins.qmlNames.isEmpty() || !m_builtins.cppNames.isEmpty())
+ return m_builtins;
for (auto const &dir : m_importPaths) {
Import result;
@@ -245,11 +249,10 @@ QQmlJSImporter::ImportedTypes QQmlJSImporter::importBuiltins()
QDirIterator::Subdirectories };
while (it.hasNext())
readQmltypes(it.next(), &result.objects, &result.dependencies);
- importDependencies(result, &types);
- processImport(result, &types);
+ importDependencies(result, &m_builtins);
+ processImport(result, &m_builtins);
}
- m_builtins = types.qmlNames;
return m_builtins;
}
@@ -258,7 +261,7 @@ QQmlJSImporter::ImportedTypes QQmlJSImporter::importBuiltins()
*/
QQmlJSImporter::ImportedTypes QQmlJSImporter::importQmltypes(const QStringList &qmltypesFiles)
{
- AvailableTypes types;
+ AvailableTypes types(builtinImportHelper().cppNames);
Import result;
for (const auto &qmltypeFile : qmltypesFiles)
@@ -273,7 +276,7 @@ QQmlJSImporter::ImportedTypes QQmlJSImporter::importQmltypes(const QStringList &
QQmlJSImporter::ImportedTypes QQmlJSImporter::importModule(
const QString &module, const QString &prefix, QTypeRevision version)
{
- AvailableTypes result;
+ AvailableTypes result(builtinImportHelper().cppNames);
importHelper(module, &result, prefix, version);
return result.qmlNames;
}