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.ter...@gmail.com> wrote:

> 
> On 5 sept. 2014, at 15:12, Yuriy Tymchuk <yuriy.tymc...@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
> 
> 


Reply via email to