Autoload.st
changeset 4775 4c96f1d40626
parent 4576 d6ff1c69e3e7
child 5005 e31701a84055
equal deleted inserted replaced
4774:963f2e5d1f24 4775:4c96f1d40626
   263 
   263 
   264     mySelf := self.
   264     mySelf := self.
   265     myName := self name asSymbol.
   265     myName := self name asSymbol.
   266     myNameSpace := self nameSpace.
   266     myNameSpace := self nameSpace.
   267 
   267 
       
   268     "/ recheck - in case my class somehow came into the system
       
   269     "/ (by loading a binary...)
       
   270     (newClass := Smalltalk at:myName) ~~ self ifTrue:[
       
   271         (newClass isBehavior and:[newClass isLoaded]) ifTrue:[
       
   272             ('Autoload [info]: already loaded: ', myName , '.') infoPrintCR.
       
   273             self class becomeSameAs:newClass class.
       
   274             self becomeSameAs:newClass.
       
   275 
       
   276             ObjectMemory flushCaches.
       
   277             ^ newClass
       
   278         ].
       
   279     ].
       
   280 
   268     "remove myself - to avoid recompilation"
   281     "remove myself - to avoid recompilation"
   269     Smalltalk at:myName put:nil.
   282     Smalltalk at:myName put:nil.
   270 
   283 
   271     "load it"
   284     "load it"
   272     (Object infoPrinting and:[Smalltalk silentLoading ~~ true]) ifTrue:[
   285     (Object infoPrinting and:[Smalltalk silentLoading ~~ true]) ifTrue:[
   572 ! !
   585 ! !
   573 
   586 
   574 !Autoload class methodsFor:'documentation'!
   587 !Autoload class methodsFor:'documentation'!
   575 
   588 
   576 version
   589 version
   577     ^ '$Header: /cvs/stx/stx/libbasic/Autoload.st,v 1.97 1999-08-05 13:22:35 cg Exp $'
   590     ^ '$Header: /cvs/stx/stx/libbasic/Autoload.st,v 1.98 1999-09-20 12:16:10 cg Exp $'
   578 ! !
   591 ! !
   579 Autoload initialize!
   592 Autoload initialize!