[Pharo-project] strange loop
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] 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 ]].
On 1 May 2011 21:38, Stéphane Ducasse <stephane.ducasse@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?
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.
On May 1, 2011, at 11:06 PM, Igor Stasenko wrote:
On 1 May 2011 21:38, Stéphane Ducasse <stephane.ducasse@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
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.
On 1 May 2011 22:16, Stéphane Ducasse <stephane.ducasse@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@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.
:) still the debugger got in a funky state and I do not like that. Stef On May 1, 2011, at 11:31 PM, Igor Stasenko wrote:
On 1 May 2011 22:16, Stéphane Ducasse <stephane.ducasse@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@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.
participants (2)
-
Igor Stasenko -
Stéphane Ducasse