The Trunk: Collections-nice.503.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-nice.503.mcz

commits-2
Nicolas Cellier uploaded a new version of Collections to project The Trunk:
http://source.squeak.org/trunk/Collections-nice.503.mcz

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

Name: Collections-nice.503
Author: nice
Time: 3 March 2013, 2:36:21.966 pm
UUID: 180c7283-9170-4fd8-9893-16122ba48f56
Ancestors: Collections-bf.502

Get rid from two un-necessary usages of ReadStream on:from:to:

=============== Diff against Collections-bf.502 ===============

Item was changed:
  ----- Method: PositionableStream>>decodeString:andRuns: (in category 'fileIn/Out') -----
  decodeString: string andRuns: runsRaw
 
  | strm runLength runValues newString index |
+ strm := runsRaw readStream.
- strm := ReadStream on: runsRaw from: 1 to: runsRaw size.
  (strm peekFor: $( ) ifFalse: [^ nil].
  runLength := OrderedCollection new.
  [strm skipSeparators.
  strm peekFor: $)] whileFalse:
  [runLength add: (Number readFrom: strm)].
 
  runValues := OrderedCollection new.
  [strm atEnd not] whileTrue:
  [runValues add: (Number readFrom: strm).
  strm next.].
 
  newString := WideString new: string size.
  index := 1.
  runLength with: runValues do: [:length :leadingChar |
  index to: index + length - 1 do: [:pos |
  newString at: pos put: (Character leadingChar: leadingChar code: (string at: pos) charCode).
  ].
  index := index + length.
  ].
 
  ^ newString.
  !

Item was changed:
  ----- Method: PositionableStream>>nextChunkText (in category 'fileIn/Out') -----
  nextChunkText
  "Deliver the next chunk as a Text.  Decode the following ]style[ chunk if present.  Position at start of next real chunk."
+ | string runs peek pos |
- | string runsRaw strm runs peek pos |
  "Read the plain text"
  string := self nextChunk.
 
  "Test for ]style[ tag"
  pos := self position.
  peek := self skipSeparatorsAndPeekNext.
  peek = $] ifFalse: [self position: pos. ^ string asText].  "no tag"
  (self upTo: $[) = ']style' ifFalse: [self position: pos. ^ string asText].  "different tag"
 
  "Read and decode the style chunk"
+ runs := RunArray scanFrom: self basicNextChunk readStream.
- runsRaw := self basicNextChunk. "style encoding"
- strm := ReadStream on: runsRaw from: 1 to: runsRaw size.
- runs := RunArray scanFrom: strm.
 
  ^ Text basicNew setString: string setRunsChecking: runs.
  !