[PATCH] D53654: [clang] Improve ctor initializer completions.
Ilya Biryukov via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Oct 25 06:26:19 PDT 2018
ilya-biryukov added inline comments.
================
Comment at: lib/Sema/SemaCodeComplete.cpp:5101
+ const auto *ND = Base.getType()->getAsCXXRecordDecl();
+ if (isa<ClassTemplateSpecializationDecl>(ND) ||
+ isa<ClassTemplatePartialSpecializationDecl>(ND)) {
----------------
kadircet wrote:
> kadircet wrote:
> > ilya-biryukov wrote:
> > > Why special-case the template specializations?
> > > Are we trying to provide results for dependent types here?
> > Sorry, my bad forgot to add a comment. It is rather for backward compatibility. Since previous version was adding results directly without consulting results, it also added template specializations, whereas current version can't add them due to the filtering in resultbuilder(https://github.com/llvm-mirror/clang/blob/master/lib/Sema/SemaCodeComplete.cpp#L543). So, special casing in here to make sure we still provide those results, but can be deleted if seems unimportant.
> >
> > Not adding a comment until we decide on keeping/deleting the special case.
> without consulting results -> without consulting "ResultBuilder"
Maybe call AddResult instead of MaybeAddResult (it does not do the checking)?
I can hardly see why we might want to filter out any of the results.
Also, maybe pass a decl the particular constructor, rather than the CXXRecordDecl to the `ResultBuilder`?
Repository:
rC Clang
https://reviews.llvm.org/D53654
More information about the cfe-commits
mailing list