Class: Evilution::Mutator::Operator::SuperclassRemoval::ClassFinder

Inherits:
Prism::Visitor
  • Object
show all
Defined in:
lib/evilution/mutator/operator/superclass_removal.rb

Overview

Visitor to find the ClassNode enclosing a given line number.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(target_line) ⇒ ClassFinder

Returns a new instance of ClassFinder.



56
57
58
59
# File 'lib/evilution/mutator/operator/superclass_removal.rb', line 56

def initialize(target_line)
  @target_line = target_line
  @result = nil
end

Instance Attribute Details

#resultObject (readonly)

Returns the value of attribute result.



54
55
56
# File 'lib/evilution/mutator/operator/superclass_removal.rb', line 54

def result
  @result
end

Instance Method Details

#visit_class_node(node) ⇒ Object



61
62
63
64
# File 'lib/evilution/mutator/operator/superclass_removal.rb', line 61

def visit_class_node(node)
  @result = node if @target_line.between?(node.location.start_line, node.location.end_line)
  super
end