sammccall added a comment.

In D92041#2448176 <https://reviews.llvm.org/D92041#2448176>, @xndcn wrote:

> In D92041#2446366 <https://reviews.llvm.org/D92041#2446366>, @sammccall wrote:
>
>> Sorry for the delay here. Kadir is out on vacation.
>>
>> Yikes - it's a shame reusing our existing type printing doesn't do the right 
>> thing, but injected-classname and partial specializations are indeed weird.
>> I'm tempted to say just to live with the "type-parameter-0-0" nonsense 
>> rather than implement the workaround, but it's up to you.
>
> Got it, thanks.
> The weird string only happens in injected-classname and partial 
> specialization, maybe we can add a PrintPolicy so that TypePrinter can handle 
> this case? I have tried to extract template arguments by casting the 
> injected-class to `ClassTemplatePartialSpecializationDecl`, and it seems work 
> well.

Oh, I forgot...  we added `declaredType()` in AST.h - you pass in a TypeDecl 
and get out a `QualType`... but it should handle CTPSDecl correctly.
So something like:

Pointee = Thisexpr->getpointeetype
ClassDecl = Pointee->getAsTagDecl
ClassType = declaredType(ClassDecl)
PrettyThisType = ASTContext.getPointerType(QualType(ClassType.getTypePtr(), 
Pointee.getCVQualifiers()));
then render PrettyThisType?


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D92041/new/

https://reviews.llvm.org/D92041

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

Reply via email to