[Pkg] Installer: Installer-Scripts-damiencassou.19.mcz

squeak-dev-noreply at lists.squeakfoundation.org squeak-dev-noreply at lists.squeakfoundation.org
Thu Jul 30 12:31:22 UTC 2009


Damien Cassou uploaded a new version of Installer-Scripts to project Installer:
http://www.squeaksource.com/Installer/Installer-Scripts-damiencassou.19.mcz

==================== Summary ====================

Name: Installer-Scripts-damiencassou.19
Author: damiencassou
Time: 30 July 2009, 2:31:03 pm
UUID: a075ce7d-fd64-401f-94ba-653d8efdc1be
Ancestors: Installer-Scripts-kph.18

- You can't nil-ed out a block variable in a closure-based image.

=============== Diff against Installer-Scripts-kph.18 ===============

Item was changed:
  ----- Method: InstallerScripts>>scriptUnloadTraits (in category 'as yet unclassified') -----
  scriptUnloadTraits
  
  "Phase 1: Disable traits activity and stub out the instance variables that will be removed in Phase 2"
  
  SystemChangeNotifier uniqueInstance
  noMoreNotificationsFor: ProvidedSelectors current;
  noMoreNotificationsFor: RequiredSelectors current;
  noMoreNotificationsFor: LocalSends current.
  Installer installUrl: 'http://installer.pbwiki.org/f/UnloadTraits-StubOutAcessors.cs'.
  
  "Phase 2: Recompile the image with classes in the old format, ie, without the traitsComposition and localSends instance variables"
  
  [
  ClassDescription subclass: #Metaclass
  instanceVariableNames: 'thisClass'
  classVariableNames: ' '
  poolDictionaries: ' '
  category: 'Kernel-Classes'.
  ClassDescription subclass: #Class
  instanceVariableNames: 'subclasses name classPool sharedPools environment category'
  classVariableNames: ' '
  poolDictionaries: ' '
  category: 'Kernel-Classes'.
  ] on: Warning do: [:warning | warning resume].
  
  "Phase 3: Remove all traits and all references to the Traits classes from the image, including methods that refer to traits functionality"
  
+ "Kill all traits"
+ Smalltalk allTraits do: [:trait | trait removeFromSystem].
- "Kill all traits" "variables are nil-ed out to prevent obsolete refs later"
- Smalltalk allTraits do: [:trait | trait removeFromSystem. trait := nil].
  "Recompile all methods that were part of a trait"
+ SystemNavigation default allBehaviorsDo: [:class | class selectorsAndMethodsDo: [:sel :method | class ~~ method methodClass ifTrue: [class recompile: sel]]].
- SystemNavigation default allBehaviorsDo: [:class | class selectorsAndMethodsDo: [:sel :method | class ~~ method methodClass ifTrue: [class recompile: sel]. method := nil]. class := nil].
  "Remove references to traits from various places in the code"
  Installer installUrl: 'http://installer.pbwiki.org/f/UnloadTraits-ClearRefs.cs'.
  
  "Phase 4: Unload the Traits package and install the Traits compatability stubs for Monticello"
  
  Installer unload: 'Traits'.
  Installer installUrl: 'http://installer.pbwiki.org/f/TraitsStubs.cs'.
  
  
  !



More information about the Packages mailing list