[squeak-dev] The Inbox: Kernel-fbs.696.mcz

commits at source.squeak.org commits at source.squeak.org
Thu Jun 7 20:50:04 UTC 2012


A new version of Kernel was added to project The Inbox:
http://source.squeak.org/inbox/Kernel-fbs.696.mcz

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

Name: Kernel-fbs.696
Author: fbs
Time: 7 June 2012, 9:49:29.536 pm
UUID: 8ef79df8-3ee6-4c98-947e-7603307aa0c4
Ancestors: Kernel-nice.693

* Use the canonical Array empty rather than #();
* the instvar's initialised to an Array anyway so #ifNotNil: is a no-op.
* #evaluateResolver: reimplemented #cull:; rather use BlockClosure's version - less duplication.

=============== Diff against Kernel-nice.693 ===============

Item was changed:
  ----- Method: Promise>>evaluateResolver: (in category 'private') -----
  evaluateResolver: resolverBlock
+ 	resolverBlock cull: value.!
- 	resolverBlock numArgs = 0 
- 		ifTrue: [resolverBlock value]
- 		ifFalse: [resolverBlock value: value].
- 	!

Item was changed:
  ----- Method: Promise>>initialize (in category 'initialize') -----
  initialize
  	isResolved := false.
+ 	resolvers := Array empty.
- 	resolvers := #().
  	mutex := Mutex new.!

Item was changed:
  ----- Method: Promise>>resolveWith: (in category 'resolving') -----
  resolveWith: arg
  	"Resolve this promise"
  	mutex critical: [
  		isResolved ifTrue: [self error: 'Promise was already resolved'].
  		value := arg.
  		isResolved := true.
+ 		resolvers do: [:r | self evaluateResolver: r].
- 		resolvers ifNotNil: [resolvers do: [:r | self evaluateResolver: r]].
  	].!



More information about the Squeak-dev mailing list