mutant 0.8.8 → 0.8.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (211) hide show
  1. checksums.yaml +4 -4
  2. data/Changelog.md +9 -0
  3. data/README.md +1 -1
  4. data/Rakefile +12 -8
  5. data/bin/mutant +5 -1
  6. data/config/flay.yml +1 -1
  7. data/lib/mutant.rb +18 -17
  8. data/lib/mutant/actor.rb +1 -7
  9. data/lib/mutant/actor/env.rb +0 -4
  10. data/lib/mutant/actor/mailbox.rb +0 -4
  11. data/lib/mutant/actor/receiver.rb +0 -4
  12. data/lib/mutant/actor/sender.rb +0 -2
  13. data/lib/mutant/ast.rb +1 -5
  14. data/lib/mutant/ast/meta/const.rb +0 -2
  15. data/lib/mutant/ast/meta/optarg.rb +0 -2
  16. data/lib/mutant/ast/meta/send.rb +0 -12
  17. data/lib/mutant/ast/named_children.rb +0 -10
  18. data/lib/mutant/ast/sexp.rb +1 -5
  19. data/lib/mutant/cli.rb +19 -38
  20. data/lib/mutant/color.rb +1 -7
  21. data/lib/mutant/config.rb +11 -7
  22. data/lib/mutant/context.rb +0 -4
  23. data/lib/mutant/context/scope.rb +0 -18
  24. data/lib/mutant/delegator.rb +0 -6
  25. data/lib/mutant/diff.rb +0 -18
  26. data/lib/mutant/env.rb +8 -24
  27. data/lib/mutant/env/bootstrap.rb +18 -41
  28. data/lib/mutant/expression.rb +0 -8
  29. data/lib/mutant/expression/method.rb +6 -7
  30. data/lib/mutant/expression/methods.rb +5 -9
  31. data/lib/mutant/expression/namespace.rb +0 -13
  32. data/lib/mutant/expression/parser.rb +0 -6
  33. data/lib/mutant/integration.rb +2 -20
  34. data/lib/mutant/isolation.rb +0 -4
  35. data/lib/mutant/loader.rb +20 -35
  36. data/lib/mutant/matcher.rb +1 -1
  37. data/lib/mutant/matcher/chain.rb +1 -3
  38. data/lib/mutant/matcher/compiler.rb +0 -8
  39. data/lib/mutant/matcher/config.rb +2 -10
  40. data/lib/mutant/matcher/filter.rb +1 -3
  41. data/lib/mutant/matcher/method.rb +4 -26
  42. data/lib/mutant/matcher/method/instance.rb +1 -7
  43. data/lib/mutant/matcher/method/singleton.rb +0 -12
  44. data/lib/mutant/matcher/methods.rb +1 -19
  45. data/lib/mutant/matcher/namespace.rb +1 -7
  46. data/lib/mutant/matcher/null.rb +1 -3
  47. data/lib/mutant/matcher/scope.rb +1 -5
  48. data/lib/mutant/matcher/static.rb +0 -2
  49. data/lib/mutant/meta.rb +0 -2
  50. data/lib/mutant/meta/example.rb +0 -28
  51. data/lib/mutant/meta/example/dsl.rb +2 -16
  52. data/lib/mutant/mutation.rb +9 -18
  53. data/lib/mutant/mutator.rb +0 -24
  54. data/lib/mutant/mutator/node.rb +1 -33
  55. data/lib/mutant/mutator/node/and_asgn.rb +0 -2
  56. data/lib/mutant/mutator/node/argument.rb +0 -10
  57. data/lib/mutant/mutator/node/arguments.rb +0 -12
  58. data/lib/mutant/mutator/node/begin.rb +0 -4
  59. data/lib/mutant/mutator/node/binary.rb +2 -11
  60. data/lib/mutant/mutator/node/block.rb +0 -6
  61. data/lib/mutant/mutator/node/break.rb +0 -2
  62. data/lib/mutant/mutator/node/case.rb +0 -6
  63. data/lib/mutant/mutator/node/conditional_loop.rb +0 -2
  64. data/lib/mutant/mutator/node/const.rb +1 -3
  65. data/lib/mutant/mutator/node/define.rb +4 -11
  66. data/lib/mutant/mutator/node/defined.rb +0 -2
  67. data/lib/mutant/mutator/node/dstr.rb +0 -2
  68. data/lib/mutant/mutator/node/dsym.rb +0 -2
  69. data/lib/mutant/mutator/node/generic.rb +1 -3
  70. data/lib/mutant/mutator/node/if.rb +0 -8
  71. data/lib/mutant/mutator/node/kwbegin.rb +0 -2
  72. data/lib/mutant/mutator/node/literal/array.rb +0 -4
  73. data/lib/mutant/mutator/node/literal/boolean.rb +0 -2
  74. data/lib/mutant/mutator/node/literal/fixnum.rb +0 -6
  75. data/lib/mutant/mutator/node/literal/float.rb +0 -6
  76. data/lib/mutant/mutator/node/literal/hash.rb +0 -6
  77. data/lib/mutant/mutator/node/literal/nil.rb +0 -2
  78. data/lib/mutant/mutator/node/literal/range.rb +0 -8
  79. data/lib/mutant/mutator/node/literal/regex.rb +0 -4
  80. data/lib/mutant/mutator/node/literal/string.rb +0 -2
  81. data/lib/mutant/mutator/node/literal/symbol.rb +0 -2
  82. data/lib/mutant/mutator/node/masgn.rb +0 -2
  83. data/lib/mutant/mutator/node/match_current_line.rb +0 -2
  84. data/lib/mutant/mutator/node/mlhs.rb +0 -2
  85. data/lib/mutant/mutator/node/named_value/access.rb +0 -8
  86. data/lib/mutant/mutator/node/named_value/constant_assignment.rb +1 -7
  87. data/lib/mutant/mutator/node/named_value/variable_assignment.rb +0 -4
  88. data/lib/mutant/mutator/node/next.rb +0 -2
  89. data/lib/mutant/mutator/node/noop.rb +0 -2
  90. data/lib/mutant/mutator/node/nthref.rb +0 -2
  91. data/lib/mutant/mutator/node/op_asgn.rb +0 -2
  92. data/lib/mutant/mutator/node/or_asgn.rb +0 -2
  93. data/lib/mutant/mutator/node/resbody.rb +0 -4
  94. data/lib/mutant/mutator/node/rescue.rb +0 -10
  95. data/lib/mutant/mutator/node/return.rb +0 -2
  96. data/lib/mutant/mutator/node/send.rb +4 -32
  97. data/lib/mutant/mutator/node/send/attribute_assignment.rb +0 -6
  98. data/lib/mutant/mutator/node/send/binary.rb +0 -6
  99. data/lib/mutant/mutator/node/send/index.rb +0 -6
  100. data/lib/mutant/mutator/node/splat.rb +0 -2
  101. data/lib/mutant/mutator/node/super.rb +0 -2
  102. data/lib/mutant/mutator/node/when.rb +0 -10
  103. data/lib/mutant/mutator/node/yield.rb +0 -2
  104. data/lib/mutant/mutator/node/zsuper.rb +0 -2
  105. data/lib/mutant/mutator/registry.rb +0 -6
  106. data/lib/mutant/mutator/util.rb +0 -4
  107. data/lib/mutant/mutator/util/array.rb +0 -6
  108. data/lib/mutant/mutator/util/symbol.rb +0 -2
  109. data/lib/mutant/parallel.rb +21 -17
  110. data/lib/mutant/parallel/master.rb +0 -28
  111. data/lib/mutant/parallel/source.rb +0 -10
  112. data/lib/mutant/parallel/worker.rb +15 -10
  113. data/lib/mutant/parser.rb +23 -0
  114. data/lib/mutant/reporter.rb +5 -8
  115. data/lib/mutant/reporter/cli.rb +1 -15
  116. data/lib/mutant/reporter/cli/format.rb +3 -25
  117. data/lib/mutant/reporter/cli/printer.rb +0 -18
  118. data/lib/mutant/reporter/cli/printer/config.rb +0 -2
  119. data/lib/mutant/reporter/cli/printer/env_progress.rb +0 -2
  120. data/lib/mutant/reporter/cli/printer/env_result.rb +0 -2
  121. data/lib/mutant/reporter/cli/printer/mutation_progress_result.rb +0 -4
  122. data/lib/mutant/reporter/cli/printer/mutation_result.rb +0 -16
  123. data/lib/mutant/reporter/cli/printer/status.rb +0 -6
  124. data/lib/mutant/reporter/cli/printer/status_progressive.rb +0 -4
  125. data/lib/mutant/reporter/cli/printer/subject_progress.rb +0 -8
  126. data/lib/mutant/reporter/cli/printer/subject_result.rb +0 -2
  127. data/lib/mutant/reporter/cli/printer/test_result.rb +0 -2
  128. data/lib/mutant/reporter/cli/tput.rb +0 -4
  129. data/lib/mutant/repository.rb +4 -22
  130. data/lib/mutant/require_highjack.rb +0 -2
  131. data/lib/mutant/result.rb +23 -43
  132. data/lib/mutant/runner.rb +7 -20
  133. data/lib/mutant/runner/sink.rb +43 -86
  134. data/lib/mutant/selector.rb +0 -2
  135. data/lib/mutant/selector/expression.rb +0 -2
  136. data/lib/mutant/subject.rb +0 -22
  137. data/lib/mutant/subject/method.rb +2 -10
  138. data/lib/mutant/subject/method/instance.rb +0 -6
  139. data/lib/mutant/subject/method/singleton.rb +0 -2
  140. data/lib/mutant/test.rb +4 -3
  141. data/lib/mutant/version.rb +1 -1
  142. data/lib/mutant/warning_filter.rb +0 -10
  143. data/lib/mutant/zombifier.rb +5 -20
  144. data/meta/or_asgn.rb +6 -0
  145. data/meta/send.rb +29 -0
  146. data/mutant-rspec.gemspec +1 -1
  147. data/spec/integration/mutant/rspec_spec.rb +1 -1
  148. data/spec/integrations.yml +2 -3
  149. data/spec/shared/method_matcher_behavior.rb +7 -7
  150. data/spec/spec_helper.rb +2 -9
  151. data/spec/support/corpus.rb +37 -30
  152. data/spec/support/rb_bug.rb +1 -2
  153. data/spec/support/ruby_vm.rb +6 -3
  154. data/spec/support/shared_context.rb +19 -20
  155. data/spec/unit/mutant/actor/binding_spec.rb +6 -6
  156. data/spec/unit/mutant/actor/env_spec.rb +2 -2
  157. data/spec/unit/mutant/actor/mailbox_spec.rb +6 -6
  158. data/spec/unit/mutant/actor/message_spec.rb +2 -2
  159. data/spec/unit/mutant/actor/receiver_spec.rb +4 -4
  160. data/spec/unit/mutant/actor/sender_spec.rb +6 -6
  161. data/spec/unit/mutant/ast_spec.rb +9 -0
  162. data/spec/unit/mutant/cli_spec.rb +16 -10
  163. data/spec/unit/mutant/context/scope/root_spec.rb +1 -1
  164. data/spec/unit/mutant/context/scope/unqualified_name_spec.rb +1 -1
  165. data/spec/unit/mutant/context/scope_spec.rb +3 -3
  166. data/spec/unit/mutant/context_spec.rb +0 -22
  167. data/spec/unit/mutant/env/boostrap_spec.rb +34 -41
  168. data/spec/unit/mutant/env_spec.rb +74 -32
  169. data/spec/unit/mutant/integration/rspec_spec.rb +23 -17
  170. data/spec/unit/mutant/integration_spec.rb +4 -4
  171. data/spec/unit/mutant/isolation_spec.rb +4 -4
  172. data/spec/unit/mutant/loader_spec.rb +42 -0
  173. data/spec/unit/mutant/matcher/compiler_spec.rb +3 -3
  174. data/spec/unit/mutant/matcher/config_spec.rb +1 -1
  175. data/spec/unit/mutant/matcher/method/instance_spec.rb +8 -1
  176. data/spec/unit/mutant/matcher/method/singleton_spec.rb +8 -1
  177. data/spec/unit/mutant/matcher/namespace_spec.rb +7 -8
  178. data/spec/unit/mutant/matcher/null_spec.rb +3 -2
  179. data/spec/unit/mutant/mutation_spec.rb +11 -5
  180. data/spec/unit/mutant/mutator/registry_spec.rb +1 -1
  181. data/spec/unit/mutant/parallel/master_spec.rb +9 -9
  182. data/spec/unit/mutant/parallel/source/array_spec.rb +3 -3
  183. data/spec/unit/mutant/parallel/worker_spec.rb +5 -5
  184. data/spec/unit/mutant/parallel_spec.rb +4 -4
  185. data/spec/unit/mutant/parser_spec.rb +24 -0
  186. data/spec/unit/mutant/reporter/cli/printer_spec.rb +3 -3
  187. data/spec/unit/mutant/reporter/cli/tput_spec.rb +2 -2
  188. data/spec/unit/mutant/reporter/cli_spec.rb +7 -7
  189. data/spec/unit/mutant/reporter/null_spec.rb +5 -4
  190. data/spec/unit/mutant/repository/diff_spec.rb +30 -18
  191. data/spec/unit/mutant/repository/subject_filter_spec.rb +5 -5
  192. data/spec/unit/mutant/require_highjack_spec.rb +1 -1
  193. data/spec/unit/mutant/result/env_spec.rb +9 -9
  194. data/spec/unit/mutant/result/subject_spec.rb +5 -5
  195. data/spec/unit/mutant/runner/driver_spec.rb +4 -4
  196. data/spec/unit/mutant/runner/{sink/mutation_spec.rb → sink_spec.rb} +16 -4
  197. data/spec/unit/mutant/runner_spec.rb +31 -31
  198. data/spec/unit/mutant/selector/expression_spec.rb +8 -8
  199. data/spec/unit/mutant/subject/method/instance_spec.rb +9 -3
  200. data/spec/unit/mutant/subject/method/singleton_spec.rb +1 -1
  201. data/spec/unit/mutant/subject_spec.rb +1 -5
  202. data/spec/unit/mutant_spec.rb +3 -3
  203. metadata +9 -15
  204. data/config/mutant.yml +0 -14
  205. data/lib/mutant/cache.rb +0 -29
  206. data/lib/mutant/reporter/trace.rb +0 -36
  207. data/spec/support/rspec.rb +0 -21
  208. data/spec/unit/mutant/cache_spec.rb +0 -22
  209. data/spec/unit/mutant/loader/eval_spec.rb +0 -44
  210. data/spec/unit/mutant/reporter/trace_spec.rb +0 -21
  211. data/test_app/Gemfile.rspec3.2 +0 -7
