| Index: lib/src/codegen/js_codegen.dart
|
| diff --git a/lib/src/codegen/js_codegen.dart b/lib/src/codegen/js_codegen.dart
|
| index bb73a3cb104db8624875837fc86061c2952b312c..80e21de15f17c33ce2ff5dc7e77304955f9cf7cd 100644
|
| --- a/lib/src/codegen/js_codegen.dart
|
| +++ b/lib/src/codegen/js_codegen.dart
|
| @@ -2456,9 +2456,10 @@ class JSCodegenVisitor extends GeneralizingAstVisitor {
|
| String code;
|
| if (member != null && member is MethodElement && !isStatic) {
|
| // Tear-off methods: explicitly bind it.
|
| - // TODO(leafp): Attach runtime types to these static tearoffs
|
| if (_requiresStaticDispatch(target, memberId.name)) {
|
| - return js.call('dart.#.bind(#)', [name, _visit(target)]);
|
| + var type = member.type;
|
| + var clos = js.call('dart.#.bind(#)', [name, _visit(target)]);
|
| + return js.call('dart.fn(#, #)', [clos, _emitFunctionTypeParts(type)]);
|
| }
|
| code = 'dart.bind(#, #)';
|
| } else if (_requiresStaticDispatch(target, memberId.name)) {
|
|
|