parser 2.7.1.0 → 2.7.1.5

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 (81) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +10 -11
  3. data/CHANGELOG.md +70 -1
  4. data/README.md +2 -2
  5. data/Rakefile +2 -1
  6. data/doc/AST_FORMAT.md +107 -3
  7. data/lib/parser.rb +1 -0
  8. data/lib/parser/all.rb +1 -0
  9. data/lib/parser/ast/processor.rb +2 -0
  10. data/lib/parser/base.rb +6 -5
  11. data/lib/parser/builders/default.rb +146 -19
  12. data/lib/parser/context.rb +1 -0
  13. data/lib/parser/current.rb +9 -0
  14. data/lib/parser/diagnostic.rb +1 -1
  15. data/lib/parser/diagnostic/engine.rb +1 -2
  16. data/lib/parser/lexer.rb +23770 -0
  17. data/lib/parser/lexer.rl +15 -1
  18. data/lib/parser/macruby.rb +6149 -0
  19. data/lib/parser/macruby.y +15 -5
  20. data/lib/parser/max_numparam_stack.rb +1 -1
  21. data/lib/parser/messages.rb +17 -0
  22. data/lib/parser/meta.rb +3 -3
  23. data/lib/parser/ruby18.rb +5663 -0
  24. data/lib/parser/ruby18.y +3 -1
  25. data/lib/parser/ruby19.rb +6092 -0
  26. data/lib/parser/ruby19.y +15 -5
  27. data/lib/parser/ruby20.rb +6527 -0
  28. data/lib/parser/ruby20.y +15 -5
  29. data/lib/parser/ruby21.rb +6578 -0
  30. data/lib/parser/ruby21.y +10 -3
  31. data/lib/parser/ruby22.rb +6613 -0
  32. data/lib/parser/ruby22.y +10 -3
  33. data/lib/parser/ruby23.rb +6624 -0
  34. data/lib/parser/ruby23.y +10 -3
  35. data/lib/parser/ruby24.rb +6694 -0
  36. data/lib/parser/ruby24.y +10 -3
  37. data/lib/parser/ruby25.rb +6662 -0
  38. data/lib/parser/ruby25.y +10 -3
  39. data/lib/parser/ruby26.rb +6676 -0
  40. data/lib/parser/ruby26.y +10 -3
  41. data/lib/parser/ruby27.rb +7803 -0
  42. data/lib/parser/ruby27.y +16 -8
  43. data/lib/parser/ruby30.rb +8052 -0
  44. data/lib/parser/ruby30.y +3048 -0
  45. data/lib/parser/rubymotion.rb +6086 -0
  46. data/lib/parser/rubymotion.y +15 -5
  47. data/lib/parser/runner.rb +26 -2
  48. data/lib/parser/runner/ruby_rewrite.rb +2 -2
  49. data/lib/parser/source/buffer.rb +3 -1
  50. data/lib/parser/source/comment.rb +1 -1
  51. data/lib/parser/source/comment/associator.rb +14 -4
  52. data/lib/parser/source/map/method_definition.rb +25 -0
  53. data/lib/parser/source/range.rb +19 -3
  54. data/lib/parser/source/tree_rewriter.rb +115 -12
  55. data/lib/parser/source/tree_rewriter/action.rb +135 -26
  56. data/lib/parser/tree_rewriter.rb +1 -2
  57. data/lib/parser/version.rb +1 -1
  58. data/parser.gemspec +6 -2
  59. data/test/helper.rb +49 -6
  60. data/test/parse_helper.rb +49 -40
  61. data/test/test_ast_processor.rb +32 -0
  62. data/test/test_base.rb +1 -1
  63. data/test/test_current.rb +2 -0
  64. data/test/test_diagnostic.rb +6 -7
  65. data/test/test_diagnostic_engine.rb +5 -8
  66. data/test/test_lexer.rb +17 -8
  67. data/test/test_meta.rb +12 -0
  68. data/test/test_parse_helper.rb +12 -9
  69. data/test/test_parser.rb +612 -56
  70. data/test/test_runner_parse.rb +22 -1
  71. data/test/test_runner_rewrite.rb +1 -1
  72. data/test/test_source_buffer.rb +4 -1
  73. data/test/test_source_comment.rb +2 -2
  74. data/test/test_source_comment_associator.rb +47 -15
  75. data/test/test_source_map.rb +1 -2
  76. data/test/test_source_range.rb +29 -9
  77. data/test/test_source_rewriter.rb +4 -4
  78. data/test/test_source_rewriter_action.rb +2 -2
  79. data/test/test_source_tree_rewriter.rb +201 -13
  80. metadata +19 -13
  81. data/.gitignore +0 -33
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.7.1.0
4
+ version: 2.7.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - whitequark
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-04-03 00:00:00.000000000 Z
11
+ date: 2020-09-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ast
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 2.4.0
19
+ version: 2.4.1
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 2.4.0
26
+ version: 2.4.1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -50,14 +50,14 @@ dependencies:
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: '10.0'
53
+ version: 13.0.1
54
54
  type: :development
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - "~>"
59
59
  - !ruby/object:Gem::Version
