#1237 CIF/BDD: support limited forms of internal user-defined functions
- Best to review per commit.
- End-user visible changes:
- CIF data-based synthesis and the CIF controller properties checker (for BDD-based checks) now support internal user-defined functions and calls to such functions (with supported arguments), provided that the functions have exactly one return type, don't use recursively calls, don't contain
whilestatements, don't perform assignments that may result in runtime out-of-range errors, are only used in function calls (so not used as data), and only have boolean, ranged integer or enumeration types as return types and parameter types, and as types of their local variables. - The precondition violation messages for the CIF data-based synthesis and the CIF controller properties checker (for BDD-based checks) that report unsupported types have slightly changed in certain cases.
- CIF data-based synthesis and the CIF controller properties checker (for BDD-based checks) now support internal user-defined functions and calls to such functions (with supported arguments), provided that the functions have exactly one return type, don't use recursively calls, don't contain
Closes #1237 (closed)