1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
module Morpher
class Compiler
class Preprocessor
class Emitter
# Noop emitter just descending into children
class Noop < self
private
# Return output
#
# @return [Node]
#
# @api private
#
def processed_node
mapped_children = node.children.map do |child|
if child.kind_of?(node.class)
visit(child)
else
child
end
end
s(node.type, *mapped_children)
end
# Validate node
#
# @return [undefined]
# if successful
#
# @raise [Error]
# otherwise
#
# @api private
#
def validate_node
end
end # Noop
end # Emitter
end # Preprocessor
end # Compiler
end # Morpher
|