| Index: sdk/lib/_internal/compiler/implementation/js_backend/emitter.dart
|
| diff --git a/sdk/lib/_internal/compiler/implementation/js_backend/emitter.dart b/sdk/lib/_internal/compiler/implementation/js_backend/emitter.dart
|
| index d4df75d16bc34ec30a8e6f3ed970bbb8516cebf2..e641095dd79499dc6c737d4257dd62498594f27c 100644
|
| --- a/sdk/lib/_internal/compiler/implementation/js_backend/emitter.dart
|
| +++ b/sdk/lib/_internal/compiler/implementation/js_backend/emitter.dart
|
| @@ -1694,12 +1694,12 @@ class CodeEmitterTask extends CompilerTask {
|
| // [Function] and needs checks for all typedefs that are used in is-checks.
|
| if (checkedClasses.contains(compiler.functionClass) ||
|
| !checkedTypedefs.isEmpty) {
|
| - FunctionElement call = cls.lookupLocalMember(Compiler.CALL_OPERATOR_NAME);
|
| + Element call = cls.lookupLocalMember(Compiler.CALL_OPERATOR_NAME);
|
| if (call == null) {
|
| // If [cls] is a closure, it has a synthetic call operator method.
|
| call = cls.lookupBackendMember(Compiler.CALL_OPERATOR_NAME);
|
| }
|
| - if (call != null) {
|
| + if (call != null && call.isFunction()) {
|
| generateInterfacesIsTests(compiler.functionClass,
|
| emitIsTest,
|
| emitSubstitution,
|
|
|