174915: No longer able to make composite relation to CppPrimitiveDatatypes
Fixed code generation and now it is again possible to create a (composite) relation to a CppPrimitiveDatatypes.
The following error has been fixed:
ERROR : CppPrimitiveDatatypes::int : This element does not have a legal C++ name: it will not be generated.
174431: Code generation error: "CppPrimitiveDatatypes::bool : This element does not have a legal C++ name: it will not be generated."
Code generation error has been fixed:
ERROR : CppPrimitiveDatatypes::bool : This element does not have a legal C++ name: it will not be generated.
The problem appeared when model element has dependency to primitive datatype, for example, bool. These dependencies are ignored and now a new warning message is printed in that case:
WARNING: Dependency from 'DependencyToBool::Class1' to primitive type 'CppPrimitiveDatatypes::bool' is ignored
174155: CodeChecker compliance for unused parameters
Code generation has been improved to be compliant with misc-unused-parameters Clang Tidy check.
For standard generated functions prototypes are fixed, so the solution is to generate inline suppressions. This covers functions generated for behavior: transition, guard, create for capsule parts and functions generated for data types: init, copy, destroy, encode, decode, numElementsFunction.
Generation of _rtg_mapLogicalThreads was improved not to generate name of controller parameter if it is not used in function body.
173490: Custom capsule constructor - dependency management concerns
It's now possible to create custom constructors for capsules which helps to pass initialization data to a capsule instance already when it's created. To allow incarnating capsules with custom constructors the concept of capsule factory was introduced (specifies how a capsule instance is created and destroyed). Capsule factories can be provided in various ways, in a hierarchical manner.