Epicea and #name in #behaviorAffectedName

Previous Topic Next Topic
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
Report Content as Inappropriate

Epicea and #name in #behaviorAffectedName

Torsten Bergmann

in latest Pharo 6 image 60494 I run into some trouble today where the
deprecation warning dialog popped up and repeated itself unstoppable
due to Epicea.

It is hard to reproduce but what I found out was that I had a class
modification (represented by EpClassModification) which run into a state
where "newClass" was nil and therefore in EpClassModification>>#behaviorAffectedName
the message #name was sent to nil.

So #name was found in Object and as we all know we deprecated it now
which lead to the deprecation dialog, leading to the deprecation dialog,
leading to the deprecation dialog, ...

Nearly all implementors of Epiceas #behaviorAffectedName send #name
which is ok if there is a valid object it is sent to.

I do not know if we should protect them somehow in case something
goes wrong (like having nil in newClass) or if we should keep this

At least I wanted to inform because I do not know if this later
gets others into trouble too and losing their changes because Epicea
does not record.