diff --git a/src/class_diagram/visitor/translation_unit_visitor.cc b/src/class_diagram/visitor/translation_unit_visitor.cc index 41d6ea9a..d684cf95 100644 --- a/src/class_diagram/visitor/translation_unit_visitor.cc +++ b/src/class_diagram/visitor/translation_unit_visitor.cc @@ -2826,11 +2826,14 @@ void translation_unit_visitor::finalize() bool translation_unit_visitor::simplify_system_template( template_parameter &ct, const std::string &full_name) const { - if (config().type_aliases().count(full_name) > 0) { - ct.set_type(config().type_aliases().at(full_name)); + auto simplified = config().simplify_template_type(full_name); + + if (simplified != full_name) { + ct.set_type(simplified); ct.clear_params(); return true; } + return false; } diff --git a/src/sequence_diagram/visitor/translation_unit_visitor.cc b/src/sequence_diagram/visitor/translation_unit_visitor.cc index c9f9e3ee..c2b9f11a 100644 --- a/src/sequence_diagram/visitor/translation_unit_visitor.cc +++ b/src/sequence_diagram/visitor/translation_unit_visitor.cc @@ -2064,12 +2064,7 @@ bool translation_unit_visitor::simplify_system_template( std::string translation_unit_visitor::simplify_system_template( const std::string &full_name) const { - std::string result{full_name}; - for (const auto &[k, v] : config().type_aliases()) { - util::replace_all(result, k, v); - } - - return result; + return config().simplify_template_type(full_name); } std::string translation_unit_visitor::make_lambda_name(