--- a/Tools__NewSystemBrowser.st Tue Jan 20 15:20:04 2015 +0100
+++ b/Tools__NewSystemBrowser.st Wed Jan 21 10:49:33 2015 +0100
@@ -41331,7 +41331,9 @@
!
projectMenuFileOutAsWithFormat:aFormatSymbolOrNil
- |currentProject selectedProjects suffix saveName fileName "methodsToFileOut fileNameForExtensions" mgr s classesToFileout|
+ |currentProject selectedProjects suffix saveName fileName
+ "methodsToFileOut fileNameForExtensions" mgr s classesToFileout
+ writer|
selectedProjects := self selectedProjectsValue.
currentProject := self theSingleSelectedProject.
@@ -41422,10 +41424,53 @@
^ self
].
+ aFormatSymbolOrNil == #vsePackage ifTrue:[
+ self busyLabel:'writing...'.
+ s := fileName asFilename writeStream.
+ ((aFormatSymbolOrNil == #vse) or:[aFormatSymbolOrNil == #vsePackage]) ifTrue:[
+ s lineEndCRLF
+ ].
+ classesToFileout := OrderedCollection withAll:(self selectedProjectClasses).
+ classesToFileout topologicalSort:[:a :b | b isSubclassOf:a].
+
+ writer := VSEPackageFileSourceWriter new.
+ writer packageName:currentProject.
+ writer writeHeaderOn:s.
+
+ 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:s
+ ].
+
+ "/ fileout extensions
+ Smalltalk allClassesDo:[:eachClass |
+ eachClass instAndClassSelectorsAndMethodsDo:[:sel :mthd |
+ |mPckg|
+
+ mPckg := mthd package.
+ (mPckg = currentProject and:[mPckg ~= eachClass package]) ifTrue:[
+ writer fileOutMethod:mthd on:s.
+ s cr.
+ ]
+ ]
+ ].
+ ].
+ s close.
+ self normalLabel.
+ ^ self.
+ ].
+
(aFormatSymbolOrNil isNil or:[aFormatSymbolOrNil == #vse]) ifTrue:[
self busyLabel:'writing...'.
s := fileName asFilename writeStream.
- ((aFormatSymbolOrNil == #vse) or:[aFormatSymbolOrNil == #vsePackage]) ifTrue:[
+ (aFormatSymbolOrNil == #vse) ifTrue:[
s lineEndCRLF
].
classesToFileout := OrderedCollection withAll:(self selectedProjectClasses).
@@ -41436,8 +41481,8 @@
method := rewriteQuery method.
source := rewriteQuery source.
- ((aFormatSymbolOrNil == #vse) or:[aFormatSymbolOrNil == #vsePackage]) ifTrue:[
- source := VSESourceRewriter rewriteMethod:method.
+ (aFormatSymbolOrNil == #vse) ifTrue:[
+ source := VSEChunkFileSourceWriter vseSourceRewriter rewriteMethod:method.
rewriteQuery proceedWith:source.
].
rewriteQuery proceedWith:source
@@ -57474,7 +57519,6 @@
"Created: / 04-12-2011 / 22:22:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
-
!NewSystemBrowser methodsFor:'private-semantic checks'!
checkAcceptedMethod:aMethod inClass:aClass
@@ -61946,11 +61990,11 @@
!NewSystemBrowser class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.2155 2015-01-20 13:18:44 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.2156 2015-01-21 09:49:33 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.2155 2015-01-20 13:18:44 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.2156 2015-01-21 09:49:33 cg Exp $'
!
version_HG
@@ -61959,7 +62003,7 @@
!
version_SVN
- ^ '$Id: Tools__NewSystemBrowser.st,v 1.2155 2015-01-20 13:18:44 cg Exp $'
+ ^ '$Id: Tools__NewSystemBrowser.st,v 1.2156 2015-01-21 09:49:33 cg Exp $'
! !