]> git.proxmox.com Git - mirror_edk2.git/blobdiff - AppPkg/Applications/Python/Python-2.7.2/Lib/compiler/ast.py
edk2: Remove AppPkg, StdLib, StdLibPrivateInternalFiles
[mirror_edk2.git] / AppPkg / Applications / Python / Python-2.7.2 / Lib / compiler / ast.py
diff --git a/AppPkg/Applications/Python/Python-2.7.2/Lib/compiler/ast.py b/AppPkg/Applications/Python/Python-2.7.2/Lib/compiler/ast.py
deleted file mode 100644 (file)
index 319c5db..0000000
+++ /dev/null
@@ -1,1419 +0,0 @@
-"""Python abstract syntax node definitions\r
-\r
-This file is automatically generated by Tools/compiler/astgen.py\r
-"""\r
-from compiler.consts import CO_VARARGS, CO_VARKEYWORDS\r
-\r
-def flatten(seq):\r
-    l = []\r
-    for elt in seq:\r
-        t = type(elt)\r
-        if t is tuple or t is list:\r
-            for elt2 in flatten(elt):\r
-                l.append(elt2)\r
-        else:\r
-            l.append(elt)\r
-    return l\r
-\r
-def flatten_nodes(seq):\r
-    return [n for n in flatten(seq) if isinstance(n, Node)]\r
-\r
-nodes = {}\r
-\r
-class Node:\r
-    """Abstract base class for ast nodes."""\r
-    def getChildren(self):\r
-        pass # implemented by subclasses\r
-    def __iter__(self):\r
-        for n in self.getChildren():\r
-            yield n\r
-    def asList(self): # for backwards compatibility\r
-        return self.getChildren()\r
-    def getChildNodes(self):\r
-        pass # implemented by subclasses\r
-\r
-class EmptyNode(Node):\r
-    pass\r
-\r
-class Expression(Node):\r
-    # Expression is an artificial node class to support "eval"\r
-    nodes["expression"] = "Expression"\r
-    def __init__(self, node):\r
-        self.node = node\r
-\r
-    def getChildren(self):\r
-        return self.node,\r
-\r
-    def getChildNodes(self):\r
-        return self.node,\r
-\r
-    def __repr__(self):\r
-        return "Expression(%s)" % (repr(self.node))\r
-\r
-class Add(Node):\r
-    def __init__(self, leftright, lineno=None):\r
-        self.left = leftright[0]\r
-        self.right = leftright[1]\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        return self.left, self.right\r
-\r
-    def getChildNodes(self):\r
-        return self.left, self.right\r
-\r
-    def __repr__(self):\r
-        return "Add((%s, %s))" % (repr(self.left), repr(self.right))\r
-\r
-class And(Node):\r
-    def __init__(self, nodes, lineno=None):\r
-        self.nodes = nodes\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        return tuple(flatten(self.nodes))\r
-\r
-    def getChildNodes(self):\r
-        nodelist = []\r
-        nodelist.extend(flatten_nodes(self.nodes))\r
-        return tuple(nodelist)\r
-\r
-    def __repr__(self):\r
-        return "And(%s)" % (repr(self.nodes),)\r
-\r
-class AssAttr(Node):\r
-    def __init__(self, expr, attrname, flags, lineno=None):\r
-        self.expr = expr\r
-        self.attrname = attrname\r
-        self.flags = flags\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        return self.expr, self.attrname, self.flags\r
-\r
-    def getChildNodes(self):\r
-        return self.expr,\r
-\r
-    def __repr__(self):\r
-        return "AssAttr(%s, %s, %s)" % (repr(self.expr), repr(self.attrname), repr(self.flags))\r
-\r
-class AssList(Node):\r
-    def __init__(self, nodes, lineno=None):\r
-        self.nodes = nodes\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        return tuple(flatten(self.nodes))\r
-\r
-    def getChildNodes(self):\r
-        nodelist = []\r
-        nodelist.extend(flatten_nodes(self.nodes))\r
-        return tuple(nodelist)\r
-\r
-    def __repr__(self):\r
-        return "AssList(%s)" % (repr(self.nodes),)\r
-\r
-class AssName(Node):\r
-    def __init__(self, name, flags, lineno=None):\r
-        self.name = name\r
-        self.flags = flags\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        return self.name, self.flags\r
-\r
-    def getChildNodes(self):\r
-        return ()\r
-\r
-    def __repr__(self):\r
-        return "AssName(%s, %s)" % (repr(self.name), repr(self.flags))\r
-\r
-class AssTuple(Node):\r
-    def __init__(self, nodes, lineno=None):\r
-        self.nodes = nodes\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        return tuple(flatten(self.nodes))\r
-\r
-    def getChildNodes(self):\r
-        nodelist = []\r
-        nodelist.extend(flatten_nodes(self.nodes))\r
-        return tuple(nodelist)\r
-\r
-    def __repr__(self):\r
-        return "AssTuple(%s)" % (repr(self.nodes),)\r
-\r
-class Assert(Node):\r
-    def __init__(self, test, fail, lineno=None):\r
-        self.test = test\r
-        self.fail = fail\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        children = []\r
-        children.append(self.test)\r
-        children.append(self.fail)\r
-        return tuple(children)\r
-\r
-    def getChildNodes(self):\r
-        nodelist = []\r
-        nodelist.append(self.test)\r
-        if self.fail is not None:\r
-            nodelist.append(self.fail)\r
-        return tuple(nodelist)\r
-\r
-    def __repr__(self):\r
-        return "Assert(%s, %s)" % (repr(self.test), repr(self.fail))\r
-\r
-class Assign(Node):\r
-    def __init__(self, nodes, expr, lineno=None):\r
-        self.nodes = nodes\r
-        self.expr = expr\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        children = []\r
-        children.extend(flatten(self.nodes))\r
-        children.append(self.expr)\r
-        return tuple(children)\r
-\r
-    def getChildNodes(self):\r
-        nodelist = []\r
-        nodelist.extend(flatten_nodes(self.nodes))\r
-        nodelist.append(self.expr)\r
-        return tuple(nodelist)\r
-\r
-    def __repr__(self):\r
-        return "Assign(%s, %s)" % (repr(self.nodes), repr(self.expr))\r
-\r
-class AugAssign(Node):\r
-    def __init__(self, node, op, expr, lineno=None):\r
-        self.node = node\r
-        self.op = op\r
-        self.expr = expr\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        return self.node, self.op, self.expr\r
-\r
-    def getChildNodes(self):\r
-        return self.node, self.expr\r
-\r
-    def __repr__(self):\r
-        return "AugAssign(%s, %s, %s)" % (repr(self.node), repr(self.op), repr(self.expr))\r
-\r
-class Backquote(Node):\r
-    def __init__(self, expr, lineno=None):\r
-        self.expr = expr\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        return self.expr,\r
-\r
-    def getChildNodes(self):\r
-        return self.expr,\r
-\r
-    def __repr__(self):\r
-        return "Backquote(%s)" % (repr(self.expr),)\r
-\r
-class Bitand(Node):\r
-    def __init__(self, nodes, lineno=None):\r
-        self.nodes = nodes\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        return tuple(flatten(self.nodes))\r
-\r
-    def getChildNodes(self):\r
-        nodelist = []\r
-        nodelist.extend(flatten_nodes(self.nodes))\r
-        return tuple(nodelist)\r
-\r
-    def __repr__(self):\r
-        return "Bitand(%s)" % (repr(self.nodes),)\r
-\r
-class Bitor(Node):\r
-    def __init__(self, nodes, lineno=None):\r
-        self.nodes = nodes\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        return tuple(flatten(self.nodes))\r
-\r
-    def getChildNodes(self):\r
-        nodelist = []\r
-        nodelist.extend(flatten_nodes(self.nodes))\r
-        return tuple(nodelist)\r
-\r
-    def __repr__(self):\r
-        return "Bitor(%s)" % (repr(self.nodes),)\r
-\r
-class Bitxor(Node):\r
-    def __init__(self, nodes, lineno=None):\r
-        self.nodes = nodes\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        return tuple(flatten(self.nodes))\r
-\r
-    def getChildNodes(self):\r
-        nodelist = []\r
-        nodelist.extend(flatten_nodes(self.nodes))\r
-        return tuple(nodelist)\r
-\r
-    def __repr__(self):\r
-        return "Bitxor(%s)" % (repr(self.nodes),)\r
-\r
-class Break(Node):\r
-    def __init__(self, lineno=None):\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        return ()\r
-\r
-    def getChildNodes(self):\r
-        return ()\r
-\r
-    def __repr__(self):\r
-        return "Break()"\r
-\r
-class CallFunc(Node):\r
-    def __init__(self, node, args, star_args = None, dstar_args = None, lineno=None):\r
-        self.node = node\r
-        self.args = args\r
-        self.star_args = star_args\r
-        self.dstar_args = dstar_args\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        children = []\r
-        children.append(self.node)\r
-        children.extend(flatten(self.args))\r
-        children.append(self.star_args)\r
-        children.append(self.dstar_args)\r
-        return tuple(children)\r
-\r
-    def getChildNodes(self):\r
-        nodelist = []\r
-        nodelist.append(self.node)\r
-        nodelist.extend(flatten_nodes(self.args))\r
-        if self.star_args is not None:\r
-            nodelist.append(self.star_args)\r
-        if self.dstar_args is not None:\r
-            nodelist.append(self.dstar_args)\r
-        return tuple(nodelist)\r
-\r
-    def __repr__(self):\r
-        return "CallFunc(%s, %s, %s, %s)" % (repr(self.node), repr(self.args), repr(self.star_args), repr(self.dstar_args))\r
-\r
-class Class(Node):\r
-    def __init__(self, name, bases, doc, code, decorators = None, lineno=None):\r
-        self.name = name\r
-        self.bases = bases\r
-        self.doc = doc\r
-        self.code = code\r
-        self.decorators = decorators\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        children = []\r
-        children.append(self.name)\r
-        children.extend(flatten(self.bases))\r
-        children.append(self.doc)\r
-        children.append(self.code)\r
-        children.append(self.decorators)\r
-        return tuple(children)\r
-\r
-    def getChildNodes(self):\r
-        nodelist = []\r
-        nodelist.extend(flatten_nodes(self.bases))\r
-        nodelist.append(self.code)\r
-        if self.decorators is not None:\r
-            nodelist.append(self.decorators)\r
-        return tuple(nodelist)\r
-\r
-    def __repr__(self):\r
-        return "Class(%s, %s, %s, %s, %s)" % (repr(self.name), repr(self.bases), repr(self.doc), repr(self.code), repr(self.decorators))\r
-\r
-class Compare(Node):\r
-    def __init__(self, expr, ops, lineno=None):\r
-        self.expr = expr\r
-        self.ops = ops\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        children = []\r
-        children.append(self.expr)\r
-        children.extend(flatten(self.ops))\r
-        return tuple(children)\r
-\r
-    def getChildNodes(self):\r
-        nodelist = []\r
-        nodelist.append(self.expr)\r
-        nodelist.extend(flatten_nodes(self.ops))\r
-        return tuple(nodelist)\r
-\r
-    def __repr__(self):\r
-        return "Compare(%s, %s)" % (repr(self.expr), repr(self.ops))\r
-\r
-class Const(Node):\r
-    def __init__(self, value, lineno=None):\r
-        self.value = value\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        return self.value,\r
-\r
-    def getChildNodes(self):\r
-        return ()\r
-\r
-    def __repr__(self):\r
-        return "Const(%s)" % (repr(self.value),)\r
-\r
-class Continue(Node):\r
-    def __init__(self, lineno=None):\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        return ()\r
-\r
-    def getChildNodes(self):\r
-        return ()\r
-\r
-    def __repr__(self):\r
-        return "Continue()"\r
-\r
-class Decorators(Node):\r
-    def __init__(self, nodes, lineno=None):\r
-        self.nodes = nodes\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        return tuple(flatten(self.nodes))\r
-\r
-    def getChildNodes(self):\r
-        nodelist = []\r
-        nodelist.extend(flatten_nodes(self.nodes))\r
-        return tuple(nodelist)\r
-\r
-    def __repr__(self):\r
-        return "Decorators(%s)" % (repr(self.nodes),)\r
-\r
-class Dict(Node):\r
-    def __init__(self, items, lineno=None):\r
-        self.items = items\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        return tuple(flatten(self.items))\r
-\r
-    def getChildNodes(self):\r
-        nodelist = []\r
-        nodelist.extend(flatten_nodes(self.items))\r
-        return tuple(nodelist)\r
-\r
-    def __repr__(self):\r
-        return "Dict(%s)" % (repr(self.items),)\r
-\r
-class Discard(Node):\r
-    def __init__(self, expr, lineno=None):\r
-        self.expr = expr\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        return self.expr,\r
-\r
-    def getChildNodes(self):\r
-        return self.expr,\r
-\r
-    def __repr__(self):\r
-        return "Discard(%s)" % (repr(self.expr),)\r
-\r
-class Div(Node):\r
-    def __init__(self, leftright, lineno=None):\r
-        self.left = leftright[0]\r
-        self.right = leftright[1]\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        return self.left, self.right\r
-\r
-    def getChildNodes(self):\r
-        return self.left, self.right\r
-\r
-    def __repr__(self):\r
-        return "Div((%s, %s))" % (repr(self.left), repr(self.right))\r
-\r
-class Ellipsis(Node):\r
-    def __init__(self, lineno=None):\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        return ()\r
-\r
-    def getChildNodes(self):\r
-        return ()\r
-\r
-    def __repr__(self):\r
-        return "Ellipsis()"\r
-\r
-class Exec(Node):\r
-    def __init__(self, expr, locals, globals, lineno=None):\r
-        self.expr = expr\r
-        self.locals = locals\r
-        self.globals = globals\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        children = []\r
-        children.append(self.expr)\r
-        children.append(self.locals)\r
-        children.append(self.globals)\r
-        return tuple(children)\r
-\r
-    def getChildNodes(self):\r
-        nodelist = []\r
-        nodelist.append(self.expr)\r
-        if self.locals is not None:\r
-            nodelist.append(self.locals)\r
-        if self.globals is not None:\r
-            nodelist.append(self.globals)\r
-        return tuple(nodelist)\r
-\r
-    def __repr__(self):\r
-        return "Exec(%s, %s, %s)" % (repr(self.expr), repr(self.locals), repr(self.globals))\r
-\r
-class FloorDiv(Node):\r
-    def __init__(self, leftright, lineno=None):\r
-        self.left = leftright[0]\r
-        self.right = leftright[1]\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        return self.left, self.right\r
-\r
-    def getChildNodes(self):\r
-        return self.left, self.right\r
-\r
-    def __repr__(self):\r
-        return "FloorDiv((%s, %s))" % (repr(self.left), repr(self.right))\r
-\r
-class For(Node):\r
-    def __init__(self, assign, list, body, else_, lineno=None):\r
-        self.assign = assign\r
-        self.list = list\r
-        self.body = body\r
-        self.else_ = else_\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        children = []\r
-        children.append(self.assign)\r
-        children.append(self.list)\r
-        children.append(self.body)\r
-        children.append(self.else_)\r
-        return tuple(children)\r
-\r
-    def getChildNodes(self):\r
-        nodelist = []\r
-        nodelist.append(self.assign)\r
-        nodelist.append(self.list)\r
-        nodelist.append(self.body)\r
-        if self.else_ is not None:\r
-            nodelist.append(self.else_)\r
-        return tuple(nodelist)\r
-\r
-    def __repr__(self):\r
-        return "For(%s, %s, %s, %s)" % (repr(self.assign), repr(self.list), repr(self.body), repr(self.else_))\r
-\r
-class From(Node):\r
-    def __init__(self, modname, names, level, lineno=None):\r
-        self.modname = modname\r
-        self.names = names\r
-        self.level = level\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        return self.modname, self.names, self.level\r
-\r
-    def getChildNodes(self):\r
-        return ()\r
-\r
-    def __repr__(self):\r
-        return "From(%s, %s, %s)" % (repr(self.modname), repr(self.names), repr(self.level))\r
-\r
-class Function(Node):\r
-    def __init__(self, decorators, name, argnames, defaults, flags, doc, code, lineno=None):\r
-        self.decorators = decorators\r
-        self.name = name\r
-        self.argnames = argnames\r
-        self.defaults = defaults\r
-        self.flags = flags\r
-        self.doc = doc\r
-        self.code = code\r
-        self.lineno = lineno\r
-        self.varargs = self.kwargs = None\r
-        if flags & CO_VARARGS:\r
-            self.varargs = 1\r
-        if flags & CO_VARKEYWORDS:\r
-            self.kwargs = 1\r
-\r
-\r
-    def getChildren(self):\r
-        children = []\r
-        children.append(self.decorators)\r
-        children.append(self.name)\r
-        children.append(self.argnames)\r
-        children.extend(flatten(self.defaults))\r
-        children.append(self.flags)\r
-        children.append(self.doc)\r
-        children.append(self.code)\r
-        return tuple(children)\r
-\r
-    def getChildNodes(self):\r
-        nodelist = []\r
-        if self.decorators is not None:\r
-            nodelist.append(self.decorators)\r
-        nodelist.extend(flatten_nodes(self.defaults))\r
-        nodelist.append(self.code)\r
-        return tuple(nodelist)\r
-\r
-    def __repr__(self):\r
-        return "Function(%s, %s, %s, %s, %s, %s, %s)" % (repr(self.decorators), repr(self.name), repr(self.argnames), repr(self.defaults), repr(self.flags), repr(self.doc), repr(self.code))\r
-\r
-class GenExpr(Node):\r
-    def __init__(self, code, lineno=None):\r
-        self.code = code\r
-        self.lineno = lineno\r
-        self.argnames = ['.0']\r
-        self.varargs = self.kwargs = None\r
-\r
-\r
-    def getChildren(self):\r
-        return self.code,\r
-\r
-    def getChildNodes(self):\r
-        return self.code,\r
-\r
-    def __repr__(self):\r
-        return "GenExpr(%s)" % (repr(self.code),)\r
-\r
-class GenExprFor(Node):\r
-    def __init__(self, assign, iter, ifs, lineno=None):\r
-        self.assign = assign\r
-        self.iter = iter\r
-        self.ifs = ifs\r
-        self.lineno = lineno\r
-        self.is_outmost = False\r
-\r
-    def getChildren(self):\r
-        children = []\r
-        children.append(self.assign)\r
-        children.append(self.iter)\r
-        children.extend(flatten(self.ifs))\r
-        return tuple(children)\r
-\r
-    def getChildNodes(self):\r
-        nodelist = []\r
-        nodelist.append(self.assign)\r
-        nodelist.append(self.iter)\r
-        nodelist.extend(flatten_nodes(self.ifs))\r
-        return tuple(nodelist)\r
-\r
-    def __repr__(self):\r
-        return "GenExprFor(%s, %s, %s)" % (repr(self.assign), repr(self.iter), repr(self.ifs))\r
-\r
-class GenExprIf(Node):\r
-    def __init__(self, test, lineno=None):\r
-        self.test = test\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        return self.test,\r
-\r
-    def getChildNodes(self):\r
-        return self.test,\r
-\r
-    def __repr__(self):\r
-        return "GenExprIf(%s)" % (repr(self.test),)\r
-\r
-class GenExprInner(Node):\r
-    def __init__(self, expr, quals, lineno=None):\r
-        self.expr = expr\r
-        self.quals = quals\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        children = []\r
-        children.append(self.expr)\r
-        children.extend(flatten(self.quals))\r
-        return tuple(children)\r
-\r
-    def getChildNodes(self):\r
-        nodelist = []\r
-        nodelist.append(self.expr)\r
-        nodelist.extend(flatten_nodes(self.quals))\r
-        return tuple(nodelist)\r
-\r
-    def __repr__(self):\r
-        return "GenExprInner(%s, %s)" % (repr(self.expr), repr(self.quals))\r
-\r
-class Getattr(Node):\r
-    def __init__(self, expr, attrname, lineno=None):\r
-        self.expr = expr\r
-        self.attrname = attrname\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        return self.expr, self.attrname\r
-\r
-    def getChildNodes(self):\r
-        return self.expr,\r
-\r
-    def __repr__(self):\r
-        return "Getattr(%s, %s)" % (repr(self.expr), repr(self.attrname))\r
-\r
-class Global(Node):\r
-    def __init__(self, names, lineno=None):\r
-        self.names = names\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        return self.names,\r
-\r
-    def getChildNodes(self):\r
-        return ()\r
-\r
-    def __repr__(self):\r
-        return "Global(%s)" % (repr(self.names),)\r
-\r
-class If(Node):\r
-    def __init__(self, tests, else_, lineno=None):\r
-        self.tests = tests\r
-        self.else_ = else_\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        children = []\r
-        children.extend(flatten(self.tests))\r
-        children.append(self.else_)\r
-        return tuple(children)\r
-\r
-    def getChildNodes(self):\r
-        nodelist = []\r
-        nodelist.extend(flatten_nodes(self.tests))\r
-        if self.else_ is not None:\r
-            nodelist.append(self.else_)\r
-        return tuple(nodelist)\r
-\r
-    def __repr__(self):\r
-        return "If(%s, %s)" % (repr(self.tests), repr(self.else_))\r
-\r
-class IfExp(Node):\r
-    def __init__(self, test, then, else_, lineno=None):\r
-        self.test = test\r
-        self.then = then\r
-        self.else_ = else_\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        return self.test, self.then, self.else_\r
-\r
-    def getChildNodes(self):\r
-        return self.test, self.then, self.else_\r
-\r
-    def __repr__(self):\r
-        return "IfExp(%s, %s, %s)" % (repr(self.test), repr(self.then), repr(self.else_))\r
-\r
-class Import(Node):\r
-    def __init__(self, names, lineno=None):\r
-        self.names = names\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        return self.names,\r
-\r
-    def getChildNodes(self):\r
-        return ()\r
-\r
-    def __repr__(self):\r
-        return "Import(%s)" % (repr(self.names),)\r
-\r
-class Invert(Node):\r
-    def __init__(self, expr, lineno=None):\r
-        self.expr = expr\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        return self.expr,\r
-\r
-    def getChildNodes(self):\r
-        return self.expr,\r
-\r
-    def __repr__(self):\r
-        return "Invert(%s)" % (repr(self.expr),)\r
-\r
-class Keyword(Node):\r
-    def __init__(self, name, expr, lineno=None):\r
-        self.name = name\r
-        self.expr = expr\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        return self.name, self.expr\r
-\r
-    def getChildNodes(self):\r
-        return self.expr,\r
-\r
-    def __repr__(self):\r
-        return "Keyword(%s, %s)" % (repr(self.name), repr(self.expr))\r
-\r
-class Lambda(Node):\r
-    def __init__(self, argnames, defaults, flags, code, lineno=None):\r
-        self.argnames = argnames\r
-        self.defaults = defaults\r
-        self.flags = flags\r
-        self.code = code\r
-        self.lineno = lineno\r
-        self.varargs = self.kwargs = None\r
-        if flags & CO_VARARGS:\r
-            self.varargs = 1\r
-        if flags & CO_VARKEYWORDS:\r
-            self.kwargs = 1\r
-\r
-\r
-    def getChildren(self):\r
-        children = []\r
-        children.append(self.argnames)\r
-        children.extend(flatten(self.defaults))\r
-        children.append(self.flags)\r
-        children.append(self.code)\r
-        return tuple(children)\r
-\r
-    def getChildNodes(self):\r
-        nodelist = []\r
-        nodelist.extend(flatten_nodes(self.defaults))\r
-        nodelist.append(self.code)\r
-        return tuple(nodelist)\r
-\r
-    def __repr__(self):\r
-        return "Lambda(%s, %s, %s, %s)" % (repr(self.argnames), repr(self.defaults), repr(self.flags), repr(self.code))\r
-\r
-class LeftShift(Node):\r
-    def __init__(self, leftright, lineno=None):\r
-        self.left = leftright[0]\r
-        self.right = leftright[1]\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        return self.left, self.right\r
-\r
-    def getChildNodes(self):\r
-        return self.left, self.right\r
-\r
-    def __repr__(self):\r
-        return "LeftShift((%s, %s))" % (repr(self.left), repr(self.right))\r
-\r
-class List(Node):\r
-    def __init__(self, nodes, lineno=None):\r
-        self.nodes = nodes\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        return tuple(flatten(self.nodes))\r
-\r
-    def getChildNodes(self):\r
-        nodelist = []\r
-        nodelist.extend(flatten_nodes(self.nodes))\r
-        return tuple(nodelist)\r
-\r
-    def __repr__(self):\r
-        return "List(%s)" % (repr(self.nodes),)\r
-\r
-class ListComp(Node):\r
-    def __init__(self, expr, quals, lineno=None):\r
-        self.expr = expr\r
-        self.quals = quals\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        children = []\r
-        children.append(self.expr)\r
-        children.extend(flatten(self.quals))\r
-        return tuple(children)\r
-\r
-    def getChildNodes(self):\r
-        nodelist = []\r
-        nodelist.append(self.expr)\r
-        nodelist.extend(flatten_nodes(self.quals))\r
-        return tuple(nodelist)\r
-\r
-    def __repr__(self):\r
-        return "ListComp(%s, %s)" % (repr(self.expr), repr(self.quals))\r
-\r
-class ListCompFor(Node):\r
-    def __init__(self, assign, list, ifs, lineno=None):\r
-        self.assign = assign\r
-        self.list = list\r
-        self.ifs = ifs\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        children = []\r
-        children.append(self.assign)\r
-        children.append(self.list)\r
-        children.extend(flatten(self.ifs))\r
-        return tuple(children)\r
-\r
-    def getChildNodes(self):\r
-        nodelist = []\r
-        nodelist.append(self.assign)\r
-        nodelist.append(self.list)\r
-        nodelist.extend(flatten_nodes(self.ifs))\r
-        return tuple(nodelist)\r
-\r
-    def __repr__(self):\r
-        return "ListCompFor(%s, %s, %s)" % (repr(self.assign), repr(self.list), repr(self.ifs))\r
-\r
-class ListCompIf(Node):\r
-    def __init__(self, test, lineno=None):\r
-        self.test = test\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        return self.test,\r
-\r
-    def getChildNodes(self):\r
-        return self.test,\r
-\r
-    def __repr__(self):\r
-        return "ListCompIf(%s)" % (repr(self.test),)\r
-\r
-class SetComp(Node):\r
-    def __init__(self, expr, quals, lineno=None):\r
-        self.expr = expr\r
-        self.quals = quals\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        children = []\r
-        children.append(self.expr)\r
-        children.extend(flatten(self.quals))\r
-        return tuple(children)\r
-\r
-    def getChildNodes(self):\r
-        nodelist = []\r
-        nodelist.append(self.expr)\r
-        nodelist.extend(flatten_nodes(self.quals))\r
-        return tuple(nodelist)\r
-\r
-    def __repr__(self):\r
-        return "SetComp(%s, %s)" % (repr(self.expr), repr(self.quals))\r
-\r
-class DictComp(Node):\r
-    def __init__(self, key, value, quals, lineno=None):\r
-        self.key = key\r
-        self.value = value\r
-        self.quals = quals\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        children = []\r
-        children.append(self.key)\r
-        children.append(self.value)\r
-        children.extend(flatten(self.quals))\r
-        return tuple(children)\r
-\r
-    def getChildNodes(self):\r
-        nodelist = []\r
-        nodelist.append(self.key)\r
-        nodelist.append(self.value)\r
-        nodelist.extend(flatten_nodes(self.quals))\r
-        return tuple(nodelist)\r
-\r
-    def __repr__(self):\r
-        return "DictComp(%s, %s, %s)" % (repr(self.key), repr(self.value), repr(self.quals))\r
-\r
-class Mod(Node):\r
-    def __init__(self, leftright, lineno=None):\r
-        self.left = leftright[0]\r
-        self.right = leftright[1]\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        return self.left, self.right\r
-\r
-    def getChildNodes(self):\r
-        return self.left, self.right\r
-\r
-    def __repr__(self):\r
-        return "Mod((%s, %s))" % (repr(self.left), repr(self.right))\r
-\r
-class Module(Node):\r
-    def __init__(self, doc, node, lineno=None):\r
-        self.doc = doc\r
-        self.node = node\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        return self.doc, self.node\r
-\r
-    def getChildNodes(self):\r
-        return self.node,\r
-\r
-    def __repr__(self):\r
-        return "Module(%s, %s)" % (repr(self.doc), repr(self.node))\r
-\r
-class Mul(Node):\r
-    def __init__(self, leftright, lineno=None):\r
-        self.left = leftright[0]\r
-        self.right = leftright[1]\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        return self.left, self.right\r
-\r
-    def getChildNodes(self):\r
-        return self.left, self.right\r
-\r
-    def __repr__(self):\r
-        return "Mul((%s, %s))" % (repr(self.left), repr(self.right))\r
-\r
-class Name(Node):\r
-    def __init__(self, name, lineno=None):\r
-        self.name = name\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        return self.name,\r
-\r
-    def getChildNodes(self):\r
-        return ()\r
-\r
-    def __repr__(self):\r
-        return "Name(%s)" % (repr(self.name),)\r
-\r
-class Not(Node):\r
-    def __init__(self, expr, lineno=None):\r
-        self.expr = expr\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        return self.expr,\r
-\r
-    def getChildNodes(self):\r
-        return self.expr,\r
-\r
-    def __repr__(self):\r
-        return "Not(%s)" % (repr(self.expr),)\r
-\r
-class Or(Node):\r
-    def __init__(self, nodes, lineno=None):\r
-        self.nodes = nodes\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        return tuple(flatten(self.nodes))\r
-\r
-    def getChildNodes(self):\r
-        nodelist = []\r
-        nodelist.extend(flatten_nodes(self.nodes))\r
-        return tuple(nodelist)\r
-\r
-    def __repr__(self):\r
-        return "Or(%s)" % (repr(self.nodes),)\r
-\r
-class Pass(Node):\r
-    def __init__(self, lineno=None):\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        return ()\r
-\r
-    def getChildNodes(self):\r
-        return ()\r
-\r
-    def __repr__(self):\r
-        return "Pass()"\r
-\r
-class Power(Node):\r
-    def __init__(self, leftright, lineno=None):\r
-        self.left = leftright[0]\r
-        self.right = leftright[1]\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        return self.left, self.right\r
-\r
-    def getChildNodes(self):\r
-        return self.left, self.right\r
-\r
-    def __repr__(self):\r
-        return "Power((%s, %s))" % (repr(self.left), repr(self.right))\r
-\r
-class Print(Node):\r
-    def __init__(self, nodes, dest, lineno=None):\r
-        self.nodes = nodes\r
-        self.dest = dest\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        children = []\r
-        children.extend(flatten(self.nodes))\r
-        children.append(self.dest)\r
-        return tuple(children)\r
-\r
-    def getChildNodes(self):\r
-        nodelist = []\r
-        nodelist.extend(flatten_nodes(self.nodes))\r
-        if self.dest is not None:\r
-            nodelist.append(self.dest)\r
-        return tuple(nodelist)\r
-\r
-    def __repr__(self):\r
-        return "Print(%s, %s)" % (repr(self.nodes), repr(self.dest))\r
-\r
-class Printnl(Node):\r
-    def __init__(self, nodes, dest, lineno=None):\r
-        self.nodes = nodes\r
-        self.dest = dest\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        children = []\r
-        children.extend(flatten(self.nodes))\r
-        children.append(self.dest)\r
-        return tuple(children)\r
-\r
-    def getChildNodes(self):\r
-        nodelist = []\r
-        nodelist.extend(flatten_nodes(self.nodes))\r
-        if self.dest is not None:\r
-            nodelist.append(self.dest)\r
-        return tuple(nodelist)\r
-\r
-    def __repr__(self):\r
-        return "Printnl(%s, %s)" % (repr(self.nodes), repr(self.dest))\r
-\r
-class Raise(Node):\r
-    def __init__(self, expr1, expr2, expr3, lineno=None):\r
-        self.expr1 = expr1\r
-        self.expr2 = expr2\r
-        self.expr3 = expr3\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        children = []\r
-        children.append(self.expr1)\r
-        children.append(self.expr2)\r
-        children.append(self.expr3)\r
-        return tuple(children)\r
-\r
-    def getChildNodes(self):\r
-        nodelist = []\r
-        if self.expr1 is not None:\r
-            nodelist.append(self.expr1)\r
-        if self.expr2 is not None:\r
-            nodelist.append(self.expr2)\r
-        if self.expr3 is not None:\r
-            nodelist.append(self.expr3)\r
-        return tuple(nodelist)\r
-\r
-    def __repr__(self):\r
-        return "Raise(%s, %s, %s)" % (repr(self.expr1), repr(self.expr2), repr(self.expr3))\r
-\r
-class Return(Node):\r
-    def __init__(self, value, lineno=None):\r
-        self.value = value\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        return self.value,\r
-\r
-    def getChildNodes(self):\r
-        return self.value,\r
-\r
-    def __repr__(self):\r
-        return "Return(%s)" % (repr(self.value),)\r
-\r
-class RightShift(Node):\r
-    def __init__(self, leftright, lineno=None):\r
-        self.left = leftright[0]\r
-        self.right = leftright[1]\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        return self.left, self.right\r
-\r
-    def getChildNodes(self):\r
-        return self.left, self.right\r
-\r
-    def __repr__(self):\r
-        return "RightShift((%s, %s))" % (repr(self.left), repr(self.right))\r
-\r
-class Set(Node):\r
-    def __init__(self, nodes, lineno=None):\r
-        self.nodes = nodes\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        return tuple(flatten(self.nodes))\r
-\r
-    def getChildNodes(self):\r
-        nodelist = []\r
-        nodelist.extend(flatten_nodes(self.nodes))\r
-        return tuple(nodelist)\r
-\r
-    def __repr__(self):\r
-        return "Set(%s)" % (repr(self.nodes),)\r
-\r
-class Slice(Node):\r
-    def __init__(self, expr, flags, lower, upper, lineno=None):\r
-        self.expr = expr\r
-        self.flags = flags\r
-        self.lower = lower\r
-        self.upper = upper\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        children = []\r
-        children.append(self.expr)\r
-        children.append(self.flags)\r
-        children.append(self.lower)\r
-        children.append(self.upper)\r
-        return tuple(children)\r
-\r
-    def getChildNodes(self):\r
-        nodelist = []\r
-        nodelist.append(self.expr)\r
-        if self.lower is not None:\r
-            nodelist.append(self.lower)\r
-        if self.upper is not None:\r
-            nodelist.append(self.upper)\r
-        return tuple(nodelist)\r
-\r
-    def __repr__(self):\r
-        return "Slice(%s, %s, %s, %s)" % (repr(self.expr), repr(self.flags), repr(self.lower), repr(self.upper))\r
-\r
-class Sliceobj(Node):\r
-    def __init__(self, nodes, lineno=None):\r
-        self.nodes = nodes\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        return tuple(flatten(self.nodes))\r
-\r
-    def getChildNodes(self):\r
-        nodelist = []\r
-        nodelist.extend(flatten_nodes(self.nodes))\r
-        return tuple(nodelist)\r
-\r
-    def __repr__(self):\r
-        return "Sliceobj(%s)" % (repr(self.nodes),)\r
-\r
-class Stmt(Node):\r
-    def __init__(self, nodes, lineno=None):\r
-        self.nodes = nodes\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        return tuple(flatten(self.nodes))\r
-\r
-    def getChildNodes(self):\r
-        nodelist = []\r
-        nodelist.extend(flatten_nodes(self.nodes))\r
-        return tuple(nodelist)\r
-\r
-    def __repr__(self):\r
-        return "Stmt(%s)" % (repr(self.nodes),)\r
-\r
-class Sub(Node):\r
-    def __init__(self, leftright, lineno=None):\r
-        self.left = leftright[0]\r
-        self.right = leftright[1]\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        return self.left, self.right\r
-\r
-    def getChildNodes(self):\r
-        return self.left, self.right\r
-\r
-    def __repr__(self):\r
-        return "Sub((%s, %s))" % (repr(self.left), repr(self.right))\r
-\r
-class Subscript(Node):\r
-    def __init__(self, expr, flags, subs, lineno=None):\r
-        self.expr = expr\r
-        self.flags = flags\r
-        self.subs = subs\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        children = []\r
-        children.append(self.expr)\r
-        children.append(self.flags)\r
-        children.extend(flatten(self.subs))\r
-        return tuple(children)\r
-\r
-    def getChildNodes(self):\r
-        nodelist = []\r
-        nodelist.append(self.expr)\r
-        nodelist.extend(flatten_nodes(self.subs))\r
-        return tuple(nodelist)\r
-\r
-    def __repr__(self):\r
-        return "Subscript(%s, %s, %s)" % (repr(self.expr), repr(self.flags), repr(self.subs))\r
-\r
-class TryExcept(Node):\r
-    def __init__(self, body, handlers, else_, lineno=None):\r
-        self.body = body\r
-        self.handlers = handlers\r
-        self.else_ = else_\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        children = []\r
-        children.append(self.body)\r
-        children.extend(flatten(self.handlers))\r
-        children.append(self.else_)\r
-        return tuple(children)\r
-\r
-    def getChildNodes(self):\r
-        nodelist = []\r
-        nodelist.append(self.body)\r
-        nodelist.extend(flatten_nodes(self.handlers))\r
-        if self.else_ is not None:\r
-            nodelist.append(self.else_)\r
-        return tuple(nodelist)\r
-\r
-    def __repr__(self):\r
-        return "TryExcept(%s, %s, %s)" % (repr(self.body), repr(self.handlers), repr(self.else_))\r
-\r
-class TryFinally(Node):\r
-    def __init__(self, body, final, lineno=None):\r
-        self.body = body\r
-        self.final = final\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        return self.body, self.final\r
-\r
-    def getChildNodes(self):\r
-        return self.body, self.final\r
-\r
-    def __repr__(self):\r
-        return "TryFinally(%s, %s)" % (repr(self.body), repr(self.final))\r
-\r
-class Tuple(Node):\r
-    def __init__(self, nodes, lineno=None):\r
-        self.nodes = nodes\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        return tuple(flatten(self.nodes))\r
-\r
-    def getChildNodes(self):\r
-        nodelist = []\r
-        nodelist.extend(flatten_nodes(self.nodes))\r
-        return tuple(nodelist)\r
-\r
-    def __repr__(self):\r
-        return "Tuple(%s)" % (repr(self.nodes),)\r
-\r
-class UnaryAdd(Node):\r
-    def __init__(self, expr, lineno=None):\r
-        self.expr = expr\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        return self.expr,\r
-\r
-    def getChildNodes(self):\r
-        return self.expr,\r
-\r
-    def __repr__(self):\r
-        return "UnaryAdd(%s)" % (repr(self.expr),)\r
-\r
-class UnarySub(Node):\r
-    def __init__(self, expr, lineno=None):\r
-        self.expr = expr\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        return self.expr,\r
-\r
-    def getChildNodes(self):\r
-        return self.expr,\r
-\r
-    def __repr__(self):\r
-        return "UnarySub(%s)" % (repr(self.expr),)\r
-\r
-class While(Node):\r
-    def __init__(self, test, body, else_, lineno=None):\r
-        self.test = test\r
-        self.body = body\r
-        self.else_ = else_\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        children = []\r
-        children.append(self.test)\r
-        children.append(self.body)\r
-        children.append(self.else_)\r
-        return tuple(children)\r
-\r
-    def getChildNodes(self):\r
-        nodelist = []\r
-        nodelist.append(self.test)\r
-        nodelist.append(self.body)\r
-        if self.else_ is not None:\r
-            nodelist.append(self.else_)\r
-        return tuple(nodelist)\r
-\r
-    def __repr__(self):\r
-        return "While(%s, %s, %s)" % (repr(self.test), repr(self.body), repr(self.else_))\r
-\r
-class With(Node):\r
-    def __init__(self, expr, vars, body, lineno=None):\r
-        self.expr = expr\r
-        self.vars = vars\r
-        self.body = body\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        children = []\r
-        children.append(self.expr)\r
-        children.append(self.vars)\r
-        children.append(self.body)\r
-        return tuple(children)\r
-\r
-    def getChildNodes(self):\r
-        nodelist = []\r
-        nodelist.append(self.expr)\r
-        if self.vars is not None:\r
-            nodelist.append(self.vars)\r
-        nodelist.append(self.body)\r
-        return tuple(nodelist)\r
-\r
-    def __repr__(self):\r
-        return "With(%s, %s, %s)" % (repr(self.expr), repr(self.vars), repr(self.body))\r
-\r
-class Yield(Node):\r
-    def __init__(self, value, lineno=None):\r
-        self.value = value\r
-        self.lineno = lineno\r
-\r
-    def getChildren(self):\r
-        return self.value,\r
-\r
-    def getChildNodes(self):\r
-        return self.value,\r
-\r
-    def __repr__(self):\r
-        return "Yield(%s)" % (repr(self.value),)\r
-\r
-for name, obj in globals().items():\r
-    if isinstance(obj, type) and issubclass(obj, Node):\r
-        nodes[name.lower()] = obj\r