public Object visitFunction(Function function, Object arg) { List<Term> terms = function.getTerms(); List<Term> newTerms = new List<Term>(); for (int i = 0; i < terms.Count; i++) { Term t = terms[i]; Term subsTerm = (Term)t.accept(this, arg); newTerms.Add(subsTerm); } return new Function(function.getFunctionName(), newTerms); }
public Object visitFunction(Function function, Object arg) { foreach (Term t in function.getTerms()) { t.accept(this, arg); } return function; }
public Object visitFunction(Function function, Object arg) { if (!replaced) { if (toReplace.Equals(function)) { replaced = true; return replaceWith; } } List<Term> newTerms = new List<Term>(); foreach (Term t in function.getTerms()) { Term subsTerm = (Term)t.accept(this, arg); newTerms.Add(subsTerm); } return new Function(function.getFunctionName(), newTerms); }