| Index: frog/leg/scanner/parser.dart
|
| diff --git a/frog/leg/scanner/parser.dart b/frog/leg/scanner/parser.dart
|
| index e1e581483d512245b0a9c4ec5f970ff0d311c1bf..7e8a54fa6d9451227ae984ddf60366549616ecb1 100644
|
| --- a/frog/leg/scanner/parser.dart
|
| +++ b/frog/leg/scanner/parser.dart
|
| @@ -233,9 +233,9 @@ class Parser {
|
| }
|
|
|
|
|
| - Token parseString(Token token) {
|
| + Token parseStringPart(Token token) {
|
| if (token.kind === STRING_TOKEN) {
|
| - listener.handleLiteralString(token);
|
| + listener.handleStringPart(token);
|
| return token.next;
|
| } else {
|
| return listener.expected('string', token);
|
| @@ -438,13 +438,13 @@ class Parser {
|
| listener.beginLibraryTag(token);
|
| token = parseIdentifier(token.next);
|
| token = expect('(', token);
|
| - token = parseString(token);
|
| + token = parseLiteralString(token);
|
| bool hasPrefix = false;
|
| if (optional(',', token)) {
|
| hasPrefix = true;
|
| token = parseIdentifier(token.next);
|
| token = expect(':', token);
|
| - token = parseString(token);
|
| + token = parseLiteralString(token);
|
| }
|
| token = expect(')', token);
|
| listener.endLibraryTag(hasPrefix, begin, token);
|
| @@ -1195,16 +1195,17 @@ class Parser {
|
| }
|
|
|
| Token parseLiteralString(Token token) {
|
| - listener.handleLiteralString(token);
|
| + listener.beginLiteralString(token);
|
| token = token.next;
|
| int interpolationCount = 0;
|
| while (optional('\${', token)) {
|
| - token = parseExpression(token.next);
|
| + token = token.next;
|
| + token = parseExpression(token);
|
| token = expect('}', token);
|
| - token = parseString(token);
|
| + token = parseStringPart(token);
|
| ++interpolationCount;
|
| }
|
| - listener.handleStringInterpolationParts(interpolationCount);
|
| + listener.endLiteralString(interpolationCount);
|
| return token;
|
| }
|
|
|
|
|