unparser 0.6.15 → 0.8.0

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 (56) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -4
  3. data/lib/unparser/anima.rb +11 -0
  4. data/lib/unparser/ast/local_variable_scope.rb +28 -24
  5. data/lib/unparser/ast.rb +18 -22
  6. data/lib/unparser/buffer.rb +44 -2
  7. data/lib/unparser/cli.rb +28 -5
  8. data/lib/unparser/color.rb +2 -2
  9. data/lib/unparser/either.rb +6 -6
  10. data/lib/unparser/emitter/args.rb +5 -1
  11. data/lib/unparser/emitter/array.rb +0 -4
  12. data/lib/unparser/emitter/array_pattern.rb +1 -9
  13. data/lib/unparser/emitter/assignment.rb +17 -8
  14. data/lib/unparser/emitter/begin.rb +0 -6
  15. data/lib/unparser/emitter/binary.rb +1 -1
  16. data/lib/unparser/emitter/block.rb +13 -6
  17. data/lib/unparser/emitter/def.rb +1 -1
  18. data/lib/unparser/emitter/dstr.rb +6 -5
  19. data/lib/unparser/emitter/dsym.rb +1 -1
  20. data/lib/unparser/emitter/ensure.rb +16 -0
  21. data/lib/unparser/emitter/flow_modifier.rb +1 -7
  22. data/lib/unparser/emitter/for.rb +1 -1
  23. data/lib/unparser/emitter/hash.rb +0 -8
  24. data/lib/unparser/emitter/hash_pattern.rb +1 -1
  25. data/lib/unparser/emitter/in_pattern.rb +9 -1
  26. data/lib/unparser/emitter/index.rb +0 -4
  27. data/lib/unparser/emitter/kwbegin.rb +1 -1
  28. data/lib/unparser/emitter/match_pattern.rb +6 -1
  29. data/lib/unparser/emitter/match_pattern_p.rb +6 -1
  30. data/lib/unparser/emitter/mlhs.rb +7 -1
  31. data/lib/unparser/emitter/op_assign.rb +0 -10
  32. data/lib/unparser/emitter/primitive.rb +0 -13
  33. data/lib/unparser/emitter/range.rb +23 -2
  34. data/lib/unparser/emitter/regexp.rb +5 -17
  35. data/lib/unparser/emitter/rescue.rb +7 -1
  36. data/lib/unparser/emitter/root.rb +2 -9
  37. data/lib/unparser/emitter/send.rb +1 -5
  38. data/lib/unparser/emitter/string.rb +31 -0
  39. data/lib/unparser/emitter/xstr.rb +8 -1
  40. data/lib/unparser/emitter.rb +9 -10
  41. data/lib/unparser/generation.rb +14 -14
  42. data/lib/unparser/node_details.rb +1 -0
  43. data/lib/unparser/node_helpers.rb +18 -9
  44. data/lib/unparser/util.rb +23 -0
  45. data/lib/unparser/validation.rb +68 -28
  46. data/lib/unparser/writer/array.rb +51 -0
  47. data/lib/unparser/writer/binary.rb +8 -4
  48. data/lib/unparser/writer/dynamic_string.rb +128 -135
  49. data/lib/unparser/writer/regexp.rb +101 -0
  50. data/lib/unparser/writer/resbody.rb +37 -3
  51. data/lib/unparser/writer/rescue.rb +3 -7
  52. data/lib/unparser/writer/send/unary.rb +9 -4
  53. data/lib/unparser/writer/send.rb +8 -14
  54. data/lib/unparser/writer.rb +31 -1
  55. data/lib/unparser.rb +149 -38
  56. metadata +33 -17
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: unparser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.15
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Markus Schirp
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2024-06-15 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: diff-lcs
@@ -16,14 +15,14 @@ dependencies:
16
15
  requirements:
17
16
  - - "~>"
18
17
  - !ruby/object:Gem::Version
19
- version: '1.3'
18
+ version: '1.6'
20
19
  type: :runtime
21
20
  prerelease: false
22
21
  version_requirements: !ruby/object:Gem::Requirement
23
22
  requirements:
24
23
  - - "~>"
25
24
  - !ruby/object:Gem::Version
26
- version: '1.3'
25
+ version: '1.6'
27
26
  - !ruby/object:Gem::Dependency
28
27
  name: parser
29
28
  requirement: !ruby/object:Gem::Requirement
@@ -38,62 +37,76 @@ dependencies:
38
37
  - - ">="
39
38
  - !ruby/object:Gem::Version
40
39
  version: 3.3.0
40
+ - !ruby/object:Gem::Dependency
41
+ name: prism
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: '1.4'
47
+ type: :runtime
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '1.4'
41
54
  - !ruby/object:Gem::Dependency
42
55
  name: mutant
43
56
  requirement: !ruby/object:Gem::Requirement
44
57
  requirements:
45
58
  - - "~>"
46
59
  - !ruby/object:Gem::Version
