summaryrefslogtreecommitdiff
path: root/src/libs/qmljs/qmljsimportdependencies.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/qmljs/qmljsimportdependencies.cpp')
-rw-r--r--src/libs/qmljs/qmljsimportdependencies.cpp38
1 files changed, 36 insertions, 2 deletions
diff --git a/src/libs/qmljs/qmljsimportdependencies.cpp b/src/libs/qmljs/qmljsimportdependencies.cpp
index dffcf8ee4b..9dc0e53f54 100644
--- a/src/libs/qmljs/qmljsimportdependencies.cpp
+++ b/src/libs/qmljs/qmljsimportdependencies.cpp
@@ -314,7 +314,7 @@ int ImportKey::compare(const ImportKey &other) const
QString v2 = other.splitPath.at(i);
if (v1 < v2)
return -1;
- if (v2 > v1)
+ if (v1 > v2)
return 1;
}
if (len1 < len2)
@@ -626,7 +626,7 @@ void ImportDependencies::iterateOnCandidateImports(
break;
default:
{
- QStringList imp = m_importCache.value(key.flatKey());
+ const QStringList imp = m_importCache.value(key.flatKey());
foreach (const QString &cImportName, imp) {
CoreImport cImport = coreImport(cImportName);
if (vContext.languageIsCompatible(cImport.language)) {
@@ -928,4 +928,38 @@ QSet<ImportKey> ImportDependencies::subdirImports(
return res;
}
+void ImportDependencies::checkConsistency() const
+{
+ QMapIterator<ImportKey, QStringList> j(m_importCache);
+ while (j.hasNext()) {
+ j.next();
+ foreach (const QString &s, j.value()) {
+ bool found = false;
+ foreach (const Export &e, m_coreImports.value(s).possibleExports)
+ if (e.exportName == j.key())
+ found = true;
+ Q_ASSERT(found);
+ }
+ }
+ QMapIterator<QString,CoreImport> i(m_coreImports);
+ while (i.hasNext()) {
+ i.next();
+ foreach (const Export &e, i.value().possibleExports) {
+ if (!m_importCache.value(e.exportName).contains(i.key())) {
+ qDebug() << e.exportName.toString();
+ qDebug() << i.key();
+
+ QMapIterator<ImportKey, QStringList> j(m_importCache);
+ while (j.hasNext()) {
+ j.next();
+ qDebug() << j.key().toString() << j.value();
+ }
+ qDebug() << m_importCache.contains(e.exportName);
+ qDebug() << m_importCache.value(e.exportName);
+ }
+ Q_ASSERT(m_importCache.value(e.exportName).contains(i.key()));
+ }
+ }
+}
+
} // namespace QmlJS