prism 1.9.0 → 2.0.0.rc2

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 (244) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +88 -0
  3. data/CODE_OF_CONDUCT.md +1 -1
  4. data/LICENSE.md +1 -1
  5. data/Makefile +41 -12
  6. data/README.md +35 -97
  7. data/config.yml +174 -161
  8. data/docs/build_system.md +2 -2
  9. data/docs/configuration.md +5 -4
  10. data/docs/encoding.md +2 -2
  11. data/docs/fuzzing.md +4 -11
  12. data/docs/javascript.md +19 -4
  13. data/docs/mapping.md +1 -1
  14. data/docs/releasing.md +77 -5
  15. data/docs/relocation.md +2 -4
  16. data/docs/serialization.md +22 -24
  17. data/docs/testing.md +46 -29
  18. data/ext/prism/api_node.c +1461 -1401
  19. data/ext/prism/extconf.rb +3 -4
  20. data/ext/prism/extension.c +796 -422
  21. data/ext/prism/extension.h +3 -3
  22. data/include/prism/arena.h +37 -0
  23. data/include/prism/ast.h +2727 -610
  24. data/include/prism/buffer.h +52 -0
  25. data/include/prism/comments.h +55 -0
  26. data/include/prism/compiler/accel.h +26 -0
  27. data/include/prism/compiler/align.h +36 -0
  28. data/include/prism/compiler/assume.h +25 -0
  29. data/include/prism/compiler/bswap.h +46 -0
  30. data/include/prism/compiler/endianness.h +34 -0
  31. data/include/prism/compiler/exported.h +24 -0
  32. data/include/prism/compiler/fallthrough.h +22 -0
  33. data/include/prism/compiler/filesystem.h +32 -0
  34. data/include/prism/compiler/flex_array.h +19 -0
  35. data/include/prism/compiler/force_inline.h +21 -0
  36. data/include/prism/compiler/format.h +25 -0
  37. data/include/prism/compiler/inline.h +17 -0
  38. data/include/prism/compiler/nodiscard.h +22 -0
  39. data/include/prism/compiler/nonnull.h +18 -0
  40. data/include/prism/compiler/unused.h +18 -0
  41. data/include/prism/constant_pool.h +81 -0
  42. data/include/prism/diagnostic.h +38 -403
  43. data/include/prism/errors_format.h +53 -0
  44. data/include/prism/excludes.h +29 -0
  45. data/include/prism/integer.h +41 -0
  46. data/include/prism/internal/allocator.h +68 -0
  47. data/include/prism/internal/allocator_debug.h +88 -0
  48. data/include/prism/internal/arena.h +108 -0
  49. data/include/prism/internal/bit.h +42 -0
  50. data/include/prism/internal/buffer.h +94 -0
  51. data/include/prism/internal/char.h +145 -0
  52. data/include/prism/internal/comments.h +53 -0
  53. data/include/prism/internal/constant_pool.h +152 -0
  54. data/include/prism/internal/diagnostic.h +389 -0
  55. data/include/prism/{encoding.h → internal/encoding.h} +27 -68
  56. data/include/prism/internal/integer.h +68 -0
  57. data/include/prism/internal/isinf.h +16 -0
  58. data/include/prism/internal/line_offset_list.h +34 -0
  59. data/include/prism/{util/pm_list.h → internal/list.h} +11 -52
  60. data/include/prism/internal/magic_comments.h +23 -0
  61. data/include/prism/internal/memchr.h +15 -0
  62. data/include/prism/internal/node.h +38 -0
  63. data/include/prism/internal/options.h +232 -0
  64. data/include/prism/internal/parser.h +1004 -0
  65. data/include/prism/internal/regexp.h +26 -0
  66. data/include/prism/internal/serialize.h +39 -0
  67. data/include/prism/internal/source.h +72 -0
  68. data/include/prism/{static_literals.h → internal/static_literals.h} +26 -47
  69. data/include/prism/internal/stringy.h +35 -0
  70. data/include/prism/{util/pm_strncasecmp.h → internal/strncasecmp.h} +3 -17
  71. data/include/prism/{util/pm_strpbrk.h → internal/strpbrk.h} +7 -20
  72. data/include/prism/internal/tokens.h +11 -0
  73. data/include/prism/internal/xxh3.h +16 -0
  74. data/include/prism/json.h +32 -0
  75. data/include/prism/line_offset_list.h +61 -0
  76. data/include/prism/magic_comments.h +35 -0
  77. data/include/prism/node.h +18 -53
  78. data/include/prism/options.h +146 -280
  79. data/include/prism/parser.h +356 -867
  80. data/include/prism/prettyprint.h +6 -9
  81. data/include/prism/serialize.h +115 -0
  82. data/include/prism/source.h +155 -0
  83. data/include/prism/stream.h +28 -0
  84. data/include/prism/string_query.h +74 -0
  85. data/include/prism/stringy.h +72 -0
  86. data/include/prism/version.h +12 -3
  87. data/include/prism.h +43 -320
  88. data/lib/prism/compiler.rb +319 -305
  89. data/lib/prism/desugar_compiler.rb +105 -34
  90. data/lib/prism/dispatcher.rb +646 -473
  91. data/lib/prism/dot_visitor.rb +592 -511
  92. data/lib/prism/dsl.rb +391 -25
  93. data/lib/prism/ffi.rb +258 -90
  94. data/lib/prism/inspect_visitor.rb +357 -325
  95. data/lib/prism/lex_compat.rb +254 -212
  96. data/lib/prism/mutation_compiler.rb +313 -305
  97. data/lib/prism/node.rb +20966 -6992
  98. data/lib/prism/node_ext.rb +180 -187
  99. data/lib/prism/node_find.rb +215 -0
  100. data/lib/prism/parse_result/errors.rb +7 -1
  101. data/lib/prism/parse_result/newlines.rb +276 -8
  102. data/lib/prism/parse_result.rb +468 -139
  103. data/lib/prism/pattern.rb +65 -20
  104. data/lib/prism/reflection.rb +23 -12
  105. data/lib/prism/relocation.rb +149 -87
  106. data/lib/prism/serialize.rb +3460 -539
  107. data/lib/prism/string_query.rb +24 -1
  108. data/lib/prism/translation/parser/builder.rb +10 -2
  109. data/lib/prism/translation/parser/compiler.rb +44 -52
  110. data/lib/prism/translation/parser/lexer.rb +41 -92
  111. data/lib/prism/translation/parser.rb +1 -1
  112. data/lib/prism/translation/parser_current.rb +1 -1
  113. data/lib/prism/translation/ripper/lexer.rb +8 -10
  114. data/lib/prism/translation/ripper/sexp.rb +2 -10
  115. data/lib/prism/translation/ripper/shim.rb +2 -0
  116. data/lib/prism/translation/ripper.rb +967 -209
  117. data/lib/prism/translation/ruby_parser.rb +73 -316
  118. data/lib/prism/translation.rb +2 -0
  119. data/lib/prism/visitor.rb +632 -5
  120. data/lib/prism.rb +79 -9
  121. data/prism.gemspec +128 -62
  122. data/rbi/generated/prism/compiler.rbi +489 -0
  123. data/rbi/generated/prism/desugar_compiler.rbi +306 -0
  124. data/rbi/generated/prism/dispatcher.rbi +1138 -0
  125. data/rbi/generated/prism/dot_visitor.rbi +618 -0
  126. data/rbi/generated/prism/dsl.rbi +751 -0
  127. data/rbi/generated/prism/inspect_visitor.rbi +503 -0
  128. data/rbi/generated/prism/lex_compat.rbi +162 -0
  129. data/rbi/generated/prism/mutation_compiler.rbi +464 -0
  130. data/rbi/generated/prism/node.rbi +14407 -0
  131. data/rbi/generated/prism/node_ext.rbi +259 -0
  132. data/rbi/generated/prism/node_find.rbi +79 -0
  133. data/rbi/generated/prism/parse_result/errors.rbi +21 -0
  134. data/rbi/generated/prism/parse_result/newlines.rbi +208 -0
  135. data/rbi/generated/prism/parse_result.rbi +776 -0
  136. data/rbi/generated/prism/pattern.rbi +134 -0
  137. data/rbi/generated/prism/reflection.rbi +89 -0
  138. data/rbi/generated/prism/relocation.rbi +329 -0
  139. data/rbi/generated/prism/serialize.rbi +184 -0
  140. data/rbi/generated/prism/string_query.rbi +43 -0
  141. data/rbi/generated/prism/translation.rbi +7 -0
  142. data/rbi/generated/prism/visitor.rbi +650 -0
  143. data/rbi/generated/prism.rbi +86 -0
  144. data/rbi/prism/translation/parser_versions.rbi +5 -0
  145. data/rbi/rubyvm/node_find.rbi +14 -0
  146. data/sig/generated/prism/compiler.rbs +492 -0
  147. data/sig/generated/prism/desugar_compiler.rbs +305 -0
  148. data/sig/generated/prism/dispatcher.rbs +1292 -0
  149. data/sig/generated/prism/dot_visitor.rbs +635 -0
  150. data/sig/generated/prism/dsl.rbs +928 -0
  151. data/sig/generated/prism/inspect_visitor.rbs +509 -0
  152. data/sig/generated/prism/lex_compat.rbs +166 -0
  153. data/sig/{prism → generated/prism}/mutation_compiler.rbs +309 -4
  154. data/sig/generated/prism/node.rbs +20896 -0
  155. data/sig/generated/prism/node_ext.rbs +290 -0
  156. data/sig/generated/prism/node_find.rbs +90 -0
  157. data/sig/generated/prism/parse_result/errors.rbs +22 -0
  158. data/sig/generated/prism/parse_result/newlines.rbs +223 -0
  159. data/sig/generated/prism/parse_result.rbs +871 -0
  160. data/sig/generated/prism/pattern.rbs +156 -0
  161. data/sig/generated/prism/reflection.rbs +101 -0
  162. data/sig/generated/prism/relocation.rbs +428 -0
  163. data/sig/generated/prism/serialize.rbs +198 -0
  164. data/sig/generated/prism/string_query.rbs +43 -0
  165. data/sig/generated/prism/translation.rbs +8 -0
  166. data/sig/generated/prism/visitor.rbs +1111 -0
  167. data/sig/generated/prism.rbs +84 -0
  168. data/sig/manifest.yaml +2 -0
  169. data/src/arena.c +117 -0
  170. data/src/{util/pm_buffer.c → buffer.c} +53 -21
  171. data/src/{util/pm_char.c → char.c} +28 -57
  172. data/src/comments.c +454 -0
  173. data/src/constant_pool.c +406 -0
  174. data/src/diagnostic.c +97 -65
  175. data/src/encoding.c +8 -3
  176. data/src/errors_format.c +519 -0
  177. data/src/{util/pm_integer.c → integer.c} +33 -22
  178. data/src/json.c +5733 -0
  179. data/src/line_offset_list.c +100 -0
  180. data/src/list.c +24 -0
  181. data/src/{util/pm_memchr.c → memchr.c} +8 -6
  182. data/src/node.c +3504 -7674
  183. data/src/options.c +162 -49
  184. data/src/parser.c +367 -0
  185. data/src/prettyprint.c +421 -354
  186. data/src/prism.c +8402 -7161
  187. data/src/regexp.c +961 -45
  188. data/src/serialize.c +460 -424
  189. data/src/source.c +518 -0
  190. data/src/static_literals.c +111 -43
  191. data/src/string_query.c +180 -0
  192. data/src/stringy.c +91 -0
  193. data/src/{util/pm_strncasecmp.c → strncasecmp.c} +5 -4
  194. data/src/strpbrk.c +447 -0
  195. data/src/{token_type.c → tokens.c} +39 -18
  196. data/src/xxh3.c +292 -0
  197. metadata +128 -63
  198. data/ext/prism/api_pack.c +0 -276
  199. data/include/prism/defines.h +0 -260
  200. data/include/prism/pack.h +0 -163
  201. data/include/prism/regexp.h +0 -43
  202. data/include/prism/util/pm_buffer.h +0 -236
  203. data/include/prism/util/pm_char.h +0 -204
  204. data/include/prism/util/pm_constant_pool.h +0 -218
  205. data/include/prism/util/pm_integer.h +0 -130
  206. data/include/prism/util/pm_memchr.h +0 -29
  207. data/include/prism/util/pm_newline_list.h +0 -113
  208. data/include/prism/util/pm_string.h +0 -200
  209. data/lib/prism/pack.rb +0 -230
  210. data/lib/prism/parse_result/comments.rb +0 -188
  211. data/rbi/prism/compiler.rbi +0 -12
  212. data/rbi/prism/dsl.rbi +0 -524
  213. data/rbi/prism/inspect_visitor.rbi +0 -12
  214. data/rbi/prism/node.rbi +0 -8750
  215. data/rbi/prism/node_ext.rbi +0 -107
  216. data/rbi/prism/parse_result.rbi +0 -404
  217. data/rbi/prism/reflection.rbi +0 -58
  218. data/rbi/prism/string_query.rbi +0 -12
  219. data/rbi/prism/visitor.rbi +0 -473
  220. data/rbi/prism.rbi +0 -63
  221. data/sig/prism/compiler.rbs +0 -9
  222. data/sig/prism/dispatcher.rbs +0 -19
  223. data/sig/prism/dot_visitor.rbs +0 -6
  224. data/sig/prism/dsl.rbs +0 -351
  225. data/sig/prism/inspect_visitor.rbs +0 -22
  226. data/sig/prism/lex_compat.rbs +0 -10
  227. data/sig/prism/node.rbs +0 -4042
  228. data/sig/prism/node_ext.rbs +0 -149
  229. data/sig/prism/pack.rbs +0 -43
  230. data/sig/prism/parse_result/comments.rbs +0 -38
  231. data/sig/prism/parse_result.rbs +0 -197
  232. data/sig/prism/pattern.rbs +0 -13
  233. data/sig/prism/reflection.rbs +0 -50
  234. data/sig/prism/relocation.rbs +0 -185
  235. data/sig/prism/serialize.rbs +0 -8
  236. data/sig/prism/string_query.rbs +0 -11
  237. data/sig/prism/visitor.rbs +0 -169
  238. data/sig/prism.rbs +0 -272
  239. data/src/pack.c +0 -509
  240. data/src/util/pm_constant_pool.c +0 -342
  241. data/src/util/pm_list.c +0 -49
  242. data/src/util/pm_newline_list.c +0 -125
  243. data/src/util/pm_string.c +0 -381
  244. data/src/util/pm_strpbrk.c +0 -206
