Commit Graph

17 Commits

Author SHA1 Message Date
Ivan Donchevskii
88c3e27722 Clang: Add locator specific methods to SymbolQuery
... and implement LocatorFilter using these methods.

Change-Id: Ie3e3ebb3a547e2b2bda49e76a199a3ccd8fe6403
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2018-01-24 11:49:04 +00:00
Ivan Donchevskii
92cdfc0c2a Clang: new empty locator filter classes
Introduce classes to replace builtin locator filters.

Change-Id: I5cc6f15fb0f59ea8a51b14a86301cf219cc0d6d6
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2018-01-24 11:48:42 +00:00
Marco Bubke
9ad760efda Clang: Store the database in user resources
We used temporary directories but this can be different paths.

Task-number: QTCREATORBUG-19372
Change-Id: Id6ac18e6eecdc5bb354bda3741e16cb87c552ba6
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-11-29 09:57:53 +00:00
Ivan Donchevskii
a701ca8342 ClangRefactoring: return ProjectUpdater
Change-Id: Ie90a8acf8ec9641ae9349679da278a3055b79d9e
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2017-10-26 09:48:16 +00:00
Ivan Donchevskii
4d90477e02 ClangRefactoring: fix names collision
Type in 'using' had the same name as it's templated base

Change-Id: I0c36e1da26930ebd5ed04b2892ec551294bc7111
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-10-24 11:50:18 +00:00
Ivan Donchevskii
050b4dd2f5 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 <marco.bubke@qt.io>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2017-10-24 10:46:52 +00:00
Ivan Donchevskii
5c554c0de9 CppTools: add multiple refactoring engines support
Make model manager able to select the most functional
refactoring engine from the available ones.

Change-Id: I74031c910706fd694a0a7def022531501f1ea005
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2017-10-17 13:32:51 +00:00
Marco Bubke
d2e15e5f1e Clang: Add file cache
The database is using file path integer ids to handle file paths because
otherwise we would save many redundant data. This patch is improving it
further with the introduction of a database based file path cache. The
entries are now divided in a directory path and file name. This is quite
handy for directory based file watching.

Change-Id: I03f2e388e43f3d521d6bf8e39dfb95eb2309dc73
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-10-05 17:36:37 +00:00
Ivan Donchevskii
a959fe59da C++: remove builtin RefactoringEngine dependency from CppEditor
Move CppRefactoringEngine to CppTools and builtin member
ownership to model manager.

Change-Id: I3e72308559fd2928229f9f25d4dd09beb3f56c34
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2017-09-22 12:59:20 +00:00
Marco Bubke
3adb71d45e 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>
2017-09-14 13:39:55 +00:00
Marco Bubke
e8960b9bd3 Clang: Connect alive timer
You had to set the no alive timer environment variable.

Change-Id: I1994087a68d8293963f9f48fa1632f7c6822b146
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-12-07 11:40:55 +00:00
Marco Bubke
105a628255 Clang: Improve ClangRefactoringPlugin initializing
Change-Id: I2e45d588e7a8c50b61b401c6dea9f3cf8db45611
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-12-07 11:38:46 +00:00
Tim Jenssen
9c7ff5199f Clang: Add clang query
Clang query is mechanism to use AST matcher to search for code. Think
about regular expression but in the context of AST. So you get a semantic
search tool for C++.

Change-Id: I72e882c5b53a0c52f352a3664847c4c3e4f6fc2e
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-11-15 15:30:33 +00:00
Marco Bubke
d4e68b7e09 Clang: Finish refactoring process explicit
Change-Id: I90b5efd8cf0492c7528ebdf14d6b5dc0b7b28536
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-09-21 12:26:29 +00:00
Marco Bubke
3fd6b1fa0a Clang: Initialize not static but at plug initialization
Change-Id: I856c35c81d13f31c290ef40dad5ee647ab521052
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-09-21 12:26:17 +00:00
Alessandro Portale
061582681c ClangRefactoring: Fix Msvc warning
clangrefactoringplugin.cpp(51): warning C4138: '*/' found outside of
comment.

Change-Id: I0cda4e07e43ece2ec24ebb130394ac007d6e7646
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-09-12 16:05:31 +00:00
Marco Bubke
4cdb5bab15 Clang: Add clang refactoring
Change-Id: I2e3f36f810276da3f8dc7dcc587b06f8edb586d3
GPush-Base: d02f51b48fc752fddcdef6dcb32b3f7f6c0195a3
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-08-04 14:37:19 +00:00