Index: pkg/compiler/lib/src/types/flat_type_mask.dart |
diff --git a/pkg/compiler/lib/src/types/flat_type_mask.dart b/pkg/compiler/lib/src/types/flat_type_mask.dart |
index bcd7c5306c07e5d47cca7cc456da4fdcb14e0939..5a3ef8e1ef0e8dda14c446b7847706e3523fe931 100644 |
--- a/pkg/compiler/lib/src/types/flat_type_mask.dart |
+++ b/pkg/compiler/lib/src/types/flat_type_mask.dart |
@@ -120,25 +120,25 @@ class FlatTypeMask implements TypeMask { |
// The general optimization is to realize there is only one class that |
// implements [base] and [base] is not instantiated. We however do |
// not track correctly the list of truly instantiated classes. |
- Backend backend = closedWorld.backend; |
+ BackendClasses backendClasses = closedWorld.backendClasses; |
if (containsOnlyString(closedWorld)) { |
return cls == closedWorld.coreClasses.stringClass || |
- cls == backend.stringImplementation; |
+ cls == backendClasses.stringImplementation; |
} |
if (containsOnlyBool(closedWorld)) { |
return cls == closedWorld.coreClasses.boolClass || |
- cls == backend.boolImplementation; |
+ cls == backendClasses.boolImplementation; |
} |
if (containsOnlyInt(closedWorld)) { |
return cls == closedWorld.coreClasses.intClass || |
- cls == backend.intImplementation || |
- cls == backend.positiveIntImplementation || |
- cls == backend.uint32Implementation || |
- cls == backend.uint31Implementation; |
+ cls == backendClasses.intImplementation || |
+ cls == backendClasses.positiveIntImplementation || |
+ cls == backendClasses.uint32Implementation || |
+ cls == backendClasses.uint31Implementation; |
} |
if (containsOnlyDouble(closedWorld)) { |
return cls == closedWorld.coreClasses.doubleClass || |
- cls == backend.doubleImplementation; |
+ cls == backendClasses.doubleImplementation; |
} |
return false; |
} |
@@ -180,38 +180,38 @@ class FlatTypeMask implements TypeMask { |
} |
bool containsOnlyInt(ClosedWorld closedWorld) { |
- Backend backend = closedWorld.backend; |
+ BackendClasses backendClasses = closedWorld.backendClasses; |
return base == closedWorld.coreClasses.intClass || |
- base == backend.intImplementation || |
- base == backend.positiveIntImplementation || |
- base == backend.uint31Implementation || |
- base == backend.uint32Implementation; |
+ base == backendClasses.intImplementation || |
+ base == backendClasses.positiveIntImplementation || |
+ base == backendClasses.uint31Implementation || |
+ base == backendClasses.uint32Implementation; |
} |
bool containsOnlyDouble(ClosedWorld closedWorld) { |
- Backend backend = closedWorld.backend; |
+ BackendClasses backendClasses = closedWorld.backendClasses; |
return base == closedWorld.coreClasses.doubleClass || |
- base == backend.doubleImplementation; |
+ base == backendClasses.doubleImplementation; |
} |
bool containsOnlyNum(ClosedWorld closedWorld) { |
- Backend backend = closedWorld.backend; |
+ BackendClasses backendClasses = closedWorld.backendClasses; |
return containsOnlyInt(closedWorld) || |
containsOnlyDouble(closedWorld) || |
base == closedWorld.coreClasses.numClass || |
- base == backend.numImplementation; |
+ base == backendClasses.numImplementation; |
} |
bool containsOnlyBool(ClosedWorld closedWorld) { |
- Backend backend = closedWorld.backend; |
+ BackendClasses backendClasses = closedWorld.backendClasses; |
return base == closedWorld.coreClasses.boolClass || |
- base == backend.boolImplementation; |
+ base == backendClasses.boolImplementation; |
} |
bool containsOnlyString(ClosedWorld closedWorld) { |
- Backend backend = closedWorld.backend; |
+ BackendClasses backendClasses = closedWorld.backendClasses; |
return base == closedWorld.coreClasses.stringClass || |
- base == backend.stringImplementation; |
+ base == backendClasses.stringImplementation; |
} |
bool containsOnly(ClassElement cls) { |
@@ -543,11 +543,11 @@ class FlatTypeMask implements TypeMask { |
* privacy is taken into account. |
*/ |
bool canHit(Element element, Selector selector, ClosedWorld closedWorld) { |
- Backend backend = closedWorld.backend; |
+ BackendClasses backendClasses = closedWorld.backendClasses; |
assert(element.name == selector.name); |
if (isEmpty) return false; |
if (isNull) { |
- return hasElementIn(backend.nullImplementation, selector, element); |
+ return hasElementIn(backendClasses.nullImplementation, selector, element); |
} |
// TODO(kasperl): Can't we just avoid creating typed selectors |
@@ -560,7 +560,7 @@ class FlatTypeMask implements TypeMask { |
} |
ClassElement other = element.enclosingClass; |
- if (other == backend.nullImplementation) { |
+ if (other == backendClasses.nullImplementation) { |
return isNullable; |
} else if (isExact) { |
return hasElementIn(self, selector, element); |