| Index: pkg/dev_compiler/lib/src/compiler/code_generator.dart
|
| diff --git a/pkg/dev_compiler/lib/src/compiler/code_generator.dart b/pkg/dev_compiler/lib/src/compiler/code_generator.dart
|
| index 04a6132d47e558b31f36c648cfd3e753bd14187c..9b1c72fe7718123745657f34ee42af5a0433cf74 100644
|
| --- a/pkg/dev_compiler/lib/src/compiler/code_generator.dart
|
| +++ b/pkg/dev_compiler/lib/src/compiler/code_generator.dart
|
| @@ -4802,8 +4802,13 @@ class CodeGenerator extends Object
|
| result = _callHelper('bind(this, #, #)',
|
| [safeName, _emitTargetAccess(jsTarget, name, accessor)]);
|
| } else if (_isObjectMemberCall(target, memberName)) {
|
| - result = _callHelper('bind(#, #, #.#)',
|
| - [jsTarget, _propertyName(memberName), _runtimeModule, memberName]);
|
| + var fn = js.call(
|
| + memberName == 'noSuchMethod'
|
| + ? 'function(i) { return #.#(this, i); }'
|
| + : 'function() { return #.#(this); }',
|
| + [_runtimeModule, memberName]);
|
| + result = _callHelper(
|
| + 'bind(#, #, #)', [jsTarget, _propertyName(memberName), fn]);
|
| } else {
|
| result = _callHelper('bind(#, #)', [jsTarget, safeName]);
|
| }
|
|
|