diff options
-rw-r--r-- | iseq.c | 9 | ||||
-rw-r--r-- | iseq.h | 1 |
2 files changed, 10 insertions, 0 deletions
@@ -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) { @@ -189,6 +189,7 @@ VALUE rb_iseq_label(const rb_iseq_t *iseq); VALUE rb_iseq_base_label(const rb_iseq_t *iseq); VALUE rb_iseq_first_lineno(const rb_iseq_t *iseq); VALUE 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); /* proc.c */ const rb_iseq_t *rb_method_iseq(VALUE body); |