mutest 0.0.9 → 0.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (236) hide show
  1. checksums.yaml +5 -5
  2. data/.circleci/config.yml +38 -0
  3. data/{config/rubocop.yml → .rubocop.yml} +80 -183
  4. data/CHANGELOG.md +8 -0
  5. data/Gemfile +2 -3
  6. data/Gemfile.lock +41 -52
  7. data/README.md +16 -0
  8. data/Rakefile +1 -1
  9. data/lib/mutest.rb +5 -4
  10. data/lib/mutest/actor.rb +7 -6
  11. data/lib/mutest/actor/env.rb +3 -3
  12. data/lib/mutest/actor/mailbox.rb +5 -4
  13. data/lib/mutest/actor/receiver.rb +6 -5
  14. data/lib/mutest/actor/sender.rb +5 -4
  15. data/lib/mutest/ast.rb +4 -3
  16. data/lib/mutest/ast/meta.rb +3 -3
  17. data/lib/mutest/ast/meta/const.rb +7 -5
  18. data/lib/mutest/ast/meta/optarg.rb +6 -5
  19. data/lib/mutest/ast/meta/resbody.rb +6 -5
  20. data/lib/mutest/ast/meta/restarg.rb +6 -5
  21. data/lib/mutest/ast/meta/send.rb +8 -20
  22. data/lib/mutest/ast/meta/symbol.rb +6 -5
  23. data/lib/mutest/ast/named_children.rb +5 -5
  24. data/lib/mutest/ast/node_predicates.rb +4 -4
  25. data/lib/mutest/ast/nodes.rb +3 -3
  26. data/lib/mutest/ast/regexp.rb +3 -3
  27. data/lib/mutest/ast/regexp/transformer.rb +19 -11
  28. data/lib/mutest/ast/regexp/transformer/alternative.rb +6 -6
  29. data/lib/mutest/ast/regexp/transformer/character_set.rb +7 -7
  30. data/lib/mutest/ast/regexp/transformer/direct.rb +7 -7
  31. data/lib/mutest/ast/regexp/transformer/options_group.rb +7 -7
  32. data/lib/mutest/ast/regexp/transformer/quantifier.rb +11 -13
  33. data/lib/mutest/ast/regexp/transformer/recursive.rb +7 -7
  34. data/lib/mutest/ast/regexp/transformer/root.rb +6 -6
  35. data/lib/mutest/ast/regexp/transformer/text.rb +7 -7
  36. data/lib/mutest/ast/sexp.rb +3 -3
  37. data/lib/mutest/ast/types.rb +8 -6
  38. data/lib/mutest/cli.rb +5 -3
  39. data/lib/mutest/color.rb +4 -3
  40. data/lib/mutest/config.rb +4 -3
  41. data/lib/mutest/context.rb +4 -3
  42. data/lib/mutest/diff.rb +5 -3
  43. data/lib/mutest/env.rb +5 -5
  44. data/lib/mutest/env/bootstrap.rb +7 -5
  45. data/lib/mutest/expression.rb +7 -5
  46. data/lib/mutest/expression/method.rb +4 -4
  47. data/lib/mutest/expression/methods.rb +4 -4
  48. data/lib/mutest/expression/namespace.rb +9 -8
  49. data/lib/mutest/expression/parser.rb +9 -8
  50. data/lib/mutest/integration.rb +5 -3
  51. data/lib/mutest/integration/null.rb +3 -3
  52. data/lib/mutest/isolation.rb +2 -2
  53. data/lib/mutest/isolation/fork.rb +4 -4
  54. data/lib/mutest/isolation/none.rb +4 -4
  55. data/lib/mutest/loader.rb +2 -2
  56. data/lib/mutest/matcher.rb +4 -3
  57. data/lib/mutest/matcher/chain.rb +3 -3
  58. data/lib/mutest/matcher/compiler.rb +7 -5
  59. data/lib/mutest/matcher/config.rb +5 -4
  60. data/lib/mutest/matcher/filter.rb +3 -3
  61. data/lib/mutest/matcher/method.rb +13 -13
  62. data/lib/mutest/matcher/method/instance.rb +6 -6
  63. data/lib/mutest/matcher/method/singleton.rb +5 -5
  64. data/lib/mutest/matcher/methods.rb +7 -6
  65. data/lib/mutest/matcher/namespace.rb +3 -3
  66. data/lib/mutest/matcher/null.rb +3 -3
  67. data/lib/mutest/matcher/scope.rb +3 -3
  68. data/lib/mutest/matcher/static.rb +3 -3
  69. data/lib/mutest/meta.rb +4 -4
  70. data/lib/mutest/meta/example.rb +5 -4
  71. data/lib/mutest/meta/example/dsl.rb +12 -11
  72. data/lib/mutest/meta/example/verification.rb +7 -6
  73. data/lib/mutest/mutation.rb +7 -6
  74. data/lib/mutest/mutator.rb +6 -6
  75. data/lib/mutest/mutator/node.rb +19 -7
  76. data/lib/mutest/mutator/node/and_asgn.rb +4 -4
  77. data/lib/mutest/mutator/node/argument.rb +6 -5
  78. data/lib/mutest/mutator/node/arguments.rb +18 -5
  79. data/lib/mutest/mutator/node/begin.rb +4 -4
  80. data/lib/mutest/mutator/node/binary.rb +4 -4
  81. data/lib/mutest/mutator/node/block.rb +6 -5
  82. data/lib/mutest/mutator/node/block_pass.rb +4 -4
  83. data/lib/mutest/mutator/node/break.rb +4 -4
  84. data/lib/mutest/mutator/node/case.rb +6 -4
  85. data/lib/mutest/mutator/node/class.rb +4 -4
  86. data/lib/mutest/mutator/node/conditional_loop.rb +4 -4
  87. data/lib/mutest/mutator/node/const.rb +4 -4
  88. data/lib/mutest/mutator/node/define.rb +6 -6
  89. data/lib/mutest/mutator/node/defined.rb +4 -4
  90. data/lib/mutest/mutator/node/dstr.rb +4 -4
  91. data/lib/mutest/mutator/node/dsym.rb +4 -4
  92. data/lib/mutest/mutator/node/generic.rb +5 -4
  93. data/lib/mutest/mutator/node/if.rb +6 -4
  94. data/lib/mutest/mutator/node/index.rb +128 -0
  95. data/lib/mutest/mutator/node/kwbegin.rb +4 -4
  96. data/lib/mutest/mutator/node/literal.rb +4 -4
  97. data/lib/mutest/mutator/node/literal/array.rb +8 -6
  98. data/lib/mutest/mutator/node/literal/boolean.rb +5 -5
  99. data/lib/mutest/mutator/node/literal/fixnum.rb +5 -5
  100. data/lib/mutest/mutator/node/literal/float.rb +5 -5
  101. data/lib/mutest/mutator/node/literal/hash.rb +6 -6
  102. data/lib/mutest/mutator/node/literal/nil.rb +5 -5
  103. data/lib/mutest/mutator/node/literal/range.rb +5 -5
  104. data/lib/mutest/mutator/node/literal/regex.rb +5 -5
  105. data/lib/mutest/mutator/node/literal/string.rb +5 -5
  106. data/lib/mutest/mutator/node/literal/symbol.rb +5 -5
  107. data/lib/mutest/mutator/node/masgn.rb +4 -4
  108. data/lib/mutest/mutator/node/match_current_line.rb +4 -4
  109. data/lib/mutest/mutator/node/mlhs.rb +4 -4
  110. data/lib/mutest/mutator/node/named_value/access.rb +6 -6
  111. data/lib/mutest/mutator/node/named_value/constant_assignment.rb +6 -5
  112. data/lib/mutest/mutator/node/named_value/variable_assignment.rb +5 -5
  113. data/lib/mutest/mutator/node/next.rb +4 -4
  114. data/lib/mutest/mutator/node/nthref.rb +4 -4
  115. data/lib/mutest/mutator/node/op_asgn.rb +4 -4
  116. data/lib/mutest/mutator/node/or_asgn.rb +5 -4
  117. data/lib/mutest/mutator/node/procarg_zero.rb +45 -0
  118. data/lib/mutest/mutator/node/regexp.rb +6 -6
  119. data/lib/mutest/mutator/node/regexp/alternation_meta.rb +5 -5
  120. data/lib/mutest/mutator/node/regexp/capture_group.rb +5 -5
  121. data/lib/mutest/mutator/node/regexp/character_type.rb +5 -5
  122. data/lib/mutest/mutator/node/regexp/end_of_line_anchor.rb +5 -5
  123. data/lib/mutest/mutator/node/regexp/end_of_string_or_before_end_of_line_anchor.rb +5 -5
  124. data/lib/mutest/mutator/node/regexp/one_or_more.rb +5 -5
  125. data/lib/mutest/mutator/node/regexp/zero_or_more.rb +5 -5
  126. data/lib/mutest/mutator/node/regopt.rb +4 -4
  127. data/lib/mutest/mutator/node/resbody.rb +6 -4
  128. data/lib/mutest/mutator/node/rescue.rb +6 -4
  129. data/lib/mutest/mutator/node/return.rb +5 -4
  130. data/lib/mutest/mutator/node/send.rb +6 -34
  131. data/lib/mutest/mutator/node/send/attribute_assignment.rb +5 -5
  132. data/lib/mutest/mutator/node/send/binary.rb +5 -5
  133. data/lib/mutest/mutator/node/send/conditional.rb +5 -5
  134. data/lib/mutest/mutator/node/splat.rb +4 -4
  135. data/lib/mutest/mutator/node/super.rb +4 -4
  136. data/lib/mutest/mutator/node/when.rb +4 -4
  137. data/lib/mutest/mutator/node/yield.rb +4 -4
  138. data/lib/mutest/mutator/node/zsuper.rb +4 -4
  139. data/lib/mutest/mutator/util.rb +3 -3
  140. data/lib/mutest/mutator/util/array.rb +6 -6
  141. data/lib/mutest/mutator/util/symbol.rb +4 -4
  142. data/lib/mutest/parallel.rb +16 -12
  143. data/lib/mutest/parallel/master.rb +4 -4
  144. data/lib/mutest/parallel/source.rb +6 -5
  145. data/lib/mutest/parallel/worker.rb +6 -5
  146. data/lib/mutest/parser.rb +4 -3
  147. data/lib/mutest/registry.rb +6 -5
  148. data/lib/mutest/reporter.rb +2 -2
  149. data/lib/mutest/reporter/cli.rb +3 -3
  150. data/lib/mutest/reporter/cli/format.rb +9 -8
  151. data/lib/mutest/reporter/cli/printer.rb +8 -8
  152. data/lib/mutest/reporter/cli/printer/config.rb +5 -5
  153. data/lib/mutest/reporter/cli/printer/env_progress.rb +16 -16
  154. data/lib/mutest/reporter/cli/printer/env_result.rb +5 -5
  155. data/lib/mutest/reporter/cli/printer/mutation_progress_result.rb +5 -5
  156. data/lib/mutest/reporter/cli/printer/mutation_result.rb +5 -5
  157. data/lib/mutest/reporter/cli/printer/status.rb +6 -5
  158. data/lib/mutest/reporter/cli/printer/status_progressive.rb +5 -5
  159. data/lib/mutest/reporter/cli/printer/subject_progress.rb +5 -5
  160. data/lib/mutest/reporter/cli/printer/subject_result.rb +5 -5
  161. data/lib/mutest/reporter/cli/printer/test_result.rb +5 -5
  162. data/lib/mutest/reporter/cli/tput.rb +6 -5
  163. data/lib/mutest/reporter/null.rb +3 -3
  164. data/lib/mutest/reporter/sequence.rb +3 -3
  165. data/lib/mutest/repository.rb +9 -7
  166. data/lib/mutest/require_highjack.rb +2 -2
  167. data/lib/mutest/requirer.rb +2 -2
  168. data/lib/mutest/result.rb +18 -12
  169. data/lib/mutest/runner.rb +6 -3
  170. data/lib/mutest/runner/sink.rb +3 -3
  171. data/lib/mutest/scope.rb +2 -2
  172. data/lib/mutest/selector.rb +4 -3
  173. data/lib/mutest/selector/expression.rb +3 -3
  174. data/lib/mutest/source_file.rb +6 -5
  175. data/lib/mutest/subject.rb +5 -3
  176. data/lib/mutest/subject/method.rb +3 -3
  177. data/lib/mutest/subject/method/instance.rb +5 -5
  178. data/lib/mutest/subject/method/singleton.rb +4 -4
  179. data/lib/mutest/test.rb +4 -3
  180. data/lib/mutest/util.rb +3 -3
  181. data/lib/mutest/version.rb +2 -2
  182. data/lib/mutest/warning_filter.rb +3 -3
  183. data/lib/mutest/zombifier.rb +5 -4
  184. data/meta/block.rb +22 -3
  185. data/meta/case.rb +29 -1
  186. data/meta/index.rb +132 -0
  187. data/meta/indexasgn.rb +42 -0
  188. data/meta/lambda.rb +17 -0
  189. data/meta/send.rb +5 -139
  190. data/mutest-rspec.gemspec +1 -1
  191. data/mutest.gemspec +11 -12
  192. data/spec/integration/mutest/rspec_spec.rb +1 -1
  193. data/spec/shared/framework_integration_behavior.rb +1 -1
  194. data/spec/shared/idempotent_method_behavior.rb +2 -1
  195. data/spec/spec_helper.rb +5 -5
  196. data/spec/support/compress_helper.rb +2 -1
  197. data/spec/support/corpus.rb +12 -8
  198. data/spec/support/fake_actor.rb +19 -14
  199. data/spec/support/file_system.rb +10 -7
  200. data/spec/support/ice_nine_config.rb +3 -3
  201. data/spec/support/ruby_vm.rb +10 -11
  202. data/spec/support/shared_context.rb +1 -1
  203. data/spec/support/test_app.rb +1 -1
  204. data/spec/support/warning.rb +8 -7
  205. data/spec/support/xspec.rb +18 -17
  206. data/spec/unit/mutest/actor/binding_spec.rb +1 -0
  207. data/spec/unit/mutest/ast/meta/optarg_spec.rb +1 -0
  208. data/spec/unit/mutest/ast/meta/send/proc_predicate_spec.rb +1 -1
  209. data/spec/unit/mutest/ast/meta/send/receiver_possible_top_level_const_predicate_spec.rb +1 -1
  210. data/spec/unit/mutest/ast/meta/send_spec.rb +14 -18
  211. data/spec/unit/mutest/ast/regexp_spec.rb +4 -3
  212. data/spec/unit/mutest/ast_spec.rb +1 -1
  213. data/spec/unit/mutest/cli_spec.rb +15 -15
  214. data/spec/unit/mutest/env/bootstrap_spec.rb +1 -1
  215. data/spec/unit/mutest/integration_spec.rb +1 -0
  216. data/spec/unit/mutest/isolation/none_spec.rb +1 -1
  217. data/spec/unit/mutest/matcher/config_spec.rb +1 -0
  218. data/spec/unit/mutest/mutator/node_spec.rb +1 -1
  219. data/spec/unit/mutest/parallel/master_spec.rb +3 -3
  220. data/spec/unit/mutest/reporter/cli/printer_spec.rb +2 -0
  221. data/spec/unit/mutest/reporter/cli/tput_spec.rb +2 -0
  222. data/spec/unit/mutest/reporter/cli_spec.rb +2 -0
  223. data/spec/unit/mutest/repository/diff_spec.rb +1 -1
  224. data/spec/unit/mutest/runner_spec.rb +1 -1
  225. data/spec/unit/mutest/subject_spec.rb +1 -1
  226. data/spec/unit/mutest/warning_filter_spec.rb +2 -3
  227. data/spec/unit/mutest/zombifier_spec.rb +1 -1
  228. data/test_app/Gemfile.rspec3.8 +7 -0
  229. metadata +67 -68
  230. data/.buildkite/hooks/pre-command +0 -3
  231. data/.buildkite/pipeline.yml +0 -38
  232. data/.gitmodules +0 -3
  233. data/circle.yml +0 -10
  234. data/config/triage.yml +0 -2
  235. data/config/yardstick.yml +0 -2
  236. data/lib/mutest/mutator/node/send/index.rb +0 -47
@@ -18,7 +18,7 @@ module Mutest
18
18
 
19
19
  emit_expression_mutations { |node| !n_self?(node) }
20
20
  end
21
- end # Defined
22
- end # Node
23
- end # Mutator
24
- end # Mutest
21
+ end
22
+ end
23
+ end
24
+ end
@@ -14,7 +14,7 @@ module Mutest
14
14
  super()
15
15
  emit_singletons
16
16
  end
17
- end # Dstr
18
- end # Node
19
- end # Mutator
20
- end # Mutest
17
+ end
18
+ end
19
+ end
20
+ end
@@ -14,7 +14,7 @@ module Mutest
14
14
  super()
15
15
  emit_singletons
16
16
  end
17
- end # Dsym
18
- end # Node
19
- end # Mutator
20
- end # Mutest
17
+ end
18
+ end
19
+ end
20
+ end
@@ -18,6 +18,7 @@ module Mutest
18
18
  xstr
19
19
  back_ref
20
20
  sclass
21
+ lambda
21
22
  match_with_lvasgn
22
23
  while_post
23
24
  until_post
@@ -73,7 +74,7 @@ module Mutest
73
74
  mutate_child(index) if child.instance_of?(::Parser::AST::Node)
74
75
  end
75
76
  end
76
- end # Generic
77
- end # Node
78
- end # Mutator
79
- end # Mutest
77
+ end
78
+ end
79
+ end
80
+ end
@@ -37,6 +37,7 @@ module Mutest
37
37
  def mutate_if_branch
38
38
  emit_type(condition, else_branch, nil) if else_branch
39
39
  return unless if_branch
40
+
40
41
  emit(if_branch)
41
42
  emit_if_branch_mutations
42
43
  emit_type(condition, if_branch, nil)
@@ -47,11 +48,12 @@ module Mutest
47
48
  # @return [undefined]
48
49
  def mutate_else_branch
49
50
  return unless else_branch
51
+
50
52
  emit(else_branch)
51
53
  emit_else_branch_mutations
52
54
  emit_type(condition, nil, else_branch)
53
55
  end
54
- end # If
55
- end # Node
56
- end # Mutator
57
- end # Mutest
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,128 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mutest
4
+ class Mutator
5
+ class Node
6
+ # Base mutator for index operations
7
+ class Index < self
8
+ NO_VALUE_RANGE = (1..-1).freeze
9
+ SEND_REPLACEMENTS = %i[at fetch key?].freeze
10
+
11
+ private_constant(*constants(false))
12
+
13
+ children :receiver
14
+
15
+ private
16
+
17
+ # Emit mutations
18
+ #
19
+ # @return [undefined]
20
+ def dispatch
21
+ emit_singletons
22
+ emit_receiver_mutations { |node| !n_nil?(node) }
23
+ emit(receiver)
24
+ emit_send_forms
25
+ emit_drop_mutation
26
+ mutate_indices
27
+ end
28
+
29
+ # Emit send forms
30
+ #
31
+ # @return [undefined]
32
+ def emit_send_forms
33
+ return if asgn_left?
34
+
35
+ SEND_REPLACEMENTS.each do |selector|
36
+ emit(s(:send, receiver, selector, *indices))
37
+ end
38
+ end
39
+
40
+ # Emit mutation `foo[n..-1]` -> `foo.drop(n)`
41
+ #
42
+ # @return [undefined]
43
+ def emit_drop_mutation
44
+ return unless indices.one? && n_irange?(Mutest::Util.one(indices))
45
+
46
+ start, ending = *indices.first
47
+
48
+ return unless ending.eql?(s(:int, -1))
49
+
50
+ emit(s(:send, receiver, :drop, start))
51
+ end
52
+
53
+ # Mutate indices
54
+ #
55
+ # @return [undefined]
56
+ def mutate_indices
57
+ children_indices(index_range).each do |index|
58
+ emit_propagation(children.fetch(index)) unless asgn_left?
59
+ delete_child(index)
60
+ mutate_child(index)
61
+ end
62
+ end
63
+
64
+ # The index nodes
65
+ #
66
+ # @return [Enumerable<Parser::AST::Node>]
67
+ def indices
68
+ children[index_range]
69
+ end
70
+
71
+ class Read < self
72
+ handle :index
73
+
74
+ private
75
+
76
+ # The range index children can be found
77
+ #
78
+ # @return [Range]
79
+ def index_range
80
+ NO_VALUE_RANGE
81
+ end
82
+ end
83
+
84
+ # Mutator for index assignments
85
+ class Assign < self
86
+ REGULAR_RANGE = (1..-2).freeze
87
+
88
+ private_constant(*constants(false))
89
+
90
+ handle :indexasgn
91
+
92
+ private
93
+
94
+ # Emit mutations
95
+ #
96
+ # @return [undefined]
97
+ def dispatch
98
+ super()
99
+
100
+ return if asgn_left?
101
+
102
+ emit_index_read
103
+ emit(children.last)
104
+ mutate_child(children.length.pred)
105
+ end
106
+
107
+ # Emit index read
108
+ #
109
+ # @return [undefined]
110
+ def emit_index_read
111
+ emit(s(:index, receiver, *children[index_range]))
112
+ end
113
+
114
+ # Index indices
115
+ #
116
+ # @return [Range<Integer>]
117
+ def index_range
118
+ if asgn_left?
119
+ NO_VALUE_RANGE
120
+ else
121
+ REGULAR_RANGE
122
+ end
123
+ end
124
+ end
125
+ end
126
+ end
127
+ end
128
+ end
@@ -14,7 +14,7 @@ module Mutest
14
14
  super()
15
15
  emit_singletons
16
16
  end
17
- end # Kwbegin
18
- end # Node
19
- end # Mutator
20
- end # Mutest
17
+ end
18
+ end
19
+ end
20
+ end
@@ -13,7 +13,7 @@ module Mutest
13
13
  def emit_values
14
14
  values.each(&method(:emit_type))
15
15
  end
16
- end # Literal
17
- end # Node
18
- end # Mutator
19
- end # Mutest
16
+ end
17
+ end
18
+ end
19
+ end
@@ -15,8 +15,10 @@ module Mutest
15
15
  emit_singletons
16
16
  emit_type
17
17
  mutate_body
18
+
18
19
  return unless children.one?
19
- emit(children.first)
20
+
21
+ emit(Mutest::Util.one(children))
20
22
  end
21
23
 
22
24
  # Mutate body
@@ -30,8 +32,8 @@ module Mutest
30
32
  mutate_child(index)
31
33
  end
32
34
  end
33
- end # Array
34
- end # Literal
35
- end # Node
36
- end # Mutator
37
- end # Mutest
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -19,8 +19,8 @@ module Mutest
19
19
  def dispatch
20
20
  emit(s(MAP.fetch(node.type)))
21
21
  end
22
- end # Boolean
23
- end # Literal
24
- end # Node
25
- end # Mutator
26
- end # Mutest
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -29,8 +29,8 @@ module Mutest
29
29
  def value
30
30
  children.first
31
31
  end
32
- end # Integer
33
- end # Literal
34
- end # Node
35
- end # Mutator
36
- end # Mutest
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -38,8 +38,8 @@ module Mutest
38
38
 
39
39
  [0.0, 1.0, -original]
40
40
  end
41
- end # Float
42
- end # Literal
43
- end # Node
44
- end # Mutator
45
- end # Mutest
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
@@ -44,9 +44,9 @@ module Mutest
44
44
  emit_key_mutations
45
45
  emit_value_mutations
46
46
  end
47
- end # Pair
48
- end # Hash
49
- end # Literal
50
- end # Node
51
- end # Mutator
52
- end # Mutest
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
@@ -13,8 +13,8 @@ module Mutest
13
13
  # @return [undefined]
14
14
  def dispatch
15
15
  end
16
- end # Nil
17
- end # Literal
18
- end # Node
19
- end # Mutator
20
- end # Mutest
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -31,8 +31,8 @@ module Mutest
31
31
  def emit_inverse
32
32
  emit(s(MAP.fetch(node.type), *children))
33
33
  end
34
- end # Range
35
- end # Literal
36
- end # Node
37
- end # Mutator
38
- end # Mutest
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -69,8 +69,8 @@ module Mutest
69
69
  def body
70
70
  children.slice(0...-1)
71
71
  end
72
- end # Regex
73
- end # Literal
74
- end # Node
75
- end # Mutator
76
- end # Mutest
72
+ end
73
+ end
74
+ end
75
+ end
76
+ end
@@ -17,8 +17,8 @@ module Mutest
17
17
  emit_singletons
18
18
  emit_type(value + Util::Symbol::POSTFIX)
19
19
  end
20
- end # String
21
- end # Literal
22
- end # Node
23
- end # Mutator
24
- end # Mutest
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -17,8 +17,8 @@ module Mutest
17
17
  emit_singletons
18
18
  mutate_with(Util::Symbol, value, &method(:emit_type))
19
19
  end
20
- end # Symbol
21
- end # Literal
22
- end # Node
23
- end # Mutator
24
- end # Mutest
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -15,7 +15,7 @@ module Mutest
15
15
  def dispatch
16
16
  emit_singletons
17
17
  end
18
- end # MultipleAssignment
19
- end # Node
20
- end # Mutator
21
- end # Mutest
18
+ end
19
+ end
20
+ end
21
+ end
@@ -16,7 +16,7 @@ module Mutest
16
16
  emit_singletons
17
17
  emit_regexp_mutations
18
18
  end
19
- end # MatchCurrentLine
20
- end # Node
21
- end # Mutator
22
- end # Mutest
19
+ end
20
+ end
21
+ end
22
+ end
@@ -15,7 +15,7 @@ module Mutest
15
15
  delete_child(index)
16
16
  end
17
17
  end
18
- end # MLHS
19
- end # Node
20
- end # Mutator
21
- end # Mutest
18
+ end
19
+ end
20
+ end
21
+ end
@@ -46,9 +46,9 @@ module Mutest
46
46
  def attribute_name
47
47
  name.slice(NAME_RANGE).to_sym
48
48
  end
49
- end # Ivar
50
- end # Access
51
- end # NamedValue
52
- end # Node
53
- end # Mutator
54
- end # Mutest
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end