Closed olekscode closed 5 years ago
One possible way to fix it is to treat Traits separately. You can rewrite DMFeatureSelector >> extractRootClassFrom:
as
DMFeatureSelector >> extractRootClassFrom: aClass
({ Object . ProtoObject } includes: aClass)
ifTrue: [ ^ aClass ].
aClass isTrait
ifTrue: [ ^ aClass ].
(aClass superclass == Object)
ifTrue: [ ^ aClass ].
^ self extractRootClassFrom: (aClass superclass).
Code to reproduce it: