From af38f560465fd1fa05be2ad2813dfcff8f793cdb Mon Sep 17 00:00:00 2001 From: Bartek Kryza Date: Wed, 23 Feb 2022 21:35:40 +0100 Subject: [PATCH] Fixed package diagram generation after refactoring class diagram model --- src/class_diagram/visitor/translation_unit_visitor.cc | 3 +-- src/package_diagram/visitor/translation_unit_visitor.cc | 8 +++----- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/src/class_diagram/visitor/translation_unit_visitor.cc b/src/class_diagram/visitor/translation_unit_visitor.cc index 05cea56b..18e50fab 100644 --- a/src/class_diagram/visitor/translation_unit_visitor.cc +++ b/src/class_diagram/visitor/translation_unit_visitor.cc @@ -229,8 +229,7 @@ void translation_unit_visitor::process_namespace( auto usn = util::split(ctx.config().using_namespace()[0], "::"); if (!util::starts_with(usn, package_path)) { - auto p = std::make_unique( - util::split(ctx.config().using_namespace()[0], "::")); + auto p = std::make_unique(usn); util::remove_prefix(package_path, usn); p->set_name(e.name()); diff --git a/src/package_diagram/visitor/translation_unit_visitor.cc b/src/package_diagram/visitor/translation_unit_visitor.cc index bb7e10b6..a0867a33 100644 --- a/src/package_diagram/visitor/translation_unit_visitor.cc +++ b/src/package_diagram/visitor/translation_unit_visitor.cc @@ -98,10 +98,8 @@ void translation_unit_visitor::operator()(const cppast::cpp_entity &file) ctx.config().using_namespace()[0], "::"); if (!util::starts_with(usn, package_path)) { - auto p = std::make_unique( - ctx.config().using_namespace()); + auto p = std::make_unique(usn); util::remove_prefix(package_path, usn); - util::remove_prefix(package_parent, usn); p->set_name(e.name()); p->set_namespace(package_parent); @@ -122,8 +120,8 @@ void translation_unit_visitor::operator()(const cppast::cpp_entity &file) } if (!p->skip()) { - ctx.diagram().add_element( - package_parent, std::move(p)); + auto rns = p->get_relative_namespace(); + ctx.diagram().add_element(rns, std::move(p)); ctx.set_current_package( ctx.diagram().get_element( package_path));