Fixed skipping using_namespace when generating packages
This commit is contained in:
@@ -281,19 +281,25 @@ void generator::generate(
|
||||
void generator::generate(const package &p, std::ostream &ostr,
|
||||
std::ostream &relationships_ostr) const
|
||||
{
|
||||
const auto &uns = m_config.using_namespace();
|
||||
|
||||
if (m_config.generate_packages()) {
|
||||
LOG_DBG("Generating package {}", p.name());
|
||||
|
||||
ostr << "package [" << p.name() << "] ";
|
||||
ostr << "as " << p.alias();
|
||||
// Don't generate packages from namespaces filtered out by
|
||||
// using_namespace
|
||||
if (!uns.starts_with(p.full_name(false))) {
|
||||
ostr << "package [" << p.name() << "] ";
|
||||
ostr << "as " << p.alias();
|
||||
|
||||
if (p.is_deprecated())
|
||||
ostr << " <<deprecated>>";
|
||||
if (p.is_deprecated())
|
||||
ostr << " <<deprecated>>";
|
||||
|
||||
if (!p.style().empty())
|
||||
ostr << " " << p.style();
|
||||
if (!p.style().empty())
|
||||
ostr << " " << p.style();
|
||||
|
||||
ostr << " {" << '\n';
|
||||
ostr << " {" << '\n';
|
||||
}
|
||||
}
|
||||
|
||||
for (const auto &subpackage : p) {
|
||||
@@ -316,7 +322,11 @@ void generator::generate(const package &p, std::ostream &ostr,
|
||||
}
|
||||
|
||||
if (m_config.generate_packages()) {
|
||||
ostr << "}" << '\n';
|
||||
// Don't generate packages from namespaces filtered out by
|
||||
// using_namespace
|
||||
if (!uns.starts_with(p.full_name(false))) {
|
||||
ostr << "}" << '\n';
|
||||
}
|
||||
}
|
||||
|
||||
generate_notes(ostr, p);
|
||||
|
||||
@@ -41,9 +41,8 @@ std::string method_parameter::to_string(
|
||||
const common::model::namespace_ &using_namespace) const
|
||||
{
|
||||
using namespace clanguml::util;
|
||||
auto type_ns = common::model::namespace_{type()}
|
||||
.relative_to(using_namespace)
|
||||
.to_string();
|
||||
auto type_ns =
|
||||
using_namespace.relative(common::model::namespace_{type()}.to_string());
|
||||
if (default_value().empty())
|
||||
return fmt::format("{} {}", type_ns, name());
|
||||
|
||||
|
||||
@@ -66,22 +66,28 @@ void generator::generate(const package &p, std::ostream &ostr) const
|
||||
|
||||
const auto &uns = m_config.using_namespace();
|
||||
|
||||
ostr << "package [" << p.name() << "] ";
|
||||
ostr << "as " << p.alias();
|
||||
// Don't generate packages from namespaces filtered out by
|
||||
// using_namespace
|
||||
if (!uns.starts_with(p.full_name(false))) {
|
||||
ostr << "package [" << p.name() << "] ";
|
||||
ostr << "as " << p.alias();
|
||||
|
||||
if (p.is_deprecated())
|
||||
ostr << " <<deprecated>>";
|
||||
if (p.is_deprecated())
|
||||
ostr << " <<deprecated>>";
|
||||
|
||||
if (!p.style().empty())
|
||||
ostr << " " << p.style();
|
||||
if (!p.style().empty())
|
||||
ostr << " " << p.style();
|
||||
|
||||
ostr << " {" << '\n';
|
||||
ostr << " {" << '\n';
|
||||
}
|
||||
|
||||
for (const auto &subpackage : p) {
|
||||
generate(dynamic_cast<const package &>(*subpackage), ostr);
|
||||
}
|
||||
|
||||
ostr << "}" << '\n';
|
||||
if (!uns.starts_with(p.full_name(false))) {
|
||||
ostr << "}" << '\n';
|
||||
}
|
||||
|
||||
generate_notes(ostr, p);
|
||||
}
|
||||
@@ -92,11 +98,9 @@ void generator::generate(std::ostream &ostr) const
|
||||
|
||||
generate_plantuml_directives(ostr, m_config.puml().before);
|
||||
|
||||
if (m_config.should_include_entities("packages")) {
|
||||
for (const auto &p : m_model) {
|
||||
generate(dynamic_cast<package &>(*p), ostr);
|
||||
ostr << '\n';
|
||||
}
|
||||
for (const auto &p : m_model) {
|
||||
generate(dynamic_cast<package &>(*p), ostr);
|
||||
ostr << '\n';
|
||||
}
|
||||
|
||||
// Process package relationships
|
||||
|
||||
Reference in New Issue
Block a user