[FIX] Re: Refactoring Associations ( [er][et][su][cd] Recommend including all three attached cs in 3.9a )

tomkoenig at mindspring.com tomkoenig at mindspring.com
Sun Dec 5 17:24:12 UTC 2004


Tested with 3.9a#6506 including execution of the sunit tests Andrew
provided in a separated email.
Reviewed all code for quality and conflicts.  The refactoring is not
crucial but it definitely makes these core classes cleaner. The work on
cleaning up the code, creating a usfule test suite for this important
set of classes and figuring out how to install the change definitely
merits inclusion in 3.9a. (There is no particular need to add it to
3.8b, although I did some of my orignal testing there.)
Background from preamble:
" tlk:Can you tell me something about the motivation for the original
Association Refactoring cs ? 
ab: Essentially, the problem was that several methods (like printOn: !)
were missing from some subclasses of Association, like
ReadOnlyVariableBinding.  Also, WeakKeyAssociations were a really ugly
hack.  The solution seemed to be to refactor the class hierarchy.  This
was not hard, but coming up with a changeset that would file in without
breaking the compiler half way through was a challenge!			
This changeset was produced by hand.  The order in which the various
classes are defined or redefined is critical."

AssociationRefact is the prereq for the other two cs's.  It is Andrew's
original cs with a change to the preamble to explain the motivation.
AssociationRefactTest is tests the first cs and is a prereq for the
final cs. Andrew sent me this cs, all I did was rename it, add a
preamble and add a class comment for the test class. (I know, anal).
AssociationRefactCleanUp is my work.  It includes class comments for the
association classes and a postscript to remove a now redundant test
class.   You could accept the first cs, or the first two cs and
everything would be okay.  But I think all three together make the
better package.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: AssociationRefact.cs.gz
Type: application/octet-stream
Size: 3113 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20041205/b9aa61bc/AssociationRefact.cs.obj
-------------- next part --------------
A non-text attachment was scrubbed...
Name: AssociationRefactTests.cs.gz
Type: application/octet-stream
Size: 1802 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20041205/b9aa61bc/AssociationRefactTests.cs.obj
-------------- next part --------------
A non-text attachment was scrubbed...
Name: AsssociationRefactCleanUp.cs.gz
Type: application/octet-stream
Size: 957 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20041205/b9aa61bc/AsssociationRefactCleanUp.cs.obj


More information about the Squeak-dev mailing list