jruby-prism-parser 0.23.0.pre.SNAPSHOT-java

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 (110) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +401 -0
  3. data/CODE_OF_CONDUCT.md +76 -0
  4. data/CONTRIBUTING.md +62 -0
  5. data/LICENSE.md +7 -0
  6. data/Makefile +101 -0
  7. data/README.md +98 -0
  8. data/config.yml +2902 -0
  9. data/docs/build_system.md +91 -0
  10. data/docs/configuration.md +64 -0
  11. data/docs/cruby_compilation.md +27 -0
  12. data/docs/design.md +53 -0
  13. data/docs/encoding.md +121 -0
  14. data/docs/fuzzing.md +88 -0
  15. data/docs/heredocs.md +36 -0
  16. data/docs/javascript.md +118 -0
  17. data/docs/local_variable_depth.md +229 -0
  18. data/docs/mapping.md +117 -0
  19. data/docs/parser_translation.md +34 -0
  20. data/docs/parsing_rules.md +19 -0
  21. data/docs/releasing.md +98 -0
  22. data/docs/ripper.md +36 -0
  23. data/docs/ruby_api.md +43 -0
  24. data/docs/ruby_parser_translation.md +19 -0
  25. data/docs/serialization.md +209 -0
  26. data/docs/testing.md +55 -0
  27. data/ext/prism/api_node.c +5098 -0
  28. data/ext/prism/api_pack.c +267 -0
  29. data/ext/prism/extconf.rb +110 -0
  30. data/ext/prism/extension.c +1155 -0
  31. data/ext/prism/extension.h +18 -0
  32. data/include/prism/ast.h +5807 -0
  33. data/include/prism/defines.h +102 -0
  34. data/include/prism/diagnostic.h +339 -0
  35. data/include/prism/encoding.h +265 -0
  36. data/include/prism/node.h +57 -0
  37. data/include/prism/options.h +230 -0
  38. data/include/prism/pack.h +152 -0
  39. data/include/prism/parser.h +732 -0
  40. data/include/prism/prettyprint.h +26 -0
  41. data/include/prism/regexp.h +33 -0
  42. data/include/prism/util/pm_buffer.h +155 -0
  43. data/include/prism/util/pm_char.h +205 -0
  44. data/include/prism/util/pm_constant_pool.h +209 -0
  45. data/include/prism/util/pm_list.h +97 -0
  46. data/include/prism/util/pm_memchr.h +29 -0
  47. data/include/prism/util/pm_newline_list.h +93 -0
  48. data/include/prism/util/pm_state_stack.h +42 -0
  49. data/include/prism/util/pm_string.h +150 -0
  50. data/include/prism/util/pm_string_list.h +44 -0
  51. data/include/prism/util/pm_strncasecmp.h +32 -0
  52. data/include/prism/util/pm_strpbrk.h +46 -0
  53. data/include/prism/version.h +29 -0
  54. data/include/prism.h +289 -0
  55. data/jruby-prism.jar +0 -0
  56. data/lib/prism/compiler.rb +486 -0
  57. data/lib/prism/debug.rb +206 -0
  58. data/lib/prism/desugar_compiler.rb +207 -0
  59. data/lib/prism/dispatcher.rb +2150 -0
  60. data/lib/prism/dot_visitor.rb +4634 -0
  61. data/lib/prism/dsl.rb +785 -0
  62. data/lib/prism/ffi.rb +346 -0
  63. data/lib/prism/lex_compat.rb +908 -0
  64. data/lib/prism/mutation_compiler.rb +753 -0
  65. data/lib/prism/node.rb +17864 -0
  66. data/lib/prism/node_ext.rb +212 -0
  67. data/lib/prism/node_inspector.rb +68 -0
  68. data/lib/prism/pack.rb +224 -0
  69. data/lib/prism/parse_result/comments.rb +177 -0
  70. data/lib/prism/parse_result/newlines.rb +64 -0
  71. data/lib/prism/parse_result.rb +498 -0
  72. data/lib/prism/pattern.rb +250 -0
  73. data/lib/prism/serialize.rb +1354 -0
  74. data/lib/prism/translation/parser/compiler.rb +1838 -0
  75. data/lib/prism/translation/parser/lexer.rb +335 -0
  76. data/lib/prism/translation/parser/rubocop.rb +37 -0
  77. data/lib/prism/translation/parser.rb +178 -0
  78. data/lib/prism/translation/ripper.rb +577 -0
  79. data/lib/prism/translation/ruby_parser.rb +1521 -0
  80. data/lib/prism/translation.rb +11 -0
  81. data/lib/prism/version.rb +3 -0
  82. data/lib/prism/visitor.rb +495 -0
  83. data/lib/prism.rb +99 -0
  84. data/prism.gemspec +135 -0
  85. data/rbi/prism.rbi +7767 -0
  86. data/rbi/prism_static.rbi +207 -0
  87. data/sig/prism.rbs +4773 -0
  88. data/sig/prism_static.rbs +201 -0
  89. data/src/diagnostic.c +400 -0
  90. data/src/encoding.c +5132 -0
  91. data/src/node.c +2786 -0
  92. data/src/options.c +213 -0
  93. data/src/pack.c +493 -0
  94. data/src/prettyprint.c +8881 -0
  95. data/src/prism.c +18406 -0
  96. data/src/regexp.c +638 -0
  97. data/src/serialize.c +1554 -0
  98. data/src/token_type.c +700 -0
  99. data/src/util/pm_buffer.c +190 -0
  100. data/src/util/pm_char.c +318 -0
  101. data/src/util/pm_constant_pool.c +322 -0
  102. data/src/util/pm_list.c +49 -0
  103. data/src/util/pm_memchr.c +35 -0
  104. data/src/util/pm_newline_list.c +84 -0
  105. data/src/util/pm_state_stack.c +25 -0
  106. data/src/util/pm_string.c +203 -0
  107. data/src/util/pm_string_list.c +28 -0
  108. data/src/util/pm_strncasecmp.c +24 -0
  109. data/src/util/pm_strpbrk.c +180 -0
  110. metadata +156 -0
