Added inference of nested template instantiations dependencies

This commit is contained in:
Bartek Kryza
2021-08-07 18:47:04 +02:00
parent 1aa7f4961b
commit 646b38eaac

View File

@@ -1265,6 +1265,25 @@ class_ tu_visitor::build_template_instantiation(
const cppast::cpp_template_instantiation_type &>(
targ.type().value()));
auto fn = cx::util::full_name(
cppast::remove_cv(
cx::util::unreferenced(targ.type().value())),
ctx.entity_index, false);
fn = util::split(fn, "<")[0];
class_relationship tinst_dependency;
tinst_dependency.type = relationship_t::kDependency;
tinst_dependency.label = "";
tinst_dependency.destination =
nested_tinst.full_name(ctx.config.using_namespace);
LOG_DBG("Creating nested template dependency {} -> {}",
tinst.full_name(ctx.config.using_namespace),
tinst_dependency.destination);
tinst.add_relationship(std::move(tinst_dependency));
ctx.d.add_class(std::move(nested_tinst));
}
}