Chromium Code Reviews| Index: pkg/front_end/lib/src/fasta/kernel/body_builder.dart |
| diff --git a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart |
| index 65f324a8ba4f63c6f4176187e1f10a29838bc4ec..f2d9421a25c9110c8c591da0744d723083a42717 100644 |
| --- a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart |
| +++ b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart |
| @@ -818,18 +818,26 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper { |
| Token last = parts.last; |
| Quote quote = analyzeQuote(first.lexeme); |
| List<Expression> expressions = <Expression>[]; |
| - expressions |
| + // Contains more then just \' or \". |
|
ahe
2017/03/14 14:58:44
than.
|
| + if (first.lexeme.length > 1) { |
| + expressions |
| .add(new StringLiteral(unescapeFirstStringPart(first.lexeme, quote))); |
| + } |
| for (int i = 1; i < parts.length - 1; i++) { |
| var part = parts[i]; |
| if (part is Token) { |
| - expressions.add(new StringLiteral(unescape(part.lexeme, quote))); |
| + if (part.lexeme.length != 0) { |
| + expressions.add(new StringLiteral(unescape(part.lexeme, quote))); |
| + } |
| } else { |
| expressions.add(toValue(part)); |
| } |
| } |
| - expressions |
| + // Contains more then just \' or \". |
|
ahe
2017/03/14 14:58:44
Than.
|
| + if (last.lexeme.length > 1) { |
| + expressions |
| .add(new StringLiteral(unescapeLastStringPart(last.lexeme, quote))); |
| + } |
| push(new StringConcatenation(expressions) |
| ..fileOffset = endToken.charOffset); |
| } |