2238 |
2238 |
2239 "Modified: / 01-11-2010 / 21:02:52 / cg" |
2239 "Modified: / 01-11-2010 / 21:02:52 / cg" |
2240 ! |
2240 ! |
2241 |
2241 |
2242 ensureCorrectVersionMethodsInClass:aClass using:aManager |
2242 ensureCorrectVersionMethodsInClass:aClass using:aManager |
2243 "kludge: |
|
2244 if there is a new version-XXX method AND an old version method, remove the old one |
|
2245 (there should now be only a new version-XXX method)" |
|
2246 |
|
2247 |theMetaclass src newSrc versionMethodName oldVersionMethodName| |
2243 |theMetaclass src newSrc versionMethodName oldVersionMethodName| |
2248 |
2244 |
2249 theMetaclass := aClass theMetaclass. |
2245 theMetaclass := aClass theMetaclass. |
2250 versionMethodName := aManager nameOfVersionMethodInClasses. |
2246 versionMethodName := aManager nameOfVersionMethodInClasses. |
2251 oldVersionMethodName := aManager nameOfOldVersionMethod. |
2247 oldVersionMethodName := aClass nameOfOldVersionMethod. |
2252 |
2248 |
2253 (theMetaclass includesSelector:versionMethodName) ifTrue:[ |
2249 (theMetaclass includesSelector:versionMethodName) ifTrue:[ |
2254 (theMetaclass includesSelector:oldVersionMethodName) ifTrue:[ |
2250 "/ (theMetaclass includesSelector:oldVersionMethodName) ifTrue:[ |
2255 theMetaclass removeSelector:oldVersionMethodName. |
2251 "/ theMetaclass removeSelector:oldVersionMethodName. |
2256 ]. |
2252 "/ ]. |
2257 "/ ensure that my version method is parsable (contains $'s) |
2253 "/ ensure that my version method is parsable (contains $'s) |
2258 src := (theMetaclass compiledMethodAt:versionMethodName) source. |
2254 src := (theMetaclass compiledMethodAt:versionMethodName) source. |
2259 src notNil ifTrue:[ |
2255 src notNil ifTrue:[ |
2260 newSrc := aManager ensureDollarsInVersionMethod:src. |
2256 newSrc := aManager ensureDollarsInVersionMethod:src. |
2261 newSrc ~= src ifTrue:[ |
2257 newSrc ~= src ifTrue:[ |