Class: Jievro::AstVisitor::Visitor
- Inherits:
-
Object
- Object
- Jievro::AstVisitor::Visitor
- Defined in:
- lib/jievro/ast_visitor/ast_visitor.rb
Instance Method Summary collapse
Instance Method Details
#visit(node, preorder = nil, postorder = nil) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/jievro/ast_visitor/ast_visitor.rb', line 4 def visit(node, preorder = nil, postorder = nil) preorder.call(node) unless preorder.nil? node.each do |n| if n.is_a?(Array) n.each do |m| visit(m, preorder, postorder) if to_be_visited?(m) end else visit(n, preorder, postorder) if to_be_visited?(n) end end postorder.call(node) unless postorder.nil? end |