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

Side by Side Diff: frog/leg/scanner/parser.dart

Issue 9245002: Support getters and setters. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: '' Created 8 years, 10 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2011, 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 /** 5 /**
6 * An event generating parser of Dart programs. This parser expects 6 * An event generating parser of Dart programs. This parser expects
7 * all tokens in a linked list. 7 * all tokens in a linked list.
8 */ 8 */
9 class Parser { 9 class Parser {
10 final Listener listener; 10 final Listener listener;
(...skipping 540 matching lines...) Expand 10 before | Expand all | Expand 10 after
551 return token.next; 551 return token.next;
552 } else { 552 } else {
553 // For example: get identifier 553 // For example: get identifier
554 return token; 554 return token;
555 } 555 }
556 } 556 }
557 } else if (token.stringValue !== 'operator') { 557 } else if (token.stringValue !== 'operator') {
558 final Token peek = peekAfterType(token); 558 final Token peek = peekAfterType(token);
559 if (isGetOrSet(peek) && isIdentifier(peek.next)) { 559 if (isGetOrSet(peek) && isIdentifier(peek.next)) {
560 // type? get identifier 560 // type? get identifier
561 return token; 561 return peek;
562 } 562 }
563 } 563 }
564 return null; 564 return null;
565 } 565 }
566 566
567 Token parseMember(Token token) { 567 Token parseMember(Token token) {
568 if (optional('factory', token)) { 568 if (optional('factory', token)) {
569 return parseFactoryMethod(token); 569 return parseFactoryMethod(token);
570 } 570 }
571 Token start = token; 571 Token start = token;
(...skipping 1032 matching lines...) Expand 10 before | Expand all | Expand 10 after
1604 } 1604 }
1605 listener.handleContinueStatement(hasTarget, continueKeyword, token); 1605 listener.handleContinueStatement(hasTarget, continueKeyword, token);
1606 return expectSemicolon(token); 1606 return expectSemicolon(token);
1607 } 1607 }
1608 1608
1609 Token parseEmptyStatement(Token token) { 1609 Token parseEmptyStatement(Token token) {
1610 listener.handleEmptyStatement(token); 1610 listener.handleEmptyStatement(token);
1611 return expectSemicolon(token); 1611 return expectSemicolon(token);
1612 } 1612 }
1613 } 1613 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698