summaryrefslogtreecommitdiff
path: root/src/libs/qmljs/qmljsimportdependencies.cpp
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@digia.com>2013-12-10 12:53:20 +0100
committerErik Verbruggen <erik.verbruggen@digia.com>2013-12-10 12:53:20 +0100
commit9f831dde07cb2411808534e76669b28a1b76e21d (patch)
treeed6252d64c9a3ab27aa93786272cda1b6008f3c7 /src/libs/qmljs/qmljsimportdependencies.cpp
parentcdac81f896ef4b052d76f96485a08e6ec13696b8 (diff)
parentea1a92484ac99057b06130a012164bf9788650e9 (diff)
downloadqt-creator-wip/clang.tar.gz
Merge remote-tracking branch 'origin/master' into wip/clangwip/clang
Change-Id: I8a2c8068a3f2b15034fb1bf6304c9a0f3f0e3c8f
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