@@ -9,8 +9,6 @@ module Mutant
9
9
  # Run DSL on block
10
10
  #
11
11
  # @return [Example]
12
- #
13
- # @api private
14
12
  def self.run(file, block)
15
13
  instance = new(file)
16
14
  instance.instance_eval(&block)
@@ -20,8 +18,6 @@ module Mutant
20
18
  # Initialize DSL context
21
19
  #
22
20
  # @return [undefined]
23
- #
24
- # @api private
25
21
  def initialize(file)
26
22
  @file = file
27
23
  @source = nil
@@ -34,8 +30,6 @@ module Mutant
34
30
  #
35
31
  # @raise [RuntimeError]
36
32
  # in case example cannot be build
37
- #
38
- # @api private
39
33
  def example
40
34
  fail 'source not defined' unless @source
41
35
  Example.new(@file, @source, @expected)
@@ -48,8 +42,6 @@ module Mutant
48
42
  # @param [String,Parser::AST::Node] input
49
43
  #
50
44
  # @return [self]
51
- #
52
- # @api private
53
45
  def source(input)
54
46
  fail 'source already defined' if @source
55
47
  @source = node(input)
@@ -62,8 +54,6 @@ module Mutant
62
54
  # @param [String,Parser::AST::Node] input
63
55
  #