@@ -9,6 +9,9 @@ if you are looking to modify the template
9
9
  ++
10
10
  =end
11
11
 
12
+ #--
13
+ # rbs_inline: enabled
14
+
12
15
  module Prism
13
16
  # A compiler is a visitor that returns the value of each node as it visits.
14
17
  # This is as opposed to a visitor which will only walk the tree. This can be
@@ -29,772 +32,783 @@ module Prism
29
32
  #
30
33
  class Compiler < Visitor
31
34
  # Visit an individual node.
32
- def visit(node)
35
+ #
36
+ #: (node?) -> untyped
37
+ def visit(node) # :nodoc:
33
38
  node&.accept(self)
34
39
  end
35
40
 
36
41
  # Visit a list of nodes.
37
- def visit_all(nodes)
42
+ #
43
+ #: (Array[node?]) -> untyped
44
+ def visit_all(nodes) # :nodoc:
38
45
  nodes.map { |node| node&.accept(self) }
39
46
  end
40
47
 
41
48
  # Visit the child nodes of the given node.
42
- def visit_child_nodes(node)
49
+ #
50
+ #: (node) -> Array[untyped]
51
+ def visit_child_nodes(node) # :nodoc:
52
+ node.each_child_node.map { |node| node.accept(self) }
53
+ end
54
+
55
+ #: (AliasGlobalVariableNode) -> Array[untyped]
56
+ def visit_alias_global_variable_node(node) # :nodoc:
43
57
  node.each_child_node.map { |node| node.accept(self) }
