[Pharo-project] strange loop

Igor Stasenko siguctua at gmail.com
Sun May 1 17:31:37 EDT 2011


On 1 May 2011 22:16, Stéphane Ducasse <stephane.ducasse at inria.fr> wrote:
>
> On May 1, 2011, at 11:06 PM, Igor Stasenko wrote:
>
>> On 1 May 2011 21:38, Stéphane Ducasse <stephane.ducasse at inria.fr> wrote:
>>> this is strange
>>>
>>> I was trying to code a simple list of method browser and my browser seems to
>>>
>>> MorphExtension>>valueOfProperty: aSymbol
>>>        "answer the value of the receiver's property named aSymbol"
>>>        ^ extension ifNotNil: [extension valueOfProperty: aSymbol]
>>>
>> hmm.. i have different implementation here:
>>
>> valueOfProperty: aSymbol
>> "answer the value of the receiver's property named aSymbol"
>>       ^ self
>>               valueOfProperty: aSymbol
>>               ifAbsent: []
>>
>> and there is no 'extension' ivar in MorphExtension class.
>> Or you changed something there?
>
>
> Not that I know.
> I was just in plain 13380
>

[OT].. wow.. my image is already 300 updates behind..
What the ...! 300 updates. I mean 300. updates!!!

And that is in scope of 1.3 development. :)))


>
>>
>>> I end up in a endless loop
>>>
>>> update: aParameter
>>>
>>>        |state|
>>>        aParameter  ifNil: [^self].
>>>        getLabelSelector ifNotNil: [
>>>                aParameter == getLabelSelector ifTrue: [
>>>                        (self labelMorph respondsTo: #font)
>>>                                ifTrue: [self label: (model perform: getLabelSelector) font: self labelMorph font]
>>>                                ifFalse: [self label: (model perform: getLabelSelector)]]].
>>>        state := self getModelState.
>>>        (state ~= (self valueOfProperty: #lastState) or: [
>>>                        ^^^
>>>
>>> when I inspect self I get a PluggableButtonMorph
>>> but the method shown in the debugger is MoprhExtension??????
>>>
>>>        getStateSelector isNil and: [aParameter == #onOffColor]])
>>>                ifTrue: [self color: self colorToUse.
>>>                                self setProperty: #lastState toValue: state].
>>>        aParameter == getEnabledSelector ifTrue: [^self enabled: (model perform: getEnabledSelector)].
>>>        getColorSelector ifNotNil: [ | cc |
>>>                color = (cc := model perform: getColorSelector)
>>>                        ifFalse: [
>>>                                color := cc.
>>>                                self onColor: color offColor: color.
>>>                                self changed ]].
>>>
>>
>>
>>
>> --
>> Best regards,
>> Igor Stasenko AKA sig.
>
>
>



-- 
Best regards,
Igor Stasenko AKA sig.




More information about the Pharo-dev mailing list