equal
deleted
inserted
replaced
101 AutoloadFailedSignal := ProceedableError newSignal |
101 AutoloadFailedSignal := ProceedableError newSignal |
102 nameClass:self message:#autoloadFailedSignal; |
102 nameClass:self message:#autoloadFailedSignal; |
103 notifierString:'autoload failed'. |
103 notifierString:'autoload failed'. |
104 |
104 |
105 self class changeClassTo:AutoloadMetaclass. |
105 self class changeClassTo:AutoloadMetaclass. |
106 self setSuperclass:nil. |
|
107 ObjectMemory flushCaches. |
106 ObjectMemory flushCaches. |
108 ]. |
107 ]. |
109 LoadedClasses isNil ifTrue:[ |
108 LoadedClasses isNil ifTrue:[ |
110 LoadedClasses := IdentitySet new. |
109 LoadedClasses := IdentitySet new. |
111 ]. |
110 ]. |
385 isNil ifTrue:[ |
384 isNil ifTrue:[ |
386 "/ temporary: try without stx/package prefix |
385 "/ temporary: try without stx/package prefix |
387 "/ this will vanish as soon as source-directory |
386 "/ this will vanish as soon as source-directory |
388 "/ is always guaranteed to contain an stx-subtree |
387 "/ is always guaranteed to contain an stx-subtree |
389 ((packageID startsWith:'stx/') |
388 ((packageID startsWith:'stx/') |
390 or:[packageID startsWith:'stx:']) ifTrue:[ |
389 or:[packageID startsWith:'stx:']) ifTrue:[ |
391 Smalltalk |
390 Smalltalk |
392 fileInClass:myName |
391 fileInClass:myName |
393 package:(packageID copyFrom:5) |
392 package:(packageID copyFrom:5) |
394 initialize:false |
393 initialize:false |
395 lazy:LazyLoading |
394 lazy:LazyLoading |
840 sel := thisContext sender selector. |
839 sel := thisContext sender selector. |
841 args := thisContext sender args. |
840 args := thisContext sender args. |
842 |
841 |
843 "take care: subclassing Autoload must still be possible" |
842 "take care: subclassing Autoload must still be possible" |
844 (self == Autoload) ifTrue:[ |
843 (self == Autoload) ifTrue:[ |
845 ^ self perform:sel inClass:Autoload class superclass withArguments:args |
844 ^ self perform:sel inClass:self class superclass withArguments:args |
846 ]. |
845 ]. |
847 |
846 |
848 newClass := self autoload. |
847 newClass := self autoload. |
849 newClass notNil ifTrue:[ |
848 newClass notNil ifTrue:[ |
850 newClass isLoaded ifTrue:[ |
849 newClass isLoaded ifTrue:[ |
935 ! ! |
934 ! ! |
936 |
935 |
937 !Autoload class methodsFor:'documentation'! |
936 !Autoload class methodsFor:'documentation'! |
938 |
937 |
939 version |
938 version |
940 ^ '$Header: /cvs/stx/stx/libbasic/Autoload.st,v 1.153 2009-10-13 09:55:18 stefan Exp $' |
939 ^ '$Header: /cvs/stx/stx/libbasic/Autoload.st,v 1.154 2009-10-13 16:43:33 stefan Exp $' |
941 ! |
940 ! |
942 |
941 |
943 version_CVS |
942 version_CVS |
944 ^ '$Header: /cvs/stx/stx/libbasic/Autoload.st,v 1.153 2009-10-13 09:55:18 stefan Exp $' |
943 ^ '$Header: /cvs/stx/stx/libbasic/Autoload.st,v 1.154 2009-10-13 16:43:33 stefan Exp $' |
945 ! ! |
944 ! ! |
946 |
945 |
947 Autoload initialize! |
946 Autoload initialize! |