changed:
authorClaus Gittinger <cg@exept.de>
Tue, 27 Apr 2010 00:03:53 +0200
changeset 12889 cefe44af2175
parent 12888 5de3c4d8bd8b
child 12890 2488b1f65af2
changed: #buildClass #handleNewlyCreatedClass:
ClassBuilder.st
--- a/ClassBuilder.st	Fri Apr 23 15:39:19 2010 +0200
+++ b/ClassBuilder.st	Tue Apr 27 00:03:53 2010 +0200
@@ -567,6 +567,9 @@
     newSuperClass := newClass superclass.
     superClassChange := (oldSuperClass ~~ newSuperClass).
 
+    Class flushSubclassInfoFor:oldSuperClass.
+    Class flushSubclassInfoFor:newSuperClass.
+
     oldPoolDictionaries := oldClass sharedPools.
 
     superClassChange ifFalse:[
@@ -591,7 +594,7 @@
 
     "Created: / 26-05-1996 / 11:55:26 / cg"
     "Modified: / 18-03-1999 / 18:23:31 / stefan"
-    "Modified: / 24-09-2007 / 19:31:31 / cg"
+    "Modified: / 26-04-2010 / 23:47:33 / cg"
 !
 
 newSubclassOf:baseClass type:typeOfClass instanceVariables:instanceVariables from:oldClassArg
@@ -1287,8 +1290,8 @@
         ].
     ].
 
-    Class flushSubclassInfoFor:oldSuperClass.
-    Class flushSubclassInfoFor:newSuperClass.
+    oldClass notNil ifTrue:[ Class flushSubclassInfoFor:oldClass superclass].
+    Class flushSubclassInfoFor:newClass superclass.
 
 "/    oldClass notNil ifTrue:[
 "/        "/ since we changed the classes inheritance (from Autoloaded)
@@ -1343,6 +1346,8 @@
             in:(newClass owningClass nameSpace) except:newClass.
     ].
     ^ newClass
+
+    "Modified: / 27-04-2010 / 00:03:42 / cg"
 !
 
 instantiateMetaclass
@@ -2215,9 +2220,9 @@
 !ClassBuilder class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/ClassBuilder.st,v 1.92 2010-04-18 12:19:12 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/ClassBuilder.st,v 1.93 2010-04-26 22:03:53 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libbasic/ClassBuilder.st,v 1.92 2010-04-18 12:19:12 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/ClassBuilder.st,v 1.93 2010-04-26 22:03:53 cg Exp $'
 ! !