44
58
  end
45
59
 
46
- # Compile a AliasGlobalVariableNode node
47
- def visit_alias_global_variable_node(node)
60
+ #: (AliasMethodNode) -> Array[untyped]
61
+ def visit_alias_method_node(node) # :nodoc:
48
62
  node.each_child_node.map { |node| node.accept(self) }
49
63
  end
50
64
 
51
- # Compile a AliasMethodNode node
52
- def visit_alias_method_node(node)
65
+ #: (AlternationPatternNode) -> Array[untyped]
66
+ def visit_alternation_pattern_node(node) # :nodoc:
53
67
  node.each_child_node.map { |node| node.accept(self) }
54
68
  end
55
69
 
56
- # Compile a AlternationPatternNode node
57
- def visit_alternation_pattern_node(node)
70
+ #: (AndNode) -> Array[untyped]
71
+ def visit_and_node(node) # :nodoc:
58
72
  node.each_child_node.map { |node| node.accept(self) }
59
73
  end
60
74
 
61
- # Compile a AndNode node
62
- def visit_and_node(node)
75
+ #: (ArgumentsNode) -> Array[untyped]
76
+ def visit_arguments_node(node) # :nodoc:
63
77
  node.each_child_node.map { |node| node.accept(self) }
64
78
  end
65
79
 
66
- # Compile a ArgumentsNode node
67
- def visit_arguments_node(node)
80
+ #: (ArrayNode) -> Array[untyped]
81
+ def visit_array_node(node) # :nodoc:
68
82
  node.each_child_node.map { |node| node.accept(self) }
69
83
  end
70
84
 
71
- # Compile a ArrayNode node
72
- def visit_array_node(node)
85
+ #: (ArrayPatternNode) -> Array[untyped]
86
+ def visit_array_pattern_node(node) # :nodoc:
73
87
  node.each_child_node.map { |node| node.accept(self) }
74
88
  end
75
89
 
76
- # Compile a ArrayPatternNode node
77
- def visit_array_pattern_node(node)
90
+ #: (AssocNode) -> Array[untyped]
91
+ def visit_assoc_node(node) # :nodoc:
78
92
  node.each_child_node.map { |node| node.accept(self) }
79
93
  end
80
94
 
81
- # Compile a AssocNode node
82
- def visit_assoc_node(node)
95
+ #: (AssocSplatNode) -> Array[untyped]
96
+ def visit_assoc_splat_node(node) # :nodoc:
83
97
  node.each_child_node.map { |node| node.accept(self) }
84
98
  end
85
99
 
86
- # Compile a AssocSplatNode node
87
- def visit_assoc_splat_node(node)
100
+ #: (BackReferenceReadNode) -> Array[untyped]
101
+ def visit_back_reference_read_node(node) # :nodoc:
88
102
  node.each_child_node.map { |node| node.accept(self) }
89
103
  end
90
104
 
91
- # Compile a BackReferenceReadNode node
92
- def visit_back_reference_read_node(node)
105
+ #: (BeginNode) -> Array[untyped]
106
+ def visit_begin_node(node) # :nodoc:
93
107
  node.each_child_node.map { |node| node.accept(self) }
94
108
  end
95
109
 
96
- # Compile a BeginNode node
97
- def visit_begin_node(node)
110
+ #: (BlockArgumentNode) -> Array[untyped]
111
+ def visit_block_argument_node(node) # :nodoc:
98
112
  node.each_child_node.map { |node| node.accept(self) }
99
113
  end
100
114
 
101
- # Compile a BlockArgumentNode node
102
- def visit_block_argument_node(node)
115
+ #: (BlockLocalVariableNode) -> Array[untyped]
116
+ def visit_block_local_variable_node(node) # :nodoc:
103
117
  node.each_child_node.map { |node| node.accept(self) }
104
118
  end
105
119
 
106
- # Compile a BlockLocalVariableNode node
107
- def visit_block_local_variable_node(node)
120
+ #: (BlockNode) -> Array[untyped]
121
+ def visit_block_node(node) # :nodoc:
108
122
  node.each_child_node.map { |node| node.accept(self) }
109
123
  end
110
124
 
111
- # Compile a BlockNode node
112
- def visit_block_node(node)
125
+ #: (BlockParameterNode) -> Array[untyped]
126
+ def visit_block_parameter_node(node) # :nodoc:
113
127
  node.each_child_node.map { |node| node.accept(self) }
114
128
  end
115
129
 
116
- # Compile a BlockParameterNode node
117
- def visit_block_parameter_node(node)
130
+ #: (BlockParametersNode) -> Array[untyped]
131
+ def visit_block_parameters_node(node) # :nodoc:
118
132
  node.each_child_node.map { |node| node.accept(self) }
119
133
  end
120
134
 
121
- # Compile a BlockParametersNode node
122
- def visit_block_parameters_node(node)
135
+ #: (BreakNode) -> Array[untyped]
136
+ def visit_break_node(node) # :nodoc:
123
137
  node.each_child_node.map { |node| node.accept(self) }
124
138
  end
125
139
 
126
- # Compile a BreakNode node
127
- def visit_break_node(node)
140
+ #: (CallAndWriteNode) -> Array[untyped]
141
+ def visit_call_and_write_node(node) # :nodoc:
128
142
  node.each_child_node.map { |node| node.accept(self) }
129
143
  end
130
144
 
131
- # Compile a CallAndWriteNode node
132
- def visit_call_and_write_node(node)
145
+ #: (CallNode) -> Array[untyped]
146
+ def visit_call_node(node) # :nodoc:
133
147
  node.each_child_node.map { |node| node.accept(self) }
134
148
  end
135
149
 
136
- # Compile a CallNode node
137
- def visit_call_node(node)
150
+ #: (CallOperatorWriteNode) -> Array[untyped]
151
+ def visit_call_operator_write_node(node) # :nodoc:
138
152
  node.each_child_node.map { |node| node.accept(self) }
139
153
  end
140
154
 
141
- # Compile a CallOperatorWriteNode node
142
- def visit_call_operator_write_node(node)
155
+ #: (CallOrWriteNode) -> Array[untyped]
156
+ def visit_call_or_write_node(node) # :nodoc:
143
157
  node.each_child_node.map { |node| node.accept(self) }
144
158
  end
145
159
 
146
- # Compile a CallOrWriteNode node
147
- def visit_call_or_write_node(node)
160
+ #: (CallTargetNode) -> Array[untyped]
161
+ def visit_call_target_node(node) # :nodoc:
148
162
  node.each_child_node.map { |node| node.accept(self) }
149
163
  end
150
164
 
151
- # Compile a CallTargetNode node
152
- def visit_call_target_node(node)
165
+ #: (CapturePatternNode) -> Array[untyped]
166
+ def visit_capture_pattern_node(node) # :nodoc:
153
167
  node.each_child_node.map { |node| node.accept(self) }
154
168
  end
155
169
 
156
- # Compile a CapturePatternNode node
157
- def visit_capture_pattern_node(node)
170
+ #: (CaseMatchNode) -> Array[untyped]
171
+ def visit_case_match_node(node) # :nodoc:
158
172
  node.each_child_node.map { |node| node.accept(self) }
159
173
  end
160
174
 
161
- # Compile a CaseMatchNode node
162
- def visit_case_match_node(node)
175
+ #: (CaseNode) -> Array[untyped]
176
+ def visit_case_node(node) # :nodoc:
163
177
  node.each_child_node.map { |node| node.accept(self) }
164
178
  end
165
179
 
166
- # Compile a CaseNode node
167
- def visit_case_node(node)
180
+ #: (ClassNode) -> Array[untyped]
181
+ def visit_class_node(node) # :nodoc:
168
182
  node.each_child_node.map { |node| node.accept(self) }
169
183
  end
170
184
 
171
- # Compile a ClassNode node
172
- def visit_class_node(node)
185
+ #: (ClassVariableAndWriteNode) -> Array[untyped]
186
+ def visit_class_variable_and_write_node(node) # :nodoc:
173
187
  node.each_child_node.map { |node| node.accept(self) }
