[IronPython] Compiler error for invalid field access

Michael Foord fuzzyman at voidspace.org.uk
Sun Aug 5 22:11:14 CEST 2007


Ori wrote:
> Executing the code to know if there is a problem or not is not what I wish
> for. I really can't do it because in my case the context does not exist.
> I will try to create a 'fake' context in order to run the code, but I'm not
> sure it is a good idea..
>
>   

I presume you are executing the code *somewhere*. What about catching 
the error there? (Or creating a 'safe execution' method that does the 
error trapping and routing all calls through that?)

Michael Foord
http://www.ironpython.info/

> Chip Norkus wrote:
>   
>> On Sun Aug 05, 2007; 12:51PM -0700, Ori wrote:
>>     
>>> Hello,
>>>
>>> I'm using the following code to compile python code:
>>>
>>> SystemState state = new SystemState();
>>> MyCompilerSink sink = new MyCompilerSink();
>>> CompilerContext context = new CompilerContext(string.Empty, sink);
>>> Parser parser = Parser.FromString(state, context, "my code");
>>> parser.ParseFileInput();
>>>
>>> it works find for finding syntax mistakes - but I also wan to know about
>>> invalid property names / method names. If for example the code uses the
>>> expression 'self.Name' I would like to see a compilation error if the
>>> object
>>> does not have a 'Name' property.
>>>
>>>       
>> Because objects are mutable Python by its nature does not resolve
>> member/property references until they occur within the code.  Consider
>> the following example (which is valid functional Python):
>>
>> class foo(object):
>>     setup = False
>>
>> f = foo()
>>
>> def bar(f):
>>     if f.setup:
>>         f.baz = "hi"
>>         print f.baz
>>     else:
>>         f.setup = True
>>         print "setup"
>>
>> bar(f)
>> bar(f)
>>     
>>     
>>
>>     
>>> Is there a way to do it?
>>>
>>> Thanks,
>>> Ori
>>> -- 
>>> View this message in context:
>>> http://www.nabble.com/Compiler-error-for-invalid-field-access-tf4220967.html#a12007623
>>> Sent from the IronPython mailing list archive at Nabble.com.
>>>
>>> _______________________________________________
>>> Users mailing list
>>> Users at lists.ironpython.com
>>> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>>>
>>>       
>> -chip
>> --
>> personal: chip norkus; irc: wd;                   wd at teleri.net
>> info:     finger wd at teleri.net for plan or keys;  http://telekinesis.org
>> _______________________________________________
>> Users mailing list
>> Users at lists.ironpython.com
>> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>>
>>
>>     
>
>   




More information about the Ironpython-users mailing list