@@ -0,0 +1,207 @@
1
+ class Prism::ParseResult
2
+ sig { returns(Prism::ProgramNode) }
3
+ def value; end
4
+
5
+ sig { returns(T::Array[Prism::Comment]) }
6
+ def comments; end
7
+
8
+ sig { returns(T::Array[Prism::ParseError]) }
9
+ def errors; end
10
+
11
+ sig { returns(T::Array[Prism::ParseWarning]) }
12
+ def warnings; end
13
+
14
+ sig { returns(Prism::Source) }
15
+ def source; end
16
+ end
17
+
18
+ class Prism::ParseError
19
+ sig { returns(String) }
20
+ def message; end
21
+
22
+ sig { returns(Prism::Location) }
23
+ def location; end
24
+ end
25
+
26
+ class Prism::ParseWarning
27
+ sig { returns(String) }
28
+ def message; end
29
+
30
+ sig { returns(Prism::Location) }
31
+ def location; end
32
+ end
33
+
34
+ class Prism::Node
35
+ sig { returns(Prism::Location) }
36
+ def location; end
37
+
38
+ sig { returns(String) }
39
+ def slice; end
40
+
41
+ sig { returns(String) }
42
+ def to_dot; end
43
+
44
+ sig { params(visitor: Prism::Visitor).void }
45
+ def accept(visitor); end
46
+
47
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
48
+ def child_nodes; end
49
+
50
+ sig { returns(T::Array[Prism::Node]) }
51
+ def compact_child_nodes; end
52
+
53
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
54
+ def deconstruct; end
55
+
56
+ sig { returns(Symbol) }
57
+ def type; end
58
+ end
59
+
60
+ class Prism::Comment
61
+ sig { returns(Prism::Location) }
62
+ def location; end
63
+
64
+ sig { returns(T::Boolean) }
65
+ def trailing?; end
66
+ end
67
+
68
+ class Prism::InlineComment < Prism::Comment
69
+ sig { override.returns(T::Boolean) }
70
+ def trailing?; end
71
+ end
72
+
73
+ class Prism::EmbDocComment < Prism::Comment
74
+ end
75
+
76
+ class Prism::DATAComment < Prism::Comment
77
+ end
78
+
79
+ class Prism::Location
80
+ sig { params(source: Prism::Source, start_offset: Integer, length: Integer).void }
81
+ def initialize(source, start_offset, length); end
82
+
83
+ sig { returns(String) }
84
+ def slice; end
85
+
86
+ sig { returns(T::Array[Prism::Comment]) }
87
+ def comments; end
88
+
89
+ sig { params(options: T.untyped).returns(Prism::Location) }
90
+ def copy(**options); end
91
+
92
+ sig { returns(Integer) }
93
+ def start_offset; end
94
+
95
+ sig { returns(Integer) }
96
+ def end_offset; end
97
+
98
+ sig { returns(Integer) }
99
+ def start_line; end
100
+
101
+ sig { returns(Integer) }
102
+ def end_line; end
103
+
104
+ sig { returns(Integer) }
105
+ def start_column; end
106
+
107
+ sig { returns(Integer) }
108
+ def end_column; end
109
+ end
110
+
111
+ class Prism::Source
112
+ sig { params(source: String, start_line: Integer, offsets: T::Array[Integer]).void }
113
+ def initialize(source, start_line, offsets); end
114
+
115
+ sig { params(offset: Integer, length: Integer).returns(String) }
116
+ def slice(offset, length); end
117
+
118
+ sig { params(value: Integer).returns(Integer) }
119
+ def line(value); end
120
+
121
+ sig { params(value: Integer).returns(Integer) }
122
+ def line_offset(value); end
123
+
124
+ sig { params(value: Integer).returns(Integer) }
125
+ def column(value); end
126
+
127
+ sig { returns(String) }
128
+ def source; end
129
+
130
+ sig { returns(T::Array[Integer]) }
131
+ def offsets; end
132
+ end
133
+
134
+ class Prism::Token
135
+ sig { params(type: T.untyped, value: String, location: Prism::Location).void }
136
+ def initialize(type, value, location); end
137
+
138
+ sig { params(keys: T.untyped).returns(T.untyped) }
139
+ def deconstruct_keys(keys); end
140
+
141
+ sig { params(q: T.untyped).returns(T.untyped) }
142
+ def pretty_print(q); end
143
+
144
+ sig { params(other: T.untyped).returns(T::Boolean) }
145
+ def ==(other); end
146
+
147
+ sig { returns(T.untyped) }
148
+ def type; end
149
+
150
+ sig { returns(String) }
151
+ def value; end
152
+
153
+ sig { returns(Prism::Location) }
154
+ def location; end
155
+ end
156
+
157
+ class Prism::NodeInspector
158
+ sig { params(prefix: String).void }
159
+ def initialize(prefix); end
160
+
161
+ sig { returns(String) }
162
+ def prefix; end
163
+
164
+ sig { returns(String) }
165
+ def output; end
166
+
167
+ # Appends a line to the output with the current prefix.
168
+ sig { params(line: String).void }
169
+ def <<(line); end
170
+
171
+ # This generates a string that is used as the header of the inspect output
172
+ # for any given node.
173
+ sig { params(node: Prism::Node).returns(String) }
174
+ def header(node); end
175
+
176
+ # Generates a string that represents a list of nodes. It handles properly
177
+ # using the box drawing characters to make the output look nice.
178
+ sig { params(prefix: String, nodes: T::Array[Prism::Node]).returns(String) }
179
+ def list(prefix, nodes); end
180
+
181
+ # Generates a string that represents a location field on a node.
182
+ sig { params(value: Prism::Location).returns(String) }
183
+ def location(value); end
184
+
185
+ # Generates a string that represents a child node.
186
+ sig { params(node: Prism::Node, append: String).returns(String) }
187
+ def child_node(node, append); end
188
+
189
+ # Returns a new inspector that can be used to inspect a child node.
190
+ sig { params(append: String).returns(Prism::NodeInspector) }
191
+ def child_inspector(append); end
192
+
193
+ # Returns the output as a string.
194
+ sig { returns(String) }
195
+ def to_str; end
196
+ end
197
+
198
+ class Prism::BasicVisitor
199
+ sig { params(node: T.nilable(Prism::Node)).void }
200
+ def visit(node); end
201
+
202
+ sig { params(nodes: T::Array[T.nilable(Prism::Node)]).void }
203
+ def visit_all(nodes); end
204
+
205
+ sig { params(node: Prism::Node).void }
206
+ def visit_child_nodes(node); end
207
+ end