Index: pkg/compiler/lib/src/types/masks.dart |
diff --git a/pkg/compiler/lib/src/types/masks.dart b/pkg/compiler/lib/src/types/masks.dart |
index ba090f69064ba8929d6f998df7a91198327ab6e2..9f59ad5a4b204893637e04df185dc42bac1f3e9a 100644 |
--- a/pkg/compiler/lib/src/types/masks.dart |
+++ b/pkg/compiler/lib/src/types/masks.dart |
@@ -5,7 +5,7 @@ |
library masks; |
import '../common.dart'; |
-import '../common/backend_api.dart' show Backend; |
+import '../common/backend_api.dart' show BackendClasses; |
import '../compiler.dart' show Compiler; |
import '../constants/values.dart' show PrimitiveConstantValue; |
import '../elements/elements.dart'; |
@@ -18,7 +18,7 @@ import '../universe/universe.dart' |
UniverseSelectorConstraints, |
SelectorConstraintsStrategy; |
import '../util/util.dart'; |
-import '../world.dart' show ClosedWorld, ClosedWorld; |
+import '../world.dart' show ClosedWorld; |
import 'abstract_value_domain.dart' show AbstractValue; |
part 'container_type_mask.dart'; |
@@ -39,6 +39,8 @@ class CommonMasks { |
ClosedWorld get closedWorld => compiler.closedWorld; |
+ BackendClasses get backendClasses => closedWorld.backendClasses; |
+ |
TypeMask _dynamicType; |
TypeMask _nonNullType; |
TypeMask _nullType; |
@@ -69,66 +71,66 @@ class CommonMasks { |
closedWorld.coreClasses.objectClass, closedWorld); |
TypeMask get intType => _intType ??= new TypeMask.nonNullSubclass( |
- compiler.backend.intImplementation, closedWorld); |
+ backendClasses.intImplementation, closedWorld); |
TypeMask get uint32Type => _uint32Type ??= new TypeMask.nonNullSubclass( |
- compiler.backend.uint32Implementation, closedWorld); |
+ backendClasses.uint32Implementation, closedWorld); |
TypeMask get uint31Type => _uint31Type ??= new TypeMask.nonNullExact( |
- compiler.backend.uint31Implementation, closedWorld); |
+ backendClasses.uint31Implementation, closedWorld); |
TypeMask get positiveIntType => |
_positiveIntType ??= new TypeMask.nonNullSubclass( |
- compiler.backend.positiveIntImplementation, closedWorld); |
+ backendClasses.positiveIntImplementation, closedWorld); |
TypeMask get doubleType => _doubleType ??= new TypeMask.nonNullExact( |
- compiler.backend.doubleImplementation, closedWorld); |
+ backendClasses.doubleImplementation, closedWorld); |
TypeMask get numType => _numType ??= new TypeMask.nonNullSubclass( |
- compiler.backend.numImplementation, closedWorld); |
+ backendClasses.numImplementation, closedWorld); |
- TypeMask get boolType => _boolType ??= new TypeMask.nonNullExact( |
- compiler.backend.boolImplementation, closedWorld); |
+ TypeMask get boolType => _boolType ??= |
+ new TypeMask.nonNullExact(backendClasses.boolImplementation, closedWorld); |
TypeMask get functionType => _functionType ??= new TypeMask.nonNullSubtype( |
- compiler.backend.functionImplementation, closedWorld); |
+ backendClasses.functionImplementation, closedWorld); |
- TypeMask get listType => _listType ??= new TypeMask.nonNullExact( |
- compiler.backend.listImplementation, closedWorld); |
+ TypeMask get listType => _listType ??= |
+ new TypeMask.nonNullExact(backendClasses.listImplementation, closedWorld); |
TypeMask get constListType => _constListType ??= new TypeMask.nonNullExact( |
- compiler.backend.constListImplementation, closedWorld); |
+ backendClasses.constListImplementation, closedWorld); |
TypeMask get fixedListType => _fixedListType ??= new TypeMask.nonNullExact( |
- compiler.backend.fixedListImplementation, closedWorld); |
+ backendClasses.fixedListImplementation, closedWorld); |
TypeMask get growableListType => |
_growableListType ??= new TypeMask.nonNullExact( |
- compiler.backend.growableListImplementation, closedWorld); |
+ backendClasses.growableListImplementation, closedWorld); |
TypeMask get mapType => _mapType ??= new TypeMask.nonNullSubtype( |
- compiler.backend.mapImplementation, closedWorld); |
+ backendClasses.mapImplementation, closedWorld); |
TypeMask get constMapType => _constMapType ??= new TypeMask.nonNullSubtype( |
- compiler.backend.constMapImplementation, closedWorld); |
+ backendClasses.constMapImplementation, closedWorld); |
TypeMask get stringType => _stringType ??= new TypeMask.nonNullExact( |
- compiler.backend.stringImplementation, closedWorld); |
+ backendClasses.stringImplementation, closedWorld); |
- TypeMask get typeType => _typeType ??= new TypeMask.nonNullExact( |
- compiler.backend.typeImplementation, closedWorld); |
+ TypeMask get typeType => _typeType ??= |
+ new TypeMask.nonNullExact(backendClasses.typeImplementation, closedWorld); |
TypeMask get syncStarIterableType => |
_syncStarIterableType ??= new TypeMask.nonNullExact( |
- compiler.backend.syncStarIterableImplementation, closedWorld); |
+ backendClasses.syncStarIterableImplementation, closedWorld); |
TypeMask get asyncFutureType => |
_asyncFutureType ??= new TypeMask.nonNullExact( |
- compiler.backend.asyncFutureImplementation, closedWorld); |
+ backendClasses.asyncFutureImplementation, closedWorld); |
TypeMask get asyncStarStreamType => |
_asyncStarStreamType ??= new TypeMask.nonNullExact( |
- compiler.backend.asyncStarStreamImplementation, closedWorld); |
+ backendClasses.asyncStarStreamImplementation, closedWorld); |
// TODO(johnniwinther): Assert that the null type has been resolved. |
TypeMask get nullType => _nullType ??= const TypeMask.empty(); |