class: VSEChunkFileSourceWriter
authorClaus Gittinger <cg@exept.de>
Wed, 28 Jan 2015 19:08:20 +0100
changeset 3729 9ae2b648ebc8
parent 3728 1eca75538a43
child 3730 d3151b9f69a0
class: VSEChunkFileSourceWriter added: #fileOutClassCommentOf:on: #fileOutDefinitionOf:on:withNameSpace: changed: #fileOutDefinitionOf:on: #fileOutPackage:on:
VSEChunkFileSourceWriter.st
--- a/VSEChunkFileSourceWriter.st	Wed Jan 28 18:01:24 2015 +0100
+++ b/VSEChunkFileSourceWriter.st	Wed Jan 28 19:08:20 2015 +0100
@@ -155,6 +155,24 @@
     aStream cr
 !
 
+fileOutClassCommentOf:aNonMetaClass on:aStream
+    "append an expression on aStream, which defines my comment"
+
+    |comment s|
+
+    aStream nextPutAll:(self rewrittenClassNameOf:aNonMetaClass).
+    aStream nextPutAll:' comment:'.
+    (comment := aNonMetaClass comment) isNil ifTrue:[
+        s := ''''''
+    ] ifFalse:[
+        s := comment storeString
+    ].
+    aStream nextPutAllAsChunk:s.
+    aStream nextPutChunkSeparator.
+    aStream cr.
+    aStream cr.
+!
+
 fileOutClassInstVarDefinitionOf:aNonMetaClass on:aStream
     (self rewrittenClassNameOf:aNonMetaClass) printOn:aStream.
     aStream nextPutAll:' class instanceVariableNames:'''.
@@ -168,10 +186,10 @@
 fileOutDefinitionOf:aClass on:aStream
     "append an expression on aStream, which defines myself."
 
-    |s owner ns superclass|
+    |s owner superclass|
 
     owner := aClass owningClass.
-    ns := aClass topNameSpace.
+    owner notNil ifTrue:[ self error:' cannot fileout private classes (yet)' ].
 
     "take care of nil-superclass"
     superclass := aClass superclass.
@@ -206,6 +224,12 @@
     aStream cr.
 !
 
+fileOutDefinitionOf:aNonMetaClass on:aStream withNameSpace: withNameSpacePragma
+    "append an expression on aStream, which defines myself."
+
+    self fileOutDefinitionOf:aNonMetaClass on:aStream
+!
+
 generateCallToInitializerFor:aClass on:aStream
     rememberedInitializers isNil ifTrue:[
         rememberedInitializers := OrderedCollection new.
@@ -234,9 +258,17 @@
         source := self class vseSourceRewriter rewriteMethod:method.
         rewriteQuery proceedWith:source.
     ] do:[
+        |first|
+
+        first := true.
+
         classesToFileout do:[:eachClass |
-            self fileOut:eachClass on:aStream.
-"/            eachClass fileOutOn:aStream.
+            self 
+                fileOut:eachClass on:aStream 
+                withTimeStamp:first withInitialize:true 
+                withDefinition:true 
+                methodFilter:nil encoder:nil.
+            first := false.
         ].
 
         "/ fileout extensions
@@ -274,10 +306,10 @@
 !VSEChunkFileSourceWriter class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic3/VSEChunkFileSourceWriter.st,v 1.5 2015-01-28 17:01:24 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic3/VSEChunkFileSourceWriter.st,v 1.6 2015-01-28 18:08:20 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libbasic3/VSEChunkFileSourceWriter.st,v 1.5 2015-01-28 17:01:24 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic3/VSEChunkFileSourceWriter.st,v 1.6 2015-01-28 18:08:20 cg Exp $'
 ! !