64
56
  # @return [self]
65
- #
66
- # @api private
67
57
  def mutation(input)
68
58
  node = node(input)
69
59
  if @expected.include?(node)
@@ -77,8 +67,6 @@ module Mutant
77
67
  # Add singleton mutations
78
68
  #
79
69
  # @return [undefined]
80
- #
81
- # @api private
82
70
  def singleton_mutations
83
71
  mutation('nil')
84
72
  mutation('self')
@@ -92,13 +80,11 @@ module Mutant
92
80
  #
93
81
  # @raise [RuntimeError]
94
82
  # in case input cannot be coerced
95
- #
96
- # @api private
97
83
  def node(input)
98
84
  case input
99
85
  when String
100
- Unparser::Preprocessor.run(Parser::CurrentRuby.parse(input))
101
- when Parser::AST::Node
86
+ Unparser::Preprocessor.run(::Parser::CurrentRuby.parse(input))
87
+ when ::Parser::AST::Node
102
88
  input
103
89
  else
104
90
  fail "Cannot coerce to node: #{source.inspect}"
@@ -10,8 +10,6 @@ module Mutant
10
10
  # Identification string
11
11
  #
12
12
  # @return [String]
13
- #
14
- # @api private
15
13
  def identification
16
14
  "#{self.class::SYMBOL}:#{subject.identification}:#{code}"
