Browse Source

Improved Rename, Go to Usage, Go to Method: virtual and override functions are now marked as similar when appropriate

merge-requests/365/head
eidheim 9 years ago
parent
commit
5f1cf28ab5
  1. 2
      libclangmm
  2. 6
      src/source_clang.cc

2
libclangmm

@ -1 +1 @@
Subproject commit 7f5c657f52229bcfc194eadda08371013a3c1e77 Subproject commit e687e95fa62b26fa3d6e930ffbbec8fb389cf30e

6
src/source_clang.cc

@ -872,7 +872,7 @@ Source::ClangViewRefactor::ClangViewRefactor(const boost::filesystem::path &file
std::vector<std::pair<clangmm::Offset, clangmm::Offset> > offsets; std::vector<std::pair<clangmm::Offset, clangmm::Offset> > offsets;
for(auto &identifier: identifiers) { for(auto &identifier: identifiers) {
auto token_offsets=clang_view->clang_tokens->get_similar_token_offsets(identifier.spelling, identifier.usr_extended); auto token_offsets=clang_view->clang_tokens->get_similar_token_offsets(identifier.kind, identifier.spelling, identifier.cursor.get_all_usr_extended());
for(auto &token_offset: token_offsets) for(auto &token_offset: token_offsets)
offsets.emplace_back(token_offset); offsets.emplace_back(token_offset);
} }
@ -1171,7 +1171,7 @@ Source::ClangViewRefactor::ClangViewRefactor(const boost::filesystem::path &file
} }
for(auto &view: views_reordered) { for(auto &view: views_reordered) {
if(auto clang_view=dynamic_cast<Source::ClangView*>(view)) { if(auto clang_view=dynamic_cast<Source::ClangView*>(view)) {
auto offsets=clang_view->clang_tokens->get_similar_token_offsets(identifier.spelling, identifier.usr_extended); auto offsets=clang_view->clang_tokens->get_similar_token_offsets(identifier.kind, identifier.spelling, identifier.cursor.get_all_usr_extended());
for(auto &offset: offsets) { for(auto &offset: offsets) {
size_t whitespaces_removed=0; size_t whitespaces_removed=0;
auto start_iter=clang_view->get_buffer()->get_iter_at_line(offset.first.line-1); auto start_iter=clang_view->get_buffer()->get_iter_at_line(offset.first.line-1);
@ -1571,7 +1571,7 @@ void Source::ClangViewRefactor::tag_similar_identifiers(const Identifier &identi
get_buffer()->delete_mark(mark.second); get_buffer()->delete_mark(mark.second);
} }
similar_identifiers_marks.clear(); similar_identifiers_marks.clear();
auto offsets=clang_tokens->get_similar_token_offsets(identifier.spelling, identifier.usr_extended); auto offsets=clang_tokens->get_similar_token_offsets(identifier.kind, identifier.spelling, identifier.cursor.get_all_usr_extended());
for(auto &offset: offsets) { for(auto &offset: offsets) {
auto start_iter=get_buffer()->get_iter_at_line_index(offset.first.line-1, offset.first.index-1); auto start_iter=get_buffer()->get_iter_at_line_index(offset.first.line-1, offset.first.index-1);
auto end_iter=get_buffer()->get_iter_at_line_index(offset.second.line-1, offset.second.index-1); auto end_iter=get_buffer()->get_iter_at_line_index(offset.second.line-1, offset.second.index-1);

Loading…
Cancel
Save