[squeak-dev] The Trunk: Collections-ar.123.mcz

Nicolas Cellier nicolas.cellier.aka.nice at gmail.com
Tue Sep 1 09:37:03 UTC 2009


2009/9/1  <commits at source.squeak.org>:
> Andreas Raab uploaded a new version of Collections to project The Trunk:
> http://source.squeak.org/trunk/Collections-ar.123.mcz
>
> ==================== Summary ====================
>
> Name: Collections-ar.123
> Author: ar
> Time: 1 September 2009, 12:38:06 pm
> UUID: e7432274-e18a-1e43-a002-f3ab261bd465
> Ancestors: Collections-tfel.122
>
> Some fixes for RWBinaryOrTextStream which was too agressive optimizing some paths. Also fixes Character>>codePoint: which has no reason to raise an exception for values > 256.
>

Don't know about the reason for such a limitation by just reading the diff...
However, there was some insurance that a Character of value < 256
would be unique.
Doesn't this matter?

Nicolas

> =============== Diff against Collections-tfel.122 ===============
>
> Item was added:
> + ----- Method: RWBinaryOrTextStream>>upTo: (in category 'accessing') -----
> + upTo: anObject
> +       "Answer a subcollection from the current access position to the
> +       occurrence (if any, but not inclusive) of anObject in the receiver. If
> +       anObject is not in the collection, answer the entire rest of the receiver."
> +       | newStream element species |
> +       species := isBinary ifTrue:[ByteArray] ifFalse:[String].
> +       newStream := WriteStream on: (species new: 100).
> +       [self atEnd or: [(element := self next) = anObject]]
> +               whileFalse: [newStream nextPut: element].
> +       ^newStream contents!
>
> Item was changed:
>  ----- Method: RWBinaryOrTextStream>>next:putAll:startingAt: (in category 'writing') -----
>  next: anInteger putAll: aCollection startingAt: startIndex
> +       "Optimized for ByteArrays"
> +       aCollection class == ByteArray
> +               ifTrue:[^super next: anInteger putAll: aCollection asString startingAt: startIndex].
> +       ^super next: anInteger putAll: aCollection startingAt: startIndex!
> -       ^super next: anInteger putAll: aCollection asString startingAt: startIndex!
>
> Item was changed:
>  ----- Method: RWBinaryOrTextStream>>nextPutAll: (in category 'writing') -----
>  nextPutAll: aCollection
> +       "Optimized for ByteArrays"
> +       aCollection class == ByteArray
> +               ifTrue:[^super nextPutAll: aCollection asString].
> +       ^super nextPutAll: aCollection!
> -       ^super nextPutAll: aCollection asString!
>
> Item was changed:
>  ----- Method: Character class>>codePoint: (in category 'instance creation') -----
>  codePoint: integer
> +       "Return a character whose encoding value is integer.
> +       For ansi compability."
> +       ^self value: integer!
> -       "Return a character whose encoding value is integer."
> -       #Fundmntl.
> -       (0 > integer or: [255 < integer])
> -               ifTrue: [self error: 'parameter out of range 0..255'].
> -       ^ CharacterTable at: integer + 1!
>
>
>



More information about the Squeak-dev mailing list