Chromium Code Reviews

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

Issue 8662015: fix generic const canonicalization bug (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: presubmit tests Created 9 years ago
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | | Annotate | Revision Log
« no previous file with comments | « frog/gen.dart ('k') | frog/type.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 final bool VERBOSE = false; 5 final bool VERBOSE = false;
6 6
7 class Listener { 7 class Listener {
8 void beginArguments(Token token) { 8 void beginArguments(Token token) {
9 } 9 }
10 10
(...skipping 532 matching lines...)
543 void handleUnaryPostfixExpression(Token token) { 543 void handleUnaryPostfixExpression(Token token) {
544 pushNode(new Send.postfix(popNode(), new Operator(token))); 544 pushNode(new Send.postfix(popNode(), new Operator(token)));
545 } 545 }
546 546
547 void handleUnaryPrefixExpression(Token token) { 547 void handleUnaryPrefixExpression(Token token) {
548 pushNode(new Send.prefix(popNode(), new Operator(token))); 548 pushNode(new Send.prefix(popNode(), new Operator(token)));
549 } 549 }
550 550
551 NodeList makeNodeList(int count, Token beginToken, Token endToken, 551 NodeList makeNodeList(int count, Token beginToken, Token endToken,
552 String delimiter) { 552 String delimiter) {
553 // TODO(ahe): Remove below comment about Frog bug when it is fixed. 553 Link<Node> nodes = const EmptyLink<Node>();
554 Link<Node> nodes = const EmptyLink<Node>(); // Type warning is Frog bug.
555 for (; count > 0; --count) { 554 for (; count > 0; --count) {
556 // This effectively reverses the order of nodes so they end up 555 // This effectively reverses the order of nodes so they end up
557 // in correct (source) order. 556 // in correct (source) order.
558 nodes = nodes.prepend(popNode()); 557 nodes = nodes.prepend(popNode());
559 } 558 }
560 SourceString sourceDelimiter = 559 SourceString sourceDelimiter =
561 (delimiter === null) ? null : new SourceString(delimiter); 560 (delimiter === null) ? null : new SourceString(delimiter);
562 return new NodeList(beginToken, nodes, endToken, sourceDelimiter); 561 return new NodeList(beginToken, nodes, endToken, sourceDelimiter);
563 } 562 }
564 563
(...skipping 33 matching lines...)
598 return node; 597 return node;
599 } 598 }
600 } 599 }
601 600
602 Node parse(Canceler canceler, Logger logger, doParse(Parser parser)) { 601 Node parse(Canceler canceler, Logger logger, doParse(Parser parser)) {
603 NodeListener listener = new NodeListener(canceler, logger); 602 NodeListener listener = new NodeListener(canceler, logger);
604 doParse(new Parser(listener)); 603 doParse(new Parser(listener));
605 Node node = listener.popNode(); 604 Node node = listener.popNode();
606 return node; 605 return node;
607 } 606 }
OLDNEW
« no previous file with comments | « frog/gen.dart ('k') | frog/type.dart » ('j') | no next file with comments »

Powered by Google App Engine