From 5aa998954d83a2ac03c7e251e09a9b710d0301d3 Mon Sep 17 00:00:00 2001 From: "Brian T. Rice" Date: Tue, 6 Apr 2010 20:22:12 -0700 Subject: [PATCH] Implemented next:putAll:startingAt: for ExtensibleSequence WriteStream to fix some bugs in the new Stream API setup. --- src/core/stream-collections.slate | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/core/stream-collections.slate b/src/core/stream-collections.slate index ba30d3b..a7d8f9d 100644 --- a/src/core/stream-collections.slate +++ b/src/core/stream-collections.slate @@ -568,14 +568,21 @@ ExtensibleSequence traits define: #WriteStream &parents: {Sequence WriteStream}. "A Stream used to write to a new or existing ExtensibleSequence." -es@(ExtensibleSequence WriteStream traits) pastEndPut: obj +ws@(ExtensibleSequence WriteStream traits) pastEndPut: obj [| c | - c: es collection. + c: ws collection. c addLast: obj. - es writeLimit: c size. - es position: es position + 1. + ws writeLimit: c size. + ws position: ws position + 1. obj ]. +ws@(ExtensibleSequence WriteStream traits) next: n putAll: c startingAt: start +[ + ws collection at: ws position insertAll: (c copyFrom: start below: start + n). + ws position: ws position + n. + n +]. + ExtensibleSequence traits define: #ReadWriteStream &parents: {ExtensibleSequence WriteStream. ExtensibleSequence ReadStream}. -- 2.11.4.GIT