private class of a private class in a nameSpace
authorca
Thu, 23 Jan 1997 14:16:06 +0100
changeset 2245 d2ae001f71c9
parent 2244 20ca280cad60
child 2246 57451418f10a
private class of a private class in a nameSpace inheriting from a global class .... (sigh)
Class.st
--- a/Class.st	Thu Jan 23 13:48:05 1997 +0100
+++ b/Class.st	Thu Jan 23 14:16:06 1997 +0100
@@ -2338,7 +2338,7 @@
 basicFileOutDefinitionOn:aStream withNameSpace:forceNameSpace
     "append an expression on aStream, which defines myself."
 
-    |s owner ns nsName fullName superName cls|
+    |s owner ns nsName fullName superName cls topOwner|
 
     owner := self owningClass.
 
@@ -2379,7 +2379,11 @@
                 superName := superclass nameWithoutNameSpacePrefix asSymbol.
                 cls := self privateClassesAt:superName.
                 cls isNil ifTrue:[
-                    cls := self nameSpace at:superName.
+                    (topOwner := self topOwningClass) isNil ifTrue:[
+                        cls := self nameSpace at:superName
+                    ] ifFalse:[
+                        cls := topOwner nameSpace at:superName.
+                    ]
                 ].
                 (cls notNil and:[cls ~~ superclass]) ifTrue:[
                     s := superclass nameSpace name , '::' , superName
@@ -4758,6 +4762,6 @@
 !Class class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Class.st,v 1.247 1997-01-23 01:08:18 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Class.st,v 1.248 1997-01-23 13:16:06 ca Exp $'
 ! !
 Class initialize!