174
188
  end
175
189
 
176
- # Compile a ClassVariableAndWriteNode node
177
- def visit_class_variable_and_write_node(node)
190
+ #: (ClassVariableOperatorWriteNode) -> Array[untyped]
191
+ def visit_class_variable_operator_write_node(node) # :nodoc:
178
192
  node.each_child_node.map { |node| node.accept(self) }
179
193
  end
180
194
 
181
- # Compile a ClassVariableOperatorWriteNode node
182
- def visit_class_variable_operator_write_node(node)
195
+ #: (ClassVariableOrWriteNode) -> Array[untyped]
196
+ def visit_class_variable_or_write_node(node) # :nodoc:
183
197
  node.each_child_node.map { |node| node.accept(self) }
184
198
  end
185
199
 
186
- # Compile a ClassVariableOrWriteNode node
187
- def visit_class_variable_or_write_node(node)
200
+ #: (ClassVariableReadNode) -> Array[untyped]
201
+ def visit_class_variable_read_node(node) # :nodoc:
188
202
  node.each_child_node.map { |node| node.accept(self) }
189
203
  end
190
204
 
191
- # Compile a ClassVariableReadNode node
192
- def visit_class_variable_read_node(node)
205
+ #: (ClassVariableTargetNode) -> Array[untyped]
206
+ def visit_class_variable_target_node(node) # :nodoc:
193
207
  node.each_child_node.map { |node| node.accept(self) }
194
208
  end
195
209
 
196
- # Compile a ClassVariableTargetNode node
197
- def visit_class_variable_target_node(node)
210
+ #: (ClassVariableWriteNode) -> Array[untyped]
211
+ def visit_class_variable_write_node(node) # :nodoc:
198
212
  node.each_child_node.map { |node| node.accept(self) }
199
213
  end
200
214
 
201
- # Compile a ClassVariableWriteNode node
202
- def visit_class_variable_write_node(node)
215
+ #: (ConstantAndWriteNode) -> Array[untyped]
216
+ def visit_constant_and_write_node(node) # :nodoc:
203
217
  node.each_child_node.map { |node| node.accept(self) }
204
218
  end
205
219
 
206
- # Compile a ConstantAndWriteNode node
207
- def visit_constant_and_write_node(node)
220
+ #: (ConstantOperatorWriteNode) -> Array[untyped]
221
+ def visit_constant_operator_write_node(node) # :nodoc:
208
222
  node.each_child_node.map { |node| node.accept(self) }
209
223
  end
210
224
 
211
- # Compile a ConstantOperatorWriteNode node
212
- def visit_constant_operator_write_node(node)
225
+ #: (ConstantOrWriteNode) -> Array[untyped]
226
+ def visit_constant_or_write_node(node) # :nodoc:
213
227
  node.each_child_node.map { |node| node.accept(self) }
214
228
  end
215
229
 
216
- # Compile a ConstantOrWriteNode node
217
- def visit_constant_or_write_node(node)
230
+ #: (ConstantPathAndWriteNode) -> Array[untyped]
231
+ def visit_constant_path_and_write_node(node) # :nodoc:
218
232
  node.each_child_node.map { |node| node.accept(self) }
219
233
  end
220
234
 
221
- # Compile a ConstantPathAndWriteNode node
222
- def visit_constant_path_and_write_node(node)
235
+ #: (ConstantPathNode) -> Array[untyped]
236
+ def visit_constant_path_node(node) # :nodoc:
223
237
  node.each_child_node.map { |node| node.accept(self) }
224
238
  end
225
239
 
226
- # Compile a ConstantPathNode node
227
- def visit_constant_path_node(node)
240
+ #: (ConstantPathOperatorWriteNode) -> Array[untyped]
241
+ def visit_constant_path_operator_write_node(node) # :nodoc:
228
242
  node.each_child_node.map { |node| node.accept(self) }
229
243
  end
230
244
 
231
- # Compile a ConstantPathOperatorWriteNode node
232
- def visit_constant_path_operator_write_node(node)
245
+ #: (ConstantPathOrWriteNode) -> Array[untyped]
246
+ def visit_constant_path_or_write_node(node) # :nodoc:
233
247
  node.each_child_node.map { |node| node.accept(self) }
234
248
  end
235
249
 
236
- # Compile a ConstantPathOrWriteNode node
237
- def visit_constant_path_or_write_node(node)
250
+ #: (ConstantPathTargetNode) -> Array[untyped]
251
+ def visit_constant_path_target_node(node) # :nodoc:
238
252
  node.each_child_node.map { |node| node.accept(self) }
239
253
  end
240
254
 
241
- # Compile a ConstantPathTargetNode node
242
- def visit_constant_path_target_node(node)
255
+ #: (ConstantPathWriteNode) -> Array[untyped]
256
+ def visit_constant_path_write_node(node) # :nodoc:
243
257
  node.each_child_node.map { |node| node.accept(self) }
244
258
  end
245
259
 
246
- # Compile a ConstantPathWriteNode node
247
- def visit_constant_path_write_node(node)
260
+ #: (ConstantReadNode) -> Array[untyped]
261
+ def visit_constant_read_node(node) # :nodoc:
248
262
  node.each_child_node.map { |node| node.accept(self) }
249
263
  end
250
264
 
251
- # Compile a ConstantReadNode node
252
- def visit_constant_read_node(node)
265
+ #: (ConstantTargetNode) -> Array[untyped]
266
+ def visit_constant_target_node(node) # :nodoc:
253
267
  node.each_child_node.map { |node| node.accept(self) }
254
268
  end
255
269
 
256
- # Compile a ConstantTargetNode node
257
- def visit_constant_target_node(node)
270
+ #: (ConstantWriteNode) -> Array[untyped]
271
+ def visit_constant_write_node(node) # :nodoc:
258
272
  node.each_child_node.map { |node| node.accept(self) }
259
273
  end
260
274
 
261
- # Compile a ConstantWriteNode node
262
- def visit_constant_write_node(node)
275
+ #: (DefNode) -> Array[untyped]
276
+ def visit_def_node(node) # :nodoc:
263
277
  node.each_child_node.map { |node| node.accept(self) }
264
278
  end
265
279
 
266
- # Compile a DefNode node
267
- def visit_def_node(node)
280
+ #: (DefinedNode) -> Array[untyped]
281
+ def visit_defined_node(node) # :nodoc:
268
282
  node.each_child_node.map { |node| node.accept(self) }
269
283
  end
270
284
 
271
- # Compile a DefinedNode node
272
- def visit_defined_node(node)
285
+ #: (ElseNode) -> Array[untyped]
286
+ def visit_else_node(node) # :nodoc:
273
287
  node.each_child_node.map { |node| node.accept(self) }
274
288
  end
275
289
 
276
- # Compile a ElseNode node
277
- def visit_else_node(node)
290
+ #: (EmbeddedStatementsNode) -> Array[untyped]
291
+ def visit_embedded_statements_node(node) # :nodoc:
278
292
  node.each_child_node.map { |node| node.accept(self) }
279
293
  end
280
294
 
281
- # Compile a EmbeddedStatementsNode node
282
- def visit_embedded_statements_node(node)
295
+ #: (EmbeddedVariableNode) -> Array[untyped]
296
+ def visit_embedded_variable_node(node) # :nodoc:
283
297
  node.each_child_node.map { |node| node.accept(self) }
284
298
  end
285
299
 
286
- # Compile a EmbeddedVariableNode node
287
- def visit_embedded_variable_node(node)
300
+ #: (EnsureNode) -> Array[untyped]
301
+ def visit_ensure_node(node) # :nodoc:
288
302
  node.each_child_node.map { |node| node.accept(self) }
289
303
  end
290
304
 
291
- # Compile a EnsureNode node
292
- def visit_ensure_node(node)
305
+ #: (ErrorRecoveryNode) -> Array[untyped]
306
+ def visit_error_recovery_node(node) # :nodoc:
293
307
  node.each_child_node.map { |node| node.accept(self) }
294
308
  end
295
309
 
