Squeak
  links to this page:    
View this PageEdit this PageUploads to this PageHistory of this PageTop of the SwikiRecent ChangesSearch the SwikiHelp Guide
Morphic Cleanup Project (MCP) - Workspace
Last updated at 1:10 am UTC on 17 January 2006

Back to: Morphic Cleanup Project (MCP)


This a a temporary workspace for MCP related work. Read it at your our risk ;)





Analisis of changes made by removals for 3.6a


Scripts we used to resolve the conflict between removals and our work

"removed classes"
ChangeSorter allChangeSets
inject: Set new
into:[:removedClasses :cs |
removedClasses addAll: cs classRemoves.
removedClasses].

"removed methods"
ChangeSorter allChangeSets
inject: Set new
into:[:removedMethods :cs |
cs methodChanges keysAndValuesDo:[:className :change |
change keysAndValuesDo:[:methodName :operation |
operation == #remove ifTrue:[
removedMethods add: className -> methodName
].
].
].

removedMethods].

"added methods"
ChangeSorter allChangeSets
inject: Set new
into:[:addedMethods :cs |
cs methodChanges keysAndValuesDo:[:className :change |
change keysAndValuesDo:[:methodName :operation |
operation == #add ifTrue:[
addedMethods add: className -> methodName
].
].
].

addedMethods].

"changed methods"
ChangeSorter allChangeSets
inject: Set new
into:[:changedMethods :cs |
cs methodChanges keysAndValuesDo:[:className :change |
change keysAndValuesDo:[:methodName :operation |
operation == #change ifTrue:[
changedMethods add: className -> methodName
].
].
].

changedMethods].




"move classes"
removedClassesInMCP := removedClasses select:[:e | mcpCompleteCS methodChanges includesKey: e ].

removedClassesInMCP do:[:e |
mcpChangesForRemovalsCS absorbClass: e from: mcpCompleteCS
]

removedClassesInMCP do:[:e |
mcpCompleteCS removeClassChanges: e.
]


"move metaclases"
removedMetaClassesInMCP := (removedClasses collect:[:each | each asString, ' class']) reject:[:e | (mcpCompleteCS classChangeAt: e) isEmpty]

removedMetaClassesInMCP do:[:e |
mcpChangesForRemovalsCS absorbClass: e from: mcpCompleteCS
]

removedMetaClassesInMCP do:[:e |
mcpCompleteCS removeClassChanges: e.
]