In order to apply many of the transformation rules that take place during the translation process, a symbol resolution mechanism is imperative. This mechanism allows the migration tool to find out the following information:
- Each expression’s data type.
- Referenced library elements.
- Implicit default properties which are tacitly referenced and should be explicit in .NET
- Type coercions which should be generated in the target language
- The corresponding library element in .NET for each element in VB6
- Parameters declared as by-ref, out or optional which require special translations
These symbol dictionaries have been strongly improved by adding the typing mechanism, a feature that allows resolving the most appropriate type for an undeclared series of elements, or that were declared as an abstract high-level type like Variant, Control or Form. See “Typing Mechanism” section below.