# 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 59
    def visit_alias_global_variable_node(node)
      node.compact_child_nodes.each { |node| node.accept(self) }
    end

Visit a `AliasGlobalVariableNode` node

visit_alias_method_node (node)
Source

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

Visit a `AliasMethodNode` node

visit_alternation_pattern_node (node)
Source

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

Visit a `AlternationPatternNode` node

visit_and_node (node)
Source

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

Visit a `AndNode` node

visit_arguments_node (node)
Source

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

Visit a `ArgumentsNode` node

visit_array_node (node)
Source

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

Visit a `ArrayNode` node

visit_array_pattern_node (node)
Source

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

Visit a `ArrayPatternNode` node

visit_assoc_node (node)
Source

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

Visit a `AssocNode` node

visit_assoc_splat_node (node)
Source

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

Visit a `AssocSplatNode` node

visit_back_reference_read_node (node)
Source

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

Visit a `BackReferenceReadNode` node

visit_begin_node (node)
Source

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

Visit a `BeginNode` node

visit_block_argument_node (node)
Source

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

Visit a `BlockArgumentNode` node

visit_block_local_variable_node (node)
Source

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

Visit a `BlockLocalVariableNode` node

visit_block_node (node)
Source

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

Visit a `BlockNode` node

visit_block_parameter_node (node)
Source

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

Visit a `BlockParameterNode` node

visit_block_parameters_node (node)
Source

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

Visit a `BlockParametersNode` node

visit_break_node (node)
Source

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

Visit a `BreakNode` node

visit_call_and_write_node (node)
Source

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

Visit a `CallAndWriteNode` node

visit_call_node (node)
Source

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

Visit a `CallNode` node

visit_call_operator_write_node (node)
Source

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

Visit a `CallOperatorWriteNode` node

visit_call_or_write_node (node)
Source

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

Visit a `CallOrWriteNode` node

visit_call_target_node (node)
Source

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

Visit a `CallTargetNode` node

visit_capture_pattern_node (node)
Source

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

Visit a `CapturePatternNode` node

visit_case_match_node (node)
Source

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

Visit a `CaseMatchNode` node

visit_case_node (node)
Source

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

Visit a `CaseNode` node

visit_class_node (node)
Source

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

Visit a `ClassNode` node

visit_class_variable_and_write_node (node)
Source

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

Visit a `ClassVariableAndWriteNode` node

visit_class_variable_operator_write_node (node)
Source

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

Visit a `ClassVariableOperatorWriteNode` node

visit_class_variable_or_write_node (node)
Source

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

Visit a `ClassVariableOrWriteNode` node

visit_class_variable_read_node (node)
Source

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

Visit a `ClassVariableReadNode` node

visit_class_variable_target_node (node)
Source

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

Visit a `ClassVariableTargetNode` node

visit_class_variable_write_node (node)
Source

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

Visit a `ClassVariableWriteNode` node

visit_constant_and_write_node (node)
Source

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

Visit a `ConstantAndWriteNode` node

visit_constant_operator_write_node (node)
Source

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

Visit a `ConstantOperatorWriteNode` node

visit_constant_or_write_node (node)
Source

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

Visit a `ConstantOrWriteNode` node

visit_constant_path_and_write_node (node)
Source

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

Visit a `ConstantPathAndWriteNode` node

visit_constant_path_node (node)
Source

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

Visit a `ConstantPathNode` node

visit_constant_path_operator_write_node (node)
Source

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

Visit a `ConstantPathOperatorWriteNode` node

visit_constant_path_or_write_node (node)
Source

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

Visit a `ConstantPathOrWriteNode` node

visit_constant_path_target_node (node)
Source

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

Visit a `ConstantPathTargetNode` node

visit_constant_path_write_node (node)
Source

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

Visit a `ConstantPathWriteNode` node

visit_constant_read_node (node)
Source

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

Visit a `ConstantReadNode` node

visit_constant_target_node (node)
Source

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

Visit a `ConstantTargetNode` node

visit_constant_write_node (node)
Source

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

Visit a `ConstantWriteNode` node

visit_def_node (node)
Source

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

Visit a `DefNode` node

visit_defined_node (node)
Source

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

Visit a `DefinedNode` node

visit_else_node (node)
Source

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

Visit a `ElseNode` node

visit_embedded_statements_node (node)
Source

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

Visit a `EmbeddedStatementsNode` node

visit_embedded_variable_node (node)
Source

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

Visit a `EmbeddedVariableNode` node

visit_ensure_node (node)
Source

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

Visit a `EnsureNode` node

