summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwanabe <s.wanabe@gmail.com>2020-08-07 07:56:33 +0900
committerwanabe <s.wanabe@gmail.com>2020-08-16 08:43:29 +0900
commitac399c2c7a51b044e23c6dc8f7f9d55ee271d9a5 (patch)
treeb3e61051e5936f4f67b26c3520077562f007e0c0
parentd75433ae19f1f979ee29149128b24990dd50c28a (diff)
Show hidden object and TS_BUILTIN for halfbaked insn data
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/3401
-rw-r--r--compile.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/compile.c b/compile.c
index dfa3802579..4a4c276c4f 100644
--- a/compile.c
+++ b/compile.c
@@ -8965,7 +8965,11 @@ insn_data_to_s_detail(INSN *iobj)
case TS_VALUE: /* VALUE */
{
VALUE v = OPERAND_AT(iobj, j);
- rb_str_concat(str, opobj_inspect(v));
+ if (!CLASS_OF(v))
+ rb_str_cat2(str, "<hidden>");
+ else {
+ rb_str_concat(str, opobj_inspect(v));
+ }
break;
}
case TS_ID: /* ID */
@@ -9001,7 +9005,7 @@ insn_data_to_s_detail(INSN *iobj)
}
break;
case TS_BUILTIN:
- rb_bug("unsupported: TS_BUILTIN");
+ rb_str_cat2(str, "<TS_BUILTIN>");
break;
default:{
rb_raise(rb_eSyntaxError, "unknown operand type: %c", type);