[squeak-dev] The Trunk: Kernel-bf.680.mcz

commits at source.squeak.org commits at source.squeak.org
Fri Apr 20 01:24:33 UTC 2012


Bert Freudenberg uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-bf.680.mcz

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

Name: Kernel-bf.680
Author: bf
Time: 19 April 2012, 6:23:49.174 pm
UUID: b7735cff-3ec1-47d5-9c49-6f054f21f317
Ancestors: Kernel-eem.679

When manually recategorizing a method, make an entry in the changes file. Otherwise the methpd's latest change record in the changes file will not match what's in the image, confusing Monticello.

=============== Diff against Kernel-eem.679 ===============

Item was added:
+ ----- Method: ClassOrganizer>>classify:under:logged: (in category 'accessing') -----
+ classify: element under: heading logged: aBoolean
+ 	self classify: element under: heading suppressIfDefault: true logged: aBoolean
+ !

Item was added:
+ ----- Method: ClassOrganizer>>classify:under:suppressIfDefault:logged: (in category 'accessing') -----
+ classify: element under: heading suppressIfDefault: aBoolean logged: logged 
+ 	| oldCat newCat |
+ 	oldCat := self categoryOfElement: element.
+ 	SystemChangeNotifier uniqueInstance doSilently: [
+ 		super classify: element under: heading suppressIfDefault: aBoolean].
+ 	newCat := self categoryOfElement: element.
+ 	self notifyOfChangedSelector: element from: oldCat to: newCat.
+ 	logged ifTrue: [self logChangedSelector: element category: newCat].
+ !

Item was added:
+ ----- Method: ClassOrganizer>>logChangedSelector:category: (in category 'private') -----
+ logChangedSelector: element category: newCategory
+ 	"make an entry in the changes to record the changed category"
+ 	| method |	
+ 	"if we do not have a changes file, the code below would try to make a new method"
+ 	(subject == nil or: [SourceFiles == nil or: [(SourceFiles at: 2) == nil]]) ifTrue: [^self].
+ 	method := subject compiledMethodAt: element ifAbsent: [^self].
+ 	subject logMethodSource: (method getSourceFor: element in: subject)
+ 		forMethodWithNode: (CompiledMethodWithNode method: method node: method) 
+ 		inCategory: newCategory withStamp: method timeStamp notifying: nil.
+ !

Item was added:
+ ----- Method: ClassOrganizer>>logSelectorsInChangedCategory: (in category 'private') -----
+ logSelectorsInChangedCategory: newCategory
+ 	"make an entry in the changes file for each method in the changed category"
+ 	(self listAtCategoryNamed: newCategory) do: [:element |
+ 		self logChangedSelector: element category: newCategory].
+ !

Item was changed:
  ----- Method: ClassOrganizer>>renameCategory:toBe: (in category 'accessing') -----
  renameCategory: oldCatString toBe: newCatString
  	SystemChangeNotifier uniqueInstance
  		doSilently: [super renameCategory: oldCatString toBe: newCatString];
+ 		protocolRenamedFrom: oldCatString asSymbol to: newCatString asSymbol inClass: self subject.
+ 	self logSelectorsInChangedCategory: newCatString.
+ !
- 		protocolRenamedFrom: oldCatString asSymbol to: newCatString asSymbol inClass: self subject!



More information about the Squeak-dev mailing list