C++: Change QStringList to QSet<QString> to prevent conversions.

This eliminates a bunch of list->set->list conversions. Especially the
ProjectInfo::appendProjectPart takes lots of time converting for every
part added.

Change-Id: Ib3c8cd4b0ad6c012ccbeed12ebedd46b9b6cca95
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
This commit is contained in:
Erik Verbruggen
2014-09-04 14:59:50 +02:00
parent 50e951dcb4
commit cc70b603d3
30 changed files with 95 additions and 92 deletions

View File

@@ -55,9 +55,12 @@ ModelManagerTestHelper::ModelManagerTestHelper(QObject *parent) :
CppModelManager *mm = CppModelManager::instance();
assert(mm);
connect(this, SIGNAL(aboutToRemoveProject(ProjectExplorer::Project*)), mm, SLOT(onAboutToRemoveProject(ProjectExplorer::Project*)));
connect(this, SIGNAL(projectAdded(ProjectExplorer::Project*)), mm, SLOT(onProjectAdded(ProjectExplorer::Project*)));
connect(mm, SIGNAL(sourceFilesRefreshed(QStringList)), this, SLOT(sourceFilesRefreshed(QStringList)));
connect(this, SIGNAL(aboutToRemoveProject(ProjectExplorer::Project*)),
mm, SLOT(onAboutToRemoveProject(ProjectExplorer::Project*)));
connect(this, SIGNAL(projectAdded(ProjectExplorer::Project*)),
mm, SLOT(onProjectAdded(ProjectExplorer::Project*)));
connect(mm, SIGNAL(sourceFilesRefreshed(QSet<QString>)),
this, SLOT(sourceFilesRefreshed(QSet<QString>)));
connect(mm, SIGNAL(gcFinished()), this, SLOT(gcFinished()));
cleanup();
@@ -110,7 +113,7 @@ void ModelManagerTestHelper::resetRefreshedSourceFiles()
m_refreshHappened = false;
}
QStringList ModelManagerTestHelper::waitForRefreshedSourceFiles()
QSet<QString> ModelManagerTestHelper::waitForRefreshedSourceFiles()
{
while (!m_refreshHappened)
QCoreApplication::processEvents();
@@ -126,7 +129,7 @@ void ModelManagerTestHelper::waitForFinishedGc()
QCoreApplication::processEvents();
}
void ModelManagerTestHelper::sourceFilesRefreshed(const QStringList &files)
void ModelManagerTestHelper::sourceFilesRefreshed(const QSet<QString> &files)
{
m_lastRefreshedSourceFiles = files;
m_refreshHappened = true;