internal IEnumerable<Expression> Traverse(Expression node) { _children = new List<Expression>(); yield return node; base.Visit(node); var nestedVisitor = new PreOrderTraverseVisitor(); foreach (var descendant in _children.SelectMany(nestedVisitor.Traverse)) { yield return descendant; } }
internal IEnumerable <Expression> Traverse(Expression node) { _children = new List <Expression>(); yield return(node); base.Visit(node); var nestedVisitor = new PreOrderTraverseVisitor(); foreach (var descendant in _children.SelectMany(nestedVisitor.Traverse)) { yield return(descendant); } }