60
- version: '10.0'
60
+ version: 13.0.1
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: racc
63
63
  requirement: !ruby/object:Gem::Requirement
@@ -165,7 +165,6 @@ executables:
165
165
  extensions: []
166
166
  extra_rdoc_files: []
167
167
  files:
168
- - ".gitignore"
169
168
  - ".travis.yml"
170
169
  - ".yardopts"
171
170
  - CHANGELOG.md
@@ -229,6 +228,8 @@ files:
229
228
  - lib/parser/ruby26.y
230
229
  - lib/parser/ruby27.rb
231
230
  - lib/parser/ruby27.y
231
+ - lib/parser/ruby30.rb
232
+ - lib/parser/ruby30.y
232
233
  - lib/parser/rubymotion.rb
233
234
  - lib/parser/rubymotion.y
234
235
  - lib/parser/runner.rb
@@ -246,6 +247,7 @@ files:
246
247
  - lib/parser/source/map/heredoc.rb
247
248
  - lib/parser/source/map/index.rb
248
249
  - lib/parser/source/map/keyword.rb
250
+ - lib/parser/source/map/method_definition.rb
249
251
  - lib/parser/source/map/objc_kwarg.rb
250
252
  - lib/parser/source/map/operator.rb
251
253
  - lib/parser/source/map/rescue_body.rb
@@ -269,6 +271,7 @@ files:
269
271
  - test/helper.rb
270
272
  - test/parse_helper.rb
271
273
  - test/racc_coverage_helper.rb
274
+ - test/test_ast_processor.rb
272
275
  - test/test_base.rb
273
276
  - test/test_current.rb
274
277
  - test/test_diagnostic.rb
@@ -276,6 +279,7 @@ files:
276
279
  - test/test_encoding.rb
277
280
  - test/test_lexer.rb
278
281
  - test/test_lexer_stack_state.rb
282
+ - test/test_meta.rb
279
283
  - test/test_parse_helper.rb
280
284
  - test/test_parser.rb
281
285
  - test/test_runner_parse.rb
@@ -297,10 +301,10 @@ licenses:
297
301
  - MIT
298
302
  metadata:
299
303
  bug_tracker_uri: https://github.com/whitequark/parser/issues
300
- changelog_uri: https://github.com/whitequark/parser/blob/v2.7.1.0/CHANGELOG.md
301
- documentation_uri: https://www.rubydoc.info/gems/parser/2.7.1.0
302
- source_code_uri: https://github.com/whitequark/parser/tree/v2.7.1.0
303
- post_install_message:
304
+ changelog_uri: https://github.com/whitequark/parser/blob/v2.7.1.5/CHANGELOG.md
305
+ documentation_uri: https://www.rubydoc.info/gems/parser/2.7.1.5
306
+ source_code_uri: https://github.com/whitequark/parser/tree/v2.7.1.5
307
+ post_install_message:
304
308
  rdoc_options: []
305
309
  require_paths:
306
310
  - lib
@@ -316,7 +320,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
316
320
  version: '0'
317
321
  requirements: []
318
322
  rubygems_version: 3.0.6
319
- signing_key:
323
+ signing_key:
320
324
  specification_version: 4
321
325
  summary: A Ruby parser written in pure Ruby.
322
326
  test_files:
@@ -326,6 +330,7 @@ test_files:
326
330
  - test/helper.rb
327
331
  - test/parse_helper.rb
328
332
  - test/racc_coverage_helper.rb
333
+ - test/test_ast_processor.rb
329
334
  - test/test_base.rb
330
335
  - test/test_current.rb
331
336
  - test/test_diagnostic.rb
@@ -333,6 +338,7 @@ test_files:
333
338
  - test/test_encoding.rb
334
339
  - test/test_lexer.rb
335
340
  - test/test_lexer_stack_state.rb
341
+ - test/test_meta.rb
336
342
  - test/test_parse_helper.rb
337
343
  - test/test_parser.rb
338
344
  - test/test_runner_parse.rb
data/.gitignore DELETED
@@ -1,33 +0,0 @@
1
- *.gem
2
- *.rbc
3
- .bundle
4
- .config
5
- .yardoc
6
- Gemfile.lock
7
- InstalledFiles
8
- _yardoc
9
- coverage
10
- lib/bundler/man
11
- pkg
12
- rdoc
13
- yardoc
14
- spec/reports
15
- test/tmp
16
- test/version_tmp
17
- tmp
18
- *.output
19
- .ruby-version
20
- .ruby-gemset
21
- lib/parser/lexer.rb
22
- lib/parser/ruby18.rb
23
- lib/parser/ruby19.rb
24
- lib/parser/ruby20.rb
25
- lib/parser/ruby21.rb
26
- lib/parser/ruby22.rb
27
- lib/parser/ruby23.rb
28
- lib/parser/ruby24.rb
29
- lib/parser/ruby25.rb
30
- lib/parser/ruby26.rb
31
- lib/parser/ruby27.rb
32
- lib/parser/macruby.rb
33
- lib/parser/rubymotion.rb