[New-bugs-announce] [issue3530] ast.NodeTransformer bug

daishi report at bugs.python.org
Sat Aug 9 04:26:14 CEST 2008

New submission from daishi <python at daishi.fastmail.fm>:

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

components: Library (Lib)
messages: 70923
nosy: daishiharada
severity: normal
status: open
title: ast.NodeTransformer bug
versions: Python 2.6

Python tracker <report at bugs.python.org>

More information about the New-bugs-announce mailing list