Issue #8751 has been updated by ko1 (Koichi Sasada).


Maybe it is easy to extend Proc#source_location and easy to know locations of chaining blocks.

  foo{...}.bar{...}.baz{...}

Blocks are in same line and difficult to know which block is.

----------------------------------------
Feature #8751: Add offsets to method#source_location
https://bugs.ruby-lang.org/issues/8751#change-41036

Author: tenderlovemaking (Aaron Patterson)
Status: Open
Priority: Normal
Assignee: 
Category: 
Target version: 


Hello,

I would like to have byte offsets returned on the source_location for methods.  For example:

def foo(&b)
  b.source_location # => [file_name, line_number, start_byte, end_byte]
end

If we had the start and end byte for a method or proc, then we could find the source for methods and procs in each file.  There are some cases (like with heredocuments) where the "end of the method" could be after the `end` keyword.  But I think if we just have offsets for the start of `def` and the end of `end`, I think it would cover 99% of usecases.


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