forked from qt-creator/qt-creator
Clang: Add Symbol Indexing
It is a first step and now a database is generated if you start QtCreator. Some code is now shared with the PchManager which can be improved in the future. Change-Id: Ic267fe7960f6c455d91832859a673ce98f269aa2 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
@@ -42,6 +42,7 @@
|
||||
namespace ClangBackEnd {
|
||||
|
||||
class SourceRangesForQueryMessage;
|
||||
class SymbolIndexingInterface;
|
||||
|
||||
namespace V2 {
|
||||
class FileContainer;
|
||||
@@ -52,12 +53,15 @@ class RefactoringServer : public RefactoringServerInterface,
|
||||
{
|
||||
using Future = std::future<SourceRangesForQueryMessage>;
|
||||
public:
|
||||
RefactoringServer();
|
||||
RefactoringServer(SymbolIndexingInterface &symbolIndexing,
|
||||
FilePathCache<std::mutex> &filePathCache);
|
||||
|
||||
void end() override;
|
||||
void requestSourceLocationsForRenamingMessage(RequestSourceLocationsForRenamingMessage &&message) override;
|
||||
void requestSourceRangesAndDiagnosticsForQueryMessage(RequestSourceRangesAndDiagnosticsForQueryMessage &&message) override;
|
||||
void requestSourceRangesForQueryMessage(RequestSourceRangesForQueryMessage &&message) override;
|
||||
void updatePchProjectParts(UpdatePchProjectPartsMessage &&message) override;
|
||||
void removePchProjectParts(RemovePchProjectPartsMessage &&message) override;
|
||||
void cancel() override;
|
||||
|
||||
bool isCancelingJobs() const;
|
||||
@@ -75,9 +79,10 @@ private:
|
||||
Utils::SmallString &&query);
|
||||
|
||||
private:
|
||||
FilePathCache<std::mutex> m_filePathCache;
|
||||
ClangQueryGatherer m_gatherer;
|
||||
QTimer m_pollTimer;
|
||||
SymbolIndexingInterface &m_symbolIndexing;
|
||||
FilePathCache<std::mutex> &m_filePathCache;
|
||||
};
|
||||
|
||||
} // namespace ClangBackEnd
|
||||
|
||||
Reference in New Issue
Block a user