예제 #1
0
 @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);
 }
예제 #2
0
파일: Path.java 프로젝트: runeengh/basex
 @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;
 }
예제 #3
0
파일: Docs.java 프로젝트: phspaelti/basex
 @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);
 }
예제 #4
0
 @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;
 }
예제 #5
0
파일: DbList.java 프로젝트: phspaelti/basex
 @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);
 }
예제 #6
0
 @Override
 public boolean accept(final ASTVisitor visitor) {
   return expr.accept(visitor) && visitor.declared(var);
 }
예제 #7
0
파일: FuncLit.java 프로젝트: JohnLeM/basex
 @Override
 public boolean accept(final ASTVisitor visitor) {
   return visitor.inlineFunc(this);
 }
예제 #8
0
파일: FuncLit.java 프로젝트: JohnLeM/basex
 @Override
 public boolean visit(final ASTVisitor visitor) {
   for (final Var v : args) if (!visitor.declared(v)) return false;
   return expr.accept(visitor);
 }
예제 #9
0
 @Override
 public boolean accept(final ASTVisitor visitor) {
   return (exprs.length != 0 || visitor.lock(DBLocking.CTX)) && super.accept(visitor);
 }
예제 #10
0
 @Override
 public boolean accept(final ASTVisitor visitor) {
   return visitor.dynFuncCall(this) && visitAll(visitor, expr);
 }
예제 #11
0
 @Override
 public boolean accept(final ASTVisitor visitor) {
   return visitor.lock(DBLocking.CONTEXT) && super.accept(visitor);
 }