namespace support
authorClaus Gittinger <cg@exept.de>
Tue, 05 Nov 1996 23:24:27 +0100
changeset 418 6a3d240e7db6
parent 417 69263abda671
child 419 5a5140d5523e
namespace support
Parser.st
--- a/Parser.st	Tue Nov 05 23:21:12 1996 +0100
+++ b/Parser.st	Tue Nov 05 23:24:27 1996 +0100
@@ -3392,7 +3392,7 @@
     "parse a variable; return a node-tree, nil or #Error"
 
     |var instIndex aClass searchBlock args vars
-     tokenSymbol|
+     tokenSymbol currentSpace|
 
     "is it a block-arg or block-var ?"
     searchBlock := currentBlock.
@@ -3495,6 +3495,16 @@
         (aClass privateClassesAt:varName) notNil ifTrue:[
             parseForCode ifFalse:[self rememberGlobalUsed:(aClass name , '::' , varName)].
             ^ VariableNode type:#PrivateClass class:aClass name:varName
+        ].
+    ].
+
+    "is it in the current namespace ?"
+    currentSpace := Class nameSpaceQuerySignal raise.
+    (currentSpace notNil
+    and:[currentSpace ~~ Smalltalk]) ifTrue:[
+        (currentSpace privateClassesAt:varName) notNil ifTrue:[
+            parseForCode ifFalse:[self rememberGlobalUsed:(currentSpace name , '::' , varName)].
+            ^ VariableNode type:#PrivateClass class:currentSpace name:varName
         ]
     ].
 
@@ -3509,7 +3519,7 @@
 
     ^ #Error
 
-    "Modified: 14.10.1996 / 19:47:52 / cg"
+    "Modified: 5.11.1996 / 22:58:15 / cg"
 ! !
 
 !Parser methodsFor:'queries'!
@@ -3775,6 +3785,6 @@
 !Parser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libcomp/Parser.st,v 1.103 1996-11-05 18:27:10 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libcomp/Parser.st,v 1.104 1996-11-05 22:24:27 cg Exp $'
 ! !
 Parser initialize!