1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

vm_method.c: rb_method_entry_at

* vm_method.c (rb_method_entry_at): return the method entry for id at
  klass, without ancestors.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40683 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2013-05-13 05:51:14 +00:00
parent 609c7420d7
commit 3048508014
3 changed files with 11 additions and 1 deletions

View file

@ -1,4 +1,7 @@
Mon May 13 14:50:35 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
Mon May 13 14:51:12 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* vm_method.c (rb_method_entry_at): return the method entry for id at
klass, without ancestors.
* class.c (rb_singleton_class_get): get the singleton class if exists,
or nil.

View file

@ -110,6 +110,7 @@ struct unlinked_method_entry_list_entry {
void rb_add_method_cfunc(VALUE klass, ID mid, VALUE (*func)(ANYARGS), int argc, rb_method_flag_t noex);
rb_method_entry_t *rb_add_method(VALUE klass, ID mid, rb_method_type_t type, void *option, rb_method_flag_t noex);
rb_method_entry_t *rb_method_entry(VALUE klass, ID id, VALUE *define_class_ptr);
rb_method_entry_t *rb_method_entry_at(VALUE obj, ID id);
void rb_add_refined_method_entry(VALUE refined_class, ID mid);
rb_method_entry_t *rb_resolve_refined_method(VALUE refinements,
rb_method_entry_t *me,

View file

@ -510,6 +510,12 @@ search_method(VALUE klass, ID id, VALUE *defined_class_ptr)
return me;
}
rb_method_entry_t *
rb_method_entry_at(VALUE klass, ID id)
{
return lookup_method_table(klass, id);
}
/*
* search method entry without the method cache.
*