Names for the child nodes to show in AST dumps.
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.
Rebuild this node with a new list of children. Implementations of this method *must not* perform any optimization to reuse the current node. This method always returns a fresh copy.
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.
A .flatMap call of type (CollectionType(c, _), CollectionType(_, u)) => CollectionType(c, u).