[cfe-dev] Template parameters for out-of-line definitions of class template methods.
Enea Zaffanella
zaffanella at cs.unipr.it
Wed Apr 21 12:20:05 PDT 2010
Hello.
We have a somewhat naive question regarding the AST generated for the
following program fragment:
======================================
template <typename T>
struct S {
void foo();
};
template <class W>
void S<W>::foo() {}
======================================
We would like to retrieve the template parameter list for the
out-of-line definition of method foo(), that is
template <class W>
but we cannot see if and how this could be achieved.
Apparently, clang++ produces a plain CXXMethodDecl, with no explicit
indication that this is actually a "member function template" (C++98
14.5.1.1).
Are we missing some existing clang methods that allow to retrieve this
info or is it really missing? In the latter case, is there any plan to
add this info to the generated AST?
The same question can be asked for the case of an out-of-line definition
of a static data member (which generates a VarDecl node) and of a member
class (generating a plain CXXRecordDecl).
Cheers,
Enea Zaffanella.
More information about the cfe-dev
mailing list