ClassChange.st
changeset 2520 092b3abcd994
parent 2514 36e11e387006
child 2521 8b8890f94458
--- a/ClassChange.st	Thu Sep 08 04:45:14 2011 +0200
+++ b/ClassChange.st	Thu Sep 08 04:53:12 2011 +0200
@@ -87,7 +87,7 @@
     (className includes:$.) ifTrue:[
         "/ VW - namespace prefix - convert to colon-notation
         className := className copyReplaceAll:$. withAll:'::'.
-    ].
+    ].       
     nsName := self nameSpaceOverride ? 'Smalltalk'.
     nsName notNil ifTrue:[
         ns := NameSpace name:nsName
@@ -96,7 +96,10 @@
         className := className copyWithoutLast:6.
     ].
 
-    class := (ns ? Smalltalk) loadedClassNamed:className.     
+    ns := (ns ? Smalltalk).
+    class := ns isNameSpace 
+                ifTrue:[ ns loadedClassNamed:className ]
+                ifFalse:[ Smalltalk loadedClassNamed:className ].     
     class isNil ifTrue:[
         self isPrivateClassDefinitionChange ifTrue:[
             owner := (ns ? Smalltalk) loadedClassNamed:(self owningClassName).
@@ -105,12 +108,17 @@
                 ^ meta ifTrue:[class theMetaclass] ifFalse:[class].
             ].
         ] ifFalse:[
-            class := (ns ? Smalltalk) classNamed:className. 
+            class := ns isNameSpace 
+                        ifTrue:[ ns classNamed:className ]
+                        ifFalse:[ Smalltalk loadedClassNamed:className ].     
+
             "/ class := Parser evaluate:className ifFail:[nil].
             class isNil ifTrue:[
                 (altName := self classNameForWellKnownVisualWorksNamespaceClass:className) notNil
                 ifTrue:[
-                    class := (ns ? Smalltalk) classNamed:altName.
+                    class := ns isNameSpace 
+                                ifTrue:[ ns classNamed:altName ]
+                                ifFalse:[ Smalltalk loadedClassNamed:altName ].     
                     class isNil ifTrue:[
                         class := Parser evaluate:altName ifFail:[nil]
                     ]
@@ -141,7 +149,7 @@
     (class nameWithoutPrefix ~= className) ifTrue:[ ^ nil ].
     ^ meta ifTrue:[class theMetaclass] ifFalse:[class].
 
-    "Modified: / 07-09-2011 / 21:11:51 / cg"
+    "Modified: / 07-09-2011 / 22:04:18 / cg"
 !
 
 changeClass:aClass
@@ -409,9 +417,9 @@
 !ClassChange class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic3/ClassChange.st,v 1.59 2011-09-07 19:27:31 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic3/ClassChange.st,v 1.60 2011-09-08 02:53:12 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libbasic3/ClassChange.st,v 1.59 2011-09-07 19:27:31 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic3/ClassChange.st,v 1.60 2011-09-08 02:53:12 cg Exp $'
 ! !