@Override void walk(ExpressionWalker w) throws ExpError { subExp.walk(w); subExp = w.updateRef(subExp); w.visit(this); }
@Override void walk(ExpressionWalker w) throws ExpError { for (int i = 0; i < args.size(); ++i) { args.get(i).walk(w); } for (int i = 0; i < args.size(); ++i) { args.set(i, w.updateRef(args.get(i))); } w.visit(this); }
@Override void walk(ExpressionWalker w) throws ExpError { condExp.walk(w); trueExp.walk(w); falseExp.walk(w); condExp = w.updateRef(condExp); trueExp = w.updateRef(trueExp); falseExp = w.updateRef(falseExp); w.visit(this); }
@Override void walk(ExpressionWalker w) throws ExpError { w.visit(this); }