Systems-Modeling / SysML-v2-Pilot-Implementation

Proof-of-concept pilot implementation of the SysML v2 textual notation and visualization
GNU Lesser General Public License v3.0
128 stars 24 forks source link

ST6RI-528 Circular conjugation causes a stack overflow #351

Closed seidewitz closed 2 years ago

seidewitz commented 2 years ago

The stack overflow was happening in FeatureImpl::getTypes because the traversal of a Conjugation relationship was not checking visitedFeatures first. The necessary check has now been added.

This PR also adds a KerML validation check that a Classifier directly or indirectly specializes the correct base type. This catches vacuous specialization or conjugation circularities. (Such circularities were already being caught for Features by the check that they have at least one type.)