public void eval(EvalContext context) {
        int stmtId = context.newStmtId();
        context.logEntering("Calling function <" + name + ">@" + stmtId + " ctx@" + context.id);
        int len = params.length;
        for(int i=len-1; i>=0; i--) {
            params[i].eval(context);
        }
        context.invokeFunc(name, len);
        context.logLeaving("FunCall<" + name + ">@" + stmtId + " done!");
    }