Project

General

Profile

Feature #9755

Thread::Backtrace::Location#defined_class

Added by shugo (Shugo Maeda) over 5 years ago.

Status:
Assigned
Priority:
Normal
Target version:
-
[ruby-dev:48109]

Description

I'd like Thread::Backtrace::Location#defined_class.

class X
  def foo
    p caller_locations.first.defined_class #=> Y
  end
end

class Y
  def bar
    X.new.foo
  end
end

Y.new.bar

nobu created a patch:

https://github.com/nobu/ruby/compare/backtrace-self%2Bclass

But this patch has two problems:

  1. The patch adds Thread::Backtrace::Location#self, but it's weird that a location has self.
  2. Thread::Backtrace::Location#class conflicts with Kernel#class. So I proposed defined_class as the method name.

Also available in: Atom PDF