Register declarations as well

Will be overriden by definitions.
This commit is contained in:
Jonathan Müller 2017-03-18 11:01:27 +01:00
commit cb9ad57e87
21 changed files with 98 additions and 43 deletions

View file

@ -9,10 +9,17 @@
using namespace cppast;
std::unique_ptr<cpp_class> cpp_class::builder::finish(const cpp_entity_index& idx,
cpp_entity_id id) noexcept
std::unique_ptr<cpp_class> cpp_class::builder::finish(const cpp_entity_index& idx, cpp_entity_id id)
{
idx.register_entity(std::move(id), type_safe::ref(*class_));
idx.register_definition(std::move(id), type_safe::ref(*class_));
return std::move(class_);
}
std::unique_ptr<cpp_class> cpp_class::builder::finish_declaration(const cpp_entity_index& idx,
cpp_entity_id definition_id)
{
class_->set_definition(definition_id);
idx.register_forward_declaration(std::move(definition_id), type_safe::ref(*class_));
return std::move(class_);
}