Skip to content

Inherited components of a type can not be chosen as port targets

Given a subtype, one can not choose children defined by its supertype (or ancestor) as a port target.

For example, given the following grammar:

A ::= <Input:String> B;
B;
SpecialA : A ;

All ports in the following connect specification are currently rejected:

receive SpecialA.Input;
send SpecialA.Input;

receive SpecialA.B;
send SpecialA.B;

Implementation detail: This is due to the current resolving of components of a TypeDecl which only considers getComponentList(), i.e., the children directly defined for the subtype.