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
6233 6234 6235 6236 6237 6238 6239 6240 6241 6242 6243 6244 6245 6246 |
# File 'lib/syntax_tree/node.rb', line 6233 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 |