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



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to