package org.nwapw.abacus.tree /** * A tree node that holds a function call. * * The function call node can hold any number of children, and passes the to the appropriate reducer, * but that is its sole purpose. * * @param function the function string. */ class FunctionNode(function: String) : CallNode(function) { override fun reduce(reducer: Reducer): T? { val children = Array(children.size, { children[it].reduce(reducer) ?: return null; }) return reducer.reduceNode(this, *children) } }