On 14 September 2011 19:04, Mariano Martinez Peck <marianopeck@gmail.com> wrote:
On Wed, Sep 14, 2011 at 1:20 PM, Igor Stasenko <siguctua@gmail.com> wrote:
On 13 September 2011 19:52, Alexandre Bergel <alexandre.bergel@me.com> wrote:
Hi!
Apparently, the following method is abstract:
ArrayedCollection>>add: newObject     self shouldNotImplement
If I evaluate: (ArrayedCollection>>#add:) isAbstract => true
This is not quite right. A method that is cancelled is not abstract.
I propose to change CompiledMethod>>abstractMarkers     ^ #(subclassResponsibility shouldNotImplement)
into CompiledMethod>>abstractMarker     ^ #shouldNotImplement
Does it make sense?
yes
Why? It doesn't for me. A method defined as ^ self subclassResponsibility is "abstract" from my point of view.
To make it clear, i thinking that: #subclassResponsibility is abstract #shouldNotImplement is concrete (and actually completely opposite to 'abstract', because it prohibits subclasses from overriding this method, while #subclassResponsibility doest opposite - it tells that subclasses _should_ override this method, unless they are abstract. -- Best regards, Igor Stasenko.