[squeak-dev] The Trunk: Monticello-eem.749.mcz

commits at source.squeak.org commits at source.squeak.org
Tue Jun 8 20:16:02 UTC 2021

Eliot Miranda uploaded a new version of Monticello to project The Trunk:

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

Name: Monticello-eem.749
Author: eem
Time: 8 June 2021, 1:16:00.179893 pm
UUID: 03263724-e499-4eb9-888f-01683d304f18
Ancestors: Monticello-mt.748

Load time robustness when proceeding through syntax errors (which result in nil methods in MethodAddition).

=============== Diff against Monticello-mt.748 ===============

Item was changed:
  ----- Method: MethodAddition>>installMethod (in category 'compiling') -----
+ 	compiledMethod
+ 		ifNil: [Transcript cr; show: 'failed to install ', myClass name, '>>', selector]
+ 		ifNotNil: [myClass addSelectorSilently: selector withMethod: compiledMethod]!
- 	myClass addSelectorSilently: selector withMethod: compiledMethod.
- !

Item was changed:
  ----- Method: MethodAddition>>notifyObservers (in category 'compiling') -----
+ 	compiledMethod ifNil: [^self]. "this can occur if syntax errors on package load are proceeded through"
  	SystemChangeNotifier uniqueInstance 
  		doSilently: [myClass organization classify: selector under: category suppressIfDefault: false].
  	priorMethodOrNil isNil
  		ifTrue: [SystemChangeNotifier uniqueInstance methodAdded: compiledMethod selector: selector inProtocol: category class: myClass requestor: requestor]
  		ifFalse: [SystemChangeNotifier uniqueInstance methodChangedFrom: priorMethodOrNil to: compiledMethod selector: selector inClass: myClass requestor: requestor].
  	"The following code doesn't seem to do anything."
  	myClass instanceSide noteCompilationOf: selector meta: myClass isClassSide.

More information about the Squeak-dev mailing list