recompile ns classes accessing private class name
authorClaus Gittinger <cg@exept.de>
Tue, 14 Sep 1999 13:50:24 +0200
changeset 4725 98e0fa189aba
parent 4724 44793fe70787
child 4726 5c5e1c7f8933
recompile ns classes accessing private class name without ns-prefix.
Metaclass.st
--- a/Metaclass.st	Tue Sep 14 13:49:43 1999 +0200
+++ b/Metaclass.st	Tue Sep 14 13:50:24 1999 +0200
@@ -996,7 +996,18 @@
         recompileGlobalAccessTo notNil ifTrue:[
             self recompileGlobalAccessorsTo:recompileGlobalAccessTo
                  in:namespace
-                 except:newClass
+                 except:newClass.
+        ].
+
+        (thisIsPrivate 
+        and:[newClass owningClass nameSpace notNil]) ifTrue:[
+            "/ namespace is a class; 
+            "/ if this owner is itself in a namespace,
+            "/ must recompile all from owners namespace
+            "/ accessing the new class (without namespace prefix)
+            self recompileGlobalAccessorsTo:(newClass nameWithoutNameSpacePrefix asSymbol)
+                 in:(newClass owningClass nameSpace)
+                 except:newClass.
         ].
 
         ^ newClass
@@ -2019,6 +2030,6 @@
 !Metaclass class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Metaclass.st,v 1.152 1999-08-26 11:51:19 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Metaclass.st,v 1.153 1999-09-14 11:50:24 cg Exp $'
 ! !
 Metaclass initialize!