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
177 178 179 180 |
# File 'lib/unparser/ast.rb', line 177 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
190 191 192 193 194 195 196 197 198 199 |
# File 'lib/unparser/ast.rb', line 190 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 |