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
6123 6124 6125 6126 6127 6128 6129 6130 6131 6132 6133 6134 6135 6136 |
# File 'lib/syntax_tree/node.rb', line 6123 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 |