Index: pkg/compiler/lib/src/js_emitter/native_emitter.dart |
diff --git a/pkg/compiler/lib/src/js_emitter/native_emitter.dart b/pkg/compiler/lib/src/js_emitter/native_emitter.dart |
index 0d90d2f7908ac69aded0268405d0e6fb0c8d99c0..0360a99ddddeba39641a9f31f3fc658ecfe63d83 100644 |
--- a/pkg/compiler/lib/src/js_emitter/native_emitter.dart |
+++ b/pkg/compiler/lib/src/js_emitter/native_emitter.dart |
@@ -134,8 +134,9 @@ class NativeEmitter { |
} else if (extensionPoints.containsKey(cls)) { |
needed = true; |
} |
- if (cls.isNative && |
- native.nativeTagsForcedNonLeaf(classElement)) { |
+ if (classElement.isJsInterop) { |
+ needed = false; |
+ } else if (cls.isNative && native.nativeTagsForcedNonLeaf(classElement)) { |
needed = true; |
nonLeafClasses.add(cls); |
} |
@@ -154,6 +155,7 @@ class NativeEmitter { |
for (Class cls in classes) { |
if (!cls.isNative) continue; |
+ if (cls.element.isJsInterop) continue; |
List<String> nativeTags = native.nativeTagsOfClass(cls.element); |
if (nonLeafClasses.contains(cls) || |