...to remove more boiler plate code in the job classes.
Change-Id: I21b07c1c74c9e2c1cd1cbf302ac801ed583642ed
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Change unsaved file to provide constructor overloads
for std::make_unique, std::make_shared and
QSharedPointer::create
Example:
// Provide Foo constructor signatures at <Cursor>
std::make_unique<Foo>(<Cursor>
Task-number: QTCREATORBUG-18615
Change-Id: I87dd17085adf99ee498db969a3cdda5ebd973476
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@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>
Parsing happens rotationally on the translation units.
The recently parsed translation unit is used for completion jobs while
the older version is used for parse jobs.
Advantages:
A1. A completion job cannot be blocked anymore by currently running
parse job.
A2. Faster triggering of parse jobs. A reparse was triggered about
1650ms after the last keystroke. This is down to 500ms now since we
do not have a blocking translation unit for the completion anymore.
Disadvantages:
D1. Memory consumption is doubled for an edited document.
This could be addressed by suspending the second translation unit
after some time of inactivity.
D2. Setup of the supportive translation unit takes some time.
Change-Id: I958c883c01f274530f5482c788c15cd38d6f4c3e
Reviewed-by: David Schulz <david.schulz@qt.io>
This enables a job per translation unit instead of per document.
This does not change any behavior yet.
Change-Id: Iafb8dab5da32b53dbb3010c16241bf89cbb81b38
Reviewed-by: David Schulz <david.schulz@qt.io>
The "TranslationUnit parts" moved already to TranslationUnitCore.
Change-Id: I2bea7847e2b3e84fbfacc3d2dc43f180873349ac
Reviewed-by: David Schulz <david.schulz@qt.io>
Speed ups the typical use cases that can profit from this:
* Change a header file and switch then to source file
* Open documents one after the other (Follow Symbol)
* Change documents visible in splits (e.g. by refactoring action)
* Restore a session with multiple splits
Fixes the test ClangIpcServer.GetCodeCompletionDependingOnArgumets.
Change-Id: Ia575bd59780df14146dfc091a4d48794e4a0543d
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>