Chromium Code Reviews| 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 636 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 647 params.addAll(result); | 647 params.addAll(result); |
| 648 } else { | 648 } else { |
| 649 params.add(result); | 649 params.add(result); |
| 650 } | 650 } |
| 651 } | 651 } |
| 652 Statement body = makeBody(arguments); | 652 Statement body = makeBody(arguments); |
| 653 return new Fun(params, body); | 653 return new Fun(params, body); |
| 654 }; | 654 }; |
| 655 } | 655 } |
| 656 | 656 |
| 657 Instantiator visitTokenExpression(TokenExpression node) => | |
|
sra1
2015/05/27 19:38:51
=> same;
herhut
2015/06/01 12:09:43
Neat!
| |
| 658 (arguments) => node; | |
| 659 | |
| 660 Instantiator visitTokenNumber(TokenNumber node) => | |
|
sra1
2015/05/27 19:38:51
ditto
herhut
2015/06/01 12:09:43
Done.
| |
| 661 (arguments) => node; | |
| 662 | |
| 663 Instantiator visitTokenString(TokenString node) => | |
| 664 (arguments) => node; | |
| 665 | |
| 657 Instantiator visitLiteralBool(LiteralBool node) => | 666 Instantiator visitLiteralBool(LiteralBool node) => |
| 658 (arguments) => new LiteralBool(node.value); | 667 (arguments) => new LiteralBool(node.value); |
| 659 | 668 |
| 660 Instantiator visitLiteralString(LiteralString node) => | 669 Instantiator visitLiteralString(LiteralString node) => |
| 661 (arguments) => new LiteralString(node.value); | 670 (arguments) => new LiteralString(node.value); |
| 662 | 671 |
| 663 Instantiator visitLiteralNumber(LiteralNumber node) => | 672 Instantiator visitLiteralNumber(LiteralNumber node) => |
| 664 (arguments) => new LiteralNumber(node.value); | 673 (arguments) => new LiteralNumber(node.value); |
| 665 | 674 |
| 666 Instantiator visitLiteralNull(LiteralNull node) => | 675 Instantiator visitLiteralNull(LiteralNull node) => |
| 667 (arguments) => new LiteralNull(); | 676 (arguments) => new LiteralNull(); |
| 668 | 677 |
| 678 Instantiator visitStringConcatenation(StringConcatenation node) { | |
| 679 List<Instantiator> partMakers = node.parts | |
| 680 .map(visit) | |
| 681 .toList(growable: false); | |
| 682 return (arguments) { | |
| 683 List<Literal> parts = partMakers | |
| 684 .map((Instantiator instantiator) => instantiator(arguments)) | |
| 685 .toList(growable: false); | |
| 686 return new StringConcatenation(parts); | |
| 687 }; | |
| 688 } | |
| 689 | |
| 669 Instantiator visitArrayInitializer(ArrayInitializer node) { | 690 Instantiator visitArrayInitializer(ArrayInitializer node) { |
| 670 // TODO(sra): Implement splicing? | 691 // TODO(sra): Implement splicing? |
| 671 List<Instantiator> elementMakers = node.elements | 692 List<Instantiator> elementMakers = node.elements |
| 672 .map(visit) | 693 .map(visit) |
| 673 .toList(growable: false); | 694 .toList(growable: false); |
| 674 return (arguments) { | 695 return (arguments) { |
| 675 List<Expression> elements = elementMakers | 696 List<Expression> elements = elementMakers |
| 676 .map((Instantiator instantiator) => instantiator(arguments)) | 697 .map((Instantiator instantiator) => instantiator(arguments)) |
| 677 .toList(growable: false); | 698 .toList(growable: false); |
| 678 return new ArrayInitializer(elements); | 699 return new ArrayInitializer(elements); |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 746 if (count != before) containsInterpolatedNode.add(node); | 767 if (count != before) containsInterpolatedNode.add(node); |
| 747 return null; | 768 return null; |
| 748 } | 769 } |
| 749 | 770 |
| 750 visitInterpolatedNode(InterpolatedNode node) { | 771 visitInterpolatedNode(InterpolatedNode node) { |
| 751 containsInterpolatedNode.add(node); | 772 containsInterpolatedNode.add(node); |
| 752 if (node.isNamed) holeNames.add(node.nameOrPosition); | 773 if (node.isNamed) holeNames.add(node.nameOrPosition); |
| 753 ++count; | 774 ++count; |
| 754 } | 775 } |
| 755 } | 776 } |
| OLD | NEW |