package com.itemanalysis.squiggle.base; import java.util.Set; import com.itemanalysis.squiggle.output.Output; public class FunctionCall implements Matchable, Selectable { private final String functionName; private final Matchable[] arguments; public FunctionCall(String functionName, Matchable... arguments) { this.functionName = functionName; this.arguments = arguments; } public void write(Output out) { out.print(functionName).print("("); for (int i = 0; i < arguments.length; i++) { if (i > 0) out.print(", "); arguments[i].write(out); } out.print(")"); } public void addReferencedTablesTo(Set<Table> tables) { for (Matchable argument : arguments) { argument.addReferencedTablesTo(tables); } } }