Fixed namespace namespace resolution

This commit is contained in:
Bartek Kryza
2022-03-17 00:55:19 +01:00
parent 331f3310ce
commit 7abada2f6b
2 changed files with 6 additions and 3 deletions

View File

@@ -549,8 +549,9 @@ void translation_unit_visitor::process_class_bases(
class_parent cp;
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());
base_ns = base_ns | common::model::namespace_{base.name()}.name();
cp.set_name(
base_ns.relative_to(ctx.config().using_namespace()).to_string());
cp.is_virtual(base.is_virtual());
switch (base.access_specifier()) {

View File

@@ -125,7 +125,9 @@ std::string ns(const cppast::cpp_entity &e)
auto it = e.parent();
while (it) {
if (it.value().kind() == cppast::cpp_entity_kind::namespace_t) {
if (!it.value().name().empty())
const auto &ns =
static_cast<const cppast::cpp_namespace &>(it.value());
if (!ns.name().empty() && !ns.is_inline())
res.push_back(it.value().name());
}
it = it.value().parent();