mutant 0.11.22 → 0.11.24
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.
- checksums.yaml +4 -4
- data/lib/mutant/ast/structure.rb +10 -0
- data/lib/mutant/mutator/node/arguments.rb +6 -2
- data/lib/mutant/mutator/node/block.rb +1 -1
- data/lib/mutant/mutator/node/send.rb +1 -1
- data/lib/mutant/mutator/regexp.rb +1 -1
- data/lib/mutant/version.rb +1 -1
- metadata +12 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fce1f18a168ceb279743d1d6a1bb46226568faba189d4fb6eb7a789a6cd1a4c5
|
4
|
+
data.tar.gz: 6353bde0559ed50cd5f6111f17b815e072b92c9c70d11b8cc5354b6adf0d790b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 67ad06623a1b89faf01739d36a89b3226bd3f07324ccc6252e7457e1c5fd6000bb14332825dd5df5a9294fdab1338b27b71e3baeffd676f14c8ac6ed6ca8aaa7
|
7
|
+
data.tar.gz: 68b0a0396ac6d25270d54069ea49eaaa0c70409ec684615673a8f84193ea568d005f3606b51f3868911e05e4695ed04db80532c04b0070130d915dd2a2d371bf
|
data/lib/mutant/ast/structure.rb
CHANGED
@@ -391,6 +391,16 @@ module Mutant
|
|
391
391
|
fixed: EMPTY_ARRAY,
|
392
392
|
variable: nil
|
393
393
|
),
|
394
|
+
Node.new(
|
395
|
+
type: :forwarded_kwrestarg,
|
396
|
+
fixed: EMPTY_ARRAY,
|
397
|
+
variable: nil
|
398
|
+
),
|
399
|
+
Node.new(
|
400
|
+
type: :forwarded_restarg,
|
401
|
+
fixed: EMPTY_ARRAY,
|
402
|
+
variable: nil
|
403
|
+
),
|
394
404
|
Node.new(
|
395
405
|
type: :for,
|
396
406
|
fixed: Node.fixed(
|
@@ -25,18 +25,22 @@ module Mutant
|
|
25
25
|
children.each_with_index do |removed, index|
|
26
26
|
new_arguments = children.dup
|
27
27
|
new_arguments.delete_at(index)
|
28
|
-
unless
|
28
|
+
unless forward_type?(removed) || removed_block_arg?(new_arguments) || only_mlhs?(new_arguments)
|
29
29
|
emit_type(*new_arguments)
|
30
30
|
end
|
31
31
|
end
|
32
32
|
end
|
33
33
|
|
34
|
+
def forward_type?(removed)
|
35
|
+
n_forward_arg?(removed) || n_restarg?(removed) || n_kwrestarg?(removed)
|
36
|
+
end
|
37
|
+
|
34
38
|
def only_mlhs?(new_arguments)
|
35
39
|
new_arguments.one? && n_mlhs?(new_arguments.first)
|
36
40
|
end
|
37
41
|
|
38
42
|
def forward_arg?
|
39
|
-
children.
|
43
|
+
children.any?(&method(:forward_type?))
|
40
44
|
end
|
41
45
|
|
42
46
|
def removed_block_arg?(new_arguments)
|
@@ -223,7 +223,7 @@ module Mutant
|
|
223
223
|
|
224
224
|
argument = Mutant::Util.one(arguments)
|
225
225
|
|
226
|
-
return if n_kwargs?(argument) || n_forwarded_args?(argument)
|
226
|
+
return if n_kwargs?(argument) || n_forwarded_args?(argument) || n_forwarded_restarg?(argument)
|
227
227
|
|
228
228
|
emit_propagation(argument)
|
229
229
|
end
|
data/lib/mutant/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mutant
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.11.
|
4
|
+
version: 0.11.24
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Markus Schirp
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-10-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: diff-lcs
|
@@ -31,6 +31,9 @@ dependencies:
|
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: 3.2.2
|
34
|
+
- - ">="
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: 3.2.2.4
|
34
37
|
type: :runtime
|
35
38
|
prerelease: false
|
36
39
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -38,20 +41,23 @@ dependencies:
|
|
38
41
|
- - "~>"
|
39
42
|
- !ruby/object:Gem::Version
|
40
43
|
version: 3.2.2
|
44
|
+
- - ">="
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: 3.2.2.4
|
41
47
|
- !ruby/object:Gem::Dependency
|
42
48
|
name: regexp_parser
|
43
49
|
requirement: !ruby/object:Gem::Requirement
|
44
50
|
requirements:
|
45
51
|
- - "~>"
|
46
52
|
- !ruby/object:Gem::Version
|
47
|
-
version: 2.
|
53
|
+
version: 2.8.2
|
48
54
|
type: :runtime
|
49
55
|
prerelease: false
|
50
56
|
version_requirements: !ruby/object:Gem::Requirement
|
51
57
|
requirements:
|
52
58
|
- - "~>"
|
53
59
|
- !ruby/object:Gem::Version
|
54
|
-
version: 2.
|
60
|
+
version: 2.8.2
|
55
61
|
- !ruby/object:Gem::Dependency
|
56
62
|
name: sorbet-runtime
|
57
63
|
requirement: !ruby/object:Gem::Requirement
|
@@ -72,14 +78,14 @@ dependencies:
|
|
72
78
|
requirements:
|
73
79
|
- - "~>"
|
74
80
|
- !ruby/object:Gem::Version
|
75
|
-
version: 0.6.
|
81
|
+
version: 0.6.9
|
76
82
|
type: :runtime
|
77
83
|
prerelease: false
|
78
84
|
version_requirements: !ruby/object:Gem::Requirement
|
79
85
|
requirements:
|
80
86
|
- - "~>"
|
81
87
|
- !ruby/object:Gem::Version
|
82
|
-
version: 0.6.
|
88
|
+
version: 0.6.9
|
83
89
|
- !ruby/object:Gem::Dependency
|
84
90
|
name: parallel
|
85
91
|
requirement: !ruby/object:Gem::Requirement
|