summaryrefslogtreecommitdiff
path: root/object.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>1998-04-07 08:34:10 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>1998-04-07 08:34:10 +0000
commitba06b1a81f81e089849c7c877eba7b1d3618b126 (patch)
tree57e77c2ade50f201b4aafdc071cf86fb95eb7016 /object.c
parentf8fc9136223c83c2791566d3efa52843f89aa127 (diff)
dynamic (nested) local variables
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/v1_1r@151 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'object.c')
-rw-r--r--object.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/object.c b/object.c
index afd51f8f22..fa7c3b05c5 100644
--- a/object.c
+++ b/object.c
@@ -558,6 +558,7 @@ VALUE mod_name();
VALUE mod_included_modules();
VALUE mod_ancestors();
VALUE class_instance_methods();
+VALUE class_protected_instance_methods();
VALUE class_private_instance_methods();
static VALUE
@@ -678,6 +679,16 @@ obj_methods(obj)
VALUE obj_singleton_methods();
static VALUE
+obj_protected_methods(obj)
+ VALUE obj;
+{
+ VALUE argv[1];
+
+ argv[0] = TRUE;
+ return class_protected_instance_methods(1, argv, CLASS_OF(obj));
+}
+
+static VALUE
obj_private_methods(obj)
VALUE obj;
{
@@ -915,7 +926,9 @@ Init_Object()
rb_define_method(mKernel, "to_s", any_to_s, 0);
rb_define_method(mKernel, "inspect", obj_inspect, 0);
rb_define_method(mKernel, "methods", obj_methods, 0);
+ rb_define_method(mKernel, "public_methods", obj_methods, 0);
rb_define_method(mKernel, "singleton_methods", obj_singleton_methods, 0);
+ rb_define_method(mKernel, "protected_methods", obj_protected_methods, 0);
rb_define_method(mKernel, "private_methods", obj_private_methods, 0);
rb_define_method(mKernel, "instance_variables", obj_instance_variables, 0);
rb_define_method(mKernel, "remove_instance_variable", obj_remove_instance_variable, 0);
@@ -969,6 +982,8 @@ Init_Object()
rb_define_singleton_method(cModule, "new", module_s_new, 0);
rb_define_method(cModule, "instance_methods", class_instance_methods, -1);
+ rb_define_method(cModule, "public_instance_methods", class_instance_methods, -1);
+ rb_define_method(cModule, "protected_instance_methods", class_protected_instance_methods, -1);
rb_define_method(cModule, "private_instance_methods", class_private_instance_methods, -1);
rb_define_method(cModule, "constants", mod_constants, 0);