Index: sdk/lib/_internal/compiler/implementation/types/simple_types_inferrer.dart |
diff --git a/sdk/lib/_internal/compiler/implementation/types/simple_types_inferrer.dart b/sdk/lib/_internal/compiler/implementation/types/simple_types_inferrer.dart |
index 4e23f23fea88e4ad198a0c30dbf17fce514ec850..03a8a8c1b1f5cedd513e19302b5d0438ab0771b9 100644 |
--- a/sdk/lib/_internal/compiler/implementation/types/simple_types_inferrer.dart |
+++ b/sdk/lib/_internal/compiler/implementation/types/simple_types_inferrer.dart |
@@ -7,11 +7,16 @@ library simple_types_inferrer; |
import '../closure.dart' show ClosureClassMap, ClosureScope; |
import '../native_handler.dart' as native; |
import '../elements/elements.dart'; |
-import '../dart2jslib.dart'; |
import '../tree/tree.dart'; |
import '../util/util.dart' show Link; |
import 'types.dart' show TypesInferrer, ConcreteType, ClassBaseType; |
+// BUG(8802): There's a bug in the analyzer that makes the re-export |
+// of Selector from dart2jslib.dart fail. For now, we work around that |
+// by importing universe.dart explicitly and disabling the re-export. |
+import '../dart2jslib.dart' hide Selector; |
+import '../universe/universe.dart' show Selector; |
+ |
/** |
* A work queue that ensures there are no duplicates, and adds and |
* removes in LIFO. |
@@ -19,11 +24,11 @@ import 'types.dart' show TypesInferrer, ConcreteType, ClassBaseType; |
class WorkSet<E extends Element> { |
final List<E> queue = new List<E>(); |
final Set<E> elementsInQueue = new Set<E>(); |
- |
+ |
void add(E element) { |
element = element.implementation; |
if (elementsInQueue.contains(element)) return; |
- queue.addLast(element); |
+ queue.add(element); |
elementsInQueue.add(element); |
} |
@@ -71,7 +76,7 @@ class ClassInfoForFinalFields { |
/** |
* Records that [constructor] has been analyzed. If not at 0, |
* decrement [constructorsToVisitCount]. |
- */ |
+ */ |
void doneAnalyzingGenerativeConstructor(Element constructor) { |
if (constructorsToVisitCount != 0) constructorsToVisitCount--; |
} |