| 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);
|
|
|