diff options
author | Yusuke Endoh <mame@ruby-lang.org> | 2021-06-08 17:34:08 +0900 |
---|---|---|
committer | Yusuke Endoh <mame@ruby-lang.org> | 2021-06-18 03:35:38 +0900 |
commit | dfba87cd622f9699f54d1d0b8c057deb428874b6 (patch) | |
tree | bd07194e1c0dc96cd517cbf1e3c37389e5d48614 /internal | |
parent | ea6062898ad0d66ede0a1866028c0605c357e2cb (diff) |
Make it possible to get AST::Node from Thread::Backtrace::Location
RubyVM::AST.of(Thread::Backtrace::Location) returns a node that
corresponds to the location. Typically, the node is a method call, but
not always.
This change also includes iseq's dump/load support of node_ids for each
instructions.
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/4558
Diffstat (limited to 'internal')
-rw-r--r-- | internal/vm.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/internal/vm.h b/internal/vm.h index 689b4fa61f..8251b09e98 100644 --- a/internal/vm.h +++ b/internal/vm.h @@ -111,6 +111,8 @@ int rb_backtrace_p(VALUE obj); VALUE rb_backtrace_to_str_ary(VALUE obj); VALUE rb_backtrace_to_location_ary(VALUE obj); void rb_backtrace_each(VALUE (*iter)(VALUE recv, VALUE str), VALUE output); +int rb_frame_info_p(VALUE obj); +void rb_frame_info_get(VALUE obj, VALUE *path, int *node_id); MJIT_SYMBOL_EXPORT_BEGIN VALUE rb_ec_backtrace_object(const struct rb_execution_context_struct *ec); |