[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