[View]  [Edit]  [Lock]  [References]  [Attachments]  [History]  [Home]  [Changes]  [Search]  [Help] 

Streams issues


VSE Stream is a hierarchy as follows:

Stream
  ReadStream
  WriteStream
    ReadWriteStream
      FileStream
        MixedFileStream

S8 Stream hierarchy as follows:

Stream
  StringStream

All VSE Stream hierachy is maped to S8 Stream. S8 StringStream is a special case of S8 Stream where its content is a String. In S8 this is a exceptional case because javascript string is inmutable (more detailed info in String issues section), so S8 StringStream allows to work with read & write operations on an inmutable content.
In console execution enviroment you can see this kind of adaptations, for reading a file as follows:
! File class methodsFor: #reading !
pathName: aString
   "Answer a Stream with path name aString"
   | answer |
   answer := aString fileContents.
   answer notNil ifTrue:[^StringStream on: answer].
   ^answer! !

This method definition can be found in VSECompat-Stream.st
For a detailed compatibility chart you should see Stream