diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-12-05 01:09:44 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-12-05 01:09:44 +0000 |
commit | 09ef29a78fc960eaec1ecafbeef75b6eb29abf96 (patch) | |
tree | d1f37d8ed45b27706d1d91a2f14ed54fc54423de /class.c | |
parent | cfa6c55347d037b152a4b93a390c73dfee6dccbd (diff) | |
download | ruby-09ef29a78fc960eaec1ecafbeef75b6eb29abf96.tar.gz |
Prefer rb_check_arity when 0 or 1 arguments
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66205 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'class.c')
-rw-r--r-- | class.c | 25 |
1 files changed, 7 insertions, 18 deletions
@@ -1178,17 +1178,10 @@ static VALUE class_instance_method_list(int argc, const VALUE *argv, VALUE mod, int obj, int (*func) (st_data_t, st_data_t, st_data_t)) { VALUE ary; - int recur, prepended = 0; + int recur = TRUE, prepended = 0; struct method_entry_arg me_arg; - if (argc == 0) { - recur = TRUE; - } - else { - VALUE r; - rb_scan_args(argc, argv, "01", &r); - recur = RTEST(r); - } + if (rb_check_arity(argc, 0, 1)) recur = RTEST(argv[0]); if (!recur && RCLASS_ORIGIN(mod) != mod) { mod = RCLASS_ORIGIN(mod); @@ -1417,25 +1410,21 @@ rb_obj_public_methods(int argc, const VALUE *argv, VALUE obj) VALUE rb_obj_singleton_methods(int argc, const VALUE *argv, VALUE obj) { - VALUE recur, ary, klass, origin; + VALUE ary, klass, origin; struct method_entry_arg me_arg; struct rb_id_table *mtbl; + int recur = TRUE; - if (argc == 0) { - recur = Qtrue; - } - else { - rb_scan_args(argc, argv, "01", &recur); - } + if (rb_check_arity(argc, 0, 1)) recur = RTEST(argv[0]); klass = CLASS_OF(obj); origin = RCLASS_ORIGIN(klass); me_arg.list = st_init_numtable(); - me_arg.recur = RTEST(recur); + me_arg.recur = recur; if (klass && FL_TEST(klass, FL_SINGLETON)) { if ((mtbl = RCLASS_M_TBL(origin)) != 0) rb_id_table_foreach(mtbl, method_entry_i, &me_arg); klass = RCLASS_SUPER(klass); } - if (RTEST(recur)) { + if (recur) { while (klass && (FL_TEST(klass, FL_SINGLETON) || RB_TYPE_P(klass, T_ICLASS))) { if (klass != origin && (mtbl = RCLASS_M_TBL(klass)) != 0) rb_id_table_foreach(mtbl, method_entry_i, &me_arg); klass = RCLASS_SUPER(klass); |