diff options
author | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-11-19 06:07:06 +0000 |
---|---|---|
committer | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-11-19 06:07:06 +0000 |
commit | 15d940b8b0361925e15f412913f346fca4bf3400 (patch) | |
tree | ccf8f87f25f960b7cb90687a9e52af6f1d9072c9 /internal.h | |
parent | 3918bbfac493d7c83371e0491570ea11d53d249a (diff) | |
download | ruby-15d940b8b0361925e15f412913f346fca4bf3400.tar.gz |
* thread.c: add `Thread#backtrace_locations' method.
This method is similart to `caller_locations' method for
specific method.
And fix to accept `level' and `n' parameters for `Thread#backtrace'
and `Thread#backtrace_locations'.
`caller' (and `caller_locations') do not return `caller' method
frame.
However, `Thread#backtrace' (and `Thread#backtrace_locations')
return `Thread#backtrace' method frame itself
if `Thread.current.backtrace' was called.
* vm_backtrace.c: ditto.
* internal.h: ditto.
* test/ruby/test_backtrace.rb: add tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37716 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'internal.h')
-rw-r--r-- | internal.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/internal.h b/internal.h index 1ea0ca9f45..508fae3c18 100644 --- a/internal.h +++ b/internal.h @@ -310,7 +310,9 @@ void Init_prelude(void); /* vm_backtrace.c */ void Init_vm_backtrace(void); -VALUE rb_thread_backtrace(VALUE thval); +VALUE vm_thread_backtrace(int argc, VALUE *argv, VALUE thval); +VALUE vm_thread_backtrace_locations(int argc, VALUE *argv, VALUE thval); + VALUE rb_make_backtrace(void); void rb_backtrace_print_as_bugreport(void); int rb_backtrace_p(VALUE obj); |