@Override public Expr copy(final QueryContext ctx, final VarScope o, final IntObjMap<Var> vs) { final VarScope scp = new VarScope(); final Var[] arg = new Var[args.length]; for (int i = 0; i < arg.length; i++) vs.put(args[i].id, arg[i] = scp.newCopyOf(ctx, args[i])); final Expr call = expr.copy(ctx, scp, vs); return new FuncLit(name, arg, call, (FuncType) type.type, scp, sc, info); }
@Override public Count copy(final QueryContext qc, final VarScope scp, final IntObjMap<Var> vs) { final Var v = scp.newCopyOf(qc, var); vs.put(var.id, v); return new Count(v, info); }