Index: pkg/compiler/lib/src/js_backend/custom_elements_analysis.dart |
diff --git a/pkg/compiler/lib/src/js_backend/custom_elements_analysis.dart b/pkg/compiler/lib/src/js_backend/custom_elements_analysis.dart |
index 00394a59b95528fae6efa9a098633ac368922db0..59295d4ec228582b3f8c5786955116fcbb7ddf68 100644 |
--- a/pkg/compiler/lib/src/js_backend/custom_elements_analysis.dart |
+++ b/pkg/compiler/lib/src/js_backend/custom_elements_analysis.dart |
@@ -71,6 +71,7 @@ class CustomElementsAnalysis { |
if (!Elements.isNativeOrExtendsNative(classElement)) return; |
if (classElement.isMixinApplication) return; |
if (classElement.isAbstract) return; |
+ if (classElement.isJsInterop) return; |
joinFor(enqueuer).instantiatedClasses.add(classElement); |
} |
@@ -151,6 +152,9 @@ class CustomElementsAnalysisJoin { |
var newActiveClasses = new Set<ClassElement>(); |
for (ClassElement classElement in instantiatedClasses) { |
bool isNative = classElement.isNative; |
+ // JsInterop classes are opaque interfaces without a concrete |
+ // implementation. |
+ if (classElement.isJsInterop) continue; |
Siggi Cherem (dart-lang)
2015/10/06 22:38:02
can this happen given the change you have above in
Jacob
2015/10/13 01:19:23
nope. Removed and moved comment to the other isJsI
|
bool isExtension = |
!isNative && Elements.isNativeOrExtendsNative(classElement); |
// Generate table entries for native classes that are explicitly named and |