Tools-Changes Comment



My instances keep track of the changes made to a system, so the user can write the changes on a file as source code (a "fileOut").  The order in which changes are made is not remembered.
classChanges -  Dictionary {class name -> Set {eg, #change, #rename, etc}}.

methodChanges -  Dictionary {class name -> IdentityDictionary {selector -> {eg, #change, #remove, etc}}.

classRemoves -  Set {class name (original)}.

methodRemoves -  Dictionary {(Array with: class name with: selector) -> (Array with: source pointer with: category)}.

name - a String used to name the changeSet, and thus any associated project or fileOut.

preamble and postscript:  two strings that serve as prefix (useful for documentation) and suffix (useful for doits) to the fileout of the changeSet.

structures -    Dictionary {#Rectangle -> #(<classVersionInteger> 'origin' 'corner')}.  Of  the names of the instances variables before any changes for all classes in classChanges, and all of their superclasses.  In the same format used in SmartRefStream.  Inst var names are strings.  

superclasses -    Dictionary {#Rectangle -> #Object}.  Of all classes in classChanges, and all of their superclasses.

	Structures and superclasses save the instance variable names of this class and all of its superclasses.  Later we can tell how it changed and write a conversion method.  The conversion method is used when old format objects are brought in from the disk from ImageSegment files (.extSeg) or SmartRefStream files (.obj .morph .bo .sp).







- made by Dandelion -