CppTools: Create ProjectInfos explicitly

...instead of going through CppModelManager::projectInfo().

Now CppModelManager::projectInfo() returns an invalid ProjectInfo in
case there is no valid data for the given Project.

Change-Id: I11908bf2ddf865b1d3d71ff176eaf4139292b21c
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
This commit is contained in:
Nikolai Kosjar
2014-11-20 12:50:37 +01:00
committed by Erik Verbruggen
parent be7d63c99a
commit 205170a9e5
9 changed files with 25 additions and 51 deletions

View File

@@ -109,7 +109,6 @@ QbsProject::QbsProject(QbsManager *manager, const QString &fileName) :
m_qbsUpdateFutureInterface(0),
m_parsingScheduled(false),
m_cancelStatus(CancelStatusNone),
m_codeModelProjectInfo(this),
m_currentBc(0)
{
m_parsingDelay.setInterval(1000); // delay parsing by 1s.
@@ -693,9 +692,7 @@ void QbsProject::updateCppCodeModel()
if (!modelmanager)
return;
CppTools::ProjectInfo pinfo = modelmanager->projectInfo(this);
pinfo.clearProjectParts();
CppTools::ProjectInfo pinfo = CppTools::ProjectInfo(this);
CppTools::ProjectPartBuilder ppBuilder(pinfo);
if (qtVersion) {
@@ -791,6 +788,7 @@ void QbsProject::updateCppCodeModel()
m_codeModelFuture.cancel();
m_codeModelFuture = modelmanager->updateProjectInfo(pinfo);
m_codeModelProjectInfo = modelmanager->projectInfo(this);
QTC_CHECK(m_codeModelProjectInfo == pinfo);
}
void QbsProject::updateCppCompilerCallData()