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

Unified Diff: sdk/lib/_internal/compiler/implementation/types/inferrer_visitor.dart

Issue 23819039: Create type masks lazily. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Update cf. comment Created 7 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: sdk/lib/_internal/compiler/implementation/types/inferrer_visitor.dart
diff --git a/sdk/lib/_internal/compiler/implementation/types/inferrer_visitor.dart b/sdk/lib/_internal/compiler/implementation/types/inferrer_visitor.dart
index a4d3936153e7e3be5ccc0a01e7bb374dd5175ad2..e4317a6d060fa8040cb3012808f4c930412d7b62 100644
--- a/sdk/lib/_internal/compiler/implementation/types/inferrer_visitor.dart
+++ b/sdk/lib/_internal/compiler/implementation/types/inferrer_visitor.dart
@@ -678,7 +678,9 @@ abstract class InferrerVisitor
}
T visitTypeReferenceSend(Send node) {
- return types.typeType;
+ // If [node] is not a type literal is the class name of a static access,
+ // in which case we don't use the type mask.
+ return elements.isTypeLiteral(node) ? types.typeType : null;
}
bool isThisOrSuper(Node node) => node.isThis() || node.isSuper();

Powered by Google App Engine
This is Rietveld 408576698