--- a/SmalltalkChunkFileSourceWriter.st Mon Dec 17 11:49:26 2012 +0100
+++ b/SmalltalkChunkFileSourceWriter.st Mon Dec 17 13:48:08 2012 +0100
@@ -40,6 +40,24 @@
"
! !
+!SmalltalkChunkFileSourceWriter class methodsFor:'simple API'!
+
+fileOut:aClass on:aStream
+ self fileOut:aClass on:aStream withTimeStamp:true
+ withInitialize:true withDefinition:true
+ methodFilter:nil encoder:nil
+!
+
+fileOut:aClass on:aStream withTimeStamp:withTimeStamp
+ withInitialize:initIt withDefinition:withDefinition
+ methodFilter:methodFilter encoder:encoderOrNil
+
+ self new
+ fileOut:aClass on:aStream withTimeStamp:withTimeStamp
+ withInitialize:initIt withDefinition:withDefinition
+ methodFilter:methodFilter encoder:encoderOrNil
+! !
+
!SmalltalkChunkFileSourceWriter class methodsFor:'utilities - source code'!
methodTemplate
@@ -137,9 +155,7 @@
"/
"/ first, a timestamp
"/
- outStream nextPutAll:(Smalltalk timeStamp).
- outStream nextPutChunkSeparator.
- outStream cr; cr.
+ self generateTimestampOn:outStream.
].
withDefinition ifTrue:[
@@ -152,7 +168,6 @@
"/
(comment := nonMeta comment) notNil ifTrue:[
nonMeta fileOutCommentOn:outStream.
- outStream cr.
].
"/
"/ ST/X primitive definitions - if any
@@ -189,7 +204,6 @@
"/ ].
self fileOutCategory:'documentation' of:meta except:versionMethods only:nil methodFilter:methodFilter on:outStream.
- outStream cr.
].
"/
@@ -197,7 +211,6 @@
"/
(collectionOfCategories includes:'initialization') ifTrue:[
self fileOutCategory:'initialization' of:meta methodFilter:methodFilter on:outStream.
- outStream cr.
].
"/
@@ -205,14 +218,12 @@
"/
(collectionOfCategories includes:'instance creation') ifTrue:[
self fileOutCategory:'instance creation' of:meta methodFilter:methodFilter on:outStream.
- outStream cr.
].
collectionOfCategories do:[:aCategory |
((aCategory ~= 'documentation')
and:[(aCategory ~= 'initialization')
and:[aCategory ~= 'instance creation']]) ifTrue:[
self fileOutCategory:aCategory of:meta methodFilter:methodFilter on:outStream.
- outStream cr
]
]
].
@@ -234,7 +245,6 @@
collectionOfCategories notNil ifTrue:[
collectionOfCategories do:[:aCategory |
self fileOutCategory:aCategory of:nonMeta methodFilter:methodFilter on:outStream.
- outStream cr
]
].
@@ -286,7 +296,7 @@
fileOutAllDefinitionsOf:aNonMetaClass on:aStream
"append expressions on aStream, which defines myself and all of my private classes."
- aNonMetaClass fileOutDefinitionOn:aStream.
+ self fileOutDefinitionOf:aNonMetaClass on:aStream.
aStream nextPutChunkSeparator.
aStream cr; cr.
@@ -322,14 +332,12 @@
collectionOfCategories notNil ifTrue:[
collectionOfCategories do:[:aCategory |
self fileOutCategory:aCategory of:aClass class methodFilter:methodFilter on:aStream.
- aStream cr
]
].
collectionOfCategories := aClass categories asSortedCollection.
collectionOfCategories notNil ifTrue:[
collectionOfCategories do:[:aCategory |
self fileOutCategory:aCategory of:aClass methodFilter:methodFilter on:aStream.
- aStream cr
]
].
@@ -417,7 +425,8 @@
aStream space.
aStream nextPutChunkSeparator.
aStream cr
- ]
+ ].
+ aStream cr
"Modified: 28.8.1995 / 14:30:41 / claus"
"Modified: 12.6.1996 / 11:37:33 / stefan"
@@ -453,6 +462,10 @@
"/ intentionally left blank - make each line an EOL-comment instead
!
+fileOutDefinitionOf:aNonMetaClass on:aStream
+ aNonMetaClass fileOutDefinitionOn:aStream.
+!
+
fileOutMethod:aMethod on:aStream
"file a single method onto aStream."
@@ -547,14 +560,21 @@
].
].
].
+!
+
+generateTimestampOn:outStream
+ outStream nextPutAll:(Smalltalk timeStamp).
+ outStream nextPutChunkSeparator.
+ outStream cr; cr.
! !
!SmalltalkChunkFileSourceWriter class methodsFor:'documentation'!
version_CVS
- ^ '$Header: /cvs/stx/stx/libbasic/SmalltalkChunkFileSourceWriter.st,v 1.18 2012-10-20 19:25:49 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/SmalltalkChunkFileSourceWriter.st,v 1.19 2012-12-17 12:48:08 cg Exp $'
!
version_SVN
^ '§ Id: SmalltalkChunkFileSourceWriter.st 10643 2011-06-08 21:53:07Z vranyj1 §'
! !
+