47
- version: 0.12.2
60
+ version: 0.13.0
48
61
  type: :development
49
62
  prerelease: false
50
63
  version_requirements: !ruby/object:Gem::Requirement
51
64
  requirements:
52
65
  - - "~>"
53
66
  - !ruby/object:Gem::Version
54
- version: 0.12.2
67
+ version: 0.13.0
55
68
  - !ruby/object:Gem::Dependency
56
69
  name: mutant-rspec
57
70
  requirement: !ruby/object:Gem::Requirement
58
71
  requirements:
59
72
  - - "~>"
60
73
  - !ruby/object:Gem::Version
61
- version: 0.12.2
74
+ version: 0.13.0
62
75
  type: :development
63
76
  prerelease: false
64
77
  version_requirements: !ruby/object:Gem::Requirement
65
78
  requirements:
66
79
  - - "~>"
67
80
  - !ruby/object:Gem::Version
68
- version: 0.12.2
81
+ version: 0.13.0
69
82
  - !ruby/object:Gem::Dependency
70
83
  name: rspec
71
84
  requirement: !ruby/object:Gem::Requirement
72
85
  requirements:
73
86
  - - "~>"
74
87
  - !ruby/object:Gem::Version
75
- version: '3.9'
88
+ version: '3.13'
76
89
  type: :development
77
90
  prerelease: false
78
91
  version_requirements: !ruby/object:Gem::Requirement
79
92
  requirements:
80
93
  - - "~>"
81
94
  - !ruby/object:Gem::Version
82
- version: '3.9'
95
+ version: '3.13'
83
96
  - !ruby/object:Gem::Dependency
84
97
  name: rspec-core
85
98
  requirement: !ruby/object:Gem::Requirement
86
99
  requirements:
87
100
  - - "~>"
88
101
  - !ruby/object:Gem::Version
89
- version: '3.9'
102
+ version: '3.13'
90
103
  type: :development
91
104
  prerelease: false
92
105
  version_requirements: !ruby/object:Gem::Requirement
93
106
  requirements:
94
107
  - - "~>"
95
108
  - !ruby/object:Gem::Version
96
- version: '3.9'
109
+ version: '3.13'
97
110
  - !ruby/object:Gem::Dependency
98
111
  name: rspec-its
99
112
  requirement: !ruby/object:Gem::Requirement
@@ -184,6 +197,7 @@ files:
184
197
  - lib/unparser/emitter/defined.rb
185
198
  - lib/unparser/emitter/dstr.rb
186
199
  - lib/unparser/emitter/dsym.rb
200
+ - lib/unparser/emitter/ensure.rb
187
201
  - lib/unparser/emitter/find_pattern.rb
188
202
  - lib/unparser/emitter/flipflop.rb
189
203
  - lib/unparser/emitter/float.rb
@@ -221,6 +235,7 @@ files:
221
235
  - lib/unparser/emitter/send.rb
222
236
  - lib/unparser/emitter/simple.rb
223
237
  - lib/unparser/emitter/splat.rb
238
+ - lib/unparser/emitter/string.rb
224
239
  - lib/unparser/emitter/super.rb
225
240
  - lib/unparser/emitter/undef.rb
226
241
  - lib/unparser/emitter/variable.rb
@@ -232,10 +247,13 @@ files:
232
247
  - lib/unparser/node_details.rb
233
248
  - lib/unparser/node_details/send.rb
234
249
  - lib/unparser/node_helpers.rb
250
+ - lib/unparser/util.rb
235
251
  - lib/unparser/validation.rb
236
252
  - lib/unparser/writer.rb
253
+ - lib/unparser/writer/array.rb
237
254
  - lib/unparser/writer/binary.rb
238
255
  - lib/unparser/writer/dynamic_string.rb
256
+ - lib/unparser/writer/regexp.rb
239
257
  - lib/unparser/writer/resbody.rb
240
258
  - lib/unparser/writer/rescue.rb
241
259
  - lib/unparser/writer/send.rb
@@ -249,11 +267,10 @@ licenses:
249
267
  - MIT
250
268
  metadata:
251
269
  bug_tracker_uri: https://github.com/mbj/unparser/issues
252
- changelog_uri: https://github.com/mbj/unparser/blob/master/Changelog.md
270
+ changelog_uri: https://github.com/mbj/unparser/blob/main/Changelog.md
253
271
  funding_uri: https://github.com/sponsors/mbj
254
272
  source_code_uri: https://github.com/mbj/unparser
255
273
  rubygems_mfa_required: 'true'
256
- post_install_message:
257
274
  rdoc_options: []
258
275
  require_paths:
259
276
  - lib
@@ -268,8 +285,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
268
285
  - !ruby/object:Gem::Version
269
286
  version: '0'
270
287
  requirements: []
271
- rubygems_version: 3.5.9
272
- signing_key:
288
+ rubygems_version: 3.6.7
273
289
  specification_version: 4
274
290
  summary: Generate equivalent source for parser gem AST nodes
275
291
  test_files: []