Class: Evilution::Mutator::Operator::MixinRemoval::ScopeFinder
- Inherits:
-
Prism::Visitor
- Object
- Prism::Visitor
- Evilution::Mutator::Operator::MixinRemoval::ScopeFinder
- Defined in:
- lib/evilution/mutator/operator/mixin_removal.rb
Overview
Visitor to find the ClassNode or ModuleNode enclosing a given line number.
Instance Attribute Summary collapse
-
#result ⇒ Object
readonly
Returns the value of attribute result.
Instance Method Summary collapse
-
#initialize(target_line) ⇒ ScopeFinder
constructor
A new instance of ScopeFinder.
- #visit_class_node(node) ⇒ Object
- #visit_module_node(node) ⇒ Object
Constructor Details
#initialize(target_line) ⇒ ScopeFinder
Returns a new instance of ScopeFinder.
66 67 68 69 |
# File 'lib/evilution/mutator/operator/mixin_removal.rb', line 66 def initialize(target_line) @target_line = target_line @result = nil end |
Instance Attribute Details
#result ⇒ Object (readonly)
Returns the value of attribute result.
64 65 66 |
# File 'lib/evilution/mutator/operator/mixin_removal.rb', line 64 def result @result end |
Instance Method Details
#visit_class_node(node) ⇒ Object
71 72 73 74 |
# File 'lib/evilution/mutator/operator/mixin_removal.rb', line 71 def visit_class_node(node) @result = node if @target_line.between?(node.location.start_line, node.location.end_line) super end |
#visit_module_node(node) ⇒ Object
76 77 78 79 |
# File 'lib/evilution/mutator/operator/mixin_removal.rb', line 76 def visit_module_node(node) @result = node if @target_line.between?(node.location.start_line, node.location.end_line) super end |