Class: Omnium::Interpreter::NodeVisitor

Inherits:
Object
  • Object
show all
Defined in:
lib/omnium/interpreter/node_visitor.rb

Overview

This is to facilite the visitor pattern regards double dispatching.

Direct Known Subclasses

Core

Instance Method Summary collapse

Instance Method Details

#visit(node) ⇒ Object



7
8
9
10
11
12
# File 'lib/omnium/interpreter/node_visitor.rb', line 7

def visit(node)
  method_name = "visit_#{class_name(node)}"
  send(method_name, node)
rescue NameError
  raise NotImplementedError, "Subclass does not implement #{method_name}"
end