visit_false_node (node)
Source

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

Visit a `FalseNode` node

visit_find_pattern_node (node)
Source

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

Visit a `FindPatternNode` node

visit_flip_flop_node (node)
Source

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

Visit a `FlipFlopNode` node

visit_float_node (node)
Source

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

Visit a `FloatNode` node

visit_for_node (node)
Source

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

Visit a `ForNode` node

visit_forwarding_arguments_node (node)
Source

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

Visit a `ForwardingArgumentsNode` node

visit_forwarding_parameter_node (node)
Source

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

Visit a `ForwardingParameterNode` node

visit_forwarding_super_node (node)
Source

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

Visit a `ForwardingSuperNode` node

visit_global_variable_and_write_node (node)
Source

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

Visit a `GlobalVariableAndWriteNode` node

visit_global_variable_operator_write_node (node)
Source

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

Visit a `GlobalVariableOperatorWriteNode` node

visit_global_variable_or_write_node (node)
Source

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

Visit a `GlobalVariableOrWriteNode` node

visit_global_variable_read_node (node)
Source

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

Visit a `GlobalVariableReadNode` node

visit_global_variable_target_node (node)
Source

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

Visit a `GlobalVariableTargetNode` node

visit_global_variable_write_node (node)
Source

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

Visit a `GlobalVariableWriteNode` node

visit_hash_node (node)
Source

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

Visit a `HashNode` node

visit_hash_pattern_node (node)
Source

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

Visit a `HashPatternNode` node

visit_if_node (node)
Source

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

Visit a `IfNode` node

visit_imaginary_node (node)
Source

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

Visit a `ImaginaryNode` node

visit_implicit_node (node)
Source

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

Visit a `ImplicitNode` node

visit_implicit_rest_node (node)
Source

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

Visit a `ImplicitRestNode` node

visit_in_node (node)
Source

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

Visit a `InNode` node

visit_index_and_write_node (node)
Source

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

Visit a `IndexAndWriteNode` node

visit_index_operator_write_node (node)
Source

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

Visit a `IndexOperatorWriteNode` node

visit_index_or_write_node (node)
Source

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

Visit a `IndexOrWriteNode` node

visit_index_target_node (node)
Source

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

Visit a `IndexTargetNode` node

visit_instance_variable_and_write_node (node)
Source

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

Visit a `InstanceVariableAndWriteNode` node

visit_instance_variable_operator_write_node (node)
Source

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

Visit a `InstanceVariableOperatorWriteNode` node

visit_instance_variable_or_write_node (node)
Source

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

Visit a `InstanceVariableOrWriteNode` node

visit_instance_variable_read_node (node)
Source

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

Visit a `InstanceVariableReadNode` node

visit_instance_variable_target_node (node)
Source

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

Visit a `InstanceVariableTargetNode` node

visit_instance_variable_write_node (node)
Source

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

Visit a `InstanceVariableWriteNode` node

visit_integer_node (node)
Source

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

Visit a `IntegerNode` node

visit_interpolated_match_last_line_node (node)
Source

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

Visit a `InterpolatedMatchLastLineNode` node

visit_interpolated_regular_expression_node (node)
Source

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

Visit a `InterpolatedRegularExpressionNode` node

visit_interpolated_string_node (node)
Source

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

Visit a `InterpolatedStringNode` node

visit_interpolated_symbol_node (node)
Source

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

Visit a `InterpolatedSymbolNode` node

visit_interpolated_x_string_node (node)
Source

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

Visit a `InterpolatedXStringNode` node

visit_it_local_variable_read_node (node)
Source

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

Visit a `ItLocalVariableReadNode` node

visit_it_parameters_node (node)
Source

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

Visit a `ItParametersNode` node

visit_keyword_hash_node (node)
Source

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

Visit a `KeywordHashNode` node

visit_keyword_rest_parameter_node (node)
Source

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

Visit a `KeywordRestParameterNode` node

visit_lambda_node (node)
Source

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

Visit a `LambdaNode` node

visit_local_variable_and_write_node (node)
Source

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

Visit a `LocalVariableAndWriteNode` node

visit_local_variable_operator_write_node (node)
Source

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

Visit a `LocalVariableOperatorWriteNode` node

visit_local_variable_or_write_node (node)
Source

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

Visit a `LocalVariableOrWriteNode` node

visit_local_variable_read_node (node)
Source

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

Visit a `LocalVariableReadNode` node

visit_local_variable_target_node (node)
Source

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

Visit a `LocalVariableTargetNode` node

visit_local_variable_write_node (node)
Source

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

