The latest release of RTist 11, called 2020.22, is now available. Here’s a look at what’s most noteworthy:

Final Modifier Supported

The C++ 11, Final Modifier is now supported by the model compiler. There is a new Final property that can be set on classes and capsules to specify that they cannot be inherited. The same property is also available on operations to specify that they cannot be overridden.

Properties Final

Automatic Variables with Auto Keyword

Another C++ 11 feature is automatic variables declared with the auto keyword. In RTist, you can now create attributes typed by a special auto type that has been added to the CppPrimitiveDatatypes package. You need to specify a default value for the attribute, set its Initializer Kind property to either “equal” or “brace” and make it static const or static constexpr, so that the model compiler will generate an initializer for the corresponding C++ variable. The C++ compiler will deduce the type of the variable from that initializer value.

Auto Type


Fix for Broken References

An important improvement in the 2020.22 release is the better support for working with broken references. In the previous versions, the tool had difficulties coping with certain broken references, and as a remedy it sometimes deleted elements with such references. Now this no longer happens, and instead we have made it easier to fix broken references by means of a new Quick Fix called “Rebind Broken References”. This quick fix can be run from the context menu of a broken reference problem in the Problems view, and it is able to rebind broken references that have been introduced by refactorings, where not all affected references could be updated at the time of the refactoring. A common example is when elements in a model library are moved so they end up in a different model file. This affects all client models that use the library, and since the refactoring of a library typically is done without knowledge of which clients that may use it, many references in client models can become broken because of this. The “Rebind Broken References” quick fix is able to update all such broken references in one go.


TC Editor Enhancements

We have also improved the TC editor in this release. The TC editor’s Code tab now highlights syntax errors which makes it easier to work with transformation configurations textually.

TC Syntax


Finally, let’s mention the graphic visualization of TC relationships that was first available as an experimental feature in the previous release. In this release, we have continued to improve this feature and it now can show both prerequisite and inheritance relationships for TCs (separately or both at the same time). The layout of the graphs has also been improved which is noticeable especially for big graphs. This feature is still experimental, and we hope to complete it in the next release.



Graph Visualization


Comment wrap
Further Reading
Secure DevOps | September 2, 2022
RTist 11.2 2022.34
HCL RTist is a rule-based code translator for C/C++. The main feature of RTist is to produce readable, maintainable, and portable code.
Secure DevOps | November 29, 2021
What’s new in HCL RTist 11.1 2021.46
Today we ship another release of HCL RTist: 11.1 2021.46. As usual, there are several new features and a few bug fixes. Let's look at some of the highlights.
Secure DevOps | November 9, 2021
Writing a generic type descriptor with HCL RTist
Starting with HCL RTist 11.1 2021.24 it's now possible to write a generic type descriptor that uses the same template parameters as the type. This can save a lot of time and avoid code duplication.
Filters result by