From e9a184ed63e7bdc121b482b7c08bcca670343821 Mon Sep 17 00:00:00 2001 From: ko1 Date: Thu, 21 Dec 2017 06:40:28 +0000 Subject: add experimental API. * iseq.c (rb_iseq_code_range): added to access iseq's code range. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61382 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- iseq.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'iseq.c') diff --git a/iseq.c b/iseq.c index b6b42821e2..e9d7d85301 100644 --- a/iseq.c +++ b/iseq.c @@ -771,6 +771,15 @@ rb_iseq_method_name(const rb_iseq_t *iseq) } } +void +rb_iseq_code_range(const rb_iseq_t *iseq, int *first_lineno, int *first_column, int *last_lineno, int *last_column) +{ + if (first_lineno) *first_lineno = iseq->body->location.code_range.first_loc.lineno; + if (first_column) *first_column = iseq->body->location.code_range.first_loc.column; + if (last_lineno) *last_lineno = iseq->body->location.code_range.last_loc.lineno;; + if (last_column) *last_column = iseq->body->location.code_range.last_loc.column; +} + VALUE rb_iseq_coverage(const rb_iseq_t *iseq) { -- cgit v1.2.3