1 """Python abstract syntax node definitions
3 This file is automatically generated.
5 from types
import TupleType
, ListType
6 from consts
import CO_VARARGS
, CO_VARKEYWORDS
12 if t
is TupleType
or t
is ListType
:
13 for elt2
in flatten(elt
):
22 if hasattr(item
, "asList"):
23 l
.append(item
.asList())
26 if t
is TupleType
or t
is ListType
:
27 l
.append(tuple(asList(item
)))
38 def getChildren(self
):
39 # XXX It would be better to generate flat values to begin with
40 return flatten(self
._getChildren
())
42 return tuple(asList(self
.getChildren()))
44 class EmptyNode(Node
):
50 def __init__(self
, tests
, else_
):
53 def _getChildren(self
):
54 return self
.tests
, self
.else_
56 return "If(%s, %s)" % (repr(self
.tests
), repr(self
.else_
))
59 nodes
["listcomp"] = "ListComp"
60 def __init__(self
, expr
, quals
):
63 def _getChildren(self
):
64 return self
.expr
, self
.quals
66 return "ListComp(%s, %s)" % (repr(self
.expr
), repr(self
.quals
))
69 nodes
["bitor"] = "Bitor"
70 def __init__(self
, nodes
):
72 def _getChildren(self
):
75 return "Bitor(%s)" % (repr(self
.nodes
),)
78 nodes
["pass"] = "Pass"
81 def _getChildren(self
):
87 nodes
["module"] = "Module"
88 def __init__(self
, doc
, node
):
91 def _getChildren(self
):
92 return self
.doc
, self
.node
94 return "Module(%s, %s)" % (repr(self
.doc
), repr(self
.node
))
97 nodes
["global"] = "Global"
98 def __init__(self
, names
):
100 def _getChildren(self
):
103 return "Global(%s)" % (repr(self
.names
),)
105 class CallFunc(Node
):
106 nodes
["callfunc"] = "CallFunc"
107 def __init__(self
, node
, args
, star_args
= None, dstar_args
= None):
110 self
.star_args
= star_args
111 self
.dstar_args
= dstar_args
112 def _getChildren(self
):
113 return self
.node
, self
.args
, self
.star_args
, self
.dstar_args
115 return "CallFunc(%s, %s, %s, %s)" % (repr(self
.node
), repr(self
.args
), repr(self
.star_args
), repr(self
.dstar_args
))
118 nodes
["printnl"] = "Printnl"
119 def __init__(self
, nodes
, dest
):
122 def _getChildren(self
):
123 return self
.nodes
, self
.dest
125 return "Printnl(%s, %s)" % (repr(self
.nodes
), repr(self
.dest
))
128 nodes
["tuple"] = "Tuple"
129 def __init__(self
, nodes
):
131 def _getChildren(self
):
134 return "Tuple(%s)" % (repr(self
.nodes
),)
137 nodes
["compare"] = "Compare"
138 def __init__(self
, expr
, ops
):
141 def _getChildren(self
):
142 return self
.expr
, self
.ops
144 return "Compare(%s, %s)" % (repr(self
.expr
), repr(self
.ops
))
148 def __init__(self
, nodes
):
150 def _getChildren(self
):
153 return "And(%s)" % (repr(self
.nodes
),)
156 nodes
["lambda"] = "Lambda"
157 def __init__(self
, argnames
, defaults
, flags
, code
):
158 self
.argnames
= argnames
159 self
.defaults
= defaults
162 self
.varargs
= self
.kwargs
= None
163 if flags
& CO_VARARGS
:
165 if flags
& CO_VARKEYWORDS
:
168 def _getChildren(self
):
169 return self
.argnames
, self
.defaults
, self
.flags
, self
.code
171 return "Lambda(%s, %s, %s, %s)" % (repr(self
.argnames
), repr(self
.defaults
), repr(self
.flags
), repr(self
.code
))
174 nodes
["assign"] = "Assign"
175 def __init__(self
, nodes
, expr
):
178 def _getChildren(self
):
179 return self
.nodes
, self
.expr
181 return "Assign(%s, %s)" % (repr(self
.nodes
), repr(self
.expr
))
185 def __init__(self
, (left
, right
)):
188 def _getChildren(self
):
189 return self
.left
, self
.right
191 return "Sub(%s, %s)" % (repr(self
.left
), repr(self
.right
))
193 class ListCompIf(Node
):
194 nodes
["listcompif"] = "ListCompIf"
195 def __init__(self
, test
):
197 def _getChildren(self
):
200 return "ListCompIf(%s)" % (repr(self
.test
),)
204 def __init__(self
, (left
, right
)):
207 def _getChildren(self
):
208 return self
.left
, self
.right
210 return "Div(%s, %s)" % (repr(self
.left
), repr(self
.right
))
213 nodes
["discard"] = "Discard"
214 def __init__(self
, expr
):
216 def _getChildren(self
):
219 return "Discard(%s)" % (repr(self
.expr
),)
221 class Backquote(Node
):
222 nodes
["backquote"] = "Backquote"
223 def __init__(self
, expr
):
225 def _getChildren(self
):
228 return "Backquote(%s)" % (repr(self
.expr
),)
230 class RightShift(Node
):
231 nodes
["rightshift"] = "RightShift"
232 def __init__(self
, (left
, right
)):
235 def _getChildren(self
):
236 return self
.left
, self
.right
238 return "RightShift(%s, %s)" % (repr(self
.left
), repr(self
.right
))
240 class Continue(Node
):
241 nodes
["continue"] = "Continue"
242 def __init__(self
, ):
244 def _getChildren(self
):
250 nodes
["while"] = "While"
251 def __init__(self
, test
, body
, else_
):
255 def _getChildren(self
):
256 return self
.test
, self
.body
, self
.else_
258 return "While(%s, %s, %s)" % (repr(self
.test
), repr(self
.body
), repr(self
.else_
))
261 nodes
["assname"] = "AssName"
262 def __init__(self
, name
, flags
):
265 def _getChildren(self
):
266 return self
.name
, self
.flags
268 return "AssName(%s, %s)" % (repr(self
.name
), repr(self
.flags
))
270 class LeftShift(Node
):
271 nodes
["leftshift"] = "LeftShift"
272 def __init__(self
, (left
, right
)):
275 def _getChildren(self
):
276 return self
.left
, self
.right
278 return "LeftShift(%s, %s)" % (repr(self
.left
), repr(self
.right
))
282 def __init__(self
, (left
, right
)):
285 def _getChildren(self
):
286 return self
.left
, self
.right
288 return "Mul(%s, %s)" % (repr(self
.left
), repr(self
.right
))
291 nodes
["list"] = "List"
292 def __init__(self
, nodes
):
294 def _getChildren(self
):
297 return "List(%s)" % (repr(self
.nodes
),)
299 class AugAssign(Node
):
300 nodes
["augassign"] = "AugAssign"
301 def __init__(self
, node
, op
, expr
):
305 def _getChildren(self
):
306 return self
.node
, self
.op
, self
.expr
308 return "AugAssign(%s, %s, %s)" % (repr(self
.node
), repr(self
.op
), repr(self
.expr
))
312 def __init__(self
, nodes
):
314 def _getChildren(self
):
317 return "Or(%s)" % (repr(self
.nodes
),)
320 nodes
["keyword"] = "Keyword"
321 def __init__(self
, name
, expr
):
324 def _getChildren(self
):
325 return self
.name
, self
.expr
327 return "Keyword(%s, %s)" % (repr(self
.name
), repr(self
.expr
))
330 nodes
["assattr"] = "AssAttr"
331 def __init__(self
, expr
, attrname
, flags
):
333 self
.attrname
= attrname
335 def _getChildren(self
):
336 return self
.expr
, self
.attrname
, self
.flags
338 return "AssAttr(%s, %s, %s)" % (repr(self
.expr
), repr(self
.attrname
), repr(self
.flags
))
341 nodes
["const"] = "Const"
342 def __init__(self
, value
):
344 def _getChildren(self
):
347 return "Const(%s)" % (repr(self
.value
),)
351 def __init__(self
, (left
, right
)):
354 def _getChildren(self
):
355 return self
.left
, self
.right
357 return "Mod(%s, %s)" % (repr(self
.left
), repr(self
.right
))
360 nodes
["class"] = "Class"
361 def __init__(self
, name
, bases
, doc
, code
):
366 def _getChildren(self
):
367 return self
.name
, self
.bases
, self
.doc
, self
.code
369 return "Class(%s, %s, %s, %s)" % (repr(self
.name
), repr(self
.bases
), repr(self
.doc
), repr(self
.code
))
373 def __init__(self
, expr
):
375 def _getChildren(self
):
378 return "Not(%s)" % (repr(self
.expr
),)
381 nodes
["bitxor"] = "Bitxor"
382 def __init__(self
, nodes
):
384 def _getChildren(self
):
387 return "Bitxor(%s)" % (repr(self
.nodes
),)
389 class TryFinally(Node
):
390 nodes
["tryfinally"] = "TryFinally"
391 def __init__(self
, body
, final
):
394 def _getChildren(self
):
395 return self
.body
, self
.final
397 return "TryFinally(%s, %s)" % (repr(self
.body
), repr(self
.final
))
400 nodes
["bitand"] = "Bitand"
401 def __init__(self
, nodes
):
403 def _getChildren(self
):
406 return "Bitand(%s)" % (repr(self
.nodes
),)
409 nodes
["break"] = "Break"
410 def __init__(self
, ):
412 def _getChildren(self
):
418 nodes
["stmt"] = "Stmt"
419 def __init__(self
, nodes
):
421 def _getChildren(self
):
424 return "Stmt(%s)" % (repr(self
.nodes
),)
427 nodes
["assert"] = "Assert"
428 def __init__(self
, test
, fail
):
431 def _getChildren(self
):
432 return self
.test
, self
.fail
434 return "Assert(%s, %s)" % (repr(self
.test
), repr(self
.fail
))
437 nodes
["exec"] = "Exec"
438 def __init__(self
, expr
, locals, globals):
441 self
.globals = globals
442 def _getChildren(self
):
443 return self
.expr
, self
.locals, self
.globals
445 return "Exec(%s, %s, %s)" % (repr(self
.expr
), repr(self
.locals), repr(self
.globals))
448 nodes
["power"] = "Power"
449 def __init__(self
, (left
, right
)):
452 def _getChildren(self
):
453 return self
.left
, self
.right
455 return "Power(%s, %s)" % (repr(self
.left
), repr(self
.right
))
458 nodes
["import"] = "Import"
459 def __init__(self
, names
):
461 def _getChildren(self
):
464 return "Import(%s)" % (repr(self
.names
),)
467 nodes
["return"] = "Return"
468 def __init__(self
, value
):
470 def _getChildren(self
):
473 return "Return(%s)" % (repr(self
.value
),)
477 def __init__(self
, (left
, right
)):
480 def _getChildren(self
):
481 return self
.left
, self
.right
483 return "Add(%s, %s)" % (repr(self
.left
), repr(self
.right
))
485 class Function(Node
):
486 nodes
["function"] = "Function"
487 def __init__(self
, name
, argnames
, defaults
, flags
, doc
, code
):
489 self
.argnames
= argnames
490 self
.defaults
= defaults
494 self
.varargs
= self
.kwargs
= None
495 if flags
& CO_VARARGS
:
497 if flags
& CO_VARKEYWORDS
:
501 def _getChildren(self
):
502 return self
.name
, self
.argnames
, self
.defaults
, self
.flags
, self
.doc
, self
.code
504 return "Function(%s, %s, %s, %s, %s, %s)" % (repr(self
.name
), repr(self
.argnames
), repr(self
.defaults
), repr(self
.flags
), repr(self
.doc
), repr(self
.code
))
506 class TryExcept(Node
):
507 nodes
["tryexcept"] = "TryExcept"
508 def __init__(self
, body
, handlers
, else_
):
510 self
.handlers
= handlers
512 def _getChildren(self
):
513 return self
.body
, self
.handlers
, self
.else_
515 return "TryExcept(%s, %s, %s)" % (repr(self
.body
), repr(self
.handlers
), repr(self
.else_
))
517 class Subscript(Node
):
518 nodes
["subscript"] = "Subscript"
519 def __init__(self
, expr
, flags
, subs
):
523 def _getChildren(self
):
524 return self
.expr
, self
.flags
, self
.subs
526 return "Subscript(%s, %s, %s)" % (repr(self
.expr
), repr(self
.flags
), repr(self
.subs
))
528 class Ellipsis(Node
):
529 nodes
["ellipsis"] = "Ellipsis"
530 def __init__(self
, ):
532 def _getChildren(self
):
538 nodes
["print"] = "Print"
539 def __init__(self
, nodes
, dest
):
542 def _getChildren(self
):
543 return self
.nodes
, self
.dest
545 return "Print(%s, %s)" % (repr(self
.nodes
), repr(self
.dest
))
547 class UnaryAdd(Node
):
548 nodes
["unaryadd"] = "UnaryAdd"
549 def __init__(self
, expr
):
551 def _getChildren(self
):
554 return "UnaryAdd(%s)" % (repr(self
.expr
),)
556 class ListCompFor(Node
):
557 nodes
["listcompfor"] = "ListCompFor"
558 def __init__(self
, assign
, list, ifs
):
562 def _getChildren(self
):
563 return self
.assign
, self
.list, self
.ifs
565 return "ListCompFor(%s, %s, %s)" % (repr(self
.assign
), repr(self
.list), repr(self
.ifs
))
568 nodes
["dict"] = "Dict"
569 def __init__(self
, items
):
571 def _getChildren(self
):
574 return "Dict(%s)" % (repr(self
.items
),)
577 nodes
["getattr"] = "Getattr"
578 def __init__(self
, expr
, attrname
):
580 self
.attrname
= attrname
581 def _getChildren(self
):
582 return self
.expr
, self
.attrname
584 return "Getattr(%s, %s)" % (repr(self
.expr
), repr(self
.attrname
))
587 nodes
["asslist"] = "AssList"
588 def __init__(self
, nodes
):
590 def _getChildren(self
):
593 return "AssList(%s)" % (repr(self
.nodes
),)
595 class UnarySub(Node
):
596 nodes
["unarysub"] = "UnarySub"
597 def __init__(self
, expr
):
599 def _getChildren(self
):
602 return "UnarySub(%s)" % (repr(self
.expr
),)
604 class Sliceobj(Node
):
605 nodes
["sliceobj"] = "Sliceobj"
606 def __init__(self
, nodes
):
608 def _getChildren(self
):
611 return "Sliceobj(%s)" % (repr(self
.nodes
),)
614 nodes
["invert"] = "Invert"
615 def __init__(self
, expr
):
617 def _getChildren(self
):
620 return "Invert(%s)" % (repr(self
.expr
),)
623 nodes
["name"] = "Name"
624 def __init__(self
, name
):
626 def _getChildren(self
):
629 return "Name(%s)" % (repr(self
.name
),)
631 class AssTuple(Node
):
632 nodes
["asstuple"] = "AssTuple"
633 def __init__(self
, nodes
):
635 def _getChildren(self
):
638 return "AssTuple(%s)" % (repr(self
.nodes
),)
642 def __init__(self
, assign
, list, body
, else_
):
647 def _getChildren(self
):
648 return self
.assign
, self
.list, self
.body
, self
.else_
650 return "For(%s, %s, %s, %s)" % (repr(self
.assign
), repr(self
.list), repr(self
.body
), repr(self
.else_
))
653 nodes
["raise"] = "Raise"
654 def __init__(self
, expr1
, expr2
, expr3
):
658 def _getChildren(self
):
659 return self
.expr1
, self
.expr2
, self
.expr3
661 return "Raise(%s, %s, %s)" % (repr(self
.expr1
), repr(self
.expr2
), repr(self
.expr3
))
664 nodes
["from"] = "From"
665 def __init__(self
, modname
, names
):
666 self
.modname
= modname
668 def _getChildren(self
):
669 return self
.modname
, self
.names
671 return "From(%s, %s)" % (repr(self
.modname
), repr(self
.names
))
674 nodes
["slice"] = "Slice"
675 def __init__(self
, expr
, flags
, lower
, upper
):
680 def _getChildren(self
):
681 return self
.expr
, self
.flags
, self
.lower
, self
.upper
683 return "Slice(%s, %s, %s, %s)" % (repr(self
.expr
), repr(self
.flags
), repr(self
.lower
), repr(self
.upper
))
686 for k
in nodes
.keys():
687 nodes
[k
] = klasses
[nodes
[k
]]