class Prism::Visitor - Documentation for Ruby 4.1
Description: class Prism::Visitor: A visitor is a class that provides a default implementation for every accept method defined on the nodes. This means it can walk a tree without the ca
Keywords: ruby,class,Prism::Visitor

🔍

No recent searches

# class Prism::Visitor

A visitor is a class that provides a default implementation for every accept method defined on the nodes. This means it can walk a tree without the caller needing to define any special handling. This allows you to handle a subset of the tree, while still walking the whole tree.

For example, to find all of the method calls that call the `foo` method, you could write:

    class FooCalls < Prism::Visitor
      def visit_call_node(node)
        if node.name == :foo
          # Do something with the node
        end

        # Call super so that the visitor continues walking the tree
        super
      end
    end

### Public Instance Methods

visit_alias_global_variable_node (node)
Source

    # File lib/prism/visitor.rb, line 379
    def visit_alias_global_variable_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `AliasGlobalVariableNode` node

visit_alias_method_node (node)
Source

    # File lib/prism/visitor.rb, line 386
    def visit_alias_method_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `AliasMethodNode` node

visit_alternation_pattern_node (node)
Source

    # File lib/prism/visitor.rb, line 393
    def visit_alternation_pattern_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `AlternationPatternNode` node

visit_and_node (node)
Source

    # File lib/prism/visitor.rb, line 400
    def visit_and_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `AndNode` node

visit_arguments_node (node)
Source

    # File lib/prism/visitor.rb, line 407
    def visit_arguments_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `ArgumentsNode` node

visit_array_node (node)
Source

    # File lib/prism/visitor.rb, line 414
    def visit_array_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `ArrayNode` node

visit_array_pattern_node (node)
Source

    # File lib/prism/visitor.rb, line 421
    def visit_array_pattern_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `ArrayPatternNode` node

visit_assoc_node (node)
Source

    # File lib/prism/visitor.rb, line 428
    def visit_assoc_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `AssocNode` node

visit_assoc_splat_node (node)
Source

    # File lib/prism/visitor.rb, line 435
    def visit_assoc_splat_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `AssocSplatNode` node

visit_back_reference_read_node (node)
Source

    # File lib/prism/visitor.rb, line 442
    def visit_back_reference_read_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `BackReferenceReadNode` node

visit_begin_node (node)
Source

    # File lib/prism/visitor.rb, line 449
    def visit_begin_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `BeginNode` node

visit_block_argument_node (node)
Source

    # File lib/prism/visitor.rb, line 456
    def visit_block_argument_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `BlockArgumentNode` node

visit_block_local_variable_node (node)
Source

    # File lib/prism/visitor.rb, line 463
    def visit_block_local_variable_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `BlockLocalVariableNode` node

visit_block_node (node)
Source

    # File lib/prism/visitor.rb, line 470
    def visit_block_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `BlockNode` node

visit_block_parameter_node (node)
Source

    # File lib/prism/visitor.rb, line 477
    def visit_block_parameter_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `BlockParameterNode` node

visit_block_parameters_node (node)
Source

    # File lib/prism/visitor.rb, line 484
    def visit_block_parameters_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `BlockParametersNode` node

visit_break_node (node)
Source

    # File lib/prism/visitor.rb, line 491
    def visit_break_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `BreakNode` node

visit_call_and_write_node (node)
Source

    # File lib/prism/visitor.rb, line 498
    def visit_call_and_write_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `CallAndWriteNode` node

visit_call_node (node)
Source

    # File lib/prism/visitor.rb, line 505
    def visit_call_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `CallNode` node

visit_call_operator_write_node (node)
Source

    # File lib/prism/visitor.rb, line 512
    def visit_call_operator_write_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `CallOperatorWriteNode` node

visit_call_or_write_node (node)
Source

    # File lib/prism/visitor.rb, line 519
    def visit_call_or_write_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `CallOrWriteNode` node

visit_call_target_node (node)
Source

    # File lib/prism/visitor.rb, line 526
    def visit_call_target_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `CallTargetNode` node

