class Steep::Source
def find_nodes(line:, column:, node: self.node, position: nil, parents: [])
def find_nodes(line:, column:, node: self.node, position: nil, parents: []) position ||= (line-1).times.sum do |i| node.location.expression.source_buffer.source_line(i+1).size + 1 end + column range = node.location.expression&.yield_self do |r| r.begin_pos..r.end_pos end if range if range === position parents.unshift node Source.each_child_node(node) do |child| ns = find_nodes(line: line, column: column, node: child, position: position, parents: parents) and return ns end parents end end end