Index: pkg/compiler/lib/src/types/union_type_mask.dart |
diff --git a/pkg/compiler/lib/src/types/union_type_mask.dart b/pkg/compiler/lib/src/types/union_type_mask.dart |
index 4a8397e3501b8be1ffa76bca02cbed2a9a57d0b2..24a019144a87e3d76477db32517f90d80fc4f17a 100644 |
--- a/pkg/compiler/lib/src/types/union_type_mask.dart |
+++ b/pkg/compiler/lib/src/types/union_type_mask.dart |
@@ -166,6 +166,13 @@ class UnionTypeMask implements TypeMask { |
return new TypeMask.unionOf(intersections, classWorld); |
} |
+ bool isDisjoint(TypeMask other, ClassWorld classWorld) { |
+ for (var current in disjointMasks) { |
+ if (!current.isDisjoint(other, classWorld)) return false; |
+ } |
+ return true; |
+ } |
+ |
TypeMask nullable() { |
if (isNullable) return this; |
List<FlatTypeMask> newList = new List<FlatTypeMask>.from(disjointMasks); |