OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 import 'package:async_helper/async_helper.dart'; | 5 import 'package:async_helper/async_helper.dart'; |
6 import 'package:expect/expect.dart'; | 6 import 'package:expect/expect.dart'; |
7 import 'package:compiler/src/js_backend/backend.dart' show JavaScriptBackend; | 7 import 'package:compiler/src/js_backend/backend.dart' show JavaScriptBackend; |
8 import 'package:compiler/src/js_backend/js_backend.dart'; | 8 import 'package:compiler/src/js_backend/js_backend.dart'; |
9 import 'package:compiler/src/types/types.dart'; | 9 import 'package:compiler/src/types/types.dart'; |
10 import 'package:compiler/src/world.dart'; | 10 import 'package:compiler/src/world.dart'; |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
47 TypeMask jsExtendableArrayOrNull; | 47 TypeMask jsExtendableArrayOrNull; |
48 TypeMask jsUnmodifiableArrayOrNull; | 48 TypeMask jsUnmodifiableArrayOrNull; |
49 TypeMask jsIndexableOrNull; | 49 TypeMask jsIndexableOrNull; |
50 TypeMask jsInterceptorOrNull; | 50 TypeMask jsInterceptorOrNull; |
51 | 51 |
52 class Pair { | 52 class Pair { |
53 final first; | 53 final first; |
54 final second; | 54 final second; |
55 Pair(this.first, this.second); | 55 Pair(this.first, this.second); |
56 int get hashCode => first.hashCode * 47 + second.hashCode; | 56 int get hashCode => first.hashCode * 47 + second.hashCode; |
57 bool operator ==(Pair other) => | 57 bool operator ==(other) => |
58 identical(first, other.first) && identical(second, other.second); | 58 other is Pair && |
| 59 identical(first, other.first) && |
| 60 identical(second, other.second); |
59 } | 61 } |
60 | 62 |
61 class RuleSet { | 63 class RuleSet { |
62 final name; | 64 final name; |
63 final operate; | 65 final operate; |
64 final Set typesSeen = new Set(); | 66 final Set typesSeen = new Set(); |
65 final Set pairsSeen = new Set(); | 67 final Set pairsSeen = new Set(); |
66 | 68 |
67 RuleSet(this.name, this.operate); | 69 RuleSet(this.name, this.operate); |
68 | 70 |
(...skipping 776 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
845 Expect.notEquals(jsStringOrNull, potentialString, | 847 Expect.notEquals(jsStringOrNull, potentialString, |
846 "potentialString expected not to be exact JSString"); | 848 "potentialString expected not to be exact JSString"); |
847 Expect.notEquals(jsArrayOrNull, potentialArray, | 849 Expect.notEquals(jsArrayOrNull, potentialArray, |
848 "potentialArray expected not to be JSArray subclass"); | 850 "potentialArray expected not to be JSArray subclass"); |
849 | 851 |
850 testUnion(compiler); | 852 testUnion(compiler); |
851 testIntersection(compiler); | 853 testIntersection(compiler); |
852 testRegressions(compiler); | 854 testRegressions(compiler); |
853 }); | 855 }); |
854 } | 856 } |
OLD | NEW |