From 0fa955360437fc8e1aee58c72ab7fc96f0d54f0d Mon Sep 17 00:00:00 2001 From: nobu Date: Sat, 13 Sep 2014 01:22:01 +0000 Subject: eval.c: fix message as same as previous versions * eval.c (rb_frozen_class_p): fix message for singleton class of class/module as same as previous versions. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47568 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- eval.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'eval.c') diff --git a/eval.c b/eval.c index 90da22503e..1dabe2e24b 100644 --- a/eval.c +++ b/eval.c @@ -412,8 +412,21 @@ rb_frozen_class_p(VALUE klass) if (OBJ_FROZEN(klass)) { const char *desc; - if (FL_TEST(klass, FL_SINGLETON)) + if (FL_TEST(klass, FL_SINGLETON)) { desc = "object"; + klass = rb_ivar_get(klass, id__attached__); + if (!SPECIAL_CONST_P(klass)) { + switch (BUILTIN_TYPE(klass)) { + case T_MODULE: + case T_ICLASS: + desc = "Module"; + break; + case T_CLASS: + desc = "Class"; + break; + } + } + } else { switch (BUILTIN_TYPE(klass)) { case T_MODULE: -- cgit v1.2.3