The Trunk: Kernel-bf.680.mcz

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

The Trunk: Kernel-bf.680.mcz

commits-2
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!