| Index: sdk/lib/_internal/compiler/implementation/types/types.dart
|
| ===================================================================
|
| --- sdk/lib/_internal/compiler/implementation/types/types.dart (revision 30666)
|
| +++ sdk/lib/_internal/compiler/implementation/types/types.dart (working copy)
|
| @@ -53,8 +53,11 @@
|
| }
|
|
|
| TypeMask dynamicTypeCache;
|
| + TypeMask nonNullTypeCache;
|
| TypeMask nullTypeCache;
|
| TypeMask intTypeCache;
|
| + TypeMask uint32TypeCache;
|
| + TypeMask uint31TypeCache;
|
| TypeMask doubleTypeCache;
|
| TypeMask numTypeCache;
|
| TypeMask boolTypeCache;
|
| @@ -75,14 +78,37 @@
|
| return dynamicTypeCache;
|
| }
|
|
|
| + TypeMask get nonNullType {
|
| + if (nonNullTypeCache == null) {
|
| + nonNullTypeCache = new TypeMask.nonNullSubclass(compiler.objectClass);
|
| + }
|
| + return nonNullTypeCache;
|
| + }
|
| +
|
| TypeMask get intType {
|
| if (intTypeCache == null) {
|
| - intTypeCache = new TypeMask.nonNullExact(
|
| + intTypeCache = new TypeMask.nonNullSubclass(
|
| compiler.backend.intImplementation);
|
| }
|
| return intTypeCache;
|
| }
|
|
|
| + TypeMask get uint32Type {
|
| + if (uint32TypeCache == null) {
|
| + uint32TypeCache = new TypeMask.nonNullSubclass(
|
| + compiler.backend.uint32Implementation);
|
| + }
|
| + return uint32TypeCache;
|
| + }
|
| +
|
| + TypeMask get uint31Type {
|
| + if (uint31TypeCache == null) {
|
| + uint31TypeCache = new TypeMask.nonNullExact(
|
| + compiler.backend.uint31Implementation);
|
| + }
|
| + return uint31TypeCache;
|
| + }
|
| +
|
| TypeMask get doubleType {
|
| if (doubleTypeCache == null) {
|
| doubleTypeCache = new TypeMask.nonNullExact(
|
|
|