Fixed namespace resolution of base classes
This commit is contained in:
@@ -547,7 +547,10 @@ void translation_unit_visitor::process_class_bases(
|
||||
{
|
||||
for (auto &base : cls.bases()) {
|
||||
class_parent cp;
|
||||
cp.set_name(cx::util::fully_prefixed(ctx.get_namespace(), base));
|
||||
auto base_ns = common::model::namespace_{
|
||||
cx::util::ns(base.type(), ctx.entity_index())};
|
||||
base_ns = base_ns | base.name();
|
||||
cp.set_name(base_ns.to_string());
|
||||
cp.is_virtual(base.is_virtual());
|
||||
|
||||
switch (base.access_specifier()) {
|
||||
|
||||
@@ -60,9 +60,6 @@ TEST_CASE("t00038", "[test-case][class]")
|
||||
_A("map<std::map<key_t,std::vector<std::integral_constant<property_"
|
||||
"t,property_t::property_c>>>>")));
|
||||
|
||||
// TODO: Add parsing of unexposed template arguments to infer
|
||||
// additional relationships
|
||||
|
||||
REQUIRE_THAT(puml,
|
||||
IsDependency(_A("map<std::integral_constant<property_t,property_t::"
|
||||
"property_a>>"),
|
||||
@@ -89,6 +86,11 @@ TEST_CASE("t00038", "[test-case][class]")
|
||||
"thirdparty::ns1::color_t::red>>"),
|
||||
_A("thirdparty::ns1::color_t")));
|
||||
|
||||
REQUIRE_THAT(puml,
|
||||
IsBaseClass(_A("thirdparty::ns1::E"),
|
||||
_A("map<std::integral_constant<thirdparty::ns1::color_t,"
|
||||
"thirdparty::ns1::color_t::red>>")));
|
||||
|
||||
save_puml(
|
||||
"./" + config.output_directory() + "/" + diagram->name + ".puml", puml);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user