--- a/VSEPackageFileSourceWriter.st Sun Jan 25 01:26:29 2015 +0100
+++ b/VSEPackageFileSourceWriter.st Tue Jan 27 16:16:58 2015 +0100
@@ -72,6 +72,49 @@
"
! !
+!VSEPackageFileSourceWriter class methodsFor:'utilities'!
+
+fileOutPackage:packageID on:aStream
+ |classesToFileout writer|
+
+ aStream lineEndCRLF.
+
+ classesToFileout := Smalltalk allClassesInPackage:packageID.
+ classesToFileout topologicalSort:[:a :b | b isSubclassOf:a].
+
+ writer := VSEPackageFileSourceWriter new.
+ writer packageName:packageID.
+ writer writeHeaderOn:aStream.
+
+ AbstractSourceFileWriter methodSourceRewriteQuery handle:[:rewriteQuery |
+ |method source|
+
+ method := rewriteQuery method.
+ source := rewriteQuery source.
+ source := VSEChunkFileSourceWriter vseSourceRewriter rewriteMethod:method.
+ rewriteQuery proceedWith:source.
+ ] do:[
+ classesToFileout do:[:eachClass |
+ writer fileOut:eachClass on:aStream
+ ].
+
+ "/ fileout extensions
+ Smalltalk allClassesDo:[:eachClass |
+ (classesToFileout includes:eachClass) ifFalse:[
+ eachClass instAndClassSelectorsAndMethodsDo:[:sel :mthd |
+ |mPckg|
+
+ mPckg := mthd package.
+ (mPckg = packageID and:[mPckg ~= eachClass package]) ifTrue:[
+ writer fileOutMethod:mthd on:aStream.
+ aStream cr.
+ ]
+ ]
+ ].
+ ].
+ ].
+! !
+
!VSEPackageFileSourceWriter methodsFor:'accessing'!
packageName:something
@@ -270,10 +313,10 @@
!VSEPackageFileSourceWriter class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic3/VSEPackageFileSourceWriter.st,v 1.1 2015-01-21 09:49:00 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic3/VSEPackageFileSourceWriter.st,v 1.2 2015-01-27 15:16:58 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libbasic3/VSEPackageFileSourceWriter.st,v 1.1 2015-01-21 09:49:00 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic3/VSEPackageFileSourceWriter.st,v 1.2 2015-01-27 15:16:58 cg Exp $'
! !