17
15
  end
@@ -20,8 +18,6 @@ module Mutant
20
18
  # Mutation code
21
19
  #
22
20
  # @return [String]
23
- #
24
- # @api private
25
21
  def code
26
22
  sha1[CODE_RANGE]
27
23
  end
@@ -30,8 +26,6 @@ module Mutant
30
26
  # Normalized mutation source
31
27
  #
32
28
  # @return [String]
33
- #
34
- # @api private
35
29
  def source
36
30
  Unparser.unparse(node)
37
31
  end
@@ -40,8 +34,6 @@ module Mutant
40
34
  # Normalized original source
41
35
  #
42
36
  # @return [String]
43
- #
44
- # @api private
45
37
  def original_source
46
38
  subject.source
47
39
  end
@@ -51,20 +43,23 @@ module Mutant
51
43
  # @param [Array<Report::Test>] test_reports
52
44
  #
53
45
  # @return [Boolean]
54
- #
55
- # @api private
56
46
  def self.success?(test_result)
57
47
  self::TEST_PASS_SUCCESS.equal?(test_result.passed)
58
48
  end
59
49
 
60
50
  # Insert mutated node
61
51
  #
62
- # @return [self]
52
+ # @param kernel [Kernel]
63
53
  #
64
- # @api private
65
- def insert
54
+ # @return [self]
55
+ def insert(kernel)
66
56
  subject.prepare
