parser 2.7.0.5 → 2.7.1.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (63) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.travis.yml +21 -32
  4. data/CHANGELOG.md +59 -1
  5. data/README.md +2 -2
  6. data/Rakefile +2 -1
  7. data/doc/AST_FORMAT.md +106 -3
  8. data/lib/parser.rb +1 -0
  9. data/lib/parser/all.rb +1 -0
  10. data/lib/parser/ast/processor.rb +9 -0
  11. data/lib/parser/builders/default.rb +103 -12
  12. data/lib/parser/context.rb +1 -0
  13. data/lib/parser/current.rb +13 -4
  14. data/lib/parser/diagnostic.rb +1 -1
  15. data/lib/parser/diagnostic/engine.rb +1 -2
  16. data/lib/parser/lexer.rl +15 -1
  17. data/lib/parser/macruby.y +14 -4
  18. data/lib/parser/messages.rb +15 -0
  19. data/lib/parser/meta.rb +4 -4
  20. data/lib/parser/ruby18.y +2 -0
  21. data/lib/parser/ruby19.y +14 -4
  22. data/lib/parser/ruby20.y +14 -4
  23. data/lib/parser/ruby21.y +9 -2
  24. data/lib/parser/ruby22.y +9 -2
  25. data/lib/parser/ruby23.y +9 -2
  26. data/lib/parser/ruby24.y +9 -2
  27. data/lib/parser/ruby25.y +9 -2
  28. data/lib/parser/ruby26.y +9 -2
  29. data/lib/parser/ruby27.y +28 -8
  30. data/lib/parser/ruby28.y +3043 -0
  31. data/lib/parser/rubymotion.y +14 -4
  32. data/lib/parser/runner.rb +26 -2
  33. data/lib/parser/runner/ruby_rewrite.rb +2 -2
  34. data/lib/parser/source/buffer.rb +3 -1
  35. data/lib/parser/source/comment/associator.rb +14 -4
  36. data/lib/parser/source/map/endless_definition.rb +23 -0
  37. data/lib/parser/source/range.rb +17 -1
  38. data/lib/parser/source/tree_rewriter.rb +115 -12
  39. data/lib/parser/source/tree_rewriter/action.rb +135 -26
  40. data/lib/parser/tree_rewriter.rb +1 -2
  41. data/lib/parser/version.rb +1 -1
  42. data/parser.gemspec +3 -2
  43. data/test/helper.rb +49 -6
  44. data/test/parse_helper.rb +27 -23
  45. data/test/test_ast_processor.rb +32 -0
  46. data/test/test_base.rb +1 -1
  47. data/test/test_current.rb +2 -0
  48. data/test/test_diagnostic.rb +6 -7
  49. data/test/test_diagnostic_engine.rb +5 -8
  50. data/test/test_lexer.rb +17 -8
  51. data/test/test_meta.rb +12 -0
  52. data/test/test_parser.rb +477 -54
  53. data/test/test_runner_parse.rb +22 -1
  54. data/test/test_runner_rewrite.rb +1 -1
  55. data/test/test_source_buffer.rb +4 -1
  56. data/test/test_source_comment.rb +2 -2
  57. data/test/test_source_comment_associator.rb +47 -15
  58. data/test/test_source_map.rb +1 -2
  59. data/test/test_source_range.rb +29 -9
  60. data/test/test_source_rewriter.rb +4 -4
  61. data/test/test_source_rewriter_action.rb +2 -2
  62. data/test/test_source_tree_rewriter.rb +201 -13
  63. metadata +19 -12
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.0.5
4
+ version: 2.7.1.4
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-03-20 00:00:00.000000000 Z
11
+ date: 2020-06-19 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
@@ -229,6 +229,8 @@ files:
229
229
  - lib/parser/ruby26.y
230
230
  - lib/parser/ruby27.rb
231
231
  - lib/parser/ruby27.y
232
+ - lib/parser/ruby28.rb
233
+ - lib/parser/ruby28.y
232
234
  - lib/parser/rubymotion.rb
233
235
  - lib/parser/rubymotion.y
234
236
  - lib/parser/runner.rb
@@ -242,6 +244,7 @@ files:
242
244
  - lib/parser/source/map/condition.rb
243
245
  - lib/parser/source/map/constant.rb
244
246
  - lib/parser/source/map/definition.rb
247
+ - lib/parser/source/map/endless_definition.rb
245
248
  - lib/parser/source/map/for.rb
246
249
  - lib/parser/source/map/heredoc.rb
247
250
  - lib/parser/source/map/index.rb
@@ -269,6 +272,7 @@ files:
269
272
  - test/helper.rb
270
273
  - test/parse_helper.rb
271
274
  - test/racc_coverage_helper.rb
275
+ - test/test_ast_processor.rb
272
276
  - test/test_base.rb
273
277
  - test/test_current.rb
274
278
  - test/test_diagnostic.rb
@@ -276,6 +280,7 @@ files:
276
280
  - test/test_encoding.rb
277
281
  - test/test_lexer.rb
278
282
  - test/test_lexer_stack_state.rb
283
+ - test/test_meta.rb
279
284
  - test/test_parse_helper.rb
280
285
  - test/test_parser.rb
281
286
  - test/test_runner_parse.rb
@@ -297,10 +302,10 @@ licenses:
297
302
  - MIT
298
303
  metadata:
299
304
  bug_tracker_uri: https://github.com/whitequark/parser/issues
300
- changelog_uri: https://github.com/whitequark/parser/blob/v2.7.0.5/CHANGELOG.md
301
- documentation_uri: https://www.rubydoc.info/gems/parser/2.7.0.5
302
- source_code_uri: https://github.com/whitequark/parser/tree/v2.7.0.5
303
- post_install_message:
305
+ changelog_uri: https://github.com/whitequark/parser/blob/v2.7.1.4/CHANGELOG.md
306
+ documentation_uri: https://www.rubydoc.info/gems/parser/2.7.1.4
307
+ source_code_uri: https://github.com/whitequark/parser/tree/v2.7.1.4
308
+ post_install_message:
304
309
  rdoc_options: []
305
310
  require_paths:
306
311
  - lib
@@ -316,7 +321,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
316
321
  version: '0'
317
322
  requirements: []
318
323
  rubygems_version: 3.0.6
319
- signing_key:
324
+ signing_key:
320
325
  specification_version: 4
321
326
  summary: A Ruby parser written in pure Ruby.
322
327
  test_files:
@@ -326,6 +331,7 @@ test_files:
326
331
  - test/helper.rb
327
332
  - test/parse_helper.rb
328
333
  - test/racc_coverage_helper.rb
334
+ - test/test_ast_processor.rb
329
335
  - test/test_base.rb
330
336
  - test/test_current.rb
331
337
  - test/test_diagnostic.rb
@@ -333,6 +339,7 @@ test_files:
333
339
  - test/test_encoding.rb
334
340
  - test/test_lexer.rb
335
341
  - test/test_lexer_stack_state.rb
342
+ - test/test_meta.rb
336
343
  - test/test_parse_helper.rb
337
344
  - test/test_parser.rb
338
345
  - test/test_runner_parse.rb