From f1677193baf185095619b5747a4fa3873e841f0f Mon Sep 17 00:00:00 2001 From: Bartek Kryza Date: Fri, 3 May 2024 22:15:47 +0200 Subject: [PATCH] Fixed generation of empty packages in class diagrams (Fixes #253) --- CHANGELOG.md | 1 + .../generators/plantuml/class_diagram_generator.cc | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index def7ef08..17c8c485 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,6 @@ # CHANGELOG + * Fixed generation of empty packages in class diagrams (#253) * Added option inline_lambda_messages to omit lambda expressions from sequence diagrams (#261) * Added support for CUDA calls in sequence diagrams (#263) diff --git a/src/class_diagram/generators/plantuml/class_diagram_generator.cc b/src/class_diagram/generators/plantuml/class_diagram_generator.cc index 9ae0cd27..0a5b6fa8 100644 --- a/src/class_diagram/generators/plantuml/class_diagram_generator.cc +++ b/src/class_diagram/generators/plantuml/class_diagram_generator.cc @@ -724,7 +724,10 @@ void generator::generate(const package &p, std::ostream &ostr) const if (dynamic_cast(subpackage.get()) != nullptr) { // TODO: add option - generate_empty_packages const auto &sp = dynamic_cast(*subpackage); - if (!sp.is_empty()) { + if (!sp.is_empty() && + !sp.all_of([this](const common::model::element &e) { + return !model().should_include(e); + })) { together_group_stack_.enter(); generate(sp, ostr);