67
- Loader::Eval.call(root, subject)
57
+ Loader.call(
58
+ binding: TOPLEVEL_BINDING,
59
+ kernel: kernel,
60
+ node: root,
61
+ subject: subject
62
+ )
68
63
  self
69
64
  end
70
65
 
@@ -73,8 +68,6 @@ module Mutant
73
68
  # SHA1 sum of source and subject identification
74
69
  #
75
70
  # @return [String]
76
- #
77
- # @api private
78
71
  def sha1
79
72
  Digest::SHA1.hexdigest(subject.identification + CODE_DELIMITER + source)
80
73
  end
@@ -83,8 +76,6 @@ module Mutant
83
76
  # Mutated root node
84
77
  #
85
78
  # @return [Parser::AST::Node]
86
- #
87
- # @api private
88
79
  def root
89
80
  subject.context.root(node)
90
81
  end
@@ -11,8 +11,6 @@ module Mutant
11
11
  # @param [Mutator] parent
12
12
  #
13
13
  # @return [self]
14
- #
15
- # @api private
16
14
  def self.each(input, parent = nil, &block)
17
15
  return to_enum(__method__, input, parent) unless block_given?
18
16
  REGISTRY.lookup(input).new(input, parent, block)
@@ -23,8 +21,6 @@ module Mutant
23
21
  # Register node class handler
