From: <fwi...@us...> - 2008-12-06 15:00:13
|
Revision: 5715 http://jython.svn.sourceforge.net/jython/?rev=5715&view=rev Author: fwierzbicki Date: 2008-12-06 15:00:08 +0000 (Sat, 06 Dec 2008) Log Message: ----------- Now able to use the exact copy of CPython's ast.py Copied from: http://svn.python.org/projects/python/branches/release26-maint/Lib/ast.py Modified Paths: -------------- trunk/jython/Lib/ast.py Modified: trunk/jython/Lib/ast.py =================================================================== --- trunk/jython/Lib/ast.py 2008-12-06 09:02:53 UTC (rev 5714) +++ trunk/jython/Lib/ast.py 2008-12-06 15:00:08 UTC (rev 5715) @@ -25,10 +25,10 @@ :copyright: Copyright 2008 by Armin Ronacher. :license: Python License. """ -import sys from _ast import * from _ast import __version__ + def parse(expr, filename='<unknown>', mode='exec'): """ Parse an expression into an AST node. @@ -90,7 +90,7 @@ rv += ', '.join('%s=%s' % (a, _format(getattr(node, a))) for a in node._attributes) return rv + ')' - elif hasattr(node, "__iter__"): + elif isinstance(node, list): return '[%s]' % ', '.join(_format(x) for x in node) return repr(node) if not isinstance(node, AST): @@ -168,7 +168,7 @@ for name, field in iter_fields(node): if isinstance(field, AST): yield field - elif hasattr(field, "__iter__"): + elif isinstance(field, list): for item in field: if isinstance(item, AST): yield item @@ -233,7 +233,7 @@ def generic_visit(self, node): """Called if no explicit visitor function exists for a node.""" for field, value in iter_fields(node): - if hasattr(value, "__iter__"): + if isinstance(value, list): for item in value: if isinstance(item, AST): self.visit(item) @@ -280,7 +280,7 @@ def generic_visit(self, node): for field, old_value in iter_fields(node): old_value = getattr(node, field, None) - if hasattr(old_value, "__iter__"): + if isinstance(old_value, list): new_values = [] for value in old_value: if isinstance(value, AST): This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |