Index: pkg/compiler/lib/src/elements/elements.dart |
diff --git a/pkg/compiler/lib/src/elements/elements.dart b/pkg/compiler/lib/src/elements/elements.dart |
index 219349be5c646947254023dc13e9b68beea372ef..408c27408e5ee4f25b25fcb16e4433ea8c242c87 100644 |
--- a/pkg/compiler/lib/src/elements/elements.dart |
+++ b/pkg/compiler/lib/src/elements/elements.dart |
@@ -300,6 +300,8 @@ abstract class Element implements Entity { |
bool get isTopLevel; |
bool get isAssignable; |
bool get isNative; |
+ bool get isJsInterop; |
+ |
bool get isDeferredLoaderGetter; |
/// True if the element is declared in a patch library but has no |
@@ -396,6 +398,8 @@ abstract class Element implements Entity { |
bool get hasFixedBackendName; |
String get fixedBackendName; |
+ String get fixedBackendReceiver; |
+ |
bool get isAbstract; |
Scope buildScope(); |
@@ -407,6 +411,8 @@ abstract class Element implements Entity { |
AnalyzableElement get analyzableElement; |
accept(ElementVisitor visitor, arg); |
+ |
+ void setJsInterop(String name); |
} |
class Elements { |
@@ -511,7 +517,7 @@ class Elements { |
static bool isNativeOrExtendsNative(ClassElement element) { |
if (element == null) return false; |
- if (element.isNative) return true; |
+ if (element.isNative || element.isJsInterop) return true; |
assert(element.isResolved); |
return isNativeOrExtendsNative(element.superclass); |
} |