OLD | NEW |
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...) Loading... |
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...) Loading... |
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 } |
OLD | NEW |