@Override public Filter copy(final QueryContext qc, final VarScope scp, final IntObjMap<Var> vs) { final Filter f = new CachedFilter( info, root == null ? null : root.copy(qc, scp, vs), Arr.copyAll(qc, scp, vs, preds)); return copy(new IterFilter(f)); }
@Override public FTExpr copy(final QueryContext qc, final VarScope scp, final IntObjMap<Var> vs) { final FTWords ftw = new FTWords( info, query.copy(qc, scp, vs), mode, occ == null ? null : Arr.copyAll(qc, scp, vs, occ)); if (ftt != null) ftw.ftt = ftt.copy(ftw); ftw.tokens = tokens; ftw.data = data; ftw.first = first; ftw.pos = pos; ftw.fast = fast; return ftw; }
@Override public Expr copy(final QueryContext qc, final VarScope scp, final IntObjMap<Var> vs) { return new TypeSwitch(info, ts.copy(qc, scp, vs), Arr.copyAll(qc, scp, vs, cases)); }
@Override public IterPath copy(final QueryContext qc, final VarScope scp, final IntObjMap<Var> vs) { final Expr rt = root == null ? null : root.copy(qc, scp, vs); return copyType(new IterPath(info, rt, Arr.copyAll(qc, scp, vs, steps))); }
@Override public Expr compile(final QueryContext ctx, final VarScope scp) throws QueryException { for (final Let c : copies) c.expr = c.expr.compile(ctx, scp); super.compile(ctx, scp); return this; }
@Override public Expr copy(final QueryContext qc, final VarScope scp, final IntObjMap<Var> vs) { return new Try(info, expr.copy(qc, scp, vs), Arr.copyAll(qc, scp, vs, catches)); }
@Override public IterLastStep copy(final QueryContext qc, final VarScope scp, final IntObjMap<Var> vs) { return copyType(new IterLastStep(info, axis, test.copy(), Arr.copyAll(qc, scp, vs, preds))); }
@Override public FTExpr copy(final CompileContext cc, final IntObjMap<Var> vm) { final FTAnd copy = new FTAnd(info, Arr.copyAll(cc, vm, exprs)); if (negated != null) copy.negated = negated.clone(); return copy; }
@Override public IterMap copy(final QueryContext qc, final VarScope scp, final IntObjMap<Var> vs) { return copyType(new IterMap(info, Arr.copyAll(qc, scp, vs, exprs))); }