24
22
  #
25
23
  # @return [undefined]
26
- #
27
- # @api private
28
24
  def self.handle(*types)
29
25
  types.each do |type|
30
26
  REGISTRY.register(type, self)
@@ -35,15 +31,11 @@ module Mutant
35
31
  # Mutation input
36
32
  #
37
33
  # @return [Object]
38
- #
39
- # @api private
40
34
  attr_reader :input
41
35
 
42
36
  # Parent context of input
43
37
  #
44
38
  # @return [Object]
45
- #
46
- # @api private
47
39
  attr_reader :parent
48
40
 
49
41
  private
@@ -55,8 +47,6 @@ module Mutant
55
47
  # @param [#call(node)] block
56
48
  #
57
49
  # @return [undefined]
58
- #
59
- # @api private
60
50
  def initialize(input, parent, block)
61
51
  @input, @parent, @block = input, parent, block
62
52
  @seen = Set.new
@@ -69,8 +59,6 @@ module Mutant
69
59
  # @param [Object] object
70
60
  #
71
61
  # @return [Boolean]
72
- #
73
- # @api private
74
62
  def new?(object)
75
63
  !@seen.include?(object)
76
64
  end
@@ -80,8 +68,6 @@ module Mutant
80
68
  # @param [Object] object
81
69
  #
82
70
  # @return [undefined]
83
- #
84
- # @api private
85
71
  def guard(object)
86
72
  @seen << object
87
73
  end
@@ -89,8 +75,6 @@ module Mutant
89
75
  # Dispatch node generations
90
76
  #
91
77
  # @return [undefined]
92
- #
93
- # @api private
94
78
  abstract_method :dispatch
95
79
 
96
80
  # Emit generated mutation if object is not equivalent to input
@@ -98,8 +82,6 @@ module Mutant
98
82
  # @param [Object] object
99
83
  #
100
84
  # @return [undefined]
101
- #
102
- # @api private
103
85
  def emit(object)
104
86
  return unless new?(object)
105
87
 
@@ -113,8 +95,6 @@ module Mutant
113
95
  # @param [Parser::AST::Node] node
114
96
  #
115
97
  # @return [self]
116
- #
117
- # @api private
118
98
  def emit!(node)
119
99
  @block.call(node)
120
100
  self
@@ -123,8 +103,6 @@ module Mutant
123
103
  # Run input with mutator
124
104
  #
125
105
  # @return [undefined]
126
- #
127
- # @api private
128
106
  def run(mutator)
129
107
  mutator.new(input, self, method(:emit))
130
108
  end
@@ -132,8 +110,6 @@ module Mutant
132
110
  # Shortcut to create a new unfrozen duplicate of input
133
111
  #
134
112
  # @return [Object]
135
- #
136
- # @api private
137
113
  def dup_input
138
114
  input.dup
139
115
  end
@@ -17,8 +17,6 @@ module Mutant
17
17
  # @param [Fixnum] index
18
18
  #
19
19
  # @return [undefined]
20
- #
21
- # @api private
22
20
  def self.define_named_child(name, index)
23
21
  super
24
22
 
