The Trunk: Collections-ar.327.mcz

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

The Trunk: Collections-ar.327.mcz

commits-2
Andreas Raab uploaded a new version of Collections to project The Trunk:
http://source.squeak.org/trunk/Collections-ar.327.mcz

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

Name: Collections-ar.327
Author: ar
Time: 5 March 2010, 8:49:17.398 pm
UUID: cf3e56b1-2389-e54e-bf97-d2ea5eba849a
Ancestors: Collections-ar.326

Avoid dictionary protocol in Smalltalk.

=============== Diff against Collections-ar.326 ===============

Item was changed:
  ----- Method: LookupKey>>beBindingOfType:announcing: (in category 'bindings') -----
  beBindingOfType: aClass announcing: aBool
  "Make the receiver a global binding of the given type"
  | old new |
+ (Smalltalk globals associationAt: self key) == self
- (Smalltalk associationAt: self key) == self
  ifFalse:[^self error:'Not a global variable binding'].
  self class == aClass ifTrue:[^self].
  old := self.
  new := aClass key: self key value: self value.
  old become: new.
  "NOTE: Now self == read-only (e.g., the new binding)"
  ^self recompileBindingsAnnouncing: aBool!

Item was changed:
  ----- Method: Association>>objectForDataStream: (in category 'objects from disk') -----
  objectForDataStream: refStrm
  | dp |
  "I am about to be written on an object file.  If I am a known global, write a proxy that will hook up with the same resource in the destination system."
 
+ ^ (Smalltalk globals associationAt: key ifAbsent: [nil]) == self
- ^ (Smalltalk associationAt: key ifAbsent: [nil]) == self
  ifTrue: [dp := DiskProxy global: #Smalltalk selector: #associationOrUndeclaredAt:
  args: (Array with: key).
  refStrm replace: self with: dp.
  dp]
  ifFalse: [self]!