Changed config option template_aliases to type_aliases
This commit is contained in:
@@ -1,5 +1,7 @@
|
|||||||
# CHANGELOG
|
# CHANGELOG
|
||||||
|
|
||||||
|
* Fixed handling of configurable type aliases
|
||||||
|
|
||||||
### 0.2.0
|
### 0.2.0
|
||||||
* Refactored translation units visitors from libclang to Clang LibTooling (#50)
|
* Refactored translation units visitors from libclang to Clang LibTooling (#50)
|
||||||
* Fixed root namespace handling (#45)
|
* Fixed root namespace handling (#45)
|
||||||
|
|||||||
@@ -1985,8 +1985,8 @@ void translation_unit_visitor::finalize()
|
|||||||
bool translation_unit_visitor::simplify_system_template(
|
bool translation_unit_visitor::simplify_system_template(
|
||||||
template_parameter &ct, const std::string &full_name)
|
template_parameter &ct, const std::string &full_name)
|
||||||
{
|
{
|
||||||
if (config().template_aliases().count(full_name) > 0) {
|
if (config().type_aliases().count(full_name) > 0) {
|
||||||
ct.set_name(config().template_aliases().at(full_name));
|
ct.set_name(config().type_aliases().at(full_name));
|
||||||
ct.clear_params();
|
ct.clear_params();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -105,7 +105,7 @@ void inheritable_diagram_options::inherit(
|
|||||||
std::string inheritable_diagram_options::simplify_template_type(
|
std::string inheritable_diagram_options::simplify_template_type(
|
||||||
std::string full_name) const
|
std::string full_name) const
|
||||||
{
|
{
|
||||||
const auto &aliases = template_aliases();
|
const auto &aliases = type_aliases();
|
||||||
|
|
||||||
for (const auto &[pattern, replacement] : aliases) {
|
for (const auto &[pattern, replacement] : aliases) {
|
||||||
util::replace_all(full_name, pattern, replacement);
|
util::replace_all(full_name, pattern, replacement);
|
||||||
@@ -178,35 +178,34 @@ void class_diagram::initialize_relationship_hints()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void class_diagram::initialize_template_aliases()
|
void class_diagram::initialize_type_aliases()
|
||||||
{
|
{
|
||||||
if (!template_aliases().count("std::basic_string<char>")) {
|
if (!type_aliases().count("std::basic_string<char>")) {
|
||||||
template_aliases().insert({"std::basic_string<char>", "std::string"});
|
type_aliases().insert({"std::basic_string<char>", "std::string"});
|
||||||
}
|
}
|
||||||
if (!template_aliases().count("std::basic_string<char,std::char_traits<"
|
if (!type_aliases().count("std::basic_string<char,std::char_traits<"
|
||||||
"char>,std::allocator<char>>")) {
|
"char>,std::allocator<char>>")) {
|
||||||
template_aliases().insert({"std::basic_string<char,std::char_traits<"
|
type_aliases().insert({"std::basic_string<char,std::char_traits<"
|
||||||
"char>,std::allocator<char>>",
|
"char>,std::allocator<char>>",
|
||||||
"std::string"});
|
"std::string"});
|
||||||
}
|
}
|
||||||
if (!template_aliases().count("std::basic_string<wchar_t>")) {
|
if (!type_aliases().count("std::basic_string<wchar_t>")) {
|
||||||
template_aliases().insert(
|
type_aliases().insert({"std::basic_string<wchar_t>", "std::wstring"});
|
||||||
{"std::basic_string<wchar_t>", "std::wstring"});
|
|
||||||
}
|
}
|
||||||
if (!template_aliases().count("std::basic_string<char16_t>")) {
|
if (!type_aliases().count("std::basic_string<char16_t>")) {
|
||||||
template_aliases().insert(
|
type_aliases().insert(
|
||||||
{"std::basic_string<char16_t>", "std::u16string"});
|
{"std::basic_string<char16_t>", "std::u16string"});
|
||||||
}
|
}
|
||||||
if (!template_aliases().count("std::basic_string<char32_t>")) {
|
if (!type_aliases().count("std::basic_string<char32_t>")) {
|
||||||
template_aliases().insert(
|
type_aliases().insert(
|
||||||
{"std::basic_string<char32_t>", "std::u32string"});
|
{"std::basic_string<char32_t>", "std::u32string"});
|
||||||
}
|
}
|
||||||
if (!template_aliases().count("std::integral_constant<bool,true>")) {
|
if (!type_aliases().count("std::integral_constant<bool,true>")) {
|
||||||
template_aliases().insert(
|
type_aliases().insert(
|
||||||
{"std::integral_constant<bool,true>", "std::true_type"});
|
{"std::integral_constant<bool,true>", "std::true_type"});
|
||||||
}
|
}
|
||||||
if (!template_aliases().count("std::integral_constant<bool,false>")) {
|
if (!type_aliases().count("std::integral_constant<bool,false>")) {
|
||||||
template_aliases().insert(
|
type_aliases().insert(
|
||||||
{"std::integral_constant<bool,false>", "std::false_type"});
|
{"std::integral_constant<bool,false>", "std::false_type"});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -552,10 +551,10 @@ template <> struct convert<class_diagram> {
|
|||||||
get_option(node, rhs.generate_method_arguments);
|
get_option(node, rhs.generate_method_arguments);
|
||||||
get_option(node, rhs.generate_packages);
|
get_option(node, rhs.generate_packages);
|
||||||
get_option(node, rhs.relationship_hints);
|
get_option(node, rhs.relationship_hints);
|
||||||
get_option(node, rhs.template_aliases);
|
get_option(node, rhs.type_aliases);
|
||||||
|
|
||||||
rhs.initialize_relationship_hints();
|
rhs.initialize_relationship_hints();
|
||||||
rhs.initialize_template_aliases();
|
rhs.initialize_type_aliases();
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -116,7 +116,7 @@ struct relationship_hint_t {
|
|||||||
|
|
||||||
using relationship_hints_t = std::map<std::string, relationship_hint_t>;
|
using relationship_hints_t = std::map<std::string, relationship_hint_t>;
|
||||||
|
|
||||||
using template_aliases_t = std::map<std::string, std::string>;
|
using type_aliases_t = std::map<std::string, std::string>;
|
||||||
|
|
||||||
std::string to_string(const hint_t t);
|
std::string to_string(const hint_t t);
|
||||||
|
|
||||||
@@ -137,7 +137,7 @@ struct inheritable_diagram_options {
|
|||||||
option<std::filesystem::path> relative_to{"relative_to"};
|
option<std::filesystem::path> relative_to{"relative_to"};
|
||||||
option<bool> generate_system_headers{"generate_system_headers", false};
|
option<bool> generate_system_headers{"generate_system_headers", false};
|
||||||
option<relationship_hints_t> relationship_hints{"relationship_hints"};
|
option<relationship_hints_t> relationship_hints{"relationship_hints"};
|
||||||
option<template_aliases_t> template_aliases{"template_aliases"};
|
option<type_aliases_t> type_aliases{"type_aliases"};
|
||||||
|
|
||||||
void inherit(const inheritable_diagram_options &parent);
|
void inherit(const inheritable_diagram_options &parent);
|
||||||
|
|
||||||
@@ -171,7 +171,7 @@ struct class_diagram : public diagram {
|
|||||||
|
|
||||||
void initialize_relationship_hints();
|
void initialize_relationship_hints();
|
||||||
|
|
||||||
void initialize_template_aliases();
|
void initialize_type_aliases();
|
||||||
};
|
};
|
||||||
|
|
||||||
struct sequence_diagram : public diagram {
|
struct sequence_diagram : public diagram {
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ diagrams:
|
|||||||
t00049_class:
|
t00049_class:
|
||||||
type: class
|
type: class
|
||||||
using_namespace: clanguml::t00049
|
using_namespace: clanguml::t00049
|
||||||
template_aliases:
|
type_aliases:
|
||||||
"std::vector<std::string>": string_vector
|
"std::vector<std::string>": string_vector
|
||||||
"std::basic_string<char>": thestring
|
"std::basic_string<char>": thestring
|
||||||
"std::map<int,int>": intmap
|
"std::map<int,int>": intmap
|
||||||
|
|||||||
Reference in New Issue
Block a user