@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 compile(final QueryContext ctx, final VarScope scp) throws QueryException { super.compile(ctx, scp); return allAreValues() ? preEval(ctx) : this; }
@Override public Expr compile(final QueryContext ctx, final VarScope scp) throws QueryException { super.compile(ctx, scp); return optimize(ctx, scp); }