Refactored generators
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/**
|
||||
* src/puml/class_diagram_generator.cc
|
||||
* src/class_diagram/generators/plantuml/class_diagram_generator.cc
|
||||
*
|
||||
* Copyright (c) 2021 Bartek Kryza <bkryza@gmail.com>
|
||||
*
|
||||
@@ -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,
|
||||
@@ -1,5 +1,5 @@
|
||||
/**
|
||||
* src/puml/class_diagram_generator.h
|
||||
* src/class_diagram/generators/plantuml/class_diagram_generator.h
|
||||
*
|
||||
* Copyright (c) 2021 Bartek Kryza <bkryza@gmail.com>
|
||||
*
|
||||
@@ -36,9 +36,9 @@
|
||||
#include <sstream>
|
||||
|
||||
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(
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
14
src/main.cc
14
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<class_diagram>(diagram)) {
|
||||
auto model = generators::class_diagram::generate(
|
||||
auto model =
|
||||
clanguml::class_diagram::generators::plantuml::generate(
|
||||
db2, name, dynamic_cast<class_diagram &>(*diagram));
|
||||
|
||||
ofs << clanguml::generators::class_diagram::puml::generator(
|
||||
ofs << clanguml::class_diagram::generators::plantuml::generator(
|
||||
dynamic_cast<clanguml::config::class_diagram &>(*diagram),
|
||||
model);
|
||||
}
|
||||
else if (std::dynamic_pointer_cast<sequence_diagram>(diagram)) {
|
||||
auto model = generators::sequence_diagram::generate(
|
||||
auto model =
|
||||
clanguml::sequence_diagram::generators::plantuml::generate(
|
||||
db, name, dynamic_cast<sequence_diagram &>(*diagram));
|
||||
|
||||
ofs << clanguml::generators::sequence_diagram::puml::generator(
|
||||
ofs << clanguml::sequence_diagram::generators::plantuml::generator(
|
||||
dynamic_cast<clanguml::config::sequence_diagram &>(*diagram),
|
||||
model);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/**
|
||||
* src/puml/sequence_diagram_generator.h
|
||||
* src/sequence_diagram/generators/plantuml/sequence_diagram_generator.cc
|
||||
*
|
||||
* Copyright (c) 2021 Bartek Kryza <bkryza@gmail.com>
|
||||
*
|
||||
@@ -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,
|
||||
@@ -1,5 +1,5 @@
|
||||
/**
|
||||
* src/puml/sequence_diagram_generator.h
|
||||
* src/sequence_diagram/generators/plantuml/sequence_diagram_generator.h
|
||||
*
|
||||
* Copyright (c) 2021 Bartek Kryza <bkryza@gmail.com>
|
||||
*
|
||||
@@ -31,9 +31,9 @@
|
||||
#include <sstream>
|
||||
|
||||
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(
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -45,7 +45,8 @@ clanguml::sequence_diagram::model::diagram generate_sequence_diagram(
|
||||
std::shared_ptr<clanguml::config::diagram> diagram)
|
||||
{
|
||||
auto diagram_model =
|
||||
clanguml::generators::sequence_diagram::generate(db, diagram->name,
|
||||
clanguml::sequence_diagram::generators::plantuml::generate(db,
|
||||
diagram->name,
|
||||
dynamic_cast<clanguml::config::sequence_diagram &>(*diagram));
|
||||
|
||||
return diagram_model;
|
||||
@@ -56,7 +57,8 @@ clanguml::class_diagram::model::diagram generate_class_diagram(
|
||||
std::shared_ptr<clanguml::config::diagram> diagram)
|
||||
{
|
||||
auto diagram_model =
|
||||
clanguml::generators::class_diagram::generate(db, diagram->name,
|
||||
clanguml::class_diagram::generators::plantuml::generate(db,
|
||||
diagram->name,
|
||||
dynamic_cast<clanguml::config::class_diagram &>(*diagram));
|
||||
|
||||
return diagram_model;
|
||||
@@ -66,7 +68,7 @@ std::string generate_sequence_puml(
|
||||
std::shared_ptr<clanguml::config::diagram> 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<clanguml::config::diagram> config,
|
||||
clanguml::class_diagram::model::diagram &model)
|
||||
{
|
||||
using namespace clanguml::generators::class_diagram::puml;
|
||||
using namespace clanguml::class_diagram::generators::plantuml;
|
||||
|
||||
std::stringstream ss;
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user