123456789_123456789_123456789_123456789_123456789_

Class: Prism::Visitor

Relationships & Source Files
Extension / Inclusion / Inheritance Descendants
Subclasses:
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
self, BasicVisitor
Instance Chain:
self, BasicVisitor
Inherits: Prism::BasicVisitor
Defined in: lib/prism/visitor.rb

Overview

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

Instance Method Summary

BasicVisitor - Inherited

#visit

Calls accept on the given node if it is not nil, which in turn should call back into this visitor by calling the appropriate visit_* method.

#visit_all

Visits each node in nodes by calling accept on each one.

#visit_child_nodes

Visits the child nodes of node by calling accept on each one.

Instance Method Details

#visit_alias_global_variable_node(node)

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 59

def visit_alias_global_variable_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_alias_method_node(node)

Visit a AliasMethodNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 64

def visit_alias_method_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_alternation_pattern_node(node)

Visit a AlternationPatternNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 69

def visit_alternation_pattern_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_and_node(node)

Visit a AndNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 74

def visit_and_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_arguments_node(node)

Visit a ArgumentsNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 79

def visit_arguments_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_array_node(node)

Visit a ArrayNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 84

def visit_array_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_array_pattern_node(node)

Visit a ArrayPatternNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 89

def visit_array_pattern_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_assoc_node(node)

Visit a AssocNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 94

def visit_assoc_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_assoc_splat_node(node)

Visit a AssocSplatNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 99

def visit_assoc_splat_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_back_reference_read_node(node)

Visit a BackReferenceReadNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 104

def visit_back_reference_read_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_begin_node(node)

Visit a BeginNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 109

def visit_begin_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_block_argument_node(node)

Visit a BlockArgumentNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 114

def visit_block_argument_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_block_local_variable_node(node)

Visit a BlockLocalVariableNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 119

def visit_block_local_variable_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_block_node(node)

Visit a BlockNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 124

def visit_block_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_block_parameter_node(node)

Visit a BlockParameterNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 129

def visit_block_parameter_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_block_parameters_node(node)

Visit a BlockParametersNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 134

def visit_block_parameters_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_break_node(node)

Visit a BreakNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 139

def visit_break_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_call_and_write_node(node)

Visit a CallAndWriteNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 144

def visit_call_and_write_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_call_node(node)

Visit a CallNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 149

def visit_call_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_call_operator_write_node(node)

Visit a CallOperatorWriteNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 154

def visit_call_operator_write_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_call_or_write_node(node)

Visit a CallOrWriteNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 159

def visit_call_or_write_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_call_target_node(node)

Visit a CallTargetNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 164

def visit_call_target_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_capture_pattern_node(node)

Visit a CapturePatternNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 169

def visit_capture_pattern_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_case_match_node(node)

Visit a CaseMatchNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 174

def visit_case_match_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_case_node(node)

Visit a CaseNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 179

def visit_case_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_class_node(node)

Visit a ClassNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 184

def visit_class_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_class_variable_and_write_node(node)

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 189

def visit_class_variable_and_write_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_class_variable_operator_write_node(node)

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 194

def visit_class_variable_operator_write_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_class_variable_or_write_node(node)

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 199

def visit_class_variable_or_write_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_class_variable_read_node(node)

Visit a ClassVariableReadNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 204

def visit_class_variable_read_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_class_variable_target_node(node)

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 209

def visit_class_variable_target_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_class_variable_write_node(node)

Visit a ClassVariableWriteNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 214

def visit_class_variable_write_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_constant_and_write_node(node)

Visit a ConstantAndWriteNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 219

def visit_constant_and_write_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_constant_operator_write_node(node)

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 224

def visit_constant_operator_write_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_constant_or_write_node(node)

Visit a ConstantOrWriteNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 229

def visit_constant_or_write_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_constant_path_and_write_node(node)

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 234

def visit_constant_path_and_write_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_constant_path_node(node)

Visit a ConstantPathNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 239

def visit_constant_path_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_constant_path_operator_write_node(node)

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 244

def visit_constant_path_operator_write_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_constant_path_or_write_node(node)

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 249

def visit_constant_path_or_write_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_constant_path_target_node(node)

Visit a ConstantPathTargetNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 254

def visit_constant_path_target_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_constant_path_write_node(node)

Visit a ConstantPathWriteNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 259

def visit_constant_path_write_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_constant_read_node(node)

Visit a ConstantReadNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 264

def visit_constant_read_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_constant_target_node(node)

Visit a ConstantTargetNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 269

def visit_constant_target_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_constant_write_node(node)

Visit a ConstantWriteNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 274

def visit_constant_write_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_def_node(node)

