Fixed link generation for template specializations
This commit is contained in:
@@ -33,7 +33,7 @@ generator::generator(diagram_config &config, diagram_model &model)
|
||||
void generator::generate_link(
|
||||
std::ostream &ostr, const class_diagram::model::class_element &e) const
|
||||
{
|
||||
if (e.file().empty())
|
||||
if (e.file_relative().empty())
|
||||
return;
|
||||
|
||||
auto context = element_context(e);
|
||||
|
||||
@@ -269,10 +269,7 @@ std::unique_ptr<class_> template_builder::build(const clang::NamedDecl *cls,
|
||||
template_instantiation.set_id(
|
||||
common::to_id(template_instantiation_ptr->full_name(false)));
|
||||
|
||||
visitor_.set_source_location(*template_decl, template_instantiation);
|
||||
|
||||
LOG_DBG("**** {} -> {}", template_instantiation.full_name(false),
|
||||
template_instantiation.file());
|
||||
visitor_.set_source_location(*cls, template_instantiation);
|
||||
|
||||
return template_instantiation_ptr;
|
||||
}
|
||||
@@ -361,6 +358,8 @@ template_builder::build_from_class_template_specialization(
|
||||
template_instantiation_ptr->full_name(false), templated_decl_id);
|
||||
}
|
||||
|
||||
visitor_.set_source_location(*template_decl, template_instantiation);
|
||||
|
||||
return template_instantiation_ptr;
|
||||
}
|
||||
|
||||
@@ -1064,8 +1063,7 @@ template_builder::try_as_template_specialization_type(
|
||||
|
||||
if (diagram().should_include(
|
||||
namespace_{nested_template_instantiation_full_name})) {
|
||||
visitor_.set_source_location(
|
||||
*template_decl, *nested_template_instantiation);
|
||||
visitor_.set_source_location(*cls, *nested_template_instantiation);
|
||||
visitor_.add_class(std::move(nested_template_instantiation));
|
||||
}
|
||||
|
||||
|
||||
@@ -264,6 +264,8 @@ bool translation_unit_visitor::VisitTypeAliasTemplateDecl(
|
||||
|
||||
LOG_DBG("Adding class {} with id {}", name, id);
|
||||
|
||||
set_source_location(*cls, *template_specialization_ptr);
|
||||
|
||||
add_class(std::move(template_specialization_ptr));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user