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
6178 6179 6180 6181 6182 6183 6184 6185 6186 6187 6188 6189 6190 6191 |
# File 'lib/syntax_tree/node.rb', line 6178 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 |