Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(38)

Unified Diff: pkg/compiler/lib/src/js_backend/custom_elements_analysis.dart

Issue 1318043005: Support user generated custom native JS classes. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: ptal Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 a13db64f16ffeb8002c0c9af344c535d073f94c4..70d1a6712913297594ae78fb805f6f359c5423ef 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;
bool isExtension =
!isNative && Elements.isNativeOrExtendsNative(classElement);
// Generate table entries for native classes that are explicitly named and

Powered by Google App Engine
This is Rietveld 408576698