123456789_123456789_123456789_123456789_123456789_

Class: Prism::Compiler

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

Overview

A compiler is a visitor that returns the value of each node as it visits. This is as opposed to a visitor which will only walk the tree. This can be useful when you are trying to compile a tree into a different format.

For example, to build a representation of the tree as s-expressions, you could write:

class SExpressions < Prism::Compiler
  def visit_arguments_node(node) = [:arguments, super]
  def visit_call_node(node) = [:call, super]
  def visit_integer_node(node) = [:integer]
  def visit_program_node(node) = [:program, super]
end

Prism.parse("1 + 2").value.accept(SExpressions.new)
# => [:program, [[[:call, [[:integer], [:arguments, [[:integer]]]]]]]]

Instance Method Summary

Visitor - Inherited

#visit_alias_global_variable_node
#visit_alias_method_node
#visit_alternation_pattern_node
#visit_and_node
#visit_arguments_node
#visit_array_node
#visit_array_pattern_node
#visit_assoc_node
#visit_assoc_splat_node
#visit_back_reference_read_node
#visit_begin_node
#visit_block_argument_node
#visit_block_local_variable_node
#visit_block_node
#visit_block_parameter_node
#visit_block_parameters_node
#visit_break_node
#visit_call_and_write_node
#visit_call_node
#visit_call_operator_write_node
#visit_call_or_write_node
#visit_call_target_node
#visit_capture_pattern_node
#visit_case_match_node
#visit_case_node
#visit_class_node
#visit_class_variable_and_write_node
#visit_class_variable_operator_write_node
#visit_class_variable_or_write_node
#visit_class_variable_read_node
#visit_class_variable_target_node
#visit_class_variable_write_node
#visit_constant_and_write_node
#visit_constant_operator_write_node
#visit_constant_or_write_node
#visit_constant_path_and_write_node
#visit_constant_path_node
#visit_constant_path_operator_write_node
#visit_constant_path_or_write_node
#visit_constant_path_target_node
#visit_constant_path_write_node
#visit_constant_read_node
#visit_constant_target_node
#visit_constant_write_node
#visit_def_node
#visit_defined_node
#visit_else_node
#visit_embedded_statements_node
#visit_embedded_variable_node
#visit_ensure_node
#visit_false_node
#visit_find_pattern_node
#visit_flip_flop_node
#visit_float_node
#visit_for_node
#visit_forwarding_arguments_node
#visit_forwarding_parameter_node
#visit_forwarding_super_node
#visit_global_variable_and_write_node
#visit_global_variable_operator_write_node
#visit_global_variable_or_write_node
#visit_global_variable_read_node
#visit_global_variable_target_node
#visit_global_variable_write_node
#visit_hash_node
#visit_hash_pattern_node
#visit_if_node
#visit_imaginary_node
#visit_implicit_node
#visit_implicit_rest_node
#visit_in_node
#visit_index_and_write_node
#visit_index_operator_write_node
#visit_index_or_write_node
#visit_index_target_node
#visit_instance_variable_and_write_node
#visit_instance_variable_operator_write_node
#visit_instance_variable_or_write_node
#visit_instance_variable_read_node
#visit_instance_variable_target_node
#visit_instance_variable_write_node
#visit_integer_node
#visit_interpolated_match_last_line_node
#visit_interpolated_regular_expression_node
#visit_interpolated_string_node
#visit_interpolated_symbol_node
#visit_interpolated_x_string_node
#visit_it_local_variable_read_node
#visit_it_parameters_node
#visit_keyword_hash_node
#visit_keyword_rest_parameter_node
#visit_lambda_node
#visit_local_variable_and_write_node
#visit_local_variable_operator_write_node
#visit_local_variable_or_write_node
#visit_local_variable_read_node
#visit_local_variable_target_node
#visit_local_variable_write_node
#visit_match_last_line_node
#visit_match_predicate_node
#visit_match_required_node
#visit_match_write_node
#visit_missing_node
#visit_module_node
#visit_multi_target_node
#visit_multi_write_node
#visit_next_node
#visit_nil_node
#visit_no_keywords_parameter_node
#visit_numbered_parameters_node
#visit_numbered_reference_read_node
#visit_optional_keyword_parameter_node
#visit_optional_parameter_node
#visit_or_node
#visit_parameters_node
#visit_parentheses_node
#visit_pinned_expression_node
#visit_pinned_variable_node
#visit_post_execution_node
#visit_pre_execution_node
#visit_program_node
#visit_range_node
#visit_rational_node
#visit_redo_node
#visit_regular_expression_node
#visit_required_keyword_parameter_node
#visit_required_parameter_node
#visit_rescue_modifier_node
#visit_rescue_node
#visit_rest_parameter_node
#visit_retry_node
#visit_return_node
#visit_self_node
#visit_shareable_constant_node
#visit_singleton_class_node
#visit_source_encoding_node
#visit_source_file_node
#visit_source_line_node
#visit_splat_node
#visit_statements_node
#visit_string_node
#visit_super_node
#visit_symbol_node
#visit_true_node
#visit_undef_node
#visit_unless_node
#visit_until_node
#visit_when_node
#visit_while_node
#visit_x_string_node
#visit_yield_node

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(node)

