| 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 library code_generator; | 5 library code_generator; |
| 6 | 6 |
| 7 import 'glue.dart'; | 7 import 'glue.dart'; |
| 8 | 8 |
| 9 import '../../tree_ir/tree_ir_nodes.dart' as tree_ir; | 9 import '../../tree_ir/tree_ir_nodes.dart' as tree_ir; |
| 10 import '../../js/js.dart' as js; | 10 import '../../js/js.dart' as js; |
| (...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 248 } | 248 } |
| 249 | 249 |
| 250 void registerMethodInvoke(tree_ir.InvokeMethod node) { | 250 void registerMethodInvoke(tree_ir.InvokeMethod node) { |
| 251 Selector selector = node.selector; | 251 Selector selector = node.selector; |
| 252 if (selector.isGetter) { | 252 if (selector.isGetter) { |
| 253 registry.registerDynamicGetter(selector); | 253 registry.registerDynamicGetter(selector); |
| 254 } else if (selector.isSetter) { | 254 } else if (selector.isSetter) { |
| 255 registry.registerDynamicSetter(selector); | 255 registry.registerDynamicSetter(selector); |
| 256 } else { | 256 } else { |
| 257 assert(invariant(CURRENT_ELEMENT_SPANNABLE, | 257 assert(invariant(CURRENT_ELEMENT_SPANNABLE, |
| 258 selector.isCall || selector.isOperator || selector.isIndex, | 258 selector.isCall || selector.isOperator || |
| 259 selector.isIndex || selector.isIndexSet, |
| 259 message: 'unexpected kind ${selector.kind}')); | 260 message: 'unexpected kind ${selector.kind}')); |
| 260 // TODO(sigurdm): We should find a better place to register the call. | 261 // TODO(sigurdm): We should find a better place to register the call. |
| 261 Selector call = new Selector.callClosureFrom(selector); | 262 Selector call = new Selector.callClosureFrom(selector); |
| 262 registry.registerDynamicInvocation(call); | 263 registry.registerDynamicInvocation(call); |
| 263 registry.registerDynamicInvocation(selector); | 264 registry.registerDynamicInvocation(selector); |
| 264 } | 265 } |
| 265 } | 266 } |
| 266 | 267 |
| 267 @override | 268 @override |
| 268 js.Expression visitInvokeMethod(tree_ir.InvokeMethod node) { | 269 js.Expression visitInvokeMethod(tree_ir.InvokeMethod node) { |
| (...skipping 354 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 623 | 624 |
| 624 @override | 625 @override |
| 625 visitFunctionDeclaration(tree_ir.FunctionDeclaration node) { | 626 visitFunctionDeclaration(tree_ir.FunctionDeclaration node) { |
| 626 return errorUnsupportedNode(node); | 627 return errorUnsupportedNode(node); |
| 627 } | 628 } |
| 628 | 629 |
| 629 errorUnsupportedNode(tree_ir.DartSpecificNode node) { | 630 errorUnsupportedNode(tree_ir.DartSpecificNode node) { |
| 630 throw "Unsupported node in JS backend: $node"; | 631 throw "Unsupported node in JS backend: $node"; |
| 631 } | 632 } |
| 632 } | 633 } |
| OLD | NEW |