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

Side by Side Diff: pkg/compiler/lib/src/parser/parser.dart

Issue 2640853005: Make Analyzer, VM and dart2js accept URI strings as part-of library identifier. (Closed)
Patch Set: Add tests, enable flag by default in analyzer. Created 3 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library dart2js.parser; 5 library dart2js.parser;
6 6
7 import '../common.dart'; 7 import '../common.dart';
8 import '../tokens/keyword.dart' show Keyword; 8 import '../tokens/keyword.dart' show Keyword;
9 import '../tokens/precedence.dart' show PrecedenceInfo; 9 import '../tokens/precedence.dart' show PrecedenceInfo;
10 import '../tokens/precedence_constants.dart' 10 import '../tokens/precedence_constants.dart'
(...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after
314 token = expect(';', token); 314 token = expect(';', token);
315 listener.endPart(partKeyword, semicolon); 315 listener.endPart(partKeyword, semicolon);
316 return token; 316 return token;
317 } 317 }
318 318
319 Token parsePartOf(Token token) { 319 Token parsePartOf(Token token) {
320 listener.beginPartOf(token); 320 listener.beginPartOf(token);
321 assert(optional('part', token)); 321 assert(optional('part', token));
322 assert(optional('of', token.next)); 322 assert(optional('of', token.next));
323 Token partKeyword = token; 323 Token partKeyword = token;
324 token = parseQualified(token.next.next); 324 token = token.next.next;
325 if (token.isIdentifier()) {
326 token = parseQualified(token);
327 } else {
328 token = parseLiteralStringOrRecoverExpression(token);
329 }
325 Token semicolon = token; 330 Token semicolon = token;
326 token = expect(';', token); 331 token = expect(';', token);
327 listener.endPartOf(partKeyword, semicolon); 332 listener.endPartOf(partKeyword, semicolon);
328 return token; 333 return token;
329 } 334 }
330 335
331 Token parseMetadataStar(Token token, {bool forParameter: false}) { 336 Token parseMetadataStar(Token token, {bool forParameter: false}) {
332 listener.beginMetadataStar(token); 337 listener.beginMetadataStar(token);
333 int count = 0; 338 int count = 0;
334 while (optional('@', token)) { 339 while (optional('@', token)) {
(...skipping 2663 matching lines...) Expand 10 before | Expand all | Expand 10 after
2998 } 3003 }
2999 listener.handleContinueStatement(hasTarget, continueKeyword, token); 3004 listener.handleContinueStatement(hasTarget, continueKeyword, token);
3000 return expectSemicolon(token); 3005 return expectSemicolon(token);
3001 } 3006 }
3002 3007
3003 Token parseEmptyStatement(Token token) { 3008 Token parseEmptyStatement(Token token) {
3004 listener.handleEmptyStatement(token); 3009 listener.handleEmptyStatement(token);
3005 return expectSemicolon(token); 3010 return expectSemicolon(token);
3006 } 3011 }
3007 } 3012 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698