Repost. This was in BFAV approved status, but there are conflicts with recent updates.
Subject: [FIX] ReshapedBlocksInSeg-3pt6-di Author: ned@squeakland.org Date Posted: 19 July 2004 Archive ID: 23311 Comments:
This is a slightly edited change set from Dan Ingalls. I have looked it over, and have run the tests on it. I had to make a small edit for the InstVarRefLocatorTest to work right.
I have not had time to make proper tests for it, though.
"Change Set: ReshapedBlocksInCls-3pt6-di Date: 1 October 2003 Author: Dan Ingalls Edited Date: 18 July 2004 Edited By: Ned Konz
This changeSet allows projects to be loaded even if they contain active methodContexts and blocks in classes whose instance variable offsets have changed. Within reason, of course. The cases handled are addition of new instance variables, removal of instance variables that are not referred to, and juggling of the order of the variables. Cases that cannot be handled are treated pretty much as before, with a warning message citing the classes that have been reshaped to the point that their active blocks can not be set right in the receiving image. Ted K. modified one more method, to remove the warning when a project with a block is written. This version is for Squeak 3.6. A different version of this file works in Squeak 3.4 Ned Konz edited this to make the tests work.
squeak-dev@lists.squeakfoundation.org