unparser 0.8.1 → 0.8.2
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/unparser/ast/local_variable_scope.rb +4 -4
- data/lib/unparser/cli.rb +2 -2
- data/lib/unparser/comments.rb +2 -2
- data/lib/unparser/emitter.rb +2 -1
- data/lib/unparser/util.rb +2 -1
- data/lib/unparser/validation.rb +1 -1
- data/lib/unparser.rb +8 -2
- metadata +47 -15
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c9a2bc4c065381b615f71cb36770c6edc2633ce160540426d28ebb6ccda689d8
|
|
4
|
+
data.tar.gz: c0952ffb8269388f5de64ea68719d785a59dd7f9869907c69df623aeb10d9006
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f0151e34f94305994a4e6fac9ea360fb5918b114e3e1f2ab9e1a6a6b5359134baa972d27a5c09410406185a1c91b5424590eb33ce1d343e928a4eb09bdbfa4e3
|
|
7
|
+
data.tar.gz: 0fe83efcc1cc934e3d045530c06f1addac19bf30bc101740bf56d8c4129ef2c5c7989498797d5098858b946094ec8962aecf55fa42bba866774ef34fc323fcf7
|
|
@@ -107,8 +107,8 @@ module Unparser
|
|
|
107
107
|
end
|
|
108
108
|
|
|
109
109
|
# Enumerate each node with its local variable scope
|
|
110
|
-
def self.each(node:, stack:, &
|
|
111
|
-
new(stack: stack).each(node: node, &
|
|
110
|
+
def self.each(node:, stack:, &)
|
|
111
|
+
new(stack: stack).each(node: node, &)
|
|
112
112
|
end
|
|
113
113
|
|
|
114
114
|
# Enumerate local variable scope scope
|
|
@@ -121,8 +121,8 @@ module Unparser
|
|
|
121
121
|
#
|
|
122
122
|
# @api private
|
|
123
123
|
#
|
|
124
|
-
def each(node:, &
|
|
125
|
-
visit(node, &
|
|
124
|
+
def each(node:, &)
|
|
125
|
+
visit(node, &)
|
|
126
126
|
end
|
|
127
127
|
|
|
128
128
|
private
|
data/lib/unparser/cli.rb
CHANGED
data/lib/unparser/comments.rb
CHANGED
data/lib/unparser/emitter.rb
CHANGED
data/lib/unparser/util.rb
CHANGED
|
@@ -4,7 +4,8 @@ module Unparser
|
|
|
4
4
|
# Original code before vendoring and reduction from: https://github.com/mbj/mutant/blob/main/lib/mutant/util.rb
|
|
5
5
|
module Util
|
|
6
6
|
# Error raised by `Util.one` if size is not exactly one
|
|
7
|
-
SizeError
|
|
7
|
+
class SizeError < IndexError
|
|
8
|
+
end
|
|
8
9
|
|
|
9
10
|
# Return only element in array if it contains exactly one member
|
|
10
11
|
#
|
data/lib/unparser/validation.rb
CHANGED
|
@@ -145,7 +145,7 @@ module Unparser
|
|
|
145
145
|
# mutant:disable
|
|
146
146
|
def report_exception(phase_exception)
|
|
147
147
|
if phase_exception
|
|
148
|
-
[phase_exception.inspect].concat(phase_exception.backtrace
|
|
148
|
+
[phase_exception.inspect].concat(phase_exception.backtrace&.take(20) || [])
|
|
149
149
|
else
|
|
150
150
|
%w[undefined]
|
|
151
151
|
end
|
data/lib/unparser.rb
CHANGED
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
require 'diff/lcs'
|
|
4
4
|
require 'diff/lcs/hunk'
|
|
5
5
|
require 'optparse'
|
|
6
|
-
require 'set'
|
|
7
6
|
|
|
8
7
|
require 'unparser/equalizer'
|
|
9
8
|
require 'unparser/adamantium'
|
|
@@ -53,7 +52,14 @@ module Unparser # rubocop:disable Metrics/ModuleLength
|
|
|
53
52
|
end
|
|
54
53
|
end
|
|
55
54
|
else
|
|
56
|
-
|
|
55
|
+
prism_translation_parser =
|
|
56
|
+
if Gem::Version.new(RUBY_VERSION) >= '4.0'
|
|
57
|
+
Prism::Translation::Parser40
|
|
58
|
+
else
|
|
59
|
+
Prism::Translation::Parser34
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
Class.new(prism_translation_parser) do
|
|
57
63
|
def declare_local_variable(local_variable)
|
|
58
64
|
(@local_variables ||= Set.new) << local_variable
|
|
59
65
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: unparser
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.8.
|
|
4
|
+
version: 0.8.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Markus Schirp
|
|
@@ -13,16 +13,22 @@ dependencies:
|
|
|
13
13
|
name: diff-lcs
|
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
|
15
15
|
requirements:
|
|
16
|
-
- - "
|
|
16
|
+
- - ">="
|
|
17
17
|
- !ruby/object:Gem::Version
|
|
18
18
|
version: '1.6'
|
|
19
|
+
- - "<"
|
|
20
|
+
- !ruby/object:Gem::Version
|
|
21
|
+
version: '3'
|
|
19
22
|
type: :runtime
|
|
20
23
|
prerelease: false
|
|
21
24
|
version_requirements: !ruby/object:Gem::Requirement
|
|
22
25
|
requirements:
|
|
23
|
-
- - "
|
|
26
|
+
- - ">="
|
|
24
27
|
- !ruby/object:Gem::Version
|
|
25
28
|
version: '1.6'
|
|
29
|
+
- - "<"
|
|
30
|
+
- !ruby/object:Gem::Version
|
|
31
|
+
version: '3'
|
|
26
32
|
- !ruby/object:Gem::Dependency
|
|
27
33
|
name: parser
|
|
28
34
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -51,76 +57,102 @@ dependencies:
|
|
|
51
57
|
- - ">="
|
|
52
58
|
- !ruby/object:Gem::Version
|
|
53
59
|
version: 1.5.1
|
|
60
|
+
- !ruby/object:Gem::Dependency
|
|
61
|
+
name: benchmark
|
|
62
|
+
requirement: !ruby/object:Gem::Requirement
|
|
63
|
+
requirements:
|
|
64
|
+
- - "~>"
|
|
65
|
+
- !ruby/object:Gem::Version
|
|
66
|
+
version: 0.5.0
|
|
67
|
+
type: :development
|
|
68
|
+
prerelease: false
|
|
69
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
70
|
+
requirements:
|
|
71
|
+
- - "~>"
|
|
72
|
+
- !ruby/object:Gem::Version
|
|
73
|
+
version: 0.5.0
|
|
54
74
|
- !ruby/object:Gem::Dependency
|
|
55
75
|
name: mutant
|
|
56
76
|
requirement: !ruby/object:Gem::Requirement
|
|
57
77
|
requirements:
|
|
58
78
|
- - "~>"
|
|
59
79
|
- !ruby/object:Gem::Version
|
|
60
|
-
version: 0.
|
|
80
|
+
version: 0.14.2
|
|
61
81
|
type: :development
|
|
62
82
|
prerelease: false
|
|
63
83
|
version_requirements: !ruby/object:Gem::Requirement
|
|
64
84
|
requirements:
|
|
65
85
|
- - "~>"
|
|
66
86
|
- !ruby/object:Gem::Version
|
|
67
|
-
version: 0.
|
|
87
|
+
version: 0.14.2
|
|
68
88
|
- !ruby/object:Gem::Dependency
|
|
69
89
|
name: mutant-rspec
|
|
70
90
|
requirement: !ruby/object:Gem::Requirement
|
|
71
91
|
requirements:
|
|
72
92
|
- - "~>"
|
|
73
93
|
- !ruby/object:Gem::Version
|
|
74
|
-
version: 0.
|
|
94
|
+
version: 0.14.2
|
|
75
95
|
type: :development
|
|
76
96
|
prerelease: false
|
|
77
97
|
version_requirements: !ruby/object:Gem::Requirement
|
|
78
98
|
requirements:
|
|
79
99
|
- - "~>"
|
|
80
100
|
- !ruby/object:Gem::Version
|
|
81
|
-
version: 0.
|
|
101
|
+
version: 0.14.2
|
|
82
102
|
- !ruby/object:Gem::Dependency
|
|
83
103
|
name: rspec
|
|
84
104
|
requirement: !ruby/object:Gem::Requirement
|
|
85
105
|
requirements:
|
|
86
|
-
- - "
|
|
106
|
+
- - ">="
|
|
87
107
|
- !ruby/object:Gem::Version
|
|
88
108
|
version: '3.13'
|
|
109
|
+
- - "<"
|
|
110
|
+
- !ruby/object:Gem::Version
|
|
111
|
+
version: '5'
|
|
89
112
|
type: :development
|
|
90
113
|
prerelease: false
|
|
91
114
|
version_requirements: !ruby/object:Gem::Requirement
|
|
92
115
|
requirements:
|
|
93
|
-
- - "
|
|
116
|
+
- - ">="
|
|
94
117
|
- !ruby/object:Gem::Version
|
|
95
118
|
version: '3.13'
|
|
119
|
+
- - "<"
|
|
120
|
+
- !ruby/object:Gem::Version
|
|
121
|
+
version: '5'
|
|
96
122
|
- !ruby/object:Gem::Dependency
|
|
97
123
|
name: rspec-core
|
|
98
124
|
requirement: !ruby/object:Gem::Requirement
|
|
99
125
|
requirements:
|
|
100
|
-
- - "
|
|
126
|
+
- - ">="
|
|
101
127
|
- !ruby/object:Gem::Version
|
|
102
128
|
version: '3.13'
|
|
129
|
+
- - "<"
|
|
130
|
+
- !ruby/object:Gem::Version
|
|
131
|
+
version: '5'
|
|
103
132
|
type: :development
|
|
104
133
|
prerelease: false
|
|
105
134
|
version_requirements: !ruby/object:Gem::Requirement
|
|
106
135
|
requirements:
|
|
107
|
-
- - "
|
|
136
|
+
- - ">="
|
|
108
137
|
- !ruby/object:Gem::Version
|
|
109
138
|
version: '3.13'
|
|
139
|
+
- - "<"
|
|
140
|
+
- !ruby/object:Gem::Version
|
|
141
|
+
version: '5'
|
|
110
142
|
- !ruby/object:Gem::Dependency
|
|
111
143
|
name: rspec-its
|
|
112
144
|
requirement: !ruby/object:Gem::Requirement
|
|
113
145
|
requirements:
|
|
114
146
|
- - "~>"
|
|
115
147
|
- !ruby/object:Gem::Version
|
|
116
|
-
version:
|
|
148
|
+
version: '2.0'
|
|
117
149
|
type: :development
|
|
118
150
|
prerelease: false
|
|
119
151
|
version_requirements: !ruby/object:Gem::Requirement
|
|
120
152
|
requirements:
|
|
121
153
|
- - "~>"
|
|
122
154
|
- !ruby/object:Gem::Version
|
|
123
|
-
version:
|
|
155
|
+
version: '2.0'
|
|
124
156
|
- !ruby/object:Gem::Dependency
|
|
125
157
|
name: rubocop
|
|
126
158
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -278,14 +310,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
278
310
|
requirements:
|
|
279
311
|
- - ">="
|
|
280
312
|
- !ruby/object:Gem::Version
|
|
281
|
-
version: '3.
|
|
313
|
+
version: '3.2'
|
|
282
314
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
283
315
|
requirements:
|
|
284
316
|
- - ">="
|
|
285
317
|
- !ruby/object:Gem::Version
|
|
286
318
|
version: '0'
|
|
287
319
|
requirements: []
|
|
288
|
-
rubygems_version:
|
|
320
|
+
rubygems_version: 4.0.3
|
|
289
321
|
specification_version: 4
|
|
290
322
|
summary: Generate equivalent source for parser gem AST nodes
|
|
291
323
|
test_files: []
|