help-smalltalk
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Help-smalltalk] STCompiler ignores current namespace change for var loo


From: Stephen Compall
Subject: [Help-smalltalk] STCompiler ignores current namespace change for var lookup in evals
Date: Mon, 04 Dec 2006 03:23:33 -0600

"Contents of file innamespace.st"
Smalltalk addSubspace: #S11Test!                                                
Namespace current: S11Test!                                                     
                                                                                
Object subclass: #Dummy                                                         
       instanceVariableNames: ''                                                
       classVariableNames: ''                                                   
       poolDictionaries: ''                                                     
       category: 'dummy category'                                               
!                                                                               
                                                                                
Dummy printNl!

"First shell run"
[smalltalk-jit]$ ./gst                                                          
GNU Smalltalk ready                                                             
                                                                                
st> FileStream fileIn: '/home/sirian/ide/tests/innamespace.st'!                 
S11Test.Dummy                                                                   
FileStream

"Second shell run"
st> [smalltalk-jit]$ ./gst                                                      
GNU Smalltalk ready                                                             
                                                                                
st> PackageLoader fileInPackage: 'Compiler'!                                    
Loading package Parser                                                          
Loading package Compiler                                                        
PackageLoader                                                                   
st> FileStream fileIn: '/home/sirian/ide/tests/innamespace.st'!                 
Object: STFileInParser new "<-0x4c5267e0>" error: Undefined variable 'Dummy' 
referenced.                                                                     
  
Smalltalk.Error(Smalltalk.Exception)>>#signal                                   
Smalltalk.Error(Smalltalk.Exception)>>#signal:                                  
STInST.STFileInParser(Smalltalk.Object)>>#error:                                
STInST.STFileInParser(STInST.RBParser)>>#parserError:                           
STInST.STCompiler>>#compileError:                                               
STInST.STCompiler>>#lookupName:                                                 
STInST.STCompiler>>#acceptVariableNode:                                         
STInST.RBVariableNode>>#acceptVisitor:                                          
STInST.STCompiler>>#acceptMessageNode:                                          
STInST.RBMessageNode>>#acceptVisitor:                                           
optimized [] in STInST.STCompiler>>#compileStatements:                          
Smalltalk.OrderedCollection(Smalltalk.SequenceableCollection)>>#keysAndValuesDo:
                                                                               
STInST.STCompiler>>#compileStatements:                                          
STInST.STCompiler>>#acceptSequenceNode:                                         
STInST.RBSequenceNode>>#acceptVisitor:                                          
STInST.STCompiler(STInST.RBProgramNodeVisitor)>>#visitNode:                     
STInST.STCompiler class>>#compile:asMethodOf:classified:parser:                 
STInST.STFileInParser>>#evaluate:                                               
STInST.STFileInParser(STInST.RBParser)>>#parseDoits                             
STInST.STFileInParser(STInST.RBParser)>>#parseSmalltalk                         
STInST.STFileInParser class(STInST.RBParser 
class)>>#parseSmalltalkStream:onError:                                          
                                   
STInST.STFileInParser class(STInST.RBParser class)>>#parseSmalltalkStream:      
optimized [] in Smalltalk.Stream>>#fileIn                                       
Smalltalk.BlockClosure>>#ensure:                                                
Smalltalk.FileStream(Smalltalk.Stream)>>#fileIn                                 
Smalltalk.FileStream class>>#fileIn:                                            
Smalltalk.UndefinedObject>>#executeStatements

"I am not sure of the proper protocol here, particularly as 'nil class
environment' is indeed 'Smalltalk' regardless of the current namespace.
However, the built-in compiler's behavior seems better here."

-- 
Stephen Compall
http://scompall.nocandysw.com/blog
##smalltalk,#gnu-smalltalk on Freenode IRC

Attachment: signature.asc
Description: This is a digitally signed message part


reply via email to

[Prev in Thread] Current Thread [Next in Thread]