FunctionTree
Methods
- children() : array<int, FunctionTree>
- Every operand of this node that is an expression, in constructor order.
- deterministic() : bool
- True when this node and every node in children() produce the same value for the same input row.
- resolved() : bool
- True when this node and every node in children() can answer returns().
- withChildren() : static
- A copy of this node with $children in place of children(): same count, same order, same per-element narrowing. Never mutates $this.
Methods
children()
Every operand of this node that is an expression, in constructor order.
public
children() : array<int, FunctionTree>
Raw scalars, enums, Types and scope-introducing bodies are fields, not children.
Return values
array<int, FunctionTree>deterministic()
True when this node and every node in children() produce the same value for the same input row.
public
deterministic() : bool
False for a generator (now(), uuid, a random string): a caller that evaluates the tree once per FILE or per partition instead of once per row must refuse a non-deterministic one.
Return values
boolresolved()
True when this node and every node in children() can answer returns().
public
resolved() : bool
Return values
boolwithChildren()
A copy of this node with $children in place of children(): same count, same order, same per-element narrowing. Never mutates $this.
public
withChildren(array<int, FunctionTree> $children) : static
Parameters
- $children : array<int, FunctionTree>