class YARP::Dispatcher

The dispatcher class fires events for nodes that are found while walking an AST to all registered listeners. It’s useful for performing different types of analysis on the AST while only having to walk the tree once.

To use the dispatcher, you would first instantiate it and register listeners for the events you’re interested in:

class OctalListener
  def on_integer_node_enter(node)
    if node.octal? && !node.slice.start_with?("0o")
      warn("Octal integers should be written with the 0o prefix")
    end
  end
end

dispatcher = Dispatcher.new
dispatcher.register(listener, :on_integer_node_enter)

Then, you can walk any number of trees and dispatch events to the listeners:

result = YARP.parse("001 + 002 + 003")
dispatcher.dispatch(result.value)

Optionally, you can also use ‘#dispatch_once` to dispatch enter and leave events for a single node without recursing further down the tree. This can be useful in circumstances where you want to reuse the listeners you already have registers but want to stop walking the tree at a certain point.

integer = result.value.statements.body.first.receiver.receiver
dispatcher.dispatch_once(integer)

Attributes

listeners[R]

attr_reader listeners: Hash[Symbol, Array]

Public Class Methods

new() click to toggle source
# File lib/yarp/node.rb, line 12431
def initialize
  @listeners = {}
end

Public Instance Methods

dispatch_once(node) click to toggle source