Visit an individual node.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 29

def visit(node)
  node&.accept(self)
end

#visit_alias_global_variable_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 44

alias visit_alias_global_variable_node visit_child_nodes

#visit_alias_method_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 47

alias visit_alias_method_node visit_child_nodes

#visit_all(nodes)

Visit a list of nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 34

def visit_all(nodes)
  nodes.map { |node| node&.accept(self) }
end

#visit_alternation_pattern_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 50

alias visit_alternation_pattern_node visit_child_nodes

#visit_and_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 53

alias visit_and_node visit_child_nodes

#visit_arguments_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 56

alias visit_arguments_node visit_child_nodes

#visit_array_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

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

alias visit_array_node visit_child_nodes

#visit_array_pattern_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 62

alias visit_array_pattern_node visit_child_nodes

#visit_assoc_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 65

alias visit_assoc_node visit_child_nodes

#visit_assoc_splat_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 68

alias visit_assoc_splat_node visit_child_nodes

#visit_back_reference_read_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 71

alias visit_back_reference_read_node visit_child_nodes

#visit_begin_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

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

alias visit_begin_node visit_child_nodes

#visit_block_argument_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 77

alias visit_block_argument_node visit_child_nodes

#visit_block_local_variable_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 80

alias visit_block_local_variable_node visit_child_nodes

#visit_block_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 83

alias visit_block_node visit_child_nodes

#visit_block_parameter_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 86

alias visit_block_parameter_node visit_child_nodes

#visit_block_parameters_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

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

alias visit_block_parameters_node visit_child_nodes

#visit_break_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 92

alias visit_break_node visit_child_nodes

#visit_call_and_write_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 95

alias visit_call_and_write_node visit_child_nodes

#visit_call_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 98

alias visit_call_node visit_child_nodes

#visit_call_operator_write_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 101

alias visit_call_operator_write_node visit_child_nodes

#visit_call_or_write_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

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

alias visit_call_or_write_node visit_child_nodes

#visit_call_target_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 107

alias visit_call_target_node visit_child_nodes

#visit_capture_pattern_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 110

alias visit_capture_pattern_node visit_child_nodes

#visit_case_match_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 113

alias visit_case_match_node visit_child_nodes

#visit_case_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 116

alias visit_case_node visit_child_nodes

