Skip to content

Commit ef413e4

Browse files
committed
Use StringLiteralExpr node if it's a single literal segment
1 parent b583fef commit ef413e4

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

lib/Parse/ParseExpr.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2082,6 +2082,13 @@ ParserResult<Expr> Parser::parseExprStringLiteral() {
20822082
Status.setIsParseError();
20832083
return makeParserResult(Status, new (Context) ErrorExpr(Loc));
20842084
}
2085+
2086+
// The simple case: just a single literal segment.
2087+
if (Segments.size() == 1 &&
2088+
Segments.front().Kind == Lexer::StringSegment::Literal) {
2089+
return makeParserResult(
2090+
createStringLiteralExprFromSegment(Context, L, Segments.front(), Loc));
2091+
}
20852092

20862093
return makeParserResult(Status, new (Context) InterpolatedStringLiteralExpr(
20872094
Loc, LiteralCapacity, InterpolationCount,

0 commit comments

Comments
 (0)