818 "for ST80 compatibility but without functionality" |
818 "for ST80 compatibility but without functionality" |
819 |
819 |
820 "Created: / 28.3.1998 / 21:21:52 / cg" |
820 "Created: / 28.3.1998 / 21:21:52 / cg" |
821 ! ! |
821 ! ! |
822 |
822 |
823 |
|
824 !ClassDescription methodsFor:'Compatibility-V''Age'! |
823 !ClassDescription methodsFor:'Compatibility-V''Age'! |
825 |
824 |
826 categoriesFor:aSelector are:listOfCategories |
825 categoriesFor:aSelector are:listOfCategories |
827 "to allow fileIn of V'Age code. |
826 "to allow fileIn of V'Age code. |
828 Set the category of the method which is installed under aSelector. |
827 Set the category of the method which is installed under aSelector. |
1179 ] |
1178 ] |
1180 ] |
1179 ] |
1181 ]. |
1180 ]. |
1182 |
1181 |
1183 (super addSelector:newSelector withMethod:newMethod) ifTrue:[ |
1182 (super addSelector:newSelector withMethod:newMethod) ifTrue:[ |
1184 self addChangeRecordForMethod:newMethod fromOld:oldMethod. |
1183 "/ only write change records for changes to non-anonymous classes |
|
1184 self containingNameSpace notNil ifTrue:[ |
|
1185 self addChangeRecordForMethod:newMethod fromOld:oldMethod. |
|
1186 ] |
1185 ]. |
1187 ]. |
1186 |
1188 |
1187 "Modified: / 09-09-1996 / 22:39:32 / stefan" |
1189 "Modified: / 09-09-1996 / 22:39:32 / stefan" |
1188 "Created: / 04-06-1997 / 14:47:10 / cg" |
1190 "Created: / 04-06-1997 / 14:47:10 / cg" |
1189 "Modified: / 17-08-2006 / 13:54:00 / cg" |
1191 "Modified: / 17-08-2006 / 13:54:00 / cg" |
1217 ] |
1219 ] |
1218 ] |
1220 ] |
1219 ]. |
1221 ]. |
1220 |
1222 |
1221 (super removeSelector:aSelector) ifTrue:[ |
1223 (super removeSelector:aSelector) ifTrue:[ |
1222 self addChangeRecordForRemoveSelector:aSelector fromOld:oldMethod. |
1224 "/ only write change records for changes to non-anonymous classes |
1223 "/ |
1225 self containingNameSpace notNil ifTrue:[ |
1224 "/ also notify a change of mySelf; |
1226 self addChangeRecordForRemoveSelector:aSelector fromOld:oldMethod. |
1225 "/ |
1227 "/ |
1226 self changed:#methodDictionary with:aSelector. |
1228 "/ also notify a change of mySelf; |
1227 |
1229 "/ |
1228 "/ |
1230 self changed:#methodDictionary with:aSelector. |
1229 "/ also notify a change of Smalltalk; |
1231 |
1230 "/ this allows a dependent of Smalltalk to watch all class |
1232 "/ |
1231 "/ changes (no need for observing all classes) |
1233 "/ also notify a change of Smalltalk; |
1232 "/ - this allows for watchers to find out if its a new method or a method-change |
1234 "/ this allows a dependent of Smalltalk to watch all class |
1233 "/ |
1235 "/ changes (no need for observing all classes) |
1234 MethodRemoveChangeNotificationParameter notNil ifTrue:[ |
1236 "/ - this allows for watchers to find out if its a new method or a method-change |
1235 Smalltalk changed:#methodInClassRemoved with:(MethodRemoveChangeNotificationParameter changeClass:self changeSelector:aSelector). |
1237 "/ |
|
1238 MethodRemoveChangeNotificationParameter notNil ifTrue:[ |
|
1239 Smalltalk changed:#methodInClassRemoved with:(MethodRemoveChangeNotificationParameter changeClass:self changeSelector:aSelector). |
|
1240 ] |
1236 ] |
1241 ] |
1237 ] |
1242 ] |
1238 |
1243 |
1239 "Modified: 8.1.1997 / 23:03:49 / cg" |
1244 "Modified: 8.1.1997 / 23:03:49 / cg" |
1240 "Created: 2.4.1997 / 00:59:29 / stefan" |
1245 "Created: 2.4.1997 / 00:59:29 / stefan" |
1283 ! ! |
1288 ! ! |
1284 |
1289 |
1285 !ClassDescription methodsFor:'changes management'! |
1290 !ClassDescription methodsFor:'changes management'! |
1286 |
1291 |
1287 addChangeRecordForMethod:aMethod |
1292 addChangeRecordForMethod:aMethod |
|
1293 <resource: #obsolete> |
1288 "{ Pragma: +optSpace }" |
1294 "{ Pragma: +optSpace }" |
1289 |
1295 |
|
1296 self obsoleteMethodWarning:'use addChangeRecordForMethod:fromOld:'. |
|
1297 |
1290 "add a method-change-record to the changes file and to the current changeSet" |
1298 "add a method-change-record to the changes file and to the current changeSet" |
1291 |
1299 |
1292 UpdateChangeFileQuerySignal query ifTrue:[ |
1300 UpdateChangeFileQuerySignal query ifTrue:[ |
1293 self writingChangePerform:#addChangeRecordForMethod:to: with:aMethod. |
1301 self writingChangePerform:#addChangeRecordForMethod:to: with:aMethod. |
1294 ]. |
1302 ]. |
1295 |
1303 |
1296 "this test allows a smalltalk without Projects/ChangeSets" |
1304 "this test allows a smalltalk without Projects/ChangeSets" |
1297 Project notNil ifTrue:[ |
1305 Project notNil ifTrue:[ |
1298 UpdateChangeListQuerySignal query ifTrue:[ |
1306 UpdateChangeListQuerySignal query ifTrue:[ |
1299 Project addMethodChange:aMethod in:self |
1307 Project addMethodChange:aMethod in:self |
1300 ] |
1308 ] |
1301 ] |
1309 ] |
1302 |
1310 |
1303 "Modified: / 20.1.1997 / 12:36:02 / cg" |
1311 "Modified: / 20.1.1997 / 12:36:02 / cg" |
1304 "Created: / 2.4.1997 / 01:02:16 / stefan" |
1312 "Created: / 2.4.1997 / 01:02:16 / stefan" |
1305 "Modified: / 18.3.1999 / 18:16:41 / stefan" |
1313 "Modified: / 18.3.1999 / 18:16:41 / stefan" |
4227 ! ! |
4235 ! ! |
4228 |
4236 |
4229 !ClassDescription class methodsFor:'documentation'! |
4237 !ClassDescription class methodsFor:'documentation'! |
4230 |
4238 |
4231 version |
4239 version |
4232 ^ '$Header: /cvs/stx/stx/libbasic/ClassDescription.st,v 1.230 2013-01-03 09:20:11 cg Exp $' |
4240 ^ '$Header: /cvs/stx/stx/libbasic/ClassDescription.st,v 1.231 2013-01-24 15:50:38 cg Exp $' |
4233 ! |
4241 ! |
4234 |
4242 |
4235 version_CVS |
4243 version_CVS |
4236 ^ '$Header: /cvs/stx/stx/libbasic/ClassDescription.st,v 1.230 2013-01-03 09:20:11 cg Exp $' |
4244 ^ '$Header: /cvs/stx/stx/libbasic/ClassDescription.st,v 1.231 2013-01-24 15:50:38 cg Exp $' |
4237 ! ! |
4245 ! ! |
4238 |
4246 |
4239 |
4247 |
4240 ClassDescription initialize! |
4248 ClassDescription initialize! |
4241 ClassDescription::MethodRedefinitionNotification initialize! |
4249 ClassDescription::MethodRedefinitionNotification initialize! |