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