#visit_child_nodes(node) Also known as: #visit_alias_global_variable_node, #visit_alias_method_node, #visit_alternation_pattern_node, #visit_and_node, #visit_arguments_node, #visit_array_node, #visit_array_pattern_node, #visit_assoc_node, #visit_assoc_splat_node, #visit_back_reference_read_node, #visit_begin_node, #visit_block_argument_node, #visit_block_local_variable_node, #visit_block_node, #visit_block_parameter_node, #visit_block_parameters_node, #visit_break_node, #visit_call_and_write_node, #visit_call_node, #visit_call_operator_write_node, #visit_call_or_write_node, #visit_call_target_node, #visit_capture_pattern_node, #visit_case_match_node, #visit_case_node, #visit_class_node, #visit_class_variable_and_write_node, #visit_class_variable_operator_write_node, #visit_class_variable_or_write_node, #visit_class_variable_read_node, #visit_class_variable_target_node, #visit_class_variable_write_node, #visit_constant_and_write_node, #visit_constant_operator_write_node, #visit_constant_or_write_node, #visit_constant_path_and_write_node, #visit_constant_path_node, #visit_constant_path_operator_write_node, #visit_constant_path_or_write_node, #visit_constant_path_target_node, #visit_constant_path_write_node, #visit_constant_read_node, #visit_constant_target_node, #visit_constant_write_node, #visit_def_node, #visit_defined_node, #visit_else_node, #visit_embedded_statements_node, #visit_embedded_variable_node, #visit_ensure_node, #visit_false_node, #visit_find_pattern_node, #visit_flip_flop_node, #visit_float_node, #visit_for_node, #visit_forwarding_arguments_node, #visit_forwarding_parameter_node, #visit_forwarding_super_node, #visit_global_variable_and_write_node, #visit_global_variable_operator_write_node, #visit_global_variable_or_write_node, #visit_global_variable_read_node, #visit_global_variable_target_node, #visit_global_variable_write_node, #visit_hash_node, #visit_hash_pattern_node, #visit_if_node, #visit_imaginary_node, #visit_implicit_node, #visit_implicit_rest_node, #visit_in_node, #visit_index_and_write_node, #visit_index_operator_write_node, #visit_index_or_write_node, #visit_index_target_node, #visit_instance_variable_and_write_node, #visit_instance_variable_operator_write_node, #visit_instance_variable_or_write_node, #visit_instance_variable_read_node, #visit_instance_variable_target_node, #visit_instance_variable_write_node, #visit_integer_node, #visit_interpolated_match_last_line_node, #visit_interpolated_regular_expression_node, #visit_interpolated_string_node, #visit_interpolated_symbol_node, #visit_interpolated_x_string_node, #visit_it_local_variable_read_node, #visit_it_parameters_node, #visit_keyword_hash_node, #visit_keyword_rest_parameter_node, #visit_lambda_node, #visit_local_variable_and_write_node, #visit_local_variable_operator_write_node, #visit_local_variable_or_write_node, #visit_local_variable_read_node, #visit_local_variable_target_node, #visit_local_variable_write_node, #visit_match_last_line_node, #visit_match_predicate_node, #visit_match_required_node, #visit_match_write_node, #visit_missing_node, #visit_module_node, #visit_multi_target_node, #visit_multi_write_node, #visit_next_node, #visit_nil_node, #visit_no_keywords_parameter_node, #visit_numbered_parameters_node, #visit_numbered_reference_read_node, #visit_optional_keyword_parameter_node, #visit_optional_parameter_node, #visit_or_node, #visit_parameters_node, #visit_parentheses_node, #visit_pinned_expression_node, #visit_pinned_variable_node, #visit_post_execution_node, #visit_pre_execution_node, #visit_program_node, #visit_range_node, #visit_rational_node, #visit_redo_node, #visit_regular_expression_node, #visit_required_keyword_parameter_node, #visit_required_parameter_node, #visit_rescue_modifier_node, #visit_rescue_node, #visit_rest_parameter_node, #visit_retry_node, #visit_return_node, #visit_self_node, #visit_shareable_constant_node, #visit_singleton_class_node, #visit_source_encoding_node, #visit_source_file_node, #visit_source_line_node, #visit_splat_node, #visit_statements_node, #visit_string_node, #visit_super_node, #visit_symbol_node, #visit_true_node, #visit_undef_node, #visit_unless_node, #visit_until_node, #visit_when_node, #visit_while_node, #visit_x_string_node, #visit_yield_node

