[PATCH] D39224: Moved QualTypeNames.h from Tooling to AST.

Ilya Biryukov via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Oct 25 01:01:15 PDT 2017

ilya-biryukov added a comment.

In https://reviews.llvm.org/D39224#905431, @rnk wrote:

> Can you remind me why `NamedDecl::printQualifiedName` is not appropriate for your needs?

The use-case in code completion (see https://reviews.llvm.org/D38538,  the interesting bit is in `SemaCodeComplete.cpp`) creates a `QualType` that is being pretty-printed later on.
There does not seem to be a way to rewrite it to use `printQualifiedName`for that particular case without messing up the code. I was initially planning to simply create `ElaborateType` with proper `NestedNameSpecifier`, but that's essentially what the code in `QualTypeNames`  does already (it has logic to create both the `NestedNameSpecifier` and `ElaboratedType` out of it), so we should definitely reuse it.

In general, helpers like this look somewhat useful when writing features that present code to the user and the usage in `SemaCodeComplete` feels natural, at least from my perspective.


More information about the cfe-commits mailing list