* compile.c (compile_dstr_fragments): head of dstr must be a
  string.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52047 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2015-10-05 17:29:04 +00:00
Родитель 527883241e
Коммит 355a0d8af1
1 изменённых файлов: 5 добавлений и 2 удалений

Просмотреть файл

@ -2341,8 +2341,11 @@ compile_dstr_fragments(rb_iseq_t *iseq, LINK_ANCHOR *ret, NODE *node, int *cntp)
debugp_param("nd_lit", lit);
if (!NIL_P(lit)) {
cnt++;
if (RB_TYPE_P(lit, T_STRING))
lit = node->nd_lit = rb_fstring(node->nd_lit);
if (!RB_TYPE_P(lit, T_STRING)) {
rb_compile_bug(ERROR_ARGS "dstr: must be string: %s",
rb_builtin_type_name(TYPE(lit)));
}
lit = node->nd_lit = rb_fstring(lit);
ADD_INSN1(ret, nd_line(node), putobject, lit);
if (RSTRING_LEN(lit) == 0) first_lit = LAST_ELEMENT(ret);
}