class: ClassDefinitionChange
authorClaus Gittinger <cg@exept.de>
Wed, 25 Feb 2015 22:34:01 +0100
changeset 3808 c9927a70b702
parent 3807 9746e6873402
child 3809 4e3d2e37a7d3
class: ClassDefinitionChange changed: #apply care for namespace override
ClassDefinitionChange.st
--- a/ClassDefinitionChange.st	Wed Feb 25 00:50:29 2015 +0100
+++ b/ClassDefinitionChange.st	Wed Feb 25 22:34:01 2015 +0100
@@ -350,13 +350,20 @@
 !ClassDefinitionChange methodsFor:'applying'!
 
 apply
-    |changeClass sourceWithNamespace|
+    |changeClass sourceWithNamespace ns|
 
     superClassName isNil ifTrue:[
         self setupFromSource.
     ].
     "Some classes have nil superclass (such as Object)..."
     superClassName notNil ifTrue:[
+        nameSpaceOverride notEmptyOrNil ifTrue:[
+            "/ a q&d hack: need to find those which pass in a nameSpace isntead of a string
+            (ns := nameSpaceOverride) isString ifFalse:[ ns := ns name ].
+            (superClassName startsWith:(ns,'::')) ifFalse:[
+                superClassName := (ns,'::',superClassName) asSymbol.
+            ].
+        ].
         (Smalltalk classNamed:superClassName) isNil ifTrue:[
             Class undeclared:superClassName
         ].
@@ -880,11 +887,11 @@
 !ClassDefinitionChange class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic3/ClassDefinitionChange.st,v 1.93 2015-02-03 16:33:21 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic3/ClassDefinitionChange.st,v 1.94 2015-02-25 21:34:01 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libbasic3/ClassDefinitionChange.st,v 1.93 2015-02-03 16:33:21 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic3/ClassDefinitionChange.st,v 1.94 2015-02-25 21:34:01 cg Exp $'
 !
 
 version_HG
@@ -893,6 +900,6 @@
 !
 
 version_SVN
-    ^ '$Id: ClassDefinitionChange.st,v 1.93 2015-02-03 16:33:21 stefan Exp $'
+    ^ '$Id: ClassDefinitionChange.st,v 1.94 2015-02-25 21:34:01 cg Exp $'
 ! !