changed #autoload.
authorjames
Wed, 09 Apr 2003 13:02:09 +0200
changeset 7178 2217cc44b048
parent 7177 2bfa42d795a0
child 7179 71010cbeb76f
changed #autoload. Dependents on autoloaded classes will now be dependent on the autoloaded class.
Autoload.st
--- a/Autoload.st	Wed Apr 09 10:31:03 2003 +0200
+++ b/Autoload.st	Wed Apr 09 13:02:09 2003 +0200
@@ -413,7 +413,10 @@
     oldMeta := self class.
 
 "/ self setName:(self name , ' (auto)').
-
+    self dependents do:[:aDependent |
+        newClass addDependent:aDependent
+    ].
+    Smalltalk changed:#aboutToAutloadClass with:(self -> newClass).
     self becomeSameAs:newClass.
     oldMeta becomeSameAs:newClass class.
 
@@ -424,6 +427,7 @@
     newClass postAutoload.
 
     Smalltalk changed:#classDefinition with:newClass.
+    self changed:#loaded.
     ^ newClass
 
     "Modified: / 5.3.1999 / 12:59:13 / cg"
@@ -473,10 +477,10 @@
     |newClass|
 
     self ~~ Autoload ifTrue:[
-	newClass := self autoload.
-	newClass notNil ifTrue:[
-	    ^ aMessage sendTo:newClass
-	]
+        newClass := self autoload.
+        newClass notNil ifTrue:[
+            ^ aMessage sendTo:newClass
+        ]
     ].
     ^ super doesNotUnderstand:aMessage
 
@@ -495,12 +499,12 @@
 
     "take care: subclassing Autoload must still be possible"
     (self == Autoload) ifTrue:[
-	^ self perform:sel inClass:Autoload class superclass withArguments:args
+        ^ self perform:sel inClass:Autoload class superclass withArguments:args
     ].
 
     newClass := self autoload.
     newClass notNil ifTrue:[
-	^ newClass perform:sel withArguments:args
+        ^ newClass perform:sel withArguments:args
     ].
     ^ nil
 
@@ -559,7 +563,7 @@
     "catch respondsTo: - load the class and resend #respondsTo: it to the real one"
 
     self == Autoload ifTrue:[
-	^ super respondsTo:aSelector
+        ^ super respondsTo:aSelector
     ].
     ^ self doesNotUnderstand:(Message selector:#respondsTo: with:aSelector)
 
@@ -574,10 +578,10 @@
     |newClass|
 
     self isBeingLoaded ifFalse:[
-	newClass := self autoload.
-	newClass notNil ifTrue:[
-	    ^ newClass accepts:aSignal
-	].
+        newClass := self autoload.
+        newClass notNil ifTrue:[
+            ^ newClass accepts:aSignal
+        ].
     ].
     ^ false
 !
@@ -636,7 +640,7 @@
 !Autoload class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Autoload.st,v 1.116 2003-03-02 20:39:52 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Autoload.st,v 1.117 2003-04-09 11:02:09 james Exp $'
 ! !
 
 Autoload initialize!