296
- # Compile a FalseNode node
297
- def visit_false_node(node)
310
+ #: (FalseNode) -> Array[untyped]
311
+ def visit_false_node(node) # :nodoc:
298
312
  node.each_child_node.map { |node| node.accept(self) }
299
313
  end
300
314
 
301
- # Compile a FindPatternNode node
302
- def visit_find_pattern_node(node)
315
+ #: (FindPatternNode) -> Array[untyped]
316
+ def visit_find_pattern_node(node) # :nodoc:
303
317
  node.each_child_node.map { |node| node.accept(self) }
304
318
  end
305
319
 
306
- # Compile a FlipFlopNode node
307
- def visit_flip_flop_node(node)
320
+ #: (FlipFlopNode) -> Array[untyped]
321
+ def visit_flip_flop_node(node) # :nodoc:
308
322
  node.each_child_node.map { |node| node.accept(self) }
309
323
  end
310
324
 
311
- # Compile a FloatNode node
312
- def visit_float_node(node)
325
+ #: (FloatNode) -> Array[untyped]
326
+ def visit_float_node(node) # :nodoc:
313
327
  node.each_child_node.map { |node| node.accept(self) }
314
328
  end
315
329
 
316
- # Compile a ForNode node
317
- def visit_for_node(node)
330
+ #: (ForNode) -> Array[untyped]
331
+ def visit_for_node(node) # :nodoc:
318
332
  node.each_child_node.map { |node| node.accept(self) }
319
333
  end
320
334
 
321
- # Compile a ForwardingArgumentsNode node
322
- def visit_forwarding_arguments_node(node)
335
+ #: (ForwardingArgumentsNode) -> Array[untyped]
336
+ def visit_forwarding_arguments_node(node) # :nodoc:
323
337
  node.each_child_node.map { |node| node.accept(self) }
324
338
  end
325
339
 
326
- # Compile a ForwardingParameterNode node
327
- def visit_forwarding_parameter_node(node)
340
+ #: (ForwardingParameterNode) -> Array[untyped]
341
+ def visit_forwarding_parameter_node(node) # :nodoc:
328
342
  node.each_child_node.map { |node| node.accept(self) }
329
343
  end
330
344
 
331
- # Compile a ForwardingSuperNode node
332
- def visit_forwarding_super_node(node)
345
+ #: (ForwardingSuperNode) -> Array[untyped]
346
+ def visit_forwarding_super_node(node) # :nodoc:
333
347
  node.each_child_node.map { |node| node.accept(self) }
334
348
  end
335
349
 
336
- # Compile a GlobalVariableAndWriteNode node
337
- def visit_global_variable_and_write_node(node)
350
+ #: (GlobalVariableAndWriteNode) -> Array[untyped]
351
+ def visit_global_variable_and_write_node(node) # :nodoc:
338
352
  node.each_child_node.map { |node| node.accept(self) }
339
353
  end
340
354
 
341
- # Compile a GlobalVariableOperatorWriteNode node
342
- def visit_global_variable_operator_write_node(node)
355
+ #: (GlobalVariableOperatorWriteNode) -> Array[untyped]
356
+ def visit_global_variable_operator_write_node(node) # :nodoc:
343
357
  node.each_child_node.map { |node| node.accept(self) }
344
358
  end
345
359
 
346
- # Compile a GlobalVariableOrWriteNode node
347
- def visit_global_variable_or_write_node(node)
360
+ #: (GlobalVariableOrWriteNode) -> Array[untyped]
361
+ def visit_global_variable_or_write_node(node) # :nodoc:
348
362
  node.each_child_node.map { |node| node.accept(self) }
349
363
  end
350
364
 
351
- # Compile a GlobalVariableReadNode node
352
- def visit_global_variable_read_node(node)
365
+ #: (GlobalVariableReadNode) -> Array[untyped]
366
+ def visit_global_variable_read_node(node) # :nodoc:
353
367
  node.each_child_node.map { |node| node.accept(self) }
354
368
  end
355
369
 
356
- # Compile a GlobalVariableTargetNode node
357
- def visit_global_variable_target_node(node)
370
+ #: (GlobalVariableTargetNode) -> Array[untyped]
371
+ def visit_global_variable_target_node(node) # :nodoc:
358
372
  node.each_child_node.map { |node| node.accept(self) }
359
373
  end
360
374
 
361
- # Compile a GlobalVariableWriteNode node
362
- def visit_global_variable_write_node(node)
375
+ #: (GlobalVariableWriteNode) -> Array[untyped]
376
+ def visit_global_variable_write_node(node) # :nodoc:
363
377
  node.each_child_node.map { |node| node.accept(self) }
364
378
  end
365
379
 
366
- # Compile a HashNode node
367
- def visit_hash_node(node)
380
+ #: (HashNode) -> Array[untyped]
381
+ def visit_hash_node(node) # :nodoc:
368
382
  node.each_child_node.map { |node| node.accept(self) }
369
383
  end
370
384
 
371
- # Compile a HashPatternNode node
372
- def visit_hash_pattern_node(node)
385
+ #: (HashPatternNode) -> Array[untyped]
386
+ def visit_hash_pattern_node(node) # :nodoc:
373
387
  node.each_child_node.map { |node| node.accept(self) }
374
388
  end
375
389
 
376
- # Compile a IfNode node
377
- def visit_if_node(node)
390
+ #: (IfNode) -> Array[untyped]
391
+ def visit_if_node(node) # :nodoc:
378
392
  node.each_child_node.map { |node| node.accept(self) }
379
393
  end
380
394
 
381
- # Compile a ImaginaryNode node
382
- def visit_imaginary_node(node)
395
+ #: (ImaginaryNode) -> Array[untyped]
396
+ def visit_imaginary_node(node) # :nodoc:
383
397
  node.each_child_node.map { |node| node.accept(self) }
384
398
  end
385
399
 
386
- # Compile a ImplicitNode node
387
- def visit_implicit_node(node)
400
+ #: (ImplicitNode) -> Array[untyped]
401
+ def visit_implicit_node(node) # :nodoc:
388
402
  node.each_child_node.map { |node| node.accept(self) }
389
403
  end
390
404
 
391
- # Compile a ImplicitRestNode node
392
- def visit_implicit_rest_node(node)
405
+ #: (ImplicitRestNode) -> Array[untyped]
406
+ def visit_implicit_rest_node(node) # :nodoc:
393
407
  node.each_child_node.map { |node| node.accept(self) }
394
408
  end
395
409
 
396
- # Compile a InNode node
397
- def visit_in_node(node)
410
+ #: (InNode) -> Array[untyped]
411
+ def visit_in_node(node) # :nodoc:
398
412
  node.each_child_node.map { |node| node.accept(self) }
399
413
  end
400
414
 
401
- # Compile a IndexAndWriteNode node
402
- def visit_index_and_write_node(node)
415
+ #: (IndexAndWriteNode) -> Array[untyped]
416
+ def visit_index_and_write_node(node) # :nodoc:
403
417
  node.each_child_node.map { |node| node.accept(self) }
404
418
  end
405
419
 
406
- # Compile a IndexOperatorWriteNode node
407
- def visit_index_operator_write_node(node)
420
+ #: (IndexOperatorWriteNode) -> Array[untyped]
421
+ def visit_index_operator_write_node(node) # :nodoc:
408
422
  node.each_child_node.map { |node| node.accept(self) }
409
423
  end
410
424
 
411
- # Compile a IndexOrWriteNode node
412
- def visit_index_or_write_node(node)
425
+ #: (IndexOrWriteNode) -> Array[untyped]
426
+ def visit_index_or_write_node(node) # :nodoc:
413
427
  node.each_child_node.map { |node| node.accept(self) }
414
428
  end
415
429
 
416
- # Compile a IndexTargetNode node
417
- def visit_index_target_node(node)
430
+ #: (IndexTargetNode) -> Array[untyped]
431
+ def visit_index_target_node(node) # :nodoc:
418
432
  node.each_child_node.map { |node| node.accept(self) }
419
433
  end
420
434
 
