summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/cpptools')
-rw-r--r--src/plugins/cpptools/builtineditordocumentparser.cpp5
-rw-r--r--src/plugins/cpptools/builtineditordocumentparser.h2
-rw-r--r--src/plugins/cpptools/cppfindreferences.cpp48
-rw-r--r--src/plugins/cpptools/cppfindreferences.h11
-rw-r--r--src/plugins/cpptools/cppmodelmanager.cpp8
-rw-r--r--src/plugins/cpptools/cppmodelmanagerinterface.h2
-rw-r--r--src/plugins/cpptools/typehierarchybuilder.cpp7
-rw-r--r--src/plugins/cpptools/typehierarchybuilder.h2
8 files changed, 9 insertions, 76 deletions
diff --git a/src/plugins/cpptools/builtineditordocumentparser.cpp b/src/plugins/cpptools/builtineditordocumentparser.cpp
index a261336ec3..e6b5fd3c75 100644
--- a/src/plugins/cpptools/builtineditordocumentparser.cpp
+++ b/src/plugins/cpptools/builtineditordocumentparser.cpp
@@ -187,7 +187,7 @@ void BuiltinEditorDocumentParser::update(WorkingCopy workingCopy)
newSnapshot.insert(i.value());
}
m_snapshot = newSnapshot;
- m_deps.build(m_snapshot);
+ m_snapshot.updateDependencyTable();
emit finished(document(), m_snapshot);
}
@@ -197,7 +197,6 @@ void BuiltinEditorDocumentParser::releaseResources()
{
QMutexLocker locker(&m_mutex);
m_snapshot = Snapshot();
- m_deps = DependencyTable();
m_forceSnapshotInvalidation = true;
}
@@ -237,7 +236,7 @@ void BuiltinEditorDocumentParser::addFileAndDependencies(QSet<QString> *toRemove
{
toRemove->insert(fileName);
if (fileName != filePath()) {
- QStringList deps = m_deps.filesDependingOn(fileName);
+ QStringList deps = m_snapshot.filesDependingOn(fileName);
toRemove->unite(QSet<QString>::fromList(deps));
}
}
diff --git a/src/plugins/cpptools/builtineditordocumentparser.h b/src/plugins/cpptools/builtineditordocumentparser.h
index a3c96fcda6..e951b09ef0 100644
--- a/src/plugins/cpptools/builtineditordocumentparser.h
+++ b/src/plugins/cpptools/builtineditordocumentparser.h
@@ -35,7 +35,6 @@
#include "cppmodelmanager.h"
#include <cplusplus/CppDocument.h>
-#include <cplusplus/DependencyTable.h>
#include <utils/qtcoverride.h>
#include <QMutex>
@@ -76,7 +75,6 @@ private:
QStringList m_precompiledHeaders;
CPlusPlus::Snapshot m_snapshot;
- CPlusPlus::DependencyTable m_deps;
bool m_forceSnapshotInvalidation;
bool m_releaseSourceAndAST;
};
diff --git a/src/plugins/cpptools/cppfindreferences.cpp b/src/plugins/cpptools/cppfindreferences.cpp
index 6e0ec85ede..ad8ec3f0d1 100644
--- a/src/plugins/cpptools/cppfindreferences.cpp
+++ b/src/plugins/cpptools/cppfindreferences.cpp
@@ -250,7 +250,6 @@ CppFindReferences::CppFindReferences(CppModelManagerInterface *modelManager)
: QObject(modelManager),
m_modelManager(modelManager)
{
- connect(modelManager, SIGNAL(globalSnapshotChanged()), this, SLOT(flushDependencyTable()));
}
CppFindReferences::~CppFindReferences()
@@ -271,7 +270,6 @@ QList<int> CppFindReferences::references(Symbol *symbol, const LookupContext &co
static void find_helper(QFutureInterface<Usage> &future,
const WorkingCopy workingCopy,
const LookupContext context,
- CppFindReferences *findRefs,
Symbol *symbol)
{
const Identifier *symbolId = symbol->identifier();
@@ -297,8 +295,7 @@ static void find_helper(QFutureInterface<Usage> &future,
files.append(doc->fileName());
}
} else {
- DependencyTable dependencyTable = findRefs->updateDependencyTable(snapshot);
- files += dependencyTable.filesDependingOn(sourceFile);
+ files += snapshot.filesDependingOn(sourceFile);
}
files.removeDuplicates();
@@ -370,7 +367,7 @@ void CppFindReferences::findAll_helper(Core::SearchResult *search, CPlusPlus::Sy
Core::SearchResultWindow::instance()->popup(IOutputPane::ModeSwitch | IOutputPane::WithFocus);
const WorkingCopy workingCopy = m_modelManager->workingCopy();
QFuture<Usage> result;
- result = QtConcurrent::run(&find_helper, workingCopy, context, this, symbol);
+ result = QtConcurrent::run(&find_helper, workingCopy, context, symbol);
createWatcher(result, search);
FutureProgress *progress = ProgressManager::addTask(result, tr("Searching for Usages"),
@@ -614,15 +611,11 @@ restart_search:
static void findMacroUses_helper(QFutureInterface<Usage> &future,
const WorkingCopy workingCopy,
const Snapshot snapshot,
- CppFindReferences *findRefs,
const Macro macro)
{
- // ensure the dependency table is updated
- DependencyTable dependencies = findRefs->updateDependencyTable(snapshot);
-
const QString& sourceFile = macro.fileName();
QStringList files(sourceFile);
- files += dependencies.filesDependingOn(sourceFile);
+ files += snapshot.filesDependingOn(sourceFile);
files.removeDuplicates();
future.setProgressRange(0, files.size());
@@ -677,7 +670,7 @@ void CppFindReferences::findMacroUses(const Macro &macro, const QString &replace
}
QFuture<Usage> result;
- result = QtConcurrent::run(&findMacroUses_helper, workingCopy, snapshot, this, macro);
+ result = QtConcurrent::run(&findMacroUses_helper, workingCopy, snapshot, macro);
createWatcher(result, search);
FutureProgress *progress = ProgressManager::addTask(result, tr("Searching for Usages"),
@@ -691,39 +684,6 @@ void CppFindReferences::renameMacroUses(const Macro &macro, const QString &repla
findMacroUses(macro, textToReplace, true);
}
-DependencyTable CppFindReferences::updateDependencyTable(CPlusPlus::Snapshot snapshot)
-{
- DependencyTable oldDeps = dependencyTable();
- if (oldDeps.isValidFor(snapshot))
- return oldDeps;
-
- DependencyTable newDeps;
- newDeps.build(snapshot);
- setDependencyTable(newDeps);
- return newDeps;
-}
-
-void CppFindReferences::flushDependencyTable()
-{
- QMutexLocker locker(&m_depsLock);
- Q_UNUSED(locker);
- m_deps = DependencyTable();
-}
-
-DependencyTable CppFindReferences::dependencyTable() const
-{
- QMutexLocker locker(&m_depsLock);
- Q_UNUSED(locker);
- return m_deps;
-}
-
-void CppFindReferences::setDependencyTable(const CPlusPlus::DependencyTable &newTable)
-{
- QMutexLocker locker(&m_depsLock);
- Q_UNUSED(locker);
- m_deps = newTable;
-}
-
void CppFindReferences::createWatcher(const QFuture<Usage> &future, Core::SearchResult *search)
{
QFutureWatcher<Usage> *watcher = new QFutureWatcher<Usage>();
diff --git a/src/plugins/cpptools/cppfindreferences.h b/src/plugins/cpptools/cppfindreferences.h
index 200907ed11..07e43f2430 100644
--- a/src/plugins/cpptools/cppfindreferences.h
+++ b/src/plugins/cpptools/cppfindreferences.h
@@ -30,7 +30,6 @@
#ifndef CPPFINDREFERENCES_H
#define CPPFINDREFERENCES_H
-#include <cplusplus/DependencyTable.h>
#include <cplusplus/FindUsages.h>
#include <QMutex>
@@ -76,11 +75,6 @@ public:
void findMacroUses(const CPlusPlus::Macro &macro);
void renameMacroUses(const CPlusPlus::Macro &macro, const QString &replacement = QString());
- CPlusPlus::DependencyTable updateDependencyTable(CPlusPlus::Snapshot snapshot);
-
-public slots:
- void flushDependencyTable();
-
private slots:
void displayResults(int first, int last);
void searchFinished();
@@ -97,8 +91,6 @@ private:
bool replace);
void findAll_helper(Core::SearchResult *search, CPlusPlus::Symbol *symbol,
const CPlusPlus::LookupContext &context);
- CPlusPlus::DependencyTable dependencyTable() const;
- void setDependencyTable(const CPlusPlus::DependencyTable &newTable);
void createWatcher(const QFuture<CPlusPlus::Usage> &future, Core::SearchResult *search);
CPlusPlus::Symbol *findSymbol(const CppFindReferencesParameters &parameters,
const CPlusPlus::Snapshot &snapshot, CPlusPlus::LookupContext *context);
@@ -106,9 +98,6 @@ private:
private:
QPointer<CppModelManagerInterface> m_modelManager;
QMap<QFutureWatcher<CPlusPlus::Usage> *, QPointer<Core::SearchResult> > m_watchers;
-
- mutable QMutex m_depsLock;
- CPlusPlus::DependencyTable m_deps;
};
} // namespace Internal
diff --git a/src/plugins/cpptools/cppmodelmanager.cpp b/src/plugins/cpptools/cppmodelmanager.cpp
index 20b630e892..801686746b 100644
--- a/src/plugins/cpptools/cppmodelmanager.cpp
+++ b/src/plugins/cpptools/cppmodelmanager.cpp
@@ -222,10 +222,6 @@ CppModelManager::CppModelManager(QObject *parent)
, m_enableGC(true)
{
qRegisterMetaType<QSet<QString> >();
- connect(this, SIGNAL(documentUpdated(CPlusPlus::Document::Ptr)),
- this, SIGNAL(globalSnapshotChanged()));
- connect(this, SIGNAL(aboutToRemoveFiles(QStringList)),
- this, SIGNAL(globalSnapshotChanged()));
connect(this, SIGNAL(sourceFilesRefreshed(QSet<QString>)),
this, SLOT(onSourceFilesRefreshed()));
@@ -731,9 +727,7 @@ QList<ProjectPart::Ptr> CppModelManager::projectPart(const QString &fileName) co
QList<ProjectPart::Ptr> CppModelManager::projectPartFromDependencies(const QString &fileName) const
{
QSet<ProjectPart::Ptr> parts;
- DependencyTable table;
- table.build(snapshot());
- const QStringList deps = table.filesDependingOn(fileName);
+ const QStringList deps = snapshot().filesDependingOn(fileName);
foreach (const QString &dep, deps)
parts.unite(QSet<ProjectPart::Ptr>::fromList(m_fileToProjectParts.value(dep)));
diff --git a/src/plugins/cpptools/cppmodelmanagerinterface.h b/src/plugins/cpptools/cppmodelmanagerinterface.h
index e68caee78f..4217dd3f0c 100644
--- a/src/plugins/cpptools/cppmodelmanagerinterface.h
+++ b/src/plugins/cpptools/cppmodelmanagerinterface.h
@@ -139,8 +139,6 @@ signals:
/// Other classes can use this to get notified when the \c ProjectExplorer has updated the parts.
void projectPartsUpdated(ProjectExplorer::Project *project);
- void globalSnapshotChanged();
-
public slots:
// Documented in source file.
virtual QFuture<void> updateSourceFiles(const QSet<QString> &sourceFiles,
diff --git a/src/plugins/cpptools/typehierarchybuilder.cpp b/src/plugins/cpptools/typehierarchybuilder.cpp
index 0b278cadfd..0d9857c01c 100644
--- a/src/plugins/cpptools/typehierarchybuilder.cpp
+++ b/src/plugins/cpptools/typehierarchybuilder.cpp
@@ -29,7 +29,6 @@
#include "typehierarchybuilder.h"
-#include <cplusplus/DependencyTable.h>
#include <cplusplus/FindUsages.h>
using namespace CppTools;
@@ -143,9 +142,7 @@ const QList<TypeHierarchy> &TypeHierarchy::hierarchy() const
TypeHierarchyBuilder::TypeHierarchyBuilder(CPlusPlus::Symbol *symbol, const CPlusPlus::Snapshot &snapshot)
: _symbol(symbol)
, _snapshot(snapshot)
-{
- _dependencyTable.build(_snapshot);
-}
+{}
void TypeHierarchyBuilder::reset()
{
@@ -201,5 +198,5 @@ QStringList TypeHierarchyBuilder::filesDependingOn(CPlusPlus::Symbol *symbol) co
return QStringList();
const QString file = QString::fromUtf8(symbol->fileName(), symbol->fileNameLength());
- return QStringList() << file << _dependencyTable.filesDependingOn(file);
+ return QStringList() << file << _snapshot.filesDependingOn(file);
}
diff --git a/src/plugins/cpptools/typehierarchybuilder.h b/src/plugins/cpptools/typehierarchybuilder.h
index 99241d0099..fa40ffeefa 100644
--- a/src/plugins/cpptools/typehierarchybuilder.h
+++ b/src/plugins/cpptools/typehierarchybuilder.h
@@ -33,7 +33,6 @@
#include "cpptools_global.h"
#include "cppmodelmanagerinterface.h"
-#include <cplusplus/DependencyTable.h>
#include <cplusplus/Overview.h>
#include <QList>
@@ -78,7 +77,6 @@ private:
QSet<CPlusPlus::Symbol *> _visited;
QHash<QString, QSet<QString> > _candidates;
CPlusPlus::Overview _overview;
- CPlusPlus::DependencyTable _dependencyTable;
};
} // CppTools