Module: Wood::NodeVisitor
- Defined in:
- lib/wood/node_visitor.rb
Overview
Mixin module for Node visitors.
Defined Under Namespace
Modules: ClassMethods
Classes: Context
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
.included(klass) ⇒ Object
17
18
19
|
# File 'lib/wood/node_visitor.rb', line 17
def self.included(klass)
klass.extend ClassMethods
end
|
Instance Method Details
#array(nodes) ⇒ Object
54
55
56
57
58
|
# File 'lib/wood/node_visitor.rb', line 54
def array(nodes)
nodes.each do |n|
visit n
end
end
|
#context ⇒ Object
31
32
33
|
# File 'lib/wood/node_visitor.rb', line 31
def context
@contexts.last
end
|
#contexts ⇒ Object
27
28
29
|
# File 'lib/wood/node_visitor.rb', line 27
def contexts
@contexts ||= []
end
|
#new_context ⇒ Object
23
24
25
|
# File 'lib/wood/node_visitor.rb', line 23
def new_context
Context.new(false)
end
|
#visit(node) ⇒ Object
35
36
37
38
39
|
# File 'lib/wood/node_visitor.rb', line 35
def visit(node)
contexts.push new_context
__send__(node.node_name, node)
contexts.pop
end
|
#visit_type(node) ⇒ Object