Names for the child nodes to show in AST dumps.
Names for the child nodes to show in AST dumps. Defaults to a numbered sequence starting at 0 but can be overridden by subclasses to produce more suitable names.
The intrinsic symbol that points to this Node object.
The intrinsic symbol that points to this Node object.
Apply a mapping function to all children of this node and recreate the node with the new children.
Apply a mapping function to all children of this node and recreate the node with the new children. If all new children are identical to the old ones, this node is returned.
Like nodeMapChildren, except the type of this node is kept even if the children have changed.
Like nodeMapChildren, except the type of this node is kept even if the children have changed. We don't do this by default in nodeMapChildren because many transformations change the type.
Rebuild this node with a new list of children.
The current type of this node
The current type of this node
Return this Node with a Type assigned.
Return this Node with a Type assigned. This may only be called on freshly constructed nodes with no other existing references, i.e. creating the Node plus assigning it a Type must be atomic.
Return this Node with a Type assigned (if no other type has been seen for it yet) or a typed copy.
Return this Node with a Type assigned (if no other type has been seen for it yet) or a typed copy.
Rebuild this node and all children with their computed type.
Rebuild this node and all children with their computed type. If this
node already has a type, it is only recomputed if
is set to
true. The types of all children are computed recursively (if this node's
type is actually computed) using the same retype
setting.retype