public static void walk(OpWalkerVisitor walkerVisitor, Op op) { // Stil needed for OpWalkerVisitorVisible, OpWalkerVisitorFixed op.visit(walkerVisitor) ; }
@Override public void format() { op.visit(new OpWriterWorker(iWriter, sCxt2)) ; } } ;
private List<Op> rewriteOpList(List<Op> lst) { List<Op> retval = new ArrayList<>(); for (Op o : lst) { o.visit(this); retval.add(pop()); } return retval; }
@Override public void visit(ExprFunctionOp funcOp) { funcOp.getGraphPattern().visit(visitor) ; } }
@Override protected Op modifyOp(final Op op) { final OpRewriter rewriter = new OpRewriter(securityEvaluator, graphIRI); LOG.debug("Before: {}", op); op.visit(rewriter); Op result = rewriter.getResult(); result = result == null ? op : result; LOG.debug("After: {}", result); result = super.modifyOp(result); LOG.debug("After Optimize: {}", result); return result; }
public void visitOp(Op op) { before(op) ; if ( opVisitor != null ) op.visit(this); after(op) ; }
QueryIterator exec(Op op, QueryIterator input) { push(input) ; int x = stack.size() ; op.visit(this) ; int y = stack.size() ; if ( x != y ) Log.warn(this, "Possible stack misalignment") ; QueryIterator qIter = pop() ; return qIter ; }
/** * Rewrites the subop of op1 and returns the result. * * @param op1 * @return the rewritten op. */ private Op rewriteOp1(final Op1 op1) { final OpRewriter rewriter = new OpRewriter(securityEvaluator, graphIRI); op1.getSubOp().visit(rewriter); return rewriter.getResult(); }
@Override public void visit(OpExtend opExtend) { opExtend.getSubOp().visit(this); processAssignVarExprList(opExtend.getVarExprList()); }
@Override public void visit(OpProject opProject) { opProject.getSubOp().visit(this); List<Var> vars = new ArrayList<>(); for (Var v : opProject.getVars()) { Node n = changeNode(v); vars.add(Var.alloc(n)); } push(new OpProject(pop(), vars)); }
@Override public void visit(OpSlice opSlice) { opSlice.getSubOp().visit(this); push(opSlice.copy(pop())); }
@Override public void visit(OpMinus op) { before(op) ; if (op.getLeft() != null) op.getLeft().visit(this) ; // Skip right. // if ( op.getRight() != null ) op.getRight().visit(this) ; if (opVisitor != null) op.visit(opVisitor) ; after(op) ; }
@Override protected void visitExt(OpExt op) { before(op) ; if ( op.effectiveOp() != null ) // Walk the effective op, if present. op.effectiveOp().visit(this); if ( visitor != null ) op.visit(visitor) ; after(op) ; } }
@Override protected void visit1(Op1 op) { before(op) ; if ( op.getSubOp() != null ) op.getSubOp().visit(this) ; if ( visitor != null ) op.visit(visitor) ; after(op) ; }
@Override public void visit(OpExtend opExtend) { opExtend.getSubOp().visit(this); push(OpExtend.extend(pop(), rewrite(opExtend.getVarExprList()))); }
@Override public void visit(OpLabel opLabel) { if (opLabel.hasSubOp()) { opLabel.getSubOp().visit(this); push(OpLabel.create(opLabel.getObject(), pop())); } else { push(opLabel); } }
@Override public void visit(OpProcedure opProc) { opProc.getSubOp().visit(this); Op op = pop(); ExprList args = new ExprRewriter(values).rewrite(opProc.getArgs()); Node procId = changeNode(opProc.getProcId()); push(new OpProcedure(procId, args, op)); }