string detail::get_unique_name(const parser& p, const cpp_entity* parent, const string& unique_name, const comment* c) { if (use_unique_name(c)) return c->get_unique_name_override(); std::string result; if (need_parent_name(parent)) result += detail::get_unique_name(p, parent->get_semantic_parent(), parent->get_unique_name(true), p.get_comment_registry().lookup_comment(*parent, nullptr)) .c_str(); append_unique_name(result, c, unique_name); return result; }