--- a/ClassBuilder.st Sat Feb 13 18:48:33 2010 +0000
+++ b/ClassBuilder.st Sat Feb 13 23:34:44 2010 +0000
@@ -1121,7 +1121,10 @@
].
].
- Class flushSubclassInfo.
+ Class flushSubclassInfoFor:oldClass superclass.
+ Class flushSubclassInfoFor:newClass superclass.
+ Class flushSubclassInfoFor:oldClass.
+ Class flushSubclassInfoFor:newClass.
"notify change of class"
changed ifTrue:[
@@ -1259,7 +1262,8 @@
(instVarChange or:[classVarChange]) ifTrue:[
self changeReferencesFrom:oldClass to:newClass.
].
- Class flushSubclassInfo.
+ oldClass subclasses do:[:cls | Class flushSubclassInfoFor:cls].
+ Class flushSubclassInfoFor:oldClass.
^ newClass
"Created: / 26-05-1996 / 11:55:26 / cg"
@@ -1625,10 +1629,11 @@
create a new class tree, based on the new version
"
Smalltalk flushCachedClasses.
- Class flushSubclassInfo.
+ Class flushSubclassInfoFor:self.
allSubclasses do:[:aSubclass |
|oldSuper|
+ Class flushSubclassInfoFor:aSubclass.
oldSuper := aSubclass superclass.
oldSubMeta := aSubclass class.
@@ -2209,13 +2214,14 @@
!ClassBuilder class methodsFor:'documentation'!
version
- ^ '$Id: ClassBuilder.st 10489 2009-12-27 20:16:54Z vranyj1 $'
+ ^ '$Id: ClassBuilder.st 10501 2010-02-13 23:34:44Z vranyj1 $'
!
version_CVS
- ^ '§Header: /cvs/stx/stx/libbasic/ClassBuilder.st,v 1.88 2009/12/11 09:27:16 cg Exp §'
+ ^ '§Header: /cvs/stx/stx/libbasic/ClassBuilder.st,v 1.90 2010/02/05 12:59:07 cg Exp §'
! !
+