Chromium Code Reviews| Index: pkg/js_ast/lib/src/template.dart |
| diff --git a/pkg/js_ast/lib/src/template.dart b/pkg/js_ast/lib/src/template.dart |
| index e7aa86349138ef90b14c60f729f5dfb6da4d4d33..7bd1885c159b8d47d0a82edcd69af68865ebee21 100644 |
| --- a/pkg/js_ast/lib/src/template.dart |
| +++ b/pkg/js_ast/lib/src/template.dart |
| @@ -654,6 +654,15 @@ class InstantiatorGeneratorVisitor implements NodeVisitor<Instantiator> { |
| }; |
| } |
| + Instantiator visitTokenExpression(TokenExpression node) => |
|
sra1
2015/05/27 19:38:51
=> same;
herhut
2015/06/01 12:09:43
Neat!
|
| + (arguments) => node; |
| + |
| + Instantiator visitTokenNumber(TokenNumber node) => |
|
sra1
2015/05/27 19:38:51
ditto
herhut
2015/06/01 12:09:43
Done.
|
| + (arguments) => node; |
| + |
| + Instantiator visitTokenString(TokenString node) => |
| + (arguments) => node; |
| + |
| Instantiator visitLiteralBool(LiteralBool node) => |
| (arguments) => new LiteralBool(node.value); |
| @@ -666,6 +675,18 @@ class InstantiatorGeneratorVisitor implements NodeVisitor<Instantiator> { |
| Instantiator visitLiteralNull(LiteralNull node) => |
| (arguments) => new LiteralNull(); |
| + Instantiator visitStringConcatenation(StringConcatenation node) { |
| + List<Instantiator> partMakers = node.parts |
| + .map(visit) |
| + .toList(growable: false); |
| + return (arguments) { |
| + List<Literal> parts = partMakers |
| + .map((Instantiator instantiator) => instantiator(arguments)) |
| + .toList(growable: false); |
| + return new StringConcatenation(parts); |
| + }; |
| + } |
| + |
| Instantiator visitArrayInitializer(ArrayInitializer node) { |
| // TODO(sra): Implement splicing? |
| List<Instantiator> elementMakers = node.elements |