[Pkg] The Trunk: System-topa.763.mcz

commits at source.squeak.org commits at source.squeak.org
Thu Aug 27 21:40:13 UTC 2015

Tobias Pape uploaded a new version of System to project The Trunk:

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

Name: System-topa.763
Author: topa
Time: 27 August 2015, 11:39:32.305 pm
UUID: 8731d6a1-ac9a-4cb9-90cf-92400d1289d2
Ancestors: System-mt.762

since any system event fires #prefEvent:, any addition of a class side method with some pragma will fire #addPragmaPreference. So instead of bailing, just do nothing when the method is in fact no pref.

=============== Diff against System-mt.762 ===============

Item was changed:
  ----- Method: Preferences class>>addPragmaPreference: (in category 'add/remove') -----
  addPragmaPreference: pragma
  	"Note that there will be no accessor method generated because the pragma's method does already govern that."
  	| preference |
- 	self assert: pragma methodClass isMeta.
  	((pragma keyword beginsWith: #preference:) and: [self respondsTo: pragma keyword])
+ 		ifFalse: [
+ 			"no pragma pref to be defined. do nothing"
+ 			^ self].
+ 	self assert: pragma methodClass isMeta.
- 		ifFalse: [Error signal: 'Cannot create pragma preference object.'. ^ self].
  	preference := self
  		perform: pragma keyword
  		withArguments: pragma arguments.
  		provider: pragma methodClass theNonMetaClass
  		getter: pragma method selector 
  		setter: pragma method selector asMutator.
  	self atomicUpdatePreferences: [ :copyOfDictionaryOfPreferences |
  			at: preference id
  			put: preference].
  	^ preference!

More information about the Packages mailing list