/**
* Load instances of the built-in functions into the BuiltInSymbolTable.
*/
private static void loadBuiltinFunction(Class<? extends Function> cls) {
try {
Function fn = (Function) cls.newInstance();
Type retType = fn.getReturnType();
List<Type> argTypes = fn.getArgumentTypes();
List<Type> varArgTypes = fn.getVarArgTypes();
String fnName = cls.getSimpleName();
LOG.debug("Loaded built-in function: " + fnName);
Symbol fnSymbol = new FnSymbol(fnName, fn, retType, argTypes, varArgTypes);
BUILTINS.put(fnName, fnSymbol);
} catch (InstantiationException ie) {