Several issues in reverse engineering
The reverse engineering code has the following issues
- Extract service definition: When message attributes are parsed, leading spaces imply that the type is not correctly parsed
- The Service definition template should refer to the ROS 2 primitive types.
- During reverse engineering from C++ code: when the project setup is incorrect, rverse engineering stops with logging errors, but unnoticed if error log is not open
- If a library service library is available in the workspace (but not registered), it is not taken into account to find the service provided or required by a port
- Port types are derived from calls like create_service. Current code fails, if called via this->create_service instead. Current code also fails to detect the qualified name from the typename, if defined earlier via an alias (using statement)
- Parameter types declared via get_parameter and declare_parameter calls are not detected if called via this->