I second this idea. But maybe there are some other points of view (the method was changed for some reason after all) Uko On 05 Sep 2014, at 15:26, Camille Teruel <camille.teruel@gmail.com> wrote:
On 5 sept. 2014, at 15:12, Yuriy Tymchuk <yuriy.tymchuk@me.com> wrote:
Hi everyone,
I think that itâs essential to solve this, please take a look: https://pharo.fogbugz.com/f/cases/13962/canPerform-same-as-canUnderstand
Before #canUnderstand was checking if the class understands a selector and canPerform: was also checking if the method has an implementation (it is not a shouldBeImplemented, subclassResponsibility or explicitRequirement). When it changed some critic rules got crazy, raising critics that should not have been. I think we should just rollback to that old behavior, for ex with:
canUnderstand: aSymbol ^ (self lookupMethod: aSymbol) notNil
canPerform: aSymbol ^ (self lookupMethod: aSymbol) ifNil: [ false ] ifNotNil: [ :m | m isProvided ]
Camille
Uko