Visit a `LocalVariableWriteNode` node

visit_match_last_line_node (node)
Source

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

Visit a `MatchLastLineNode` node

visit_match_predicate_node (node)
Source

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

Visit a `MatchPredicateNode` node

visit_match_required_node (node)
Source

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

Visit a `MatchRequiredNode` node

visit_match_write_node (node)
Source

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

Visit a `MatchWriteNode` node

visit_missing_node (node)
Source

    # File lib/prism/visitor.rb, line 569
    def visit_missing_node(node)
      node.compact_child_nodes.each { |node| node.accept(self) }
    end

Visit a `MissingNode` node

visit_module_node (node)
Source

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

Visit a `ModuleNode` node

visit_multi_target_node (node)
Source

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

Visit a `MultiTargetNode` node

visit_multi_write_node (node)
Source

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

Visit a `MultiWriteNode` node

visit_next_node (node)
Source

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

Visit a `NextNode` node

visit_nil_node (node)
Source

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

Visit a `NilNode` node

visit_no_keywords_parameter_node (node)
Source

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

Visit a `NoKeywordsParameterNode` node

visit_numbered_parameters_node (node)
Source

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

Visit a `NumberedParametersNode` node

visit_numbered_reference_read_node (node)
Source

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

Visit a `NumberedReferenceReadNode` node

visit_optional_keyword_parameter_node (node)
Source

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

Visit a `OptionalKeywordParameterNode` node

visit_optional_parameter_node (node)
Source

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

Visit a `OptionalParameterNode` node

visit_or_node (node)
Source

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

Visit a `OrNode` node

visit_parameters_node (node)
Source

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

Visit a `ParametersNode` node

visit_parentheses_node (node)
Source

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

Visit a `ParenthesesNode` node

visit_pinned_expression_node (node)
Source

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

Visit a `PinnedExpressionNode` node

visit_pinned_variable_node (node)
Source

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

Visit a `PinnedVariableNode` node

visit_post_execution_node (node)
Source

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

Visit a `PostExecutionNode` node

visit_pre_execution_node (node)
Source

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

Visit a `PreExecutionNode` node

visit_program_node (node)
Source

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

Visit a `ProgramNode` node

visit_range_node (node)
Source

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

Visit a `RangeNode` node

visit_rational_node (node)
Source

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

Visit a `RationalNode` node

visit_redo_node (node)
Source

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

Visit a `RedoNode` node

visit_regular_expression_node (node)
Source

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

Visit a `RegularExpressionNode` node

visit_required_keyword_parameter_node (node)
Source

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

Visit a `RequiredKeywordParameterNode` node

visit_required_parameter_node (node)
Source

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

Visit a `RequiredParameterNode` node

visit_rescue_modifier_node (node)
Source

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

Visit a `RescueModifierNode` node

visit_rescue_node (node)
Source

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

Visit a `RescueNode` node

visit_rest_parameter_node (node)
Source

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

Visit a `RestParameterNode` node

visit_retry_node (node)
Source

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

Visit a `RetryNode` node

visit_return_node (node)
Source

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

Visit a `ReturnNode` node

visit_self_node (node)
Source

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

Visit a `SelfNode` node

visit_shareable_constant_node (node)
Source

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

Visit a `ShareableConstantNode` node

visit_singleton_class_node (node)
Source

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

Visit a `SingletonClassNode` node

visit_source_encoding_node (node)
Source

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

Visit a `SourceEncodingNode` node

visit_source_file_node (node)
Source

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

Visit a `SourceFileNode` node

visit_source_line_node (node)
Source

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

Visit a `SourceLineNode` node

visit_splat_node (node)
Source

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

Visit a `SplatNode` node

visit_statements_node (node)
Source

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

Visit a `StatementsNode` node

visit_string_node (node)
Source

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

Visit a `StringNode` node

visit_super_node (node)
Source

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

Visit a `SuperNode` node

visit_symbol_node (node)
Source

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

Visit a `SymbolNode` node

visit_true_node (node)
Source

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

Visit a `TrueNode` node

visit_undef_node (node)
Source

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

Visit a `UndefNode` node

visit_unless_node (node)
Source

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

Visit a `UnlessNode` node

visit_until_node (node)
Source

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

Visit a `UntilNode` node

visit_when_node (node)
Source

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

Visit a `WhenNode` node

visit_while_node (node)
Source

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

Visit a `WhileNode` node

visit_x_string_node (node)
Source

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

Visit a `XStringNode` node

visit_yield_node (node)
Source

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

Visit a `YieldNode` node