Class: Evilution::Mutator::Operator::CompoundAssignment
- Inherits:
-
Base
- Object
- Prism::Visitor
- Base
- Evilution::Mutator::Operator::CompoundAssignment
show all
- Defined in:
- lib/evilution/mutator/operator/compound_assignment.rb
Constant Summary
collapse
- REPLACEMENTS =
{
:+ => %i[- *],
:- => [:+],
:* => [:/],
:/ => [:*],
:% => [:*],
:** => [:*],
:& => %i[| ^],
:| => [:&],
:^ => [:&],
:<< => [:>>],
:>> => [:<<]
}.freeze
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
Instance Method Details
#visit_class_variable_and_write_node(node) ⇒ Object
60
61
62
63
|
# File 'lib/evilution/mutator/operator/compound_assignment.rb', line 60
def visit_class_variable_and_write_node(node)
mutate_logical_write(node, "||=")
super
end
|
#visit_class_variable_operator_write_node(node) ⇒ Object
30
31
32
33
|
# File 'lib/evilution/mutator/operator/compound_assignment.rb', line 30
def visit_class_variable_operator_write_node(node)
mutate_operator_write(node)
super
end
|
#visit_class_variable_or_write_node(node) ⇒ Object
65
66
67
68
|
# File 'lib/evilution/mutator/operator/compound_assignment.rb', line 65
def visit_class_variable_or_write_node(node)
mutate_logical_write(node, "&&=")
super
end
|
#visit_global_variable_and_write_node(node) ⇒ Object
70
71
72
73
|
# File 'lib/evilution/mutator/operator/compound_assignment.rb', line 70
def visit_global_variable_and_write_node(node)
mutate_logical_write(node, "||=")
super
end
|
#visit_global_variable_operator_write_node(node) ⇒ Object
35
36
37
38
|
# File 'lib/evilution/mutator/operator/compound_assignment.rb', line 35
def visit_global_variable_operator_write_node(node)
mutate_operator_write(node)
super
end
|
#visit_global_variable_or_write_node(node) ⇒ Object
75
76
77
78
|
# File 'lib/evilution/mutator/operator/compound_assignment.rb', line 75
def visit_global_variable_or_write_node(node)
mutate_logical_write(node, "&&=")
super
end
|
#visit_instance_variable_and_write_node(node) ⇒ Object
50
51
52
53
|
# File 'lib/evilution/mutator/operator/compound_assignment.rb', line 50
def visit_instance_variable_and_write_node(node)
mutate_logical_write(node, "||=")
super
end
|
#visit_instance_variable_operator_write_node(node) ⇒ Object
25
26
27
28
|
# File 'lib/evilution/mutator/operator/compound_assignment.rb', line 25
def visit_instance_variable_operator_write_node(node)
mutate_operator_write(node)
super
end
|
#visit_instance_variable_or_write_node(node) ⇒ Object
55
56
57
58
|
# File 'lib/evilution/mutator/operator/compound_assignment.rb', line 55
def visit_instance_variable_or_write_node(node)
mutate_logical_write(node, "&&=")
super
end
|
#visit_local_variable_and_write_node(node) ⇒ Object
40
41
42
43
|
# File 'lib/evilution/mutator/operator/compound_assignment.rb', line 40
def visit_local_variable_and_write_node(node)
mutate_logical_write(node, "||=")
super
end
|
#visit_local_variable_operator_write_node(node) ⇒ Object
20
21
22
23
|
# File 'lib/evilution/mutator/operator/compound_assignment.rb', line 20
def visit_local_variable_operator_write_node(node)
mutate_operator_write(node)
super
end
|
#visit_local_variable_or_write_node(node) ⇒ Object
45
46
47
48
|
# File 'lib/evilution/mutator/operator/compound_assignment.rb', line 45
def visit_local_variable_or_write_node(node)
mutate_logical_write(node, "&&=")
super
end
|