From a2c7d9ff48aae396038154b9a8096d4d487c2c71 Mon Sep 17 00:00:00 2001 From: Bartek Kryza Date: Sun, 3 Oct 2021 12:45:47 +0200 Subject: [PATCH] Refactored generators --- .../plantuml}/class_diagram_generator.cc | 10 ++-------- .../plantuml}/class_diagram_generator.h | 9 ++++----- src/main.cc | 18 ++++++++++-------- .../plantuml}/sequence_diagram_generator.cc | 8 +++----- .../plantuml}/sequence_diagram_generator.h | 9 ++++----- tests/test_cases.cc | 10 ++++++---- tests/test_cases.h | 4 ++-- 7 files changed, 31 insertions(+), 37 deletions(-) rename src/{puml => class_diagram/generators/plantuml}/class_diagram_generator.cc (98%) rename src/{puml => class_diagram/generators/plantuml}/class_diagram_generator.h (96%) rename src/{puml => sequence_diagram/generators/plantuml}/sequence_diagram_generator.cc (96%) rename src/{puml => sequence_diagram/generators/plantuml}/sequence_diagram_generator.h (95%) diff --git a/src/puml/class_diagram_generator.cc b/src/class_diagram/generators/plantuml/class_diagram_generator.cc similarity index 98% rename from src/puml/class_diagram_generator.cc rename to src/class_diagram/generators/plantuml/class_diagram_generator.cc index ac8afc23..afa2486f 100644 --- a/src/puml/class_diagram_generator.cc +++ b/src/class_diagram/generators/plantuml/class_diagram_generator.cc @@ -1,5 +1,5 @@ /** - * src/puml/class_diagram_generator.cc + * src/class_diagram/generators/plantuml/class_diagram_generator.cc * * Copyright (c) 2021 Bartek Kryza * @@ -20,9 +20,8 @@ #include "util/error.h" -namespace clanguml::generators::class_diagram { +namespace clanguml::class_diagram::generators::plantuml { -namespace puml { std::string relative_to(std::string n, std::string c) { if (c.rfind(n) == std::string::npos) @@ -31,10 +30,6 @@ std::string relative_to(std::string n, std::string c) return c.substr(n.size() + 2); } -// -// generator -// - generator::generator( clanguml::config::class_diagram &config, diagram_model &model) : m_config(config) @@ -414,7 +409,6 @@ std::ostream &operator<<(std::ostream &os, const generator &g) g.generate(os); return os; } -} // namespace puml clanguml::class_diagram::model::diagram generate( cppast::libclang_compilation_database &db, const std::string &name, diff --git a/src/puml/class_diagram_generator.h b/src/class_diagram/generators/plantuml/class_diagram_generator.h similarity index 96% rename from src/puml/class_diagram_generator.h rename to src/class_diagram/generators/plantuml/class_diagram_generator.h index 8c8de4b3..52d5b565 100644 --- a/src/puml/class_diagram_generator.h +++ b/src/class_diagram/generators/plantuml/class_diagram_generator.h @@ -1,5 +1,5 @@ /** - * src/puml/class_diagram_generator.h + * src/class_diagram/generators/plantuml/class_diagram_generator.h * * Copyright (c) 2021 Bartek Kryza * @@ -36,9 +36,9 @@ #include namespace clanguml { -namespace generators { namespace class_diagram { -namespace puml { +namespace generators { +namespace plantuml { using diagram_config = clanguml::class_diagram::model::diagram; using diagram_model = clanguml::class_diagram::model::diagram; @@ -77,8 +77,6 @@ private: diagram_model &m_model; }; -} - clanguml::class_diagram::model::diagram generate( cppast::libclang_compilation_database &db, const std::string &name, clanguml::config::class_diagram &diagram); @@ -86,3 +84,4 @@ clanguml::class_diagram::model::diagram generate( } } } +} diff --git a/src/main.cc b/src/main.cc index 63629f94..1efbadbb 100644 --- a/src/main.cc +++ b/src/main.cc @@ -18,12 +18,12 @@ #define SPDLOG_ACTIVE_LEVEL SPDLOG_LEVEL_DEBUG +#include "class_diagram/generators/plantuml/class_diagram_generator.h" #include "class_diagram/model/diagram.h" #include "class_diagram/visitor/translation_unit_visitor.h" #include "config/config.h" #include "cx/compilation_database.h" -#include "puml/class_diagram_generator.h" -#include "puml/sequence_diagram_generator.h" +#include "sequence_diagram/generators/plantuml/sequence_diagram_generator.h" #include "sequence_diagram/visitor/translation_unit_context.h" #include "util/util.h" @@ -98,18 +98,20 @@ int main(int argc, const char *argv[]) ofs.open(path, std::ofstream::out | std::ofstream::trunc); if (std::dynamic_pointer_cast(diagram)) { - auto model = generators::class_diagram::generate( - db2, name, dynamic_cast(*diagram)); + auto model = + clanguml::class_diagram::generators::plantuml::generate( + db2, name, dynamic_cast(*diagram)); - ofs << clanguml::generators::class_diagram::puml::generator( + ofs << clanguml::class_diagram::generators::plantuml::generator( dynamic_cast(*diagram), model); } else if (std::dynamic_pointer_cast(diagram)) { - auto model = generators::sequence_diagram::generate( - db, name, dynamic_cast(*diagram)); + auto model = + clanguml::sequence_diagram::generators::plantuml::generate( + db, name, dynamic_cast(*diagram)); - ofs << clanguml::generators::sequence_diagram::puml::generator( + ofs << clanguml::sequence_diagram::generators::plantuml::generator( dynamic_cast(*diagram), model); } diff --git a/src/puml/sequence_diagram_generator.cc b/src/sequence_diagram/generators/plantuml/sequence_diagram_generator.cc similarity index 96% rename from src/puml/sequence_diagram_generator.cc rename to src/sequence_diagram/generators/plantuml/sequence_diagram_generator.cc index 10439686..2c142ef9 100644 --- a/src/puml/sequence_diagram_generator.cc +++ b/src/sequence_diagram/generators/plantuml/sequence_diagram_generator.cc @@ -1,5 +1,5 @@ /** - * src/puml/sequence_diagram_generator.h + * src/sequence_diagram/generators/plantuml/sequence_diagram_generator.cc * * Copyright (c) 2021 Bartek Kryza * @@ -16,12 +16,11 @@ * limitations under the License. */ -#include "puml/sequence_diagram_generator.h" +#include "sequence_diagram_generator.h" #include "sequence_diagram/visitor/translation_unit_context.h" -namespace clanguml::generators::sequence_diagram { -namespace puml { +namespace clanguml::sequence_diagram::generators::plantuml { using diagram_model = clanguml::sequence_diagram::model::diagram; using diagram_config = clanguml::config::sequence_diagram::diagram; @@ -119,7 +118,6 @@ std::ostream &operator<<(std::ostream &os, const generator &g) g.generate(os); return os; } -} clanguml::sequence_diagram::model::diagram generate( clanguml::cx::compilation_database &db, const std::string &name, diff --git a/src/puml/sequence_diagram_generator.h b/src/sequence_diagram/generators/plantuml/sequence_diagram_generator.h similarity index 95% rename from src/puml/sequence_diagram_generator.h rename to src/sequence_diagram/generators/plantuml/sequence_diagram_generator.h index f5eb202b..5b63cc08 100644 --- a/src/puml/sequence_diagram_generator.h +++ b/src/sequence_diagram/generators/plantuml/sequence_diagram_generator.h @@ -1,5 +1,5 @@ /** - * src/puml/sequence_diagram_generator.h + * src/sequence_diagram/generators/plantuml/sequence_diagram_generator.h * * Copyright (c) 2021 Bartek Kryza * @@ -31,9 +31,9 @@ #include namespace clanguml { -namespace generators { namespace sequence_diagram { -namespace puml { +namespace generators { +namespace plantuml { using diagram_model = clanguml::sequence_diagram::model::diagram; @@ -61,8 +61,6 @@ private: clanguml::sequence_diagram::model::diagram &m_model; }; -} - clanguml::sequence_diagram::model::diagram generate( clanguml::cx::compilation_database &db, const std::string &name, clanguml::config::sequence_diagram &diagram); @@ -70,3 +68,4 @@ clanguml::sequence_diagram::model::diagram generate( } } } +} diff --git a/tests/test_cases.cc b/tests/test_cases.cc index 13fca173..678478e8 100644 --- a/tests/test_cases.cc +++ b/tests/test_cases.cc @@ -45,7 +45,8 @@ clanguml::sequence_diagram::model::diagram generate_sequence_diagram( std::shared_ptr diagram) { auto diagram_model = - clanguml::generators::sequence_diagram::generate(db, diagram->name, + clanguml::sequence_diagram::generators::plantuml::generate(db, + diagram->name, dynamic_cast(*diagram)); return diagram_model; @@ -56,7 +57,8 @@ clanguml::class_diagram::model::diagram generate_class_diagram( std::shared_ptr diagram) { auto diagram_model = - clanguml::generators::class_diagram::generate(db, diagram->name, + clanguml::class_diagram::generators::plantuml::generate(db, + diagram->name, dynamic_cast(*diagram)); return diagram_model; @@ -66,7 +68,7 @@ std::string generate_sequence_puml( std::shared_ptr config, clanguml::sequence_diagram::model::diagram &model) { - using namespace clanguml::generators::sequence_diagram::puml; + using namespace clanguml::sequence_diagram::generators::plantuml; std::stringstream ss; @@ -80,7 +82,7 @@ std::string generate_class_puml( std::shared_ptr config, clanguml::class_diagram::model::diagram &model) { - using namespace clanguml::generators::class_diagram::puml; + using namespace clanguml::class_diagram::generators::plantuml; std::stringstream ss; diff --git a/tests/test_cases.h b/tests/test_cases.h index 7df04eba..625ad19d 100644 --- a/tests/test_cases.h +++ b/tests/test_cases.h @@ -19,12 +19,12 @@ #define SPDLOG_ACTIVE_LEVEL SPDLOG_LEVEL_DEBUG +#include "class_diagram/generators/plantuml/class_diagram_generator.h" #include "class_diagram/model/diagram.h" #include "class_diagram/visitor/translation_unit_visitor.h" #include "config/config.h" #include "cx/compilation_database.h" -#include "puml/class_diagram_generator.h" -#include "puml/sequence_diagram_generator.h" +#include "sequence_diagram/generators/plantuml/sequence_diagram_generator.h" #include "sequence_diagram/visitor/translation_unit_visitor.h" #include "util/util.h"