Visit the child nodes of the given node.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 39

def visit_child_nodes(node)
  node.compact_child_nodes.map { |node| node.accept(self) }
end

#visit_class_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

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

alias visit_class_node visit_child_nodes

#visit_class_variable_and_write_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 122

alias visit_class_variable_and_write_node visit_child_nodes

#visit_class_variable_operator_write_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 125

alias visit_class_variable_operator_write_node visit_child_nodes

#visit_class_variable_or_write_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 128

alias visit_class_variable_or_write_node visit_child_nodes

#visit_class_variable_read_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 131

alias visit_class_variable_read_node visit_child_nodes

#visit_class_variable_target_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

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

alias visit_class_variable_target_node visit_child_nodes

#visit_class_variable_write_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 137

alias visit_class_variable_write_node visit_child_nodes

#visit_constant_and_write_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 140

alias visit_constant_and_write_node visit_child_nodes

#visit_constant_operator_write_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 143

alias visit_constant_operator_write_node visit_child_nodes

#visit_constant_or_write_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 146

alias visit_constant_or_write_node visit_child_nodes

#visit_constant_path_and_write_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

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

alias visit_constant_path_and_write_node visit_child_nodes

#visit_constant_path_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 152

alias visit_constant_path_node visit_child_nodes

#visit_constant_path_operator_write_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 155

alias visit_constant_path_operator_write_node visit_child_nodes

#visit_constant_path_or_write_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 158

alias visit_constant_path_or_write_node visit_child_nodes

#visit_constant_path_target_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 161

alias visit_constant_path_target_node visit_child_nodes

#visit_constant_path_write_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

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

alias visit_constant_path_write_node visit_child_nodes

#visit_constant_read_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 167

alias visit_constant_read_node visit_child_nodes

#visit_constant_target_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 170

alias visit_constant_target_node visit_child_nodes

#visit_constant_write_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 173

alias visit_constant_write_node visit_child_nodes

#visit_def_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 176

alias visit_def_node visit_child_nodes

#visit_defined_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

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

alias visit_defined_node visit_child_nodes

#visit_else_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 182

alias visit_else_node visit_child_nodes

#visit_embedded_statements_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 185

alias visit_embedded_statements_node visit_child_nodes

#visit_embedded_variable_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 188

alias visit_embedded_variable_node visit_child_nodes

#visit_ensure_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 191

alias visit_ensure_node visit_child_nodes

#visit_false_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

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

alias visit_false_node visit_child_nodes

#visit_find_pattern_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 197

alias visit_find_pattern_node visit_child_nodes

#visit_flip_flop_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 200

alias visit_flip_flop_node visit_child_nodes

#visit_float_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 203

alias visit_float_node visit_child_nodes

#visit_for_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 206

alias visit_for_node visit_child_nodes

#visit_forwarding_arguments_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

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

alias visit_forwarding_arguments_node visit_child_nodes

#visit_forwarding_parameter_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 212

alias visit_forwarding_parameter_node visit_child_nodes

#visit_forwarding_super_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 215

alias visit_forwarding_super_node visit_child_nodes

#visit_global_variable_and_write_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 218

alias visit_global_variable_and_write_node visit_child_nodes

#visit_global_variable_operator_write_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 221

alias visit_global_variable_operator_write_node visit_child_nodes

#visit_global_variable_or_write_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

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

alias visit_global_variable_or_write_node visit_child_nodes

#visit_global_variable_read_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 227

alias visit_global_variable_read_node visit_child_nodes

#visit_global_variable_target_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 230

