/** * Creates a function literal for a function that was not yet encountered while parsing. * * @param nm function name * @param ar function arity * @param ctx query context * @param ii input info * @return function literal * @throws QueryException query exception */ public static FuncLit unknown( final QNm nm, final long ar, final QueryContext ctx, final InputInfo ii) throws QueryException { final VarScope scp = new VarScope(); final FuncType temp = FuncType.arity((int) ar); final Var[] arg = new Var[(int) ar]; final Expr[] refs = temp.args(arg, ctx, scp, ii); final TypedFunc call = ctx.funcs.getFuncRef(nm, refs, ctx.sc, ii); return new FuncLit(nm, arg, call.fun, null, scp, ctx.sc, ii); }