I’m looking to create AST matchers for variables that are templated. For example, in the code:
template class Class // template <(class or typename or int/float/etc) T>
void Func(T* Param) // 1) match Param
Param = nullptr; // 2) match Param
T* Var = nullptr; // 3) match Var
MyClass.Var = &FloatVal; // 4) match Var
Ideally, I’d like one matcher to find each of the 4 matches, but I suspect I need individual matchers for each of them. For the first match above I have varDecl(hasType(templateTypeParmType())), but I haven’t had luck with clang-query in finding the other 3. Any help would be much appreciated!