abstract Component
abstract Port
now, Port can be extended as:
Example 1:
WinController : Component
cmd : Port
abstract ExceptionPort : Port
NOTE: the compiler also allows declaring ExceptionPort at the top-level but only for abstract clafers like this
WinController : Component
powerOut : ExceptionPort
abstract ExceptionPort : Port
however, in the IR, ExceptionPort is physically moved as a sibling of Port as in the Example 1.
Relevant test cases are:
now,
Portcan be extended as:Example 1:
NOTE: the compiler also allows declaring
ExceptionPortat the top-level but only for abstract clafers like thishowever, in the IR,
ExceptionPortis physically moved as a sibling ofPortas in the Example 1.Relevant test cases are: