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 -