Chromium Code Reviews| Index: sdk/lib/_internal/compiler/implementation/universe/universe.dart |
| diff --git a/sdk/lib/_internal/compiler/implementation/universe/universe.dart b/sdk/lib/_internal/compiler/implementation/universe/universe.dart |
| index ae3b54b4f93250132e282f297243a795d101f9b0..bb558012d3d1320a5610cc92044c61a2e0a2b947 100644 |
| --- a/sdk/lib/_internal/compiler/implementation/universe/universe.dart |
| +++ b/sdk/lib/_internal/compiler/implementation/universe/universe.dart |
| @@ -50,6 +50,20 @@ class Universe { |
| final Set<Element> fieldSetters; |
| final Set<DartType> isChecks; |
| + /** |
| + * Set of [:call:] methods in instantiated classes that use type variables |
| + * in their signature. |
| + */ |
| + final Set<Element> genericCallMethods; |
| + |
| + /** |
| + * Set of methods in instantiated classes that use type variables in their |
| + * signature and have potentially been closurized. |
| + */ |
| + final Set<Element> closurizedGenericMembers; |
| + |
| + final Set<Element> closurizedMembers; |
| + |
| bool usingFactoryWithTypeArguments = false; |
| Universe() : instantiatedClasses = new Set<ClassElement>(), |
| @@ -60,7 +74,10 @@ class Universe { |
| invokedSetters = new Map<SourceString, Set<Selector>>(), |
| fieldGetters = new Set<Element>(), |
| fieldSetters = new Set<Element>(), |
| - isChecks = new Set<DartType>(); |
| + isChecks = new Set<DartType>(), |
| + genericCallMethods = new Set<Element>(), |
| + closurizedGenericMembers = new Set<Element>(), |
| + closurizedMembers = new Set<Element>(); |
| bool hasMatchingSelector(Set<Selector> selectors, |
| Element member, |
| @@ -91,6 +108,15 @@ class Universe { |
| bool hasFieldSetter(Element member, Compiler compiler) { |
| return fieldSetters.contains(member); |
| } |
| + |
| + DartType registerIsCheck(DartType type, Compiler compiler) { |
|
karlklose
2013/06/20 07:32:55
Which method is this replacing?
Johnni Winther
2013/06/21 12:19:15
It new. Used from the enqueuer to register checks
|
| + type = type.unalias(compiler); |
| + // Even in checked mode, type annotations for return type and argument |
| + // types do not imply type checks, so there should never be a check |
| + // against the type variable of a typedef. |
| + isChecks.add(type); |
| + return type; |
| + } |
| } |
| class SelectorKind { |