With this change ClangCodeModel only needs to sort completions by prefix.
Also some other optimization have become possible and are implemented here:
1. Getting completions after '{' for constructor overloads by replacing
it with '(' inside usaved file.
2. Checking for all overloads requires only previous item check because
all Class completions are already sorted to go before all CXXConstructor
completions. Since they are not mixed no extra search is required.
Change-Id: Ie0187ad96a20857a63c1d71ddec74606b803f572
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Insert argument list together with completion.
Task-number: QTCREATORBUG-20826
Change-Id: I4aa9faaa04bcd3ca014306aad27843c2b4419d3c
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Each completion coming from libclang now has it's own
list of fix-its which are required to be applied before
completion itself.
This saves one extra reparse cycle and gives an ability
to provide both kinds of completion (initial and corrected
one) for cases like shared_ptr, unique_ptr or any other
class with overloaded arrow operator.
Each of these extra fix-its is applied together with
corresponding completion dircetly before completion itself.
Change-Id: Ide37e45bb15fa2f1375cd6b86ecd43ced3593046
Reviewed-by: David Schulz <david.schulz@qt.io>
The patch is mostly mechanical, but contains also a few spurious changes
from values references for some local variables, foreach -> ranged for
etc that I coulnd't resist.
Change-Id: I58f0bd972546895eb318607cbfbd7ac35caf3f23
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Now it's in accordance with clangrefactoringbackend/source and
clangpchmanagerbackend/source.
Change-Id: I939cfc72cffb8fcde0649f125e6efb6670d1cbc3
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>