alias visit_global_variable_target_node visit_child_nodes

#visit_global_variable_write_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 233

alias visit_global_variable_write_node visit_child_nodes

#visit_hash_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 236

alias visit_hash_node visit_child_nodes

#visit_hash_pattern_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

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

alias visit_hash_pattern_node visit_child_nodes

#visit_if_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 242

alias visit_if_node visit_child_nodes

#visit_imaginary_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 245

alias visit_imaginary_node visit_child_nodes

#visit_implicit_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 248

alias visit_implicit_node visit_child_nodes

#visit_implicit_rest_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 251

alias visit_implicit_rest_node visit_child_nodes

#visit_in_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

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

alias visit_in_node visit_child_nodes

#visit_index_and_write_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 257

alias visit_index_and_write_node visit_child_nodes

#visit_index_operator_write_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 260

alias visit_index_operator_write_node visit_child_nodes

#visit_index_or_write_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 263

alias visit_index_or_write_node visit_child_nodes

#visit_index_target_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 266

alias visit_index_target_node visit_child_nodes

#visit_instance_variable_and_write_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

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

alias visit_instance_variable_and_write_node visit_child_nodes

#visit_instance_variable_operator_write_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 272

alias visit_instance_variable_operator_write_node visit_child_nodes

#visit_instance_variable_or_write_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 275

alias visit_instance_variable_or_write_node visit_child_nodes

#visit_instance_variable_read_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 278

alias visit_instance_variable_read_node visit_child_nodes

#visit_instance_variable_target_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 281

alias visit_instance_variable_target_node visit_child_nodes

#visit_instance_variable_write_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

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

alias visit_instance_variable_write_node visit_child_nodes

#visit_integer_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 287

alias visit_integer_node visit_child_nodes

#visit_interpolated_match_last_line_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 290

alias visit_interpolated_match_last_line_node visit_child_nodes

#visit_interpolated_regular_expression_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 293

alias visit_interpolated_regular_expression_node visit_child_nodes

#visit_interpolated_string_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 296

alias visit_interpolated_string_node visit_child_nodes

#visit_interpolated_symbol_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

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

alias visit_interpolated_symbol_node visit_child_nodes

#visit_interpolated_x_string_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 302

alias visit_interpolated_x_string_node visit_child_nodes

#visit_it_local_variable_read_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 305

alias visit_it_local_variable_read_node visit_child_nodes

#visit_it_parameters_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 308

alias visit_it_parameters_node visit_child_nodes

#visit_keyword_hash_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 311

alias visit_keyword_hash_node visit_child_nodes

#visit_keyword_rest_parameter_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

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

alias visit_keyword_rest_parameter_node visit_child_nodes

#visit_lambda_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 317

alias visit_lambda_node visit_child_nodes

#visit_local_variable_and_write_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 320

alias visit_local_variable_and_write_node visit_child_nodes

#visit_local_variable_operator_write_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 323

alias visit_local_variable_operator_write_node visit_child_nodes

#visit_local_variable_or_write_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 326

alias visit_local_variable_or_write_node visit_child_nodes

#visit_local_variable_read_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

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

alias visit_local_variable_read_node visit_child_nodes

#visit_local_variable_target_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 332

alias visit_local_variable_target_node visit_child_nodes

#visit_local_variable_write_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 335

alias visit_local_variable_write_node visit_child_nodes

#visit_match_last_line_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 338

alias visit_match_last_line_node visit_child_nodes

#visit_match_predicate_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 341

alias visit_match_predicate_node visit_child_nodes

#visit_match_required_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

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

alias visit_match_required_node visit_child_nodes

#visit_match_write_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 347

alias visit_match_write_node visit_child_nodes

#visit_missing_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 350

alias visit_missing_node visit_child_nodes

#visit_module_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 353

alias visit_module_node visit_child_nodes

#visit_multi_target_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 356