Visit a DefNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 279

def visit_def_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_defined_node(node)

Visit a DefinedNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 284

def visit_defined_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_else_node(node)

Visit a ElseNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 289

def visit_else_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_embedded_statements_node(node)

Visit a EmbeddedStatementsNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 294

def visit_embedded_statements_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_embedded_variable_node(node)

Visit a EmbeddedVariableNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 299

def visit_embedded_variable_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_ensure_node(node)

Visit a EnsureNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 304

def visit_ensure_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_false_node(node)

Visit a FalseNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 309

def visit_false_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_find_pattern_node(node)

Visit a FindPatternNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 314

def visit_find_pattern_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_flip_flop_node(node)

Visit a FlipFlopNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 319

def visit_flip_flop_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_float_node(node)

Visit a FloatNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 324

def visit_float_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_for_node(node)

Visit a ForNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 329

def visit_for_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_forwarding_arguments_node(node)

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 334

def visit_forwarding_arguments_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_forwarding_parameter_node(node)

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 339

def visit_forwarding_parameter_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_forwarding_super_node(node)

Visit a ForwardingSuperNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 344

def visit_forwarding_super_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_global_variable_and_write_node(node)

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 349

def visit_global_variable_and_write_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_global_variable_operator_write_node(node)

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 354

def visit_global_variable_operator_write_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_global_variable_or_write_node(node)

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 359

def visit_global_variable_or_write_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_global_variable_read_node(node)

Visit a GlobalVariableReadNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 364

def visit_global_variable_read_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_global_variable_target_node(node)

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 369

def visit_global_variable_target_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_global_variable_write_node(node)

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 374

def visit_global_variable_write_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_hash_node(node)

Visit a HashNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 379

def visit_hash_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_hash_pattern_node(node)

Visit a HashPatternNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 384

def visit_hash_pattern_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_if_node(node)

Visit a IfNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 389

def visit_if_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_imaginary_node(node)

Visit a ImaginaryNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 394

def visit_imaginary_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_implicit_node(node)

Visit a ImplicitNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 399

def visit_implicit_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_implicit_rest_node(node)

Visit a ImplicitRestNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 404

def visit_implicit_rest_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_in_node(node)

Visit a InNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 409

def visit_in_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_index_and_write_node(node)

Visit a IndexAndWriteNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 414

def visit_index_and_write_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_index_operator_write_node(node)

Visit a IndexOperatorWriteNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 419

def visit_index_operator_write_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_index_or_write_node(node)

Visit a IndexOrWriteNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 424

def visit_index_or_write_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_index_target_node(node)

Visit a IndexTargetNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 429

def visit_index_target_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_instance_variable_and_write_node(node)

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 434

def visit_instance_variable_and_write_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_instance_variable_operator_write_node(node)

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 439

def visit_instance_variable_operator_write_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_instance_variable_or_write_node(node)

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 444

def visit_instance_variable_or_write_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_instance_variable_read_node(node)

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 449

def visit_instance_variable_read_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_instance_variable_target_node(node)

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 454

def visit_instance_variable_target_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_instance_variable_write_node(node)

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 459

def visit_instance_variable_write_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_integer_node(node)

Visit a IntegerNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 464

def visit_integer_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_interpolated_match_last_line_node(node)

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 469

def visit_interpolated_match_last_line_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_interpolated_regular_expression_node(node)

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 474

def visit_interpolated_regular_expression_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_interpolated_string_node(node)

Visit a InterpolatedStringNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 479

def visit_interpolated_string_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_interpolated_symbol_node(node)

Visit a InterpolatedSymbolNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 484

def visit_interpolated_symbol_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_interpolated_x_string_node(node)

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 489

def visit_interpolated_x_string_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_it_local_variable_read_node(node)

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 494

def visit_it_local_variable_read_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_it_parameters_node(node)

Visit a ItParametersNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 499

def visit_it_parameters_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_keyword_hash_node(node)

Visit a KeywordHashNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 504

def visit_keyword_hash_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_keyword_rest_parameter_node(node)

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 509

def visit_keyword_rest_parameter_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_lambda_node(node)

Visit a LambdaNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 514

def visit_lambda_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_local_variable_and_write_node(node)

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 519

def visit_local_variable_and_write_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_local_variable_operator_write_node(node)

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 524

def visit_local_variable_operator_write_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_local_variable_or_write_node(node)

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 529

def visit_local_variable_or_write_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_local_variable_read_node(node)

Visit a LocalVariableReadNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 534

def visit_local_variable_read_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_local_variable_target_node(node)

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 539

def visit_local_variable_target_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_local_variable_write_node(node)

Visit a LocalVariableWriteNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 544

