[squeak-dev] The Trunk: Collections-cmm.531.mcz
Nicolas Cellier
nicolas.cellier.aka.nice at gmail.com
Fri Sep 6 19:40:12 UTC 2013
ASCII between 0 and 127 rather than 128 ?
2013/9/6 <commits at source.squeak.org>
> Chris Muller uploaded a new version of Collections to project The Trunk:
> http://source.squeak.org/trunk/Collections-cmm.531.mcz
>
> ==================== Summary ====================
>
> Name: Collections-cmm.531
> Author: cmm
> Time: 6 September 2013, 2:26:33.695 pm
> UUID: da0031c2-e1d3-4f49-a425-9808728e3f1a
> Ancestors: Collections-ul.530
>
> - Remove redundant isVariableBinding override.
> - Characters can now be tested for isAscii.
> - Dictionary's and Set's made proxy-friendly.
> - Remove redundant isLiteral override.
> - Allow #asMutator to work for getter or setter selectors.
>
> =============== Diff against Collections-ul.530 ===============
>
> Item was removed:
> - ----- Method: Association>>isVariableBinding (in category 'testing')
> -----
> - isVariableBinding
> - "Return true if I represent a literal variable binding"
> - ^true!
>
> Item was added:
> + ----- Method: Character>>isAscii (in category 'testing') -----
> + isAscii
> + ^ value between: 0 and: 128!
>
> Item was changed:
> ----- Method: Dictionary>>keysSortedSafely (in category 'accessing')
> -----
> keysSortedSafely
> "Answer a sorted Array containing the receiver's keys."
> + ^ self keys sort:
> + [ : x : y | x compareSafely: y ]!
> -
> - ^self keys sort: [ :x :y |
> - "Should really be use <obj, string, num> compareSafely..."
> - ((x isString and: [ y isString ])
> - or: [ x isNumber and: [ y isNumber ] ])
> - ifTrue: [ x < y ]
> - ifFalse: [ x class == y class
> - ifTrue: [ x printString < y printString ]
> - ifFalse: [ x class name < y class name ] ]
> ].
> - !
>
> Item was changed:
> ----- Method: Dictionary>>scanFor: (in category 'private') -----
> scanFor: anObject
> "Scan the key array for the first slot containing either a nil
> (indicating an empty slot) or an element that matches anObject. Answer the
> index of that slot or raise an error if no slot is found. This method will
> be overridden in various subclasses that have different interpretations for
> matching elements."
>
> | index start |
> index := start := anObject hash \\ array size + 1.
> [
> | element |
> + ((element := array at: index) == nil or: [ anObject =
> element key ])
> - ((element := array at: index) == nil or: [ element key =
> anObject ])
> ifTrue: [ ^index ].
> (index := index \\ array size + 1) = start ] whileFalse.
> self errorNoFreeSpace!
>
> Item was added:
> + ----- Method: Number>>compareSafely: (in category '*collections') -----
> + compareSafely: aNumber
> + "Override method to compare the receiver with aNumber to determine
> its position in a human-readable list without unnecessarily agitating
> proxies."
> + ^ self < aNumber!
>
> Item was added:
> + ----- Method: Object>>compareSafely: (in category '*collections') -----
> + compareSafely: anObject
> + "Compare the receiver to anObject to determine its position in a
> human-readable list without unnecessarily agitating proxies."
> + ^ self class = anObject class
> + ifTrue: [ self printString < anObject printString ]
> + ifFalse: [ self class name < anObject class name ]!
>
> Item was changed:
> ----- Method: Set>>scanFor: (in category 'private') -----
> scanFor: anObject
> "Scan the key array for the first slot containing either a nil
> (indicating an empty slot) or an element that matches anObject. Answer the
> index of that slot or raise an error if no slot is found. This method will
> be overridden in various subclasses that have different interpretations for
> matching elements."
>
> | index start |
> index := start := anObject hash \\ array size + 1.
> [
> | element |
> + ((element := array at: index) == nil or: [ anObject =
> element enclosedSetElement ])
> - ((element := array at: index) == nil or: [ element
> enclosedSetElement = anObject ])
> ifTrue: [ ^index ].
> (index := index \\ array size + 1) = start ] whileFalse.
> self errorNoFreeSpace!
>
> Item was added:
> + ----- Method: String>>asAscii (in category 'converting') -----
> + asAscii
> + ^ self select: [ : each | each isAscii ]!
>
> Item was added:
> + ----- Method: String>>compareSafely: (in category '*collections') -----
> + compareSafely: aString
> + "Compare the receiver to aString in a way that will not agitate
> proxies."
> + ^ self < aString!
>
> Item was changed:
> + ----- Method: String>>isLiteral (in category 'testing') -----
> - ----- Method: String>>isLiteral (in category 'printing') -----
> isLiteral
> + "Answer whether the receiver is a valid Smalltalk literal."
>
> + ^ true!
> - ^true!
>
> Item was changed:
> ----- Method: Symbol>>asMutator (in category 'converting') -----
> asMutator
> + "Return a setter message from a getter message. For example, #name
> asMutator returns #name:"
> + ^ self last = $:
> + ifTrue: [ self ]
> + ifFalse: [ (self copyWith: $:) asSymbol ]!
> - "Return a setter message from a getter message. For example,
> - #name asMutator returns #name:"
> - ^ (self copyWith: $:) asSymbol!
>
> Item was removed:
> - ----- Method: Symbol>>isLiteral (in category 'testing') -----
> - isLiteral
> - "Answer whether the receiver is a valid Smalltalk literal."
> -
> - ^ true!
>
> Item was added:
> + ----- Method: Symbol>>veryDeepCopy (in category 'copying') -----
> + veryDeepCopy
> + "Overridden for performance."
> + ^ self!
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20130906/10451493/attachment.htm
More information about the Squeak-dev
mailing list
|