visit_capture_pattern_node (node)
Source

    # File lib/prism/visitor.rb, line 533
    def visit_capture_pattern_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `CapturePatternNode` node

visit_case_match_node (node)
Source

    # File lib/prism/visitor.rb, line 540
    def visit_case_match_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `CaseMatchNode` node

visit_case_node (node)
Source

    # File lib/prism/visitor.rb, line 547
    def visit_case_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `CaseNode` node

visit_class_node (node)
Source

    # File lib/prism/visitor.rb, line 554
    def visit_class_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `ClassNode` node

visit_class_variable_and_write_node (node)
Source

    # File lib/prism/visitor.rb, line 561
    def visit_class_variable_and_write_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `ClassVariableAndWriteNode` node

visit_class_variable_operator_write_node (node)
Source

    # File lib/prism/visitor.rb, line 568
    def visit_class_variable_operator_write_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `ClassVariableOperatorWriteNode` node

visit_class_variable_or_write_node (node)
Source

    # File lib/prism/visitor.rb, line 575
    def visit_class_variable_or_write_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `ClassVariableOrWriteNode` node

visit_class_variable_read_node (node)
Source

    # File lib/prism/visitor.rb, line 582
    def visit_class_variable_read_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `ClassVariableReadNode` node

visit_class_variable_target_node (node)
Source

    # File lib/prism/visitor.rb, line 589
    def visit_class_variable_target_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `ClassVariableTargetNode` node

visit_class_variable_write_node (node)
Source

    # File lib/prism/visitor.rb, line 596
    def visit_class_variable_write_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `ClassVariableWriteNode` node

visit_constant_and_write_node (node)
Source

    # File lib/prism/visitor.rb, line 603
    def visit_constant_and_write_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `ConstantAndWriteNode` node

visit_constant_operator_write_node (node)
Source

    # File lib/prism/visitor.rb, line 610
    def visit_constant_operator_write_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `ConstantOperatorWriteNode` node

visit_constant_or_write_node (node)
Source

    # File lib/prism/visitor.rb, line 617
    def visit_constant_or_write_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `ConstantOrWriteNode` node

visit_constant_path_and_write_node (node)
Source

    # File lib/prism/visitor.rb, line 624
    def visit_constant_path_and_write_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `ConstantPathAndWriteNode` node

visit_constant_path_node (node)
Source

    # File lib/prism/visitor.rb, line 631
    def visit_constant_path_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `ConstantPathNode` node

visit_constant_path_operator_write_node (node)
Source

    # File lib/prism/visitor.rb, line 638
    def visit_constant_path_operator_write_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `ConstantPathOperatorWriteNode` node

visit_constant_path_or_write_node (node)
Source

    # File lib/prism/visitor.rb, line 645
    def visit_constant_path_or_write_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `ConstantPathOrWriteNode` node

visit_constant_path_target_node (node)
Source

    # File lib/prism/visitor.rb, line 652
    def visit_constant_path_target_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `ConstantPathTargetNode` node

visit_constant_path_write_node (node)
Source

    # File lib/prism/visitor.rb, line 659
    def visit_constant_path_write_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `ConstantPathWriteNode` node

visit_constant_read_node (node)
Source

    # File lib/prism/visitor.rb, line 666
    def visit_constant_read_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `ConstantReadNode` node

visit_constant_target_node (node)
Source

    # File lib/prism/visitor.rb, line 673
    def visit_constant_target_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `ConstantTargetNode` node

visit_constant_write_node (node)
Source

    # File lib/prism/visitor.rb, line 680
    def visit_constant_write_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `ConstantWriteNode` node

visit_def_node (node)
Source

    # File lib/prism/visitor.rb, line 687
    def visit_def_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `DefNode` node

visit_defined_node (node)
Source

    # File lib/prism/visitor.rb, line 694
    def visit_defined_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `DefinedNode` node

visit_else_node (node)
Source

    # File lib/prism/visitor.rb, line 701
    def visit_else_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `ElseNode` node

visit_embedded_statements_node (node)
Source

    # File lib/prism/visitor.rb, line 708
    def visit_embedded_statements_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `EmbeddedStatementsNode` node

