- added EncodedStream>>reset and EncodedStream>>contents (SmallRuby compiler uses that) jv
authorJan Vrany <jan.vrany@fit.cvut.cz>
Thu, 25 Feb 2010 22:58:21 +0000
branchjv
changeset 17753 e565afc91253
parent 17752 a42cd3bd3953
child 17754 5322906cdb6a
- added EncodedStream>>reset and EncodedStream>>contents (SmallRuby compiler uses that) - fix ProgrammingLanguage class >>forStream: to work with EncodedStream
EncodedStream.st
ProgrammingLanguage.st
--- a/EncodedStream.st	Sun Feb 14 22:33:13 2010 +0000
+++ b/EncodedStream.st	Thu Feb 25 22:58:21 2010 +0000
@@ -114,6 +114,17 @@
     stream close
 !
 
+contents
+
+    ^String streamContents:
+        [:s|
+        [ stream atEnd ] whileFalse:
+            [s nextPut: stream next]
+        ]
+
+    "Created: / 25-02-2010 / 23:34:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 cr
     self nextPutAll:(Character cr asString)
 !
@@ -207,6 +218,12 @@
     stream position:newPosition
 !
 
+reset
+    stream reset
+
+    "Created: / 25-02-2010 / 23:37:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 setToEnd
     stream setToEnd
 !
@@ -241,13 +258,13 @@
 !EncodedStream class methodsFor:'documentation'!
 
 version
-    ^ '$Id: EncodedStream.st 10501 2010-02-13 23:34:44Z vranyj1 $'
+    ^ '$Id: EncodedStream.st 10503 2010-02-25 22:58:21Z vranyj1 $'
 !
 
 version_CVS
     ^ '§Header: /cvs/stx/stx/libbasic/EncodedStream.st,v 1.18 2010/02/04 16:11:51 stefan Exp §'
-! !
-
+!
 
-
-
+version_SVN
+    ^ '$Id: EncodedStream.st 10503 2010-02-25 22:58:21Z vranyj1 $'
+! !
--- a/ProgrammingLanguage.st	Sun Feb 14 22:33:13 2010 +0000
+++ b/ProgrammingLanguage.st	Thu Feb 25 22:58:21 2010 +0000
@@ -52,11 +52,18 @@
 forStream: aStream 
     "Answers a language for given source stream. If none is found,
      SmalltalkLanguage is returned (to provide backward compatibility)"
-    
-    aStream isFileStream ifFalse: [ ^ SmalltalkLanguage instance ].
+
+    "JV: yet another kludge, sigh"
+    (aStream isKindOf: EncodedStream) 
+        ifTrue: [ ^ self forStream: aStream stream ].
+
+    aStream isFileStream 
+        ifFalse: [ ^ SmalltalkLanguage instance ].
+
     ^ self forFile: aStream fileName
 
     "Created: / 16-08-2009 / 10:56:26 / Jan Vrany <vranyj1@fel.cvut.cz>"
+    "Modified: / 25-02-2010 / 23:26:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 named: aString 
@@ -354,7 +361,7 @@
 !ProgrammingLanguage class methodsFor:'documentation'!
 
 version
-    ^ '$Id: ProgrammingLanguage.st 10482 2009-12-04 20:30:11Z vranyj1 $'
+    ^ '$Id: ProgrammingLanguage.st 10503 2010-02-25 22:58:21Z vranyj1 $'
 !
 
 version_CVS
@@ -362,10 +369,7 @@
 !
 
 version_SVN
-    ^ '$Id: ProgrammingLanguage.st 10482 2009-12-04 20:30:11Z vranyj1 $'
+    ^ '$Id: ProgrammingLanguage.st 10503 2010-02-25 22:58:21Z vranyj1 $'
 ! !
 
 ProgrammingLanguage initialize!
-
-
-