prism 2.0.0.rc1-x86_64-linux-gnu

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 (216) hide show
  1. checksums.yaml +7 -0
  2. data/BSDmakefile +58 -0
  3. data/CHANGELOG.md +870 -0
  4. data/CODE_OF_CONDUCT.md +76 -0
  5. data/CONTRIBUTING.md +58 -0
  6. data/LICENSE.md +7 -0
  7. data/Makefile +145 -0
  8. data/README.md +81 -0
  9. data/config.yml +4752 -0
  10. data/docs/build_system.md +119 -0
  11. data/docs/configuration.md +69 -0
  12. data/docs/cruby_compilation.md +27 -0
  13. data/docs/design.md +53 -0
  14. data/docs/encoding.md +121 -0
  15. data/docs/fuzzing.md +81 -0
  16. data/docs/heredocs.md +36 -0
  17. data/docs/javascript.md +133 -0
  18. data/docs/local_variable_depth.md +229 -0
  19. data/docs/mapping.md +117 -0
  20. data/docs/parser_translation.md +24 -0
  21. data/docs/parsing_rules.md +22 -0
  22. data/docs/releasing.md +147 -0
  23. data/docs/relocation.md +32 -0
  24. data/docs/ripper_translation.md +63 -0
  25. data/docs/ruby_api.md +45 -0
  26. data/docs/ruby_parser_translation.md +19 -0
  27. data/docs/serialization.md +230 -0
  28. data/docs/testing.md +72 -0
  29. data/ext/prism/api_node.c +7005 -0
  30. data/ext/prism/extconf.rb +126 -0
  31. data/ext/prism/extension.c +1783 -0
  32. data/ext/prism/extension.h +19 -0
  33. data/include/prism/arena.h +37 -0
  34. data/include/prism/ast.h +10371 -0
  35. data/include/prism/buffer.h +52 -0
  36. data/include/prism/comments.h +55 -0
  37. data/include/prism/compiler/accel.h +24 -0
  38. data/include/prism/compiler/align.h +36 -0
  39. data/include/prism/compiler/assume.h +25 -0
  40. data/include/prism/compiler/exported.h +24 -0
  41. data/include/prism/compiler/fallthrough.h +22 -0
  42. data/include/prism/compiler/filesystem.h +32 -0
  43. data/include/prism/compiler/flex_array.h +19 -0
  44. data/include/prism/compiler/force_inline.h +21 -0
  45. data/include/prism/compiler/format.h +25 -0
  46. data/include/prism/compiler/inline.h +17 -0
  47. data/include/prism/compiler/nodiscard.h +22 -0
  48. data/include/prism/compiler/nonnull.h +18 -0
  49. data/include/prism/compiler/unused.h +18 -0
  50. data/include/prism/constant_pool.h +81 -0
  51. data/include/prism/diagnostic.h +93 -0
  52. data/include/prism/errors_format.h +53 -0
  53. data/include/prism/excludes.h +29 -0
  54. data/include/prism/integer.h +41 -0
  55. data/include/prism/internal/allocator.h +68 -0
  56. data/include/prism/internal/allocator_debug.h +88 -0
  57. data/include/prism/internal/arena.h +108 -0
  58. data/include/prism/internal/bit.h +42 -0
  59. data/include/prism/internal/buffer.h +91 -0
  60. data/include/prism/internal/char.h +145 -0
  61. data/include/prism/internal/comments.h +53 -0
  62. data/include/prism/internal/constant_pool.h +152 -0
  63. data/include/prism/internal/diagnostic.h +389 -0
  64. data/include/prism/internal/encoding.h +242 -0
  65. data/include/prism/internal/integer.h +68 -0
  66. data/include/prism/internal/isinf.h +16 -0
  67. data/include/prism/internal/line_offset_list.h +34 -0
  68. data/include/prism/internal/list.h +62 -0
  69. data/include/prism/internal/magic_comments.h +23 -0
  70. data/include/prism/internal/memchr.h +15 -0
  71. data/include/prism/internal/node.h +38 -0
  72. data/include/prism/internal/options.h +232 -0
  73. data/include/prism/internal/parser.h +984 -0
  74. data/include/prism/internal/regexp.h +26 -0
  75. data/include/prism/internal/serialize.h +39 -0
  76. data/include/prism/internal/source.h +72 -0
  77. data/include/prism/internal/static_literals.h +100 -0
  78. data/include/prism/internal/stringy.h +35 -0
  79. data/include/prism/internal/strncasecmp.h +18 -0
  80. data/include/prism/internal/strpbrk.h +33 -0
  81. data/include/prism/internal/tokens.h +11 -0
  82. data/include/prism/json.h +32 -0
  83. data/include/prism/line_offset_list.h +61 -0
  84. data/include/prism/magic_comments.h +35 -0
  85. data/include/prism/node.h +94 -0
  86. data/include/prism/options.h +354 -0
  87. data/include/prism/parser.h +404 -0
  88. data/include/prism/prettyprint.h +31 -0
  89. data/include/prism/serialize.h +115 -0
  90. data/include/prism/source.h +155 -0
  91. data/include/prism/stream.h +28 -0
  92. data/include/prism/string_query.h +63 -0
  93. data/include/prism/stringy.h +72 -0
  94. data/include/prism/version.h +38 -0
  95. data/include/prism.h +131 -0
  96. data/lib/prism/3.3/prism.so +0 -0
  97. data/lib/prism/3.4/prism.so +0 -0
  98. data/lib/prism/4.0/prism.so +0 -0
  99. data/lib/prism/compiler.rb +815 -0
  100. data/lib/prism/desugar_compiler.rb +463 -0
  101. data/lib/prism/dispatcher.rb +2383 -0
  102. data/lib/prism/dot_visitor.rb +4848 -0
  103. data/lib/prism/dsl.rb +1369 -0
  104. data/lib/prism/ffi.rb +740 -0
  105. data/lib/prism/inspect_visitor.rb +2425 -0
  106. data/lib/prism/lex_compat.rb +953 -0
  107. data/lib/prism/mutation_compiler.rb +780 -0
  108. data/lib/prism/node.rb +33204 -0
  109. data/lib/prism/node_ext.rb +504 -0
  110. data/lib/prism/node_find.rb +215 -0
  111. data/lib/prism/parse_result/errors.rb +72 -0
  112. data/lib/prism/parse_result/newlines.rb +423 -0
  113. data/lib/prism/parse_result.rb +1221 -0
  114. data/lib/prism/pattern.rb +314 -0
  115. data/lib/prism/polyfill/append_as_bytes.rb +15 -0
  116. data/lib/prism/polyfill/byteindex.rb +13 -0
  117. data/lib/prism/polyfill/scan_byte.rb +14 -0
  118. data/lib/prism/polyfill/unpack1.rb +14 -0
  119. data/lib/prism/polyfill/warn.rb +36 -0
  120. data/lib/prism/reflection.rb +427 -0
  121. data/lib/prism/relocation.rb +567 -0
  122. data/lib/prism/serialize.rb +5308 -0
  123. data/lib/prism/string_query.rb +46 -0
  124. data/lib/prism/translation/parser/builder.rb +70 -0
  125. data/lib/prism/translation/parser/compiler.rb +2226 -0
  126. data/lib/prism/translation/parser/lexer.rb +769 -0
  127. data/lib/prism/translation/parser.rb +376 -0
  128. data/lib/prism/translation/parser_current.rb +26 -0
  129. data/lib/prism/translation/parser_versions.rb +36 -0
  130. data/lib/prism/translation/ripper/filter.rb +53 -0
  131. data/lib/prism/translation/ripper/lexer.rb +133 -0
  132. data/lib/prism/translation/ripper/sexp.rb +118 -0
  133. data/lib/prism/translation/ripper/shim.rb +7 -0
  134. data/lib/prism/translation/ripper.rb +4278 -0
  135. data/lib/prism/translation/ruby_parser.rb +1721 -0
  136. data/lib/prism/translation.rb +20 -0
  137. data/lib/prism/visitor.rb +1440 -0
  138. data/lib/prism.rb +168 -0
  139. data/prism.gemspec +234 -0
  140. data/rbi/generated/prism/compiler.rbi +489 -0
  141. data/rbi/generated/prism/desugar_compiler.rbi +306 -0
  142. data/rbi/generated/prism/dispatcher.rbi +1138 -0
  143. data/rbi/generated/prism/dot_visitor.rbi +618 -0
  144. data/rbi/generated/prism/dsl.rbi +751 -0
  145. data/rbi/generated/prism/inspect_visitor.rbi +503 -0
  146. data/rbi/generated/prism/lex_compat.rbi +162 -0
  147. data/rbi/generated/prism/mutation_compiler.rbi +464 -0
  148. data/rbi/generated/prism/node.rbi +13681 -0
  149. data/rbi/generated/prism/node_ext.rbi +259 -0
  150. data/rbi/generated/prism/node_find.rbi +79 -0
  151. data/rbi/generated/prism/parse_result/errors.rbi +21 -0
  152. data/rbi/generated/prism/parse_result/newlines.rbi +208 -0
  153. data/rbi/generated/prism/parse_result.rbi +764 -0
  154. data/rbi/generated/prism/pattern.rbi +134 -0
  155. data/rbi/generated/prism/reflection.rbi +89 -0
  156. data/rbi/generated/prism/relocation.rbi +329 -0
  157. data/rbi/generated/prism/serialize.rbi +181 -0
  158. data/rbi/generated/prism/string_query.rbi +36 -0
  159. data/rbi/generated/prism/translation.rbi +7 -0
  160. data/rbi/generated/prism/visitor.rbi +650 -0
  161. data/rbi/generated/prism.rbi +86 -0
  162. data/rbi/prism/translation/parser.rbi +11 -0
  163. data/rbi/prism/translation/parser_versions.rbi +28 -0
  164. data/rbi/prism/translation/ripper.rbi +15 -0
  165. data/rbi/rubyvm/node_find.rbi +14 -0
  166. data/sig/generated/prism/compiler.rbs +492 -0
  167. data/sig/generated/prism/desugar_compiler.rbs +305 -0
  168. data/sig/generated/prism/dispatcher.rbs +1292 -0
  169. data/sig/generated/prism/dot_visitor.rbs +635 -0
  170. data/sig/generated/prism/dsl.rbs +928 -0
  171. data/sig/generated/prism/inspect_visitor.rbs +509 -0
  172. data/sig/generated/prism/lex_compat.rbs +166 -0
  173. data/sig/generated/prism/mutation_compiler.rbs +464 -0
  174. data/sig/generated/prism/node.rbs +20160 -0
  175. data/sig/generated/prism/node_ext.rbs +290 -0
  176. data/sig/generated/prism/node_find.rbs +90 -0
  177. data/sig/generated/prism/parse_result/errors.rbs +22 -0
  178. data/sig/generated/prism/parse_result/newlines.rbs +223 -0
  179. data/sig/generated/prism/parse_result.rbs +859 -0
  180. data/sig/generated/prism/pattern.rbs +156 -0
  181. data/sig/generated/prism/reflection.rbs +101 -0
  182. data/sig/generated/prism/relocation.rbs +428 -0
  183. data/sig/generated/prism/serialize.rbs +195 -0
  184. data/sig/generated/prism/string_query.rbs +36 -0
  185. data/sig/generated/prism/translation.rbs +8 -0
  186. data/sig/generated/prism/visitor.rbs +1111 -0
  187. data/sig/generated/prism.rbs +84 -0
  188. data/sig/manifest.yaml +2 -0
  189. data/src/arena.c +117 -0
  190. data/src/buffer.c +380 -0
  191. data/src/char.c +289 -0
  192. data/src/comments.c +454 -0
  193. data/src/constant_pool.c +406 -0
  194. data/src/diagnostic.c +886 -0
  195. data/src/encoding.c +5345 -0
  196. data/src/errors_format.c +519 -0
  197. data/src/integer.c +681 -0
  198. data/src/json.c +5733 -0
  199. data/src/line_offset_list.c +100 -0
  200. data/src/list.c +24 -0
  201. data/src/memchr.c +37 -0
  202. data/src/node.c +4515 -0
  203. data/src/options.c +451 -0
  204. data/src/parser.c +349 -0
  205. data/src/prettyprint.c +9024 -0
  206. data/src/prism.c +23739 -0
  207. data/src/regexp.c +1706 -0
  208. data/src/serialize.c +2309 -0
  209. data/src/source.c +518 -0
  210. data/src/static_literals.c +685 -0
  211. data/src/string_query.c +166 -0
  212. data/src/stringy.c +91 -0
  213. data/src/strncasecmp.c +37 -0
  214. data/src/strpbrk.c +447 -0
  215. data/src/tokens.c +724 -0
  216. metadata +259 -0
