Refactored class visitor main method
This commit is contained in:
@@ -102,7 +102,7 @@ std::string class_::full_name(bool relative) const
|
|||||||
|
|
||||||
std::ostringstream ostr;
|
std::ostringstream ostr;
|
||||||
if (relative && starts_with(get_namespace(), using_namespaces()))
|
if (relative && starts_with(get_namespace(), using_namespaces()))
|
||||||
ostr << ns_relative(using_namespaces(), name());
|
ostr << ns_relative(using_namespaces(), name_and_ns());
|
||||||
else
|
else
|
||||||
ostr << name_and_ns();
|
ostr << name_and_ns();
|
||||||
|
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ void diagram::add_package(std::unique_ptr<common::model::package> &&p)
|
|||||||
{
|
{
|
||||||
LOG_DBG("Adding namespace package: {}, {}", p->name(), p->full_name(true));
|
LOG_DBG("Adding namespace package: {}, {}", p->name(), p->full_name(true));
|
||||||
|
|
||||||
auto ns = p->get_namespace();
|
auto ns = p->get_relative_namespace();
|
||||||
add_element(ns, std::move(p));
|
add_element(ns, std::move(p));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -34,6 +34,8 @@
|
|||||||
#include <cppast/visitor.hpp>
|
#include <cppast/visitor.hpp>
|
||||||
#include <type_safe/reference.hpp>
|
#include <type_safe/reference.hpp>
|
||||||
|
|
||||||
|
#include <cppast/cpp_alias_template.hpp>
|
||||||
|
#include <cppast/cpp_type_alias.hpp>
|
||||||
#include <functional>
|
#include <functional>
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
@@ -119,6 +121,39 @@ public:
|
|||||||
void process_friend(const cppast::cpp_friend &t,
|
void process_friend(const cppast::cpp_friend &t,
|
||||||
clanguml::class_diagram::model::class_ &parent);
|
clanguml::class_diagram::model::class_ &parent);
|
||||||
|
|
||||||
|
void process_namespace(const cppast::cpp_entity &e,
|
||||||
|
const cppast::cpp_namespace &ns_declaration);
|
||||||
|
|
||||||
|
void process_type_alias(const cppast::cpp_type_alias &ta);
|
||||||
|
|
||||||
|
void process_type_alias_template(const cppast::cpp_alias_template &at);
|
||||||
|
|
||||||
|
void process_class_children(const cppast::cpp_class &cls, model::class_ &c);
|
||||||
|
|
||||||
|
void process_class_bases(
|
||||||
|
const cppast::cpp_class &cls, model::class_ &c) const;
|
||||||
|
|
||||||
|
void process_unexposed_template_specialization_arguments(
|
||||||
|
const type_safe::optional_ref<const cppast::cpp_template_specialization>
|
||||||
|
&tspec,
|
||||||
|
model::class_ &c) const;
|
||||||
|
|
||||||
|
void process_exposed_template_specialization_arguments(
|
||||||
|
const type_safe::optional_ref<const cppast::cpp_template_specialization>
|
||||||
|
&tspec,
|
||||||
|
model::class_ &c);
|
||||||
|
|
||||||
|
void process_scope_template_parameters(
|
||||||
|
model::class_ &c, const cppast::cpp_scope_name &scope);
|
||||||
|
|
||||||
|
bool process_template_parameters(const cppast::cpp_class &cls,
|
||||||
|
model::class_ &c,
|
||||||
|
const type_safe::optional_ref<const cppast::cpp_template_specialization>
|
||||||
|
&tspec);
|
||||||
|
|
||||||
|
void process_class_containment(
|
||||||
|
const cppast::cpp_class &cls, model::class_ &c) const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::unique_ptr<clanguml::class_diagram::model::class_>
|
std::unique_ptr<clanguml::class_diagram::model::class_>
|
||||||
build_template_instantiation(
|
build_template_instantiation(
|
||||||
|
|||||||
Reference in New Issue
Block a user