Begin forwarded message:
From: Philippe Marschall <philippe.marschall@gmail.com> Date: March 13, 2010 7:29:52 PM GMT+01:00 To: Stéphane Ducasse <stephane.ducasse@inria.fr> Subject: updated startup script
The following script opens two collections. The first is the one we should send #initialize to. The second ones are the problematic ones that don't implement #initialize, currently only InputEventSensor.
classes := ((SystemNavigation default allCallsOn: #'addToStartUpList:') collect: [ :e | e methodClass ]), ((SystemNavigation default allCallsOn: #'addToStartUpList:after:') collect: [ :e | e methodClass ]). startClassNames := classes collect: [ :n | n instanceSide name ]. (Smalltalk class classVarNamed: 'StartUpList') do: [ :s | startClassNames remove: s ifAbsent: [] ].
classes := ((SystemNavigation default allCallsOn: #'addToShutDownList:') collect: [ :e | e methodClass ]), ((SystemNavigation default allCallsOn: #'addToShutDownList:after:') collect: [ :e | e methodClass ]). stopClassNames := classes collect: [ :n | n instanceSide name ]. (Smalltalk class classVarNamed: 'ShutDownList') do: [ :s | stopClassNames remove: s ifAbsent: [] ].
(startClassNames, stopClassNames) asSet asSortedCollection inspect. ((startClassNames, stopClassNames) asSet asSortedCollection reject: [ :c | (Smalltalk globals classNamed: c) class includesSelector: #initialize ]) inspect