@@ -0,0 +1,618 @@
1
+ # typed: true
2
+
3
+ module Prism
4
+ # This visitor provides the ability to call Node#to_dot, which converts a
5
+ # subtree into a graphviz dot graph.
6
+ class DotVisitor < Visitor
7
+ class Field
8
+ sig { returns(String) }
9
+ attr_reader :name
10
+
11
+ sig { returns(::T.nilable(String)) }
12
+ attr_reader :value
13
+
14
+ sig { returns(T::Boolean) }
15
+ attr_reader :port
16
+
17
+ sig { params(name: String, value: ::T.nilable(String), port: T::Boolean).void }
18
+ def initialize(name, value, port); end
19
+
20
+ sig { returns(String) }
21
+ def to_dot; end
22
+ end
23
+
24
+ class Table
25
+ sig { returns(String) }
26
+ attr_reader :name
27
+
28
+ sig { returns(T::Array[Field]) }
29
+ attr_reader :fields
30
+
31
+ sig { params(name: String).void }
32
+ def initialize(name); end
33
+
34
+ sig { params(name: String, value: ::T.nilable(String), port: T::Boolean).void }
35
+ def field(name, value = T.unsafe(nil), port: T.unsafe(nil)); end
36
+
37
+ sig { returns(String) }
38
+ def to_dot; end
39
+ end
40
+
41
+ class Digraph
42
+ sig { returns(T::Array[String]) }
43
+ attr_reader :nodes
44
+
45
+ sig { returns(T::Array[String]) }
46
+ attr_reader :waypoints
47
+
48
+ sig { returns(T::Array[String]) }
49
+ attr_reader :edges
50
+
51
+ sig { void }
52
+ def initialize; end
53
+
54
+ sig { params(value: String).void }
55
+ def node(value); end
56
+
57
+ sig { params(value: String).void }
58
+ def waypoint(value); end
59
+
60
+ sig { params(value: String).void }
61
+ def edge(value); end
62
+
63
+ sig { returns(String) }
64
+ def to_dot; end
65
+ end
66
+
67
+ # The digraph that is being built.
68
+ sig { returns(Digraph) }
69
+ attr_reader :digraph
70
+
71
+ # Initialize a new dot visitor.
72
+ sig { void }
73
+ def initialize; end
74
+
75
+ # Convert this visitor into a graphviz dot graph string.
76
+ sig { returns(String) }
77
+ def to_dot; end
78
+
79
+ sig { params(arg0: AliasGlobalVariableNode).void }
80
+ def visit_alias_global_variable_node(arg0); end
81
+
82
+ sig { params(arg0: AliasMethodNode).void }
83
+ def visit_alias_method_node(arg0); end
84
+
85
+ sig { params(arg0: AlternationPatternNode).void }
86
+ def visit_alternation_pattern_node(arg0); end
87
+
88
+ sig { params(arg0: AndNode).void }
89
+ def visit_and_node(arg0); end
90
+
91
+ sig { params(arg0: ArgumentsNode).void }
92
+ def visit_arguments_node(arg0); end
93
+
94
+ sig { params(arg0: ArrayNode).void }
95
+ def visit_array_node(arg0); end
96
+
97
+ sig { params(arg0: ArrayPatternNode).void }
98
+ def visit_array_pattern_node(arg0); end
99
+
100
+ sig { params(arg0: AssocNode).void }
101
+ def visit_assoc_node(arg0); end
102
+
103
+ sig { params(arg0: AssocSplatNode).void }
104
+ def visit_assoc_splat_node(arg0); end
105
+
106
+ sig { params(arg0: BackReferenceReadNode).void }
107
+ def visit_back_reference_read_node(arg0); end
108
+
109
+ sig { params(arg0: BeginNode).void }
110
+ def visit_begin_node(arg0); end
111
+
112
+ sig { params(arg0: BlockArgumentNode).void }
113
+ def visit_block_argument_node(arg0); end
114
+
115
+ sig { params(arg0: BlockLocalVariableNode).void }
116
+ def visit_block_local_variable_node(arg0); end
117
+
118
+ sig { params(arg0: BlockNode).void }
119
+ def visit_block_node(arg0); end
120
+
121
+ sig { params(arg0: BlockParameterNode).void }
122
+ def visit_block_parameter_node(arg0); end
123
+
124
+ sig { params(arg0: BlockParametersNode).void }
125
+ def visit_block_parameters_node(arg0); end
126
+
127
+ sig { params(arg0: BreakNode).void }
128
+ def visit_break_node(arg0); end
129
+
130
+ sig { params(arg0: CallAndWriteNode).void }
131
+ def visit_call_and_write_node(arg0); end
132
+
133
+ sig { params(arg0: CallNode).void }
134
+ def visit_call_node(arg0); end
135
+
136
+ sig { params(arg0: CallOperatorWriteNode).void }
137
+ def visit_call_operator_write_node(arg0); end
138
+
139
+ sig { params(arg0: CallOrWriteNode).void }
140
+ def visit_call_or_write_node(arg0); end
141
+
142
+ sig { params(arg0: CallTargetNode).void }
143
+ def visit_call_target_node(arg0); end
144
+
145
+ sig { params(arg0: CapturePatternNode).void }
146
+ def visit_capture_pattern_node(arg0); end
147
+
148
+ sig { params(arg0: CaseMatchNode).void }
149
+ def visit_case_match_node(arg0); end
150
+
151
+ sig { params(arg0: CaseNode).void }
152
+ def visit_case_node(arg0); end
153
+
154
+ sig { params(arg0: ClassNode).void }
155
+ def visit_class_node(arg0); end
156
+
157
+ sig { params(arg0: ClassVariableAndWriteNode).void }
158
+ def visit_class_variable_and_write_node(arg0); end
159
+
160
+ sig { params(arg0: ClassVariableOperatorWriteNode).void }
161
+ def visit_class_variable_operator_write_node(arg0); end
162
+
163
+ sig { params(arg0: ClassVariableOrWriteNode).void }
164
+ def visit_class_variable_or_write_node(arg0); end
165
+
166
+ sig { params(arg0: ClassVariableReadNode).void }
167
+ def visit_class_variable_read_node(arg0); end
168
+
169
+ sig { params(arg0: ClassVariableTargetNode).void }
170
+ def visit_class_variable_target_node(arg0); end
171
+
172
+ sig { params(arg0: ClassVariableWriteNode).void }
173
+ def visit_class_variable_write_node(arg0); end
174
+
175
+ sig { params(arg0: ConstantAndWriteNode).void }
176
+ def visit_constant_and_write_node(arg0); end
177
+
178
+ sig { params(arg0: ConstantOperatorWriteNode).void }
179
+ def visit_constant_operator_write_node(arg0); end
180
+
181
+ sig { params(arg0: ConstantOrWriteNode).void }
182
+ def visit_constant_or_write_node(arg0); end
183
+
184
+ sig { params(arg0: ConstantPathAndWriteNode).void }
185
+ def visit_constant_path_and_write_node(arg0); end
186
+
187
+ sig { params(arg0: ConstantPathNode).void }
188
+ def visit_constant_path_node(arg0); end
189
+
190
+ sig { params(arg0: ConstantPathOperatorWriteNode).void }
191
+ def visit_constant_path_operator_write_node(arg0); end
192
+
193
+ sig { params(arg0: ConstantPathOrWriteNode).void }
194
+ def visit_constant_path_or_write_node(arg0); end
195
+
196
+ sig { params(arg0: ConstantPathTargetNode).void }
197
+ def visit_constant_path_target_node(arg0); end
198
+
199
+ sig { params(arg0: ConstantPathWriteNode).void }
200
+ def visit_constant_path_write_node(arg0); end
201
+
202
+ sig { params(arg0: ConstantReadNode).void }
203
+ def visit_constant_read_node(arg0); end
204
+
205
+ sig { params(arg0: ConstantTargetNode).void }
206
+ def visit_constant_target_node(arg0); end
207
+
208
+ sig { params(arg0: ConstantWriteNode).void }
209
+ def visit_constant_write_node(arg0); end
210
+
211
+ sig { params(arg0: DefNode).void }
212
+ def visit_def_node(arg0); end
213
+
214
+ sig { params(arg0: DefinedNode).void }
215
+ def visit_defined_node(arg0); end
216
+
217
+ sig { params(arg0: ElseNode).void }
218
+ def visit_else_node(arg0); end
219
+
220
+ sig { params(arg0: EmbeddedStatementsNode).void }
221
+ def visit_embedded_statements_node(arg0); end
222
+
223
+ sig { params(arg0: EmbeddedVariableNode).void }
224
+ def visit_embedded_variable_node(arg0); end
225
+
226
+ sig { params(arg0: EnsureNode).void }
227
+ def visit_ensure_node(arg0); end
228
+
229
+ sig { params(arg0: ErrorRecoveryNode).void }
230
+ def visit_error_recovery_node(arg0); end
231
+
232
+ sig { params(arg0: FalseNode).void }
233
+ def visit_false_node(arg0); end
234
+
235
+ sig { params(arg0: FindPatternNode).void }
236
+ def visit_find_pattern_node(arg0); end
237
+
238
+ sig { params(arg0: FlipFlopNode).void }
239
+ def visit_flip_flop_node(arg0); end
240
+
241
+ sig { params(arg0: FloatNode).void }
242
+ def visit_float_node(arg0); end
243
+
244
+ sig { params(arg0: ForNode).void }
245
+ def visit_for_node(arg0); end
246
+
247
+ sig { params(arg0: ForwardingArgumentsNode).void }
248
+ def visit_forwarding_arguments_node(arg0); end
249
+
250
+ sig { params(arg0: ForwardingParameterNode).void }
251
+ def visit_forwarding_parameter_node(arg0); end
252
+
253
+ sig { params(arg0: ForwardingSuperNode).void }
254
+ def visit_forwarding_super_node(arg0); end
255
+
256
+ sig { params(arg0: GlobalVariableAndWriteNode).void }
257
+ def visit_global_variable_and_write_node(arg0); end
258
+
259
+ sig { params(arg0: GlobalVariableOperatorWriteNode).void }
260
+ def visit_global_variable_operator_write_node(arg0); end
261
+
262
+ sig { params(arg0: GlobalVariableOrWriteNode).void }
263
+ def visit_global_variable_or_write_node(arg0); end
264
+
265
+ sig { params(arg0: GlobalVariableReadNode).void }
266
+ def visit_global_variable_read_node(arg0); end
267
+
268
+ sig { params(arg0: GlobalVariableTargetNode).void }
269
+ def visit_global_variable_target_node(arg0); end
270
+
271
+ sig { params(arg0: GlobalVariableWriteNode).void }
272
+ def visit_global_variable_write_node(arg0); end
273
+
274
+ sig { params(arg0: HashNode).void }
275
+ def visit_hash_node(arg0); end
276
+
277
+ sig { params(arg0: HashPatternNode).void }
278
+ def visit_hash_pattern_node(arg0); end
279
+
280
+ sig { params(arg0: IfNode).void }
281
+ def visit_if_node(arg0); end
282
+
283
+ sig { params(arg0: ImaginaryNode).void }
284
+ def visit_imaginary_node(arg0); end
285
+
286
+ sig { params(arg0: ImplicitNode).void }
287
+ def visit_implicit_node(arg0); end
288
+
289
+ sig { params(arg0: ImplicitRestNode).void }
290
+ def visit_implicit_rest_node(arg0); end
291
+
292
+ sig { params(arg0: InNode).void }
293
+ def visit_in_node(arg0); end
294
+
295
+ sig { params(arg0: IndexAndWriteNode).void }
296
+ def visit_index_and_write_node(arg0); end
297
+
298
+ sig { params(arg0: IndexOperatorWriteNode).void }
299
+ def visit_index_operator_write_node(arg0); end
300
+
301
+ sig { params(arg0: IndexOrWriteNode).void }
302
+ def visit_index_or_write_node(arg0); end
303
+
304
+ sig { params(arg0: IndexTargetNode).void }
305
+ def visit_index_target_node(arg0); end
306
+
307
+ sig { params(arg0: InstanceVariableAndWriteNode).void }
308
+ def visit_instance_variable_and_write_node(arg0); end
309
+
310
+ sig { params(arg0: InstanceVariableOperatorWriteNode).void }
311
+ def visit_instance_variable_operator_write_node(arg0); end
312
+
313
+ sig { params(arg0: InstanceVariableOrWriteNode).void }
314
+ def visit_instance_variable_or_write_node(arg0); end
315
+
316
+ sig { params(arg0: InstanceVariableReadNode).void }
317
+ def visit_instance_variable_read_node(arg0); end
318
+
319
+ sig { params(arg0: InstanceVariableTargetNode).void }
320
+ def visit_instance_variable_target_node(arg0); end
321
+
322
+ sig { params(arg0: InstanceVariableWriteNode).void }
323
+ def visit_instance_variable_write_node(arg0); end
324
+
325
+ sig { params(arg0: IntegerNode).void }
326
+ def visit_integer_node(arg0); end
327
+
328
+ sig { params(arg0: InterpolatedMatchLastLineNode).void }
329
+ def visit_interpolated_match_last_line_node(arg0); end
330
+
331
+ sig { params(arg0: InterpolatedRegularExpressionNode).void }
332
+ def visit_interpolated_regular_expression_node(arg0); end
333
+
334
+ sig { params(arg0: InterpolatedStringNode).void }
335
+ def visit_interpolated_string_node(arg0); end
336
+
337
+ sig { params(arg0: InterpolatedSymbolNode).void }
338
+ def visit_interpolated_symbol_node(arg0); end
339
+
340
+ sig { params(arg0: InterpolatedXStringNode).void }
341
+ def visit_interpolated_x_string_node(arg0); end
342
+
343
+ sig { params(arg0: ItLocalVariableReadNode).void }
344
+ def visit_it_local_variable_read_node(arg0); end
345
+
346
+ sig { params(arg0: ItParametersNode).void }
347
+ def visit_it_parameters_node(arg0); end
348
+
349
+ sig { params(arg0: KeywordHashNode).void }
350
+ def visit_keyword_hash_node(arg0); end
351
+
352
+ sig { params(arg0: KeywordRestParameterNode).void }
353
+ def visit_keyword_rest_parameter_node(arg0); end
354
+
355
+ sig { params(arg0: LambdaNode).void }
356
+ def visit_lambda_node(arg0); end
357
+
358
+ sig { params(arg0: LocalVariableAndWriteNode).void }
359
+ def visit_local_variable_and_write_node(arg0); end
360
+
361
+ sig { params(arg0: LocalVariableOperatorWriteNode).void }
362
+ def visit_local_variable_operator_write_node(arg0); end
363
+
364
+ sig { params(arg0: LocalVariableOrWriteNode).void }
365
+ def visit_local_variable_or_write_node(arg0); end
366
+
367
+ sig { params(arg0: LocalVariableReadNode).void }
368
+ def visit_local_variable_read_node(arg0); end
369
+
370
+ sig { params(arg0: LocalVariableTargetNode).void }
371
+ def visit_local_variable_target_node(arg0); end
372
+
373
+ sig { params(arg0: LocalVariableWriteNode).void }
374
+ def visit_local_variable_write_node(arg0); end
375
+
376
+ sig { params(arg0: MatchLastLineNode).void }
377
+ def visit_match_last_line_node(arg0); end
378
+
379
+ sig { params(arg0: MatchPredicateNode).void }
380
+ def visit_match_predicate_node(arg0); end
381
+
382
+ sig { params(arg0: MatchRequiredNode).void }
383
+ def visit_match_required_node(arg0); end
384
+
385
+ sig { params(arg0: MatchWriteNode).void }
386
+ def visit_match_write_node(arg0); end
387
+
388
+ sig { params(arg0: ModuleNode).void }
389
+ def visit_module_node(arg0); end
390
+
391
+ sig { params(arg0: MultiTargetNode).void }
392
+ def visit_multi_target_node(arg0); end
393
+
394
+ sig { params(arg0: MultiWriteNode).void }
395
+ def visit_multi_write_node(arg0); end
396
+
397
+ sig { params(arg0: NextNode).void }
398
+ def visit_next_node(arg0); end
399
+
400
+ sig { params(arg0: NilNode).void }
401
+ def visit_nil_node(arg0); end
402
+
403
+ sig { params(arg0: NoBlockParameterNode).void }
404
+ def visit_no_block_parameter_node(arg0); end
405
+
406
+ sig { params(arg0: NoKeywordsParameterNode).void }
407
+ def visit_no_keywords_parameter_node(arg0); end
408
+
409
+ sig { params(arg0: NumberedParametersNode).void }
410
+ def visit_numbered_parameters_node(arg0); end
411
+
412
+ sig { params(arg0: NumberedReferenceReadNode).void }
413
+ def visit_numbered_reference_read_node(arg0); end
414
+
415
+ sig { params(arg0: OptionalKeywordParameterNode).void }
416
+ def visit_optional_keyword_parameter_node(arg0); end
417
+
418
+ sig { params(arg0: OptionalParameterNode).void }
419
+ def visit_optional_parameter_node(arg0); end
420
+
421
+ sig { params(arg0: OrNode).void }
422
+ def visit_or_node(arg0); end
423
+
424
+ sig { params(arg0: ParametersNode).void }
425
+ def visit_parameters_node(arg0); end
426
+
427
+ sig { params(arg0: ParenthesesNode).void }
428
+ def visit_parentheses_node(arg0); end
429
+
430
+ sig { params(arg0: PinnedExpressionNode).void }
431
+ def visit_pinned_expression_node(arg0); end
432
+
433
+ sig { params(arg0: PinnedVariableNode).void }
434
+ def visit_pinned_variable_node(arg0); end
435
+
436
+ sig { params(arg0: PostExecutionNode).void }
437
+ def visit_post_execution_node(arg0); end
438
+
439
+ sig { params(arg0: PreExecutionNode).void }
440
+ def visit_pre_execution_node(arg0); end
441
+
442
+ sig { params(arg0: ProgramNode).void }
443
+ def visit_program_node(arg0); end
444
+
445
+ sig { params(arg0: RangeNode).void }
446
+ def visit_range_node(arg0); end
447
+
448
+ sig { params(arg0: RationalNode).void }
449
+ def visit_rational_node(arg0); end
450
+
451
+ sig { params(arg0: RedoNode).void }
452
+ def visit_redo_node(arg0); end
453
+
454
+ sig { params(arg0: RegularExpressionNode).void }
455
+ def visit_regular_expression_node(arg0); end
456
+
457
+ sig { params(arg0: RequiredKeywordParameterNode).void }
458
+ def visit_required_keyword_parameter_node(arg0); end
459
+
460
+ sig { params(arg0: RequiredParameterNode).void }
461
+ def visit_required_parameter_node(arg0); end
462
+
463
+ sig { params(arg0: RescueModifierNode).void }
464
+ def visit_rescue_modifier_node(arg0); end
465
+
466
+ sig { params(arg0: RescueNode).void }
467
+ def visit_rescue_node(arg0); end
468
+
469
+ sig { params(arg0: RestParameterNode).void }
470
+ def visit_rest_parameter_node(arg0); end
471
+
472
+ sig { params(arg0: RetryNode).void }
473
+ def visit_retry_node(arg0); end
474
+
475
+ sig { params(arg0: ReturnNode).void }
476
+ def visit_return_node(arg0); end
477
+
478
+ sig { params(arg0: SelfNode).void }
479
+ def visit_self_node(arg0); end
480
+
481
+ sig { params(arg0: ShareableConstantNode).void }
482
+ def visit_shareable_constant_node(arg0); end
483
+
484
+ sig { params(arg0: SingletonClassNode).void }
485
+ def visit_singleton_class_node(arg0); end
486
+
487
+ sig { params(arg0: SourceEncodingNode).void }
488
+ def visit_source_encoding_node(arg0); end
489
+
490
+ sig { params(arg0: SourceFileNode).void }
491
+ def visit_source_file_node(arg0); end
492
+
493
+ sig { params(arg0: SourceLineNode).void }
494
+ def visit_source_line_node(arg0); end
495
+
496
+ sig { params(arg0: SplatNode).void }
497
+ def visit_splat_node(arg0); end
498
+
499
+ sig { params(arg0: StatementsNode).void }
500
+ def visit_statements_node(arg0); end
501
+
502
+ sig { params(arg0: StringNode).void }
503
+ def visit_string_node(arg0); end
504
+
505
+ sig { params(arg0: SuperNode).void }
506
+ def visit_super_node(arg0); end
507
+
508
+ sig { params(arg0: SymbolNode).void }
509
+ def visit_symbol_node(arg0); end
510
+
511
+ sig { params(arg0: TrueNode).void }
512
+ def visit_true_node(arg0); end
513
+
514
+ sig { params(arg0: UndefNode).void }
515
+ def visit_undef_node(arg0); end
516
+
517
+ sig { params(arg0: UnlessNode).void }
518
+ def visit_unless_node(arg0); end
519
+
520
+ sig { params(arg0: UntilNode).void }
521
+ def visit_until_node(arg0); end
522
+
523
+ sig { params(arg0: WhenNode).void }
524
+ def visit_when_node(arg0); end
525
+
526
+ sig { params(arg0: WhileNode).void }
527
+ def visit_while_node(arg0); end
528
+
529
+ sig { params(arg0: XStringNode).void }
530
+ def visit_x_string_node(arg0); end
531
+
532
+ sig { params(arg0: YieldNode).void }
533
+ def visit_yield_node(arg0); end
534
+
535
+ # Generate a unique node ID for a node throughout the digraph.
536
+ sig { params(arg0: Node).returns(String) }
537
+ private def node_id(arg0); end
538
+
539
+ # Inspect a location to display the start and end line and columns in bytes.
540
+ sig { params(arg0: Location).returns(String) }
541
+ private def location_inspect(arg0); end
542
+
543
+ # Inspect a node that has arguments_node_flags flags to display the flags as a
544
+ # comma-separated list.
545
+ sig { params(node: ArgumentsNode).returns(String) }
546
+ private def arguments_node_flags_inspect(node); end
547
+
548
+ # Inspect a node that has array_node_flags flags to display the flags as a
549
+ # comma-separated list.
550
+ sig { params(node: ArrayNode).returns(String) }
551
+ private def array_node_flags_inspect(node); end
552
+
553
+ # Inspect a node that has call_node_flags flags to display the flags as a
554
+ # comma-separated list.
555
+ sig { params(node: ::T.any(CallAndWriteNode, CallNode, CallOperatorWriteNode, CallOrWriteNode, CallTargetNode, IndexAndWriteNode, IndexOperatorWriteNode, IndexOrWriteNode, IndexTargetNode)).returns(String) }
556
+ private def call_node_flags_inspect(node); end
557
+
558
+ # Inspect a node that has encoding_flags flags to display the flags as a
559
+ # comma-separated list.
560
+ sig { params(node: XStringNode).returns(String) }
561
+ private def encoding_flags_inspect(node); end
562
+
563
+ # Inspect a node that has integer_base_flags flags to display the flags as a
564
+ # comma-separated list.
565
+ sig { params(node: ::T.any(IntegerNode, RationalNode)).returns(String) }
566
+ private def integer_base_flags_inspect(node); end
567
+
568
+ # Inspect a node that has interpolated_string_node_flags flags to display the flags as a
569
+ # comma-separated list.
570
+ sig { params(node: InterpolatedStringNode).returns(String) }
571
+ private def interpolated_string_node_flags_inspect(node); end
572
+
573
+ # Inspect a node that has keyword_hash_node_flags flags to display the flags as a
574
+ # comma-separated list.
575
+ sig { params(node: KeywordHashNode).returns(String) }
576
+ private def keyword_hash_node_flags_inspect(node); end
577
+
578
+ # Inspect a node that has loop_flags flags to display the flags as a
579
+ # comma-separated list.
580
+ sig { params(node: ::T.any(UntilNode, WhileNode)).returns(String) }
581
+ private def loop_flags_inspect(node); end
582
+
583
+ # Inspect a node that has parameter_flags flags to display the flags as a
584
+ # comma-separated list.
585
+ sig { params(node: ::T.any(BlockLocalVariableNode, BlockParameterNode, KeywordRestParameterNode, OptionalKeywordParameterNode, OptionalParameterNode, RequiredKeywordParameterNode, RequiredParameterNode, RestParameterNode)).returns(String) }
586
+ private def parameter_flags_inspect(node); end
587
+
588
+ # Inspect a node that has parentheses_node_flags flags to display the flags as a
589
+ # comma-separated list.
590
+ sig { params(node: ParenthesesNode).returns(String) }
591
+ private def parentheses_node_flags_inspect(node); end
592
+
593
+ # Inspect a node that has range_flags flags to display the flags as a
594
+ # comma-separated list.
595
+ sig { params(node: ::T.any(FlipFlopNode, RangeNode)).returns(String) }
596
+ private def range_flags_inspect(node); end
597
+
598
+ # Inspect a node that has regular_expression_flags flags to display the flags as a
599
+ # comma-separated list.
600
+ sig { params(node: ::T.any(InterpolatedMatchLastLineNode, InterpolatedRegularExpressionNode, MatchLastLineNode, RegularExpressionNode)).returns(String) }
601
+ private def regular_expression_flags_inspect(node); end
602
+
603
+ # Inspect a node that has shareable_constant_node_flags flags to display the flags as a
604
+ # comma-separated list.
605
+ sig { params(node: ShareableConstantNode).returns(String) }
606
+ private def shareable_constant_node_flags_inspect(node); end
607
+
608
+ # Inspect a node that has string_flags flags to display the flags as a
609
+ # comma-separated list.
610
+ sig { params(node: ::T.any(SourceFileNode, StringNode)).returns(String) }
611
+ private def string_flags_inspect(node); end
612
+
613
+ # Inspect a node that has symbol_flags flags to display the flags as a
614
+ # comma-separated list.
615
+ sig { params(node: SymbolNode).returns(String) }
616
+ private def symbol_flags_inspect(node); end
617
+ end
618
+ end