Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(145)

Unified Diff: frog/leg/scanner/parser.dart

Issue 9271037: Inserted string validation as separate task in compiler. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Addressed review comments. Created 8 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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;
}

Powered by Google App Engine
This is Rietveld 408576698