prism 0.15.0 → 0.16.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 (52) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +27 -1
  3. data/Makefile +6 -0
  4. data/README.md +2 -0
  5. data/config.yml +21 -20
  6. data/docs/configuration.md +2 -0
  7. data/docs/javascript.md +90 -0
  8. data/docs/releasing.md +27 -0
  9. data/docs/ruby_api.md +2 -0
  10. data/ext/prism/api_node.c +66 -68
  11. data/ext/prism/extension.c +73 -0
  12. data/ext/prism/extension.h +1 -1
  13. data/include/prism/ast.h +40 -40
  14. data/include/prism/defines.h +9 -0
  15. data/include/prism/enc/pm_encoding.h +1 -0
  16. data/include/prism/node.h +0 -17
  17. data/include/prism/parser.h +1 -0
  18. data/include/prism/prettyprint.h +15 -0
  19. data/include/prism/util/pm_buffer.h +10 -4
  20. data/include/prism/util/pm_constant_pool.h +1 -1
  21. data/include/prism/util/pm_newline_list.h +1 -1
  22. data/include/prism/version.h +2 -2
  23. data/include/prism.h +11 -11
  24. data/lib/prism/compiler.rb +0 -3
  25. data/lib/prism/debug.rb +20 -6
  26. data/lib/prism/desugar_compiler.rb +1 -1
  27. data/lib/prism/dispatcher.rb +0 -14
  28. data/lib/prism/dsl.rb +8 -13
  29. data/lib/prism/ffi.rb +25 -0
  30. data/lib/prism/lex_compat.rb +1 -1
  31. data/lib/prism/mutation_compiler.rb +3 -8
  32. data/lib/prism/node.rb +123 -159
  33. data/lib/prism/node_ext.rb +23 -16
  34. data/lib/prism/parse_result.rb +21 -5
  35. data/lib/prism/pattern.rb +3 -3
  36. data/lib/prism/serialize.rb +900 -304
  37. data/lib/prism/visitor.rb +0 -3
  38. data/prism.gemspec +8 -1
  39. data/rbi/prism.rbi +7261 -0
  40. data/rbi/prism_static.rbi +182 -0
  41. data/sig/prism.rbs +4439 -0
  42. data/sig/prism_static.rbs +110 -0
  43. data/src/enc/pm_unicode.c +1 -1
  44. data/src/node.c +28 -29
  45. data/src/prettyprint.c +7674 -1647
  46. data/src/prism.c +353 -300
  47. data/src/regexp.c +2 -0
  48. data/src/serialize.c +392 -381
  49. data/src/util/pm_buffer.c +47 -12
  50. data/src/util/pm_constant_pool.c +2 -2
  51. data/src/util/pm_newline_list.c +8 -54
  52. metadata +9 -2
data/lib/prism/visitor.rb CHANGED
@@ -398,9 +398,6 @@ module Prism
398
398
  # Visit a RegularExpressionNode node
399
399
  alias visit_regular_expression_node visit_child_nodes
400
400
 
401
- # Visit a RequiredDestructuredParameterNode node
402
- alias visit_required_destructured_parameter_node visit_child_nodes
403
-
404
401
  # Visit a RequiredParameterNode node
405
402
  alias visit_required_parameter_node visit_child_nodes
406
403
 
data/prism.gemspec CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = "prism"
5
- spec.version = "0.15.0"
5
+ spec.version = "0.16.0"
6
6
  spec.authors = ["Shopify"]
7
7
  spec.email = ["ruby@shopify.com"]
8
8
 
@@ -28,8 +28,10 @@ Gem::Specification.new do |spec|
28
28
  "docs/encoding.md",
29
29
  "docs/fuzzing.md",
30
30
  "docs/heredocs.md",
31
+ "docs/javascript.md",
31
32
  "docs/mapping.md",
32
33
  "docs/prism.png",
34
+ "docs/releasing.md",
33
35
  "docs/ripper.md",
34
36
  "docs/ruby_api.md",
35
37
  "docs/serialization.md",
@@ -46,6 +48,7 @@ Gem::Specification.new do |spec|
46
48
  "include/prism/node.h",
47
49
  "include/prism/pack.h",
48
50
  "include/prism/parser.h",
51
+ "include/prism/prettyprint.h",
49
52
  "include/prism/regexp.h",
50
53
  "include/prism/util/pm_buffer.h",
51
54
  "include/prism/util/pm_char.h",
@@ -105,6 +108,10 @@ Gem::Specification.new do |spec|
105
108
  "src/util/pm_strpbrk.c",
106
109
  "src/prism.c",
107
110
  "prism.gemspec",
111
+ "sig/prism.rbs",
112
+ "sig/prism_static.rbs",
113
+ "rbi/prism.rbi",
114
+ "rbi/prism_static.rbi"
108
115
  ]
109
116
 
110
117
  spec.extensions = ["ext/prism/extconf.rb"]