mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
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
This commit is contained in:
parent
05d1d29d1f
commit
e9a184ed63
2 changed files with 10 additions and 0 deletions
9
iseq.c
9
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
|
VALUE
|
||||||
rb_iseq_coverage(const rb_iseq_t *iseq)
|
rb_iseq_coverage(const rb_iseq_t *iseq)
|
||||||
{
|
{
|
||||||
|
|
1
iseq.h
1
iseq.h
|
@ -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_base_label(const rb_iseq_t *iseq);
|
||||||
VALUE rb_iseq_first_lineno(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);
|
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 */
|
/* proc.c */
|
||||||
const rb_iseq_t *rb_method_iseq(VALUE body);
|
const rb_iseq_t *rb_method_iseq(VALUE body);
|
||||||
|
|
Loading…
Add table
Reference in a new issue