OLD | NEW |
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, 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 part of js_ast; | 5 part of js_ast; |
6 | 6 |
7 class TemplateManager { | 7 class TemplateManager { |
8 Map<String, Template> expressionTemplates = new Map<String, Template>(); | 8 Map<String, Template> expressionTemplates = new Map<String, Template>(); |
9 Map<String, Template> statementTemplates = new Map<String, Template>(); | 9 Map<String, Template> statementTemplates = new Map<String, Template>(); |
10 | 10 |
(...skipping 624 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
635 | 635 |
636 Instantiator visitThis(This node) => (arguments) => new This(); | 636 Instantiator visitThis(This node) => (arguments) => new This(); |
637 Instantiator visitSuper(Super node) => (arguments) => new Super(); | 637 Instantiator visitSuper(Super node) => (arguments) => new Super(); |
638 | 638 |
639 Instantiator visitIdentifier(Identifier node) => | 639 Instantiator visitIdentifier(Identifier node) => |
640 (arguments) => new Identifier(node.name); | 640 (arguments) => new Identifier(node.name); |
641 | 641 |
642 Instantiator visitSpread(Spread node) => | 642 Instantiator visitSpread(Spread node) => |
643 (args) => new Spread(visit(node.argument)(args)); | 643 (args) => new Spread(visit(node.argument)(args)); |
644 | 644 |
| 645 Instantiator visitYield(Yield node) => |
| 646 (args) => new Yield(visit(node.value)(args), star: node.star); |
| 647 |
645 Instantiator visitRestParameter(RestParameter node) => | 648 Instantiator visitRestParameter(RestParameter node) => |
646 (args) => new RestParameter(visit(node.parameter)(args)); | 649 (args) => new RestParameter(visit(node.parameter)(args)); |
647 | 650 |
648 Instantiator visitAccess(PropertyAccess node) { | 651 Instantiator visitAccess(PropertyAccess node) { |
649 Instantiator makeReceiver = visit(node.receiver); | 652 Instantiator makeReceiver = visit(node.receiver); |
650 Instantiator makeSelector = visit(node.selector); | 653 Instantiator makeSelector = visit(node.selector); |
651 return (arguments) => | 654 return (arguments) => |
652 new PropertyAccess(makeReceiver(arguments), makeSelector(arguments)); | 655 new PropertyAccess(makeReceiver(arguments), makeSelector(arguments)); |
653 } | 656 } |
654 | 657 |
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
846 if (count != before) containsInterpolatedNode.add(node); | 849 if (count != before) containsInterpolatedNode.add(node); |
847 return null; | 850 return null; |
848 } | 851 } |
849 | 852 |
850 visitInterpolatedNode(InterpolatedNode node) { | 853 visitInterpolatedNode(InterpolatedNode node) { |
851 containsInterpolatedNode.add(node); | 854 containsInterpolatedNode.add(node); |
852 if (node.isNamed) holeNames.add(node.nameOrPosition); | 855 if (node.isNamed) holeNames.add(node.nameOrPosition); |
853 ++count; | 856 ++count; |
854 } | 857 } |
855 } | 858 } |
OLD | NEW |