Reads template information from the AST and adds template parameters and specialization information to the corresponding clang-doc structures.
Add a "QualName" to the Reference struct which includes the full qualified type name. The Reference object represents a link in the HTML/MD generators so is based on the unqualified name. But this does not encode C-V qualifiers or template information that decorate the name. The new QualName member encodes all of this information and also makes it easier for the generators or downsteam YAML consumers to generate the full name (before they had to process the "Path").
In test code that was changed, remove made-up paths to built-in types like "int". In addition to slightnly cleaning up the code, these types do not have paths in real execution, and generating incorrect references to nonexistant data may complicate future changes in the generators.
Do you expect to add handling for more cases here? If so, a comment with FIXME or TODO is appropriate. If not, then I'm not sure a switch is a better choice than a branch ...