So, this was unexpected behaviour? Certainly the way that Bert describes appears to be what happened in my workspace-based tests.

On 7/3/08, Bert Freudenberg <bert@freudenbergs.de> wrote:
Am 03.07.2008 um 05:27 schrieb Randal L. Schwartz:

"Marcin" == Marcin Tustin <mm3@zepler.net> writes:

Marcin> I recently came across a piece of behaviour which is (sort of)
Marcin> understandable, but I wonder if it is how it is supposed to happen or
Marcin> not. I was running through the potsdam seaside tutorial, and I change
Marcin> the superclass of one of the objects from Object to WAComponent, and
Marcin> accepted the change. All the browser tools treated the class as if its
Marcin> protocol included the messages of WAComponent, but running code that
Marcin> sent WAComponent messages signaled MessageNotUnderstood.

Are you sure you weren't dealing with a previous instance of your old class?
I think this kind of a change forks the class def so that new instances have
the new superclass, but old instances still have the old class and old
superclass (anObsoleteYourClassnameHere).

I could be wrong, but tI think that's how it works.


Smalltalk does not work that way. If the class format changed, all existing instance are bulk-migrated to the new class (by creating new instances and doing a forward-become on all of them).

- Bert -


_______________________________________________
Beginners mailing list
Beginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners