mutest 0.0.9 → 0.0.10

Sign up to get free protection for your applications and to get access to all the features.
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