The Trunk: System-eem.712.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: System-eem.712.mcz

commits-2
Eliot Miranda uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-eem.712.mcz

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

Name: System-eem.712
Author: eem
Time: 27 March 2015, 5:04:05.02 pm
UUID: a8efc46a-90e7-449f-bfae-88a53ef28257
Ancestors: System-cmm.711

Fix allStoresInto: for pool variables.  Shared pools are
inherited and don't have to be declared in each subclass.

=============== Diff against System-cmm.711 ===============

Item was changed:
  ----- Method: SystemNavigation>>allStoresInto:from: (in category 'query') -----
  allStoresInto: varName from: aClass
  "Answer a sequence of MewthodReferences for all the receiver's methods
  or any methods of a subclass/superclass that assign to the instance variable name."
  "self new allStoresInto: 'contents' from: Collection."
+ | result roots |
- | result |
  result := OrderedCollection new.
  (aClass theNonMetaClass inheritsFrom: SharedPool) ifTrue:
+ [roots := self allClasses select: [:class| class sharedPools includes: aClass theNonMetaClass].
+  roots do:
+ [:root|
+ root withAllSubclassesDo:
+ [:class|
+ (class whichMethodsStoreInto: varName),
+ (class class whichMethodsStoreInto: varName) do:
- [self allBehaviorsDo:
- [:class|
- (class theNonMetaClass sharedPools includes: aClass theNonMetaClass) ifTrue:
- [(class whichMethodsStoreInto: varName) do:
  [:eachMethod|
+ result add: eachMethod methodReference]]]].
- result add: eachMethod methodReference]]]].
  aClass withAllSubAndSuperclassesDo:
  [ : class |
+ (class whichMethodsStoreInto: varName),
+ (class class whichMethodsStoreInto: varName) do:
- (class whichMethodsStoreInto: varName) do:
  [ : eachMethod |
  result add: eachMethod methodReference ] ].
  ^result!