Major
#24728
Optionally inherit type default from attribute annotations
TLAttributeAnnotation`s (annotations on attributes in the model) are "inherited" from the attribute type by default. I.e. if such an annotation is not set directly on an attribute, the annotation that is set on the attribute type (if one is set there) is used. With #24139 this inheritance can be preventedby the meta annotation `NoTypeDefault at the TLAttributeAnnotation.
Improvement
If the annotation is also not set at the target type of the attribute, one may want that then the annotation set at the first supertype of the attribute target type applies (along the ketter of the primary supertypes of the attribute target type).
This can be achieved by using the annotation @DefaultStrategy(Strategy.PRIMARY_GENERALIZATION) at the TLAttributeAnnotation.
Code migration
The @NoTypeDefault annotation must be replaced with @DefaultStrategy(Strategy.NONE).
Test
- Export binding annotation com.top_logic.model.io.annotation.TLExportBinding