I am trying to obtain the location of template specialization for a type that is declared with using
statement like this: template <class T> using vec = std::vector<T>
.
I’m trying the following:
// var is a clang::VarDecl
auto info = var->getTypeSourceInfo();
auto Specialization = info->getTypeLoc().castAs<clang::TemplateSpecializationTypeLoc>();
It works for a type defined like template <class T> class my_type { ... };
, but not for using
in which it emitts a casting error.
What type should I use instead of TemplateSpecializationTypeLoc
to obtain the source info of a declaration with a type defined by using
keyword?