14710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm"""Python abstract syntax node definitions 24710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 34710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmThis file is automatically generated by Tools/compiler/astgen.py 44710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm""" 54710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmfrom compiler.consts import CO_VARARGS, CO_VARKEYWORDS 64710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 74710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmdef flatten(seq): 84710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm l = [] 94710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm for elt in seq: 104710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm t = type(elt) 114710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm if t is tuple or t is list: 124710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm for elt2 in flatten(elt): 134710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm l.append(elt2) 144710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm else: 154710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm l.append(elt) 164710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return l 174710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 184710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmdef flatten_nodes(seq): 194710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return [n for n in flatten(seq) if isinstance(n, Node)] 204710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 214710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmnodes = {} 224710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 234710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass Node: 244710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm """Abstract base class for ast nodes.""" 254710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 264710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm pass # implemented by subclasses 274710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __iter__(self): 284710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm for n in self.getChildren(): 294710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm yield n 304710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def asList(self): # for backwards compatibility 314710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.getChildren() 324710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 334710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm pass # implemented by subclasses 344710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 354710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass EmptyNode(Node): 364710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm pass 374710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 384710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass Expression(Node): 394710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm # Expression is an artificial node class to support "eval" 404710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodes["expression"] = "Expression" 414710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, node): 424710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.node = node 434710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 444710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 454710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.node, 464710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 474710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 484710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.node, 494710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 504710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 514710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "Expression(%s)" % (repr(self.node)) 524710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 534710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass Add(Node): 544710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, leftright, lineno=None): 554710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.left = leftright[0] 564710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.right = leftright[1] 574710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 584710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 594710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 604710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.left, self.right 614710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 624710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 634710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.left, self.right 644710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 654710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 664710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "Add((%s, %s))" % (repr(self.left), repr(self.right)) 674710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 684710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass And(Node): 694710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, nodes, lineno=None): 704710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.nodes = nodes 714710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 724710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 734710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 744710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(flatten(self.nodes)) 754710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 764710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 774710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist = [] 784710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.extend(flatten_nodes(self.nodes)) 794710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(nodelist) 804710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 814710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 824710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "And(%s)" % (repr(self.nodes),) 834710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 844710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass AssAttr(Node): 854710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, expr, attrname, flags, lineno=None): 864710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.expr = expr 874710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.attrname = attrname 884710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.flags = flags 894710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 904710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 914710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 924710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.expr, self.attrname, self.flags 934710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 944710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 954710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.expr, 964710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 974710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 984710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "AssAttr(%s, %s, %s)" % (repr(self.expr), repr(self.attrname), repr(self.flags)) 994710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 1004710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass AssList(Node): 1014710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, nodes, lineno=None): 1024710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.nodes = nodes 1034710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 1044710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 1054710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 1064710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(flatten(self.nodes)) 1074710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 1084710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 1094710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist = [] 1104710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.extend(flatten_nodes(self.nodes)) 1114710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(nodelist) 1124710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 1134710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 1144710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "AssList(%s)" % (repr(self.nodes),) 1154710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 1164710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass AssName(Node): 1174710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, name, flags, lineno=None): 1184710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.name = name 1194710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.flags = flags 1204710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 1214710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 1224710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 1234710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.name, self.flags 1244710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 1254710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 1264710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return () 1274710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 1284710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 1294710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "AssName(%s, %s)" % (repr(self.name), repr(self.flags)) 1304710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 1314710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass AssTuple(Node): 1324710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, nodes, lineno=None): 1334710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.nodes = nodes 1344710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 1354710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 1364710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 1374710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(flatten(self.nodes)) 1384710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 1394710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 1404710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist = [] 1414710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.extend(flatten_nodes(self.nodes)) 1424710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(nodelist) 1434710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 1444710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 1454710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "AssTuple(%s)" % (repr(self.nodes),) 1464710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 1474710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass Assert(Node): 1484710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, test, fail, lineno=None): 1494710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.test = test 1504710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.fail = fail 1514710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 1524710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 1534710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 1544710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children = [] 1554710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.test) 1564710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.fail) 1574710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(children) 1584710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 1594710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 1604710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist = [] 1614710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.append(self.test) 1624710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm if self.fail is not None: 1634710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.append(self.fail) 1644710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(nodelist) 1654710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 1664710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 1674710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "Assert(%s, %s)" % (repr(self.test), repr(self.fail)) 1684710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 1694710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass Assign(Node): 1704710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, nodes, expr, lineno=None): 1714710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.nodes = nodes 1724710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.expr = expr 1734710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 1744710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 1754710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 1764710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children = [] 1774710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.extend(flatten(self.nodes)) 1784710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.expr) 1794710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(children) 1804710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 1814710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 1824710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist = [] 1834710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.extend(flatten_nodes(self.nodes)) 1844710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.append(self.expr) 1854710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(nodelist) 1864710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 1874710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 1884710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "Assign(%s, %s)" % (repr(self.nodes), repr(self.expr)) 1894710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 1904710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass AugAssign(Node): 1914710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, node, op, expr, lineno=None): 1924710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.node = node 1934710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.op = op 1944710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.expr = expr 1954710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 1964710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 1974710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 1984710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.node, self.op, self.expr 1994710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 2004710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 2014710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.node, self.expr 2024710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 2034710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 2044710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "AugAssign(%s, %s, %s)" % (repr(self.node), repr(self.op), repr(self.expr)) 2054710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 2064710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass Backquote(Node): 2074710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, expr, lineno=None): 2084710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.expr = expr 2094710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 2104710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 2114710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 2124710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.expr, 2134710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 2144710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 2154710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.expr, 2164710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 2174710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 2184710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "Backquote(%s)" % (repr(self.expr),) 2194710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 2204710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass Bitand(Node): 2214710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, nodes, lineno=None): 2224710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.nodes = nodes 2234710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 2244710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 2254710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 2264710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(flatten(self.nodes)) 2274710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 2284710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 2294710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist = [] 2304710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.extend(flatten_nodes(self.nodes)) 2314710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(nodelist) 2324710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 2334710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 2344710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "Bitand(%s)" % (repr(self.nodes),) 2354710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 2364710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass Bitor(Node): 2374710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, nodes, lineno=None): 2384710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.nodes = nodes 2394710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 2404710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 2414710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 2424710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(flatten(self.nodes)) 2434710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 2444710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 2454710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist = [] 2464710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.extend(flatten_nodes(self.nodes)) 2474710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(nodelist) 2484710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 2494710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 2504710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "Bitor(%s)" % (repr(self.nodes),) 2514710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 2524710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass Bitxor(Node): 2534710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, nodes, lineno=None): 2544710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.nodes = nodes 2554710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 2564710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 2574710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 2584710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(flatten(self.nodes)) 2594710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 2604710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 2614710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist = [] 2624710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.extend(flatten_nodes(self.nodes)) 2634710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(nodelist) 2644710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 2654710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 2664710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "Bitxor(%s)" % (repr(self.nodes),) 2674710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 2684710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass Break(Node): 2694710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, lineno=None): 2704710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 2714710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 2724710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 2734710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return () 2744710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 2754710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 2764710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return () 2774710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 2784710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 2794710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "Break()" 2804710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 2814710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass CallFunc(Node): 2824710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, node, args, star_args = None, dstar_args = None, lineno=None): 2834710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.node = node 2844710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.args = args 2854710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.star_args = star_args 2864710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.dstar_args = dstar_args 2874710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 2884710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 2894710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 2904710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children = [] 2914710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.node) 2924710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.extend(flatten(self.args)) 2934710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.star_args) 2944710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.dstar_args) 2954710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(children) 2964710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 2974710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 2984710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist = [] 2994710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.append(self.node) 3004710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.extend(flatten_nodes(self.args)) 3014710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm if self.star_args is not None: 3024710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.append(self.star_args) 3034710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm if self.dstar_args is not None: 3044710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.append(self.dstar_args) 3054710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(nodelist) 3064710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 3074710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 3084710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "CallFunc(%s, %s, %s, %s)" % (repr(self.node), repr(self.args), repr(self.star_args), repr(self.dstar_args)) 3094710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 3104710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass Class(Node): 3114710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, name, bases, doc, code, decorators = None, lineno=None): 3124710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.name = name 3134710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.bases = bases 3144710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.doc = doc 3154710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.code = code 3164710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.decorators = decorators 3174710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 3184710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 3194710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 3204710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children = [] 3214710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.name) 3224710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.extend(flatten(self.bases)) 3234710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.doc) 3244710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.code) 3254710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.decorators) 3264710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(children) 3274710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 3284710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 3294710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist = [] 3304710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.extend(flatten_nodes(self.bases)) 3314710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.append(self.code) 3324710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm if self.decorators is not None: 3334710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.append(self.decorators) 3344710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(nodelist) 3354710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 3364710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 3374710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "Class(%s, %s, %s, %s, %s)" % (repr(self.name), repr(self.bases), repr(self.doc), repr(self.code), repr(self.decorators)) 3384710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 3394710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass Compare(Node): 3404710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, expr, ops, lineno=None): 3414710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.expr = expr 3424710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.ops = ops 3434710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 3444710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 3454710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 3464710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children = [] 3474710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.expr) 3484710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.extend(flatten(self.ops)) 3494710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(children) 3504710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 3514710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 3524710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist = [] 3534710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.append(self.expr) 3544710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.extend(flatten_nodes(self.ops)) 3554710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(nodelist) 3564710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 3574710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 3584710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "Compare(%s, %s)" % (repr(self.expr), repr(self.ops)) 3594710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 3604710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass Const(Node): 3614710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, value, lineno=None): 3624710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.value = value 3634710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 3644710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 3654710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 3664710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.value, 3674710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 3684710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 3694710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return () 3704710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 3714710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 3724710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "Const(%s)" % (repr(self.value),) 3734710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 3744710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass Continue(Node): 3754710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, lineno=None): 3764710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 3774710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 3784710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 3794710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return () 3804710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 3814710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 3824710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return () 3834710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 3844710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 3854710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "Continue()" 3864710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 3874710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass Decorators(Node): 3884710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, nodes, lineno=None): 3894710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.nodes = nodes 3904710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 3914710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 3924710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 3934710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(flatten(self.nodes)) 3944710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 3954710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 3964710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist = [] 3974710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.extend(flatten_nodes(self.nodes)) 3984710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(nodelist) 3994710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 4004710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 4014710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "Decorators(%s)" % (repr(self.nodes),) 4024710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 4034710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass Dict(Node): 4044710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, items, lineno=None): 4054710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.items = items 4064710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 4074710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 4084710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 4094710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(flatten(self.items)) 4104710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 4114710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 4124710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist = [] 4134710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.extend(flatten_nodes(self.items)) 4144710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(nodelist) 4154710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 4164710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 4174710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "Dict(%s)" % (repr(self.items),) 4184710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 4194710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass Discard(Node): 4204710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, expr, lineno=None): 4214710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.expr = expr 4224710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 4234710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 4244710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 4254710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.expr, 4264710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 4274710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 4284710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.expr, 4294710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 4304710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 4314710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "Discard(%s)" % (repr(self.expr),) 4324710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 4334710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass Div(Node): 4344710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, leftright, lineno=None): 4354710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.left = leftright[0] 4364710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.right = leftright[1] 4374710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 4384710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 4394710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 4404710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.left, self.right 4414710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 4424710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 4434710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.left, self.right 4444710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 4454710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 4464710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "Div((%s, %s))" % (repr(self.left), repr(self.right)) 4474710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 4484710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass Ellipsis(Node): 4494710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, lineno=None): 4504710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 4514710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 4524710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 4534710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return () 4544710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 4554710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 4564710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return () 4574710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 4584710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 4594710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "Ellipsis()" 4604710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 4614710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass Exec(Node): 4624710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, expr, locals, globals, lineno=None): 4634710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.expr = expr 4644710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.locals = locals 4654710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.globals = globals 4664710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 4674710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 4684710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 4694710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children = [] 4704710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.expr) 4714710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.locals) 4724710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.globals) 4734710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(children) 4744710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 4754710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 4764710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist = [] 4774710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.append(self.expr) 4784710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm if self.locals is not None: 4794710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.append(self.locals) 4804710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm if self.globals is not None: 4814710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.append(self.globals) 4824710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(nodelist) 4834710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 4844710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 4854710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "Exec(%s, %s, %s)" % (repr(self.expr), repr(self.locals), repr(self.globals)) 4864710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 4874710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass FloorDiv(Node): 4884710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, leftright, lineno=None): 4894710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.left = leftright[0] 4904710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.right = leftright[1] 4914710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 4924710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 4934710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 4944710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.left, self.right 4954710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 4964710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 4974710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.left, self.right 4984710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 4994710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 5004710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "FloorDiv((%s, %s))" % (repr(self.left), repr(self.right)) 5014710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 5024710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass For(Node): 5034710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, assign, list, body, else_, lineno=None): 5044710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.assign = assign 5054710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.list = list 5064710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.body = body 5074710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.else_ = else_ 5084710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 5094710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 5104710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 5114710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children = [] 5124710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.assign) 5134710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.list) 5144710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.body) 5154710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.else_) 5164710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(children) 5174710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 5184710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 5194710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist = [] 5204710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.append(self.assign) 5214710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.append(self.list) 5224710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.append(self.body) 5234710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm if self.else_ is not None: 5244710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.append(self.else_) 5254710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(nodelist) 5264710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 5274710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 5284710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "For(%s, %s, %s, %s)" % (repr(self.assign), repr(self.list), repr(self.body), repr(self.else_)) 5294710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 5304710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass From(Node): 5314710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, modname, names, level, lineno=None): 5324710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.modname = modname 5334710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.names = names 5344710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.level = level 5354710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 5364710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 5374710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 5384710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.modname, self.names, self.level 5394710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 5404710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 5414710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return () 5424710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 5434710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 5444710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "From(%s, %s, %s)" % (repr(self.modname), repr(self.names), repr(self.level)) 5454710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 5464710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass Function(Node): 5474710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, decorators, name, argnames, defaults, flags, doc, code, lineno=None): 5484710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.decorators = decorators 5494710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.name = name 5504710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.argnames = argnames 5514710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.defaults = defaults 5524710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.flags = flags 5534710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.doc = doc 5544710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.code = code 5554710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 5564710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.varargs = self.kwargs = None 5574710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm if flags & CO_VARARGS: 5584710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.varargs = 1 5594710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm if flags & CO_VARKEYWORDS: 5604710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.kwargs = 1 5614710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 5624710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 5634710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 5644710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children = [] 5654710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.decorators) 5664710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.name) 5674710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.argnames) 5684710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.extend(flatten(self.defaults)) 5694710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.flags) 5704710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.doc) 5714710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.code) 5724710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(children) 5734710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 5744710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 5754710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist = [] 5764710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm if self.decorators is not None: 5774710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.append(self.decorators) 5784710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.extend(flatten_nodes(self.defaults)) 5794710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.append(self.code) 5804710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(nodelist) 5814710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 5824710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 5834710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 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)) 5844710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 5854710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass GenExpr(Node): 5864710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, code, lineno=None): 5874710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.code = code 5884710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 5894710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.argnames = ['.0'] 5904710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.varargs = self.kwargs = None 5914710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 5924710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 5934710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 5944710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.code, 5954710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 5964710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 5974710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.code, 5984710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 5994710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 6004710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "GenExpr(%s)" % (repr(self.code),) 6014710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 6024710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass GenExprFor(Node): 6034710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, assign, iter, ifs, lineno=None): 6044710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.assign = assign 6054710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.iter = iter 6064710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.ifs = ifs 6074710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 6084710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.is_outmost = False 6094710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 6104710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 6114710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children = [] 6124710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.assign) 6134710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.iter) 6144710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.extend(flatten(self.ifs)) 6154710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(children) 6164710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 6174710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 6184710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist = [] 6194710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.append(self.assign) 6204710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.append(self.iter) 6214710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.extend(flatten_nodes(self.ifs)) 6224710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(nodelist) 6234710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 6244710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 6254710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "GenExprFor(%s, %s, %s)" % (repr(self.assign), repr(self.iter), repr(self.ifs)) 6264710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 6274710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass GenExprIf(Node): 6284710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, test, lineno=None): 6294710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.test = test 6304710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 6314710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 6324710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 6334710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.test, 6344710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 6354710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 6364710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.test, 6374710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 6384710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 6394710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "GenExprIf(%s)" % (repr(self.test),) 6404710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 6414710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass GenExprInner(Node): 6424710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, expr, quals, lineno=None): 6434710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.expr = expr 6444710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.quals = quals 6454710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 6464710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 6474710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 6484710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children = [] 6494710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.expr) 6504710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.extend(flatten(self.quals)) 6514710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(children) 6524710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 6534710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 6544710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist = [] 6554710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.append(self.expr) 6564710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.extend(flatten_nodes(self.quals)) 6574710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(nodelist) 6584710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 6594710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 6604710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "GenExprInner(%s, %s)" % (repr(self.expr), repr(self.quals)) 6614710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 6624710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass Getattr(Node): 6634710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, expr, attrname, lineno=None): 6644710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.expr = expr 6654710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.attrname = attrname 6664710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 6674710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 6684710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 6694710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.expr, self.attrname 6704710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 6714710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 6724710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.expr, 6734710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 6744710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 6754710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "Getattr(%s, %s)" % (repr(self.expr), repr(self.attrname)) 6764710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 6774710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass Global(Node): 6784710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, names, lineno=None): 6794710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.names = names 6804710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 6814710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 6824710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 6834710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.names, 6844710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 6854710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 6864710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return () 6874710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 6884710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 6894710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "Global(%s)" % (repr(self.names),) 6904710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 6914710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass If(Node): 6924710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, tests, else_, lineno=None): 6934710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.tests = tests 6944710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.else_ = else_ 6954710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 6964710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 6974710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 6984710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children = [] 6994710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.extend(flatten(self.tests)) 7004710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.else_) 7014710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(children) 7024710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 7034710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 7044710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist = [] 7054710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.extend(flatten_nodes(self.tests)) 7064710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm if self.else_ is not None: 7074710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.append(self.else_) 7084710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(nodelist) 7094710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 7104710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 7114710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "If(%s, %s)" % (repr(self.tests), repr(self.else_)) 7124710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 7134710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass IfExp(Node): 7144710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, test, then, else_, lineno=None): 7154710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.test = test 7164710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.then = then 7174710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.else_ = else_ 7184710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 7194710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 7204710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 7214710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.test, self.then, self.else_ 7224710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 7234710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 7244710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.test, self.then, self.else_ 7254710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 7264710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 7274710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "IfExp(%s, %s, %s)" % (repr(self.test), repr(self.then), repr(self.else_)) 7284710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 7294710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass Import(Node): 7304710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, names, lineno=None): 7314710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.names = names 7324710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 7334710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 7344710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 7354710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.names, 7364710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 7374710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 7384710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return () 7394710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 7404710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 7414710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "Import(%s)" % (repr(self.names),) 7424710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 7434710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass Invert(Node): 7444710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, expr, lineno=None): 7454710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.expr = expr 7464710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 7474710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 7484710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 7494710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.expr, 7504710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 7514710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 7524710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.expr, 7534710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 7544710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 7554710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "Invert(%s)" % (repr(self.expr),) 7564710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 7574710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass Keyword(Node): 7584710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, name, expr, lineno=None): 7594710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.name = name 7604710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.expr = expr 7614710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 7624710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 7634710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 7644710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.name, self.expr 7654710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 7664710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 7674710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.expr, 7684710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 7694710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 7704710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "Keyword(%s, %s)" % (repr(self.name), repr(self.expr)) 7714710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 7724710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass Lambda(Node): 7734710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, argnames, defaults, flags, code, lineno=None): 7744710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.argnames = argnames 7754710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.defaults = defaults 7764710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.flags = flags 7774710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.code = code 7784710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 7794710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.varargs = self.kwargs = None 7804710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm if flags & CO_VARARGS: 7814710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.varargs = 1 7824710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm if flags & CO_VARKEYWORDS: 7834710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.kwargs = 1 7844710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 7854710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 7864710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 7874710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children = [] 7884710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.argnames) 7894710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.extend(flatten(self.defaults)) 7904710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.flags) 7914710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.code) 7924710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(children) 7934710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 7944710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 7954710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist = [] 7964710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.extend(flatten_nodes(self.defaults)) 7974710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.append(self.code) 7984710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(nodelist) 7994710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 8004710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 8014710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "Lambda(%s, %s, %s, %s)" % (repr(self.argnames), repr(self.defaults), repr(self.flags), repr(self.code)) 8024710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 8034710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass LeftShift(Node): 8044710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, leftright, lineno=None): 8054710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.left = leftright[0] 8064710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.right = leftright[1] 8074710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 8084710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 8094710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 8104710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.left, self.right 8114710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 8124710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 8134710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.left, self.right 8144710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 8154710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 8164710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "LeftShift((%s, %s))" % (repr(self.left), repr(self.right)) 8174710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 8184710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass List(Node): 8194710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, nodes, lineno=None): 8204710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.nodes = nodes 8214710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 8224710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 8234710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 8244710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(flatten(self.nodes)) 8254710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 8264710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 8274710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist = [] 8284710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.extend(flatten_nodes(self.nodes)) 8294710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(nodelist) 8304710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 8314710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 8324710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "List(%s)" % (repr(self.nodes),) 8334710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 8344710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass ListComp(Node): 8354710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, expr, quals, lineno=None): 8364710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.expr = expr 8374710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.quals = quals 8384710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 8394710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 8404710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 8414710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children = [] 8424710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.expr) 8434710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.extend(flatten(self.quals)) 8444710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(children) 8454710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 8464710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 8474710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist = [] 8484710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.append(self.expr) 8494710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.extend(flatten_nodes(self.quals)) 8504710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(nodelist) 8514710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 8524710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 8534710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "ListComp(%s, %s)" % (repr(self.expr), repr(self.quals)) 8544710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 8554710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass ListCompFor(Node): 8564710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, assign, list, ifs, lineno=None): 8574710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.assign = assign 8584710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.list = list 8594710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.ifs = ifs 8604710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 8614710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 8624710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 8634710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children = [] 8644710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.assign) 8654710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.list) 8664710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.extend(flatten(self.ifs)) 8674710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(children) 8684710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 8694710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 8704710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist = [] 8714710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.append(self.assign) 8724710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.append(self.list) 8734710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.extend(flatten_nodes(self.ifs)) 8744710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(nodelist) 8754710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 8764710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 8774710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "ListCompFor(%s, %s, %s)" % (repr(self.assign), repr(self.list), repr(self.ifs)) 8784710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 8794710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass ListCompIf(Node): 8804710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, test, lineno=None): 8814710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.test = test 8824710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 8834710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 8844710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 8854710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.test, 8864710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 8874710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 8884710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.test, 8894710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 8904710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 8914710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "ListCompIf(%s)" % (repr(self.test),) 8924710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 8934710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass SetComp(Node): 8944710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, expr, quals, lineno=None): 8954710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.expr = expr 8964710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.quals = quals 8974710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 8984710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 8994710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 9004710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children = [] 9014710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.expr) 9024710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.extend(flatten(self.quals)) 9034710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(children) 9044710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 9054710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 9064710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist = [] 9074710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.append(self.expr) 9084710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.extend(flatten_nodes(self.quals)) 9094710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(nodelist) 9104710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 9114710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 9124710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "SetComp(%s, %s)" % (repr(self.expr), repr(self.quals)) 9134710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 9144710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass DictComp(Node): 9154710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, key, value, quals, lineno=None): 9164710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.key = key 9174710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.value = value 9184710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.quals = quals 9194710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 9204710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 9214710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 9224710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children = [] 9234710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.key) 9244710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.value) 9254710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.extend(flatten(self.quals)) 9264710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(children) 9274710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 9284710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 9294710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist = [] 9304710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.append(self.key) 9314710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.append(self.value) 9324710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.extend(flatten_nodes(self.quals)) 9334710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(nodelist) 9344710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 9354710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 9364710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "DictComp(%s, %s, %s)" % (repr(self.key), repr(self.value), repr(self.quals)) 9374710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 9384710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass Mod(Node): 9394710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, leftright, lineno=None): 9404710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.left = leftright[0] 9414710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.right = leftright[1] 9424710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 9434710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 9444710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 9454710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.left, self.right 9464710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 9474710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 9484710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.left, self.right 9494710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 9504710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 9514710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "Mod((%s, %s))" % (repr(self.left), repr(self.right)) 9524710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 9534710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass Module(Node): 9544710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, doc, node, lineno=None): 9554710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.doc = doc 9564710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.node = node 9574710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 9584710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 9594710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 9604710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.doc, self.node 9614710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 9624710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 9634710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.node, 9644710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 9654710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 9664710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "Module(%s, %s)" % (repr(self.doc), repr(self.node)) 9674710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 9684710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass Mul(Node): 9694710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, leftright, lineno=None): 9704710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.left = leftright[0] 9714710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.right = leftright[1] 9724710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 9734710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 9744710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 9754710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.left, self.right 9764710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 9774710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 9784710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.left, self.right 9794710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 9804710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 9814710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "Mul((%s, %s))" % (repr(self.left), repr(self.right)) 9824710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 9834710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass Name(Node): 9844710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, name, lineno=None): 9854710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.name = name 9864710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 9874710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 9884710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 9894710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.name, 9904710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 9914710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 9924710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return () 9934710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 9944710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 9954710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "Name(%s)" % (repr(self.name),) 9964710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 9974710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass Not(Node): 9984710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, expr, lineno=None): 9994710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.expr = expr 10004710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 10014710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 10024710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 10034710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.expr, 10044710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 10054710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 10064710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.expr, 10074710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 10084710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 10094710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "Not(%s)" % (repr(self.expr),) 10104710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 10114710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass Or(Node): 10124710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, nodes, lineno=None): 10134710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.nodes = nodes 10144710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 10154710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 10164710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 10174710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(flatten(self.nodes)) 10184710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 10194710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 10204710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist = [] 10214710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.extend(flatten_nodes(self.nodes)) 10224710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(nodelist) 10234710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 10244710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 10254710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "Or(%s)" % (repr(self.nodes),) 10264710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 10274710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass Pass(Node): 10284710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, lineno=None): 10294710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 10304710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 10314710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 10324710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return () 10334710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 10344710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 10354710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return () 10364710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 10374710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 10384710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "Pass()" 10394710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 10404710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass Power(Node): 10414710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, leftright, lineno=None): 10424710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.left = leftright[0] 10434710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.right = leftright[1] 10444710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 10454710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 10464710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 10474710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.left, self.right 10484710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 10494710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 10504710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.left, self.right 10514710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 10524710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 10534710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "Power((%s, %s))" % (repr(self.left), repr(self.right)) 10544710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 10554710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass Print(Node): 10564710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, nodes, dest, lineno=None): 10574710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.nodes = nodes 10584710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.dest = dest 10594710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 10604710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 10614710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 10624710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children = [] 10634710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.extend(flatten(self.nodes)) 10644710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.dest) 10654710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(children) 10664710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 10674710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 10684710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist = [] 10694710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.extend(flatten_nodes(self.nodes)) 10704710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm if self.dest is not None: 10714710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.append(self.dest) 10724710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(nodelist) 10734710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 10744710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 10754710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "Print(%s, %s)" % (repr(self.nodes), repr(self.dest)) 10764710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 10774710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass Printnl(Node): 10784710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, nodes, dest, lineno=None): 10794710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.nodes = nodes 10804710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.dest = dest 10814710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 10824710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 10834710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 10844710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children = [] 10854710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.extend(flatten(self.nodes)) 10864710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.dest) 10874710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(children) 10884710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 10894710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 10904710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist = [] 10914710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.extend(flatten_nodes(self.nodes)) 10924710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm if self.dest is not None: 10934710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.append(self.dest) 10944710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(nodelist) 10954710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 10964710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 10974710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "Printnl(%s, %s)" % (repr(self.nodes), repr(self.dest)) 10984710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 10994710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass Raise(Node): 11004710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, expr1, expr2, expr3, lineno=None): 11014710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.expr1 = expr1 11024710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.expr2 = expr2 11034710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.expr3 = expr3 11044710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 11054710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 11064710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 11074710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children = [] 11084710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.expr1) 11094710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.expr2) 11104710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.expr3) 11114710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(children) 11124710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 11134710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 11144710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist = [] 11154710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm if self.expr1 is not None: 11164710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.append(self.expr1) 11174710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm if self.expr2 is not None: 11184710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.append(self.expr2) 11194710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm if self.expr3 is not None: 11204710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.append(self.expr3) 11214710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(nodelist) 11224710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 11234710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 11244710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "Raise(%s, %s, %s)" % (repr(self.expr1), repr(self.expr2), repr(self.expr3)) 11254710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 11264710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass Return(Node): 11274710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, value, lineno=None): 11284710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.value = value 11294710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 11304710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 11314710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 11324710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.value, 11334710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 11344710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 11354710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.value, 11364710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 11374710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 11384710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "Return(%s)" % (repr(self.value),) 11394710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 11404710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass RightShift(Node): 11414710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, leftright, lineno=None): 11424710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.left = leftright[0] 11434710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.right = leftright[1] 11444710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 11454710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 11464710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 11474710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.left, self.right 11484710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 11494710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 11504710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.left, self.right 11514710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 11524710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 11534710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "RightShift((%s, %s))" % (repr(self.left), repr(self.right)) 11544710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 11554710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass Set(Node): 11564710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, nodes, lineno=None): 11574710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.nodes = nodes 11584710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 11594710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 11604710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 11614710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(flatten(self.nodes)) 11624710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 11634710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 11644710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist = [] 11654710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.extend(flatten_nodes(self.nodes)) 11664710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(nodelist) 11674710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 11684710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 11694710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "Set(%s)" % (repr(self.nodes),) 11704710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 11714710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass Slice(Node): 11724710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, expr, flags, lower, upper, lineno=None): 11734710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.expr = expr 11744710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.flags = flags 11754710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lower = lower 11764710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.upper = upper 11774710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 11784710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 11794710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 11804710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children = [] 11814710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.expr) 11824710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.flags) 11834710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.lower) 11844710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.upper) 11854710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(children) 11864710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 11874710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 11884710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist = [] 11894710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.append(self.expr) 11904710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm if self.lower is not None: 11914710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.append(self.lower) 11924710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm if self.upper is not None: 11934710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.append(self.upper) 11944710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(nodelist) 11954710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 11964710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 11974710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "Slice(%s, %s, %s, %s)" % (repr(self.expr), repr(self.flags), repr(self.lower), repr(self.upper)) 11984710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 11994710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass Sliceobj(Node): 12004710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, nodes, lineno=None): 12014710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.nodes = nodes 12024710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 12034710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 12044710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 12054710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(flatten(self.nodes)) 12064710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 12074710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 12084710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist = [] 12094710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.extend(flatten_nodes(self.nodes)) 12104710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(nodelist) 12114710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 12124710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 12134710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "Sliceobj(%s)" % (repr(self.nodes),) 12144710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 12154710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass Stmt(Node): 12164710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, nodes, lineno=None): 12174710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.nodes = nodes 12184710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 12194710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 12204710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 12214710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(flatten(self.nodes)) 12224710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 12234710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 12244710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist = [] 12254710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.extend(flatten_nodes(self.nodes)) 12264710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(nodelist) 12274710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 12284710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 12294710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "Stmt(%s)" % (repr(self.nodes),) 12304710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 12314710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass Sub(Node): 12324710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, leftright, lineno=None): 12334710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.left = leftright[0] 12344710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.right = leftright[1] 12354710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 12364710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 12374710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 12384710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.left, self.right 12394710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 12404710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 12414710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.left, self.right 12424710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 12434710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 12444710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "Sub((%s, %s))" % (repr(self.left), repr(self.right)) 12454710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 12464710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass Subscript(Node): 12474710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, expr, flags, subs, lineno=None): 12484710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.expr = expr 12494710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.flags = flags 12504710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.subs = subs 12514710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 12524710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 12534710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 12544710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children = [] 12554710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.expr) 12564710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.flags) 12574710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.extend(flatten(self.subs)) 12584710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(children) 12594710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 12604710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 12614710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist = [] 12624710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.append(self.expr) 12634710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.extend(flatten_nodes(self.subs)) 12644710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(nodelist) 12654710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 12664710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 12674710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "Subscript(%s, %s, %s)" % (repr(self.expr), repr(self.flags), repr(self.subs)) 12684710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 12694710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass TryExcept(Node): 12704710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, body, handlers, else_, lineno=None): 12714710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.body = body 12724710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.handlers = handlers 12734710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.else_ = else_ 12744710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 12754710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 12764710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 12774710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children = [] 12784710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.body) 12794710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.extend(flatten(self.handlers)) 12804710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.else_) 12814710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(children) 12824710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 12834710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 12844710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist = [] 12854710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.append(self.body) 12864710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.extend(flatten_nodes(self.handlers)) 12874710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm if self.else_ is not None: 12884710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.append(self.else_) 12894710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(nodelist) 12904710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 12914710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 12924710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "TryExcept(%s, %s, %s)" % (repr(self.body), repr(self.handlers), repr(self.else_)) 12934710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 12944710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass TryFinally(Node): 12954710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, body, final, lineno=None): 12964710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.body = body 12974710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.final = final 12984710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 12994710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 13004710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 13014710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.body, self.final 13024710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 13034710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 13044710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.body, self.final 13054710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 13064710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 13074710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "TryFinally(%s, %s)" % (repr(self.body), repr(self.final)) 13084710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 13094710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass Tuple(Node): 13104710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, nodes, lineno=None): 13114710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.nodes = nodes 13124710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 13134710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 13144710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 13154710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(flatten(self.nodes)) 13164710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 13174710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 13184710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist = [] 13194710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.extend(flatten_nodes(self.nodes)) 13204710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(nodelist) 13214710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 13224710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 13234710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "Tuple(%s)" % (repr(self.nodes),) 13244710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 13254710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass UnaryAdd(Node): 13264710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, expr, lineno=None): 13274710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.expr = expr 13284710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 13294710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 13304710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 13314710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.expr, 13324710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 13334710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 13344710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.expr, 13354710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 13364710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 13374710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "UnaryAdd(%s)" % (repr(self.expr),) 13384710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 13394710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass UnarySub(Node): 13404710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, expr, lineno=None): 13414710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.expr = expr 13424710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 13434710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 13444710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 13454710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.expr, 13464710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 13474710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 13484710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.expr, 13494710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 13504710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 13514710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "UnarySub(%s)" % (repr(self.expr),) 13524710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 13534710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass While(Node): 13544710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, test, body, else_, lineno=None): 13554710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.test = test 13564710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.body = body 13574710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.else_ = else_ 13584710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 13594710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 13604710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 13614710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children = [] 13624710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.test) 13634710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.body) 13644710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.else_) 13654710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(children) 13664710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 13674710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 13684710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist = [] 13694710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.append(self.test) 13704710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.append(self.body) 13714710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm if self.else_ is not None: 13724710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.append(self.else_) 13734710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(nodelist) 13744710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 13754710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 13764710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "While(%s, %s, %s)" % (repr(self.test), repr(self.body), repr(self.else_)) 13774710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 13784710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass With(Node): 13794710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, expr, vars, body, lineno=None): 13804710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.expr = expr 13814710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.vars = vars 13824710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.body = body 13834710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 13844710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 13854710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 13864710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children = [] 13874710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.expr) 13884710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.vars) 13894710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm children.append(self.body) 13904710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(children) 13914710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 13924710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 13934710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist = [] 13944710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.append(self.expr) 13954710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm if self.vars is not None: 13964710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.append(self.vars) 13974710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodelist.append(self.body) 13984710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return tuple(nodelist) 13994710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 14004710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 14014710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "With(%s, %s, %s)" % (repr(self.expr), repr(self.vars), repr(self.body)) 14024710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 14034710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass Yield(Node): 14044710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __init__(self, value, lineno=None): 14054710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.value = value 14064710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm self.lineno = lineno 14074710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 14084710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildren(self): 14094710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.value, 14104710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 14114710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def getChildNodes(self): 14124710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return self.value, 14134710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 14144710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm def __repr__(self): 14154710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm return "Yield(%s)" % (repr(self.value),) 14164710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm 14174710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmfor name, obj in globals().items(): 14184710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm if isinstance(obj, type) and issubclass(obj, Node): 14194710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm nodes[name.lower()] = obj 1420