diff options
author | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-12-18 08:11:52 +0000 |
---|---|---|
committer | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-12-18 08:11:52 +0000 |
commit | 542e63b95346b5709871a4e9cc3c98a35146c0ed (patch) | |
tree | ad0eb47e4139ebfd4d5878a989a9faba96e9feca /gc.c | |
parent | 301ae01bb59217db5a8b3707c8ebaaef51102961 (diff) | |
download | ruby-542e63b95346b5709871a4e9cc3c98a35146c0ed.tar.gz |
rb_raw_obj_info() support T_MODULE and T_ICLASS.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66434 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'gc.c')
-rw-r--r-- | gc.c | 24 |
1 files changed, 17 insertions, 7 deletions
@@ -9715,13 +9715,23 @@ rb_raw_obj_info(char *buff, const int buff_size, VALUE obj) (int)RHASH_SIZE(obj)); break; } - case T_CLASS: { - VALUE class_path = rb_class_path_cached(obj); - if (!NIL_P(class_path)) { - snprintf(buff, buff_size, "%s %s", buff, RSTRING_PTR(class_path)); - } - break; - } + case T_CLASS: + case T_MODULE: + { + VALUE class_path = rb_class_path_cached(obj); + if (!NIL_P(class_path)) { + snprintf(buff, buff_size, "%s %s", buff, RSTRING_PTR(class_path)); + } + break; + } + case T_ICLASS: + { + VALUE class_path = rb_class_path_cached(RBASIC_CLASS(obj)); + if (!NIL_P(class_path)) { + snprintf(buff, buff_size, "%s src:%s", buff, RSTRING_PTR(class_path)); + } + break; + } case T_OBJECT: { uint32_t len = ROBJECT_NUMIV(obj); |