Class: Unparser::AST::Walker
- Inherits:
-
Object
- Object
- Unparser::AST::Walker
- Defined in:
- lib/unparser/ast.rb
Overview
Controlled AST walker walking the AST in deeth first search with pre order
Class Method Summary collapse
-
.call(node, controller = TAUTOLOGY, &block) ⇒ self
private
Call ast walker.
Instance Method Summary collapse
-
#call(node) ⇒ undefined
private
Call walker with node.
Class Method Details
.call(node, controller = TAUTOLOGY, &block) ⇒ self
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Call ast walker
175 176 177 178 |
# File 'lib/unparser/ast.rb', line 175 def self.call(node, controller = TAUTOLOGY, &block) new(block, controller).call(node) self end |
Instance Method Details
#call(node) ⇒ undefined
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Call walker with node
188 189 190 191 192 193 194 195 196 197 |
# File 'lib/unparser/ast.rb', line 188 def call(node) return unless controller.call(node) block.call(node) node.children.each do |child| break unless child.instance_of?(Parser::AST::Node) call(child) end end |