Class: Evilution::Mutator::Operator::RescueRemoval

Inherits:
Base
  • Object
show all
Defined in:
lib/evilution/mutator/operator/rescue_removal.rb

Instance Attribute Summary

Attributes inherited from Base

#mutations

Instance Method Summary collapse

Methods inherited from Base

#call, clear_parse_cache!, #initialize, operator_name, parsed_tree_for

Constructor Details

This class inherits a constructor from Evilution::Mutator::Base

Instance Method Details

#visit_begin_node(node) ⇒ Object

Visit BeginNode (not RescueNode directly) so we have access to sibling clauses — ‘else_clause`, `ensure_clause`, `end_keyword_loc` — which we need to compute the rescue clause’s boundary and to drop a soon-to-be- orphaned ‘else` along with the rescue.



10
11
12
13
14
# File 'lib/evilution/mutator/operator/rescue_removal.rb', line 10

def visit_begin_node(node)
  walk_rescue_chain(node) { |rescue_node| emit_removal(node, rescue_node) }

  super
end