when loading a changed class, remove the original class before,
authorClaus Gittinger <cg@exept.de>
Mon, 15 Oct 2007 12:00:28 +0200
changeset 1971 11dfb42fa1bc
parent 1970 e4412b37c257
child 1972 32853d3cb43a
when loading a changed class, remove the original class before, to avoid error-prone recompilation of the original class.
SourceCodeManagerUtilities.st
--- a/SourceCodeManagerUtilities.st	Thu Oct 04 17:56:58 2007 +0200
+++ b/SourceCodeManagerUtilities.st	Mon Oct 15 12:00:28 2007 +0200
@@ -1065,6 +1065,14 @@
 
 "/    Class withoutUpdatingChangesDo:[
         answer == #load ifTrue:[
+            changedClassDefinitions do:[:eachChangeArr | 
+                "when loading, remove the classes first"
+                 |cHere cls| 
+                 cHere := eachChangeArr at:1.
+                 cls := cHere changeClass.
+                 Smalltalk removeKey:(cls name).
+            ].
+
             changedClassDefinitions do:[:eachChangeArr | "apply this change (go to rep-version)"
                                          |cHere cRep| 
                                          cHere := eachChangeArr at:1.
@@ -1134,7 +1142,7 @@
     Smalltalk changed:#projectOrganization.
 
     "Modified: / 07-02-2001 / 18:18:32 / ps"
-    "Modified: / 30-05-2007 / 12:06:02 / cg"
+    "Modified: / 15-10-2007 / 12:01:45 / cg"
 !
 
 checkoutExtensionMethodsForPackage:packageToCheckOut askForRevision:askForRevision askForMerge:askForMerge using:aSourceCodeManager
@@ -2864,5 +2872,5 @@
 !SourceCodeManagerUtilities class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic3/SourceCodeManagerUtilities.st,v 1.159 2007-05-30 10:13:24 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic3/SourceCodeManagerUtilities.st,v 1.160 2007-10-15 10:00:28 cg Exp $'
 ! !