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

Unified Diff: pkg/compiler/lib/src/universe/resolution_world_builder.dart

Issue 3011793002: Add types referenced in is-checks to the class hierarchy (Closed)
Patch Set: Created 3 years, 4 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
« no previous file with comments | « no previous file | tests/language/language_dart2js.status » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/compiler/lib/src/universe/resolution_world_builder.dart
diff --git a/pkg/compiler/lib/src/universe/resolution_world_builder.dart b/pkg/compiler/lib/src/universe/resolution_world_builder.dart
index a2b023590561949a2a8f0be4a6b67f45f9ccd1cf..0692c81402718fab0b89dd70e2b26cb9c0f8fced 100644
--- a/pkg/compiler/lib/src/universe/resolution_world_builder.dart
+++ b/pkg/compiler/lib/src/universe/resolution_world_builder.dart
@@ -944,6 +944,16 @@ abstract class ResolutionWorldBuilderBase
// variables to the super constructor.
forEachInstantiatedClass(addSubtypes);
+ void _registerType(DartType type) {
Johnni Winther 2017/09/01 08:21:34 We probably need to visit function types and typed
Harry Terkelsen 2017/09/01 18:48:24 Done.
+ if (type.isInterfaceType) {
+ InterfaceType interface = type;
+ _ensureClassSet(interface.element);
+ interface.typeArguments.forEach(_registerType);
+ }
+ }
+
+ isChecks.forEach(_registerType);
+
_classHierarchyNodes.keys.toList().forEach(_ensureClassSet);
return typesImplementedBySubclasses;
« no previous file with comments | « no previous file | tests/language/language_dart2js.status » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698