Message70923
I am testing python 2.6 from SVN version: 40110
I tried the following, based on the documentation
and example in the ast module. I would expect the
second 'compile' to succeed also, instead of
throwing an exception.
Python 2.6b2+ (unknown, Aug 6 2008, 18:05:08)
[GCC 4.2.3 (Ubuntu 4.2.3-2ubuntu7)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import ast
>>> a = ast.parse('foo', mode='eval')
>>> x = compile(a, '<unknown>', mode='eval')
>>> class RewriteName(ast.NodeTransformer):
... def visit_Name(self, node):
... return ast.copy_location(ast.Subscript(
... value=ast.Name(id='data', ctx=ast.Load()),
... slice=ast.Index(value=ast.Str(s=node.id)),
... ctx=node.ctx
... ), node)
...
>>> a2 = RewriteName().visit(a)
>>> x2 = compile(a2, '<unknown>', mode='eval')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: required field "lineno" missing from expr
>>> |
|
Date |
User |
Action |
Args |
2008-08-09 02:26:16 | daishiharada | set | recipients:
+ daishiharada |
2008-08-09 02:26:14 | daishiharada | set | messageid: <1218248774.79.0.612230512704.issue3530@psf.upfronthosting.co.za> |
2008-08-09 02:26:13 | daishiharada | link | issue3530 messages |
2008-08-09 02:26:12 | daishiharada | create | |
|