<div dir="ltr"><div>Hello,</div><div><br></div><div>I'm trying to parse fields of an explicitly instantiated template, like this:</div><div>~~~</div><div>template <class T></div><div>class Foo</div><div>{</div><div><span style="white-space:pre"> </span>T bar;</div><div>};</div><div><br></div><div>template<> class Foo<float>;</div><div>~~~</div><div><br></div><div>In the example above, I'd like to know that "Foo<float>" has a field "bar" of type "float".</div><div><br></div><div>I am able to access "ClassTemplateSpecializationDecl" of "Foo<float>", but it reports no fields. It does contain a list of template arguments (a "float" for the specific example above), but since there are no fields I am unsure how to interpret them.</div><div><br></div><div>I can also access "CXXRecordDecl" of "Foo<T>" by calling "ClassTemplateSpecializationDecl::getSpecializedTemplate()->GetTemplatedDecl()". This does report the "bar" field, but I do not appear to have information about its actual type from the explicit instantiation.</div><div><br></div><div>How can I learn the type of "bar" in an explicit instantiation of "Foo<T>"?</div><div><br></div><div>Thanks!</div></div>