Autoload.st
changeset 4301 e74e49f4e8e2
parent 4280 f100fa94428f
child 4401 d9667432d35b
--- a/Autoload.st	Sat Jun 19 00:49:38 1999 +0200
+++ b/Autoload.st	Sat Jun 19 12:11:55 1999 +0200
@@ -440,6 +440,30 @@
     "Modified: 24.4.1996 / 19:53:27 / cg"
 !
 
+loadAndResendMessage
+    "common helper to autoload a class and define a subclass of it by sending
+     the sender-message again.
+     This is invoked by all #subClass... definition messages."
+
+    |sel args newClass|
+
+    sel := thisContext sender selector.
+    args := thisContext sender args.
+
+    "take care: subclassing Autoload must still be possible"
+    (self == Autoload) ifTrue:[
+        ^ self perform:sel inClass:Autoload class superclass withArguments:args
+    ].
+
+    newClass := self autoload.
+    newClass notNil ifTrue:[
+        ^ newClass perform:sel withArguments:args
+    ].
+    ^ nil
+
+    "Created: 8.2.1997 / 19:42:47 / cg"
+!
+
 new
     "catch new - load the class and resend #new to the real one"
 
@@ -497,77 +521,6 @@
     ^ self doesNotUnderstand:(Message selector:#respondsTo: with:aSelector)
 
     "Modified: 26.5.1997 / 14:59:58 / cg"
-!
-
-subclass:nameSymbol instanceVariableNames:instVarNames classVariableNames:cVarNames poolDictionaries:pools category:cat
-    "catch subclass creation - this forces missing superclasses to be 
-     loaded first"
-
-    ^ self
-        subclass:nameSymbol     
-        instanceVariableNames:instVarNames 
-        classVariableNames:cVarNames 
-        poolDictionaries:pools 
-        category:cat
-        inEnvironment:(Class nameSpaceQuerySignal query)
-
-    "Modified: / 8.2.1997 / 20:06:22 / cg"
-    "Modified: / 18.3.1999 / 18:10:20 / stefan"
-!
-
-subclass:nameSymbol instanceVariableNames:instVarNames classVariableNames:cVarNames poolDictionaries:poolDicts category:cat inEnvironment:aNameSpace
-    "catch subclass creation - this forces missing superclasses to be 
-     loaded first"
-
-    |newClass sel args|
-
-    "take care: subclassing Autoload must still be possible"
-    (self == Autoload) ifTrue:[
-	^ super 
-	    subclass:nameSymbol 
-	    instanceVariableNames:instVarNames
-	    classVariableNames:cVarNames
-	    poolDictionaries:poolDicts
-	    category:cat
-	    inEnvironment:aNameSpace
-    ].
-
-    newClass := self autoload.
-    sel := thisContext selector.
-    args := thisContext args.
-    newClass notNil ifTrue:[
-	^ newClass perform:sel withArguments:args
-    ].
-    ^ nil
-
-    "Created: 8.2.1997 / 19:42:47 / cg"
-!
-
-subclass:nameSymbol instanceVariableNames:instVarNames classVariableNames:cVarNames poolDictionaries:poolDicts privateIn:owningClass
-    "catch subclass creation - this forces missing superclasses to be 
-     loaded first"
-
-    |newClass sel args|
-
-    "take care: subclassing Autoload must still be possible"
-    (self == Autoload) ifTrue:[
-	^ super 
-	    subclass:nameSymbol 
-	    instanceVariableNames:instVarNames 
-	    classVariableNames:cVarNames 
-	    poolDictionaries:poolDicts 
-	    privateIn:owningClass
-    ].
-
-    newClass := self autoload.
-    sel := thisContext selector.
-    args := thisContext args.
-    newClass notNil ifTrue:[
-	^ newClass perform:sel withArguments:args
-    ].
-    ^ nil
-
-    "Created: 8.2.1997 / 19:42:47 / cg"
 ! !
 
 !Autoload class methodsFor:'queries'!
@@ -624,6 +577,6 @@
 !Autoload class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Autoload.st,v 1.92 1999-06-06 13:19:19 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Autoload.st,v 1.93 1999-06-19 10:11:55 cg Exp $'
 ! !
 Autoload initialize!