public Set<Var> getVarsMentioned() { Set<Var> x = new HashSet<Var>() ; varsMentioned(x) ; return x ; }
public Set<Var> getVarsMentioned() { Set<Var> x = new HashSet<Var>() ; varsMentioned(x) ; return x ; }
@Override public void visit(OpFilter opFilter) { opFilter.getExprs().varsMentioned(acc); }
@Override public void visit(OpProcedure opProc) { opProc.getArgs().varsMentioned(acc) ; }
@Override public void visit(OpFilter opFilter) { opFilter.getExprs().varsMentioned(acc) ; }
@Override public void visit(OpProcedure opProc) { opProc.getArgs().varsMentioned(acc) ; }
private void leftJoin(Op left, Op right, ExprList exprs) { VarUsageVisitor leftUsage = VarUsageVisitor.apply(left) ; VarUsageVisitor rightUsage = VarUsageVisitor.apply(right) ; defines.addAll(leftUsage.defines) ; optDefines.addAll(leftUsage.optDefines) ; filterMentions.addAll(leftUsage.filterMentions) ; assignMentions.addAll(leftUsage.assignMentions) ; optDefines.addAll(rightUsage.defines) ; // Asymmetric. optDefines.addAll(rightUsage.optDefines) ; filterMentions.addAll(rightUsage.filterMentions) ; assignMentions.addAll(rightUsage.assignMentions) ; // Remove any definites that are in the optionals // as, overall, they are definites optDefines.removeAll(leftUsage.defines) ; // And the associated filter. if ( exprs != null ) exprs.varsMentioned(filterMentions); }
@Override public void visit(OpLeftJoin opLeftJoin) { VarUsageVisitor leftUsage = VarUsageVisitor.apply(opLeftJoin.getLeft()) ; VarUsageVisitor rightUsage = VarUsageVisitor.apply(opLeftJoin.getRight()) ; defines.addAll(leftUsage.defines) ; optDefines.addAll(leftUsage.optDefines) ; filterMentions.addAll(leftUsage.filterMentions) ; optDefines.addAll(rightUsage.defines) ; // Asymmetric. optDefines.addAll(rightUsage.optDefines) ; filterMentions.addAll(rightUsage.filterMentions) ; // Remove any definites that are in the optionals // as, overall, they are definites optDefines.removeAll(leftUsage.defines) ; // And the associated filter. if ( opLeftJoin.getExprs() != null ) opLeftJoin.getExprs().varsMentioned(filterMentions); }
@Override public void visit(OpFilter opFilter) { opFilter.getExprs().varsMentioned(filterMentions); opFilter.getSubOp().visit(this) ; }
@Override public void visit(OpFilter opFilter) { opFilter.getExprs().varsMentioned(filterMentions); opFilter.getSubOp().visit(this) ; }