visit_embedded_variable_node (node)
Source

    # File lib/prism/visitor.rb, line 715
    def visit_embedded_variable_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `EmbeddedVariableNode` node

visit_ensure_node (node)
Source

    # File lib/prism/visitor.rb, line 722
    def visit_ensure_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `EnsureNode` node

visit_error_recovery_node (node)
Source

    # File lib/prism/visitor.rb, line 729
    def visit_error_recovery_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `ErrorRecoveryNode` node

visit_false_node (node)
Source

    # File lib/prism/visitor.rb, line 736
    def visit_false_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `FalseNode` node

visit_find_pattern_node (node)
Source

    # File lib/prism/visitor.rb, line 743
    def visit_find_pattern_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `FindPatternNode` node

visit_flip_flop_node (node)
Source

    # File lib/prism/visitor.rb, line 750
    def visit_flip_flop_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `FlipFlopNode` node

visit_float_node (node)
Source

    # File lib/prism/visitor.rb, line 757
    def visit_float_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `FloatNode` node

visit_for_node (node)
Source

    # File lib/prism/visitor.rb, line 764
    def visit_for_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `ForNode` node

visit_forwarding_arguments_node (node)
Source

    # File lib/prism/visitor.rb, line 771
    def visit_forwarding_arguments_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `ForwardingArgumentsNode` node

visit_forwarding_parameter_node (node)
Source

    # File lib/prism/visitor.rb, line 778
    def visit_forwarding_parameter_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `ForwardingParameterNode` node

visit_forwarding_super_node (node)
Source

    # File lib/prism/visitor.rb, line 785
    def visit_forwarding_super_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `ForwardingSuperNode` node

visit_global_variable_and_write_node (node)
Source

    # File lib/prism/visitor.rb, line 792
    def visit_global_variable_and_write_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `GlobalVariableAndWriteNode` node

visit_global_variable_operator_write_node (node)
Source

    # File lib/prism/visitor.rb, line 799
    def visit_global_variable_operator_write_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `GlobalVariableOperatorWriteNode` node

visit_global_variable_or_write_node (node)
Source

    # File lib/prism/visitor.rb, line 806
    def visit_global_variable_or_write_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `GlobalVariableOrWriteNode` node

visit_global_variable_read_node (node)
Source

    # File lib/prism/visitor.rb, line 813
    def visit_global_variable_read_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `GlobalVariableReadNode` node

visit_global_variable_target_node (node)
Source

    # File lib/prism/visitor.rb, line 820
    def visit_global_variable_target_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `GlobalVariableTargetNode` node

visit_global_variable_write_node (node)
Source

    # File lib/prism/visitor.rb, line 827
    def visit_global_variable_write_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `GlobalVariableWriteNode` node

visit_hash_node (node)
Source

    # File lib/prism/visitor.rb, line 834
    def visit_hash_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `HashNode` node

visit_hash_pattern_node (node)
Source

    # File lib/prism/visitor.rb, line 841
    def visit_hash_pattern_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `HashPatternNode` node

visit_if_node (node)
Source

    # File lib/prism/visitor.rb, line 848
    def visit_if_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `IfNode` node

visit_imaginary_node (node)
Source

    # File lib/prism/visitor.rb, line 855
    def visit_imaginary_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `ImaginaryNode` node

visit_implicit_node (node)
Source

    # File lib/prism/visitor.rb, line 862
    def visit_implicit_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `ImplicitNode` node

visit_implicit_rest_node (node)
Source

    # File lib/prism/visitor.rb, line 869
    def visit_implicit_rest_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `ImplicitRestNode` node

visit_in_node (node)
Source

    # File lib/prism/visitor.rb, line 876
    def visit_in_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `InNode` node

visit_index_and_write_node (node)
Source

    # File lib/prism/visitor.rb, line 883
    def visit_index_and_write_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `IndexAndWriteNode` node

visit_index_operator_write_node (node)
Source

    # File lib/prism/visitor.rb, line 890
    def visit_index_operator_write_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `IndexOperatorWriteNode` node