421
- # Compile a InstanceVariableAndWriteNode node
422
- def visit_instance_variable_and_write_node(node)
435
+ #: (InstanceVariableAndWriteNode) -> Array[untyped]
436
+ def visit_instance_variable_and_write_node(node) # :nodoc:
423
437
  node.each_child_node.map { |node| node.accept(self) }
424
438
  end
425
439
 
426
- # Compile a InstanceVariableOperatorWriteNode node
427
- def visit_instance_variable_operator_write_node(node)
440
+ #: (InstanceVariableOperatorWriteNode) -> Array[untyped]
441
+ def visit_instance_variable_operator_write_node(node) # :nodoc:
428
442
  node.each_child_node.map { |node| node.accept(self) }
429
443
  end
430
444
 
431
- # Compile a InstanceVariableOrWriteNode node
432
- def visit_instance_variable_or_write_node(node)
445
+ #: (InstanceVariableOrWriteNode) -> Array[untyped]
446
+ def visit_instance_variable_or_write_node(node) # :nodoc:
433
447
  node.each_child_node.map { |node| node.accept(self) }
434
448
  end
435
449
 
436
- # Compile a InstanceVariableReadNode node
437
- def visit_instance_variable_read_node(node)
450
+ #: (InstanceVariableReadNode) -> Array[untyped]
451
+ def visit_instance_variable_read_node(node) # :nodoc:
438
452
  node.each_child_node.map { |node| node.accept(self) }
439
453
  end
440
454
 
441
- # Compile a InstanceVariableTargetNode node
442
- def visit_instance_variable_target_node(node)
455
+ #: (InstanceVariableTargetNode) -> Array[untyped]
456
+ def visit_instance_variable_target_node(node) # :nodoc:
443
457
  node.each_child_node.map { |node| node.accept(self) }
444
458
  end
445
459
 
446
- # Compile a InstanceVariableWriteNode node
447
- def visit_instance_variable_write_node(node)
460
+ #: (InstanceVariableWriteNode) -> Array[untyped]
461
+ def visit_instance_variable_write_node(node) # :nodoc:
448
462
  node.each_child_node.map { |node| node.accept(self) }
449
463
  end
450
464
 
451
- # Compile a IntegerNode node
452
- def visit_integer_node(node)
465
+ #: (IntegerNode) -> Array[untyped]
466
+ def visit_integer_node(node) # :nodoc:
453
467
  node.each_child_node.map { |node| node.accept(self) }
454
468
  end
455
469
 
456
- # Compile a InterpolatedMatchLastLineNode node
457
- def visit_interpolated_match_last_line_node(node)
470
+ #: (InterpolatedMatchLastLineNode) -> Array[untyped]
471
+ def visit_interpolated_match_last_line_node(node) # :nodoc:
458
472
  node.each_child_node.map { |node| node.accept(self) }
459
473
  end
460
474
 
461
- # Compile a InterpolatedRegularExpressionNode node
462
- def visit_interpolated_regular_expression_node(node)
475
+ #: (InterpolatedRegularExpressionNode) -> Array[untyped]
476
+ def visit_interpolated_regular_expression_node(node) # :nodoc:
463
477
  node.each_child_node.map { |node| node.accept(self) }
464
478
  end
465
479
 
466
- # Compile a InterpolatedStringNode node
467
- def visit_interpolated_string_node(node)
480
+ #: (InterpolatedStringNode) -> Array[untyped]
481
+ def visit_interpolated_string_node(node) # :nodoc:
468
482
  node.each_child_node.map { |node| node.accept(self) }
469
483
  end
470
484
 
471
- # Compile a InterpolatedSymbolNode node
472
- def visit_interpolated_symbol_node(node)
485
+ #: (InterpolatedSymbolNode) -> Array[untyped]
486
+ def visit_interpolated_symbol_node(node) # :nodoc:
473
487
  node.each_child_node.map { |node| node.accept(self) }
474
488
  end
475
489
 
476
- # Compile a InterpolatedXStringNode node
477
- def visit_interpolated_x_string_node(node)
490
+ #: (InterpolatedXStringNode) -> Array[untyped]
491
+ def visit_interpolated_x_string_node(node) # :nodoc:
478
492
  node.each_child_node.map { |node| node.accept(self) }
479
493
  end
480
494
 
481
- # Compile a ItLocalVariableReadNode node
482
- def visit_it_local_variable_read_node(node)
495
+ #: (ItLocalVariableReadNode) -> Array[untyped]
496
+ def visit_it_local_variable_read_node(node) # :nodoc:
483
497
  node.each_child_node.map { |node| node.accept(self) }
484
498
  end
485
499
 
486
- # Compile a ItParametersNode node
487
- def visit_it_parameters_node(node)
500
+ #: (ItParametersNode) -> Array[untyped]
501
+ def visit_it_parameters_node(node) # :nodoc:
488
502
  node.each_child_node.map { |node| node.accept(self) }
489
503
  end
490
504
 
491
- # Compile a KeywordHashNode node
492
- def visit_keyword_hash_node(node)
505
+ #: (KeywordHashNode) -> Array[untyped]
506
+ def visit_keyword_hash_node(node) # :nodoc:
493
507
  node.each_child_node.map { |node| node.accept(self) }
494
508
  end
495
509
 
496
- # Compile a KeywordRestParameterNode node
497
- def visit_keyword_rest_parameter_node(node)
510
+ #: (KeywordRestParameterNode) -> Array[untyped]
511
+ def visit_keyword_rest_parameter_node(node) # :nodoc:
498
512
  node.each_child_node.map { |node| node.accept(self) }
499
513
  end
500
514
 
501
- # Compile a LambdaNode node
502
- def visit_lambda_node(node)
515
+ #: (LambdaNode) -> Array[untyped]
516
+ def visit_lambda_node(node) # :nodoc:
503
517
  node.each_child_node.map { |node| node.accept(self) }
504
518
  end
505
519
 
506
- # Compile a LocalVariableAndWriteNode node
507
- def visit_local_variable_and_write_node(node)
520
+ #: (LocalVariableAndWriteNode) -> Array[untyped]
521
+ def visit_local_variable_and_write_node(node) # :nodoc:
508
522
  node.each_child_node.map { |node| node.accept(self) }
509
523
  end
510
524
 
511
- # Compile a LocalVariableOperatorWriteNode node
512
- def visit_local_variable_operator_write_node(node)
525
+ #: (LocalVariableOperatorWriteNode) -> Array[untyped]
526
+ def visit_local_variable_operator_write_node(node) # :nodoc:
513
527
  node.each_child_node.map { |node| node.accept(self) }
514
528
  end
515
529
 
516
- # Compile a LocalVariableOrWriteNode node
517
- def visit_local_variable_or_write_node(node)
530
+ #: (LocalVariableOrWriteNode) -> Array[untyped]
531
+ def visit_local_variable_or_write_node(node) # :nodoc:
518
532
  node.each_child_node.map { |node| node.accept(self) }
519
533
  end
520
534
 
521
- # Compile a LocalVariableReadNode node
522
- def visit_local_variable_read_node(node)
535
+ #: (LocalVariableReadNode) -> Array[untyped]
536
+ def visit_local_variable_read_node(node) # :nodoc:
523
537
  node.each_child_node.map { |node| node.accept(self) }
524
538
  end
525
539
 
526
- # Compile a LocalVariableTargetNode node
527
- def visit_local_variable_target_node(node)
540
+ #: (LocalVariableTargetNode) -> Array[untyped]
541
+ def visit_local_variable_target_node(node) # :nodoc:
528
542
  node.each_child_node.map { |node| node.accept(self) }
529
543
  end
530
544
 
531
- # Compile a LocalVariableWriteNode node
532
- def visit_local_variable_write_node(node)
545
+ #: (LocalVariableWriteNode) -> Array[untyped]
546
+ def visit_local_variable_write_node(node) # :nodoc:
533
547
  node.each_child_node.map { |node| node.accept(self) }
534
548
  end
535
549
 
