summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorshugo <shugo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-12-25 08:49:09 +0000
committershugo <shugo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-12-25 08:49:09 +0000
commitbc02b02778ca73eb64e803216e19650cd224798f (patch)
tree462a725e4c65ec10f5b9ad4f9b21327d346f8ce5
parent57b5d25421da191f2a937ca291acfd707a374184 (diff)
downloadruby-bc02b02778ca73eb64e803216e19650cd224798f.tar.gz
ruby-bc02b02778ca73eb64e803216e19650cd224798f.tar.xz
ruby-bc02b02778ca73eb64e803216e19650cd224798f.zip
* vm.c (rb_frame_method_id_and_class): new function to get the
method id and class of the current frame. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14686 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--include/ruby/intern.h1
-rw-r--r--vm.c6
3 files changed, 12 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index e2e5660dc..33739f3e3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Tue Dec 25 17:48:28 2007 Shugo Maeda <shugo@ruby-lang.org>
+
+ * vm.c (rb_frame_method_id_and_class): new function to get the
+ method id and class of the current frame.
+
Tue Dec 25 17:32:04 2007 Akinori MUSHA <knu@iDaemons.org>
* lib/mkmf.rb (create_makefile): Add a missing dependency on the
diff --git a/include/ruby/intern.h b/include/ruby/intern.h
index 977f58cd6..eaacc9605 100644
--- a/include/ruby/intern.h
+++ b/include/ruby/intern.h
@@ -626,6 +626,7 @@ VALUE rb_str_succ(VALUE);
VALUE rb_time_succ(VALUE);
void Init_stack(VALUE*);
void rb_frame_pop(void);
+int rb_frame_method_id_and_class(ID *idp, VALUE *klassp);
#if defined(__cplusplus)
#if 0
diff --git a/vm.c b/vm.c
index 00689dcde..0da900dfc 100644
--- a/vm.c
+++ b/vm.c
@@ -1388,6 +1388,12 @@ rb_thread_method_id_and_class(rb_thread_t *th, ID *idp, VALUE *klassp)
return 0;
}
+int
+rb_frame_method_id_and_class(ID *idp, VALUE *klassp)
+{
+ return rb_thread_method_id_and_class(GET_THREAD(), idp, klassp);
+}
+
VALUE
rb_thread_current_status(rb_thread_t *th)
{