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

Unified Diff: sdk/lib/_internal/compiler/implementation/enqueue.dart

Issue 12377081: Register instantiated types instead of instantiated classes in the resolver. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 10 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/enqueue.dart
diff --git a/sdk/lib/_internal/compiler/implementation/enqueue.dart b/sdk/lib/_internal/compiler/implementation/enqueue.dart
index 615ffe8e2e10cc9b308168fa6887986d89af11b9..bf3591d5dd277024a16461abc67e65cbeae728a9 100644
--- a/sdk/lib/_internal/compiler/implementation/enqueue.dart
+++ b/sdk/lib/_internal/compiler/implementation/enqueue.dart
@@ -87,11 +87,9 @@ abstract class Enqueuer {
bool addElementToWorkList(Element element, [TreeElements elements]);
void registerInstantiatedType(InterfaceType type) {
+ ClassElement cls = type.element;
+ cls.ensureResolved(compiler);
universe.instantiatedTypes.add(type);
- registerInstantiatedClass(type.element);
- }
-
- void registerInstantiatedClass(ClassElement cls) {
if (universe.instantiatedClasses.contains(cls)) return;
if (!cls.isAbstract(compiler)) {
universe.instantiatedClasses.add(cls);
@@ -100,6 +98,11 @@ abstract class Enqueuer {
compiler.backend.registerInstantiatedClass(cls, this);
}
+ void registerInstantiatedClass(ClassElement cls) {
ngeoffray 2013/03/05 10:14:10 Remove this method?
karlklose 2013/03/05 11:34:30 It still serves as a convenient method to register
+ cls.ensureResolved(compiler);
+ registerInstantiatedType(cls.rawType);
+ }
+
bool checkNoEnqueuedInvokedInstanceMethods() {
task.measure(() {
// Run through the classes and see if we need to compile methods.

Powered by Google App Engine
This is Rietveld 408576698