[Hierarcharchical Platform] Account for clusters when deriving the type size
When calculating the architecture-specific type size (e.g. int
on ARM; c.f. https://developer.arm.com/documentation/dui0491/c/C-and-C---Implementation-Details/Basic-data-types) in org.fortiss.af3.platform.model.annotation.impl.TypeSizeStaticImpl.getDerivedValue(TypeSize)
a NPE is thrown.
Description
If the current IHierarchicElement
defines type sizes, then these are taken, otherwise the parent element is checked.
This is repeated until the termination condition for this recursion is fulfilled: When the PlatformArchitecture
is reached.
This is fine if no clusters are used. However, if the architecture includes clusters the recursive methods breaks as type sizes cannot be defied for clusters and the clusters != platform architectures.
Note:
This behavior is implemented in org.fortiss.af3.platform
, so the algorithm cannot know about elements defined in org.fortiss.af3.platform.hierarchic
, likely requiring a generic solution.