@Override public boolean accept(final ASTVisitor visitor) { for (final Expr e : preds) { visitor.enterFocus(); if (!e.accept(visitor)) return false; visitor.exitFocus(); } return root.accept(visitor); }
@Override public boolean accept(final ASTVisitor visitor) { if (root == null) { if (!visitor.lock(DBLocking.CTX)) return false; } else if (!root.accept(visitor)) { return false; } visitor.enterFocus(); if (!visitAll(visitor, steps)) return false; visitor.exitFocus(); return true; }
@Override public final boolean accept(final ASTVisitor visitor) { if (exprs.length == 0) { if (oneOf(func, COLLECTION, URI_COLLECTION) && !visitor.lock(DBLocking.COLL)) return false; } else if (!(exprs[0] instanceof Str)) { if (!visitor.lock(null)) return false; } else { final QueryInput qi = new QueryInput(string(((Str) exprs[0]).string())); if (qi.db == null && !visitor.lock(null)) return false; if (!visitor.lock(qi.db)) return false; } return super.accept(visitor); }
@Override public boolean accept(final ASTVisitor visitor) { if (!visitAll(visitor, specs)) return false; for (final Expr ng : preExpr) if (!ng.accept(visitor)) return false; for (final Var ng : post) if (!visitor.declared(ng)) return false; return true; }
@Override public final boolean accept(final ASTVisitor visitor) { if (exprs.length == 0) { if (!visitor.lock(null)) return false; } else { if (!dataLock(visitor, 0)) return false; } return super.accept(visitor); }
@Override public boolean accept(final ASTVisitor visitor) { return expr.accept(visitor) && visitor.declared(var); }
@Override public boolean accept(final ASTVisitor visitor) { return visitor.inlineFunc(this); }
@Override public boolean visit(final ASTVisitor visitor) { for (final Var v : args) if (!visitor.declared(v)) return false; return expr.accept(visitor); }
@Override public boolean accept(final ASTVisitor visitor) { return (exprs.length != 0 || visitor.lock(DBLocking.CTX)) && super.accept(visitor); }
@Override public boolean accept(final ASTVisitor visitor) { return visitor.dynFuncCall(this) && visitAll(visitor, expr); }
@Override public boolean accept(final ASTVisitor visitor) { return visitor.lock(DBLocking.CONTEXT) && super.accept(visitor); }