added: #generateClassLines:forClasses:includeAdditionalClasses:
changed:
#generateClassLines:forClasses:
#generate_definitionClassLine_libInit_dot_cc
oops - generated code in libInit.cc was wrong iff there
were additionalClasses defined (unix, win32 etc.) as in libbasic
--- a/ProjectDefinition.st Wed Mar 24 12:10:34 2010 +0100
+++ b/ProjectDefinition.st Wed Mar 24 12:21:23 2010 +0100
@@ -3106,6 +3106,12 @@
generateClassLines:classLineTemplate forClasses:classNames
"for the init-file: generate class-init-lines for a collection of classes"
+ ^ self generateClassLines:classLineTemplate forClasses:classNames includeAdditionalClasses:true
+!
+
+generateClassLines:classLineTemplate forClasses:classNames includeAdditionalClasses:includeAdditionalClasses
+ "for the init-file: generate class-init-lines for a collection of classes"
+
^ String
streamContents:[:s |
|classesLoaded classNamesUnloaded classNamesSorted putLineForClassName|
@@ -3129,28 +3135,31 @@
classNamesSorted := (Class classesSortedByLoadOrder:classesLoaded) collect:[:cls | cls name].
classNamesSorted do:putLineForClassName.
classNamesUnloaded do:putLineForClassName.
- self namesAndAttributesIn:(self additionalClassNamesAndAttributes)
- do:[:nm :attr |
- (attr isEmptyOrNil or:[ (attr includes:#autoload) not ]) ifTrue:[
- putLineForClassName value:nm.
- ].
- ].
- #( ('UNIX' unix)
- ('WIN32' win32)
- ('VMS' vms)
- ('BEOS' beos) )
- pairsDo:[:ifdef :platformName |
- |archClassNames archClassesLoaded|
-
- archClassNames := self compiled_classNamesForPlatform:platformName.
- archClassNames notEmpty ifTrue:[
- s nextPutLine:'#ifdef ' , ifdef.
- archClassNames do:[:clsName |
- putLineForClassName value:clsName
- ].
- s nextPutLine:'#endif /* ' , ifdef , ' */'.
+
+ includeAdditionalClasses ifTrue:[
+ self namesAndAttributesIn:(self additionalClassNamesAndAttributes)
+ do:[:nm :attr |
+ (attr isEmptyOrNil or:[ (attr includes:#autoload) not ]) ifTrue:[
+ putLineForClassName value:nm.
].
].
+ #( ('UNIX' unix)
+ ('WIN32' win32)
+ ('VMS' vms)
+ ('BEOS' beos) )
+ pairsDo:[:ifdef :platformName |
+ |archClassNames archClassesLoaded|
+
+ archClassNames := self compiled_classNamesForPlatform:platformName.
+ archClassNames notEmpty ifTrue:[
+ s nextPutLine:'#ifdef ' , ifdef.
+ archClassNames do:[:clsName |
+ putLineForClassName value:clsName
+ ].
+ s nextPutLine:'#endif /* ' , ifdef , ' */'.
+ ].
+ ].
+ ]
]
"
@@ -3522,9 +3531,10 @@
^ self
generateClassLines:(self classLine_libInit_dot_cc)
forClasses:(Array with:self name)
-
- "
- stx_libbasic3 generate_definitionClassNameLines_libInit_dot_cc
+ includeAdditionalClasses:false
+
+ "
+ stx_libbasic generate_definitionClassLine_libInit_dot_cc
"
!
@@ -5363,11 +5373,11 @@
!ProjectDefinition class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.310 2010-03-08 11:06:20 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.311 2010-03-24 11:21:23 sr Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.310 2010-03-08 11:06:20 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.311 2010-03-24 11:21:23 sr Exp $'
! !
ProjectDefinition initialize!