prism 2.0.0.rc2 → 2.0.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 (60) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +9 -2
  3. data/docs/serialization.md +19 -6
  4. data/ext/prism/api_node.c +80 -80
  5. data/ext/prism/extension.c +34 -67
  6. data/ext/prism/extension.h +1 -1
  7. data/include/prism/arena.h +8 -0
  8. data/include/prism/arena.hpp +42 -0
  9. data/include/prism/ast.h +11 -1
  10. data/include/prism/ast.hpp +641 -0
  11. data/include/prism/buffer.h +8 -0
  12. data/include/prism/buffer.hpp +55 -0
  13. data/include/prism/comments.h +17 -0
  14. data/include/prism/compiler/branch.h +26 -0
  15. data/include/prism/compiler/cplusplus.hpp +16 -0
  16. data/include/prism/compiler/exceptions.hpp +17 -0
  17. data/include/prism/compiler/format.h +2 -0
  18. data/include/prism/compiler/lifetimebound.hpp +25 -0
  19. data/include/prism/constant_pool.h +25 -0
  20. data/include/prism/diagnostic.h +18 -0
  21. data/include/prism/errors_format.h +8 -0
  22. data/include/prism/internal/node.h +8 -4
  23. data/include/prism/internal/stringy.h +1 -6
  24. data/include/prism/json.h +8 -0
  25. data/include/prism/line_offset_list.h +8 -0
  26. data/include/prism/magic_comments.h +18 -0
  27. data/include/prism/node.h +55 -10
  28. data/include/prism/node.hpp +272 -0
  29. data/include/prism/node_type.hpp +38 -0
  30. data/include/prism/options.h +10 -1
  31. data/include/prism/options.hpp +43 -0
  32. data/include/prism/parser.h +72 -64
  33. data/include/prism/parser.hpp +274 -0
  34. data/include/prism/prettyprint.h +8 -0
  35. data/include/prism/serialize.h +8 -0
  36. data/include/prism/source.h +8 -0
  37. data/include/prism/stream.h +8 -0
  38. data/include/prism/string_query.h +8 -0
  39. data/include/prism/stringy.h +16 -27
  40. data/include/prism/stringy.hpp +31 -0
  41. data/include/prism/version.h +9 -1
  42. data/include/prism.h +0 -8
  43. data/include/prism.hpp +24 -0
  44. data/lib/prism/serialize.rb +2549 -3281
  45. data/prism.gemspec +14 -1
  46. data/rbi/generated/prism/node.rbi +736 -0
  47. data/rbi/generated/prism/serialize.rbi +6 -5
  48. data/sig/generated/prism/node.rbs +736 -0
  49. data/sig/generated/prism/serialize.rbs +7 -5
  50. data/src/comments.c +2 -2
  51. data/src/diagnostic.c +8 -0
  52. data/src/node.c +216 -368
  53. data/src/options.c +7 -13
  54. data/src/parser.c +52 -48
  55. data/src/prism.c +175 -194
  56. data/src/regexp.c +0 -1
  57. data/src/serialize.c +2300 -1950
  58. data/src/source.c +8 -2
  59. data/src/stringy.c +3 -33
  60. metadata +14 -1
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 = "2.0.0.rc2"
5
+ spec.version = "2.0.0"
6
6
  spec.authors = ["Ruby developers"]
7
7
  spec.email = ["ruby-core@ruby-lang.org"]
8
8
 
@@ -46,11 +46,15 @@ Gem::Specification.new do |spec|
46
46
  "ext/prism/extension.c",
47
47
  "ext/prism/extension.h",
48
48
  "include/prism.h",
49
+ "include/prism.hpp",
49
50
  "include/prism/compiler/accel.h",
50
51
  "include/prism/compiler/align.h",
51
52
  "include/prism/compiler/assume.h",
53
+ "include/prism/compiler/branch.h",
52
54
  "include/prism/compiler/bswap.h",
55
+ "include/prism/compiler/cplusplus.hpp",
53
56
  "include/prism/compiler/endianness.h",
57
+ "include/prism/compiler/exceptions.hpp",
54
58
  "include/prism/compiler/exported.h",
55
59
  "include/prism/compiler/fallthrough.h",
56
60
  "include/prism/compiler/filesystem.h",
@@ -58,6 +62,7 @@ Gem::Specification.new do |spec|
58
62
  "include/prism/compiler/force_inline.h",
59
63
  "include/prism/compiler/format.h",
60
64
  "include/prism/compiler/inline.h",
65
+ "include/prism/compiler/lifetimebound.hpp",
61
66
  "include/prism/compiler/nodiscard.h",
62
67
  "include/prism/compiler/nonnull.h",
63
68
  "include/prism/compiler/unused.h",
@@ -90,8 +95,11 @@ Gem::Specification.new do |spec|
90
95
  "include/prism/internal/tokens.h",
91
96
  "include/prism/internal/xxh3.h",
92
97
  "include/prism/arena.h",
98
+ "include/prism/arena.hpp",
93
99
  "include/prism/ast.h",
100
+ "include/prism/ast.hpp",
94
101
  "include/prism/buffer.h",
102
+ "include/prism/buffer.hpp",
95
103
  "include/prism/comments.h",
96
104
  "include/prism/constant_pool.h",
97
105
  "include/prism/diagnostic.h",
@@ -102,14 +110,19 @@ Gem::Specification.new do |spec|
102
110
  "include/prism/line_offset_list.h",
103
111
  "include/prism/magic_comments.h",
104
112
  "include/prism/node.h",
113
+ "include/prism/node.hpp",
114
+ "include/prism/node_type.hpp",
105
115
  "include/prism/options.h",
116
+ "include/prism/options.hpp",
106
117
  "include/prism/parser.h",
118
+ "include/prism/parser.hpp",
107
119
  "include/prism/prettyprint.h",
108
120
  "include/prism/serialize.h",
109
121
  "include/prism/source.h",
110
122
  "include/prism/stream.h",
111
123
  "include/prism/string_query.h",
112
124
  "include/prism/stringy.h",
125
+ "include/prism/stringy.hpp",
113
126
  "include/prism/version.h",
114
127
  "lib/prism.rb",
115
128
  "lib/prism/compiler.rb",