Intro
Prior to V40.14 language gmBasic used the MigrationSupport conventions for stubbing the language runtime support (RTS) framework. MigrationSupport conventions had the following features:
...
Note: stubs for references to COM APIs are handled differently from stubs for references to language operations. COM stub declarations are driven by COM IDFs and based on scanning operation streams for references to COM API elements.
Impact
Implementing the gmRTL conventions required numerous changes to the metalang and the gmBasic logic. The resulting RTS stubbing process is more precise, faster, and flexible. Furthermore, gmRTL translations look very different from MigrationSupport translations, the changes are refactoring: mainly changing the classes holding the RTS members. Although the organization and structure of the RTL stub framework changes, the locations of RTS references in generated code is the same.
Backward compatibility
Although the internal implementation and default metalang for gmRTL is quite different, it should be possible to reproduce MigrationSupport-style translations with custom migration rules. This article describes how this may be done, mainly as a demonstration of the expressive power of the gmStudio toolset, but also as an option for teams who wish to use the new tools/metalang to complete a project already in progress using the deprecated
...