Autoload.st
changeset 4775 4c96f1d40626
parent 4576 d6ff1c69e3e7
child 5005 e31701a84055
--- a/Autoload.st	Mon Sep 20 13:53:25 1999 +0200
+++ b/Autoload.st	Mon Sep 20 14:16:10 1999 +0200
@@ -265,6 +265,19 @@
     myName := self name asSymbol.
     myNameSpace := self nameSpace.
 
+    "/ recheck - in case my class somehow came into the system
+    "/ (by loading a binary...)
+    (newClass := Smalltalk at:myName) ~~ self ifTrue:[
+        (newClass isBehavior and:[newClass isLoaded]) ifTrue:[
+            ('Autoload [info]: already loaded: ', myName , '.') infoPrintCR.
+            self class becomeSameAs:newClass class.
+            self becomeSameAs:newClass.
+
+            ObjectMemory flushCaches.
+            ^ newClass
+        ].
+    ].
+
     "remove myself - to avoid recompilation"
     Smalltalk at:myName put:nil.
 
@@ -574,6 +587,6 @@
 !Autoload class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Autoload.st,v 1.97 1999-08-05 13:22:35 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Autoload.st,v 1.98 1999-09-20 12:16:10 cg Exp $'
 ! !
 Autoload initialize!