[Pkg] The Trunk: System-eem.712.mcz

commits at source.squeak.org commits at source.squeak.org
Sat Mar 28 00:04:42 UTC 2015


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!



More information about the Packages mailing list