Module: Carbon::Compiler::Visitor::Base::InstanceMethods
- Defined in:
- lib/carbon/compiler/visitor/base.rb
Overview
The instance methods.
Instance Method Summary collapse
- #accept(node, *params) ⇒ Object
- #visit(node, *params) ⇒ Object
- #visit_ignore(node) ⇒ Object
- #visit_missing(node) ⇒ Object
Instance Method Details
#accept(node, *params) ⇒ Object
22 23 24 |
# File 'lib/carbon/compiler/visitor/base.rb', line 22 def accept(node, *params) visit(node, *params) end |
#visit(node, *params) ⇒ Object
26 27 28 29 30 31 32 33 34 |
# File 'lib/carbon/compiler/visitor/base.rb', line 26 def visit(node, *params) return unless node begin action = self.class.matches.fetch(node.class) rescue KeyError visit_missing(node, *params) end public_send(action, node, *params) end |
#visit_ignore(node) ⇒ Object
40 41 42 |
# File 'lib/carbon/compiler/visitor/base.rb', line 40 def visit_ignore(node) node end |
#visit_missing(node) ⇒ Object
36 37 38 |
# File 'lib/carbon/compiler/visitor/base.rb', line 36 def visit_missing(node, *) fail ArgumentError, "Cannot visit #{node.class}" end |