From 050b4dd2f5b2545e3afcd5b7f2c7293be8ddb74c Mon Sep 17 00:00:00 2001 From: Ivan Donchevskii Date: Tue, 19 Sep 2017 15:38:20 +0200 Subject: Clang: implement findUsages with existing index Functionality is limited to the abilities of current index which is not updated and is generated only at project open. Search box temporarily doesn't allow to "Search again". Change-Id: Id1047f27ad0aafc901f06aa51ad38ceab95eaebb Reviewed-by: Marco Bubke Reviewed-by: Nikolai Kosjar --- src/plugins/clangrefactoring/refactoringengine.h | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'src/plugins/clangrefactoring/refactoringengine.h') diff --git a/src/plugins/clangrefactoring/refactoringengine.h b/src/plugins/clangrefactoring/refactoringengine.h index eaa15ad7d5..5dd1bacd38 100644 --- a/src/plugins/clangrefactoring/refactoringengine.h +++ b/src/plugins/clangrefactoring/refactoringengine.h @@ -25,7 +25,9 @@ #pragma once -#include +#include "symbolqueryinterface.h" + +#include #include @@ -41,25 +43,33 @@ class RefactoringEngine : public CppTools::RefactoringEngineInterface public: RefactoringEngine(ClangBackEnd::RefactoringServerInterface &m_server, ClangBackEnd::RefactoringClientInterface &m_client, - ClangBackEnd::FilePathCachingInterface &filePathCache); + ClangBackEnd::FilePathCachingInterface &filePathCache, + SymbolQueryInterface &symbolQuery); + ~RefactoringEngine() override; void startLocalRenaming(const CppTools::CursorInEditor &data, CppTools::ProjectPart *projectPart, RenameCallback &&renameSymbolsCallback) override; void startGlobalRenaming(const CppTools::CursorInEditor &data) override; + void findUsages(const CppTools::CursorInEditor &data, + CppTools::UsagesCallback &&showUsagesCallback) const override; bool isRefactoringEngineAvailable() const override; void setRefactoringEngineAvailable(bool isAvailable); - ClangBackEnd::FilePathCachingInterface &filePathCache() + const ClangBackEnd::FilePathCachingInterface &filePathCache() const { return m_filePathCache; } private: + CppTools::Usages locationsAt(const CppTools::CursorInEditor &data) const; + ClangBackEnd::RefactoringServerInterface &m_server; ClangBackEnd::RefactoringClientInterface &m_client; ClangBackEnd::FilePathCachingInterface &m_filePathCache; + + SymbolQueryInterface &m_symbolQuery; }; } // namespace ClangRefactoring -- cgit v1.2.1