if I have something like
template<class T>
class V8TOOLKIT_WRAPPED_CLASS
MyTemplate {};
template<class T>
class V8TOOLKIT_WRAPPED_CLASS DerivedFromMyTemplate : public MyTemplate<T> {};
and then DerivedFromMyTemplate some_var;
I get two CXXRecordDecl’s from my matcher which just matches all classes and structs – one with a base of
MyTemplate
and it has no associated cxxrecorddecl or tagdecl. It has typeclass 32 (which I don’t know what means).
Then I get another one with with a base of: MyTemplate (notice vs ). This one also has typeclass 32 but does have a cxxrecorddel and tagdecl.
If I instantiate another type, DerivedFromMyTemplate some_other_var;
I do not get another “bad” type, I just get 3 - bad, int, short.
I’ve gotten what I need by simply skipping the “bad” one but I’d like to know what’s going on.
Thank you.
–Zac