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
):
19 def flatten_nodes(list):
20 return [n
for n
in flatten(list) if isinstance(n
, Node
)]
25 if hasattr(item
, "asList"):
26 l
.append(item
.asList())
29 if t
is TupleType
or t
is ListType
:
30 l
.append(tuple(asList(item
)))
37 class Node
: # an abstract base class
38 lineno
= None # provide a lineno for nodes that don't have one
40 pass # implemented by subclass
41 def getChildren(self
):
42 pass # implemented by subclasses
44 return tuple(asList(self
.getChildren()))
45 def getChildNodes(self
):
46 pass # implemented by subclasses
48 class EmptyNode(Node
):
52 nodes
["slice"] = "Slice"
53 def __init__(self
, expr
, flags
, lower
, upper
):
59 def getChildren(self
):
61 children
.append(self
.expr
)
62 children
.append(self
.flags
)
63 children
.append(self
.lower
)
64 children
.append(self
.upper
)
65 return tuple(children
)
67 def getChildNodes(self
):
69 nodelist
.append(self
.expr
)
70 if self
.lower
is not None: nodelist
.append(self
.lower
)
71 if self
.upper
is not None: nodelist
.append(self
.upper
)
72 return tuple(nodelist
)
75 return "Slice(%s, %s, %s, %s)" % (repr(self
.expr
), repr(self
.flags
), repr(self
.lower
), repr(self
.upper
))
78 nodes
["const"] = "Const"
79 def __init__(self
, value
):
82 def getChildren(self
):
85 def getChildNodes(self
):
89 return "Const(%s)" % (repr(self
.value
),)
92 nodes
["raise"] = "Raise"
93 def __init__(self
, expr1
, expr2
, expr3
):
98 def getChildren(self
):
100 children
.append(self
.expr1
)
101 children
.append(self
.expr2
)
102 children
.append(self
.expr3
)
103 return tuple(children
)
105 def getChildNodes(self
):
107 if self
.expr1
is not None: nodelist
.append(self
.expr1
)
108 if self
.expr2
is not None: nodelist
.append(self
.expr2
)
109 if self
.expr3
is not None: nodelist
.append(self
.expr3
)
110 return tuple(nodelist
)
113 return "Raise(%s, %s, %s)" % (repr(self
.expr1
), repr(self
.expr2
), repr(self
.expr3
))
117 def __init__(self
, assign
, list, body
, else_
):
123 def getChildren(self
):
125 children
.append(self
.assign
)
126 children
.append(self
.list)
127 children
.append(self
.body
)
128 children
.append(self
.else_
)
129 return tuple(children
)
131 def getChildNodes(self
):
133 nodelist
.append(self
.assign
)
134 nodelist
.append(self
.list)
135 nodelist
.append(self
.body
)
136 if self
.else_
is not None: nodelist
.append(self
.else_
)
137 return tuple(nodelist
)
140 return "For(%s, %s, %s, %s)" % (repr(self
.assign
), repr(self
.list), repr(self
.body
), repr(self
.else_
))
142 class AssTuple(Node
):
143 nodes
["asstuple"] = "AssTuple"
144 def __init__(self
, nodes
):
147 def getChildren(self
):
149 children
.extend(flatten(self
.nodes
))
150 return tuple(children
)
152 def getChildNodes(self
):
154 nodelist
.extend(flatten_nodes(self
.nodes
))
155 return tuple(nodelist
)
158 return "AssTuple(%s)" % (repr(self
.nodes
),)
162 def __init__(self
, (left
, right
)):
166 def getChildren(self
):
167 return self
.left
, self
.right
169 def getChildNodes(self
):
170 return self
.left
, self
.right
173 return "Mul((%s, %s))" % (repr(self
.left
), repr(self
.right
))
176 nodes
["invert"] = "Invert"
177 def __init__(self
, expr
):
180 def getChildren(self
):
183 def getChildNodes(self
):
187 return "Invert(%s)" % (repr(self
.expr
),)
189 class RightShift(Node
):
190 nodes
["rightshift"] = "RightShift"
191 def __init__(self
, (left
, right
)):
195 def getChildren(self
):
196 return self
.left
, self
.right
198 def getChildNodes(self
):
199 return self
.left
, self
.right
202 return "RightShift((%s, %s))" % (repr(self
.left
), repr(self
.right
))
205 nodes
["asslist"] = "AssList"
206 def __init__(self
, nodes
):
209 def getChildren(self
):
211 children
.extend(flatten(self
.nodes
))
212 return tuple(children
)
214 def getChildNodes(self
):
216 nodelist
.extend(flatten_nodes(self
.nodes
))
217 return tuple(nodelist
)
220 return "AssList(%s)" % (repr(self
.nodes
),)
223 nodes
["from"] = "From"
224 def __init__(self
, modname
, names
):
225 self
.modname
= modname
228 def getChildren(self
):
229 return self
.modname
, self
.names
231 def getChildNodes(self
):
235 return "From(%s, %s)" % (repr(self
.modname
), repr(self
.names
))
238 nodes
["getattr"] = "Getattr"
239 def __init__(self
, expr
, attrname
):
241 self
.attrname
= attrname
243 def getChildren(self
):
244 return self
.expr
, self
.attrname
246 def getChildNodes(self
):
250 return "Getattr(%s, %s)" % (repr(self
.expr
), repr(self
.attrname
))
253 nodes
["dict"] = "Dict"
254 def __init__(self
, items
):
257 def getChildren(self
):
259 children
.extend(flatten(self
.items
))
260 return tuple(children
)
262 def getChildNodes(self
):
264 nodelist
.extend(flatten_nodes(self
.items
))
265 return tuple(nodelist
)
268 return "Dict(%s)" % (repr(self
.items
),)
271 nodes
["module"] = "Module"
272 def __init__(self
, doc
, node
):
276 def getChildren(self
):
277 return self
.doc
, self
.node
279 def getChildNodes(self
):
283 return "Module(%s, %s)" % (repr(self
.doc
), repr(self
.node
))
285 class Expression(Node
):
286 # Expression is an artificial node class to support "eval"
287 nodes
["expression"] = "Expression"
288 def __init__(self
, node
):
291 def getChildren(self
):
294 def getChildNodes(self
):
298 return "Expression(%s)" % (repr(self
.node
))
300 class UnaryAdd(Node
):
301 nodes
["unaryadd"] = "UnaryAdd"
302 def __init__(self
, expr
):
305 def getChildren(self
):
308 def getChildNodes(self
):
312 return "UnaryAdd(%s)" % (repr(self
.expr
),)
314 class Ellipsis(Node
):
315 nodes
["ellipsis"] = "Ellipsis"
316 def __init__(self
, ):
319 def getChildren(self
):
322 def getChildNodes(self
):
329 nodes
["print"] = "Print"
330 def __init__(self
, nodes
, dest
):
334 def getChildren(self
):
336 children
.extend(flatten(self
.nodes
))
337 children
.append(self
.dest
)
338 return tuple(children
)
340 def getChildNodes(self
):
342 nodelist
.extend(flatten_nodes(self
.nodes
))
343 if self
.dest
is not None: nodelist
.append(self
.dest
)
344 return tuple(nodelist
)
347 return "Print(%s, %s)" % (repr(self
.nodes
), repr(self
.dest
))
350 nodes
["import"] = "Import"
351 def __init__(self
, names
):
354 def getChildren(self
):
357 def getChildNodes(self
):
361 return "Import(%s)" % (repr(self
.names
),)
363 class Subscript(Node
):
364 nodes
["subscript"] = "Subscript"
365 def __init__(self
, expr
, flags
, subs
):
370 def getChildren(self
):
372 children
.append(self
.expr
)
373 children
.append(self
.flags
)
374 children
.extend(flatten(self
.subs
))
375 return tuple(children
)
377 def getChildNodes(self
):
379 nodelist
.append(self
.expr
)
380 nodelist
.extend(flatten_nodes(self
.subs
))
381 return tuple(nodelist
)
384 return "Subscript(%s, %s, %s)" % (repr(self
.expr
), repr(self
.flags
), repr(self
.subs
))
386 class TryExcept(Node
):
387 nodes
["tryexcept"] = "TryExcept"
388 def __init__(self
, body
, handlers
, else_
):
390 self
.handlers
= handlers
393 def getChildren(self
):
395 children
.append(self
.body
)
396 children
.extend(flatten(self
.handlers
))
397 children
.append(self
.else_
)
398 return tuple(children
)
400 def getChildNodes(self
):
402 nodelist
.append(self
.body
)
403 nodelist
.extend(flatten_nodes(self
.handlers
))
404 if self
.else_
is not None: nodelist
.append(self
.else_
)
405 return tuple(nodelist
)
408 return "TryExcept(%s, %s, %s)" % (repr(self
.body
), repr(self
.handlers
), repr(self
.else_
))
412 def __init__(self
, nodes
):
415 def getChildren(self
):
417 children
.extend(flatten(self
.nodes
))
418 return tuple(children
)
420 def getChildNodes(self
):
422 nodelist
.extend(flatten_nodes(self
.nodes
))
423 return tuple(nodelist
)
426 return "Or(%s)" % (repr(self
.nodes
),)
429 nodes
["name"] = "Name"
430 def __init__(self
, name
):
433 def getChildren(self
):
436 def getChildNodes(self
):
440 return "Name(%s)" % (repr(self
.name
),)
442 class Function(Node
):
443 nodes
["function"] = "Function"
444 def __init__(self
, name
, argnames
, defaults
, flags
, doc
, code
):
446 self
.argnames
= argnames
447 self
.defaults
= defaults
451 self
.varargs
= self
.kwargs
= None
452 if flags
& CO_VARARGS
:
454 if flags
& CO_VARKEYWORDS
:
459 def getChildren(self
):
461 children
.append(self
.name
)
462 children
.append(self
.argnames
)
463 children
.extend(flatten(self
.defaults
))
464 children
.append(self
.flags
)
465 children
.append(self
.doc
)
466 children
.append(self
.code
)
467 return tuple(children
)
469 def getChildNodes(self
):
471 nodelist
.extend(flatten_nodes(self
.defaults
))
472 nodelist
.append(self
.code
)
473 return tuple(nodelist
)
476 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
))
479 nodes
["assert"] = "Assert"
480 def __init__(self
, test
, fail
):
484 def getChildren(self
):
486 children
.append(self
.test
)
487 children
.append(self
.fail
)
488 return tuple(children
)
490 def getChildNodes(self
):
492 nodelist
.append(self
.test
)
493 if self
.fail
is not None: nodelist
.append(self
.fail
)
494 return tuple(nodelist
)
497 return "Assert(%s, %s)" % (repr(self
.test
), repr(self
.fail
))
500 nodes
["return"] = "Return"
501 def __init__(self
, value
):
504 def getChildren(self
):
507 def getChildNodes(self
):
511 return "Return(%s)" % (repr(self
.value
),)
514 nodes
["power"] = "Power"
515 def __init__(self
, (left
, right
)):
519 def getChildren(self
):
520 return self
.left
, self
.right
522 def getChildNodes(self
):
523 return self
.left
, self
.right
526 return "Power((%s, %s))" % (repr(self
.left
), repr(self
.right
))
529 nodes
["exec"] = "Exec"
530 def __init__(self
, expr
, locals, globals):
533 self
.globals = globals
535 def getChildren(self
):
537 children
.append(self
.expr
)
538 children
.append(self
.locals)
539 children
.append(self
.globals)
540 return tuple(children
)
542 def getChildNodes(self
):
544 nodelist
.append(self
.expr
)
545 if self
.locals is not None: nodelist
.append(self
.locals)
546 if self
.globals is not None: nodelist
.append(self
.globals)
547 return tuple(nodelist
)
550 return "Exec(%s, %s, %s)" % (repr(self
.expr
), repr(self
.locals), repr(self
.globals))
553 nodes
["stmt"] = "Stmt"
554 def __init__(self
, nodes
):
557 def getChildren(self
):
559 children
.extend(flatten(self
.nodes
))
560 return tuple(children
)
562 def getChildNodes(self
):
564 nodelist
.extend(flatten_nodes(self
.nodes
))
565 return tuple(nodelist
)
568 return "Stmt(%s)" % (repr(self
.nodes
),)
570 class Sliceobj(Node
):
571 nodes
["sliceobj"] = "Sliceobj"
572 def __init__(self
, nodes
):
575 def getChildren(self
):
577 children
.extend(flatten(self
.nodes
))
578 return tuple(children
)
580 def getChildNodes(self
):
582 nodelist
.extend(flatten_nodes(self
.nodes
))
583 return tuple(nodelist
)
586 return "Sliceobj(%s)" % (repr(self
.nodes
),)
589 nodes
["break"] = "Break"
590 def __init__(self
, ):
593 def getChildren(self
):
596 def getChildNodes(self
):
603 nodes
["bitand"] = "Bitand"
604 def __init__(self
, nodes
):
607 def getChildren(self
):
609 children
.extend(flatten(self
.nodes
))
610 return tuple(children
)
612 def getChildNodes(self
):
614 nodelist
.extend(flatten_nodes(self
.nodes
))
615 return tuple(nodelist
)
618 return "Bitand(%s)" % (repr(self
.nodes
),)
620 class FloorDiv(Node
):
621 nodes
["floordiv"] = "FloorDiv"
622 def __init__(self
, (left
, right
)):
626 def getChildren(self
):
627 return self
.left
, self
.right
629 def getChildNodes(self
):
630 return self
.left
, self
.right
633 return "FloorDiv((%s, %s))" % (repr(self
.left
), repr(self
.right
))
635 class TryFinally(Node
):
636 nodes
["tryfinally"] = "TryFinally"
637 def __init__(self
, body
, final
):
641 def getChildren(self
):
642 return self
.body
, self
.final
644 def getChildNodes(self
):
645 return self
.body
, self
.final
648 return "TryFinally(%s, %s)" % (repr(self
.body
), repr(self
.final
))
652 def __init__(self
, expr
):
655 def getChildren(self
):
658 def getChildNodes(self
):
662 return "Not(%s)" % (repr(self
.expr
),)
665 nodes
["class"] = "Class"
666 def __init__(self
, name
, bases
, doc
, code
):
672 def getChildren(self
):
674 children
.append(self
.name
)
675 children
.extend(flatten(self
.bases
))
676 children
.append(self
.doc
)
677 children
.append(self
.code
)
678 return tuple(children
)
680 def getChildNodes(self
):
682 nodelist
.extend(flatten_nodes(self
.bases
))
683 nodelist
.append(self
.code
)
684 return tuple(nodelist
)
687 return "Class(%s, %s, %s, %s)" % (repr(self
.name
), repr(self
.bases
), repr(self
.doc
), repr(self
.code
))
691 def __init__(self
, (left
, right
)):
695 def getChildren(self
):
696 return self
.left
, self
.right
698 def getChildNodes(self
):
699 return self
.left
, self
.right
702 return "Mod((%s, %s))" % (repr(self
.left
), repr(self
.right
))
705 nodes
["printnl"] = "Printnl"
706 def __init__(self
, nodes
, dest
):
710 def getChildren(self
):
712 children
.extend(flatten(self
.nodes
))
713 children
.append(self
.dest
)
714 return tuple(children
)
716 def getChildNodes(self
):
718 nodelist
.extend(flatten_nodes(self
.nodes
))
719 if self
.dest
is not None: nodelist
.append(self
.dest
)
720 return tuple(nodelist
)
723 return "Printnl(%s, %s)" % (repr(self
.nodes
), repr(self
.dest
))
726 nodes
["tuple"] = "Tuple"
727 def __init__(self
, nodes
):
730 def getChildren(self
):
732 children
.extend(flatten(self
.nodes
))
733 return tuple(children
)
735 def getChildNodes(self
):
737 nodelist
.extend(flatten_nodes(self
.nodes
))
738 return tuple(nodelist
)
741 return "Tuple(%s)" % (repr(self
.nodes
),)
744 nodes
["assattr"] = "AssAttr"
745 def __init__(self
, expr
, attrname
, flags
):
747 self
.attrname
= attrname
750 def getChildren(self
):
751 return self
.expr
, self
.attrname
, self
.flags
753 def getChildNodes(self
):
757 return "AssAttr(%s, %s, %s)" % (repr(self
.expr
), repr(self
.attrname
), repr(self
.flags
))
760 nodes
["keyword"] = "Keyword"
761 def __init__(self
, name
, expr
):
765 def getChildren(self
):
766 return self
.name
, self
.expr
768 def getChildNodes(self
):
772 return "Keyword(%s, %s)" % (repr(self
.name
), repr(self
.expr
))
774 class AugAssign(Node
):
775 nodes
["augassign"] = "AugAssign"
776 def __init__(self
, node
, op
, expr
):
781 def getChildren(self
):
782 return self
.node
, self
.op
, self
.expr
784 def getChildNodes(self
):
785 return self
.node
, self
.expr
788 return "AugAssign(%s, %s, %s)" % (repr(self
.node
), repr(self
.op
), repr(self
.expr
))
791 nodes
["list"] = "List"
792 def __init__(self
, nodes
):
795 def getChildren(self
):
797 children
.extend(flatten(self
.nodes
))
798 return tuple(children
)
800 def getChildNodes(self
):
802 nodelist
.extend(flatten_nodes(self
.nodes
))
803 return tuple(nodelist
)
806 return "List(%s)" % (repr(self
.nodes
),)
809 nodes
["yield"] = "Yield"
810 def __init__(self
, value
):
813 def getChildren(self
):
816 def getChildNodes(self
):
820 return "Yield(%s)" % (repr(self
.value
),)
822 class LeftShift(Node
):
823 nodes
["leftshift"] = "LeftShift"
824 def __init__(self
, (left
, right
)):
828 def getChildren(self
):
829 return self
.left
, self
.right
831 def getChildNodes(self
):
832 return self
.left
, self
.right
835 return "LeftShift((%s, %s))" % (repr(self
.left
), repr(self
.right
))
838 nodes
["assname"] = "AssName"
839 def __init__(self
, name
, flags
):
843 def getChildren(self
):
844 return self
.name
, self
.flags
846 def getChildNodes(self
):
850 return "AssName(%s, %s)" % (repr(self
.name
), repr(self
.flags
))
853 nodes
["while"] = "While"
854 def __init__(self
, test
, body
, else_
):
859 def getChildren(self
):
861 children
.append(self
.test
)
862 children
.append(self
.body
)
863 children
.append(self
.else_
)
864 return tuple(children
)
866 def getChildNodes(self
):
868 nodelist
.append(self
.test
)
869 nodelist
.append(self
.body
)
870 if self
.else_
is not None: nodelist
.append(self
.else_
)
871 return tuple(nodelist
)
874 return "While(%s, %s, %s)" % (repr(self
.test
), repr(self
.body
), repr(self
.else_
))
876 class Continue(Node
):
877 nodes
["continue"] = "Continue"
878 def __init__(self
, ):
881 def getChildren(self
):
884 def getChildNodes(self
):
890 class Backquote(Node
):
891 nodes
["backquote"] = "Backquote"
892 def __init__(self
, expr
):
895 def getChildren(self
):
898 def getChildNodes(self
):
902 return "Backquote(%s)" % (repr(self
.expr
),)
905 nodes
["discard"] = "Discard"
906 def __init__(self
, expr
):
909 def getChildren(self
):
912 def getChildNodes(self
):
916 return "Discard(%s)" % (repr(self
.expr
),)
920 def __init__(self
, (left
, right
)):
924 def getChildren(self
):
925 return self
.left
, self
.right
927 def getChildNodes(self
):
928 return self
.left
, self
.right
931 return "Div((%s, %s))" % (repr(self
.left
), repr(self
.right
))
934 nodes
["assign"] = "Assign"
935 def __init__(self
, nodes
, expr
):
939 def getChildren(self
):
941 children
.extend(flatten(self
.nodes
))
942 children
.append(self
.expr
)
943 return tuple(children
)
945 def getChildNodes(self
):
947 nodelist
.extend(flatten_nodes(self
.nodes
))
948 nodelist
.append(self
.expr
)
949 return tuple(nodelist
)
952 return "Assign(%s, %s)" % (repr(self
.nodes
), repr(self
.expr
))
955 nodes
["lambda"] = "Lambda"
956 def __init__(self
, argnames
, defaults
, flags
, code
):
957 self
.argnames
= argnames
958 self
.defaults
= defaults
961 self
.varargs
= self
.kwargs
= None
962 if flags
& CO_VARARGS
:
964 if flags
& CO_VARKEYWORDS
:
968 def getChildren(self
):
970 children
.append(self
.argnames
)
971 children
.extend(flatten(self
.defaults
))
972 children
.append(self
.flags
)
973 children
.append(self
.code
)
974 return tuple(children
)
976 def getChildNodes(self
):
978 nodelist
.extend(flatten_nodes(self
.defaults
))
979 nodelist
.append(self
.code
)
980 return tuple(nodelist
)
983 return "Lambda(%s, %s, %s, %s)" % (repr(self
.argnames
), repr(self
.defaults
), repr(self
.flags
), repr(self
.code
))
987 def __init__(self
, nodes
):
990 def getChildren(self
):
992 children
.extend(flatten(self
.nodes
))
993 return tuple(children
)
995 def getChildNodes(self
):
997 nodelist
.extend(flatten_nodes(self
.nodes
))
998 return tuple(nodelist
)
1001 return "And(%s)" % (repr(self
.nodes
),)
1003 class Compare(Node
):
1004 nodes
["compare"] = "Compare"
1005 def __init__(self
, expr
, ops
):
1009 def getChildren(self
):
1011 children
.append(self
.expr
)
1012 children
.extend(flatten(self
.ops
))
1013 return tuple(children
)
1015 def getChildNodes(self
):
1017 nodelist
.append(self
.expr
)
1018 nodelist
.extend(flatten_nodes(self
.ops
))
1019 return tuple(nodelist
)
1022 return "Compare(%s, %s)" % (repr(self
.expr
), repr(self
.ops
))
1025 nodes
["bitor"] = "Bitor"
1026 def __init__(self
, nodes
):
1029 def getChildren(self
):
1031 children
.extend(flatten(self
.nodes
))
1032 return tuple(children
)
1034 def getChildNodes(self
):
1036 nodelist
.extend(flatten_nodes(self
.nodes
))
1037 return tuple(nodelist
)
1040 return "Bitor(%s)" % (repr(self
.nodes
),)
1043 nodes
["bitxor"] = "Bitxor"
1044 def __init__(self
, nodes
):
1047 def getChildren(self
):
1049 children
.extend(flatten(self
.nodes
))
1050 return tuple(children
)
1052 def getChildNodes(self
):
1054 nodelist
.extend(flatten_nodes(self
.nodes
))
1055 return tuple(nodelist
)
1058 return "Bitxor(%s)" % (repr(self
.nodes
),)
1060 class CallFunc(Node
):
1061 nodes
["callfunc"] = "CallFunc"
1062 def __init__(self
, node
, args
, star_args
= None, dstar_args
= None):
1065 self
.star_args
= star_args
1066 self
.dstar_args
= dstar_args
1068 def getChildren(self
):
1070 children
.append(self
.node
)
1071 children
.extend(flatten(self
.args
))
1072 children
.append(self
.star_args
)
1073 children
.append(self
.dstar_args
)
1074 return tuple(children
)
1076 def getChildNodes(self
):
1078 nodelist
.append(self
.node
)
1079 nodelist
.extend(flatten_nodes(self
.args
))
1080 if self
.star_args
is not None: nodelist
.append(self
.star_args
)
1081 if self
.dstar_args
is not None: nodelist
.append(self
.dstar_args
)
1082 return tuple(nodelist
)
1085 return "CallFunc(%s, %s, %s, %s)" % (repr(self
.node
), repr(self
.args
), repr(self
.star_args
), repr(self
.dstar_args
))
1088 nodes
["global"] = "Global"
1089 def __init__(self
, names
):
1092 def getChildren(self
):
1095 def getChildNodes(self
):
1099 return "Global(%s)" % (repr(self
.names
),)
1102 nodes
["add"] = "Add"
1103 def __init__(self
, (left
, right
)):
1107 def getChildren(self
):
1108 return self
.left
, self
.right
1110 def getChildNodes(self
):
1111 return self
.left
, self
.right
1114 return "Add((%s, %s))" % (repr(self
.left
), repr(self
.right
))
1116 class ListCompIf(Node
):
1117 nodes
["listcompif"] = "ListCompIf"
1118 def __init__(self
, test
):
1121 def getChildren(self
):
1124 def getChildNodes(self
):
1128 return "ListCompIf(%s)" % (repr(self
.test
),)
1131 nodes
["sub"] = "Sub"
1132 def __init__(self
, (left
, right
)):
1136 def getChildren(self
):
1137 return self
.left
, self
.right
1139 def getChildNodes(self
):
1140 return self
.left
, self
.right
1143 return "Sub((%s, %s))" % (repr(self
.left
), repr(self
.right
))
1146 nodes
["pass"] = "Pass"
1147 def __init__(self
, ):
1150 def getChildren(self
):
1153 def getChildNodes(self
):
1159 class UnarySub(Node
):
1160 nodes
["unarysub"] = "UnarySub"
1161 def __init__(self
, expr
):
1164 def getChildren(self
):
1167 def getChildNodes(self
):
1171 return "UnarySub(%s)" % (repr(self
.expr
),)
1175 def __init__(self
, tests
, else_
):
1179 def getChildren(self
):
1181 children
.extend(flatten(self
.tests
))
1182 children
.append(self
.else_
)
1183 return tuple(children
)
1185 def getChildNodes(self
):
1187 nodelist
.extend(flatten_nodes(self
.tests
))
1188 if self
.else_
is not None: nodelist
.append(self
.else_
)
1189 return tuple(nodelist
)
1192 return "If(%s, %s)" % (repr(self
.tests
), repr(self
.else_
))
1194 class ListComp(Node
):
1195 nodes
["listcomp"] = "ListComp"
1196 def __init__(self
, expr
, quals
):
1200 def getChildren(self
):
1202 children
.append(self
.expr
)
1203 children
.extend(flatten(self
.quals
))
1204 return tuple(children
)
1206 def getChildNodes(self
):
1208 nodelist
.append(self
.expr
)
1209 nodelist
.extend(flatten_nodes(self
.quals
))
1210 return tuple(nodelist
)
1213 return "ListComp(%s, %s)" % (repr(self
.expr
), repr(self
.quals
))
1215 class ListCompFor(Node
):
1216 nodes
["listcompfor"] = "ListCompFor"
1217 def __init__(self
, assign
, list, ifs
):
1218 self
.assign
= assign
1222 def getChildren(self
):
1224 children
.append(self
.assign
)
1225 children
.append(self
.list)
1226 children
.extend(flatten(self
.ifs
))
1227 return tuple(children
)
1229 def getChildNodes(self
):
1231 nodelist
.append(self
.assign
)
1232 nodelist
.append(self
.list)
1233 nodelist
.extend(flatten_nodes(self
.ifs
))
1234 return tuple(nodelist
)
1237 return "ListCompFor(%s, %s, %s)" % (repr(self
.assign
), repr(self
.list), repr(self
.ifs
))
1239 class GenExpr(Node
):
1240 nodes
["genexpr"] = "GenExpr"
1241 def __init__(self
, code
):
1243 self
.argnames
= ['[outmost-iterable]']
1244 self
.varargs
= self
.kwargs
= None
1246 def getChildren(self
):
1249 def getChildNodes(self
):
1253 return "GenExpr(%s)" % (repr(self
.code
),)
1255 class GenExprInner(Node
):
1256 nodes
["genexprinner"] = "GenExprInner"
1257 def __init__(self
, expr
, quals
):
1261 def getChildren(self
):
1263 children
.append(self
.expr
)
1264 children
.extend(flatten(self
.quals
))
1265 return tuple(children
)
1267 def getChildNodes(self
):
1269 nodelist
.append(self
.expr
)
1270 nodelist
.extend(flatten_nodes(self
.quals
))
1271 return tuple(nodelist
)
1274 return "GenExprInner(%s, %s)" % (repr(self
.expr
), repr(self
.quals
))
1276 class GenExprFor(Node
):
1277 nodes
["genexprfor"] = "GenExprFor"
1278 def __init__(self
, assign
, iter, ifs
):
1279 self
.assign
= assign
1282 self
.is_outmost
= False
1284 def getChildren(self
):
1286 children
.append(self
.assign
)
1287 children
.append(self
.iter)
1288 children
.extend(flatten(self
.ifs
))
1289 return tuple(children
)
1291 def getChildNodes(self
):
1293 nodelist
.append(self
.assign
)
1294 nodelist
.append(self
.iter)
1295 nodelist
.extend(flatten_nodes(self
.ifs
))
1296 return tuple(nodelist
)
1299 return "GenExprFor(%s, %s, %s)" % (repr(self
.assign
), repr(self
.iter), repr(self
.ifs
))
1301 class GenExprIf(Node
):
1302 nodes
["genexprif"] = "GenExprIf"
1303 def __init__(self
, test
):
1306 def getChildren(self
):
1309 def getChildNodes(self
):
1313 return "GenExprIf(%s)" % (repr(self
.test
),)
1316 for k
in nodes
.keys():
1317 nodes
[k
] = klasses
[nodes
[k
]]