diff --git a/emf4cpp.tests/company/test/test.cpp b/emf4cpp.tests/company/test/test.cpp index 6d14b2a7..94318b8c 100644 --- a/emf4cpp.tests/company/test/test.cpp +++ b/emf4cpp.tests/company/test/test.cpp @@ -67,7 +67,11 @@ int main(int argc, char* argv[]) EObject_ptr eobj = _dser.load ("UMU.xmi"); { - boost::intrusive_ptr umu (::ecore::as< Company >(eobj)); + Company_ptr umu (::ecore::as< Company >(eobj)); + const auto& departments = umu->getDepartments(); + auto manager = departments[0]->getManager(); + if (!manager) + std::cerr << "No reference to manager!" << std::endl; } } diff --git a/emf4cpp/ecorecpp/parser/handler.cpp b/emf4cpp/ecorecpp/parser/handler.cpp index f2a08e14..b3371744 100644 --- a/emf4cpp/ecorecpp/parser/handler.cpp +++ b/emf4cpp/ecorecpp/parser/handler.cpp @@ -318,7 +318,9 @@ void handler::resolveReferences() ref_parser::SemanticState ss; State< ref_parser::SemanticState > st(ss, s, size); - assert(ref_parser::grammar::references::match(st)); + bool parsingSuccessful = ref_parser::grammar::references::match(st); + assert(parsingSuccessful); + (void)parsingSuccessful; ref_parser::references_t& _references = ss.get_references();