Index: sdk/lib/_internal/compiler/implementation/js_backend/backend.dart |
diff --git a/sdk/lib/_internal/compiler/implementation/js_backend/backend.dart b/sdk/lib/_internal/compiler/implementation/js_backend/backend.dart |
index 754e5aa0bad1b1481b6868da298300901da924c3..cb6890e1a71bca368bd819c92e49e2f425584875 100644 |
--- a/sdk/lib/_internal/compiler/implementation/js_backend/backend.dart |
+++ b/sdk/lib/_internal/compiler/implementation/js_backend/backend.dart |
@@ -477,9 +477,11 @@ class JavaScriptBackend extends Backend { |
} |
bool isInterceptedMethod(Element element) { |
- return element.isInstanceMember() |
- && !element.isGenerativeConstructorBody() |
- && interceptedElements[element.name] != null; |
+ if (!element.isInstanceMember()) return false; |
+ if (element.isGenerativeConstructorBody()) { |
+ return Elements.isNativeOrExtendsNative(element.getEnclosingClass()); |
+ } |
+ return interceptedElements[element.name] != null; |
} |
bool fieldHasInterceptedGetter(Element element) { |