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.