[PATCH] D17820: Clang Code Completion Filtering

Bianca-Cristina Cristescu via cfe-commits cfe-commits at lists.llvm.org
Wed Mar 23 06:06:06 PDT 2016


CrisCristescu added a comment.

For the filtering itself the motivation for not doing it on the client side is the following in our use case:

- we do not re-filter on every key stroke, we only filter when the <TAB> key is pressed i.e there is one completion point;
- we have a PCH which will help with the generation time;
- performance is acceptable with the patch included: less than 1s even when the file contains several "heavier" includes such as <string> or <vector>;
- without the patch if the <TAB> key is pressed in the middle of the identifier name (i.e setDouble) an error is thrown:

fiter-member-access.cpp:19:17: error: no member named 'set' in 'MyClass'

        objectMyClass->set
        ~~~~~~~~~~~~~  ^
  - and most importantly, we plan to propose another set of patches which would do lookup's only on subsets of the DeclContext of the identifier i.e incomplete lookup-s in order to reduce the amount of PCH deserializations.


Repository:
  rL LLVM

http://reviews.llvm.org/D17820





More information about the cfe-commits mailing list