Module: SyntaxTree::ContainsAssignment
- Defined in:
- lib/syntax_tree/node.rb
Overview
If the predicate of a conditional or loop contains an assignment (in which case we can’t know for certain that that assignment doesn’t impact the statements inside the conditional) then we can’t use the modifier form and we must use the block form.
Class Method Summary collapse
Class Method Details
.call(parent) ⇒ Object
5338 5339 5340 5341 5342 5343 5344 5345 5346 5347 5348 5349 5350 5351 |
# File 'lib/syntax_tree/node.rb', line 5338 def self.call(parent) queue = [parent] while (node = queue.shift) case node when Assign, MAssign, OpAssign return true else node.child_nodes.each { |child| queue << child if child } end end false end |