David T. Lewis uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-dtl.255.mcz ==================== Summary ==================== Name: System-dtl.255 Author: dtl Time: 15 February 2010, 10:37:15.416 pm UUID: b70348f2-a094-4adc-80fa-696552b171f0 Ancestors: System-dtl.254 Update SystemDictionary>>discardMVC to perform complete MVC removal. MVC may be reinstalled by loading packages ST80 and ToolBuilder-MVC. =============== Diff against System-dtl.254 =============== Item was changed: ----- Method: SystemDictionary>>discardMVC (in category 'shrinking') ----- discardMVC + "After suitable checks, remove all of MVC from the system. Removal will destroy current + MVC projects. MVC may be reinstalled by loading packages ST80 and ToolBuilder-MVC." + - "After suitable checks, strip out much of MVC from the system" "Smalltalk discardMVC" + - | keepers | - self flag: #bob. "zapping projects" self isMorphic ifFalse: [^self inform: 'You must be in a Morphic project to discard MVC.']. "Check that there are no MVC Projects" (Project allProjects allSatisfy: [:proj | proj isMorphic]) ifFalse: [(self confirm: 'Would you like a chance to remove your MVC projects in an orderly manner?') ifTrue: [^ self]. (self confirm: 'If you wish, I can remove all MVC projects, make this project be the top project, and place all orphaned sub-projects of MVC parents here. Would you like be to do this and proceed to discard all MVC classes?') ifTrue: [self zapMVCprojects] ifFalse: [^ self]]. + (MCPackage named: 'ToolBuilder-MVC') unload. + (MCPackage named: 'ST80') unload. - self reclaimDependents. - "Remove old Paragraph classes and View classes." - self at: #Paragraph ifPresent: [:paraClass | - (ChangeSet superclassOrder: paraClass withAllSubclasses asArray) - reverseDo: [:c | c removeFromSystem]]. - self at: #View ifPresent: [:viewClass | - (ChangeSet superclassOrder: viewClass withAllSubclasses asArray) - reverseDo: [:c | c removeFromSystem]]. - "Get rid of ParagraphEditor's ScrollController dependence" - self at: #ParagraphEditor ifPresent: [:paragraphEditor | - #(#markerDelta #viewDelta #scrollAmount #scrollBar #computeMarkerRegion ) - do: [:sel | paragraphEditor removeSelector: sel]. - paragraphEditor compile: 'updateMarker'. - "Reshape to MouseMenuController" - Compiler evaluate: (paragraphEditor definition copyReplaceAll: 'ScrollController' with: 'MouseMenuController')]. - "Get rid of all Controller classes not needed by ParagraphEditor and ScreenController" - self at: #ScreenController ifPresent: [:screenController | - keepers := TextMorphEditor withAllSuperclasses copyWith: screenController]. - self at: #Controller ifPresent: [:controller | - (ChangeSet superclassOrder: controller withAllSubclasses asArray) - reverseDo: [:c | (keepers includes: c) - ifFalse: [c removeFromSystem]]]. - SystemOrganization removeCategoriesMatching: 'ST80-Paths'. - SystemOrganization removeCategoriesMatching: 'ST80-Symbols'. - SystemOrganization removeCategoriesMatching: 'ST80-Pluggable Views'. - self removeClassNamed: 'FormButtonCache'. - self removeClassNamed: 'WindowingTransformation'. - self removeClassNamed: 'ControlManager'. - self removeClassNamed: 'DisplayTextView'. ScheduledControllers := nil. + Smalltalk garbageCollect. Undeclared removeUnreferencedKeys. SystemOrganization removeEmptyCategories. Symbol rehash! |
Free forum by Nabble | Edit this page |