alias visit_multi_target_node visit_child_nodes

#visit_multi_write_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

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

alias visit_multi_write_node visit_child_nodes

#visit_next_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 362

alias visit_next_node visit_child_nodes

#visit_nil_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 365

alias visit_nil_node visit_child_nodes

#visit_no_keywords_parameter_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 368

alias visit_no_keywords_parameter_node visit_child_nodes

#visit_numbered_parameters_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 371

alias visit_numbered_parameters_node visit_child_nodes

#visit_numbered_reference_read_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

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

alias visit_numbered_reference_read_node visit_child_nodes

#visit_optional_keyword_parameter_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 377

alias visit_optional_keyword_parameter_node visit_child_nodes

#visit_optional_parameter_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 380

alias visit_optional_parameter_node visit_child_nodes

#visit_or_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 383

alias visit_or_node visit_child_nodes

#visit_parameters_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 386

alias visit_parameters_node visit_child_nodes

#visit_parentheses_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

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

alias visit_parentheses_node visit_child_nodes

#visit_pinned_expression_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 392

alias visit_pinned_expression_node visit_child_nodes

#visit_pinned_variable_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 395

alias visit_pinned_variable_node visit_child_nodes

#visit_post_execution_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 398

alias visit_post_execution_node visit_child_nodes

#visit_pre_execution_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 401

alias visit_pre_execution_node visit_child_nodes

#visit_program_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

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

alias visit_program_node visit_child_nodes

#visit_range_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 407

alias visit_range_node visit_child_nodes

#visit_rational_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 410

alias visit_rational_node visit_child_nodes

#visit_redo_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 413

alias visit_redo_node visit_child_nodes

#visit_regular_expression_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 416

alias visit_regular_expression_node visit_child_nodes

#visit_required_keyword_parameter_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

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

alias visit_required_keyword_parameter_node visit_child_nodes

#visit_required_parameter_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 422

alias visit_required_parameter_node visit_child_nodes

#visit_rescue_modifier_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 425

alias visit_rescue_modifier_node visit_child_nodes

#visit_rescue_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 428

alias visit_rescue_node visit_child_nodes

#visit_rest_parameter_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 431

alias visit_rest_parameter_node visit_child_nodes

#visit_retry_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

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

alias visit_retry_node visit_child_nodes

#visit_return_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 437

alias visit_return_node visit_child_nodes

#visit_self_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 440

alias visit_self_node visit_child_nodes

#visit_shareable_constant_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 443

alias visit_shareable_constant_node visit_child_nodes

#visit_singleton_class_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 446

alias visit_singleton_class_node visit_child_nodes

#visit_source_encoding_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

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

alias visit_source_encoding_node visit_child_nodes

#visit_source_file_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 452

alias visit_source_file_node visit_child_nodes

#visit_source_line_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 455

alias visit_source_line_node visit_child_nodes

#visit_splat_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 458

alias visit_splat_node visit_child_nodes

#visit_statements_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 461

alias visit_statements_node visit_child_nodes

#visit_string_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

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

alias visit_string_node visit_child_nodes

#visit_super_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 467

alias visit_super_node visit_child_nodes

#visit_symbol_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 470

alias visit_symbol_node visit_child_nodes

#visit_true_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 473

alias visit_true_node visit_child_nodes

#visit_undef_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 476

alias visit_undef_node visit_child_nodes

#visit_unless_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

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

alias visit_unless_node visit_child_nodes

#visit_until_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 482

alias visit_until_node visit_child_nodes

#visit_when_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 485

alias visit_when_node visit_child_nodes

#visit_while_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 488

alias visit_while_node visit_child_nodes

#visit_x_string_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

  
# File 'lib/prism/compiler.rb', line 491

alias visit_x_string_node visit_child_nodes

#visit_yield_node(node)

Alias for #visit_child_nodes.

[ GitHub ]

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

alias visit_yield_node visit_child_nodes