@@ -37,22 +35,16 @@ module Mutant
37
35
  # Node to mutate
38
36
  #
39
37
  # @return [Parser::AST::Node]
40
- #
41
- # @api private
42
38
  alias_method :node, :input
43
39
 
44
40
  # Duplicate of original
45
41
  #
46
42
  # @return [Parser::AST::Node]
47
- #
48
- # @api private
49
43
  alias_method :dup_node, :dup_input
50
44
 
51
45
  # Original nodes children
52
46
  #
53
47
  # @return [Array<Parser::AST::Node>]
54
- #
55
- # @api private
56
48
  def children
57
49
  node.children
58
50
  end
@@ -62,8 +54,6 @@ module Mutant
62
54
  # @param [Fixnum] index
63
55
  #
64
56
  # @return [undefined]
65
- #
66
- # @api private
67
57
  def mutate_child(index, mutator = Mutator, &block)
68
58
  block ||= TAUTOLOGY
69
59
  child = children.at(index)
@@ -78,8 +68,6 @@ module Mutant
78
68
  # @param [Fixnum] index
79
69
  #
80
70
  # @return [undefined]
81
- #
82
- # @api private
83
71
  def delete_child(index)
84
72
  dup_children = children.dup
85
73
  dup_children.delete_at(index)
@@ -92,8 +80,6 @@ module Mutant
92
80
  # @param [Parser::AST::Node] node
93
81
  #
94
82
  # @return [undefined]
95
- #
96
- # @api private
97
83
  def emit_child_update(index, node)
98
84
  new_children = children.dup
99
85
  new_children[index] = node
@@ -105,17 +91,13 @@ module Mutant
105
91
  # @param [Array<Parser::AST::Node>] children
106
92
  #
107
93
  # @return [undefined]
108
- #
109
- # @api private
110
94
  def emit_type(*children)
111
- emit(Parser::AST::Node.new(node.type, children))
95
+ emit(::Parser::AST::Node.new(node.type, children))
112
96
  end
113
97
 
114
98
  # Emit singleton literals
115
99
  #
116
100
  # @return [undefined]
117
- #
118
- # @api private
119
101
  def emit_singletons
120
102
  emit_nil
121
103
  emit_self
@@ -124,8 +106,6 @@ module Mutant
124
106
  # Emit a literal self
125
107
  #
126
108
  # @return [undefined]
127
- #
128
- # @api private
129
109
  def emit_self
130
110
  emit(N_SELF)
131
111
  end
@@ -133,8 +113,6 @@ module Mutant
133
113
  # Emit a literal nil
134
114
  #
135
115
  # @return [undefined]
136
- #
137
- # @api private
138
116
  def emit_nil
139
117
  emit(N_NIL) unless asgn_left?
140
118
  end
@@ -144,8 +122,6 @@ module Mutant
144
122
  # @param [Array<Object>] values
145
123
  #
146
124
  # @return [undefined]
147
- #
148
- # @api private
149
125
  def emit_values(values)
150
126
  values.each do |value|
151
127
  emit_type(value)
@@ -159,8 +135,6 @@ module Mutant
159
135
  #
160
136
  # @return [nil]
161
137
  # otherwise
162
- #
163
- # @api private
164
138
  def parent_node
165
139
  parent.node if parent
166
140
  end
@@ -172,8 +146,6 @@ module Mutant
172
146
  #
173
147
  # @return [nil]
174
148
  # otherwise
175
- #
176
- # @api private
177
149
  def parent_type
178
150
  parent_node.type if parent_node
179
151
  end
@@ -181,8 +153,6 @@ module Mutant
181
153
  # Test if the node is the left of an or_asgn or op_asgn
182
154
  #
183
155
  # @return [Boolean]
184
- #
185
- # @api private
186
156
  def asgn_left?
187
157
  AST::Types::OP_ASSIGN.include?(parent_type) && parent.node.children.first.equal?(node)
188
158
  end
