*** empty log message ***
authorClaus Gittinger <cg@exept.de>
Mon, 23 Oct 2006 18:06:37 +0200
changeset 10127 70e1b66ceae1
parent 10126 4edb2981522b
child 10128 f3942b8fada3
*** empty log message ***
Smalltalk.st
--- a/Smalltalk.st	Mon Oct 23 16:55:28 2006 +0200
+++ b/Smalltalk.st	Mon Oct 23 18:06:37 2006 +0200
@@ -2148,48 +2148,51 @@
      If a private class of an autoloaded class is referenced, the owning class
      will be loaded."
 
-    |cls sym nonMeta idx prefix rest namespace|
+    |cls sym nonMeta idx prefix rest namespace nsNameSymbol|
 
     "Quick try - if everything is loaded, this will succeed.
      But be careful, to not invent new symbols ..."
     sym := aString asSymbolIfInterned.
     sym notNil ifTrue:[
-	cls := self at:sym ifAbsent:nil.
-	cls isBehavior ifTrue:[^ cls].
+        cls := self at:sym ifAbsent:nil.
+        cls isBehavior ifTrue:[^ cls].
     ].
 
     (aString endsWith:' class') ifTrue:[
-	nonMeta := self classNamed:(aString copyWithoutLast:6).
-	nonMeta notNil ifTrue:[
-	    ^ nonMeta theMetaclass
-	].
+        nonMeta := self classNamed:(aString copyWithoutLast:6).
+        nonMeta notNil ifTrue:[
+            ^ nonMeta theMetaclass
+        ].
     ].
 
     "no success yet. Try if this is a private classes of an autoloaded class"
     cls isNil ifTrue:[
-	idx := aString indexOfSubCollection:'::'.
-	idx ~~ 0 ifTrue:[
-	    prefix := aString copyTo:idx-1.
-	    rest := aString copyFrom:idx+2.
-	    namespace := self at:prefix asSymbolIfInterned ifAbsent:nil.
-	    "namespace may be the owner of a private class.
-	     NameSpaces and Behaviors have the same protocol"
-	    [namespace isBehavior] whileTrue:[
-		idx := rest indexOfSubCollection:'::'.
-		idx ~~ 0 ifTrue:[
-		    prefix := rest copyTo:idx-1.
-		    rest := rest copyFrom:idx+2.
-		    "this does an implicit autoload if required"
-		    namespace := namespace privateClassesAt:prefix.
-		] ifFalse:[
-		    namespace isLoaded ifTrue:[
-			cls := namespace privateClassesAt:rest.
-			cls isBehavior ifTrue:[^ cls].
-		    ].
-		    namespace := nil.   "force exit of loop"
-		].
-	    ].
-	].
+        idx := aString indexOfSubCollection:'::'.
+        idx ~~ 0 ifTrue:[
+            prefix := aString copyTo:idx-1.
+            nsNameSymbol := prefix asSymbolIfInterned.
+            nsNameSymbol notNil ifTrue:[
+                rest := aString copyFrom:idx+2.
+                namespace := self at:prefix asSymbolIfInterned ifAbsent:nil.
+                "namespace may be the owner of a private class.
+                 NameSpaces and Behaviors have the same protocol"
+                [namespace isBehavior] whileTrue:[
+                    idx := rest indexOfSubCollection:'::'.
+                    idx ~~ 0 ifTrue:[
+                        prefix := rest copyTo:idx-1.
+                        rest := rest copyFrom:idx+2.
+                        "this does an implicit autoload if required"
+                        namespace := namespace privateClassesAt:prefix.
+                    ] ifFalse:[
+                        namespace isLoaded ifTrue:[
+                            cls := namespace privateClassesAt:rest.
+                            cls isBehavior ifTrue:[^ cls].
+                        ].
+                        namespace := nil.   "force exit of loop"
+                    ].
+                ].
+            ].
+        ].
     ].
 
     ^ nil
@@ -2209,7 +2212,7 @@
 
     "Created: / 24-11-1995 / 17:30:22 / cg"
     "Modified: / 19-06-1996 / 14:22:21 / stefan"
-    "Modified: / 03-08-2006 / 14:01:06 / cg"
+    "Modified: / 23-10-2006 / 18:06:53 / cg"
 !
 
 classNames
@@ -6896,5 +6899,5 @@
 !Smalltalk class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Smalltalk.st,v 1.772 2006-10-23 14:55:28 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Smalltalk.st,v 1.773 2006-10-23 16:06:37 cg Exp $'
 ! !