Oops, fixes to class fileout to handle non-ASCII code correctly.
authorJan Vrany <jan.vrany@fit.cvut.cz>
Sat, 04 Oct 2014 13:27:04 +0200
changeset 16880 150ff012bd46
parent 16879 2b94ea863dda
child 16881 0971640d795b
Oops, fixes to class fileout to handle non-ASCII code correctly.
SmalltalkChunkFileSourceWriter.st
--- a/SmalltalkChunkFileSourceWriter.st	Sat Oct 04 00:26:35 2014 +0200
+++ b/SmalltalkChunkFileSourceWriter.st	Sat Oct 04 13:27:04 2014 +0200
@@ -112,6 +112,34 @@
 
 !SmalltalkChunkFileSourceWriter methodsFor:'source writing'!
 
+fileOut:aClass on:outStreamArg withTimeStamp:stampIt withInitialize:initIt withDefinition:withDefinition methodFilter:methodFilter
+    |encoder any16Bit|
+
+    any16Bit := aClass withAllPrivateClasses contains:[:cls |
+                 cls instAndClassMethods contains:[:m |
+                        (methodFilter isNil or:[ (methodFilter value:m) ])
+                        and:[ 
+                            |src|
+
+                            src := m source.
+                            src notNil and:[src isWideString]
+                        ]]].
+
+    any16Bit ifTrue:[
+        encoder := CharacterEncoder encoderForUTF8.
+    ].
+    ^ self
+        fileOut: aClass 
+        on:outStreamArg
+        withTimeStamp:stampIt
+        withInitialize:initIt
+        withDefinition:withDefinition
+        methodFilter:methodFilter
+        encoder:encoder
+
+    "Created: / 04-10-2014 / 12:11:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 fileOut:aClass on:outStreamArg withTimeStamp:stampIt withInitialize:initIt withDefinition:withDefinition methodFilter:methodFilter encoder:encoderOrNil
     "file out my definition and all methods onto aStream.
      If stampIt is true, a timeStamp comment is prepended.
@@ -650,11 +678,11 @@
 !SmalltalkChunkFileSourceWriter class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/SmalltalkChunkFileSourceWriter.st,v 1.25 2014-10-03 22:26:29 vrany Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/SmalltalkChunkFileSourceWriter.st,v 1.26 2014-10-04 11:27:04 vrany Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libbasic/SmalltalkChunkFileSourceWriter.st,v 1.25 2014-10-03 22:26:29 vrany Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/SmalltalkChunkFileSourceWriter.st,v 1.26 2014-10-04 11:27:04 vrany Exp $'
 !
 
 version_SVN