summaryrefslogtreecommitdiff
path: root/class.c
diff options
context:
space:
mode:
authorS.H <gamelinks007@gmail.com>2021-03-21 06:57:30 +0900
committerGitHub <noreply@github.com>2021-03-21 06:57:30 +0900
commit54bfa0570d8dd2da0dbf8c8fc75b34b4cf6831a6 (patch)
tree98bd609ac14e673ceac2d3a56fba7ae0512b4742 /class.c
parent2d66f8e011580532aefcf14092ec102d30fc46f2 (diff)
downloadruby-54bfa0570d8dd2da0dbf8c8fc75b34b4cf6831a6.tar.gz
Add ins_methods_type_i function
Diffstat (limited to 'class.c')
-rw-r--r--class.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/class.c b/class.c
index b2e15c20d5..e1e1ce0e7a 100644
--- a/class.c
+++ b/class.c
@@ -1360,30 +1360,30 @@ ins_methods_i(st_data_t name, st_data_t type, st_data_t ary)
}
static int
-ins_methods_prot_i(st_data_t name, st_data_t type, st_data_t ary)
+ins_methods_type_i(st_data_t name, st_data_t type, st_data_t ary, rb_method_visibility_t visi)
{
- if ((rb_method_visibility_t)type == METHOD_VISI_PROTECTED) {
+ if ((rb_method_visibility_t)type == visi) {
ins_methods_push(name, ary);
}
return ST_CONTINUE;
}
static int
+ins_methods_prot_i(st_data_t name, st_data_t type, st_data_t ary)
+{
+ return ins_methods_type_i(name, type, ary, METHOD_VISI_PROTECTED);
+}
+
+static int
ins_methods_priv_i(st_data_t name, st_data_t type, st_data_t ary)
{
- if ((rb_method_visibility_t)type == METHOD_VISI_PRIVATE) {
- ins_methods_push(name, ary);
- }
- return ST_CONTINUE;
+ return ins_methods_type_i(name, type, ary, METHOD_VISI_PRIVATE);
}
static int
ins_methods_pub_i(st_data_t name, st_data_t type, st_data_t ary)
{
- if ((rb_method_visibility_t)type == METHOD_VISI_PUBLIC) {
- ins_methods_push(name, ary);
- }
- return ST_CONTINUE;
+ return ins_methods_type_i(name, type, ary, METHOD_VISI_PUBLIC);
}
struct method_entry_arg {