# HG changeset patch # User sr # Date 1269429683 -3600 # Node ID 079b692e077622033ce84b5ce5b01d35c2703ef3 # Parent 1ad16629e7f5d6321d47240a67450b97952f409f 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 diff -r 1ad16629e7f5 -r 079b692e0776 ProjectDefinition.st --- 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!