536
- # Compile a MatchLastLineNode node
537
- def visit_match_last_line_node(node)
550
+ #: (MatchLastLineNode) -> Array[untyped]
551
+ def visit_match_last_line_node(node) # :nodoc:
538
552
  node.each_child_node.map { |node| node.accept(self) }
539
553
  end
540
554
 
541
- # Compile a MatchPredicateNode node
542
- def visit_match_predicate_node(node)
555
+ #: (MatchPredicateNode) -> Array[untyped]
556
+ def visit_match_predicate_node(node) # :nodoc:
543
557
  node.each_child_node.map { |node| node.accept(self) }
544
558
  end
545
559
 
546
- # Compile a MatchRequiredNode node
547
- def visit_match_required_node(node)
560
+ #: (MatchRequiredNode) -> Array[untyped]
561
+ def visit_match_required_node(node) # :nodoc:
548
562
  node.each_child_node.map { |node| node.accept(self) }
549
563
  end
550
564
 
551
- # Compile a MatchWriteNode node
552
- def visit_match_write_node(node)
565
+ #: (MatchWriteNode) -> Array[untyped]
566
+ def visit_match_write_node(node) # :nodoc:
553
567
  node.each_child_node.map { |node| node.accept(self) }
554
568
  end
555
569
 
556
- # Compile a MissingNode node
557
- def visit_missing_node(node)
570
+ #: (ModuleNode) -> Array[untyped]
571
+ def visit_module_node(node) # :nodoc:
558
572
  node.each_child_node.map { |node| node.accept(self) }
559
573
  end
560
574
 
561
- # Compile a ModuleNode node
562
- def visit_module_node(node)
575
+ #: (MultiTargetNode) -> Array[untyped]
576
+ def visit_multi_target_node(node) # :nodoc:
563
577
  node.each_child_node.map { |node| node.accept(self) }
564
578
  end
565
579
 
566
- # Compile a MultiTargetNode node
567
- def visit_multi_target_node(node)
580
+ #: (MultiWriteNode) -> Array[untyped]
581
+ def visit_multi_write_node(node) # :nodoc:
568
582
  node.each_child_node.map { |node| node.accept(self) }
569
583
  end
570
584
 
571
- # Compile a MultiWriteNode node
572
- def visit_multi_write_node(node)
585
+ #: (NextNode) -> Array[untyped]
586
+ def visit_next_node(node) # :nodoc:
573
587
  node.each_child_node.map { |node| node.accept(self) }
574
588
  end
575
589
 
576
- # Compile a NextNode node
577
- def visit_next_node(node)
590
+ #: (NilNode) -> Array[untyped]
591
+ def visit_nil_node(node) # :nodoc:
578
592
  node.each_child_node.map { |node| node.accept(self) }
579
593
  end
580
594
 
581
- # Compile a NilNode node
582
- def visit_nil_node(node)
595
+ #: (NoBlockParameterNode) -> Array[untyped]
596
+ def visit_no_block_parameter_node(node) # :nodoc:
583
597
  node.each_child_node.map { |node| node.accept(self) }
584
598
  end
585
599
 
586
- # Compile a NoKeywordsParameterNode node
587
- def visit_no_keywords_parameter_node(node)
600
+ #: (NoKeywordsParameterNode) -> Array[untyped]
601
+ def visit_no_keywords_parameter_node(node) # :nodoc:
588
602
  node.each_child_node.map { |node| node.accept(self) }
589
603
  end
590
604
 
591
- # Compile a NumberedParametersNode node
592
- def visit_numbered_parameters_node(node)
605
+ #: (NumberedParametersNode) -> Array[untyped]
606
+ def visit_numbered_parameters_node(node) # :nodoc:
593
607
  node.each_child_node.map { |node| node.accept(self) }
594
608
  end
595
609
 
596
- # Compile a NumberedReferenceReadNode node
597
- def visit_numbered_reference_read_node(node)
610
+ #: (NumberedReferenceReadNode) -> Array[untyped]
611
+ def visit_numbered_reference_read_node(node) # :nodoc:
598
612
  node.each_child_node.map { |node| node.accept(self) }
599
613
  end
600
614
 
601
- # Compile a OptionalKeywordParameterNode node
602
- def visit_optional_keyword_parameter_node(node)
615
+ #: (OptionalKeywordParameterNode) -> Array[untyped]
616
+ def visit_optional_keyword_parameter_node(node) # :nodoc:
603
617
  node.each_child_node.map { |node| node.accept(self) }
604
618
  end
605
619
 
606
- # Compile a OptionalParameterNode node
607
- def visit_optional_parameter_node(node)
620
+ #: (OptionalParameterNode) -> Array[untyped]
621
+ def visit_optional_parameter_node(node) # :nodoc:
608
622
  node.each_child_node.map { |node| node.accept(self) }
609
623
  end
610
624
 
611
- # Compile a OrNode node
612
- def visit_or_node(node)
625
+ #: (OrNode) -> Array[untyped]
626
+ def visit_or_node(node) # :nodoc:
613
627
  node.each_child_node.map { |node| node.accept(self) }
614
628
  end
615
629
 
616
- # Compile a ParametersNode node
617
- def visit_parameters_node(node)
630
+ #: (ParametersNode) -> Array[untyped]
631
+ def visit_parameters_node(node) # :nodoc:
618
632
  node.each_child_node.map { |node| node.accept(self) }
619
633
  end
620
634
 
621
- # Compile a ParenthesesNode node
622
- def visit_parentheses_node(node)
635
+ #: (ParenthesesNode) -> Array[untyped]
636
+ def visit_parentheses_node(node) # :nodoc:
623
637
  node.each_child_node.map { |node| node.accept(self) }
624
638
  end
625
639
 
626
- # Compile a PinnedExpressionNode node
627
- def visit_pinned_expression_node(node)
640
+ #: (PinnedExpressionNode) -> Array[untyped]
641
+ def visit_pinned_expression_node(node) # :nodoc:
628
642
  node.each_child_node.map { |node| node.accept(self) }
629
643
  end
630
644
 
631
- # Compile a PinnedVariableNode node
632
- def visit_pinned_variable_node(node)
645
+ #: (PinnedVariableNode) -> Array[untyped]
646
+ def visit_pinned_variable_node(node) # :nodoc:
633
647
  node.each_child_node.map { |node| node.accept(self) }
634
648
  end
635
649
 
636
- # Compile a PostExecutionNode node
637
- def visit_post_execution_node(node)
650
+ #: (PostExecutionNode) -> Array[untyped]
651
+ def visit_post_execution_node(node) # :nodoc:
638
652
  node.each_child_node.map { |node| node.accept(self) }
639
653
  end
640
654
 
641
- # Compile a PreExecutionNode node
642
- def visit_pre_execution_node(node)
655
+ #: (PreExecutionNode) -> Array[untyped]
656
+ def visit_pre_execution_node(node) # :nodoc:
643
657
  node.each_child_node.map { |node| node.accept(self) }
644
658
  end
645
659
 
646
- # Compile a ProgramNode node
647
- def visit_program_node(node)
660
+ #: (ProgramNode) -> Array[untyped]
661
+ def visit_program_node(node) # :nodoc:
648
662
  node.each_child_node.map { |node| node.accept(self) }
649
663
  end
650
664
 
651
- # Compile a RangeNode node
652
- def visit_range_node(node)
665
+ #: (RangeNode) -> Array[untyped]
666
+ def visit_range_node(node) # :nodoc:
653
667
  node.each_child_node.map { |node| node.accept(self) }
654
668
  end
655
669
 
656
- # Compile a RationalNode node
657
- def visit_rational_node(node)
670
+ #: (RationalNode) -> Array[untyped]
671
+ def visit_rational_node(node) # :nodoc:
658
672
  node.each_child_node.map { |node| node.accept(self) }
659
673
  end
660
674
 
661
- # Compile a RedoNode node
662
- def visit_redo_node(node)
675
+ #: (RedoNode) -> Array[untyped]
676
+ def visit_redo_node(node) # :nodoc:
663
677
  node.each_child_node.map { |node| node.accept(self) }
664
678
  end
665
679
 
