No anonymous type#
No anonymous type in the interface
Description#
Only named types shall be used in root operator / imported operator interfaces. Anonymous types (example int^3) shall be avoided. The rule applies to all the root operators, or to the root operators of the specified configuration.
The parameter allows defining the name of a configuration, with the following syntax: configuration=<name> (default value: configuration=).
Rationale#
Ensure user controlled naming of type declarations of root operators / imported operators.
Verification#
The rule registers to the inputs and outputs of a Scade model, and raises a violation for each variable declared with an anonymous type, when the owning operator is root or is imported.
Message: The type <type definition> shall not be anonymous.
An operator is root if it doesn’t have any instance in the model.
The
configurationparameter, when set, restricts the root operators to those specified for code generation.
Resolution#
Create a type with the same definition and use it in the variable’s declaration.
Customization#
N/A.