[#81492] [Ruby trunk Feature#13618] [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid — normalperson@...

Issue #13618 has been reported by normalperson (Eric Wong).

12 messages 2017/06/01

[ruby-core:81768] [Ruby trunk Feature#10771] An easy way to get the source location of a constant

From: jeremy.phelps@...
Date: 2017-06-26 01:34:02 UTC
List: ruby-core #81768
Issue #10771 has been updated by jphelps (Jeremy Phelps).

File const_source_location.tar.gz added

Ok, then here's my patch. I called the method "const_source_location" instead of "constant_source_location", because it uses a lot of the same code as "const_get".

I don't have access to edit the wiki page.


----------------------------------------
Feature #10771: An easy way to get the source location of a constant
https://bugs.ruby-lang.org/issues/10771#change-65465

* Author: sawa (Tsuyoshi Sawada)
* Status: Open
* Priority: Normal
* Assignee: matz (Yukihiro Matsumoto)
* Target version: 
----------------------------------------
For constants, it is difficult to get the source location where it was (last) defined. I request either of the following to be implemented:

* Tracepoint emits a signal when a constant is defined.
* Implement a `Constant` class (similar to `Method` class) and a `constant` method (similar to `method` method) that behave as follows:

        foo1.rb
        1| module Foo
        2|   Bar = :bar
        3| end
        4| Foo.constant(:Bar) #=> #<Constant: Foo#Bar>
        5| Foo.constant(:Bar).source_location #=> ["foo1.rb", 2]

* Implement `Module#constant_source_location`

        foo2.rb
        1| module Foo
        2|   Bar = :bar
        3| end
        4| Foo.constant_source_location(:Bar) #=> ["foo2.rb", 2]




---Files--------------------------------
const_source_location.tar.gz (1.96 KB)


-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread

Prev Next