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 a6d9f8caf382c2060fbe4b61d36a53cd7168ed06..886a93b52557a3b8af4bd274c48564818a9391bf 100644 |
--- a/tests/compiler/dart2js/type_combination_test.dart |
+++ b/tests/compiler/dart2js/type_combination_test.dart |
@@ -4,10 +4,9 @@ |
import "package:expect/expect.dart"; |
import "compiler_helper.dart"; |
-import "parser_helper.dart"; |
-import "../../../sdk/lib/_internal/compiler/implementation/ssa/ssa.dart"; |
import "../../../sdk/lib/_internal/compiler/implementation/types/types.dart"; |
import "type_mask_test_helper.dart"; |
+import '../../../sdk/lib/_internal/compiler/implementation/js_backend/js_backend.dart'; |
TypeMask nullType; |
TypeMask objectType; |
@@ -384,6 +383,7 @@ void testUnion(MockCompiler compiler) { |
} |
void testIntersection(MockCompiler compiler) { |
+ JavaScriptBackend backend = compiler.backend; |
RuleSet ruleSet = new RuleSet('intersection', |
(t1, t2) => t1.intersection(t2, compiler)); |
rule(type1, type2, result) => ruleSet.rule(type1, type2, result); |
@@ -519,9 +519,9 @@ void testIntersection(MockCompiler compiler) { |
rule(jsIndexable, nonPrimitive1, emptyType); |
rule(jsIndexable, nonPrimitive2, emptyType); |
rule(jsIndexable, potentialArray, new TypeMask.nonNullSubtype( |
- compiler.backend.jsArrayClass)); |
+ backend.jsArrayClass)); |
rule(jsIndexable, potentialString, new TypeMask.nonNullSubtype( |
- compiler.backend.jsStringClass)); |
+ backend.jsStringClass)); |
rule(jsIndexable, jsBooleanOrNull, emptyType); |
rule(jsIndexable, jsNumberOrNull, emptyType); |
rule(jsIndexable, jsIntegerOrNull, emptyType); |
@@ -677,6 +677,7 @@ void testRegressions(MockCompiler compiler) { |
void main() { |
MockCompiler compiler = new MockCompiler(); |
+ JavaScriptBackend backend = compiler.backend; |
compiler.interceptorsLibrary.forEachLocalMember((element) { |
if (element.isClass()) { |
compiler.enqueuer.resolution.registerInstantiatedClass( |
@@ -697,52 +698,29 @@ void main() { |
compiler.functionClass); |
potentialArray = new TypeMask.subtype( |
compiler.listClass); |
- potentialString = new TypeMask.subtype( |
- patternClass); |
- jsInterceptor = new TypeMask.nonNullSubclass( |
- compiler.backend.jsInterceptorClass); |
- jsArrayOrNull = new TypeMask.subclass( |
- compiler.backend.jsArrayClass); |
- jsReadableArray = new TypeMask.nonNullSubclass( |
- compiler.backend.jsArrayClass); |
- jsMutableArrayOrNull = new TypeMask.subclass( |
- compiler.backend.jsMutableArrayClass); |
- jsMutableArray = new TypeMask.nonNullSubclass( |
- compiler.backend.jsMutableArrayClass); |
- jsFixedArrayOrNull = new TypeMask.exact( |
- compiler.backend.jsFixedArrayClass); |
- jsFixedArray = new TypeMask.nonNullExact( |
- compiler.backend.jsFixedArrayClass); |
- jsExtendableArrayOrNull = new TypeMask.exact( |
- compiler.backend.jsExtendableArrayClass); |
- jsExtendableArray = new TypeMask.nonNullExact( |
- compiler.backend.jsExtendableArrayClass); |
- jsIndexableOrNull = new TypeMask.subtype( |
- compiler.backend.jsIndexableClass); |
- jsIndexable = new TypeMask.nonNullSubtype( |
- compiler.backend.jsIndexableClass); |
- jsInterceptorOrNull = new TypeMask.subclass( |
- compiler.backend.jsInterceptorClass); |
- jsStringOrNull = new TypeMask.exact( |
- compiler.backend.jsStringClass); |
- jsString = new TypeMask.nonNullExact( |
- compiler.backend.jsStringClass); |
- jsBoolean = new TypeMask.nonNullExact( |
- compiler.backend.jsBoolClass); |
- jsNumber = new TypeMask.nonNullSubclass( |
- compiler.backend.jsNumberClass); |
- jsInteger = new TypeMask.nonNullExact( |
- compiler.backend.jsIntClass); |
- jsDouble = new TypeMask.nonNullExact( |
- compiler.backend.jsDoubleClass); |
- jsBooleanOrNull = new TypeMask.exact( |
- compiler.backend.jsBoolClass); |
- jsNumberOrNull = new TypeMask.subclass( |
- compiler.backend.jsNumberClass); |
- jsIntegerOrNull = new TypeMask.exact( |
- compiler.backend.jsIntClass); |
- jsDoubleOrNull = new TypeMask.exact( |
- compiler.backend.jsDoubleClass); |
+ potentialString = new TypeMask.subtype(patternClass); |
+ jsInterceptor = new TypeMask.nonNullSubclass(backend.jsInterceptorClass); |
+ jsArrayOrNull = new TypeMask.subclass(backend.jsArrayClass); |
+ jsReadableArray = new TypeMask.nonNullSubclass(backend.jsArrayClass); |
+ jsMutableArrayOrNull = new TypeMask.subclass(backend.jsMutableArrayClass); |
+ jsMutableArray = new TypeMask.nonNullSubclass(backend.jsMutableArrayClass); |
+ jsFixedArrayOrNull = new TypeMask.exact(backend.jsFixedArrayClass); |
+ jsFixedArray = new TypeMask.nonNullExact(backend.jsFixedArrayClass); |
+ jsExtendableArrayOrNull = new TypeMask.exact(backend.jsExtendableArrayClass); |
+ jsExtendableArray = new TypeMask.nonNullExact(backend.jsExtendableArrayClass); |
+ jsIndexableOrNull = new TypeMask.subtype(backend.jsIndexableClass); |
+ jsIndexable = new TypeMask.nonNullSubtype(backend.jsIndexableClass); |
+ jsInterceptorOrNull = new TypeMask.subclass(backend.jsInterceptorClass); |
+ jsStringOrNull = new TypeMask.exact(backend.jsStringClass); |
+ jsString = new TypeMask.nonNullExact(backend.jsStringClass); |
+ jsBoolean = new TypeMask.nonNullExact(backend.jsBoolClass); |
+ jsNumber = new TypeMask.nonNullSubclass(backend.jsNumberClass); |
+ jsInteger = new TypeMask.nonNullExact(backend.jsIntClass); |
+ jsDouble = new TypeMask.nonNullExact(backend.jsDoubleClass); |
+ jsBooleanOrNull = new TypeMask.exact(backend.jsBoolClass); |
+ jsNumberOrNull = new TypeMask.subclass(backend.jsNumberClass); |
+ jsIntegerOrNull = new TypeMask.exact(backend.jsIntClass); |
+ jsDoubleOrNull = new TypeMask.exact(backend.jsDoubleClass); |
nullType = const TypeMask.empty(); |
objectType = new TypeMask.nonNullSubclass( |
compiler.objectClass); |