Hotspots: Admin Pages | Turn-in Site |
Current Links: Cases Final Project Summer 2007
Fall2002 Midterm Review: Explaining the Booms
1. Smalltalk is a special dictionary containing the symbols for all globals. When set to nil, important items like Display can't be found. The VM may still be running, but it will appear it has frozen, since no graphical I/O the user can see will work.
2. The entire smalltalk system, running in its own code and problably relying on Smallinteger operations, should begin exhibiting strange behavior.
3. When Box new is called, the overloaded method new will reference its super class. super new becomes nil new, and nil does not understand new, so a "Message Not Understood" box should appear.
For part two, I believe it will work correctly, providing the changes are indeed correct.
For three, I've heard that setting the superclass to nil would result in a VM crash, but I can't pinpoint why exactly. It seems that since the instantiation of a Box would attempt to run the class methods in Object, than setting an instance of Object wouldn't matter... but maybe I'm a bit off here...
1. Smalltalk goes boom
2. Smalltalk goes boom
3. Smalltalk goes boom
Link to this Page