class Ruby::Prism::NodeFind::LineBacktraceLocationFind

Finds the AST node for a Thread::Backtrace::Location using best-effort line matching. Used on non-CRuby implementations.

Public Instance Methods

Find the node for the given backtrace location by matching on line.

: (Thread::Backtrace::Location location) -> Node?

# File lib/ruby/prism/node_find.rb, line 206
def find(location)
  file = location.absolute_path || location.path
  return unless (result = parse_file(file))

  start_line = location.lineno
  result.value.find { |node| node.location.start_line == start_line }
end