@@ -192,8 +162,6 @@ module Mutant
192
162
  # @param [Range] range
193
163
  #
194
164
  # @return [Enumerable<Fixnum>]
195
- #
196
- # @api private
197
165
  def children_indices(range)
198
166
  range_end = range.end
199
167
  last_index = range_end >= 0 ? range_end : children.length + range_end
@@ -14,8 +14,6 @@ module Mutant
14
14
  # Emit mutations
15
15
  #
16
16
  # @return [undefined]
17
- #
18
- # @api private
19
17
  def dispatch
20
18
  emit_singletons
21
19
  emit_left_mutations do |node|
@@ -15,8 +15,6 @@ module Mutant
15
15
  # Perform dispatch
16
16
  #
17
17
  # @return [undefined]
18
- #
19
- # @api private
20
18
  def dispatch
21
19
  emit_name_mutation
22
20
  end
@@ -24,8 +22,6 @@ module Mutant
24
22
  # Emit name mutations
25
23
  #
26
24
  # @return [undefined]
27
- #
28
- # @api private
29
25
  def emit_name_mutation
30
26
  return if skip?
31
27
  emit_name(:"#{UNDERSCORE}#{name}")
@@ -34,8 +30,6 @@ module Mutant
34
30
  # Test if argument mutation is skipped
35
31
  #
36
32
  # @return [Boolean]
37
- #
38
- # @api private
39
33
  def skip?
40
34
  name.to_s.start_with?(UNDERSCORE)
41
35
  end
@@ -52,8 +46,6 @@ module Mutant
52
46
  # Perform dispatch
53
47
  #
54
48
  # @return [undefined]
55
- #
56
- # @api private
57
49
  def dispatch
58
50
  emit_name_mutation
59
51
  emit_required_mutation
@@ -63,8 +55,6 @@ module Mutant
63
55
  # Emit required mutation
64
56
  #
65
57
  # @return [undefined]
66
- #
67
- # @api private
68
58
  def emit_required_mutation
69
59
  emit(s(:arg, name))
70
60
  end
@@ -11,8 +11,6 @@ module Mutant
11
11
  # Perform dispatch
12
12
  #
13
13
  # @return [undefined]
14
- #
15
- # @api private
16
14
  def dispatch
17
15
  emit_argument_presence
18
16
  emit_argument_mutations
@@ -22,8 +20,6 @@ module Mutant
22
20
  # Emit argument presence mutation
23
21
  #
24
22
  # @return [undefined]
25
- #
26
- # @api private
27
23
  def emit_argument_presence
28
24
  emit_type
29
25
  Mutator::Util::Array::Presence.each(children, self) do |children|
@@ -34,8 +30,6 @@ module Mutant
34
30
  # Emit argument mutations
35
31
  #
36
32
  # @return [undefined]
37
- #
38
- # @api private
39
33
  def emit_argument_mutations
40
34
  children.each_with_index do |child, index|
41
35
  Mutator.each(child) do |mutant|
@@ -50,8 +44,6 @@ module Mutant
50
44
  # @param [Parser::AST::Node]
51
45
  #
52
46
  # @return [Boolean]
53
- #
54
- # @api private
55
47
  def invalid_argument_replacement?(mutant, index)
56
48
  original = children.fetch(index)
57
49
 
@@ -63,8 +55,6 @@ module Mutant
63
55
  # Emit mlhs expansions
64
56
  #
65
57
  # @return [undefined]
66
- #
67
- # @api private
68
58
  def emit_mlhs_expansion
69
59
  mlhs_childs_with_index.each do |child, index|
70
60
  dup_children = children.dup
@@ -77,8 +67,6 @@ module Mutant
77
67
  # Multiple left hand side childs
78
68
  #
79
69
  # @return [Enumerable<Parser::AST::Node, Fixnum>]
80
- #
81
- # @api private
82
70
  def mlhs_childs_with_index
83
71
  children.each_with_index.select do |child, _index|
84
72
  n_mlhs?(child)