class Prism::Compiler
A compiler is a visitor that returns the value of each node as it visits. This is as opposed to a visitor which will only walk the tree. This can be useful when you are trying to compile a tree into a different format.
For example, to build a representation of the tree as s-expressions, you could write:
class SExpressions < Prism::Compiler def visit_arguments_node(node) = [:arguments, super] def visit_call_node(node) = [:call, super] def visit_integer_node(node) = [:integer] def visit_program_node(node) = [:program, super] end Prism.parse("1 + 2").value.accept(SExpressions.new) # => [:program, [[[:call, [[:integer], [:arguments, [[:integer]]]]]]]]
Public Instance Methods
Source
# File lib/prism/compiler.rb, line 32 def visit(node) node&.accept(self) end
Visit an individual node.
Source
# File lib/prism/compiler.rb, line 47 def visit_alias_global_variable_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a AliasGlobalVariableNode
node
Source
# File lib/prism/compiler.rb, line 52 def visit_alias_method_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a AliasMethodNode
node
Source
# File lib/prism/compiler.rb, line 37 def visit_all(nodes) nodes.map { |node| node&.accept(self) } end
Visit a list of nodes.
Source
# File lib/prism/compiler.rb, line 57 def visit_alternation_pattern_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a AlternationPatternNode
node
Source
# File lib/prism/compiler.rb, line 62 def visit_and_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a AndNode
node
Source
# File lib/prism/compiler.rb, line 67 def visit_arguments_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a ArgumentsNode
node
Source
# File lib/prism/compiler.rb, line 72 def visit_array_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a ArrayNode
node
Source
# File lib/prism/compiler.rb, line 77 def visit_array_pattern_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a ArrayPatternNode
node
Source
# File lib/prism/compiler.rb, line 82 def visit_assoc_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a AssocNode
node
Source
# File lib/prism/compiler.rb, line 87 def visit_assoc_splat_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a AssocSplatNode
node
Source
# File lib/prism/compiler.rb, line 92 def visit_back_reference_read_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a BackReferenceReadNode
node
Source
# File lib/prism/compiler.rb, line 97 def visit_begin_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a BeginNode
node
Source
# File lib/prism/compiler.rb, line 102 def visit_block_argument_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a BlockArgumentNode
node
Source
# File lib/prism/compiler.rb, line 107 def visit_block_local_variable_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a BlockLocalVariableNode
node
Source
# File lib/prism/compiler.rb, line 112 def visit_block_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a BlockNode
node
Source
# File lib/prism/compiler.rb, line 117 def visit_block_parameter_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a BlockParameterNode
node
Source
# File lib/prism/compiler.rb, line 122 def visit_block_parameters_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a BlockParametersNode
node
Source
# File lib/prism/compiler.rb, line 127 def visit_break_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a BreakNode
node
Source
# File lib/prism/compiler.rb, line 132 def visit_call_and_write_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a CallAndWriteNode
node
Source
# File lib/prism/compiler.rb, line 137 def visit_call_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a CallNode
node
Source
# File lib/prism/compiler.rb, line 142 def visit_call_operator_write_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a CallOperatorWriteNode
node
Source
# File lib/prism/compiler.rb, line 147 def visit_call_or_write_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a CallOrWriteNode
node
Source
# File lib/prism/compiler.rb, line 152 def visit_call_target_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a CallTargetNode
node
Source
# File lib/prism/compiler.rb, line 157 def visit_capture_pattern_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a CapturePatternNode
node
Source
# File lib/prism/compiler.rb, line 162 def visit_case_match_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a CaseMatchNode
node
Source
# File lib/prism/compiler.rb, line 167 def visit_case_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a CaseNode
node
Source
# File lib/prism/compiler.rb, line 42 def visit_child_nodes(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Visit the child nodes of the given node.
Source
# File lib/prism/compiler.rb, line 172 def visit_class_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a ClassNode
node
Source
# File lib/prism/compiler.rb, line 177 def visit_class_variable_and_write_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a ClassVariableAndWriteNode
node
Source
# File lib/prism/compiler.rb, line 182 def visit_class_variable_operator_write_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a ClassVariableOperatorWriteNode
node
Source
# File lib/prism/compiler.rb, line 187 def visit_class_variable_or_write_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a ClassVariableOrWriteNode
node
Source
# File lib/prism/compiler.rb, line 192 def visit_class_variable_read_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a ClassVariableReadNode
node
Source
# File lib/prism/compiler.rb, line 197 def visit_class_variable_target_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a ClassVariableTargetNode
node
Source
# File lib/prism/compiler.rb, line 202 def visit_class_variable_write_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a ClassVariableWriteNode
node
Source
# File lib/prism/compiler.rb, line 207 def visit_constant_and_write_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a ConstantAndWriteNode
node
Source
# File lib/prism/compiler.rb, line 212 def visit_constant_operator_write_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a ConstantOperatorWriteNode
node
Source
# File lib/prism/compiler.rb, line 217 def visit_constant_or_write_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a ConstantOrWriteNode
node
Source
# File lib/prism/compiler.rb, line 222 def visit_constant_path_and_write_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a ConstantPathAndWriteNode
node
Source
# File lib/prism/compiler.rb, line 227 def visit_constant_path_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a ConstantPathNode
node
Source
# File lib/prism/compiler.rb, line 232 def visit_constant_path_operator_write_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a ConstantPathOperatorWriteNode
node
Source
# File lib/prism/compiler.rb, line 237 def visit_constant_path_or_write_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a ConstantPathOrWriteNode
node
Source
# File lib/prism/compiler.rb, line 242 def visit_constant_path_target_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a ConstantPathTargetNode
node
Source
# File lib/prism/compiler.rb, line 247 def visit_constant_path_write_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a ConstantPathWriteNode
node
Source
# File lib/prism/compiler.rb, line 252 def visit_constant_read_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a ConstantReadNode
node
Source
# File lib/prism/compiler.rb, line 257 def visit_constant_target_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a ConstantTargetNode
node
Source
# File lib/prism/compiler.rb, line 262 def visit_constant_write_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a ConstantWriteNode
node
Source
# File lib/prism/compiler.rb, line 267 def visit_def_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a DefNode
node
Source
# File lib/prism/compiler.rb, line 272 def visit_defined_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a DefinedNode
node
Source
# File lib/prism/compiler.rb, line 277 def visit_else_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a ElseNode
node
Source
# File lib/prism/compiler.rb, line 282 def visit_embedded_statements_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a EmbeddedStatementsNode
node
Source
# File lib/prism/compiler.rb, line 287 def visit_embedded_variable_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a EmbeddedVariableNode
node
Source
# File lib/prism/compiler.rb, line 292 def visit_ensure_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a EnsureNode
node
Source
# File lib/prism/compiler.rb, line 297 def visit_false_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a FalseNode
node
Source
# File lib/prism/compiler.rb, line 302 def visit_find_pattern_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a FindPatternNode
node
Source
# File lib/prism/compiler.rb, line 307 def visit_flip_flop_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a FlipFlopNode
node
Source
# File lib/prism/compiler.rb, line 312 def visit_float_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a FloatNode
node
Source
# File lib/prism/compiler.rb, line 317 def visit_for_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a ForNode
node
Source
# File lib/prism/compiler.rb, line 322 def visit_forwarding_arguments_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a ForwardingArgumentsNode
node
Source
# File lib/prism/compiler.rb, line 327 def visit_forwarding_parameter_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a ForwardingParameterNode
node
Source
# File lib/prism/compiler.rb, line 332 def visit_forwarding_super_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a ForwardingSuperNode
node
Source
# File lib/prism/compiler.rb, line 337 def visit_global_variable_and_write_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a GlobalVariableAndWriteNode
node
Source
# File lib/prism/compiler.rb, line 342 def visit_global_variable_operator_write_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a GlobalVariableOperatorWriteNode
node
Source
# File lib/prism/compiler.rb, line 347 def visit_global_variable_or_write_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a GlobalVariableOrWriteNode
node
Source
# File lib/prism/compiler.rb, line 352 def visit_global_variable_read_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a GlobalVariableReadNode
node
Source
# File lib/prism/compiler.rb, line 357 def visit_global_variable_target_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a GlobalVariableTargetNode
node
Source
# File lib/prism/compiler.rb, line 362 def visit_global_variable_write_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a GlobalVariableWriteNode
node
Source
# File lib/prism/compiler.rb, line 367 def visit_hash_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a HashNode
node
Source
# File lib/prism/compiler.rb, line 372 def visit_hash_pattern_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a HashPatternNode
node
Source
# File lib/prism/compiler.rb, line 377 def visit_if_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a IfNode
node
Source
# File lib/prism/compiler.rb, line 382 def visit_imaginary_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a ImaginaryNode
node
Source
# File lib/prism/compiler.rb, line 387 def visit_implicit_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a ImplicitNode
node
Source
# File lib/prism/compiler.rb, line 392 def visit_implicit_rest_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a ImplicitRestNode
node
Source
# File lib/prism/compiler.rb, line 397 def visit_in_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a InNode
node
Source
# File lib/prism/compiler.rb, line 402 def visit_index_and_write_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a IndexAndWriteNode
node
Source
# File lib/prism/compiler.rb, line 407 def visit_index_operator_write_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a IndexOperatorWriteNode
node
Source
# File lib/prism/compiler.rb, line 412 def visit_index_or_write_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a IndexOrWriteNode
node
Source
# File lib/prism/compiler.rb, line 417 def visit_index_target_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a IndexTargetNode
node
Source
# File lib/prism/compiler.rb, line 422 def visit_instance_variable_and_write_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a InstanceVariableAndWriteNode
node
Source
# File lib/prism/compiler.rb, line 427 def visit_instance_variable_operator_write_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a InstanceVariableOperatorWriteNode
node
Source
# File lib/prism/compiler.rb, line 432 def visit_instance_variable_or_write_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a InstanceVariableOrWriteNode
node
Source
# File lib/prism/compiler.rb, line 437 def visit_instance_variable_read_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a InstanceVariableReadNode
node
Source
# File lib/prism/compiler.rb, line 442 def visit_instance_variable_target_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a InstanceVariableTargetNode
node
Source
# File lib/prism/compiler.rb, line 447 def visit_instance_variable_write_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a InstanceVariableWriteNode
node
Source
# File lib/prism/compiler.rb, line 452 def visit_integer_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a IntegerNode
node
Source
# File lib/prism/compiler.rb, line 457 def visit_interpolated_match_last_line_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a InterpolatedMatchLastLineNode
node
Source
# File lib/prism/compiler.rb, line 462 def visit_interpolated_regular_expression_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a InterpolatedRegularExpressionNode
node
Source
# File lib/prism/compiler.rb, line 467 def visit_interpolated_string_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a InterpolatedStringNode
node
Source
# File lib/prism/compiler.rb, line 472 def visit_interpolated_symbol_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a InterpolatedSymbolNode
node
Source
# File lib/prism/compiler.rb, line 477 def visit_interpolated_x_string_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a InterpolatedXStringNode
node
Source
# File lib/prism/compiler.rb, line 482 def visit_it_local_variable_read_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a ItLocalVariableReadNode
node
Source
# File lib/prism/compiler.rb, line 487 def visit_it_parameters_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a ItParametersNode
node
Source
# File lib/prism/compiler.rb, line 492 def visit_keyword_hash_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a KeywordHashNode
node
Source
# File lib/prism/compiler.rb, line 497 def visit_keyword_rest_parameter_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a KeywordRestParameterNode
node
Source
# File lib/prism/compiler.rb, line 502 def visit_lambda_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a LambdaNode
node
Source
# File lib/prism/compiler.rb, line 507 def visit_local_variable_and_write_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a LocalVariableAndWriteNode
node
Source
# File lib/prism/compiler.rb, line 512 def visit_local_variable_operator_write_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a LocalVariableOperatorWriteNode
node
Source
# File lib/prism/compiler.rb, line 517 def visit_local_variable_or_write_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a LocalVariableOrWriteNode
node
Source
# File lib/prism/compiler.rb, line 522 def visit_local_variable_read_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a LocalVariableReadNode
node
Source
# File lib/prism/compiler.rb, line 527 def visit_local_variable_target_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a LocalVariableTargetNode
node
Source
# File lib/prism/compiler.rb, line 532 def visit_local_variable_write_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a LocalVariableWriteNode
node
Source
# File lib/prism/compiler.rb, line 537 def visit_match_last_line_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a MatchLastLineNode
node
Source
# File lib/prism/compiler.rb, line 542 def visit_match_predicate_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a MatchPredicateNode
node
Source
# File lib/prism/compiler.rb, line 547 def visit_match_required_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a MatchRequiredNode
node
Source
# File lib/prism/compiler.rb, line 552 def visit_match_write_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a MatchWriteNode
node
Source
# File lib/prism/compiler.rb, line 557 def visit_missing_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a MissingNode
node
Source
# File lib/prism/compiler.rb, line 562 def visit_module_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a ModuleNode
node
Source
# File lib/prism/compiler.rb, line 567 def visit_multi_target_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a MultiTargetNode
node
Source
# File lib/prism/compiler.rb, line 572 def visit_multi_write_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a MultiWriteNode
node
Source
# File lib/prism/compiler.rb, line 577 def visit_next_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a NextNode
node
Source
# File lib/prism/compiler.rb, line 582 def visit_nil_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a NilNode
node
Source
# File lib/prism/compiler.rb, line 587 def visit_no_keywords_parameter_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a NoKeywordsParameterNode
node
Source
# File lib/prism/compiler.rb, line 592 def visit_numbered_parameters_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a NumberedParametersNode
node
Source
# File lib/prism/compiler.rb, line 597 def visit_numbered_reference_read_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a NumberedReferenceReadNode
node
Source
# File lib/prism/compiler.rb, line 602 def visit_optional_keyword_parameter_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a OptionalKeywordParameterNode
node
Source
# File lib/prism/compiler.rb, line 607 def visit_optional_parameter_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a OptionalParameterNode
node
Source
# File lib/prism/compiler.rb, line 612 def visit_or_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a OrNode
node
Source
# File lib/prism/compiler.rb, line 617 def visit_parameters_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a ParametersNode
node
Source
# File lib/prism/compiler.rb, line 622 def visit_parentheses_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a ParenthesesNode
node
Source
# File lib/prism/compiler.rb, line 627 def visit_pinned_expression_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a PinnedExpressionNode
node
Source
# File lib/prism/compiler.rb, line 632 def visit_pinned_variable_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a PinnedVariableNode
node
Source
# File lib/prism/compiler.rb, line 637 def visit_post_execution_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a PostExecutionNode
node
Source
# File lib/prism/compiler.rb, line 642 def visit_pre_execution_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a PreExecutionNode
node
Source
# File lib/prism/compiler.rb, line 647 def visit_program_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a ProgramNode
node
Source
# File lib/prism/compiler.rb, line 652 def visit_range_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a RangeNode
node
Source
# File lib/prism/compiler.rb, line 657 def visit_rational_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a RationalNode
node
Source
# File lib/prism/compiler.rb, line 662 def visit_redo_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a RedoNode
node
Source
# File lib/prism/compiler.rb, line 667 def visit_regular_expression_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a RegularExpressionNode
node
Source
# File lib/prism/compiler.rb, line 672 def visit_required_keyword_parameter_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a RequiredKeywordParameterNode
node
Source
# File lib/prism/compiler.rb, line 677 def visit_required_parameter_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a RequiredParameterNode
node
Source
# File lib/prism/compiler.rb, line 682 def visit_rescue_modifier_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a RescueModifierNode
node
Source
# File lib/prism/compiler.rb, line 687 def visit_rescue_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a RescueNode
node
Source
# File lib/prism/compiler.rb, line 692 def visit_rest_parameter_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a RestParameterNode
node
Source
# File lib/prism/compiler.rb, line 697 def visit_retry_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a RetryNode
node
Source
# File lib/prism/compiler.rb, line 702 def visit_return_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a ReturnNode
node
Source
# File lib/prism/compiler.rb, line 707 def visit_self_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a SelfNode
node
Source
# File lib/prism/compiler.rb, line 717 def visit_singleton_class_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a SingletonClassNode
node
Source
# File lib/prism/compiler.rb, line 722 def visit_source_encoding_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a SourceEncodingNode
node
Source
# File lib/prism/compiler.rb, line 727 def visit_source_file_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a SourceFileNode
node
Source
# File lib/prism/compiler.rb, line 732 def visit_source_line_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a SourceLineNode
node
Source
# File lib/prism/compiler.rb, line 737 def visit_splat_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a SplatNode
node
Source
# File lib/prism/compiler.rb, line 742 def visit_statements_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a StatementsNode
node
Source
# File lib/prism/compiler.rb, line 747 def visit_string_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a StringNode
node
Source
# File lib/prism/compiler.rb, line 752 def visit_super_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a SuperNode
node
Source
# File lib/prism/compiler.rb, line 757 def visit_symbol_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a SymbolNode
node
Source
# File lib/prism/compiler.rb, line 762 def visit_true_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a TrueNode
node
Source
# File lib/prism/compiler.rb, line 767 def visit_undef_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a UndefNode
node
Source
# File lib/prism/compiler.rb, line 772 def visit_unless_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a UnlessNode
node
Source
# File lib/prism/compiler.rb, line 777 def visit_until_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a UntilNode
node
Source
# File lib/prism/compiler.rb, line 782 def visit_when_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a WhenNode
node
Source
# File lib/prism/compiler.rb, line 787 def visit_while_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a WhileNode
node
Source
# File lib/prism/compiler.rb, line 792 def visit_x_string_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a XStringNode
node
Source
# File lib/prism/compiler.rb, line 797 def visit_yield_node(node) node.compact_child_nodes.map { |node| node.accept(self) } end
Compile a YieldNode
node