666
- # Compile a RegularExpressionNode node
667
- def visit_regular_expression_node(node)
680
+ #: (RegularExpressionNode) -> Array[untyped]
681
+ def visit_regular_expression_node(node) # :nodoc:
668
682
  node.each_child_node.map { |node| node.accept(self) }
669
683
  end
670
684
 
671
- # Compile a RequiredKeywordParameterNode node
672
- def visit_required_keyword_parameter_node(node)
685
+ #: (RequiredKeywordParameterNode) -> Array[untyped]
686
+ def visit_required_keyword_parameter_node(node) # :nodoc:
673
687
  node.each_child_node.map { |node| node.accept(self) }
674
688
  end
675
689
 
676
- # Compile a RequiredParameterNode node
677
- def visit_required_parameter_node(node)
690
+ #: (RequiredParameterNode) -> Array[untyped]
691
+ def visit_required_parameter_node(node) # :nodoc:
678
692
  node.each_child_node.map { |node| node.accept(self) }
679
693
  end
680
694
 
681
- # Compile a RescueModifierNode node
682
- def visit_rescue_modifier_node(node)
695
+ #: (RescueModifierNode) -> Array[untyped]
696
+ def visit_rescue_modifier_node(node) # :nodoc:
683
697
  node.each_child_node.map { |node| node.accept(self) }
684
698
  end
685
699
 
686
- # Compile a RescueNode node
687
- def visit_rescue_node(node)
700
+ #: (RescueNode) -> Array[untyped]
701
+ def visit_rescue_node(node) # :nodoc:
688
702
  node.each_child_node.map { |node| node.accept(self) }
689
703
  end
690
704
 
691
- # Compile a RestParameterNode node
692
- def visit_rest_parameter_node(node)
705
+ #: (RestParameterNode) -> Array[untyped]
706
+ def visit_rest_parameter_node(node) # :nodoc:
693
707
  node.each_child_node.map { |node| node.accept(self) }
694
708
  end
695
709
 
696
- # Compile a RetryNode node
697
- def visit_retry_node(node)
710
+ #: (RetryNode) -> Array[untyped]
711
+ def visit_retry_node(node) # :nodoc:
698
712
  node.each_child_node.map { |node| node.accept(self) }
699
713
  end
700
714
 
701
- # Compile a ReturnNode node
702
- def visit_return_node(node)
715
+ #: (ReturnNode) -> Array[untyped]
716
+ def visit_return_node(node) # :nodoc:
703
717
  node.each_child_node.map { |node| node.accept(self) }
704
718
  end
705
719
 
706
- # Compile a SelfNode node
707
- def visit_self_node(node)
720
+ #: (SelfNode) -> Array[untyped]
721
+ def visit_self_node(node) # :nodoc:
708
722
  node.each_child_node.map { |node| node.accept(self) }
709
723
  end
710
724
 
711
- # Compile a ShareableConstantNode node
712
- def visit_shareable_constant_node(node)
725
+ #: (ShareableConstantNode) -> Array[untyped]
726
+ def visit_shareable_constant_node(node) # :nodoc:
713
727
  node.each_child_node.map { |node| node.accept(self) }
714
728
  end
715
729
 
716
- # Compile a SingletonClassNode node
717
- def visit_singleton_class_node(node)
730
+ #: (SingletonClassNode) -> Array[untyped]
731
+ def visit_singleton_class_node(node) # :nodoc:
718
732
  node.each_child_node.map { |node| node.accept(self) }
719
733
  end
720
734
 
721
- # Compile a SourceEncodingNode node
722
- def visit_source_encoding_node(node)
735
+ #: (SourceEncodingNode) -> Array[untyped]
736
+ def visit_source_encoding_node(node) # :nodoc:
723
737
  node.each_child_node.map { |node| node.accept(self) }
724
738
  end
725
739
 
726
- # Compile a SourceFileNode node
727
- def visit_source_file_node(node)
740
+ #: (SourceFileNode) -> Array[untyped]
741
+ def visit_source_file_node(node) # :nodoc:
728
742
  node.each_child_node.map { |node| node.accept(self) }
729
743
  end
730
744
 
731
- # Compile a SourceLineNode node
732
- def visit_source_line_node(node)
745
+ #: (SourceLineNode) -> Array[untyped]
746
+ def visit_source_line_node(node) # :nodoc:
733
747
  node.each_child_node.map { |node| node.accept(self) }
734
748
  end
735
749
 
736
- # Compile a SplatNode node
737
- def visit_splat_node(node)
750
+ #: (SplatNode) -> Array[untyped]
751
+ def visit_splat_node(node) # :nodoc:
738
752
  node.each_child_node.map { |node| node.accept(self) }
739
753
  end
740
754
 
741
- # Compile a StatementsNode node
742
- def visit_statements_node(node)
755
+ #: (StatementsNode) -> Array[untyped]
756
+ def visit_statements_node(node) # :nodoc:
743
757
  node.each_child_node.map { |node| node.accept(self) }
744
758
  end
745
759
 
746
- # Compile a StringNode node
747
- def visit_string_node(node)
760
+ #: (StringNode) -> Array[untyped]
761
+ def visit_string_node(node) # :nodoc:
748
762
  node.each_child_node.map { |node| node.accept(self) }
749
763
  end
750
764
 
751
- # Compile a SuperNode node
752
- def visit_super_node(node)
765
+ #: (SuperNode) -> Array[untyped]
766
+ def visit_super_node(node) # :nodoc:
753
767
  node.each_child_node.map { |node| node.accept(self) }
754
768
  end
755
769
 
756
- # Compile a SymbolNode node
757
- def visit_symbol_node(node)
770
+ #: (SymbolNode) -> Array[untyped]
771
+ def visit_symbol_node(node) # :nodoc:
758
772
  node.each_child_node.map { |node| node.accept(self) }
759
773
  end
760
774
 
761
- # Compile a TrueNode node
762
- def visit_true_node(node)
775
+ #: (TrueNode) -> Array[untyped]
776
+ def visit_true_node(node) # :nodoc:
763
777
  node.each_child_node.map { |node| node.accept(self) }
764
778
  end
765
779
 
766
- # Compile a UndefNode node
767
- def visit_undef_node(node)
780
+ #: (UndefNode) -> Array[untyped]
781
+ def visit_undef_node(node) # :nodoc:
768
782
  node.each_child_node.map { |node| node.accept(self) }
769
783
  end
770
784
 
771
- # Compile a UnlessNode node
772
- def visit_unless_node(node)
785
+ #: (UnlessNode) -> Array[untyped]
786
+ def visit_unless_node(node) # :nodoc:
773
787
  node.each_child_node.map { |node| node.accept(self) }
774
788
  end
775
789
 
776
- # Compile a UntilNode node
777
- def visit_until_node(node)
790
+ #: (UntilNode) -> Array[untyped]
791
+ def visit_until_node(node) # :nodoc:
778
792
  node.each_child_node.map { |node| node.accept(self) }
779
793
  end
780
794
 
781
- # Compile a WhenNode node
782
- def visit_when_node(node)
795
+ #: (WhenNode) -> Array[untyped]
796
+ def visit_when_node(node) # :nodoc:
783
797
  node.each_child_node.map { |node| node.accept(self) }
784
798
  end
785
799
 
786
- # Compile a WhileNode node
787
- def visit_while_node(node)
800
+ #: (WhileNode) -> Array[untyped]
801
+ def visit_while_node(node) # :nodoc:
788
802
  node.each_child_node.map { |node| node.accept(self) }
789
803
  end
790
804
 
791
- # Compile a XStringNode node
792
- def visit_x_string_node(node)
805
+ #: (XStringNode) -> Array[untyped]
806
+ def visit_x_string_node(node) # :nodoc:
793
807
  node.each_child_node.map { |node| node.accept(self) }
794
808
  end
795
809
 
796
- # Compile a YieldNode node
797
- def visit_yield_node(node)
810
+ #: (YieldNode) -> Array[untyped]
811
+ def visit_yield_node(node) # :nodoc:
798
812
  node.each_child_node.map { |node| node.accept(self) }
799
813
  end
800
814
  end