visit_index_or_write_node (node)
Source

    # File lib/prism/visitor.rb, line 897
    def visit_index_or_write_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `IndexOrWriteNode` node

visit_index_target_node (node)
Source

    # File lib/prism/visitor.rb, line 904
    def visit_index_target_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `IndexTargetNode` node

visit_instance_variable_and_write_node (node)
Source

    # File lib/prism/visitor.rb, line 911
    def visit_instance_variable_and_write_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `InstanceVariableAndWriteNode` node

visit_instance_variable_operator_write_node (node)
Source

    # File lib/prism/visitor.rb, line 918
    def visit_instance_variable_operator_write_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `InstanceVariableOperatorWriteNode` node

visit_instance_variable_or_write_node (node)
Source

    # File lib/prism/visitor.rb, line 925
    def visit_instance_variable_or_write_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `InstanceVariableOrWriteNode` node

visit_instance_variable_read_node (node)
Source

    # File lib/prism/visitor.rb, line 932
    def visit_instance_variable_read_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `InstanceVariableReadNode` node

visit_instance_variable_target_node (node)
Source

    # File lib/prism/visitor.rb, line 939
    def visit_instance_variable_target_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `InstanceVariableTargetNode` node

visit_instance_variable_write_node (node)
Source

    # File lib/prism/visitor.rb, line 946
    def visit_instance_variable_write_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `InstanceVariableWriteNode` node

visit_integer_node (node)
Source

    # File lib/prism/visitor.rb, line 953
    def visit_integer_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `IntegerNode` node

visit_interpolated_match_last_line_node (node)
Source

    # File lib/prism/visitor.rb, line 960
    def visit_interpolated_match_last_line_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `InterpolatedMatchLastLineNode` node

visit_interpolated_regular_expression_node (node)
Source

    # File lib/prism/visitor.rb, line 967
    def visit_interpolated_regular_expression_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `InterpolatedRegularExpressionNode` node

visit_interpolated_string_node (node)
Source

    # File lib/prism/visitor.rb, line 974
    def visit_interpolated_string_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `InterpolatedStringNode` node

visit_interpolated_symbol_node (node)
Source

    # File lib/prism/visitor.rb, line 981
    def visit_interpolated_symbol_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `InterpolatedSymbolNode` node

visit_interpolated_x_string_node (node)
Source

    # File lib/prism/visitor.rb, line 988
    def visit_interpolated_x_string_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `InterpolatedXStringNode` node

visit_it_local_variable_read_node (node)
Source

    # File lib/prism/visitor.rb, line 995
    def visit_it_local_variable_read_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `ItLocalVariableReadNode` node

visit_it_parameters_node (node)
Source

    # File lib/prism/visitor.rb, line 1002
    def visit_it_parameters_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `ItParametersNode` node

visit_keyword_hash_node (node)
Source

    # File lib/prism/visitor.rb, line 1009
    def visit_keyword_hash_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `KeywordHashNode` node

visit_keyword_rest_parameter_node (node)
Source

    # File lib/prism/visitor.rb, line 1016
    def visit_keyword_rest_parameter_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `KeywordRestParameterNode` node

visit_lambda_node (node)
Source

    # File lib/prism/visitor.rb, line 1023
    def visit_lambda_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `LambdaNode` node

visit_local_variable_and_write_node (node)
Source

    # File lib/prism/visitor.rb, line 1030
    def visit_local_variable_and_write_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `LocalVariableAndWriteNode` node

visit_local_variable_operator_write_node (node)
Source

    # File lib/prism/visitor.rb, line 1037
    def visit_local_variable_operator_write_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `LocalVariableOperatorWriteNode` node

visit_local_variable_or_write_node (node)
Source

    # File lib/prism/visitor.rb, line 1044
    def visit_local_variable_or_write_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `LocalVariableOrWriteNode` node

visit_local_variable_read_node (node)
Source

    # File lib/prism/visitor.rb, line 1051
    def visit_local_variable_read_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `LocalVariableReadNode` node

