OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 part of types; | 5 part of types; |
6 | 6 |
7 class UnionTypeMask implements TypeMask { | 7 class UnionTypeMask implements TypeMask { |
8 final Iterable<FlatTypeMask> disjointMasks; | 8 final Iterable<FlatTypeMask> disjointMasks; |
9 | 9 |
10 static const int MAX_UNION_LENGTH = 4; | 10 static const int MAX_UNION_LENGTH = 4; |
(...skipping 327 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
338 int get hashCode { | 338 int get hashCode { |
339 int hashCode = isNullable ? 86 : 43; | 339 int hashCode = isNullable ? 86 : 43; |
340 // The order of the masks in [disjointMasks] must not affect the | 340 // The order of the masks in [disjointMasks] must not affect the |
341 // hashCode. | 341 // hashCode. |
342 for (var mask in disjointMasks) { | 342 for (var mask in disjointMasks) { |
343 hashCode = (hashCode ^ mask.nonNullable().hashCode) & 0x3fffffff; | 343 hashCode = (hashCode ^ mask.nonNullable().hashCode) & 0x3fffffff; |
344 } | 344 } |
345 return hashCode; | 345 return hashCode; |
346 } | 346 } |
347 } | 347 } |
OLD | NEW |