Chromium Code Reviews| 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 7b7df7049c2abed7692025b1268dc227ab6a7322..91f40b445b4d47657722adb0a94a351192ba6fff 100644 |
| --- a/sdk/lib/_internal/compiler/implementation/js_backend/emitter.dart |
| +++ b/sdk/lib/_internal/compiler/implementation/js_backend/emitter.dart |
| @@ -1056,6 +1056,15 @@ $lazyInitializerLogic |
| if (checkedClasses.contains(compiler.functionClass) || |
| !checkedTypedefs.isEmpty) { |
| FunctionElement call = cls.lookupLocalMember(Compiler.CALL_OPERATOR_NAME); |
| + if (call == null) { |
| + // If [cls] is a closure, it has a synthetic call operator method. |
|
ngeoffray
2012/12/12 13:28:02
Please add a cls.lookupBackendMember.
|
| + for (Element element in cls.backendMembers) { |
| + if (element.name == Compiler.CALL_OPERATOR_NAME) { |
| + call = element; |
| + break; |
| + } |
| + } |
| + } |
| if (call != null) { |
| generateInterfacesIsTests(compiler.functionClass, |
| emitIsTest, |