Class: Yoda::Parsing::Traverser

Inherits:
Object
  • Object
show all
Includes:
QueryInterface
Defined in:
lib/yoda/parsing/traverser.rb,
lib/yoda/parsing/traverser/matcher.rb,
lib/yoda/parsing/traverser/result_set.rb,
lib/yoda/parsing/traverser/query_interface.rb

Overview

Traverser searches AST::Node with the given queries.

Defined Under Namespace

Modules: QueryInterface Classes: Matcher, ResultSet

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from QueryInterface

#query, #query_all, #query_ancestor, #query_ancestors

Constructor Details

#initialize(node) ⇒ Traverser

Returns a new instance of Traverser.

Parameters:



14
15
16
# File 'lib/yoda/parsing/traverser.rb', line 14

def initialize(node)
  @node = node
end

Instance Attribute Details

#nodeAST::Node (readonly)

Returns:



11
12
13
# File 'lib/yoda/parsing/traverser.rb', line 11

def node
  @node
end

Instance Method Details

#all_nodesEnumerable<AST::Node>

Returns:



19
20
21
# File 'lib/yoda/parsing/traverser.rb', line 19

def all_nodes
  all_nodes_for(node)
end

#nestingEnumerable<AST::Node>

Returns:



24
25
26
# File 'lib/yoda/parsing/traverser.rb', line 24

def nesting
  node.nesting
end