# This file describes the nodes of the AST in ast.py. The module is # generated by astgen.py. # The descriptions use the following special notation to describe # properties of the children: # * this child is not a node # ! this child is a sequence that contains nodes in it # & this child may be set to None # = ... a default value for the node constructor (optional args) # # If you add node types here, please be sure to update the list of # Node types in Doc/lib/asttable.tex. Module: doc*, node Stmt: nodes! Decorators: nodes! Function: decorators&, name*, arguments!, defaults!, kwonlyargs!, returns&, flags*, doc*, code Lambda: arguments!, defaults!, kwonlyargs!, flags*, code SimpleArg: name*, annotation& NestedArgs: args! Kwarg: arg, expr Class: name*, bases!, doc*, code Pass: Break: Continue: For: assign, list, body, else_& While: test, body, else_& With: expr, vars&, body If: tests!, else_& IfExp: test, then, else_ From: modname*, names*, level* Import: names* Raise: expr1&, expr2&, expr3& TryFinally: body, final TryExcept: body, handlers!, else_& Return: value Yield: value Const: value* Discard: expr AugAssign: node, op*, expr Assign: nodes!, expr AssTuple: nodes! AssList: nodes! AssName: name*, flags* AssAttr: expr, attrname*, flags* ListComp: expr, quals! ListCompFor: assign, list, ifs! ListCompIf: test GenExpr: code GenExprInner: expr, quals! GenExprFor: assign, iter, ifs! GenExprIf: test List: nodes! Dict: items! Set: items! Not: expr Compare: expr, ops! Name: name* Global: names* Getattr: expr, attrname* CallFunc: node, args!, star_args& = None, dstar_args& = None Keyword: name*, expr Subscript: expr, flags*, subs! Sliceobj: nodes! Slice: expr, flags*, lower&, upper& Assert: test, fail& Tuple: nodes! Or: nodes! And: nodes! Bitor: nodes! Bitxor: nodes! Bitand: nodes! LeftShift: (left, right) RightShift: (left, right) Add: (left, right) Sub: (left, right) Mul: (left, right) Div: (left, right) Mod: (left, right) Power: (left, right) FloorDiv: (left, right) UnaryAdd: expr UnarySub: expr Invert: expr init(Function): self.varargs = self.kwargs = None if flags & CO_VARARGS: self.varargs = 1 if flags & CO_VARKEYWORDS: self.kwargs = 1 init(Lambda): self.varargs = self.kwargs = None if flags & CO_VARARGS: self.varargs = 1 if flags & CO_VARKEYWORDS: self.kwargs = 1 self.returns = None init(GenExpr): self.arguments = [SimpleArg('.0', None)] self.varargs = self.kwargs = None self.kwonlyargs = () init(GenExprFor): self.is_outmost = False