Two things make a class abstract.One is that it has methods that a subclass must override � that is captured by #hasAbstractMethods.The other is that the class cannot be instantiated � normally because it has overridden new.It can be the case that an abstract class defines only CONCRETE methods for its subclasses, but still is abstract. �So, it seems to me that #isAbstractClass is not subsumed by #hasAbstractMethods.A trait "AbstactClassT" could define #new to be "self error: 'Class ' , self name , ' is abstract and cannot be instantiated'" and #isAbstractClass to be ^ true.
AndrewOn Sun, Dec 16, 2012 at 11:03 PM, St�phane Ducasse
<stephane.ducasse@inria.fr> wrote:Good suggestion I will change it to hasAbstractMethods it looks much better.Tx for the suggestion.
what about 'additionalAbstractMethods' that would return the list of
new abstract methods the class �defines.