diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-03-11 12:12:08 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-03-11 12:12:08 +0000 |
commit | e1a60b2db97eb629661df2227a1f8f06f1afd6d2 (patch) | |
tree | 8e2bd2b555aead3e36b35fef10a62228408c514a /parse.y | |
parent | fd04ea0adf2e79f5c5acb259686b6823fc64e174 (diff) | |
download | ruby-e1a60b2db97eb629661df2227a1f8f06f1afd6d2.tar.gz |
parse.y: reduce duplicate code
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62723 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'parse.y')
-rw-r--r-- | parse.y | 12 |
1 files changed, 5 insertions, 7 deletions
@@ -6280,10 +6280,7 @@ here_document(struct parser_params *p, rb_strterm_heredoc_t *here) if (ptr_end < p->lex.pend) rb_str_cat(str, "\n", 1); lex_goto_eol(p); if (p->heredoc_indent > 0) { - set_yylval_str(str); - add_mark_object(p, str); - flush_string_content(p, enc); - return tSTRING_CONTENT; + goto flush_str; } if (nextc(p) == -1) { if (str) { @@ -6315,10 +6312,11 @@ here_document(struct parser_params *p, rb_strterm_heredoc_t *here) goto restore; } if (c != '\n') { - VALUE lit; flush: - add_mark_object(p, lit = STR_NEW3(tok(p), toklen(p), enc, func)); - set_yylval_str(lit); + str = STR_NEW3(tok(p), toklen(p), enc, func); + flush_str: + set_yylval_str(str); + add_mark_object(p, str); flush_string_content(p, enc); return tSTRING_CONTENT; } |