1 # This file describes the nodes of the AST in ast.py. The module is
2 # generated by astgen.py.
3 # The descriptions use the following special notation to describe
4 # properties of the children:
5 # * this child is not a node
6 # ! this child is a sequence that contains nodes in it
7 # & this child may be set to None
8 # = ... a default value for the node constructor (optional args)
11 Function: name*, argnames*, defaults!, flags*, doc*, code
12 Lambda: argnames*, defaults!, flags*, code
13 Class: name*, bases!, doc*, code
17 For: assign, list, body, else_&
18 While: test, body, else_&
20 Exec: expr, locals&, globals&
21 From: modname*, names*
23 Raise: expr1&, expr2&, expr3&
24 TryFinally: body, final
25 TryExcept: body, handlers!, else_&
30 Printnl: nodes!, dest&
32 AugAssign: node, op*, expr
36 AssName: name*, flags*
37 AssAttr: expr, attrname*, flags*
38 ListComp: expr, quals!
39 ListCompFor: assign, list, ifs!
48 Getattr: expr, attrname*
49 CallFunc: node, args!, star_args& = None, dstar_args& = None
51 Subscript: expr, flags*, subs!
54 Slice: expr, flags*, lower&, upper&
62 LeftShift: (left, right)
63 RightShift: (left, right)
70 FloorDiv: (left, right)
76 self.varargs = self.kwargs = None
77 if flags & CO_VARARGS:
79 if flags & CO_VARKEYWORDS:
83 self.varargs = self.kwargs = None
84 if flags & CO_VARARGS:
86 if flags & CO_VARKEYWORDS: