class Ivar::IvarCollector
Helper visitor that collects all instance variable references
def add_reference(node)
def add_reference(node) location = node.location reference = { name: node.name.to_sym, path: @file_path, line: location.start_line, column: location.start_column, method: @method_name } @references << reference end
def initialize(file_path, method_name)
def initialize(file_path, method_name) super() @file_path = file_path @method_name = method_name @references = [] end
def visit_instance_variable_operator_write_node(node)
def visit_instance_variable_operator_write_node(node) add_reference(node) true end
def visit_instance_variable_read_node(node)
def visit_instance_variable_read_node(node) add_reference(node) true end
def visit_instance_variable_target_node(node)
def visit_instance_variable_target_node(node) add_reference(node) true end
def visit_instance_variable_write_node(node)
def visit_instance_variable_write_node(node) add_reference(node) true end