Dispatches a single event for ‘node` to all registered listeners

def dispatch_once: (Node) -> void

# File lib/yarp/node.rb, line 12450
def dispatch_once(node)
  node.accept(DispatchOnce.new(listeners))
end
register(listener, *events) click to toggle source

Register a listener for one or more events

def register: (Listener, *Symbol) -> void

# File lib/yarp/node.rb, line 12438
def register(listener, *events)
  events.each { |event| (listeners[event] ||= []) << listener }
end
visit_alias_global_variable_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12454
def visit_alias_global_variable_node(node)
  listeners[:on_alias_global_variable_node_enter]&.each { |listener| listener.on_alias_global_variable_node_enter(node) }
  super
  listeners[:on_alias_global_variable_node_leave]&.each { |listener| listener.on_alias_global_variable_node_leave(node) }
end
visit_alias_method_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12460
def visit_alias_method_node(node)
  listeners[:on_alias_method_node_enter]&.each { |listener| listener.on_alias_method_node_enter(node) }
  super
  listeners[:on_alias_method_node_leave]&.each { |listener| listener.on_alias_method_node_leave(node) }
end
visit_alternation_pattern_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12466
def visit_alternation_pattern_node(node)
  listeners[:on_alternation_pattern_node_enter]&.each { |listener| listener.on_alternation_pattern_node_enter(node) }
  super
  listeners[:on_alternation_pattern_node_leave]&.each { |listener| listener.on_alternation_pattern_node_leave(node) }
end
visit_and_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12472
def visit_and_node(node)
  listeners[:on_and_node_enter]&.each { |listener| listener.on_and_node_enter(node) }
  super
  listeners[:on_and_node_leave]&.each { |listener| listener.on_and_node_leave(node) }
end
visit_arguments_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12478
def visit_arguments_node(node)
  listeners[:on_arguments_node_enter]&.each { |listener| listener.on_arguments_node_enter(node) }
  super
  listeners[:on_arguments_node_leave]&.each { |listener| listener.on_arguments_node_leave(node) }
end
visit_array_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12484
def visit_array_node(node)
  listeners[:on_array_node_enter]&.each { |listener| listener.on_array_node_enter(node) }
  super
  listeners[:on_array_node_leave]&.each { |listener| listener.on_array_node_leave(node) }
end
visit_array_pattern_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12490
def visit_array_pattern_node(node)
  listeners[:on_array_pattern_node_enter]&.each { |listener| listener.on_array_pattern_node_enter(node) }
  super
  listeners[:on_array_pattern_node_leave]&.each { |listener| listener.on_array_pattern_node_leave(node) }
end
visit_assoc_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12496
def visit_assoc_node(node)
  listeners[:on_assoc_node_enter]&.each { |listener| listener.on_assoc_node_enter(node) }
  super
  listeners[:on_assoc_node_leave]&.each { |listener| listener.on_assoc_node_leave(node) }
end
visit_assoc_splat_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12502
def visit_assoc_splat_node(node)
  listeners[:on_assoc_splat_node_enter]&.each { |listener| listener.on_assoc_splat_node_enter(node) }
  super
  listeners[:on_assoc_splat_node_leave]&.each { |listener| listener.on_assoc_splat_node_leave(node) }
end
visit_back_reference_read_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12508
def visit_back_reference_read_node(node)
  listeners[:on_back_reference_read_node_enter]&.each { |listener| listener.on_back_reference_read_node_enter(node) }
  super
  listeners[:on_back_reference_read_node_leave]&.each { |listener| listener.on_back_reference_read_node_leave(node) }
end
visit_begin_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12514
def visit_begin_node(node)
  listeners[:on_begin_node_enter]&.each { |listener| listener.on_begin_node_enter(node) }
  super
  listeners[:on_begin_node_leave]&.each { |listener| listener.on_begin_node_leave(node) }
end
visit_block_argument_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12520
def visit_block_argument_node(node)
  listeners[:on_block_argument_node_enter]&.each { |listener| listener.on_block_argument_node_enter(node) }
  super
  listeners[:on_block_argument_node_leave]&.each { |listener| listener.on_block_argument_node_leave(node) }
end
visit_block_local_variable_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12526
def visit_block_local_variable_node(node)
  listeners[:on_block_local_variable_node_enter]&.each { |listener| listener.on_block_local_variable_node_enter(node) }
  super
  listeners[:on_block_local_variable_node_leave]&.each { |listener| listener.on_block_local_variable_node_leave(node) }
end
visit_block_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12532
def visit_block_node(node)
  listeners[:on_block_node_enter]&.each { |listener| listener.on_block_node_enter(node) }
  super
  listeners[:on_block_node_leave]&.each { |listener| listener.on_block_node_leave(node) }
end
visit_block_parameter_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12538
def visit_block_parameter_node(node)
  listeners[:on_block_parameter_node_enter]&.each { |listener| listener.on_block_parameter_node_enter(node) }
  super
  listeners[:on_block_parameter_node_leave]&.each { |listener| listener.on_block_parameter_node_leave(node) }
end
visit_block_parameters_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12544
def visit_block_parameters_node(node)
  listeners[:on_block_parameters_node_enter]&.each { |listener| listener.on_block_parameters_node_enter(node) }
  super
  listeners[:on_block_parameters_node_leave]&.each { |listener| listener.on_block_parameters_node_leave(node) }
end
visit_break_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12550
def visit_break_node(node)
  listeners[:on_break_node_enter]&.each { |listener| listener.on_break_node_enter(node) }
  super
  listeners[:on_break_node_leave]&.each { |listener| listener.on_break_node_leave(node) }
end
visit_call_and_write_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12556
def visit_call_and_write_node(node)
  listeners[:on_call_and_write_node_enter]&.each { |listener| listener.on_call_and_write_node_enter(node) }
  super
  listeners[:on_call_and_write_node_leave]&.each { |listener| listener.on_call_and_write_node_leave(node) }
end
visit_call_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12562
def visit_call_node(node)
  listeners[:on_call_node_enter]&.each { |listener| listener.on_call_node_enter(node) }
  super
  listeners[:on_call_node_leave]&.each { |listener| listener.on_call_node_leave(node) }
end
visit_call_operator_write_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12568
def visit_call_operator_write_node(node)
  listeners[:on_call_operator_write_node_enter]&.each { |listener| listener.on_call_operator_write_node_enter(node) }
  super
  listeners[:on_call_operator_write_node_leave]&.each { |listener| listener.on_call_operator_write_node_leave(node) }
end
visit_call_or_write_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12574
def visit_call_or_write_node(node)
  listeners[:on_call_or_write_node_enter]&.each { |listener| listener.on_call_or_write_node_enter(node) }
  super
  listeners[:on_call_or_write_node_leave]&.each { |listener| listener.on_call_or_write_node_leave(node) }
end
visit_capture_pattern_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12580
def visit_capture_pattern_node(node)
  listeners[:on_capture_pattern_node_enter]&.each { |listener| listener.on_capture_pattern_node_enter(node) }
  super
  listeners[:on_capture_pattern_node_leave]&.each { |listener| listener.on_capture_pattern_node_leave(node) }
end
visit_case_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12586
def visit_case_node(node)
  listeners[:on_case_node_enter]&.each { |listener| listener.on_case_node_enter(node) }
  super
  listeners[:on_case_node_leave]&.each { |listener| listener.on_case_node_leave(node) }
end
visit_class_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12592
def visit_class_node(node)
  listeners[:on_class_node_enter]&.each { |listener| listener.on_class_node_enter(node) }
  super
  listeners[:on_class_node_leave]&.each { |listener| listener.on_class_node_leave(node) }
end
visit_class_variable_and_write_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12598
def visit_class_variable_and_write_node(node)
  listeners[:on_class_variable_and_write_node_enter]&.each { |listener| listener.on_class_variable_and_write_node_enter(node) }
  super
  listeners[:on_class_variable_and_write_node_leave]&.each { |listener| listener.on_class_variable_and_write_node_leave(node) }
end
visit_class_variable_operator_write_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12604
def visit_class_variable_operator_write_node(node)
  listeners[:on_class_variable_operator_write_node_enter]&.each { |listener| listener.on_class_variable_operator_write_node_enter(node) }
  super
  listeners[:on_class_variable_operator_write_node_leave]&.each { |listener| listener.on_class_variable_operator_write_node_leave(node) }
end
visit_class_variable_or_write_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12610
def visit_class_variable_or_write_node(node)
  listeners[:on_class_variable_or_write_node_enter]&.each { |listener| listener.on_class_variable_or_write_node_enter(node) }
  super
  listeners[:on_class_variable_or_write_node_leave]&.each { |listener| listener.on_class_variable_or_write_node_leave(node) }
end
visit_class_variable_read_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12616
def visit_class_variable_read_node(node)
  listeners[:on_class_variable_read_node_enter]&.each { |listener| listener.on_class_variable_read_node_enter(node) }
  super
  listeners[:on_class_variable_read_node_leave]&.each { |listener| listener.on_class_variable_read_node_leave(node) }
end
visit_class_variable_target_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12622
def visit_class_variable_target_node(node)
  listeners[:on_class_variable_target_node_enter]&.each { |listener| listener.on_class_variable_target_node_enter(node) }
  super
  listeners[:on_class_variable_target_node_leave]&.each { |listener| listener.on_class_variable_target_node_leave(node) }
end
visit_class_variable_write_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12628
def visit_class_variable_write_node(node)
  listeners[:on_class_variable_write_node_enter]&.each { |listener| listener.on_class_variable_write_node_enter(node) }
  super
  listeners[:on_class_variable_write_node_leave]&.each { |listener| listener.on_class_variable_write_node_leave(node) }
end
visit_constant_and_write_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12634
def visit_constant_and_write_node(node)
  listeners[:on_constant_and_write_node_enter]&.each { |listener| listener.on_constant_and_write_node_enter(node) }
  super
  listeners[:on_constant_and_write_node_leave]&.each { |listener| listener.on_constant_and_write_node_leave(node) }
end
visit_constant_operator_write_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12640
def visit_constant_operator_write_node(node)
  listeners[:on_constant_operator_write_node_enter]&.each { |listener| listener.on_constant_operator_write_node_enter(node) }
  super
  listeners[:on_constant_operator_write_node_leave]&.each { |listener| listener.on_constant_operator_write_node_leave(node) }
end
visit_constant_or_write_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12646
def visit_constant_or_write_node(node)
  listeners[:on_constant_or_write_node_enter]&.each { |listener| listener.on_constant_or_write_node_enter(node) }
  super
  listeners[:on_constant_or_write_node_leave]&.each { |listener| listener.on_constant_or_write_node_leave(node) }
end
visit_constant_path_and_write_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12652
def visit_constant_path_and_write_node(node)
  listeners[:on_constant_path_and_write_node_enter]&.each { |listener| listener.on_constant_path_and_write_node_enter(node) }
  super
  listeners[:on_constant_path_and_write_node_leave]&.each { |listener| listener.on_constant_path_and_write_node_leave(node) }
end
visit_constant_path_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12658
def visit_constant_path_node(node)
  listeners[:on_constant_path_node_enter]&.each { |listener| listener.on_constant_path_node_enter(node) }
  super
  listeners[:on_constant_path_node_leave]&.each { |listener| listener.on_constant_path_node_leave(node) }
end
visit_constant_path_operator_write_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12664
def visit_constant_path_operator_write_node(node)
  listeners[:on_constant_path_operator_write_node_enter]&.each { |listener| listener.on_constant_path_operator_write_node_enter(node) }
  super
  listeners[:on_constant_path_operator_write_node_leave]&.each { |listener| listener.on_constant_path_operator_write_node_leave(node) }
end
visit_constant_path_or_write_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12670
def visit_constant_path_or_write_node(node)
  listeners[:on_constant_path_or_write_node_enter]&.each { |listener| listener.on_constant_path_or_write_node_enter(node) }
  super
  listeners[:on_constant_path_or_write_node_leave]&.each { |listener| listener.on_constant_path_or_write_node_leave(node) }
end
visit_constant_path_target_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12676
def visit_constant_path_target_node(node)
  listeners[:on_constant_path_target_node_enter]&.each { |listener| listener.on_constant_path_target_node_enter(node) }
  super
  listeners[:on_constant_path_target_node_leave]&.each { |listener| listener.on_constant_path_target_node_leave(node) }
end
visit_constant_path_write_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12682
def visit_constant_path_write_node(node)
  listeners[:on_constant_path_write_node_enter]&.each { |listener| listener.on_constant_path_write_node_enter(node) }
  super
  listeners[:on_constant_path_write_node_leave]&.each { |listener| listener.on_constant_path_write_node_leave(node) }
end
visit_constant_read_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12688
def visit_constant_read_node(node)
  listeners[:on_constant_read_node_enter]&.each { |listener| listener.on_constant_read_node_enter(node) }
  super
  listeners[:on_constant_read_node_leave]&.each { |listener| listener.on_constant_read_node_leave(node) }
end
visit_constant_target_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12694
def visit_constant_target_node(node)
  listeners[:on_constant_target_node_enter]&.each { |listener| listener.on_constant_target_node_enter(node) }
  super
  listeners[:on_constant_target_node_leave]&.each { |listener| listener.on_constant_target_node_leave(node) }
end
visit_constant_write_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12700
def visit_constant_write_node(node)
  listeners[:on_constant_write_node_enter]&.each { |listener| listener.on_constant_write_node_enter(node) }
  super
  listeners[:on_constant_write_node_leave]&.each { |listener| listener.on_constant_write_node_leave(node) }
end
visit_def_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12706
def visit_def_node(node)
  listeners[:on_def_node_enter]&.each { |listener| listener.on_def_node_enter(node) }
  super
  listeners[:on_def_node_leave]&.each { |listener| listener.on_def_node_leave(node) }
end
visit_defined_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12712
def visit_defined_node(node)
  listeners[:on_defined_node_enter]&.each { |listener| listener.on_defined_node_enter(node) }
  super
  listeners[:on_defined_node_leave]&.each { |listener| listener.on_defined_node_leave(node) }
end
visit_else_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12718
def visit_else_node(node)
  listeners[:on_else_node_enter]&.each { |listener| listener.on_else_node_enter(node) }
  super
  listeners[:on_else_node_leave]&.each { |listener| listener.on_else_node_leave(node) }
end
visit_embedded_statements_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12724
def visit_embedded_statements_node(node)
  listeners[:on_embedded_statements_node_enter]&.each { |listener| listener.on_embedded_statements_node_enter(node) }
  super
  listeners[:on_embedded_statements_node_leave]&.each { |listener| listener.on_embedded_statements_node_leave(node) }
end
visit_embedded_variable_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12730
def visit_embedded_variable_node(node)
  listeners[:on_embedded_variable_node_enter]&.each { |listener| listener.on_embedded_variable_node_enter(node) }
  super
  listeners[:on_embedded_variable_node_leave]&.each { |listener| listener.on_embedded_variable_node_leave(node) }
end
visit_ensure_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12736
def visit_ensure_node(node)
  listeners[:on_ensure_node_enter]&.each { |listener| listener.on_ensure_node_enter(node) }
  super
  listeners[:on_ensure_node_leave]&.each { |listener| listener.on_ensure_node_leave(node) }
end
visit_false_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12742
def visit_false_node(node)
  listeners[:on_false_node_enter]&.each { |listener| listener.on_false_node_enter(node) }
  super
  listeners[:on_false_node_leave]&.each { |listener| listener.on_false_node_leave(node) }
end
visit_find_pattern_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12748
def visit_find_pattern_node(node)
  listeners[:on_find_pattern_node_enter]&.each { |listener| listener.on_find_pattern_node_enter(node) }
  super
  listeners[:on_find_pattern_node_leave]&.each { |listener| listener.on_find_pattern_node_leave(node) }
end
visit_flip_flop_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12754
def visit_flip_flop_node(node)
  listeners[:on_flip_flop_node_enter]&.each { |listener| listener.on_flip_flop_node_enter(node) }
  super
  listeners[:on_flip_flop_node_leave]&.each { |listener| listener.on_flip_flop_node_leave(node) }
end
visit_float_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12760
def visit_float_node(node)
  listeners[:on_float_node_enter]&.each { |listener| listener.on_float_node_enter(node) }
  super
  listeners[:on_float_node_leave]&.each { |listener| listener.on_float_node_leave(node) }
end
visit_for_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12766
def visit_for_node(node)
  listeners[:on_for_node_enter]&.each { |listener| listener.on_for_node_enter(node) }
  super
  listeners[:on_for_node_leave]&.each { |listener| listener.on_for_node_leave(node) }
end
visit_forwarding_arguments_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12772
def visit_forwarding_arguments_node(node)
  listeners[:on_forwarding_arguments_node_enter]&.each { |listener| listener.on_forwarding_arguments_node_enter(node) }
  super
  listeners[:on_forwarding_arguments_node_leave]&.each { |listener| listener.on_forwarding_arguments_node_leave(node) }
end
visit_forwarding_parameter_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12778
def visit_forwarding_parameter_node(node)
  listeners[:on_forwarding_parameter_node_enter]&.each { |listener| listener.on_forwarding_parameter_node_enter(node) }
  super
  listeners[:on_forwarding_parameter_node_leave]&.each { |listener| listener.on_forwarding_parameter_node_leave(node) }
end
visit_forwarding_super_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12784
def visit_forwarding_super_node(node)
  listeners[:on_forwarding_super_node_enter]&.each { |listener| listener.on_forwarding_super_node_enter(node) }
  super
  listeners[:on_forwarding_super_node_leave]&.each { |listener| listener.on_forwarding_super_node_leave(node) }
end
visit_global_variable_and_write_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12790
def visit_global_variable_and_write_node(node)
  listeners[:on_global_variable_and_write_node_enter]&.each { |listener| listener.on_global_variable_and_write_node_enter(node) }
  super
  listeners[:on_global_variable_and_write_node_leave]&.each { |listener| listener.on_global_variable_and_write_node_leave(node) }
end
visit_global_variable_operator_write_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12796
def visit_global_variable_operator_write_node(node)
  listeners[:on_global_variable_operator_write_node_enter]&.each { |listener| listener.on_global_variable_operator_write_node_enter(node) }
  super
  listeners[:on_global_variable_operator_write_node_leave]&.each { |listener| listener.on_global_variable_operator_write_node_leave(node) }
end
visit_global_variable_or_write_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12802
def visit_global_variable_or_write_node(node)
  listeners[:on_global_variable_or_write_node_enter]&.each { |listener| listener.on_global_variable_or_write_node_enter(node) }
  super
  listeners[:on_global_variable_or_write_node_leave]&.each { |listener| listener.on_global_variable_or_write_node_leave(node) }
end
visit_global_variable_read_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12808
def visit_global_variable_read_node(node)
  listeners[:on_global_variable_read_node_enter]&.each { |listener| listener.on_global_variable_read_node_enter(node) }
  super
  listeners[:on_global_variable_read_node_leave]&.each { |listener| listener.on_global_variable_read_node_leave(node) }
end
visit_global_variable_target_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12814
def visit_global_variable_target_node(node)
  listeners[:on_global_variable_target_node_enter]&.each { |listener| listener.on_global_variable_target_node_enter(node) }
  super
  listeners[:on_global_variable_target_node_leave]&.each { |listener| listener.on_global_variable_target_node_leave(node) }
end
visit_global_variable_write_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12820
def visit_global_variable_write_node(node)
  listeners[:on_global_variable_write_node_enter]&.each { |listener| listener.on_global_variable_write_node_enter(node) }
  super
  listeners[:on_global_variable_write_node_leave]&.each { |listener| listener.on_global_variable_write_node_leave(node) }
end
visit_hash_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12826
def visit_hash_node(node)
  listeners[:on_hash_node_enter]&.each { |listener| listener.on_hash_node_enter(node) }
  super
  listeners[:on_hash_node_leave]&.each { |listener| listener.on_hash_node_leave(node) }
end
visit_hash_pattern_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12832
def visit_hash_pattern_node(node)
  listeners[:on_hash_pattern_node_enter]&.each { |listener| listener.on_hash_pattern_node_enter(node) }
  super
  listeners[:on_hash_pattern_node_leave]&.each { |listener| listener.on_hash_pattern_node_leave(node) }
end
visit_if_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12838
def visit_if_node(node)
  listeners[:on_if_node_enter]&.each { |listener| listener.on_if_node_enter(node) }
  super
  listeners[:on_if_node_leave]&.each { |listener| listener.on_if_node_leave(node) }
end
visit_imaginary_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12844
def visit_imaginary_node(node)
  listeners[:on_imaginary_node_enter]&.each { |listener| listener.on_imaginary_node_enter(node) }
  super
  listeners[:on_imaginary_node_leave]&.each { |listener| listener.on_imaginary_node_leave(node) }
end
visit_implicit_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12850
def visit_implicit_node(node)
  listeners[:on_implicit_node_enter]&.each { |listener| listener.on_implicit_node_enter(node) }
  super
  listeners[:on_implicit_node_leave]&.each { |listener| listener.on_implicit_node_leave(node) }
end
visit_in_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12856
def visit_in_node(node)
  listeners[:on_in_node_enter]&.each { |listener| listener.on_in_node_enter(node) }
  super
  listeners[:on_in_node_leave]&.each { |listener| listener.on_in_node_leave(node) }
end
visit_instance_variable_and_write_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12862
def visit_instance_variable_and_write_node(node)
  listeners[:on_instance_variable_and_write_node_enter]&.each { |listener| listener.on_instance_variable_and_write_node_enter(node) }
  super
  listeners[:on_instance_variable_and_write_node_leave]&.each { |listener| listener.on_instance_variable_and_write_node_leave(node) }
end
visit_instance_variable_operator_write_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12868
def visit_instance_variable_operator_write_node(node)
  listeners[:on_instance_variable_operator_write_node_enter]&.each { |listener| listener.on_instance_variable_operator_write_node_enter(node) }
  super
  listeners[:on_instance_variable_operator_write_node_leave]&.each { |listener| listener.on_instance_variable_operator_write_node_leave(node) }
end
visit_instance_variable_or_write_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12874
def visit_instance_variable_or_write_node(node)
  listeners[:on_instance_variable_or_write_node_enter]&.each { |listener| listener.on_instance_variable_or_write_node_enter(node) }
  super
  listeners[:on_instance_variable_or_write_node_leave]&.each { |listener| listener.on_instance_variable_or_write_node_leave(node) }
end
visit_instance_variable_read_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12880
def visit_instance_variable_read_node(node)
  listeners[:on_instance_variable_read_node_enter]&.each { |listener| listener.on_instance_variable_read_node_enter(node) }
  super
  listeners[:on_instance_variable_read_node_leave]&.each { |listener| listener.on_instance_variable_read_node_leave(node) }
end
visit_instance_variable_target_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12886
def visit_instance_variable_target_node(node)
  listeners[:on_instance_variable_target_node_enter]&.each { |listener| listener.on_instance_variable_target_node_enter(node) }
  super
  listeners[:on_instance_variable_target_node_leave]&.each { |listener| listener.on_instance_variable_target_node_leave(node) }
end
visit_instance_variable_write_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12892
def visit_instance_variable_write_node(node)
  listeners[:on_instance_variable_write_node_enter]&.each { |listener| listener.on_instance_variable_write_node_enter(node) }
  super
  listeners[:on_instance_variable_write_node_leave]&.each { |listener| listener.on_instance_variable_write_node_leave(node) }
end
visit_integer_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12898
def visit_integer_node(node)
  listeners[:on_integer_node_enter]&.each { |listener| listener.on_integer_node_enter(node) }
  super
  listeners[:on_integer_node_leave]&.each { |listener| listener.on_integer_node_leave(node) }
end
visit_interpolated_match_last_line_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12904
def visit_interpolated_match_last_line_node(node)
  listeners[:on_interpolated_match_last_line_node_enter]&.each { |listener| listener.on_interpolated_match_last_line_node_enter(node) }
  super
  listeners[:on_interpolated_match_last_line_node_leave]&.each { |listener| listener.on_interpolated_match_last_line_node_leave(node) }
end
visit_interpolated_regular_expression_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12910
def visit_interpolated_regular_expression_node(node)
  listeners[:on_interpolated_regular_expression_node_enter]&.each { |listener| listener.on_interpolated_regular_expression_node_enter(node) }
  super
  listeners[:on_interpolated_regular_expression_node_leave]&.each { |listener| listener.on_interpolated_regular_expression_node_leave(node) }
end
visit_interpolated_string_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12916
def visit_interpolated_string_node(node)
  listeners[:on_interpolated_string_node_enter]&.each { |listener| listener.on_interpolated_string_node_enter(node) }
  super
  listeners[:on_interpolated_string_node_leave]&.each { |listener| listener.on_interpolated_string_node_leave(node) }
end
visit_interpolated_symbol_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12922
def visit_interpolated_symbol_node(node)
  listeners[:on_interpolated_symbol_node_enter]&.each { |listener| listener.on_interpolated_symbol_node_enter(node) }
  super
  listeners[:on_interpolated_symbol_node_leave]&.each { |listener| listener.on_interpolated_symbol_node_leave(node) }
end
visit_interpolated_x_string_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12928
def visit_interpolated_x_string_node(node)
  listeners[:on_interpolated_x_string_node_enter]&.each { |listener| listener.on_interpolated_x_string_node_enter(node) }
  super
  listeners[:on_interpolated_x_string_node_leave]&.each { |listener| listener.on_interpolated_x_string_node_leave(node) }
end
visit_keyword_hash_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12934
def visit_keyword_hash_node(node)
  listeners[:on_keyword_hash_node_enter]&.each { |listener| listener.on_keyword_hash_node_enter(node) }
  super
  listeners[:on_keyword_hash_node_leave]&.each { |listener| listener.on_keyword_hash_node_leave(node) }
end
visit_keyword_parameter_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12940
def visit_keyword_parameter_node(node)
  listeners[:on_keyword_parameter_node_enter]&.each { |listener| listener.on_keyword_parameter_node_enter(node) }
  super
  listeners[:on_keyword_parameter_node_leave]&.each { |listener| listener.on_keyword_parameter_node_leave(node) }
end
visit_keyword_rest_parameter_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12946
def visit_keyword_rest_parameter_node(node)
  listeners[:on_keyword_rest_parameter_node_enter]&.each { |listener| listener.on_keyword_rest_parameter_node_enter(node) }
  super
  listeners[:on_keyword_rest_parameter_node_leave]&.each { |listener| listener.on_keyword_rest_parameter_node_leave(node) }
end
visit_lambda_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12952
def visit_lambda_node(node)
  listeners[:on_lambda_node_enter]&.each { |listener| listener.on_lambda_node_enter(node) }
  super
  listeners[:on_lambda_node_leave]&.each { |listener| listener.on_lambda_node_leave(node) }
end
visit_local_variable_and_write_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12958
def visit_local_variable_and_write_node(node)
  listeners[:on_local_variable_and_write_node_enter]&.each { |listener| listener.on_local_variable_and_write_node_enter(node) }
  super
  listeners[:on_local_variable_and_write_node_leave]&.each { |listener| listener.on_local_variable_and_write_node_leave(node) }
end
visit_local_variable_operator_write_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12964
def visit_local_variable_operator_write_node(node)
  listeners[:on_local_variable_operator_write_node_enter]&.each { |listener| listener.on_local_variable_operator_write_node_enter(node) }
  super
  listeners[:on_local_variable_operator_write_node_leave]&.each { |listener| listener.on_local_variable_operator_write_node_leave(node) }
end
visit_local_variable_or_write_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12970
def visit_local_variable_or_write_node(node)
  listeners[:on_local_variable_or_write_node_enter]&.each { |listener| listener.on_local_variable_or_write_node_enter(node) }
  super
  listeners[:on_local_variable_or_write_node_leave]&.each { |listener| listener.on_local_variable_or_write_node_leave(node) }
end
visit_local_variable_read_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12976
def visit_local_variable_read_node(node)
  listeners[:on_local_variable_read_node_enter]&.each { |listener| listener.on_local_variable_read_node_enter(node) }
  super
  listeners[:on_local_variable_read_node_leave]&.each { |listener| listener.on_local_variable_read_node_leave(node) }
end
visit_local_variable_target_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12982
def visit_local_variable_target_node(node)
  listeners[:on_local_variable_target_node_enter]&.each { |listener| listener.on_local_variable_target_node_enter(node) }
  super
  listeners[:on_local_variable_target_node_leave]&.each { |listener| listener.on_local_variable_target_node_leave(node) }
end
visit_local_variable_write_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12988
def visit_local_variable_write_node(node)
  listeners[:on_local_variable_write_node_enter]&.each { |listener| listener.on_local_variable_write_node_enter(node) }
  super
  listeners[:on_local_variable_write_node_leave]&.each { |listener| listener.on_local_variable_write_node_leave(node) }
end
visit_match_last_line_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 12994
def visit_match_last_line_node(node)
  listeners[:on_match_last_line_node_enter]&.each { |listener| listener.on_match_last_line_node_enter(node) }
  super
  listeners[:on_match_last_line_node_leave]&.each { |listener| listener.on_match_last_line_node_leave(node) }
end
visit_match_predicate_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 13000
def visit_match_predicate_node(node)
  listeners[:on_match_predicate_node_enter]&.each { |listener| listener.on_match_predicate_node_enter(node) }
  super
  listeners[:on_match_predicate_node_leave]&.each { |listener| listener.on_match_predicate_node_leave(node) }
end
visit_match_required_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 13006
def visit_match_required_node(node)
  listeners[:on_match_required_node_enter]&.each { |listener| listener.on_match_required_node_enter(node) }
  super
  listeners[:on_match_required_node_leave]&.each { |listener| listener.on_match_required_node_leave(node) }
end
visit_match_write_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 13012
def visit_match_write_node(node)
  listeners[:on_match_write_node_enter]&.each { |listener| listener.on_match_write_node_enter(node) }
  super
  listeners[:on_match_write_node_leave]&.each { |listener| listener.on_match_write_node_leave(node) }
end
visit_missing_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 13018
def visit_missing_node(node)
  listeners[:on_missing_node_enter]&.each { |listener| listener.on_missing_node_enter(node) }
  super
  listeners[:on_missing_node_leave]&.each { |listener| listener.on_missing_node_leave(node) }
end
visit_module_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 13024
def visit_module_node(node)
  listeners[:on_module_node_enter]&.each { |listener| listener.on_module_node_enter(node) }
  super
  listeners[:on_module_node_leave]&.each { |listener| listener.on_module_node_leave(node) }
end
visit_multi_target_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 13030
def visit_multi_target_node(node)
  listeners[:on_multi_target_node_enter]&.each { |listener| listener.on_multi_target_node_enter(node) }
  super
  listeners[:on_multi_target_node_leave]&.each { |listener| listener.on_multi_target_node_leave(node) }
end
visit_multi_write_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 13036
def visit_multi_write_node(node)
  listeners[:on_multi_write_node_enter]&.each { |listener| listener.on_multi_write_node_enter(node) }
  super
  listeners[:on_multi_write_node_leave]&.each { |listener| listener.on_multi_write_node_leave(node) }
end
visit_next_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 13042
def visit_next_node(node)
  listeners[:on_next_node_enter]&.each { |listener| listener.on_next_node_enter(node) }
  super
  listeners[:on_next_node_leave]&.each { |listener| listener.on_next_node_leave(node) }
end
visit_nil_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 13048
def visit_nil_node(node)
  listeners[:on_nil_node_enter]&.each { |listener| listener.on_nil_node_enter(node) }
  super
  listeners[:on_nil_node_leave]&.each { |listener| listener.on_nil_node_leave(node) }
end
visit_no_keywords_parameter_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 13054
def visit_no_keywords_parameter_node(node)
  listeners[:on_no_keywords_parameter_node_enter]&.each { |listener| listener.on_no_keywords_parameter_node_enter(node) }
  super
  listeners[:on_no_keywords_parameter_node_leave]&.each { |listener| listener.on_no_keywords_parameter_node_leave(node) }
end
visit_numbered_reference_read_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 13060
def visit_numbered_reference_read_node(node)
  listeners[:on_numbered_reference_read_node_enter]&.each { |listener| listener.on_numbered_reference_read_node_enter(node) }
  super
  listeners[:on_numbered_reference_read_node_leave]&.each { |listener| listener.on_numbered_reference_read_node_leave(node) }
end
visit_optional_parameter_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 13066
def visit_optional_parameter_node(node)
  listeners[:on_optional_parameter_node_enter]&.each { |listener| listener.on_optional_parameter_node_enter(node) }
  super
  listeners[:on_optional_parameter_node_leave]&.each { |listener| listener.on_optional_parameter_node_leave(node) }
end
visit_or_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 13072
def visit_or_node(node)
  listeners[:on_or_node_enter]&.each { |listener| listener.on_or_node_enter(node) }
  super
  listeners[:on_or_node_leave]&.each { |listener| listener.on_or_node_leave(node) }
end
visit_parameters_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 13078
def visit_parameters_node(node)
  listeners[:on_parameters_node_enter]&.each { |listener| listener.on_parameters_node_enter(node) }
  super
  listeners[:on_parameters_node_leave]&.each { |listener| listener.on_parameters_node_leave(node) }
end
visit_parentheses_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 13084
def visit_parentheses_node(node)
  listeners[:on_parentheses_node_enter]&.each { |listener| listener.on_parentheses_node_enter(node) }
  super
  listeners[:on_parentheses_node_leave]&.each { |listener| listener.on_parentheses_node_leave(node) }
end
visit_pinned_expression_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 13090
def visit_pinned_expression_node(node)
  listeners[:on_pinned_expression_node_enter]&.each { |listener| listener.on_pinned_expression_node_enter(node) }
  super
  listeners[:on_pinned_expression_node_leave]&.each { |listener| listener.on_pinned_expression_node_leave(node) }
end
visit_pinned_variable_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 13096
def visit_pinned_variable_node(node)
  listeners[:on_pinned_variable_node_enter]&.each { |listener| listener.on_pinned_variable_node_enter(node) }
  super
  listeners[:on_pinned_variable_node_leave]&.each { |listener| listener.on_pinned_variable_node_leave(node) }
end
visit_post_execution_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 13102
def visit_post_execution_node(node)
  listeners[:on_post_execution_node_enter]&.each { |listener| listener.on_post_execution_node_enter(node) }
  super
  listeners[:on_post_execution_node_leave]&.each { |listener| listener.on_post_execution_node_leave(node) }
end
visit_pre_execution_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 13108
def visit_pre_execution_node(node)
  listeners[:on_pre_execution_node_enter]&.each { |listener| listener.on_pre_execution_node_enter(node) }
  super
  listeners[:on_pre_execution_node_leave]&.each { |listener| listener.on_pre_execution_node_leave(node) }
end
visit_program_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 13114
def visit_program_node(node)
  listeners[:on_program_node_enter]&.each { |listener| listener.on_program_node_enter(node) }
  super
  listeners[:on_program_node_leave]&.each { |listener| listener.on_program_node_leave(node) }
end
visit_range_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 13120
def visit_range_node(node)
  listeners[:on_range_node_enter]&.each { |listener| listener.on_range_node_enter(node) }
  super
  listeners[:on_range_node_leave]&.each { |listener| listener.on_range_node_leave(node) }
end
visit_rational_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 13126
def visit_rational_node(node)
  listeners[:on_rational_node_enter]&.each { |listener| listener.on_rational_node_enter(node) }
  super
  listeners[:on_rational_node_leave]&.each { |listener| listener.on_rational_node_leave(node) }
end
visit_redo_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 13132
def visit_redo_node(node)
  listeners[:on_redo_node_enter]&.each { |listener| listener.on_redo_node_enter(node) }
  super
  listeners[:on_redo_node_leave]&.each { |listener| listener.on_redo_node_leave(node) }
end
visit_regular_expression_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 13138
def visit_regular_expression_node(node)
  listeners[:on_regular_expression_node_enter]&.each { |listener| listener.on_regular_expression_node_enter(node) }
  super
  listeners[:on_regular_expression_node_leave]&.each { |listener| listener.on_regular_expression_node_leave(node) }
end
visit_required_destructured_parameter_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 13144
def visit_required_destructured_parameter_node(node)
  listeners[:on_required_destructured_parameter_node_enter]&.each { |listener| listener.on_required_destructured_parameter_node_enter(node) }
  super
  listeners[:on_required_destructured_parameter_node_leave]&.each { |listener| listener.on_required_destructured_parameter_node_leave(node) }
end
visit_required_parameter_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 13150
def visit_required_parameter_node(node)
  listeners[:on_required_parameter_node_enter]&.each { |listener| listener.on_required_parameter_node_enter(node) }
  super
  listeners[:on_required_parameter_node_leave]&.each { |listener| listener.on_required_parameter_node_leave(node) }
end
visit_rescue_modifier_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 13156
def visit_rescue_modifier_node(node)
  listeners[:on_rescue_modifier_node_enter]&.each { |listener| listener.on_rescue_modifier_node_enter(node) }
  super
  listeners[:on_rescue_modifier_node_leave]&.each { |listener| listener.on_rescue_modifier_node_leave(node) }
end
visit_rescue_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 13162
def visit_rescue_node(node)
  listeners[:on_rescue_node_enter]&.each { |listener| listener.on_rescue_node_enter(node) }
  super
  listeners[:on_rescue_node_leave]&.each { |listener| listener.on_rescue_node_leave(node) }
end
visit_rest_parameter_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 13168
def visit_rest_parameter_node(node)
  listeners[:on_rest_parameter_node_enter]&.each { |listener| listener.on_rest_parameter_node_enter(node) }
  super
  listeners[:on_rest_parameter_node_leave]&.each { |listener| listener.on_rest_parameter_node_leave(node) }
end
visit_retry_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 13174
def visit_retry_node(node)
  listeners[:on_retry_node_enter]&.each { |listener| listener.on_retry_node_enter(node) }
  super
  listeners[:on_retry_node_leave]&.each { |listener| listener.on_retry_node_leave(node) }
end
visit_return_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 13180
def visit_return_node(node)
  listeners[:on_return_node_enter]&.each { |listener| listener.on_return_node_enter(node) }
  super
  listeners[:on_return_node_leave]&.each { |listener| listener.on_return_node_leave(node) }
end
visit_self_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 13186
def visit_self_node(node)
  listeners[:on_self_node_enter]&.each { |listener| listener.on_self_node_enter(node) }
  super
  listeners[:on_self_node_leave]&.each { |listener| listener.on_self_node_leave(node) }
end
visit_singleton_class_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 13192
def visit_singleton_class_node(node)
  listeners[:on_singleton_class_node_enter]&.each { |listener| listener.on_singleton_class_node_enter(node) }
  super
  listeners[:on_singleton_class_node_leave]&.each { |listener| listener.on_singleton_class_node_leave(node) }
end
visit_source_encoding_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 13198
def visit_source_encoding_node(node)
  listeners[:on_source_encoding_node_enter]&.each { |listener| listener.on_source_encoding_node_enter(node) }
  super
  listeners[:on_source_encoding_node_leave]&.each { |listener| listener.on_source_encoding_node_leave(node) }
end
visit_source_file_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 13204
def visit_source_file_node(node)
  listeners[:on_source_file_node_enter]&.each { |listener| listener.on_source_file_node_enter(node) }
  super
  listeners[:on_source_file_node_leave]&.each { |listener| listener.on_source_file_node_leave(node) }
end
visit_source_line_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 13210
def visit_source_line_node(node)
  listeners[:on_source_line_node_enter]&.each { |listener| listener.on_source_line_node_enter(node) }
  super
  listeners[:on_source_line_node_leave]&.each { |listener| listener.on_source_line_node_leave(node) }
end
visit_splat_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 13216
def visit_splat_node(node)
  listeners[:on_splat_node_enter]&.each { |listener| listener.on_splat_node_enter(node) }
  super
  listeners[:on_splat_node_leave]&.each { |listener| listener.on_splat_node_leave(node) }
end
visit_statements_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 13222
def visit_statements_node(node)
  listeners[:on_statements_node_enter]&.each { |listener| listener.on_statements_node_enter(node) }
  super
  listeners[:on_statements_node_leave]&.each { |listener| listener.on_statements_node_leave(node) }
end
visit_string_concat_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 13228
def visit_string_concat_node(node)
  listeners[:on_string_concat_node_enter]&.each { |listener| listener.on_string_concat_node_enter(node) }
  super
  listeners[:on_string_concat_node_leave]&.each { |listener| listener.on_string_concat_node_leave(node) }
end
visit_string_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 13234
def visit_string_node(node)
  listeners[:on_string_node_enter]&.each { |listener| listener.on_string_node_enter(node) }
  super
  listeners[:on_string_node_leave]&.each { |listener| listener.on_string_node_leave(node) }
end
visit_super_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 13240
def visit_super_node(node)
  listeners[:on_super_node_enter]&.each { |listener| listener.on_super_node_enter(node) }
  super
  listeners[:on_super_node_leave]&.each { |listener| listener.on_super_node_leave(node) }
end
visit_symbol_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 13246
def visit_symbol_node(node)
  listeners[:on_symbol_node_enter]&.each { |listener| listener.on_symbol_node_enter(node) }
  super
  listeners[:on_symbol_node_leave]&.each { |listener| listener.on_symbol_node_leave(node) }
end
visit_true_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 13252
def visit_true_node(node)
  listeners[:on_true_node_enter]&.each { |listener| listener.on_true_node_enter(node) }
  super
  listeners[:on_true_node_leave]&.each { |listener| listener.on_true_node_leave(node) }
end
visit_undef_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 13258
def visit_undef_node(node)
  listeners[:on_undef_node_enter]&.each { |listener| listener.on_undef_node_enter(node) }
  super
  listeners[:on_undef_node_leave]&.each { |listener| listener.on_undef_node_leave(node) }
end
visit_unless_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 13264
def visit_unless_node(node)
  listeners[:on_unless_node_enter]&.each { |listener| listener.on_unless_node_enter(node) }
  super
  listeners[:on_unless_node_leave]&.each { |listener| listener.on_unless_node_leave(node) }
end
visit_until_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 13270
def visit_until_node(node)
  listeners[:on_until_node_enter]&.each { |listener| listener.on_until_node_enter(node) }
  super
  listeners[:on_until_node_leave]&.each { |listener| listener.on_until_node_leave(node) }
end
visit_when_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 13276
def visit_when_node(node)
  listeners[:on_when_node_enter]&.each { |listener| listener.on_when_node_enter(node) }
  super
  listeners[:on_when_node_leave]&.each { |listener| listener.on_when_node_leave(node) }
end
visit_while_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 13282
def visit_while_node(node)
  listeners[:on_while_node_enter]&.each { |listener| listener.on_while_node_enter(node) }
  super
  listeners[:on_while_node_leave]&.each { |listener| listener.on_while_node_leave(node) }
end
visit_x_string_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 13288
def visit_x_string_node(node)
  listeners[:on_x_string_node_enter]&.each { |listener| listener.on_x_string_node_enter(node) }
  super
  listeners[:on_x_string_node_leave]&.each { |listener| listener.on_x_string_node_leave(node) }
end
visit_yield_node(node) click to toggle source
Calls superclass method
# File lib/yarp/node.rb, line 13294
def visit_yield_node(node)
  listeners[:on_yield_node_enter]&.each { |listener| listener.on_yield_node_enter(node) }
  super
  listeners[:on_yield_node_leave]&.each { |listener| listener.on_yield_node_leave(node) }
end