summaryrefslogtreecommitdiff
path: root/src/tools/clangrefactoringbackend/source/clangrefactoringbackend-source.pri
Commit message (Collapse)AuthorAgeFilesLines
* Remove ClangRefactoring and ClangPchManagerEike Ziller2021-06-151-58/+0
| | | | | | | | | | | | This removes the plugins and tools, and removes all the tests that would fail to build because of that. Fixes: QTCREATORBUG-25659 Change-Id: I8adb5d503fc8eea313bcaada421f309dbbfa8c26 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Marco Bubke <marco.bubke@qt.io>
* ClangRefactoring: Remove file status collectionMarco Bubke2019-08-271-2/+0
| | | | | | | It is not needed anymore. If we need it again we can reintroduce it. Change-Id: If8897ddb404daaf52b249ddd3763deb685c35fe5 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* UnitTests: Fix compile without ClangMarco Bubke2019-07-161-4/+4
| | | | | | | | I moved the clang depend code under the condition that it is only compiled if LLVM is present. Change-Id: If1e37f677464ff38833c81dbebdfe8eaa563cdde Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Fix pri fileMarco Bubke2019-07-041-1/+0
| | | | | Change-Id: I277340dbec962e59f090d393967453d058a933a2 Reviewed-by: Marco Bubke <marco.bubke@qt.io>
* Clang: Remove old codeMarco Bubke2019-07-041-7/+0
| | | | | | | | We maybe bring back the clang query interface but the local rename is better served by other plugins. Change-Id: I97bedcb20870632b7dd50977794a65b2b09ededb Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* Clang: Watch directories instead of filesMarco Bubke2019-06-271-4/+1
| | | | | | | | Because there a limited resources to watch files we watch now directories. So we need much less resources. Change-Id: Iac558832e9521a7a1a67c5ea99b42ad1b0b5129c Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* ClangRefactoring: Improve indexingMarco Bubke2019-06-171-0/+2
| | | | | | | Fix some bugs in the indexing and use the new macro indexer from clang. Change-Id: I2ba1b28097a8751aea942071851a60d164c6f371 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* Clang: Improve project part updatingMarco Bubke2019-04-011-3/+0
| | | | | | | | | | | | The project part ids are now already created very early in the database. This removes some checks because we can assume that an id already exists. The project part are now completely persistent, so we can read them from the database and compare them with new generated from a new creator session. This should help to not recreate the same PCH again and again. Task-number: QTCREATORBUG-21151 Change-Id: Iced818ff9f7431eaed3e37978087cc0a43b9afda Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
* Clang: Split symbol storageMarco Bubke2018-10-161-1/+0
| | | | | | | | | We need UsedMacros and source related statements in the PCH manager too, so we have to split that class. Task-number: QTCREATORBUG-21289 Change-Id: Ie27d4b518b3d6d9174e93fcb243fdb55a09ddf51 Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
* Clang: Reuse thread based pipeline for pch creationMarco Bubke2018-09-241-7/+1
| | | | | | | | | | | The pch creation so far used signal and slots but there was no explicit pipeline. This patch is introducing the same architecture like the refactoring plugin. It is filtering out older project parts from the pipeline. Change-Id: Iaa6bd2ca1272231b97ebe1f5f7b2ce8e43bc590c Task-number: QTCREATORBUG-21111 Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
* Clang: Improve generated files handlingMarco Bubke2018-09-061-2/+1
| | | | | | | | Generated files are referenced by the system collector directly to set the unsaved files. Change-Id: I24be3ee544b7824b8b0e518eafd409f32bd002ab Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
* ClangRefactoring: Remove unused codeMarco Bubke2018-09-031-2/+0
| | | | | Change-Id: I752d688039e8bb85654fd54b61a0c8a4e6677954 Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
* Clang: Introduce parallel indexingMarco Bubke2018-09-031-2/+6
| | | | | Change-Id: I522cb18e6d24b7dbed5d5dfa3a732e5b3b5113bb Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
* ClangRefactoring: Process tasks after a task has been finishedMarco Bubke2018-09-031-1/+2
| | | | | | | | It could be that processTasks is executed before the future is finished but in that case there are other tasks which will be called later. Change-Id: I9b1bfb6fdd642f23842b9c70d60d5b1552193b99 Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
* ClangRefactoring: Add SymbolIndexerTaskSchedulerMarco Bubke2018-08-271-2/+5
| | | | | | | | | | The scheduler is managing the asynchronous tasks by using the symbols collector manager. Every symbols collector can be used by only one thread, so the we have to pass the symbols collector around by the future interface to make the available again after a task is finished. Change-Id: Ic2eeaa986c2d93978d043216c46e8cb38cea769f Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
* ClangRefactoring: Add SymbolIndexerTaskQueueMarco Bubke2018-08-271-2/+4
| | | | | | | A first step for concurrent index task. Change-Id: I9a0dba9f4a67ee605281516785697045b34e2694 Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
* Clang: Add sources managerMarco Bubke2018-08-201-1/+2
| | | | | | | | Indexing source files multiple times is unneeded overhead in many cases. The source manager is a support class to handle that cases. Change-Id: Id737eaa9a691c54563279562833493a221eb3431 Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
* ClangRefactoring: Add project part queueMarco Bubke2018-08-081-2/+4
| | | | | Change-Id: Id137233a042181553ff7bb766c9dafa6eb9cf046 Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
* Clang: Store the symbol kind in the databaseMarco Bubke2018-04-121-1/+0
| | | | | | | It is cleaning up some other stuff too. Change-Id: I75274356fd35f2ee8c84aedf8839c67506ab2355 Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
* Clang: Fix build with QTC_NO_CLANG_LIBTOOLINGNikolai Kosjar2018-03-281-3/+3
| | | | | Change-Id: I8b3f4db10c43fc1620b765933915e3c4fd0a594a Reviewed-by: Marco Bubke <marco.bubke@qt.io>
* Clang: Process SymbolKind and SymbolTags with the indexerMarco Bubke2018-03-271-1/+0
| | | | | | | | We add the infrastructure to compute the SymbolKind and SymbolTags in the indexer. Later we have to add more for templates, virtual functions etc.. Change-Id: I9203c5cfbfffed3065337292010de5fce5736453 Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
* Clang: Use the clang indexer for indexingMarco Bubke2018-03-271-4/+4
| | | | | | | | It is not removing so much code but will makes somethings easier in the future. We added the SymbolType::Definition too. Change-Id: I4e106b8518e6bfed0c6a4aa6be61c4a5fe5f8bef Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
* Clang: Improve interfacesMarco Bubke2018-03-261-1/+0
| | | | | | | | | | The interfaces should never used to handle ownership. So it is now using protected destructors. Copy operations are forbidden too. https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#c35-a-base-class-destructor-should-be-either-public-and-virtual-or-protected-and-nonvirtual Change-Id: Ib0b60a73a7ec130973b5cb0095cc5b2f10fa0758 Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
* Clang: Add time stamp based filtering for project partsMarco Bubke2018-02-221-3/+4
| | | | | | | | | The source ids are now filtered by the modified time. If the modified time in the database is older than the modified time of the file it will be parsed. If it is not newer it will be not parsed. Change-Id: I4ade3443dd66573ac88053a2cafa600e54cfe973 Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
* Clang: Don't reparse if the macros haven't changedMarco Bubke2018-02-211-0/+1
| | | | | | | | We have to extend that to include paths too, which will be happen in a follow up patch. Change-Id: I7f8ac663ae8588e647fc6a6b5d689a629a28ef65 Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
* Clang: Improve ProjectPartArtefactMarco Bubke2018-02-211-2/+4
| | | | | | | | | | Empty strings were only handled by accident and wrongly formatted ones were never handled. Now we do nothing for empty strings and throw an exception from wrongly formatted strings. The exceptions are very helpful in the test code because the show errors the the testing data. Change-Id: I87d1678eda7502fdc3f74f51fad491803d28582b Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
* Clang: Update symbol database if file has changedMarco Bubke2018-02-141-1/+2
| | | | | | | | The code in the symbol indexer is quite similar, but still different enough to prevent easy reuse of the function. Change-Id: I47907d90066da922eafe8ff3cce124ea47ea4a0a Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
* Clang: Rename FileInformation in FileStatusMarco Bubke2018-02-081-2/+2
| | | | | | | It's more near to the Unix convention and it has a plural too. Change-Id: I53f85911d8fcbaadba9947c70e9a375dc6995ed5 Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
* Clang: Add source dependency saving to the symbol storageMarco Bubke2018-02-011-1/+2
| | | | | | | | The source dependencies are simply a table which connects the include file with the included file. Change-Id: I5454e81a2b5b98f05c7ff3f6740a6d45e01772c3 Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
* Clang: Get file informations from symbols collectorMarco Bubke2018-02-011-1/+2
| | | | | | | | | We need the same information like file size and the last modification time to check if a file has changed. This information will be saved to the database. Change-Id: Icf8eb9b6553945a563887e11aff9539c9b300b66 Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
* Clang: Rename defineName in macroNameMarco Bubke2018-02-011-2/+2
| | | | | Change-Id: Iaf8da991032e5ed4726384c051290a77887351fa Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
* Clang: On the road to update and preprocessor supportMarco Bubke2018-01-291-2/+6
| | | | | | | | | | | | | | | | | This patch has grown in a quite big change set and it is really hard to divide it in different parts. V2::ProjectPartContainer is now using FileIds instead of file paths. This cleans code up because it is a big step in the direction that internally only file ids are used. But it is depending on the file cache, so the file cache has to be provided as an argument. There is now an interface for transactions too which are ease the testing of them and enables the support of preprocessor. It adds macros as symbols and is saving used macros. The used macro support is enabling update improvements because only if a changed macro is used it needs to be recompiled. This is still in flux and can be changed in later patches. Change-Id: I492a2c9af1201d40fdd9f46a0045f7878bbbaa3d Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
* Clang: Collect source filesMarco Bubke2018-01-031-1/+2
| | | | | Change-Id: If0183cafd00ed7e42bacbdb72a1d65624dc03cee Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
* Clang: Add file cacheMarco Bubke2017-10-051-2/+1
| | | | | | | | | | | 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>
* UnitTests: Fix build with QTC_NO_CLANG_LIBTOOLINGNikolai Kosjar2017-09-151-4/+4
| | | | | Change-Id: Ia2c5b9cf617e56f09bf334bdd57e58bf96c838b1 Reviewed-by: Marco Bubke <marco.bubke@qt.io>
* Clang: Add Symbol IndexingMarco Bubke2017-09-141-2/+5
| | | | | | | | | 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>
* Clang: Fix build againMarco Bubke2017-08-301-1/+1
| | | | | Change-Id: I1c8164a32c3cbfa27ce72db5093bbda613e1b9d9 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Clang: Fix buildMarco Bubke2017-08-301-8/+8
| | | | | Change-Id: I7a310402ec4527e4db47b46e34078885e08dac0b Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
* Clang: Add symbol storageMarco Bubke2017-08-291-2/+5
| | | | | | | Extend file path cache to 64 bit integer. Change-Id: I5627f13d59a3214f389087038482cbcc8d0eb484 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* Clang: Add symbol indexerMarco Bubke2017-08-291-1/+5
| | | | | Change-Id: I8ff879631ae022bc870431628be002903360369c Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* Clang: Add symbols collectorMarco Bubke2017-08-291-2/+14
| | | | | Change-Id: I64c25eef8eaa6cc6c3ff09d41866972b6c7248d0 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* Clang: Filter duplicates in clang query outputTim Jenssen2017-07-031-1/+5
| | | | | | | Because we can visit headers many times, we get results many times too. Change-Id: I3bbe7d7a5d01c2580a4569bfe115f14a69edc8a7 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* Clang: Fix build with QTC_NO_CLANG_LIBTOOLINGNikolai Kosjar2017-06-291-7/+5
| | | | | | | | | | ...caused by commit f5d68398d51116bb8dc61e8699dd607076862d96 Clang: Fix canceling of clang query Change-Id: Ic48485aed1d23e1ddd2f7bc1e37a797d2c2498c6 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* Clang: Fix canceling of clang queryMarco Bubke2017-06-281-0/+4
| | | | | | | | | Every AST unit is created and queried asynchronously, like before, but we don't wait anymore but use a timer to process new sources. So the server will not be blocked and can process other messages like cancel. Change-Id: If0e69466c78f628190f59fd32a03cab1c3a4d0a3 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* UnitTest: Fix compilation for different configurationsMarco Bubke2017-02-061-1/+5
| | | | | | Change-Id: I20d4217d1c33002f7e1ac084af4b0982b2f04971 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io> Reviewed-by: David Schulz <david.schulz@qt.io>
* Clang: Extend clang queryTim Jenssen2016-11-231-4/+6
| | | | | | | It's a first step to introduce clang query. Change-Id: I4d001a8883f56066765ce6bc561fa3f49611c0a4 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* Clang: Add clang queryTim Jenssen2016-11-151-2/+6
| | | | | | | | | 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>
* Clang: Add clang refactoringMarco Bubke2016-08-041-0/+23
Change-Id: I2e3f36f810276da3f8dc7dcc587b06f8edb586d3 GPush-Base: d02f51b48fc752fddcdef6dcb32b3f7f6c0195a3 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>