From: Jeremy Hylton Date: Mon, 17 Sep 2001 18:02:21 +0000 (+0000) Subject: Add utility to set filename attribute on all nodes X-Git-Tag: v2.2.1c1~1776 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=09392b77a4d8be766e394177a466d51c2a64480f;p=thirdparty%2FPython%2Fcpython.git Add utility to set filename attribute on all nodes --- diff --git a/Lib/compiler/misc.py b/Lib/compiler/misc.py index 9cbd73ff2354..b4bbe78050c2 100644 --- a/Lib/compiler/misc.py +++ b/Lib/compiler/misc.py @@ -64,3 +64,12 @@ def mangle(name, klass): klass = klass[:MANGLE_LEN-tlen] return "_%s%s" % (klass, name) + +def set_filename(filename, tree): + """Set the filename attribute to filename on every node in tree""" + worklist = [tree] + while worklist: + node = worklist.pop(0) + node.filename = filename + worklist.extend(node.getChildNodes()) + diff --git a/Tools/compiler/compiler/misc.py b/Tools/compiler/compiler/misc.py index 9cbd73ff2354..b4bbe78050c2 100644 --- a/Tools/compiler/compiler/misc.py +++ b/Tools/compiler/compiler/misc.py @@ -64,3 +64,12 @@ def mangle(name, klass): klass = klass[:MANGLE_LEN-tlen] return "_%s%s" % (klass, name) + +def set_filename(filename, tree): + """Set the filename attribute to filename on every node in tree""" + worklist = [tree] + while worklist: + node = worklist.pop(0) + node.filename = filename + worklist.extend(node.getChildNodes()) +