visit_local_variable_target_node (node)
Source

    # File lib/prism/visitor.rb, line 1058
    def visit_local_variable_target_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `LocalVariableTargetNode` node

visit_local_variable_write_node (node)
Source

    # File lib/prism/visitor.rb, line 1065
    def visit_local_variable_write_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `LocalVariableWriteNode` node

visit_match_last_line_node (node)
Source

    # File lib/prism/visitor.rb, line 1072
    def visit_match_last_line_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `MatchLastLineNode` node

visit_match_predicate_node (node)
Source

    # File lib/prism/visitor.rb, line 1079
    def visit_match_predicate_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `MatchPredicateNode` node

visit_match_required_node (node)
Source

    # File lib/prism/visitor.rb, line 1086
    def visit_match_required_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `MatchRequiredNode` node

visit_match_write_node (node)
Source

    # File lib/prism/visitor.rb, line 1093
    def visit_match_write_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `MatchWriteNode` node

visit_module_node (node)
Source

    # File lib/prism/visitor.rb, line 1100
    def visit_module_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `ModuleNode` node

visit_multi_target_node (node)
Source

    # File lib/prism/visitor.rb, line 1107
    def visit_multi_target_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `MultiTargetNode` node

visit_multi_write_node (node)
Source

    # File lib/prism/visitor.rb, line 1114
    def visit_multi_write_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `MultiWriteNode` node

visit_next_node (node)
Source

    # File lib/prism/visitor.rb, line 1121
    def visit_next_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `NextNode` node

visit_nil_node (node)
Source

    # File lib/prism/visitor.rb, line 1128
    def visit_nil_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `NilNode` node

visit_no_block_parameter_node (node)
Source

    # File lib/prism/visitor.rb, line 1135
    def visit_no_block_parameter_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `NoBlockParameterNode` node

visit_no_keywords_parameter_node (node)
Source

    # File lib/prism/visitor.rb, line 1142
    def visit_no_keywords_parameter_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `NoKeywordsParameterNode` node

visit_numbered_parameters_node (node)
Source

    # File lib/prism/visitor.rb, line 1149
    def visit_numbered_parameters_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `NumberedParametersNode` node

visit_numbered_reference_read_node (node)
Source

    # File lib/prism/visitor.rb, line 1156
    def visit_numbered_reference_read_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `NumberedReferenceReadNode` node

visit_optional_keyword_parameter_node (node)
Source

    # File lib/prism/visitor.rb, line 1163
    def visit_optional_keyword_parameter_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `OptionalKeywordParameterNode` node

visit_optional_parameter_node (node)
Source

    # File lib/prism/visitor.rb, line 1170
    def visit_optional_parameter_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `OptionalParameterNode` node

visit_or_node (node)
Source

    # File lib/prism/visitor.rb, line 1177
    def visit_or_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `OrNode` node

visit_parameters_node (node)
Source

    # File lib/prism/visitor.rb, line 1184
    def visit_parameters_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `ParametersNode` node

visit_parentheses_node (node)
Source

    # File lib/prism/visitor.rb, line 1191
    def visit_parentheses_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `ParenthesesNode` node

visit_pinned_expression_node (node)
Source

    # File lib/prism/visitor.rb, line 1198
    def visit_pinned_expression_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `PinnedExpressionNode` node

visit_pinned_variable_node (node)
Source

    # File lib/prism/visitor.rb, line 1205
    def visit_pinned_variable_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `PinnedVariableNode` node

visit_post_execution_node (node)
Source

    # File lib/prism/visitor.rb, line 1212
    def visit_post_execution_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `PostExecutionNode` node

visit_pre_execution_node (node)
Source

    # File lib/prism/visitor.rb, line 1219
    def visit_pre_execution_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `PreExecutionNode` node

visit_program_node (node)
Source

    # File lib/prism/visitor.rb, line 1226
    def visit_program_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `ProgramNode` node

visit_range_node (node)
Source

    # File lib/prism/visitor.rb, line 1233
    def visit_range_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `RangeNode` node

visit_rational_node (node)
Source

    # File lib/prism/visitor.rb, line 1240
    def visit_rational_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `RationalNode` node

