Previous Topic: Component Name Hierarchy

Next Topic: Data Tagging

Map Closure

A map is given a map type by the compile process. This map type is the first type definition encountered in the source. As described above, this type is typically a constructed type, containing the definitions of its contained components. Each of these components form the next level of the name hierarchy within the MDO. If they are constructed, their components form the next level of the name hierarchy, and so on.

Overall, the relationship between components and their types maps out a complete hierarchical structure where the type names form the linkage between component names.

If a module contains type references which cannot be reached by following the reference linkages, starting from the map type and working down, then these types are not usable within this map. Such isolated definitions can be the subject of an import statement from some other map, and hence such orphaned types are allowable. However, it is possible that they were intended to form part of the module in which they reside, and an unreachable reference is an indication that one of the following has occurred:

This process is termed map closure, and helps ensure the completeness and consistency of the supporting map definitions for use by NCL.