renggli at gmail.com
Wed Feb 10 18:14:38 EST 2010
> Lukas, do you think the second statement in this method could be removed, it would take a lot less time to know if a class is abstract.
> (self whichSelectorsReferToSymbol: #subclassResponsibility) isEmpty
> ifFalse: [^true].
> model allReferencesToClass: self do: [:each | ^false].
> I know it would change the definition of what is an abstract class for RB, but i'm just wondering if this is ok:
> "A Class is abstract if it defines a subclassResponsibility method and no other classes reference it"
> The second clause in my opinion could be avoided.
Just recently I looked at that definition too. It is a bit strange.
Also given that it only looks for #subclassResponsibility in the class
itself and not in the superclasses.
Unfortunately changing anything breaks some tests. As discussed
previously there is not a single definition of an abstract class, so
maybe it is best if you add your own domain-specific implementation of
More information about the Pharo-dev