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>
Before the QLocalServer was in the ConnectionServer so more than one
client could connect to the server. But we never used that possibility
which made the hand shaking much more difficult. It is now moved
in the client, so that there is always a QLocalServer.
Change-Id: Ifa357074b0c0809434c49d23b1cee38496f72f43
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Different types are introduced for normalized and native file path. So the
compiler is warning you if you try the wrong format.
Change-Id: I1da0686b142cbf9bb7578468c2b50f90a94cebf9
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
...for the code model parts and declare 5.0 as the supported version for
the clang static analyzer.
Adapt versions and tests, remove code assuming clang <= 5.0.
LLVM/Clang 5 was released on 07 Sep 2017.
Task-number: QTCREATORBUG-18931
Task-number: QTCREATORBUG-18657
Task-number: QTCREATORBUG-17187
Task-number: QTCREATORBUG-14881
Change-Id: I53b00258ca06a1d2e57f9379dacc54b310687295
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
...after merge of the change from 4.5 that provides *.qbs files for
clang libtooling components.
Change-Id: I696a72b3f6b111fb1ac8ff7ab5f5471e24aafe69
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
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>
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>
We moved the creation of the tables and indices to an extra class which can
be called from other places. So you can be sure that a database is
initialized.
Change-Id: Ief5b30ced7b9011ca94367aa2578098423dcecd9
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
We use a name space now, so the prefix is not of much use.
Change-Id: I2b077576f94dab778add6ab2e54870f7ca18da78
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
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 is internally using an id to handle files. We add now a mapping from
their AST local id to out global id.
Change-Id: I2d724761287b5e915237175134ec5d3b92099ddb
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
We already share same classes there which has nothing to do with IPC and
I want to more for sharing. So we should use a name which fits better.
Change-Id: Idfb12b6de714206117b92634ad719c6a0e290e78
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
The server and client interfaces was tightly coupled.So it prevented
the introduction of immediate interfaces.
Change-Id: Ie4197ffddb862e076d080b3d2a5ee869fad9e4d0
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
If you hover a diagnostics in for a clang query you get now a simple tool
tip.
Change-Id: I6352dd3d4b9a33c183e69037eac903469b90eea4
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
We now support highlighting for an example text and for the query.
Change-Id: I88c415ff871cf3e4c2d4fc83d60a8555bf0ce08a
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
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 file ids are only unique for one query. Because we query in parallel
we have to manage our own unique ids.
Change-Id: I67d57d8b1766cab75ad252a14e57bbf9dc5fdb79
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
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>
against the documentation nullptr is not working here
Change-Id: I6b5329ef97289370715faba8046724d5e42662ed
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
We don't handled generated files so we got internal parse errors.
Change-Id: If75e202f93fe3f71f43e3b1d15c0fb77e20c2248
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Because of the ancient compiler support we cannot use
std::make_reverse_iterator. If we support newer compilers we can revert
this patch.
Change-Id: I9b20ab1e53a0e9784b0455eafbbfd966797ad91e
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
We need the generated UI header but we don't have a build directory. So we
provide clang with in memory represations of the file.
Change-Id: Ie9db97bbea2222b0203a0457baa1f1fc7ad97213
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Using llvm_config --cxxflags can be potential dangerous. We should test
every configuration if it is compiling. It has the advantage that we don't
need to care anymore about incompatible flags to the used clang version.
Change-Id: I3bbddb1935dca9896c64ebafd1fbe72840db8bd4
Reviewed-by: Christian Stenger <christian.stenger@qt.io>