...makes the high-level function build() less noisy.
Change-Id: Ib09fba315845a604166489fd400d0be14e16fc23
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
using CodeCompletions = QVector<CodeCompletion>;
using CodeCompletionChunks = QVector<CodeCompletionChunk>;
Change-Id: Id729a43566c23dc000e44d79ccf4a49e4f235f51
Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
We can not offer proper constructor completion with libclang <= 3.6, so
fall back to normal/global completion.
Change-Id: I90bb8d981ae20ed4c228f829ad4267221b92f8a1
Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
The renames will improve the readability of the follo-up change.
Change-Id: If1f5ae2a2798c13ce7268e436dae1b3963f01d5e
Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
Casting from a Qvariant is expensive and it happens here very often.
Change-Id: If524412f314bb8ac9e9e5e4335c7e32ff7a9ce40
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
If an editor is opened, the semantic highlighter is triggered twice:
1) From ClangEditorDocumentProcessor::onParserFinished
2) From CppEditorDocument::applyFontSettings
Caller 1) is expected, it creates an m_unit. However, if threads are
scheduled differently, the semantic highlighter triggered from 2) will
encounter an invalid m_unit.
I'm not sure whether the call to 2) is correct at all.
Change-Id: Ia6ff2852e7d38418ebb01edc3eca3680fac1820a
Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
A code path existed for which QFutureInterface<T>::reportFinished() was
not called.
Change-Id: I968c6b8cc92b9bfd49570405502da94bda8c7b56
Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
Handle the following use cases:
1. Editor is opened
--> Register file at backend.
2. Close editor for which a project part exists
--> Unregister file with project part.
3. Close editor for which no project part exists (anymore)
--> Unregister file with empty/default project part.
Change-Id: I2b253004a920cccef989876538ab552eacf6b45c
Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
This introduces some
SOFT ASSERT: "!"Got TranslationUnitDoesNotExistCommand"" in file
clangbackendipcintegration.cpp, line 154
e.g. for include path completion. This will be addressed by a follow-up
change.
Change-Id: I97a50f5b8a44744e1379d77fc042d5e65cb191c9
Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
File paths are not unique since e.g. each qbs group in a file is mapped
to a project part.
Change-Id: I7df3f224dd23046b869f2588b8a34eb26cfc0b1a
Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
UnregisterProjectPartsForCodeCompletionCommand is using them as ids
and not as file paths.
Change-Id: I13a82c1995c60bdb60c72f4fd794aa354fcbb4ef
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
...on shutdown.
Now the slot will be disconnected on destruction.
Change-Id: Ie511bf5400c41eee3245879ea355293e7bb5c7cd
Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
...so derived classes are freed from doing this.
Change-Id: I73f3eca54be14cfd6542a466f0e9c024457bef07
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
Among others, BaseEditorDocumentParser::projectPart() was a blocking
operation in case the parser was running. This led to noticeable GUI
freezes for the ClangCodeModel since the function was called from the
main thread.
Rework *EditorDocumentParser to clearly separate the configuration data
(input) from the actual object state. Querying/setting configuration or
(last) state does not block anymore. update() is supposed to get the
necessary configuration and the last state at the beginning and to set
the new state at end.
Change-Id: Ib4b534fa6ff373c3059826726b3f10ece95acc21
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
...and rename to "determineProjectPart".
This is in preparation for a follow-up change. determineProjectPart()
should not set any state.
Change-Id: Iad7be8638fd97a79a4227a944896ac9af0a36862
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
testUnsavedFilesTrackingByModifyingIncludedFileExternally() is flaky.
Apparently the hard coded timeout is not enough for all circumstances.
Change-Id: I9f884e488d3c4bd5398e505ecee122912d946e6b
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
The assertion failed if textDocument was of type e.g.
DiffEditorDocument.
Change-Id: I00f8734b99c1187c071ef55ff1622fe1f9c3eb56
Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
The priority is adjusted too provide a better completion list.
Change-Id: I1ebed1996f660046843e0c5249a91e8c2b1eeb88
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
Actually it is quite slow anyway to cast the variant to the value.
Change-Id: Ied18208455adf9d7d5eb500e139170ced597dc1c
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
To make it clear that it is for testing only.
Change-Id: If257b0049e87c834b24073991f173bfc1b3e93e7
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
It makes the resource allocation much more clear.
Change-Id: Ib276e089dc3db551171373d72e9b54c9d87b4c8c
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
Making CompilerOptionsBuilder to use the toolchain from the project part
simplifies its public API, but following the code paths initiated by
ClangCodeModel and ClangStaticAnalyzer gets harder, so better enable the
separation of those by making CompilerOptionsBuilder a base class.
Change-Id: I0a6bb3f8323ba09b88135a7f9d1ef967331a8ff0
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
...for the not visible documents.
First reset the extra additional formats, then set the new ones, not the
other way around.
Task-number: QTCREATORBUG-14579
Change-Id: Iae465bd9a7bb0a397fd4917df45955713aaf87c5
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
semanticRehighlight() does a bit more than only rehighlighting and we
want to trigger (only) rehighlighting in a follow-up change.
Change-Id: Ic8da9ec8643f0f82f7c99ef9a8180b2868194254
Reviewed-by: Orgad Shaneh <orgads@gmail.com>