Index: tests/compiler/dart2js/type_combination_test.dart |
diff --git a/tests/compiler/dart2js/type_combination_test.dart b/tests/compiler/dart2js/type_combination_test.dart |
index a29d7903c795e8a376be254a819caff4172e60f2..ba1e7e04452011ee1c609f5b77d66993ff13893f 100644 |
--- a/tests/compiler/dart2js/type_combination_test.dart |
+++ b/tests/compiler/dart2js/type_combination_test.dart |
@@ -4,7 +4,7 @@ |
import 'package:async_helper/async_helper.dart'; |
import 'package:expect/expect.dart'; |
-import 'package:compiler/src/js_backend/backend_helpers.dart'; |
+import 'package:compiler/src/js_backend/backend.dart' show JavaScriptBackend; |
import 'package:compiler/src/js_backend/js_backend.dart'; |
import 'package:compiler/src/types/types.dart'; |
import 'package:compiler/src/world.dart'; |
@@ -416,7 +416,6 @@ void testUnion(MockCompiler compiler) { |
void testIntersection(MockCompiler compiler) { |
JavaScriptBackend backend = compiler.backend; |
- BackendHelpers helpers = backend.helpers; |
ClosedWorld closedWorld = |
compiler.resolutionWorldBuilder.closedWorldForTesting; |
RuleSet ruleSet = |
@@ -560,10 +559,16 @@ void testIntersection(MockCompiler compiler) { |
rule(jsIndexable, jsUnmodifiableArray, jsUnmodifiableArray); |
rule(jsIndexable, nonPrimitive1, emptyType); |
rule(jsIndexable, nonPrimitive2, emptyType); |
- rule(jsIndexable, potentialArray, |
- new TypeMask.nonNullSubtype(helpers.jsArrayClass, closedWorld)); |
- rule(jsIndexable, potentialString, |
- new TypeMask.nonNullSubtype(helpers.jsStringClass, closedWorld)); |
+ rule( |
+ jsIndexable, |
+ potentialArray, |
+ new TypeMask.nonNullSubtype( |
+ backend.commonElements.jsArrayClass, closedWorld)); |
+ rule( |
+ jsIndexable, |
+ potentialString, |
+ new TypeMask.nonNullSubtype( |
+ backend.commonElements.jsStringClass, closedWorld)); |
rule(jsIndexable, jsBooleanOrNull, emptyType); |
rule(jsIndexable, jsNumberOrNull, emptyType); |
rule(jsIndexable, jsIntegerOrNull, emptyType); |
@@ -743,9 +748,9 @@ void main() { |
class PatternImpl implements Pattern {} |
"""); |
JavaScriptBackend backend = compiler.backend; |
- BackendHelpers helpers = backend.helpers; |
WorldImpactBuilderImpl impactBuilder = new WorldImpactBuilderImpl(); |
- LibraryElement interceptorsLibrary = helpers.interceptorsLibrary; |
+ LibraryElement interceptorsLibrary = |
+ compiler.commonElements.interceptorsLibrary; |
interceptorsLibrary.forEachLocalMember((element) { |
if (element.isClass) { |
element.ensureResolved(compiler.resolution); |
@@ -779,43 +784,54 @@ void main() { |
potentialArray = |
new TypeMask.subtype(closedWorld.commonElements.listClass, closedWorld); |
potentialString = new TypeMask.subtype(patternClass, closedWorld); |
- jsInterceptor = |
- new TypeMask.nonNullSubclass(helpers.jsInterceptorClass, closedWorld); |
- jsArrayOrNull = new TypeMask.subclass(helpers.jsArrayClass, closedWorld); |
- jsReadableArray = |
- new TypeMask.nonNullSubclass(helpers.jsArrayClass, closedWorld); |
- jsMutableArrayOrNull = |
- new TypeMask.subclass(helpers.jsMutableArrayClass, closedWorld); |
- jsMutableArray = |
- new TypeMask.nonNullSubclass(helpers.jsMutableArrayClass, closedWorld); |
- jsFixedArrayOrNull = |
- new TypeMask.exact(helpers.jsFixedArrayClass, closedWorld); |
- jsFixedArray = |
- new TypeMask.nonNullExact(helpers.jsFixedArrayClass, closedWorld); |
- jsExtendableArrayOrNull = |
- new TypeMask.exact(helpers.jsExtendableArrayClass, closedWorld); |
- jsExtendableArray = |
- new TypeMask.nonNullExact(helpers.jsExtendableArrayClass, closedWorld); |
- jsUnmodifiableArrayOrNull = |
- new TypeMask.exact(helpers.jsUnmodifiableArrayClass, closedWorld); |
+ jsInterceptor = new TypeMask.nonNullSubclass( |
+ compiler.commonElements.jsInterceptorClass, closedWorld); |
+ jsArrayOrNull = new TypeMask.subclass( |
+ compiler.commonElements.jsArrayClass, closedWorld); |
+ jsReadableArray = new TypeMask.nonNullSubclass( |
+ compiler.commonElements.jsArrayClass, closedWorld); |
+ jsMutableArrayOrNull = new TypeMask.subclass( |
+ compiler.commonElements.jsMutableArrayClass, closedWorld); |
+ jsMutableArray = new TypeMask.nonNullSubclass( |
+ compiler.commonElements.jsMutableArrayClass, closedWorld); |
+ jsFixedArrayOrNull = new TypeMask.exact( |
+ compiler.commonElements.jsFixedArrayClass, closedWorld); |
+ jsFixedArray = new TypeMask.nonNullExact( |
+ compiler.commonElements.jsFixedArrayClass, closedWorld); |
+ jsExtendableArrayOrNull = new TypeMask.exact( |
+ compiler.commonElements.jsExtendableArrayClass, closedWorld); |
+ jsExtendableArray = new TypeMask.nonNullExact( |
+ compiler.commonElements.jsExtendableArrayClass, closedWorld); |
+ jsUnmodifiableArrayOrNull = new TypeMask.exact( |
+ compiler.commonElements.jsUnmodifiableArrayClass, closedWorld); |
jsUnmodifiableArray = new TypeMask.nonNullExact( |
- helpers.jsUnmodifiableArrayClass, closedWorld); |
- jsIndexableOrNull = |
- new TypeMask.subtype(helpers.jsIndexableClass, closedWorld); |
- jsIndexable = |
- new TypeMask.nonNullSubtype(helpers.jsIndexableClass, closedWorld); |
- jsInterceptorOrNull = |
- new TypeMask.subclass(helpers.jsInterceptorClass, closedWorld); |
- jsStringOrNull = new TypeMask.exact(helpers.jsStringClass, closedWorld); |
- jsString = new TypeMask.nonNullExact(helpers.jsStringClass, closedWorld); |
- jsBoolean = new TypeMask.nonNullExact(helpers.jsBoolClass, closedWorld); |
- jsNumber = new TypeMask.nonNullSubclass(helpers.jsNumberClass, closedWorld); |
- jsInteger = new TypeMask.nonNullExact(helpers.jsIntClass, closedWorld); |
- jsDouble = new TypeMask.nonNullExact(helpers.jsDoubleClass, closedWorld); |
- jsBooleanOrNull = new TypeMask.exact(helpers.jsBoolClass, closedWorld); |
- jsNumberOrNull = new TypeMask.subclass(helpers.jsNumberClass, closedWorld); |
- jsIntegerOrNull = new TypeMask.exact(helpers.jsIntClass, closedWorld); |
- jsDoubleOrNull = new TypeMask.exact(helpers.jsDoubleClass, closedWorld); |
+ compiler.commonElements.jsUnmodifiableArrayClass, closedWorld); |
+ jsIndexableOrNull = new TypeMask.subtype( |
+ compiler.commonElements.jsIndexableClass, closedWorld); |
+ jsIndexable = new TypeMask.nonNullSubtype( |
+ compiler.commonElements.jsIndexableClass, closedWorld); |
+ jsInterceptorOrNull = new TypeMask.subclass( |
+ compiler.commonElements.jsInterceptorClass, closedWorld); |
+ jsStringOrNull = |
+ new TypeMask.exact(compiler.commonElements.jsStringClass, closedWorld); |
+ jsString = new TypeMask.nonNullExact( |
+ compiler.commonElements.jsStringClass, closedWorld); |
+ jsBoolean = new TypeMask.nonNullExact( |
+ compiler.commonElements.jsBoolClass, closedWorld); |
+ jsNumber = new TypeMask.nonNullSubclass( |
+ compiler.commonElements.jsNumberClass, closedWorld); |
+ jsInteger = new TypeMask.nonNullExact( |
+ compiler.commonElements.jsIntClass, closedWorld); |
+ jsDouble = new TypeMask.nonNullExact( |
+ compiler.commonElements.jsDoubleClass, closedWorld); |
+ jsBooleanOrNull = |
+ new TypeMask.exact(compiler.commonElements.jsBoolClass, closedWorld); |
+ jsNumberOrNull = new TypeMask.subclass( |
+ compiler.commonElements.jsNumberClass, closedWorld); |
+ jsIntegerOrNull = |
+ new TypeMask.exact(compiler.commonElements.jsIntClass, closedWorld); |
+ jsDoubleOrNull = |
+ new TypeMask.exact(compiler.commonElements.jsDoubleClass, closedWorld); |
nullType = const TypeMask.empty(); |
objectType = new TypeMask.nonNullSubclass( |
closedWorld.commonElements.objectClass, closedWorld); |