changed #forPackage:saveClassDefinitionsOn:
stops private classes being filed out twice. Checks
ownersClass to see if it is part of the same package.
--- a/packages/StxPackageFileWriter.st Wed Apr 09 20:02:55 2003 +0200
+++ b/packages/StxPackageFileWriter.st Thu Apr 10 08:26:37 2003 +0200
@@ -87,7 +87,16 @@
aWriteStream nextPutAll:'"Class Definitions"!!'.
aWriteStream cr.
aPackage classNames do:[:aClass |
- self fileOutClass:(Smalltalk at:aClass) on:aWriteStream.
+ aClass nameSpace isNamespace ifTrue:[
+ self fileOutClass:(Smalltalk at:aClass) on:aWriteStream.
+ ] ifFalse:[| ownerClass |
+ "aClass is a privateClass"
+ ownerClass := aClass nameSpace package.
+ ownerClass package == aPackage name ifFalse:[
+ ]. "ifTrue:[
+ Do nothing - the class has already been filed out by its ownerClass!!
+ ]."
+ ]
].
aWriteStream cr.
aWriteStream nextPutAll:'"End of Class Definitions"!!'.
@@ -420,5 +429,5 @@
!StxPackageFileWriter class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic3/packages/StxPackageFileWriter.st,v 1.1 2003-04-09 11:34:02 james Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic3/packages/StxPackageFileWriter.st,v 1.2 2003-04-10 06:26:37 james Exp $'
! !