methodList
Every class has a methodList
feature that is a list of all the
method names that are used outside the class. This is used by the
active object wrapper, and is safe since nothing but the active object
wrapper ever talks directly to the object anyways. Note that the
methodList
feature should not include upgrade, as this is
added in by the active object wrapper.
All objects are dynamically upgradeable a la A dynamically-extensible server1
[1] Note that this also makes them stationary, which may cause problems later (although I don't think so) and means that what's actually being passed around are procedures, not objects. For more information, see See The Active Object Wrapper.