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
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits