Chromium Code Reviews| Index: lib/src/js/template.dart | 
| diff --git a/lib/src/js/template.dart b/lib/src/js/template.dart | 
| index 85a62516ca2874c903ff8b2b16a4d3915af73480..a6af41613cea7872f68e221d475bdf7c8236eddd 100644 | 
| --- a/lib/src/js/template.dart | 
| +++ b/lib/src/js/template.dart | 
| @@ -230,8 +230,8 @@ class InstantiatorGeneratorVisitor implements NodeVisitor<Instantiator> { | 
| return (arguments) { | 
| var value = arguments[nameOrPosition]; | 
| - Identifier toIdentifier(item) { | 
| - if (item is Identifier) return item; | 
| + Parameter toIdentifier(item) { | 
| + if (item is Parameter) return item; | 
| if (item is String) return new Identifier(item); | 
| return error('Interpolated value #$nameOrPosition is not an Identifier' | 
| ' or List of Identifiers: $value'); | 
| @@ -826,6 +826,36 @@ class InstantiatorGeneratorVisitor implements NodeVisitor<Instantiator> { | 
| Instantiator visitExportClause(ExportClause node) => | 
| throw new UnimplementedError(); | 
| + | 
| + @override | 
| + Instantiator visitDestructuredVariable(DestructuredVariable node) { | 
| + Instantiator makeName = visit(node.name); | 
| + Instantiator makeStructure = visit(node.structure); | 
| + Instantiator makeDefaultValue = visit(node.defaultValue); | 
| + return (arguments) { | 
| + return new DestructuredVariable( | 
| + name: makeName(arguments), | 
| + structure: makeStructure(arguments), | 
| + defaultValue: makeDefaultValue(arguments)); | 
| + }; | 
| + } | 
| + | 
| + @override | 
| + Instantiator visitArrayBindingPattern(ArrayBindingPattern node) { | 
| + List<Instantiator> makeVars = node.variables.map(this.visit).toList(); | 
| + return (arguments) { | 
| + return new ArrayBindingPattern(makeVars.map((m) => m(arguments)).toList()); | 
| 
 
Jennifer Messerly
2015/12/02 20:41:09
long line
 
ochafik
2015/12/02 21:56:08
Done.
 
 | 
| + }; | 
| + } | 
| + | 
| + @override | 
| + Instantiator visitObjectBindingPattern(ObjectBindingPattern node) { | 
| + List<Instantiator> makeVars = node.variables.map(this.visit).toList(); | 
| + return (arguments) { | 
| + return new ObjectBindingPattern( | 
| + makeVars.map((m) => m(arguments)).toList()); | 
| + }; | 
| + } | 
| } | 
| /** |