Sha256: 1ada665ac758ffd8e9eeab9679d1d1459904b36031bf3238eadb40d6fccf618f
Contents?: true
Size: 670 Bytes
Versions: 17
Compression:
Stored size: 670 Bytes
Contents
module Roodi module Core class CheckingVisitor def initialize(*checks) @checks ||= {} checks.first.each do |check| nodes = check.interesting_nodes nodes.each do |node| @checks[node] ||= [] @checks[node] << check @checks[node].uniq! end end end def visit(node) checks = @checks[node.node_type] checks.each {|check| check.evaluate_node_start(node)} unless checks.nil? node.visitable_children.each {|sexp| sexp.accept(self)} checks.each {|check| check.evaluate_node_end(node)} unless checks.nil? end end end end
Version data entries
17 entries across 17 versions & 3 rubygems