Proprietary Extensibility and Customization
The Visual Basic Upgrade Companion can be extended to address specific migration requirements. The extensibility model allows the inclusion of plug-in libraries, specifying customized conversions for either language constructions or library references. The mappings and rules extensibilities are implemented using proprietary technology and can only be implemented by Mobilize personnel. To fully understand the extensibility the concepts of rules and mappings should be introduced.
A mapping can be described as a transformation for a library element. It is a simple transformation applied to a declaration and/or to the references to a class, module, form, user control or a member of any of the previous entities. These transformations are applied by the Visual Basic Upgrade Companion to map one library in VB6 to another one in .NET.
A mapping can be simple (e.g. changing the name of a class or a member), or complex (e.g. converting an invocation into several lines and modifying parameter order and types).
A rule is a transformation for a given language structure. It describes the syntax/grammar modifications, structural changes and the recognition of very complex patterns in the original code, as well as the steps to translate these patterns into equivalent .NET constructions.
Rules are commonly more difficult to specify than mappings, but they are much more powerful for controlling the translation process as required.