def visit_local_variable_write_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_match_last_line_node(node)

Visit a MatchLastLineNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 549

def visit_match_last_line_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_match_predicate_node(node)

Visit a MatchPredicateNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 554

def visit_match_predicate_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_match_required_node(node)

Visit a MatchRequiredNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 559

def visit_match_required_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_match_write_node(node)

Visit a MatchWriteNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 564

def visit_match_write_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_missing_node(node)

Visit a MissingNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 569

def visit_missing_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_module_node(node)

Visit a ModuleNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 574

def visit_module_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_multi_target_node(node)

Visit a MultiTargetNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 579

def visit_multi_target_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_multi_write_node(node)

Visit a MultiWriteNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 584

def visit_multi_write_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_next_node(node)

Visit a NextNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 589

def visit_next_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_nil_node(node)

Visit a NilNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 594

def visit_nil_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_no_keywords_parameter_node(node)

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 599

def visit_no_keywords_parameter_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_numbered_parameters_node(node)

Visit a NumberedParametersNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 604

def visit_numbered_parameters_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_numbered_reference_read_node(node)

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 609

def visit_numbered_reference_read_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_optional_keyword_parameter_node(node)

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 614

def visit_optional_keyword_parameter_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_optional_parameter_node(node)

Visit a OptionalParameterNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 619

def visit_optional_parameter_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_or_node(node)

Visit a OrNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 624

def visit_or_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_parameters_node(node)

Visit a ParametersNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 629

def visit_parameters_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_parentheses_node(node)

Visit a ParenthesesNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 634

def visit_parentheses_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_pinned_expression_node(node)

Visit a PinnedExpressionNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 639

def visit_pinned_expression_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_pinned_variable_node(node)

Visit a PinnedVariableNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 644

def visit_pinned_variable_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_post_execution_node(node)

Visit a PostExecutionNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 649

def visit_post_execution_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_pre_execution_node(node)

Visit a PreExecutionNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 654

def visit_pre_execution_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_program_node(node)

Visit a ProgramNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 659

def visit_program_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_range_node(node)

Visit a RangeNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 664

def visit_range_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_rational_node(node)

Visit a RationalNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 669

def visit_rational_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_redo_node(node)

Visit a RedoNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 674

def visit_redo_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_regular_expression_node(node)

Visit a RegularExpressionNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 679

def visit_regular_expression_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_required_keyword_parameter_node(node)

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 684

def visit_required_keyword_parameter_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_required_parameter_node(node)

Visit a RequiredParameterNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 689

def visit_required_parameter_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_rescue_modifier_node(node)

Visit a RescueModifierNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 694

def visit_rescue_modifier_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_rescue_node(node)

Visit a RescueNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 699

def visit_rescue_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_rest_parameter_node(node)

Visit a RestParameterNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 704

def visit_rest_parameter_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_retry_node(node)

Visit a RetryNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 709

def visit_retry_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_return_node(node)

Visit a ReturnNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 714

def visit_return_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_self_node(node)

Visit a SelfNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 719

def visit_self_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_shareable_constant_node(node)

Visit a ShareableConstantNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 724

def visit_shareable_constant_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_singleton_class_node(node)

Visit a SingletonClassNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 729

def visit_singleton_class_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_source_encoding_node(node)

Visit a SourceEncodingNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 734

def visit_source_encoding_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_source_file_node(node)

Visit a SourceFileNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 739

def visit_source_file_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_source_line_node(node)

Visit a SourceLineNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 744

def visit_source_line_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_splat_node(node)

Visit a SplatNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 749

def visit_splat_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_statements_node(node)

Visit a StatementsNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 754

def visit_statements_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_string_node(node)

Visit a StringNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 759

def visit_string_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_super_node(node)

Visit a SuperNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 764

def visit_super_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_symbol_node(node)

Visit a SymbolNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 769

def visit_symbol_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_true_node(node)

Visit a TrueNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 774

def visit_true_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_undef_node(node)

Visit a UndefNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 779

def visit_undef_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_unless_node(node)

Visit a UnlessNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 784

def visit_unless_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_until_node(node)

Visit a UntilNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 789

def visit_until_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_when_node(node)

Visit a WhenNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 794

def visit_when_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_while_node(node)

Visit a WhileNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 799

def visit_while_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_x_string_node(node)

Visit a XStringNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 804

def visit_x_string_node(node)
  node.each_child_node { |node| node.accept(self) }
end

#visit_yield_node(node)

Visit a YieldNode node

[ GitHub ]

  
# File 'lib/prism/visitor.rb', line 809

def visit_yield_node(node)
  node.each_child_node { |node| node.accept(self) }
end