2.4.8. Using Fully Qualified Names when Referring to Objects

When referring to another type, you can either use the target data type without a namespace (in this case, the search will occur in the same module you are working on), or you must specify the full namespace of the target object. In particular, partial namespace qualification is not supported because it is naturally ambiguous.

For example, suppose you have this type (using IDL syntax):

module MyModule {
    module AnotherModule {
        struct BaseType {
            short x;
            short y;
        };
    }
}

Then suppose you want to create another structure inside AnotherModule that extends BaseType. You have two choices:

  • Use just the name BaseType to specify the base class

  • Use the fully qualified name MyModule::AnotherModule::BaseType

System Designer does not accept partial qualification, such as AnotherModule::BaseType, because it is ambiguous.