Method: CodeNode::SexpWalker#walk
- Defined in:
- lib/code_node/sexp_walker.rb
#walk(s = nil) ⇒ nil
Walk the tree rooted at the given sexp
23 24 25 26 27 28 29 30 31 32 |
# File 'lib/code_node/sexp_walker.rb', line 23 def walk(s = nil) s ||= @root if [:module, :class].member?(s[0]) add_node s elsif find_relations? && s[0] == :call && s.length >= 4 && [:extend, :include].member?(s[2]) && !@graph.scope.empty? add_relation s else walk_siblings s.slice(1..-1) end end |