ProjectDefinition.st
changeset 9799 ff43d3cb9999
parent 9745 82c6afc86a68
child 9803 cbec7d6caec8
equal deleted inserted replaced
9798:ba30d25d5916 9799:ff43d3cb9999
  1837     "Modified: / 23-08-2006 / 14:24:38 / cg"
  1837     "Modified: / 23-08-2006 / 14:24:38 / cg"
  1838 ! !
  1838 ! !
  1839 
  1839 
  1840 !ProjectDefinition class methodsFor:'update description'!
  1840 !ProjectDefinition class methodsFor:'update description'!
  1841 
  1841 
  1842 classNamesAndAttributes_code
  1842 classNamesAndAttributes_code_ignoreOldDefinition:ignoreOldDefinition
  1843     ^ String streamContents:[:s |
  1843     ^ String streamContents:[:s |
  1844         s nextPutLine:'classNamesAndAttributes'.
  1844         s nextPutLine:'classNamesAndAttributes'.
  1845         s nextPutLine:'    ^ #('.
  1845         s nextPutLine:'    ^ #('.
  1846         s tab; nextPutLine:'"/ <className> or (<className> attributes...)'.
  1846         s tab; nextPutLine:'"/ <className> or (<className> attributes...)'.
  1847         self searchForClasses do:[:eachClass |
  1847         self searchForClasses do:[:eachClass |
  1848             |attributes specEntry|
  1848             |attributes oldSpecEntry|
  1849 
  1849 
  1850             (eachClass isLoaded not or:[eachClass isPrivate not]) ifTrue:[
  1850             (eachClass isLoaded not or:[eachClass isPrivate not]) ifTrue:[
  1851                 specEntry := self classNamesAndAttributes detect:[:entry | entry first = eachClass name] ifNone:nil.
  1851                 ignoreOldDefinition ifFalse:[
  1852                 specEntry isNil ifTrue:[
  1852                     oldSpecEntry := self classNamesAndAttributes detect:[:entry | entry first = eachClass name] ifNone:nil.
       
  1853                 ].
       
  1854                 oldSpecEntry isNil ifTrue:[
  1853                     eachClass isLoaded ifFalse:[
  1855                     eachClass isLoaded ifFalse:[
  1854                         attributes := #( autoload ).
  1856                         attributes := #( autoload ).
  1855                     ].
  1857                     ].
  1856                 ] ifFalse:[
  1858                 ] ifFalse:[
  1857                     attributes := specEntry copyFrom:2.
  1859                     attributes := oldSpecEntry copyFrom:2.
  1858                 ].
  1860                 ].
       
  1861                 
  1859 
  1862 
  1860                 s tab.
  1863                 s tab.
  1861                 attributes isEmptyOrNil ifTrue:[
  1864                 attributes isEmptyOrNil ifTrue:[
  1862                     s nextPutAll:eachClass name asString storeString.
  1865                     s nextPutAll:eachClass name asString storeString.
  1863                 ] ifFalse:[
  1866                 ] ifFalse:[
  1956 
  1959 
  1957     "Created: / 17-08-2006 / 21:21:48 / cg"
  1960     "Created: / 17-08-2006 / 21:21:48 / cg"
  1958 !
  1961 !
  1959 
  1962 
  1960 forEachMethodsCodeToCompileDo:aTwoArgBlock
  1963 forEachMethodsCodeToCompileDo:aTwoArgBlock
       
  1964     self forEachMethodsCodeToCompileDo:aTwoArgBlock ignoreOldDefinition:false
       
  1965 !
       
  1966 
       
  1967 forEachMethodsCodeToCompileDo:aTwoArgBlock ignoreOldDefinition:ignoreOldDefinition
  1961     aTwoArgBlock 
  1968     aTwoArgBlock 
  1962         value:self classNamesAndAttributes_code
  1969         value:(self classNamesAndAttributes_code_ignoreOldDefinition:ignoreOldDefinition)
  1963         value:'description - contents'.
  1970         value:'description - contents'.
  1964 
  1971 
  1965     aTwoArgBlock 
  1972     aTwoArgBlock 
  1966         value: self extensionMethodNames_code
  1973         value: self extensionMethodNames_code
  1967         value: 'description - contents'.
  1974         value: 'description - contents'.
  2021 ! !
  2028 ! !
  2022 
  2029 
  2023 !ProjectDefinition class methodsFor:'documentation'!
  2030 !ProjectDefinition class methodsFor:'documentation'!
  2024 
  2031 
  2025 version
  2032 version
  2026     ^ '$Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.45 2006-08-26 12:02:10 cg Exp $'
  2033     ^ '$Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.46 2006-08-28 17:11:32 cg Exp $'
  2027 ! !
  2034 ! !
  2028 
  2035 
  2029 ProjectDefinition initialize!
  2036 ProjectDefinition initialize!