From cc839f88fd8e09aba88a9d9cb5883b6004f9685f Mon Sep 17 00:00:00 2001 From: Bartek Kryza Date: Sun, 20 Mar 2022 23:27:25 +0100 Subject: [PATCH] Added PlantUML links generation in package diagrams --- .../generators/plantuml/package_diagram_generator.cc | 4 ++++ src/package_diagram/visitor/translation_unit_visitor.cc | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/src/package_diagram/generators/plantuml/package_diagram_generator.cc b/src/package_diagram/generators/plantuml/package_diagram_generator.cc index ba72bfde..cebe62d4 100644 --- a/src/package_diagram/generators/plantuml/package_diagram_generator.cc +++ b/src/package_diagram/generators/plantuml/package_diagram_generator.cc @@ -75,6 +75,10 @@ void generator::generate(const package &p, std::ostream &ostr) const if (p.is_deprecated()) ostr << " <>"; + if (m_config.generate_links) { + generate_link(ostr, p); + } + if (!p.style().empty()) ostr << " " << p.style(); diff --git a/src/package_diagram/visitor/translation_unit_visitor.cc b/src/package_diagram/visitor/translation_unit_visitor.cc index f3c61e6b..ee15c3b7 100644 --- a/src/package_diagram/visitor/translation_unit_visitor.cc +++ b/src/package_diagram/visitor/translation_unit_visitor.cc @@ -99,6 +99,11 @@ void translation_unit_visitor::operator()(const cppast::cpp_entity &file) auto p = std::make_unique(usn); package_path = package_path.relative_to(usn); + if (e.location().has_value()) { + p->set_file(e.location().value().file); + p->set_line(e.location().value().line); + } + p->set_name(e.name()); p->set_namespace(package_parent);