class RDG::Control::Jump
Public Instance Methods
analyse()
click to toggle source
# File lib/rdg/control/jump.rb, line 6 def analyse return unless block remove_all_successors add_new_successors end
Protected Instance Methods
block_types()
click to toggle source
# File lib/rdg/control/jump.rb, line 14 def block_types %i(while until for) end
Private Instance Methods
add_new_successors()
click to toggle source
# File lib/rdg/control/jump.rb, line 24 def add_new_successors new_successors.each { |s| graph.add_edge(@ast_node, s) } end
block()
click to toggle source
# File lib/rdg/control/jump.rb, line 28 def block @ast_node.ancestors.detect { |a| block_types.include?(a.type) } end
remove_all_successors()
click to toggle source
# File lib/rdg/control/jump.rb, line 20 def remove_all_successors graph.each_successor(@ast_node) { |s| graph.remove_edge(@ast_node, s) } end