public void walk(VarExprList varExprList) { if ( varExprList == null ) return ; // retains order. varExprList.forEachVarExpr((v,e) -> { Expr expr = (e!=null) ? e : Expr.NONE ; walk(expr) ; }); }
private void processAssignVarExprList(VarExprList varExprList) { varExprList.forEachVarExpr((v,e)-> { defines.add(v) ; // Expression may eval to error -> unset? if ( e != null ) ExprVars.nonOpVarsMentioned(assignMentions, e); }) ; }
public void processExtend(VarExprList vel) { Multimap<Var, Var> updates = HashMultimap.create(); vel.forEachVarExpr((v, ex) -> { Set<Var> vars = ex == null ? Collections.singleton(v) : ExprVars.getVarsMentioned(ex); vars.forEach(w -> { Collection<Var> deps = varDeps.get(w); updates.putAll(v, deps); }); }); updates.asMap().forEach((k, w) -> { varDeps.replaceValues(k, w); }); }
public void processExtend(VarExprList vel) { Multimap<Var, Var> updates = HashMultimap.create(); vel.forEachVarExpr((v, ex) -> { Set<Var> vars = ex == null ? Collections.singleton(v) : ExprVars.getVarsMentioned(ex); vars.forEach(w -> { Collection<Var> deps = varDeps.get(w); updates.putAll(v, deps); }); }); updates.asMap().forEach((k, w) -> { varDeps.replaceValues(k, w); }); }