visit_redo_node (node)
Source

    # File lib/prism/visitor.rb, line 1247
    def visit_redo_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `RedoNode` node

visit_regular_expression_node (node)
Source

    # File lib/prism/visitor.rb, line 1254
    def visit_regular_expression_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `RegularExpressionNode` node

visit_required_keyword_parameter_node (node)
Source

    # File lib/prism/visitor.rb, line 1261
    def visit_required_keyword_parameter_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `RequiredKeywordParameterNode` node

visit_required_parameter_node (node)
Source

    # File lib/prism/visitor.rb, line 1268
    def visit_required_parameter_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `RequiredParameterNode` node

visit_rescue_modifier_node (node)
Source

    # File lib/prism/visitor.rb, line 1275
    def visit_rescue_modifier_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `RescueModifierNode` node

visit_rescue_node (node)
Source

    # File lib/prism/visitor.rb, line 1282
    def visit_rescue_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `RescueNode` node

visit_rest_parameter_node (node)
Source

    # File lib/prism/visitor.rb, line 1289
    def visit_rest_parameter_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `RestParameterNode` node

visit_retry_node (node)
Source

    # File lib/prism/visitor.rb, line 1296
    def visit_retry_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `RetryNode` node

visit_return_node (node)
Source

    # File lib/prism/visitor.rb, line 1303
    def visit_return_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `ReturnNode` node

visit_self_node (node)
Source

    # File lib/prism/visitor.rb, line 1310
    def visit_self_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `SelfNode` node

visit_shareable_constant_node (node)
Source

    # File lib/prism/visitor.rb, line 1317
    def visit_shareable_constant_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `ShareableConstantNode` node

visit_singleton_class_node (node)
Source

    # File lib/prism/visitor.rb, line 1324
    def visit_singleton_class_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `SingletonClassNode` node

visit_source_encoding_node (node)
Source

    # File lib/prism/visitor.rb, line 1331
    def visit_source_encoding_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `SourceEncodingNode` node

visit_source_file_node (node)
Source

    # File lib/prism/visitor.rb, line 1338
    def visit_source_file_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `SourceFileNode` node

visit_source_line_node (node)
Source

    # File lib/prism/visitor.rb, line 1345
    def visit_source_line_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `SourceLineNode` node

visit_splat_node (node)
Source

    # File lib/prism/visitor.rb, line 1352
    def visit_splat_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `SplatNode` node

visit_statements_node (node)
Source

    # File lib/prism/visitor.rb, line 1359
    def visit_statements_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `StatementsNode` node

visit_string_node (node)
Source

    # File lib/prism/visitor.rb, line 1366
    def visit_string_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `StringNode` node

visit_super_node (node)
Source

    # File lib/prism/visitor.rb, line 1373
    def visit_super_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `SuperNode` node

visit_symbol_node (node)
Source

    # File lib/prism/visitor.rb, line 1380
    def visit_symbol_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `SymbolNode` node

visit_true_node (node)
Source

    # File lib/prism/visitor.rb, line 1387
    def visit_true_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `TrueNode` node

visit_undef_node (node)
Source

    # File lib/prism/visitor.rb, line 1394
    def visit_undef_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `UndefNode` node

visit_unless_node (node)
Source

    # File lib/prism/visitor.rb, line 1401
    def visit_unless_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `UnlessNode` node

visit_until_node (node)
Source

    # File lib/prism/visitor.rb, line 1408
    def visit_until_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `UntilNode` node

visit_when_node (node)
Source

    # File lib/prism/visitor.rb, line 1415
    def visit_when_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `WhenNode` node

visit_while_node (node)
Source

    # File lib/prism/visitor.rb, line 1422
    def visit_while_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `WhileNode` node

visit_x_string_node (node)
Source

    # File lib/prism/visitor.rb, line 1429
    def visit_x_string_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `XStringNode` node

visit_yield_node (node)
Source

    # File lib/prism/visitor.rb, line 1436
    def visit_yield_node(node)
      node.each_child_node { |node| node.accept(self) }
    end

Visit a `YieldNode` node