diff options
| author | Bruce Hill <bruce@bruce-hill.com> | 2024-08-19 13:14:36 -0400 |
|---|---|---|
| committer | Bruce Hill <bruce@bruce-hill.com> | 2024-08-19 13:14:36 -0400 |
| commit | 178dca6e88810d48c441638028aa04a39899dd0b (patch) | |
| tree | f4a68830d9fc78bc85fd1788b7a38ff6fd1cf549 | |
| parent | 69d913a56a56900457d8094de78eed6762e0b79e (diff) | |
Clean up codegen for strings that are just a single interpolated value
| -rw-r--r-- | compile.c | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -1785,7 +1785,7 @@ CORD compile(env_t *env, ast_t *ast) } else if (!chunks->next && chunks->ast->tag == TextLiteral) { return compile(env, chunks->ast); } else { - CORD code = "CORD_all("; + CORD code = CORD_EMPTY; for (ast_list_t *chunk = chunks; chunk; chunk = chunk->next) { CORD chunk_code; type_t *chunk_t = get_type(env, chunk->ast); @@ -1818,7 +1818,10 @@ CORD compile(env_t *env, ast_t *ast) code = CORD_cat(code, chunk_code); if (chunk->next) code = CORD_cat(code, ", "); } - return CORD_cat(code, ")"); + if (chunks->next) + return CORD_all("CORD_all(", code, ")"); + else + return code; } } case Block: { |
